*% GO TO JCLSLAB1; 00400020 * /*******************************************************************/ 00800020 * /* */ 01200020 * /* STATUS -- */ 01600020 * /* RELEASE 20, MODIFICATION LEVEL 00 */ 02000020 * /* 0-999999 20029 */ 02400020 * /* */ 02800020 * /* FUNCTION -- */ 03200020 * /* DESCRIBE A JOB CONTROL LANGUAGE SET */ 03600020 * /* */ 04000020 * /* ENTRY POINTS -- */ 04400020 * /* NONE */ 04800020 * /* */ 05200020 * /* INPUT -- */ 05600020 * /* NONE */ 06000020 * /* */ 06400020 * /* OUTPUT -- */ 06800020 * /* A BSL OR ASSEMBLER LANGUAGE DECLARATION A JOB CONTROL */ 07200020 * /* LANGUAGE SET */ 07600020 * /* */ 08000020 * /* EXTERNAL REFERENCES -- */ 08400020 * /* NONE */ 08800020 * /* */ 09200020 * /* EXITS, NORMAL -- */ 09600020 * /* NONE */ 10000020 * /* */ 10400020 * /* EXITS, ERROR -- */ 10800020 * /* NONE */ 11200020 * /* */ 11600020 * /* TABLE/WORK AREAS -- */ 12000020 * /* NONE */ 12400020 * /* */ 12800020 * /* ATTRIBUTES -- */ 13200020 * /* NOT APPLICABLE */ 13600020 * /* */ 14000020 * /* NOTES -- */ 14400020 * /* NONE */ 14800020 * /* */ 15200020 * /*******************************************************************/ 15600020 * /* START OF SPECIFICATIONS **** 16000020 *1MODULE-NAME = IEFJCLS 16400020 * 2PROCESSOR = ASSEMBLER, BSL 16800020 ** THE RELEASE FOR WHICH THIS MODULE WAS MOST RECENTLY UPDATED 17200020 *1STATUS = 20 17600020 **********************************************************************/ 18000020 * /******************************************************************** 18400020 *1DESCRIPTIVE-NAME = JOB CONTROL LANGUAGE SET MAPPING 18800020 *1DESCRIPTION = PROVIDE A MAPPING OF THE CHAINED STRUCTURES USED BY - 19200020 *THE SYSTEM TASK CONTROL ROUTINE AND TSO LOGON TO CONTAIN THE JOB - 19600020 *CONTROL LANGUAGE REQUIRED TO PROCESS THE START AND MOUNT OPERATOR - 20000020 *COMMANDS AND THE LOGON FOREGROUND COMMAND RESPECTIVELY. 20400020 *1FUNCTION = SEE DESCRIPTION 20800020 *1MODULE-TYPE = MACRO 21200020 *1GLOBAL-ARITHMETIC-VARIABLES = LENJCLS 21600020 *1MACRO-SIZE = 188 STATEMENTS 22000020 *1PARAMETER-RECEIVED = NONE 22400020 *1SYSTEM-MACROS = NONE 22800020 *1EXTERNAL-TABLE = JCLS 23200020 * 2PURPOSE = PROVIDE A MAPPING OF A JOB CONTROL LANGUAGE SET 23600020 * 2REMARKS-ON-USE = AS OF RELEASE 20 ALL NEW USERS OF THE JOB - 24000020 * CONTROL LANGUAGE SET SHOULD UTILIZE THIS MACRO-INSTRUCTION. IN - 24400020 * THE FOLLOWING DISCUSSION 'REFERENCE-TYPE' REFERS TO THE TREATMENT - 24800020 * GIVEN EACH INDIVIDUAL FIELD BY IEEVRJCL, THE PSEUDO-ACCESS METHOD - 25200020 * NORMALLY USED TO PASS EACH JCLS TO THE READER/INTERPRETER 25600020 * 2SCOPE = EXTERNAL 26000020 * 2TABLE-SIZE = 88 BYTES 26400020 * 2MAPPING-MACRO = IEFJCLS 26800020 * *******************************************************************/ 27200020 * /******************************************************************* 27600020 * 2FIELD = JCLSHDR 28000020 * 3REFERENCE-TYPE = READ 28400020 * 3DISPLACEMENT = 0 BYTES 28800020 * 3TYPE = TABLE 29200020 * 3SCOPE = EXTERNAL 29600020 * 3TABLE-SIZE = 8 BYTES 30000020 * 3MAPPING-MACRO = IEFJCLS 30400020 * *****************************************************************/ 30800020 * /***************************************************************** 31200020 * 3FIELD = JCLSJCLS 31600020 * 4REFERENCE-TYPE = READ 32000020 * 4DISPLACEMENT = 0 BYTES 32400020 * 4TYPE = ADDRESS 32800020 * 4ADDRESS-LENGTH = 32 BITS 33200020 * 4ADDRESS-OF = JCLS 33600020 * 5REFERENCE-TYPE = READ 34000020 * 5TYPE-ADDRESSED = TABLE 34400020 * 5PURPOSE = NEXT JCLS IN STREAM 34800020 * 5REMARKS-ON-USE = IF JCLSJCLS POINTER IS ZERO, THE END OF - 35200020 * THE CHAIN IS INDICATED. 35600020 * 5SCOPE = EXTERNAL 36000020 * 5MAPPING-MACRO = IEFJCLS 36400020 * *****************************************************************/ 36800020 * /***************************************************************** 37200020 * 3FIELD = * 37600020 * 4DISPLACEMENT = 4 BYTES 38000020 * 4TYPE = RESERVED 38400020 * *******************************************************************/ 38800020 * /******************************************************************* 39200020 * 2FIELD = JCLSCARD 39600020 * 3REFERENCE-TYPE = READ 40000020 * 3DISPLACEMENT = 8 BYTES 40400020 * 3TYPE = TABLE 40800020 * 3PURPOSE = CONTAIN ONE JCL CARD IMAGE 41200020 * 3SCOPE = EXTERNAL 41600020 * 3TABLE-SIZE = 80 BYTES 42000020 * 3MAPPING-MACRO = IEFJCLS 42400020 * *****************************************************************/ 42800020 * /***************************************************************** 43200020 * 3FIELD = JCLSLASH 43600020 * 4REFERENCE-TYPE = READ 44000020 * 4DISPLACEMENT = 0 BYTES 44400020 * 4TYPE = CHARACTER STRING 44800020 * 4LENGTH+MODE = 2 CHARACTERS 45200020 * 4VALUE = '//' OR '/*' 45600020 * *****************************************************************/ 46000020 * /***************************************************************** 46400020 * 3FIELD = JCLSLABL 46800020 * 4REFERENCE-TYPE = READ 47200020 * 4DISPLACEMENT = 2 BYTES 47600020 * 4TYPE = CHARACTER STRING 48000020 * 4LENGTH+MODE = 8 CHARACTERS 48400020 * 4VALUE = LABEL OF JCL CARD 48800020 * *****************************************************************/ 49200020 * /***************************************************************** 49600020 * 3FIELD = JCLSTYPE 50000020 * 4REFERENCE-TYPE = READ 50400020 * 4DISPLACEMENT = 10 BYTES 50800020 * 4TYPE = CHARACTER STRING 51200020 * 4LENGTH+MODE = 5 CHARACTERS 51600020 * 4VALUE = 'JOB', 'EXEC', 'DD', ... 52000020 * *****************************************************************/ 52400020 * /***************************************************************** 52800020 * 3FIELD = JCLSBODY 53200020 * 4REFERENCE-TYPE = READ 53600020 * 4DISPLACEMENT = 15 BYTES 54000020 * 4TYPE = CHARACTER STRING 54400020 * 4LENGTH+MODE = 56 CHARACTERS 54800020 * 4VALUE = BODY OF JCL CARD 55200020 * *****************************************************************/ 55600020 * /***************************************************************** 56000020 * 3FIELD = JCLSCNTN 56400020 * 4REFERENCE-TYPE = READ 56800020 * 4DISPLACEMENT = 1 BYTE 57200020 * 4TYPE = CHARACTER STRING 57600020 * 4LENGTH+MODE = 71 CHARACTERS 58000020 * 4VALUE = CONTINUATION FIELD OF JCL CARD 58400020 * *****************************************************************/ 58800020 * /***************************************************************** 59200020 * 3FIELD = JCLSSEQ 59600020 * 4REFERENCE-TYPE = READ 60000020 * 4DISPLACEMENT = 8 BYTES 60400020 * 4TYPE = CHARACTER STRING 60800020 * 4LENGTH+MODE = 72 CHARACTERS 61200020 * 4VALUE = SEQUENCE FIELD OF JCL CARD 61600020 * 62000020 **** END OF SPECIFICATIONS ***/ 62400020 MACRO 62800020 IEFJCLS 63200020 JCLS DS CL88 DEFINE A JOB CONTROL LANGUAGE SET (JCLS) 63600020 ORG JCLS MOVE BACK AND DEFINE THE FIELDS 64000020 JCLSHDR DS CL8 JCLS HEADER 64400020 ORG JCLSHDR STRUCTURE THE HEADER 64800020 JCLSJCLS DS AL4 POINTER TO NEXT JCLS 65200020 DS 1F RESERVED 65600020 JCLSCARD DS CL80 JCL CARD IMAGE 66000020 ORG JCLSCARD MOVE BACK AND STRUCTURE THE CARD 66400020 JCLSLASH DS CL2 // 66800020 JCLSLABL DS CL8 LABEL FIELD 67200020 JCLSTYPE DS CL5 JOB, EXEC, DD, ... 67600020 JCLSBODY DS CL56 BODY OF CARD IMAGE 68000020 JCLSCNTN DS 1C CONTINUATION COLUMN 68400020 JCLSSEQ DS CL8 SEQUENCE NUMBER FIELD 68800020 MEND 69200020 *%JCLSLAB1:; 69600020 * /******************************************************************** 70000020 * DEFINE A JOB CONTROL LANGUAGE SET 70400020 * ********************************************************************/ 70800020 * DECLARE 71200020 * 1 JCLS BASED(JCLSPTR) BOUNDARY(DWORD), 71600020 * /****************************************************** 72000020 * JCLS HEADER 72400020 * ******************************************************/ 72800020 * 2 JCLSHDR, 73200020 * /*************************************************** 73600020 * POINTER TO NEXT JCLS -- ZERO FOR LAST 74000020 * ***************************************************/ 74400020 * 3 JCLSJCLS POINTER(31), 74800020 * /*************************************************** 75200020 * RESERVED 75600020 * ***************************************************/ 76000020 * 3 * FIXED(31), 76400020 * /****************************************************** 76800020 * JCL CARD IMAGE 77200020 * ******************************************************/ 77600020 * 2 JCLSCARD CHARACTER(80), 78000020 * /*************************************************** 78400020 * // OR /* 78800020 * ***************************************************/ 79200020 * 3 JCLSLASH CHARACTER(2), 79600020 * /*************************************************** 80000020 * LABEL FIELD 80400020 * ***************************************************/ 80800020 * 3 JCLSLABL CHARACTER(8), 81200020 * /*************************************************** 81600020 * JOB, EXEC, DD, ... 82000020 * ***************************************************/ 82400020 * 3 JCLSTYPE CHARACTER(5), 82800020 * /*************************************************** 83200020 * BODY OF CARD IMAGE 83600020 * ***************************************************/ 84000020 * 3 JCLSBODY CHARACTER(56), 84400020 * /*************************************************** 84800020 * CONTINUATION COLUMN 85200020 * ***************************************************/ 85600020 * 3 JCLSCNTN CHARACTER(1), 86000020 * /*************************************************** 86400020 * SEQUENCE NUMBER FIELD 86800020 * ***************************************************/ 87200020 * 3 JCLSSEQ CHARACTER(8); 87600020 *%/******************************************************************** 88000020 * DEFINE THE LENGTH OF A JOB CONTROL LANGUAGE SET 88400020 **********************************************************************/ 88800020 * DECLARE LENJCLS FIXED; 89200020 *% LENJCLS = 88; 89600020