Defining Message Formatting Service
Message Formatting Service (MFS) is an editing facility that allows application programs to handle simple logical messages instead of device-dependent data, which simplifies the application development process. These topics describe MFS-related system definition and programming considerations.
The IMS macros that are used to define specifications for MFS are described in the following table.
IMS macro | MFS specification |
---|---|
MSGQUEUE | MSGQUEUE is used to specify the maximum size output segment that is properly processed by MFS. |
IMSGEN | IMSGEN is used to specify MFSTEST parameters if the COMM macro is not used. The SUFFIX= operand specifies the suffix of the MFS device characteristics table that is generated when TYPE or TERMINAL macros define device symbolic names (that is, TYPE=3270-An) during system definition. |
COMM | COMM is used to specify the following facilities of MFS:
The IMS-provided formatting for the master terminal is provided if OPTIONS=(...,FMTMAST,...) is specified and the 3270 or SLU 2 display used as the master terminal is a 24x80 screen defined as TYPE=(3270,2) or 3270-An with SIZE=(24,80). The name used for the EDITNAME parameter cannot be the same as any MID name. |
TYPE | The TYPE, SIZE, FEAT, and OPTIONS keywords can be used in the TYPE and TERMINAL macro. The OPTIONS= operand of the TYPE macro is used to request MFS support for a set of terminal devices described in the subsequent TERMINAL macros. If 3270 or SLU 2 terminals are defined, MFS support is automatic. The TYPE, SIZE, and FEAT keywords define the 3270 and SLU 2 devices using the device symbolic name and generate the MFS device characteristics table containing the device type symbolic name, associated screen size, and physical terminal features. TYPE keywords provide definition for subsequent TERMINAL macros. For NTO, specify UNITYPE=NTO on the TYPE macro. |
TERMINAL | The COMPTn= operand can be used to request MFS support for a specific component of a terminal defined as a secondary logical unit. For NTO, specify PU=xx where xx is LUNS, 2741, 2740-1, or TTY.
|
The following is a sample definition that would allow DPM-An to be used with a remote program. The definition is for a secondary logical unit with two components.
TYPE UNITYPE=SLUTYPEP
TERMINAL NAME=LUX,OPTIONS=(FORCRESP,ACK,NOBID),
OUTBUF=256,COMPT1=(PROGRAM2,DPM-A3,7),
COMPT2=(PROGRAM1,DPM-A4,1)
NAME LTERMQ,COMPT=1
NAME LTERMY,COMPT=2
PROGRAM1 is printed output operation; PROGRAM2 is paged output operation.
The OUTBUF= specification would allow RCDCTL to be up to 256 bytes in all format definitions for this secondary logical unit.
The following is a sample definition that would allow DPM-An or SCS1 to be used with a remote program. For this secondary logical unit, the DPM-An definition is for the first two components, and the SCS1 definition is for the third component.
TYPE UNITYPE=SLUTYPEP
TERMINAL NAME=LUX,OPTIONS=(FORCRESP,ACK,NOBID),
OUTBUF=256,COMPT1=(PROGRAM2,DPM-A3,7),
COMPT2=(PROGRAM1,DPM-A4,1),
COMPT3=(PROGRAM1,MFS-SCS1,IGNORE)
NAME LTERMQ,COMPT=1
NAME LTERMY,COMPT=2
NAME LTERMS,COMPT=3
PROGRAM1 is an unprotected operation at the end of a message for paged output or a printer (SCS1) operation; PROGRAM2 is a protected operation at the end of a message for paged output.
The OUTBUF= specification would allow RCDCTL to be up to 256 bytes in all DPM format definitions for this secondary logical unit.
If OUTBUF is not large enough for an entire data page, then more than one VTAM® SEND is required to send the page.