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.

Table 1. IMS macros that are used to define MFS specifications
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:

  • Exits for user-written field and segment editing routines to be included in the generated system
  • IMS-provided formatting for MFS on the 3270 or SLU 2 master terminal

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.

For TYPE UNITYPE=SLUTYPE1

COMPTn=(...,MFS-SCS1,...) must be specified for the MFS SCS1 formatting option for the console, printer, or print data set component.

COMPTn=(...,MFS-SCS2,...) must be specified for the MFS SCS2 formatting option for the reader, punch, or transmit data set component.

For TYPE UNITYPE=SLUTYPEP

COMPTn=(...,DPM-An,...) must be specified for the MFS DPM formatting option for the remote controller component.

COMPTn=(...,MFS-SCS1,...) must be specified for the MFS SCS1 formatting option for the remote controller component.

For TYPE UNITYPE=LUTYPE6

COMPTn=(...,DPM-Bn,...) must be specified for MFS ISC formatting.

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.