gtpd2m1i | Data Communications Services Reference |
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.
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).
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.
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.
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:
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' |
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
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.
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 |
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.
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.
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.
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
//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.
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
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
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.
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).
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.
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.
Input messages are limited to 37 characters maximum. Output messages are also limited to 37 characters maximum.
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.
The TPF system uses this map for output messages of from 1 to 37 characters maximum.
This section discusses changes that have been made to several peripheral programs and macros.
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 |
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.
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.
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
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).
Contains the modifications described in Main Storage Allocator Record to accommodate the Map Sharing Table and the 3270 Translate 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.
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:
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 |
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.
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. |
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. |
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.
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.