gtpg2m1nGeneral Macros

DPANL-Terminal Panel Display

This general macro instruction, in conjunction with the DDATA macro instruction (DDATA), is used in application development to declare a data structure used in processing terminal displays. DPANL and DDATA macro instructions (called map statements) written by an application programmer must be placed on a map source statement library with a utility program. Map statements are then included in ECB-controlled source code through the assembly language COPY instruction. The copied map statements have the effect of declaring symbolic names used in a display data structure, because the DPANL and DDATA instructions expand into a DSECT included in the source code. The DSECT is adjusted and a register is assigned as the result of parameters included in the map statement coding.

The effect of using map statements is analogous to the use of a data macro instruction. However, map statements do not appear in the source code of ECB-controlled programs. This means that source code does not contain the register assignment of the DSECT generated as the result of copied map statements.

A map statement on the map source statement library is used in two different ways:

These DPANL macros come after the DDATA macro field definitions.

Format




Notes:

  1. SEQNO=num is equivalent to SEQNO=(num,2)







mapname
A unique 1-to-4-character name (alpha, numeric, special character) must be assigned by the user to this format definition. This field must begin in column 1 of the card image. The first character must be alpha. It is recommended that this same name be used to install the complete set of map statements on the Map Source Library. When the mapname is omitted, the name 'AAAA' is assumed by default.

DPANL
The macro statement name must follow the symbolic map name. There must be at least one blank column between it and the map name. The designation must appear as DPANL.

DSECT=START
This parameter establishes the start of the map source statements that define this specific format; it must be coded as shown in the example.

MODE=IN|OUT|BOTH
This optional keyword allows the user to specify whether the symbolic reference module (DSECT) and the physical map record (MSP) are to be formatted by the Mapping Support Package for input data streams (MODE=IN) or output data streams (MODE=OUT). When the user defines a single map that is to be used for input and output data streams, MODE=BOTH is coded. This will cause the generation of 2 DSECTs, one formatted as input and the other as output, in the user program. Similarly, 2 Terminal Map Records will be formatted for this specific map.

When this keyword is omitted, the mode is assumed to be IN.

When a single map is defined by the user for both input and output, (that is, MODE=BOTH), two COPY 'mapname' statements must be inserted in the source program. The two statements are identical. The purpose of this is to provide for the subsequent generation of the input and the output related symbolic DSECTs.

SEQNO=number|(number,number)
This keyword allows the user to specify a unique map sequence number for this format. When MODE=IN or MODE=OUT, only 1 number is specified. When MODE=BOTH, the user must code 2 different numbers. The numbers assigned to a particular map must not be duplicated or have been assigned to other maps.

This parameter is optional; the range of valid numbers is 1-9999. When SEQNO is omitted, SEQNO=1 is assumed.

Note:
When 2 numbers are coded, they must be enclosed in parentheses.

DEV=device
Check devices specified in DEV explanation

This optional keyword allows the user to specify the terminal types associated with this particular map format. When MODE=IN or MODE=BOTH is coded, the only valid terminal types that may be specified are 3277-1, 3277-2, 3278-1,2,3,4 default size, and 3278-1,2 alternate size. When MODE=OUT, any combination of terminal types, as shown in the example, may be coded for the DEV= keyword. When this keyword is omitted from the map definition, DEV=3277-2 is the assumed device type.

For input maps, the following devices are supported:

DEVICE TYPE      DEVICE CODE TO BE USED
 
3277 MOD 1       3277-1
3277 MOD 2       3277-2
3278 MOD 1 Def   3278-1
3278 MOD 2 Def   3278-2
3278 MOD 3 Def   3278-3
3278 MOD 4 Def   3278-4
3278 MOD 1 Alt   3278-1A
3278 MOD 2 Alt   3278-2A

For output map generation, the following devices are supported:

DEVICE TYPE     DEVICE CODE TO BE USED
 
3277 MOD 1       3277-1
3277 MOD 2       3277-2
3284 MOD 1       3284-1
3284 MOD 2       3284-2
3286 MOD 1       3286-1
3286 MOD 2       3286-2
1977             1977
1977 with tab    1977-T
1980 MOD 21      1980-1
1980 MOD 24      1980-4
3278 MOD 1 Def   3278-1
3278 MOD 2 Def   3278-2
3278 MOD 3 Def   3278-3
3278 MOD 4 Def   3278-4
3278 MOD 1 Alt   3278-1A
3278 MOD 2 Alt   3278-2A
3287 MOD 1 Def   3287-1
3287 MOD 2 Def   3287-2
3287 MOD 3 Def   3287-3
3287 MOD 4 Def   3287-4
3287 MOD 1 Alt   3287-1A
3287 MOD 2 Alt   3287-2A
3287 MOD 1 SLU   3287-1S
3287 MOD 2 SLU   3287-2S

Although the previous device parameters are used to create the map records, they will be checked during the assembly process of the associated symbolic reference module to ensure correct coding. Users with 3289 printers should code the 3287 equivalent types. Users with 3288 printers should code the 3286 equivalent types.

MAXFLDS=number
This optional keyword is valid only when MODE=IN or MODE=BOTH has been specified. This parameter provides a count of the maximum number of fields that may be present in an input data stream. This specification will provide for the allocation of an area in the user's prime DSECT block, which enables the user program to interpret the presence or lack of a data field. There will be 1 bit assigned for each input field. The relative position of each bit indicator in the IMF field of the user block corresponds to a single associated input data field in the DSECT. When the bit=ON, the field has been entered; when the bit=OFF, the field has not been entered. For fields defined as REPEAT (see DDATA description), the count must include the number of input fields created for that single DDATA statement.

When this keyword is absent from the DPANL statement, the assumed count is set to zero, no area will be allocated in the user DSECT, and no bit strings will be generated by the Mapping Package in the user block.

OMSGBLK=128|381|1055
This optional keyword, is valid on maps defined as MODE=OUT, MODE=IN, or MODE=BOTH. This parameter defines the maximum size of the user output block and the size of the user input block, and therefore sets the maximum displacement of the last field that can be contained in the DSECT. When this keyword is omitted from the DPANL statement, OMSGBLK=1055 is assumed.
Note:
When the defined block size is exceeded, an ORG is generated to reset the displacement of the next field back to the beginning of the DSECT.

LINECT=number
This optional keyword is valid only for the 1980/24 and the 1977 hardcopy terminal types. When this parameter is provided on the DPANL statement, it specifies the number of lines on a particular form. The default is LINECT=0.

The following 4 keywords are only for output maps and are related to the IBM 3270 Information Display System terminal types (including 3278 and 3287 terminals). For additional information concerning CMD, WCC, and COPY, see the IBM 3270 Information Display System Component Description Manual. These keywords are valid when MODE=OUT or MODE=BOTH is specified.

CMD=W|EW|C|EAU|EWA
This optional keyword lets the user indicate specific 3270 operations. Utilized with the WCC and COPY keywords, the user may initiate the writing and erasing of data in a selected 3270 device buffer. When CMD=W, a Write operation character is generated; CMD=EW, an erase buffer and write operation character, is generated; CMD=C, a copy control command character is generated; and CMD=EAU, a command to erase all unprotected characters is generated. This last command clears all unprotected buffer character locations to nulls, resets to 0 the MDT bit for each unprotected field, unlocks the keyboard, resets the AID byte, and repositions the cursor to the first character location in the first unprotected field of the buffer. The CMD=EWA (erase/write alternate) parameter is valid only for 3278-1 and 3278-2 terminals. The EWA command sets the buffer of the terminal to its alternate size. If this Keyword is omitted, CMD=EW is assumed.

WCC=PRINT,L40|L64|L80|NL,ALARM,RESTORKB|LOCKKB,MDTON
This optional keyword is used with the 3270 command (CMD) operand.

For printer operations, the user can specify the printout format and the initiation of the printout operation at the completion of the Write operation.

For CRT display operations, the user may specify that the alarm is sounded and the keyboard be restored or both. For either printer or CRT operations, the user may also indicate that all MDT bits in the existing buffer data of the referenced devices be reset before the Write operation.

When WCC=PRINT, the user must indicate an associated line length specification; the assumed default for this parameter is the 80-character print line (L80). When WCC= is not present on the DPANL statement, the keyboard restore parameter (RESTORKB) is assumed (the default WCC for a printer will be PRINT,L80). The parameters, when coded, must be in the order that appears at the beginning of this section.

COPY
This optional keyword is valid only when CMD=C has been specified. This parameter denotes the type of data to be transferred from the buffer of 1 device to another attached to the same 3271 control device.

A
Only attribute characters are transferred.

AU
Attribute characters and unprotected alphameric fields are copied.

AP
All attribute characters and protected alphanumeric fields are copied.

ALL
The entire buffer contents are copied.

When the COPY= keyword is not coded, but CMD=C has been, the 'A' parameter is assumed.

SCREEN=FULL|SPLIT
This optional keyword can be used to indicate screen splitting. When the user wants to obtain split screen capabilities, that is, the separate paging and scrolling of two distinct portions of a single display, SCREEN=SPLIT is specified. When no split screen capability is sought, the user either specifies SCREEN=FULL or omits the operand entirely. If this keyword is omitted, SCREEN=FULL is assumed.

The following 3 commands are related only to the IBM 3278/3787 information display system terminal types. The commands are only valid for the 3287 printers. When any of these commands are coded, and the device is a 3287, the implication is that the data stream to be formatted is LU type 1 with SCS (SNA character string) codes. When these commands are not coded and the device is a 3287, the data stream is formatted as LU type 3; that is, as a 3270 printer data stream whose buffer addresses depend on whether the default or alternate size is used.

HFORM=length,tab2,tab...
This optional keyword can be used to define the horizontal format including left and right margins and horizontal tab stops. The first parameter must define the line length. The default values for the HFORM operand are: line length=132, first tab=1, last tab=132 (for example, HFORM=(121,1,10,15,100), means the line length is 121, tab settings are at positions 1, 10, 15, 100).

VFORM=depth,tab,tab...
This optional keyword can be used to define the vertical format including the maximum presentation line, top and bottom margins, and vertical tab stops. The first parameter must define the form depth. The default values for the VFORM operand are: form depth=56 lines, first tab=1, last tab=56 (for example, VFORM=(56,1,56)).

CASE=YES|NO
This optional keyword can be used to convert all input data to upper case. It is not valid for output map definitions. CASE=NO is the default. CASE=YES will cause conversion.

SLD=6|8
This optional keyword can be used to specify the distance to be moved for a single line vertical spacing. This Set Line Density (SLD) keyword is valid only for the printers supporting the LU type 1 data stream. Valid parameters are 6 (6 lines/inch) or 8 (8 lines/inch). The default is 8.

The concluding DPANL statement appears as follows:

DPANL     DSECT=END,REG=Rx

DPANL
The macro statement name must be the first data on the card; no data must appear to the left of these 5 characters.

DSECT=END
This required parameter establishes the conclusion of a series of map source statements that defines a specific format (map); it must be coded in the following manner: DSECT=END.

REG=Rx
This optional keyword can be used to establish the base register for this specific map. The user specifies the general register to be associated with the defined map. However, this keyword does not load the register specified with an address; it merely establishes the symbolic addressability of each field contained in the assembled DSECT. When this keyword is omitted, no base register is established for the map.

Entry Requirements

All DPANL statements along with their associated DDATA statements will be installed on a source library. For reference, the user must issue a COPY statement in the source program text.

Return Conditions

Return conditions are not applicable. DPANL provides a DSECT only.

Programming Considerations

Examples