HPlogo SNA IMF Programmer's Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 3 Intrinsics Used with Standard MPE I/O

EXTFIELDATTR

» 

Technical documentation

» Feedback

 » Table of Contents

 » Glossary

 » Index

For Asian users. EXTFIELDATTR returns information about the attributes of a specified field. The EXTFIELDATTR intrinsic is equivalent to the FIELDATTR intrinsic, except that it returns the Double-Byte Character Set (DBCS) attribute.

Syntax

                       I         I         I           I
EXTFIELDATTR     (terminalid, fieldnum, fieldrow, fieldcolumn,
                       I             I             I       I
                 protectedattr, numericattr, displayattr, mdt,
                     I            I              I         I
                 dbcsattr, currentfieldlen, maxfieldlen, result)

Parameters

terminalid (input)

Integer identifying the terminal. The terminalid is returned in a call to the OPEN3270 intrinsic.

fieldnum (input)

Integer specifying the number of the field whose attributes you are requesting. Put a zero in fieldnum if the screen is unformatted (there are no attribute characters).

fieldrow (output)

Integer indicating the row that is the location of the first data character in the field. Possible values are as follows:

0 through 11 (480-character screen)

0 through 23 (1920-character screen)

0 through 42 (3440-character screen)

fieldcolumn (output)

Integer indicating the column that is the location of the first data character in the field. Possible values are as follows:

0 through 39 (480-character screen)

0 through 79 (1920-character screen)

0 through 79 (3440-character screen)

protectedattr (output)

Integer indicating whether the field specified by fieldnum is protected or unprotected. The protectedattr parameter returns 0 if the screen is unformatted.

0 = Unprotected

1 = Protected

numericattr (output)

Integer indicating whether the field specified by fieldnum is alphanumeric or numeric. The numericattr parameter returns 0 if the screen is unformatted.

0 = Alphanumeric

1 = Numeric

displayattr (output)

Integer indicating how the field specified by fieldnum is displayed on the terminal screen. The displayattr parameter returns 0 if the screen is unformatted.

0 = Normal display, light pen not detectable

1 = Normal display, light pen detectable

2 = Intensified display

3 = No display and no print

HP terminals do not support light pens.

mdt (output)

Integer indicating whether the Modified Data Tag is set for the field specified by fieldnum. The mdt parameter returns 0 if the screen is unformatted.

0 = Modified Data Tag not set

1 = Modified Data Tag set

dbcsattr (output)

Double-Byte Character Set attribute. Integer indicating whether 8-bit data, 16-bit data, or a mixture of 8-bit and 16-bit data is allowed in the field specified by fieldnum. The dbcsattr parameter returns 0 if the screen is unformatted.

0 = Only 16-bit characters are allowed in the field.

1 = Only 8-bit characters are allowed in the field.

2 = Mixed 8-bit and 16-bit data are allowed. SO/SI control characters may be entered to shift between 8-bit and 16-bit character modes.

3 = Mixed 8-bit and 16-bit data allowed. 16-bit characters must be entered between existing SO/SI pairs. No new SO/SI pairs may be entered.

currentfieldlen (output)

Integer indicating the current length of the field in the internal buffer. Length includes all characters plus embedded and leading nulls; trailing nulls are not included.

maxfieldlen (output)

Integer indicating the maximum number of characters the field can contain. This is the number of character positions between the current field attribute character and the next field attribute character.

result (output)

The following values can be generated by the EXTFIELDATTR intrinsic:

0 = Successful completion.

1 = Device not open.

9 = Host modified screen since the last receive request. (MPE V only)

11 = Non-existent field number specified.

22 = BASIC calling sequence error has occurred.

25 = Intrinsic call made while in split stack mode.

26 = Intrinsic call made with the parameter value out of bounds.

29 = Called intrinsic with a request already outstanding. (No-wait I/O only)

30 = Internal error occurred in IMF intrinsic.

53 = Invalid intrinsic called for data stream mode device.

99 = Invalid intrinsic called while DBCS option is not set.

Description

The EXTFIELDATTR intrinsic returns information about a specified field of the internal screen image. Your program passes the terminal ID and the field number. The intrinsic returns the row and column address of the field in the buffer, the attributes of the field, the maximum number of characters in the field, the current number of characters in the field, and a result parameter indicating success or the reason for failure.

The EXTFIELDATTR intrinsic is identical to the FIELDATTR intrinsic except for one parameter: the dbcsattr parameter, which tells your program whether 8-bit data, 16-bit data, or a mixture of 8-bit and 16-bit data is allowed in the specified field. It also indicates whether SO/SI control characters may be entered into the field, or whether DBCS data must be entered between existing SO/SI pairs.

Use the EXTFIELDATTR intrinsic in non-transparent mode.

COBOL Calling Sequence

CALL "CEXTFIELDATTR" USING TERMINALID FIELDNUM FIELDROW FIELDCOLUMN PROTECTEDATTR NUMERICATTR DISPLAYATTR MDT DBCSATTR CURRENTFIELDLEN MAXFIELDLEN RESULT. (on MPE V and in compatibility mode on MPE XL)

CALL INTRINSIC "EXTFIELDATTR" USING TERMINALID FIELDNUM FIELDROW FIELDCOLUMN PROTECTEDATTR NUMERICATTR DISPLAYATTR MDT DBCSATTR CURRENTFIELDLEN MAXFIELDLEN RESULT. (in native mode on MPE XL)

All parameters are numeric data items.

FORTRAN Calling Sequence

CALL EXTFIELDATTR (TERMINALID, FIELDNUM, FIELDROW, FIELDCOLUMN, PROTECTEDATTR, NUMERICATTR, DISLAYATTR, MDT, DBCSATTR, CURRENTFIELDLEN, MAXFIELDLEN, RESULT)

All parameters are integer variables.

BASIC Calling Sequence

CALL BEXTFIELDATTR (T, N, R0, C0, A1, A2, A3, A4, A5, L5, L6, R) (on MPE V and in compatibility mode on MPE XL)

CALL EXTFIELDATTR (T, N, R0, C0, A1, A2, A3, A4, A5, L5, L6, R) (in native mode on MPE XL)

All parameters are integer variables.

SPL Calling Sequence

EXTFIELDATTR (TERMINALID, FIELDNUM, FIELDROW, FIELDCOLUMN, PROTECTEDATTR, NUMERICATTR, DISPLAYATTR, MDT, DBCSATTR, CURRENTFIELDLEN, MAXFIELDLEN, RESULT)

All parameters are integer variables.

Pascal Calling Sequence

EXTFIELDATTR (TERMINALID, FIELDNUM, FIELDROW, FIELDCOLUMN, PROTECTEDATTR, NUMERICATTR, DISPLAYATTR, MDT, DBCSATTR, CURRENTFIELDLEN, MAXFIELDLEN, RESULT);

All parameters are short integer variables.

C/XL Calling Sequence

EXTFIELDATTR (&TERMINALID, &FIELDNUM, &FIELDROW, &FIELDCOLUMN, &PROTECTEDATTR, &NUMERICATTR, &DISPLAYATTR, &MDT, &DBCSATTR, &CURRENTFIELDLEN, &MAXFIELDLEN, &RESULT);

All parameters are of type short.

Pascal Program Excerpts

Following are excerpts from a Pascal program that calls SNA IMF intrinsics. For examples of complete Pascal programs in non-transparent and transparent modes, see Appendix F “Sample Programs”

{************************** Global Declarations **************************}type   shortint      = -32768..32767;       { global type, two bytes (half word) }...var   terminalid    : shortint;          { value returned by OPEN3270 intrinsic }   result        : shortint;...procedure EXTFIELDATTR;  intrinsic;...
{************************** Local Declarations **************************}var   fieldnum          : shortint;         { All EXTFIELDATTR variables }   fieldrow          : shortint;         { except terminalid and result }   fieldcolumn       : shortint;         { are local. }   protectedattr     : shortint;   numericattr       : shortint;   displayattr       : shortint;   mdt               : shortint;   dbcsattr          : shortint;   currentfieldlen   : shortint;   maxfieldlen       : shortint;...{************** Variable Initialization and Intrinsic Call **************}fieldnum := 2;
EXTFIELDATTR (terminalid, fieldnum, fieldrow, fieldcolumn, protectedattr, numericattr, displayattr, mdt, dbcsattr, currentfieldlen, maxfieldlen, result);
Feedback to webmaster