gtpd2m1iData Communications Services Reference

Implementation Procedures

This section describes the:

Where modifications to existing TPF functions have been made (Global areas, FACE Table, SYSEQ, Recoup, etc.), the intention was to provide support for the previously mentioned terminal types. These terminal types require twelve new record types for the Terminal Map Record file. These record types were added to SYSEQ and twelve additional files allocated in the FACE Table. A user with fewer device types referencing Mapping Support may desire to delete the extraneous areas or leave the areas free for possible future device expansion. A section of this chapter describes the required steps to follow for modification of the provided support.

General Implementation Outline

Global Records

These records have been updated to reflect the new main storage resident Map Sharing Table (AS2MT) and a new 256 character translate table used by the Mapping Support Package. These fields have been provided for in GLOBY.

The following description shows the additions that have been made to the GLOBY macro. Note that the order the fields are to be loaded into main storage must correspond to the index number sequence in the Main Storage Allocator Record (GO1GO).

GLOBY

New global tags were added to reference 2 global records in main storage:

@MAPRCD     Map Sharing Table
@T3270      Translate Table

These are initialized by the Application Core Load Program; @T3270 provides the address of a 256 Character 3270 Translate Table. This table is used by the Mapping Support Package to detect 3270 commands and orders in the data streams.

GLOUC

The following tags were added to the table in GLOUC:

@MAPRCD
@T3270

These items must correspond to the slot updated in GLOBY and enables the file copy of keypointed records to be updated.

Main Storage Allocator Record (GO1GO)

New items have been added to the Allocator Record for the main storage resident Map Sharing Table (AS2MT) and the translate table used by the TPF Mapping Support Package to interrogate 3270 data streams. The items were added to immediately follow the last record entry for the protected main storage resident records. Their sequence in the Allocator Record corresponds to the order the fields are to be loaded (i.e., GLOBY). To insure that existing displacements in GLOBY were not changed, the values assigned to the GO1EIX field for the new items were greater than the highest previously assigned GO1EIX. Neither table is keypointed. FACE ordinal numbers were assigned by referring to the Allocator Record and assigning ordinal numbers higher than the existing GO1EON. The addition of these records might cause Global Area 1 to exceed the space allocated to it. If this occurs, it will be necessary to change the number of 4096 byte blocks specified in the CK1GLBK field of Keypoint A (CK1KE) and perhaps the CK1GLIK field of Keypoint A. If CTKA is updated to reflect an increased number of 4096 byte blocks, this new value must also be incorporated in the GO1CRE so that the two values are equal. GO1CRE contains the number of 4096 byte core blocks required.

The following fields were updated:

GO1EIX
Index number of entry within GLOBY allocated to this record.

GO1EON
03-FACE ordinal number of file copy of this record.

GO1EID
Basic ID of this main storage resident record.

GO1CON
Number of double words to be loaded into main storage, and keypoint, index, global area, and header information.

The information contained in the following table constitutes the additions that were made to the Main Storage Allocator record as a part of Mapping Support in the 8.3 Release. In most cases, existing users will have to modify these values for their respective system. The basic procedure outlined above should be adhered to for such modifications.

Table 4. Fields Added to the Main Storage Allocator Record

Table GO1CON GO1EIX GO1EID GO1EON
AS2MT X'84000000' X'002E' MD X'00000033'
Translate table for 3270 X'20000008' X'002F' 2 blanks X'00000034'

Mapping Support System Equates (SYSEQ)

The Terminal Map Record (AS0MP, AS1MP) files are specifically device related. There is one file for each terminal type utilizing this package. See Additions to the FACE Table for the terminal types supported and added to SYSEQ.

The following equates were added to SYSEQ for 3270 control and order codes:

#SF      X'1D'  Start Field
#SBA     X'11'  Set Buffer Address
#IC      X'13'  Insert Cursor
#PT      X'08'  Program Tab
#RA      X'3C'  Repeat to Address
#EUA     X'12'  Erase Unprotected to Address
#EM      X'19'  End of Message Character

The following equates were added to SYSEQ for 3270 command codes:

#WRT     X'F1'  Write
#EWT     X'F8'  Erase/Write
#CPY     X'F7'  Copy
#EAU     X'6F'  Erase All Unprotected
#EWA     X'7E'  Erase/write Alternate

The following equate was added to SYSEQ to provide an end of screen separator character in output data streams to the 3278 and 3277 CRTs.

#EOSS   X'11'  End Of Screen Separator

File Requirements

This topic contains the formula needed to compute the storage requirements for data records on file and the additions to the FACE Table to reflect these new data records.

Allocation

Record allocation must be determined for the Map File Index Table File (AS4MF) and the Terminal Map Record File(s) (AS0MP, AS1MP). One Terminal Map Record File must be allocated for each device type which sends and/or receives formatted or mapped data. For each MSP File allocated in the FACE Table (FCTB) one large record must be allocated in the MSI File. Twelve files have been allocated in FCTB; thus, twelve records were allocated in the MSI file. The twelve files represent the device types included in the terminal support of this package. Because individual user requirements vary, these file allocations may require modification. However, the user should consider future terminal and file expansion when establishing his allocations. Existing users, should there not be enough file storage available, must run a data base reorganization.

The following table indicates the number of new large fixed file records needed. When the result after division contains a remainder, round up to the next higher integer.

Table 5. Large Fixed File Record Allocation

Record Comments Record Type Number of Records
AS2MT File backup for core record #GLOBL One
AS0MP
AS1MP
One file for each device type #TERnn; nn=01-0D I+O+2B= number of records to allocate for each file corresponding to a device type.
AS4MF
#ASMSI One record for each MSP file allocated in FCTB
In This Table:

I =
Number of input maps per terminal type defined by the user.

O =
Number of output maps per terminal type defined by the user.

B =
Number of maps per terminal type which have been defined by the user as BOTH (that is, same map used for input and output).

To each computed MSP allocation, the user should add an expansion factor to provide for additional maps.

The formula for the MSP file must be computed for each device type unless every user created map is defined for all terminal types. In this case, the record allocations would be equal.

Additions to the FACE Table

The file address compute program table (FCTB) provided contains the following record types:

Table 6. File Address Compute Program Table (FCTB) Record Types

Record Record Type Record Size Comments
AS4MF #ASMSI Large
MSP #TER01 Large 3277/3278 Mod1
MSP #TER02 Large 3277/3278 Mod2
MSP #TER03 Large 3284/3286 Mod1
MSP #TER04 Large 3284/3286 Mod2
MSP #TER08 Large 1977 W/O Tab
MSP #TER06 Large 1977 With Tab
MSP #TER07 Large 1980 Mod 24
MSP #TER08 Large 1980 Mod 21
MSP #TER09 Large 3278 M1 Alternate
MSP #TER0A Large SLU Type 1 2K
MSP #TER0B Large SLU Type 1 4K
MSP #TER0D Large 3287 M1 Alternate

Any modifications to the record allocations in the FACE Table will require a reassembly of FCTB. If record types are changed or deleted in SYSEQ, FCTB will have to be reassembled.

Main Storage Resident Tables

Record type #GLOBL was allocated enough space to accommodate the new main storage resident, Map Sharing Table (AS2MT) and the new 3270 translate table. The ordinal numbers are specified in the GO1EON fields of their respective entries in the INSL-GLBL Record.

Additions To The Face Driver (03-DFAD)

The FACE Driver and Offline Interface Program (03-DFAD) was updated to include the record IDs of the Mapping Support records that reside in fixed file storage. The IDs were defined in the same order as their appropriate record type IDs appear in the System Equate Macro (SYSEQ). The purpose of this offline program is to provide a means of verifying and validating the FACE Table (FCTB) record allocations prior to loading the new FCTB into the online system. If the user deviates from the table provided, it is recommended that this program be executed before loading FCTB online. The following is a list of the fixed file records and their IDs as they are currently listed in SYSEQ.

Record      ID
 
MSP         MS
MSP         MS
MSP         MS
MSP         MS
MSP         MS
MSP         MS
MSP         MS
MSP         MS
MSI         MA
MSP         MS
MSP         MS
MSP         MS
MSP         MS

JCL To Run DFAD

//DFAD     JOB
//JOBLIB   DD  DSN=ACP.xxxx.xxxx.LK,DISP=SHR
//NAME     EXEC PGM=DFAD
//DFADPRT  DD  SYSOUT=A
/*

Where:

ACP.xxxx.xxxx.LK = The library to which both FCTB and
                   FACE have been linked.

Program Segments and Data Record Allocation

PDS Members

The following is a list of program segments comprising the Mapping Support Package that have been allocated in the System Allocator (03-SAL). These programs have been allocated to each subsystem. Each has been allocated as disk resident. However, since usage of this package will vary by user, the user may consider assigning some of the more frequently accessed (ASF) segments to main storage.

ASC1          ASF1  ASL1
ASC2          ASF2  ASL2
ASC3          ASF3  ASL3
ASC4          ASF4  ASL4
ASC5          ASF5  ASL5
ASC6          ASF6  ASL6
ASC8          ASF7
ASCA          ASF8
              ASF9
              ASFI
              ASFO
              ASFJ
              ASFP

The following offline program segments in the Mapping Support Package are written in BAL. Each must be assembled to the MVS object library using the MVS Assembler and link edited to the load module.

ASLOL         ASLPR
ASLOM

Data Records

The following is a list of records and their IDs requiring large (1055) pool addresses. These have already been added to the System Allocator (SAL) and are required for accessing random pool record addresses.

ID         Record                    Description
 
MS   MSP   Terminal Map Record       Long term, duplicate
MA   MSI   Map File Index Table      Long term, duplicate
MB   MSS   Page/Scroll Control Rcd   Short term, nonduplicate

System Maps

This section lists and describes all maps defined in the macro library for use by TPF programs. These maps are henceforth called System Maps.

The initialization and maintenance of the related physical online map records is the responsibility of the user of the TPF system. The Map File Create And Load Program (03-ASL) is provided for creating and loading of maps to the online files.

Source

Each System Map is defined by a group of source statements catalogued in the TPF Macro Source Statement Library under the mapname given in this document. These source statements must be copied or included in the user's Map Source Statement Library for input to the Map File Create And Load Program (03-ASL).

Processing

This offline program (03-ASLOL) will create and load physical maps for each group of source statements defining a map and included in the user's Map Source Statement Library.

Disposition

The System Map definitions are included as part of the TPF system. Once generated, these maps remain constant until a change is made in the source statements in the macro library.

Contents

Last Line Descriptor For Input/Output

Mapname:
C001

Description:
This map defines the last line of a display terminal which is reserved for TPF usage. The map is designed to provide the TPF system with a means of displaying a message without overlaying a terminal display area on the screen. The TPF system uses this map for short input or output messages.

Input messages are limited to 37 characters maximum. Output messages are also limited to 37 characters maximum.

Unsolicited Display Descriptor

Mapname:
C002

Description:
This map defines a format for displaying the unsolicited messages requiring formatting by the unsolicited message package. These messages include all CRAS and some application-program- initiated requests to send unsolicited messages.

The CRAS requests include single and broadcast messages while application program requests will include broadcast messages only. (Single requests are destined for one terminal only. Broadcast requests are destined for more than one terminal.)

This map allows a maximum of 253 characters to be displayed starting at the first position on a screen. The text is displayed as a continuous stream of characters using up to the maximum of 253 display positions. Unused positions are set to blank characters.

Last Line Descriptor For Output Only

Mapname:
C003

Description:
This map defines the last line of a display terminal which is reserved for TPF usage. The map is designed to provide the TPF system with a means of displaying a message without overlaying a terminal display area on the screen and moving the cursor.

The TPF system uses this map for output messages of from 1 to 37 characters maximum.

Miscellaneous Modifications

This section discusses changes that have been made to several peripheral programs and macros.

Datas

The new data macros have been added to the DATAS macro to allow programs to call two or more data records while specifying only one base register. The new data macros and their respective designations are:

Macro Name Description
AS2MT Map Sharing Table
AS4MF Map File Index Table
AS8MB Page/Scroll Control Record
AS0MP Terminal Map Record-Input
AS1MP Terminal Map Record-Output

System Message Processor

Segment CVAB of the System Message Processor was updated to recognize the Z-type command to initiate the Map File Create and Load Program. If mapping is system generated, the following message will generate an ENTNC to ASL3. For a system with the Multiple Data Base Facility (MDBF) installed, the Map File Create and Load is initiated for a particular subsystem by prefixing the message with the appropriate Subsystem User ID.

                                  ex. 1 zamap
 
                                  ex. 2 ssuname//zamap
 
WHERE SSUNAME = a 1 to 4 CHARACTER SUBSYSTEM USER ID NAME.

Recoup

The Recoup Package must be made aware of the Mapping Records for chain-chasing of the long term pool records. See TPF Database Reference for more information about the inputs needed by the recoup descriptors.

Global Label Table

The Global Label Table, which is used by the Diagnostic Output Formatter (PDVLDUMP) to label global area fields during a systems test post processor run, has been updated to include the new Mapping Support global fields and their labels. The following constitutes the update:

10             16                                               73
------------------------------------------------------------------------
 
DC             S(@MAPRCD)                                       04100001
DC             C'MAPR'                                          04100002
DC             S(@MAPFIL)                                       04100003
DC             C'MAPF'                                          04100004
DC             S(@T3270)                                        04100005
DC             C'TR70'                                          04100006
DC             S(@T3270F)                                       04100007
DC             C'TR7F'                                          04100008

Record Initialization

Pilot Tape

Only the following items are loaded from a pilot tape to each subsystem that wishes to utilize the mapping function. General pilot tapes are created by the system test compiler program (see TPF Program Development Support Reference).

(GO1GO)
Main Storage Allocator Record

Contains the modifications described in Main Storage Allocator Record to accommodate the Map Sharing Table and the 3270 Translate Table.

(AS2MT)
Map Sharing Table:

Contains the record ID MD and Zeroes

3270 Translate Table:

Contains the 256 Character Translate Table used by the Mapping Support Package as well as several peripheral programs.

The user who wishes to either increase or decrease the size of the Map Sharing Table may accomplish this by placing the desired number of doublewords in the RCC (Record Code Check) field of the record on the pilot tape.

Program Initialization Of Records

The following data records are initialized by the File Create and Load Program (03-ASL), during the initial Terminal Map Record load or subsequent complete file replacements:

AS0MP, AS1MP
Terminal Map Record

AS4MF
Map File Index Table

3270 Translate Table

In order to facilitate the interrogation of lengthy data streams related to 3270 and other terminal types, this package references a 256 character table. The table is used by programs Multiple Screen Control and Input/Output Mapping to detect special control characters in messages. In addition to these programs, the Input and Output Simulator Programs reference this table. Each byte from byte 0 through byte 255 (256 byte length) contains a X'00' value, except for the following:

Byte Relative To 0 Position Value Description
Byte 5 X'05' Program Tab character for 3270s and mechanical tab character for 1980 Model 24s/1977.
Byte 17 X'11' Set Buffer Address (SBA) character
Byte 18 X'12' Erase Unprotected to Address (EUA)
Byte 19 X'13' Insert Cursor (IC) character
Byte 21 X'15' Carriage Return character
Byte 29 X'1D' Start Field (SF) character
Byte 60 X'3C' Repeat to Address (RA) character
Byte 78 X'4E' End-Of-Message character
Byte 95 X'5F' End-Of-Message, Unsolicited character
Byte 108 X'6C' Line Feed character

Program Resident Tables and Constants

The following constitutes a list of program resident tables and constants, their use, location, and significance. In some cases, the user may desire to modify or alter these values in order to tailor the Mapping Support Package to individual system requirements.

Program Resident Tables


Member Name Table Use
ASLOL/ASLOM ATTAB - Table containing 3270 attributes. Used to convert user supplied attribute information to valid 3270 attributes.
TABLE - Table containing valid 3270 buffer addresses. Used to convert position supplied by the user to a valid 3270 buffer address when a 3270 device is specified.
ASC4 Table containing 3270 buffer address characters. To convert locations expressed as relative positions to their equivalent two character 3270 addresses.
ASFJ, ASFP Table containing buffer addresses for system lines for associated device types. To insert a terminal devices system line addresses, characters/line and lines/screen when creating a pseudo RCB.
ASL2 Table containing terminal type indicators and associated record type and Map Index Table (AS4MF) ordinal number. To retrieve relevant Map Index (AS4MF) for update by Map File Create and Load. To pass to Mapping and Map File Create and Load device record type.

Example of item in ASL2 Device Table:

line 1 DC XL2'10C1'
line 2 DC X'00'
line 3 DC AL1(#TER01)

Where:

line 1  byte 0  * Terminal type indication
                   as found in CI0CO
                   (CI0TTP)
        byte 1  *  Alpha designation per
                   device as assigned by
                   offline map file create
                   (ASLOL)
line 2  byte 0  *  Ordinal number assigned
                   by user for this device
                   types' Map Index record
                   (AS4MF)
line 3  byte 0  *  Resolved record type
                   assigned in SYSEQ for a
                   particular device type.
ASL6 Table containing mapping error messages. User gives ASL6 error message number. Table is searched for match, and message is sent to user specified terminal or application.
ASL5 Table containing the record types of all devices supported by mapping. At map file create time, the files are initialized with the appropriate ID and the remainder of the header is zeroed out.

Program Constants and Literals


Member Name Constants/Literal Use
ASF2 =X'D6D4' Record ID for output AMSG.
ASF3 Same Same
ASF4 =X'D4C900' Record ID and Code Check for formatted user DSECT.
=X'D4E200' Record ID and Code Check for MSP (Terminal Map Rcd).
=X'D4C200' Record ID and Code Check for AS5MB (Page/Scroll Control Record).
=X'D6D400' Record ID and code check for AMSG output block.
=C'SDLC' Designation of a pseudo RCB on level 3.
ASF8 =X'D4C900' Record ID and Code Check for input AMSG block.
=X'D6D400' Record ID and RCC for output AMSG block
=C'SDLC' Designation for a pseudo RCB on level 3.
ASFI & ASFO =H'519'
=X'D4C100'
AS4MF item count.
Record ID and Code Check for AS4MF.
=X'D4E200' Record ID and Code Check for MSP.
ASF5 =X'D4C900' Record ID and RCC for AMSG overflow record retrieval.
ASCA =X'D4C200' Record ID and RCC for AS5MB (Page/Scroll Control Rcd).
=X'D4C900' Record ID and RCC for input AMSG block.
ASLOL/ASLOM (RID) C'MS' Record ID of MSP record.
ASLOL/ASLOM (CID) C'MR' ID of Control Record on MRT tape.
ASLOL/ASLOM (COMMAND) X'F8' Write command default for 3270 devices.
ASLOL/ASLOM (WCCBYTE) B'00000010' Default WCC for 3270 devices.
ASLOL/ASLOM (ATTRB) B'01100000' Default attribute for 3270 devices.
ASLOL/ASLOM (ATTRB2) B'00000010' Part 2 of attribute for output maps.
ASL1 =X'D4E200' ID, Record Code Check for Terminal Map Record.
ASL2 ='D4C100' Record ID, Record Code
Check for Map Index Table.
ASL3 =X'D4E200' Record ID and Record Code
Check for Terminal Map Record.
=C'MR' Record ID of Tape File.
ASL5 =X'D4C100' Record ID and Record Code
Check for Map Index Table.
=X'D4E200' Record ID and Record Code
Check for Terminal Map Record.
ASC1 =X'D6D400' Record ID and Record Code
=X'D4C200' Record ID and Record Code
Check for Page/Scroll Control
END DC H'337' Data area length for output AMSG.
C'SDLC' Designation for pseudo RCB on level 3
=X'FFFFFFFF' Designation for ECB save area on level 4.
ASC2 =X'D4C900' Record ID and Record Code Check for input AMSG.
=X'D4C200' Record ID and Record Code Check for Multiple Screen Control Record.
ASC3 =X'D6D400' Record ID and Record Code Check for output AMSG.
END DC H'337' Data area length for output AMSG.
DC XL7'1140403C000040' 3270 repeat to address command.
=F'63' Constant needed to convert 3270 buffer address to relative positions.
ASC4 =X'D4C900' Record ID and Record Code
Check for input AMSG.
=X'D6D400' Record ID and Record Code
Check for output AMSG.
END DC H'337' Data area length for output AMSG
ASL4 =X'D6D400' Record ID and Record
Code Check for output AMSG.
=X'5CF1' Address for 3270 Model 2 terminal.
=X'C6F9' Address for 3270 Model 1 terminal.
=X'F1C611' WCC, CMD and SBA for 3270 terminal.
=X'0000' Constant to test for presence of address in CI0RPL.
ASC5 =X'D6D400' Record ID and Record Code check for output AMSG.
DC H'337' Data area length for output AMSG.
DC XL7'1140403C000000' 3270 repeat to address command.
=F'63' Constant needed to convert 3270 buffer address to relative position.
ASC6 =X'D6D400' Record ID and Record Code
Check for output AMSG.
=F'63' Constant needed to convert 3270 buffer address to row, column format.
DC XL7'1100001D406E4E' SBA, address, SF, >, ATT and EOM needed for 3270 terminal (system line).
ASC8 DC XL7'1140403C000000' 3270 Repeat to address order.
DC XL10'C6F80011C6F83C4DF000' Erase order for upper part of 1920 split screen.
DC XL11'4F403CD5F80011D5F83C5C' Erase order of upper part of 1920 split screen.

User Modifications To Package Parameters

The terminal types supported may exceed current user requirements. Thus, each individual installation may need alteration of the tables and file allocations to delete terminal type references. The deletion of references to supported terminal types may occur in either of two ways: (1) the user may delete all references to the supported terminal by updating the FACE Table, the System Equate Macro, the FACE Driver and Offline Interface Program, etc., or (2) allow the references to remain unused, thus allowing for possible future terminal type expansion. The following description is a guide to the process involved with the former alternative.

  1. Delete the RA#TERnn equate statement that corresponds to the AS supported terminal type from the System Equate Macro (SYSEQ).
  2. Delete the RAMFIL statements in the SIP Stage I deck that correspond to the #TERnn equate in SYSEQ.
  3. Update the Recoup Package descriptor to remove the reference to the file deleted from the FACE Table. See TPF Database Reference for more information.
  4. Delete the reference and alpha identifier from various program resident tables and macros provided with the TPF Mapping Support Package.
    1. ASLOL - This program contains code and constants for the purpose of validating user specified device types for map record creation.
    2. ASL2 - This program contains a table of terminal related items; each item in this table contains the #TERnn equate, the MSI record ordinal, the unique alpha identifier, and the one character hexadecimal RCB notation (Reference field CI0TTP) which correspond to each terminal supported by mapping. There is one such item for each terminal type.
    3. ASL5 - This program contains a table of terminal equates (#TERnn), one for each terminal supported by mapping.
    4. DPANL - This macro contains macro language statements which are used for the purpose of validating each terminal type supported by this package.

      New devices may be added by reversing the above process. However, the user should exercise care in this process and determine if the device characteristics (field oriented, for example) and control characters are compatible with the formatting capability of this package. The formatting and mapping function of this package is primarily directed towards the 3270 Information Display System and its related terminal (CRT and Printer) features.