/********************************************************************/ 00010003 /* @X04SVRL*/ 00020003 /* MACRO NAME = IDAFOREC @X04SVRL*/ 00030003 /* @X04SVRL*/ 00040003 /* DESCRIPTIVE NAME = COMMON OPEN WORK AREA. @X04SVRL*/ 00042003 /* @X04SVRL*/ 00044003 /* FUNCTION = MAPS THE COMMON OPEN WORK AREA PASSED TO @X04SVRL*/ 00046003 /* VSAM OPEN/CLOSE/EOV IN REGISTER 4. @X04SVRL*/ 00048003 /* @X04SVRL*/ 00048403 /* CONTROL BLOCK STRUCTURE = NONE @X04SVRL*/ 00048803 /* @X04SVRL*/ 00049203 /* INCLUDED MACROS = IEFJFCBN @X04SVRL*/ 00049603 /* IEFJFCBX @X04SVRL*/ 00049703 /* IDAPDPRM @X04SVRL*/ 00049803 /* IECDSECS (VS2 ONLY) @X04SVRL*/ 00049903 /* IECDSECT (VS2 ONLY) @X04SVRL*/ 00066603 /* @X04SVRL*/ 00076603 /* METHOD OF ACCESS = PL/S - NO DECLARES NECESSARY @X04SVRL*/ 00078603 /* @X04SVRL*/ 00080603 /* CREATED BY: IGC0001I, IGC00020, IGC0005E. @X04SVRL*/ 00082603 /* @X04SVRL*/ 00083003 /* STATUS = VS1 RELEASE 4 (CHANGE FLAG @X04SVXX) @X04SVRL*/ 00083103 /* VS2 RELEASE 3 (CHANGE FLAG @Y30DSXX) @X04SVRL*/ 00083203 /* @X04SVRL*/ 00088803 /* DATE OF LAST CHANGE = 5 AUGUST 74 @X04SVRL*/ 00090803 /* @X04SVRL*/ 00092803 /********************************************************************/ 00093203 %IF ENV='VS2' %THEN /*IF VS2 THEN BYPASS @Y30DSDT*/ 00094403 %GOTO IDAFOR1; /* VS1 SECTION @Y30DSDT*/ 00100003 DCL FORECORE CHAR(496) BDY(DWORD) BASED(RCORE); 00400003 DCL 1 DXLBL DEFINED(FORECORE), 00800003 * 2 VOLLABI CHAR(3), /* LABEL IDENTIFIER */ 01200003 * 2 VOLNO CHAR(1), /* VOLUME LABEL NUMBER */ 01600003 * 2 VOLSERNO CHAR(6), 02000003 * 2 VOLSEC CHAR(1), 02400003 * 2 VOLVTOC CHAR(5), 02800003 * 2 * CHAR(5), 03200003 * 2 * CHAR(10),/* RESERVED */ 03600003 * 2 * CHAR(10),/* RESERVED */ 04000003 * 2 VOLOWNER CHAR(10),/* OWNER NAME AND ADDR CODE */ 04400003 * 2 * CHAR(29);/* RESERVED */ 04800003 DCL 1 DSECT01 DEFINED(FORECORE) POS(38), 05200003 * 2 AVOLOWNR CHAR(14),/* ANSI OWNER ID */ 05600003 * 2 * CHAR(28),/* RESERVED */ 06000003 * 2 LABSTAND CHAR(1); /* LABEL STANDARD LEVEL */ 06400003 DCL 1 DSECT02 DEFINED(FORECORE), 06800003 * 2 FL1LABI CHAR(3), /* LABEL IDENTIFIER */ 07200003 * 2 FL1NO CHAR(1), /* FILE LABEL NUMBER */ 07600003 * 2 FL1ID CHAR(17),/* FILE IDENTIFIER */ 08000003 * 2 FL1FILSR CHAR(6), /* FILE SERIAL NUMBER */ 08400003 * 2 FL1VOLSQ CHAR(4), /* VOL SEQ NUMBER */ 08800003 * 2 FL1FILSQ CHAR(4), /* FILE SEQ NUMBER */ 09200003 * 2 FL1GNO CHAR(4), /* GENERATION NUMBER */ 09600003 * 2 FL1VNG CHAR(2), /* VERSION NUMBER OF GDG */ 10000003 * 2 FL1CREDT CHAR(6), /* CREATION DATE */ 10400003 * 2 FL1EXPDT CHAR(6), /* EXPIRATION DATE */ 10800003 * 2 FL1FSEC CHAR(1), /* FILE SECURITY INDICATOR */ 11200003 * 2 FL1BLKCT CHAR(6), /* BLOCK COUNT */ 11600003 * 2 FL1SYSCD CHAR(13),/* SYSTEM CODE */ 12000003 * 2 FL1RES CHAR(7), /* RESERVED */ 12400003 * 3 * CHAR(1), 12800003 * 3 FL1RES1 CHAR(6); 13200003 DCL 1 DSECT03 DEFINED(FORECORE) POS(5), 13600003 * 2 FL2RECFM CHAR(1), /* RECORD FORMAT */ 14000003 * 2 FL2BLKL CHAR(5), /* BLOCK LENGTH */ 14400003 * 2 FL2LRECL CHAR(5), /* BLOCK FACTOR/REC LEN */ 14800003 * 2 FL2DEN CHAR(1), /* DENSITY */ 15200003 * 2 FL2FILP CHAR(1), /* FILE POSITION */ 15600003 * 2 FL2JSID CHAR(17),/* JOB/STEP ID */ 16000003 * 3 FL2JOBD CHAR(8), /* JOB IDENTIFICATION */ 16400003 * 3 FL2JSSP CHAR(1), /* SLASH */ 16800003 * 3 FL2STEPD CHAR(8), /* STEP IDENTIFICATION */ 17200003 * 2 FL2TRTCH CHAR(2), /* TAPE REC TECHNIQUE */ 17600003 * 2 FL2CNTRL CHAR(1), /* CARRIAGE CONTROL CHAR */ 18000003 * 2 * CHAR(1), /* RESERVED */ 18400003 * 2 FL2BLKA CHAR(1), /* BLOCK ATTRIBUTE */ 18800003 * 2 FL2RES CHAR(41);/* RESERVED */ 19200003 * DCL FL2BUFOF CHAR(2) BASED(ADDR(DXLBL)+50); 19600003 DCL 1 DXDSCB DEFINED(FORECORE), 20000003 * 2 DSCFMTID CHAR(1), /* ID */ 20400003 * 2 DSCFILSR CHAR(6), /* FILE SERIAL NUMBER */ 20800003 * 2 DSCVOLSR CHAR(2), 21200003 * 2 DSCCREDT CHAR(3), /* CREATION DATE */ 21600003 * 2 DSCEXPDT CHAR(3), /* EXPIRATION DATE */ 22000003 * 2 DSCNOEXT CHAR(1), 22400003 * 2 DSCBLDBL CHAR(1), 22800003 * 2 * CHAR(1), 23200003 * 2 DSCSYSCD CHAR(13),/* SYSTEM CODE */ 23600003 * 2 * CHAR(7), 24000003 * 2 DSCFILTY CHAR(2), /* FILE TYPE */ 24400003 * 2 DSCRECFM CHAR(1), /* RECORD FORMAT */ 24800003 * 2 DSCOPTCD CHAR(1), /* OPTION CODE */ 25200003 * 2 DSCBLKL CHAR(2), /* BLOCK LENGTH */ 25600003 * 2 DSCLRECL CHAR(2), /* RECORD LENGTH */ 26000003 * 2 DSCKEYL CHAR(1), /* KEY LENGTH */ 26400003 * 2 DSCRKP CHAR(2), /* KEY LOCATION */ 26800003 * 2 DSCDSIND CHAR(1), 27200003 * 2 DSCSCALO CHAR(4), 27600003 * 2 DSCLSTAR CHAR(5), 28000003 * 2 DSCTRBAL CHAR(2), 28400003 * 2 DSCEXTYP CHAR(1), /* EXTENT TYPE INDICATOR */ 28800003 * 2 DSCEXTSQ CHAR(1), /* EXTENT SEQ NUMBER */ 29200003 * 2 DSCLOWLM CHAR(4), 29600003 * 2 DSCUPPLM CHAR(4), 30000003 * 2 DSCEXT1 CHAR(10), 30400003 * 2 DSCEXT2 CHAR(10), 30800003 * 2 DSCNEXT CHAR(5); /* POINTER TO NEXT RECORD */ 31200003 DCL DSCCORE PTR(31) DEFINED(FORECORE) POS(97); 31600003 DCL DSCBEND CHAR(0) DEFINED(FORECORE) POS(101); 32000003 DCL 1 DXDSCB3K DEFINED(FORECORE), 32400003 * 2 DSCBF3C CHAR(4), 32800003 * 2 DSCBEXSK CHAR(40), 33200003 * 3 DSCBEXTY CHAR(1), /* EXTENT TYPE INDICATOR */ 33600003 * 3 DSCBEXSQ CHAR(1), /* EXTENT SEQ NUMBER */ 34000003 * 3 DSCBLLMT CHAR(4), /* CCHH LOWER LIMIT */ 34400003 * 3 DSCBULMT CHAR(4), /* CCHH UPPER LIMIT */ 34800003 * 3 DSCBEX2 CHAR(10),/* ADDITIONAL EXTENT */ 35200003 * 3 DSCBEX3 CHAR(10),/* ADDITIONAL EXTENT */ 35600003 * 3 DSCBEX4 CHAR(10);/* ADDITIONAL EXTENT */ 36000003 DCL 1 DSECT04 DEFINED(FORECORE), 36400003 * 2 DSCBFMID CHAR(1), /* FORMAT ID 3 */ 36800003 * 2 DSCBEXSD CHAR(90),/* ADDITIONAL EXTENTS */ 37200003 * 3 DSCBEX5 CHAR(10), 37600003 * 3 DSCBEX6 CHAR(10), 38000003 * 3 DSCBEX7 CHAR(10), 38400003 * 3 DSCBEX8 CHAR(10), 38800003 * 3 DSCBEX9 CHAR(10), 39200003 * 3 DSCBEXA CHAR(10), 39600003 * 3 DSCBEXB CHAR(10), 40000003 * 3 DSCBEXC CHAR(10), 40400003 * 3 DSCBEXD CHAR(10), 40800003 * 2 DSCBNEXT CHAR(5); /* CCHHR OF NEXT F3 DSCB */ 41200003 DCL 1 DSECT05 DEFINED(FORECORE), 41600003 * 2 REPLYLTH CHAR(1), 42000003 * 2 REPLYADR PTR(24), 42400003 * 2 REPLYECB CHAR(4), 42800003 * 2 MSGLSTSZ FIXED(15),/* MSG LENGTH */ 43200003 * 2 MCSFLAGS BIT(16), /* FLAG FIELD FOR MCS */ 43600003 * 2 MESSAGEA CHAR(68),/* MESSAGE AREA */ 44000003 * 2 DESCODE BIT(16), /* DESCRIPTOR CODE FOR MCS */ 44400003 * 2 ROUTCODE BIT(16), /* ROUTING CODE FOR MCS */ 44800003 * 2 REPLY CHAR(12);/* REPLY AREA */ 45200003 *% DCL (MSERL,MINSTL,MUNL,MVOLL) FIXED; 45600003 *% MSERL = 3; 46000003 *% MINSTL = 6; 46400003 *% MUNL = 3; 46800003 *% MVOLL = 6; 47200003 DCL 1 DSECT06 DEFINED(FORECORE) POS(13), 47600003 * 2 MSGIOSUP CHAR(3), /* I/O SUPPORT MSG ID */ 48000003 * 2 MSGINSTR CHAR(6), /* MSG SERIAL */ 48400003 * 3 MSGSER CHAR(3), /* MSG SERIAL NUMBER */ 48800003 * 4 * CHAR(2), 49200003 * 4 MSGSERLO CHAR(1),/* LOW ORDER BYTE OF MSG SER*/ 49600003 * 3 * CHAR(2), 50000003 * 3 MSGACTN CHAR(1), /* OPERATOR ACTION CODE */ 50400003 * 2 MSGBLANK CHAR(1), /* BLANK */ 50800003 * 2 MSGUN CHAR(3), /* UNIT NAME */ 51200003 * 2 MSGCOMM1 CHAR(1), /* COMMA */ 51600003 * 2 MSGVOLSR CHAR(6), /* VOLSER */ 52000003 * 2 MSGCOMM2 CHAR(1), /* COMMA */ 52400003 * 2 MSGTEXT CHAR(47);/* MESSAGE TEXT */ 52800003 DCL DXJBF CHAR(176) DEFINED(FORECORE) POS(101); 53200003 *%GOTO IDAFOR2; /* BYPASS VS2 SECTION @Y30DSDT*/ 53250003 *%IDAFOR1: DCL (FORECORE,RWTG,RWTGC) CHAR; /*@Y30DSDT*/ 53300003 *% FORECORE='FORCORE'; /*@Y30DSDT*/ 53300803 *% RWTG='IECWTGTB'; /* RWTG NOT VSAM REG @Y30DSDT*/ 53301203 *% RWTGC='*'; /* RWTGC NOT VSAM REG @Y30DSDT*/ 53301603 *% INCLUDE SYSLIB(IECDSECT); /* VS2 FORCORE @Y30DSDT*/ 53302003 *% INCLUDE SYSLIB(IECDSECS); /* VS2 FORCORE EXT. @Y30DSDT*/ 53310003 *% DEACTIVATE RWTG,RWTGC; /*@Y30DSDT*/ 53320003 *%IDAFOR2: ; /* VS1/VS2 COMMON SECTION @Y30DSDT*/ 53350003 %IF NOJFCB='YES' 53600003 %THEN %GOTO NOJFCBA; 54000003 *% DCL JFCBPTR CHAR; 54400003 *% JFCBPTR = 'ADDR(DXJBF)'; 54800003 *% INCLUDE SYSLIB(IEFJFCBN); 55200003 *% DCL JFCBXPTR CHAR; 55600003 *% JFCBXPTR = 'ADDR(DXJBF)'; 56000003 *% INCLUDE SYSLIB(IEFJFCBX); 56400003 %NOJFCBA:; 56800003 *%IF ENV='VS2' %THEN /*IF VS2, BYPASS VS1 @Y30DSDT*/ 56850003 * %GOTO IDAFOR3; /* SECTION @Y30DSDT*/ 56900003 DCL DXECB CHAR(4) DEFINED(FORECORE) POS(277); 57200003 *% IF CONFLICT ^= 'NO' %THEN %GOTO NORMAL; 57600003 DCL DXIOB CHAR(32) DEFINED(FORECORE) POS(281); 58000003 *% GOTO BYPASS; 58400003 *% NORMAL: ; 58800003 DCL 1 DXIOB DEFINED(FORECORE) POS(281), 59200003 * 2 IOBFLAG1 BIT(8), 59600003 * 2 IOBFLAG2 BIT(8), 60000003 * 2 IOBSENSE CHAR(2), 60400003 * 3 IOBSENS0 BIT(8), 60800003 * 3 IOBSENS1 BIT(8), 61200003 * 2 IOBECBPT PTR(31), 61600003 * 3 * BIT(8), 62000003 * 3 * PTR(24), 62400003 * 2 IOBCSW, 62800003 * 3 IOBCOMAD CHAR(4), 63200003 * 3 IOBSTAT0 BIT(8), 63600003 * 3 IOBSTAT1 BIT(8), 64000003 * 3 IOBCNT FIXED(15), 64400003 * 2 IOBSIOCC BIT(8), 64800003 * 2 IOBSTART PTR(24), 65200003 * 2 IOBWGHT BIT(8), 65600003 * 2 IOBDCBPT PTR(24), 66000003 * 2 * CHAR(1), 66400003 * 2 * CHAR(3), 66800003 * 2 IOBINCAM FIXED(15), 67200003 * 2 IOBERRCT FIXED(15); 67600003 *% BYPASS: ; 68000003 DCL DXDADDR CHAR(8) DEFINED(FORECORE) POS(313); 68400003 DCL 1 DYYYY DEFINED(FORECORE) POS(321), 68800003 * 2 DXDEBDEB PTR(31), 69200003 * 2 DXDEBIRB PTR(31), 69600003 * 3 DXDEBOFL CHAR(1), 70000003 * 2 DXDEBSYS PTR(31), 70400003 * 2 DXDEBUSR PTR(31), 70800003 * 2 DXDEBECB PTR(31), 71200003 * 2 DXDEBDCB PTR(31), 71600003 * 3 DXDCBAD PTR(31), 72000003 * 4 DXDEBID CHAR(1), 72400003 * 2 DXDEBAPP PTR(31), 72800003 * 2 DXDEBUCB PTR(31), 73200003 * 3 DXDEBMOD CHAR(1), 73600003 * 2 DXDEBBIN CHAR(2), 74000003 * 2 DXDEBSCC CHAR(2), 74400003 * 2 DXDEBSHH CHAR(2), 74800003 * 2 DXDEBECC CHAR(2), 75200003 * 2 DXDEBEHH CHAR(2), 75600003 * 2 DXDEBNTR CHAR(2); 76000003 DCL DXDEB DEFINED(FORECORE) POS(317); 76400003 DCL DXXXX CHAR(4) DEFINED(FORECORE) POS(365); 76800003 DCL DXDCB DEFINED(FORECORE) POS(321); 77200003 DCL DXDCBDEB PTR(31) DEFINED(FORECORE) POS(365); 77600003 DCL 1 DXCCW DEFINED(FORECORE) POS(369), 78000003 * 2 DXCCW1 CHAR(8), 78400003 * 2 DXCCW2 CHAR(8), 78800003 * 2 DXCCW3 CHAR(8), 79200003 * 2 DXCCW4 CHAR(8), 79600003 * 2 DXCCW5 CHAR(8), 80000003 * 2 DXCCW6 CHAR(8), 80400003 * 2 DXCCW7 CHAR(8), 80800003 * 2 DXCCW8 CHAR(8), 81200003 * 2 DXCCW9 CHAR(8), 81600003 * 2 DXCCW10 CHAR(8), 82000003 * 2 DXCCW11 CHAR(8), 82400003 * 2 DXCCW12 CHAR(8); 82800003 DCL DXVSAMID PTR(31) DEFINED(FORECORE) POS(489); 83200003 *%IDAFOR3: ; /* VS1/VS2 COMMON SECTION @Y30DSDT*/ 83250003 DCL 1 PDWLIST DEFINED(FORECORE), /* WRITE-TO-PROGRAMMER 83600003 PARAMETER LIST */ 84000003 * 2 WTPLNGTH FIXED(15) UNSIGNED, /* LENGTH OF LIST */ 84400003 * 2 WTPFLGS FIXED(15) UNSIGNED, /* WTPFLAGS */ 84800003 * 2 WTPMSG CHAR(71), /* TEXT OF MESSAGE */ 85200003 * 2 WTPROUT CHAR(4); /* ROUTING CODES */ 85600003 * % INCLUDE SYSLIB(IDAPDPRM); 86000003 * RFY IDAPDPRM BASED(ADDR(DXIOB)); 86400003 *%IF ENV='VS2' %THEN /* IF VS2, BYPASS VS1 @Y30DSDT*/ 86450003 * %GOTO IDAFOR4; /* DECLARE @Y30DSDT*/ 86500003 DCL 1 PDWWORK DEFINED(FORECORE) POS(321), 86800003 * %GOTO IDAFOR5; /* BYPASS VS2 DECLARE @Y30DSDT*/ 86850003 *%IDAFOR4: ; /*@Y30DSDT*/ 86860003 DCL 1 PDWWORK DEFINED(DXDCB), /*@Y30DSDT*/ 86900003 *%IDAFOR5: ; /*@Y30DSDT*/ 86950003 * 2 PDWSAVE CHAR(64), /* REGISTER SAVE AREA */ 87200003 * 2 PDWSAVEA PTR(31), /* REG 14 SAVE AREA */ 87600003 * 2 PDWSAVEB PTR(31), /* REG 14 SAVE AREA */ 88000003 * 2 PDWSAVEC PTR(31), /* REG 14 SAVE AREA */ 88400003 * 2 PDWSAVED PTR(31), /* REG 14 SAVE AREA @X04SVRL*/ 88450003 * 2 PDWMSGPT PTR(31), /* PTR TO LOCATION IN USER'S 88500003 * MESSAGE AREA @X04SVRL*/ 88550003 * 2 PDWERRCD PTR(31), /* ERROR CODE */ 88800003 * 2 PDWORKSP CHAR(8) BDY(DWORD); /* DBL WORD WORK AREA*/ 89200003 *%IF ENV='VS2' %THEN /*IF VS2, BYPASS VS1 @Y30DSDT*/ 89250003 * %GOTO NOWTG; /* SECTION @Y30DSDT*/ 89300003 *% DCL DSECTSIZ FIXED; 89600003 *% DSECTSIZ = 496; 90000003 * % IF WTGX ^= 'YES' %THEN %GO TO NOWTG; 90050003 * DCL 1 WTG BASED , 90100003 * 2 WTGAREA CHAR(29) , /* WTG TABLE BASIC SECTION */ 90150003 * 3 WTGMODNM CHAR(8) , /* MODULE NAME */ 90200003 * 4 * CHAR(6) , /* FIRST SIX BYTES OF MODULE*/ 90250003 * 4 WTGMODID CHAR(2), /* MODULE ID */ 90300003 * 3 * CHAR(6), /* TTRSZE FLD OF BLDL */ 90350003 * 3 WTGTTR CHAR(3); /* TTR OF FIRST TEXT RECORD */ 90400003 * DCL WTGECBAD PTR(31) BASED(ADDR(WTGTTR)+2); 90500003 * DCL 1 DSECTT10 BASED(ADDR(WTGECBAD)+4) BDY(WORD), 90550003 * 2 * CHAR(2), 90600003 * 2 WTGATTRB BIT(16), /* ATTRIBUTES OF MODULE */ 90650003 * 2 WTGMODSZ CHAR(3), /* MAIN STORAGE NEEDED */ 90700003 * 2 WTGTXTLN CHAR(2), /* LNG OF FIRST TXT REC */ 90750003 * 2 WTGLNG PTR(8) , /* LNG OF WTG TABL DWORDS */ 90800003 * 2 WTGPATHS BIT(16), /* O/C PROC. INDICATORS */ 90850003 * 3 WTGPRLSE BIT(1), /* DA PARTIAL RLSE REQ */ 90900003 * 3 WTGNSL BIT(1), /* NSL TAPE INPUT PROC. */ 90950003 * 3 WTGCLOS BIT(1), /* TCLOSE XCTL TO NSL RTNS */ 91000003 * 3 WTGSMF BIT(1), /* SMF IS ACTIVE */ 91050003 * 3 WTGJFCBW BIT(1), /* JFCB ALTERED NEEDS JQ UPD*/ 91100003 * 3 * BIT(3), 91150003 * 3 WTGTRACE BIT(1), /* OPT TRACE FACILITY REQD */ 91200003 * 3 WTGAM0 BIT(1), /* VSAM ACBS IN PARM LIST */ 91250003 * 3 * BIT(4), 91300003 * 3 WTGRECHK BIT(1), /* INCORRECT NSL VOL MOUNTED*/ 91350003 * 3 WTGOPD BIT(1), /* DCBS TO COMPLETE THEN */ 91400003 * /* GET PROB DET FOR LAST LD */ 91450003 * 2 * CHAR(8), /* */ 91500003 * 2 WTGEND CHAR(0); /* END OF WTG TABLE */ 91550003 * DCL 1 DSECT10A BDY(WORD) BASED, 91600003 * 2 WTGENTRY CHAR(8) BDY(WORD),/* FIRST ENTRY IN WTG */ 91650003 * 3 WTGIDTTR CHAR(5), /* ID & TTR OF NEXT MODULE */ 91700003 * 4 WTGID CHAR(2), /* MODULE ID */ 91750003 * 4 WTGXTTR CHAR(3), /* TTR OF MODULE */ 91800003 * 3 WTGCORE PTR(24); /* ADDR OF MAIN WORKAREA */ 91850003 * %NOWTG: ; 91900003