The field element table structure
The field element table contains one or more elements which provide information about each “field of interest” passed to the exit.
A “field of interest” is a field which has been defined as VALIDN=USEREXIT in the map source file used to create the mapset referenced in the mapping operation.
Each field element has the following structure:
- BMXMAPST
- is an 8-byte area which contains the name of the mapset associated with this field. If terminal or alternate suffixes are used with mapset names in your CICS® installation, the mapset name may have a suffix appended to the name specified in the mapping request.
- BMXMAP
- is a 7-byte area which contains the name of the map associated with this field.
- BMXFDFB
- is a one-byte field copied from the field specification in the
map load module. It contains indicators as follows:
- X'80'
- CASE=MIXED
- X'40'
- Group field entry
- X'20'
- Group field descriptor
- X'10'
- ATTRB=DET
- X'08'
- JUSTIFY=ZERO
- X'04'
- JUSTIFY=RIGHT
- X'02'
- INITIAL,XINIT, or GINIT specified
- X'01'
- Named field (DSECT entry exists)
- BMXMAPLN
- is a halfword binary value which contains the field length defined in the LENGTH option of the DFHMDF macro.
- BMXACTLN
- is a halfword binary value which contains the actual length of the data received or transmitted in this field.
- BMXDATA
- is the address of the field data.
In the XBMIN exit, BMXDATA points into a work area which BMS has obtained for input mapping purposes. When the exit returns control, this work area is copied to the application data structure associated with this map.
In the XBMOUT exit, BMXDATA points into a terminal input/output area (TIOA) in which BMS has generated an output datastream. When the exit returns control, the TIOA is disposed of in accordance with the disposition of the TERMINAL (the default), SET, or PAGING option specified on the SEND MAP request.
- BMXATTR
- is only relevant in the XBMOUT exit. It is the address of the attributes (if any) which BMS has placed in the output datastream preceding this field.
- BMXMAPOF
- is the offset of the field in the map. For example, if a map is
defined as
and a field in this map is defined asMYMAP DFHMDI SIZE=(12,40)
the offset of this field (relative to zero) is 160 in decimal notation. In this example, BMXMAPOF would contain the value X'00A0'.FLDA DFHMDF POS=(5,1) - BMXBUF
- is the offset of the field in the device buffer. Usually—that is, when the map dimensions are the same as the current screensize in use by the device—this value will be the same as that of BMXMAPOF. However, using the example given in the BMXMAPOF description, if MYMAP is sent to a device currently using a 24 by 80 screensize, the offset of the field in the device buffer (again relative to zero) is 320 in decimal notation. In this example, BMXBUF would contain the value X'0140'.