DCL SPCPTR .PARM1 PARM; DCL DD PARM-IN-FILE CHAR(10) BAS(.PARM1); DCL SPCPTR .PARM2 PARM; DCL DD PARM-IN-LIB CHAR(10) BAS(.PARM2); DCL SPCPTR .PARM3 PARM; DCL DD PARM-OUT-FILE CHAR(10) BAS(.PARM3); DCL SPCPTR .PARM4 PARM; DCL DD PARM-OUT-LIB CHAR(10) BAS(.PARM4); DCL SPCPTR .PARM5 PARM; DCL DD PARM-GENERAL CHAR(50) BAS(.PARM5); DCL OL PARMS(.PARM1, .PARM2, .PARM3, .PARM4, .PARM5) EXT PARM MIN(4); DCL SPCPTR .ODP; DCL SPC ODP BAS(.ODP); DCL DD ODP.DCB BIN(4) DEF(ODP) POS(17); DCL SPCPTR .DCB; DCL SPC DCB BAS(.DCB); DCL DD DCB-GET BIN(2) DEF (DCB) POS(25); DCL DD DCB-PUT BIN(2) DEF (DCB) POS(33); DCL SPCPTR .NULL; DCL SPCPTR ..SEPT BASPCO; DCL SYSPTR .SEPT(6440) BAS(..SEPT); DCL CON CLOSE-ENTRY BIN(2) INIT(11); DCL CON OPEN-ENTRY BIN(2) INIT(12); DCL SPCPTR .IFCB INIT(IFCB); DCL DD IFCB CHAR(214) BDRY(16); DCL SPCPTR .IFCB-ODP DEF(IFCB) POS( 1); DCL SPCPTR .IFCB-INBUF DEF(IFCB) POS( 17); DCL DD IFCB-FILE CHAR(10) DEF(IFCB) POS(129); DCL DD IFCB-LIB-ID BIN(2) DEF(IFCB) POS(139) INIT(72); DCL DD IFCB-LIBRARY CHAR(10) DEF(IFCB) POS(141); DCL DD IFCB-MBR-ID BIN(2) DEF(IFCB) POS(151) INIT(73); DCL DD IFCB-MEMBER CHAR(10) DEF(IFCB) POS(153); DCL DD IFCB-FLAGS-1 CHAR(1) DEF(IFCB) POS(175) INIT(X'80'); DCL DD IFCB-FLAGS-2 CHAR(1) DEF(IFCB) POS(176) INIT(X'20'); DCL DD IFCB-RECORD-ID BIN (2) DEF(IFCB) POS(209) INIT(1); DCL DD IFCB-RECORD-LENGTH BIN (2) DEF(IFCB) POS(211) INIT(132); DCL DD IFCB-NO-MORE-PARMS BIN (2) DEF(IFCB) POS(213) INIT(32767); DCL OL OPEN-I(.IFCB); DCL OL CLOSE-I(.IFCB); DCL DD GET-ENTRY BIN(2); DCL DD INBUF CHAR(132) BAS(.IFCB-INBUF); DCL DD GET-OPTION BIN(4) INIT(H'03000001'); DCL SPCPTR .GET-OPTION INIT(GET-OPTION); DCL OL GET-OPERATION(.IFCB, .GET-OPTION, .NULL); DCL SPCPTR .OFCB INIT(OFCB); DCL DD OFCB CHAR(214) BDRY(16); DCL SPCPTR .OFCB-ODP DEF(OFCB) POS( 1); DCL SPCPTR .OFCB-OUTBUF DEF(OFCB) POS( 33); DCL DD OFCB-FILE CHAR(10) DEF(OFCB) POS(129); DCL DD OFCB-LIB-ID BIN(2) DEF(OFCB) POS(139) INIT(72); DCL DD OFCB-LIBRARY CHAR(10) DEF(OFCB) POS(141); DCL DD OFCB-MBR-ID BIN(2) DEF(OFCB) POS(151) INIT(73); DCL DD OFCB-MEMBER CHAR(10) DEF(OFCB) POS(153); DCL DD OFCB-FLAGS-1 CHAR(1) DEF(OFCB) POS(175) INIT(X'80'); DCL DD OFCB-FLAGS-2 CHAR(1) DEF(OFCB) POS(176) INIT(X'10'); DCL DD OFCB-RECORD-ID BIN (2) DEF(OFCB) POS(209) INIT(1); DCL DD OFCB-RECORD-LENGTH BIN (2) DEF(OFCB) POS(211) INIT(132); DCL DD OFCB-NO-MORE-PARMS BIN (2) DEF(OFCB) POS(213) INIT(32767); DCL OL OPEN-O (.OFCB) ARG; DCL OL CLOSE-O(.OFCB) ARG; DCL DD PUT-ENTRY BIN(2); DCL DD OUTBUF CHAR(132) BAS(.OFCB-OUTBUF); DCL DD PUT-OPTION BIN(4) INIT(H'10000005'); DCL SPCPTR .PUT-OPTION INIT(PUT-OPTION); DCL OL PUT-OPERATION(.OFCB, .PUT-OPTION, .NULL); DCL EXCM * EXCID(H'5001') BP(EOF-DETECTED) CV("CPF") IMD; DCL SYSPTR .TRANSLATE-TABLE-OBJECT; DCL SPCPTR .TRANSLATE-TABLE; /* DCL DD TRANSLATE-TABLE CHAR(256) BAS(.TRANSLATE-TABLE); */ DCL DD TRANSLATE-TABLE CHAR(256); DCL DD *(16) CHAR(16) DEF(TRANSLATE-TABLE) POS(1) INIT( X'000102039C09867F978D8E0B0C0D0E0F', X'101112139D8508871819928F1C1D1E1F', X'80818283840A171B88898A8B8C050607', X'909116939495960498999A9B14159E1A', X'20A0A1A2A3A4A5A6A7A85B2E3C282B21', X'26A9AAABACADAEAFB0B15D242A293B5E', X'2D2FB2B3B4B5B6B7B8B97C2C255F3E3F', X'BABBBCBDBEBFC0C1C2603A2340273D22', X'C3616263646566676869C4C5C6C7C8C9', X'CA6A6B6C6D6E6F707172CBCCCDCECFD0', X'D17E737475767778797AD2D3D4D5D6D7', X'D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7', X'7B414243444546474849E8E9EAEBECED', X'7D4A4B4C4D4E4F505152EEEFF0F1F2F3', X'5C9F535455565758595AF4F5F6F7F8F9', X'30313233343536373839FAFBFCFDFEFF'); DCL DD RESOLVE CHAR(34); DCL DD RESOLVE-TYPE CHAR( 2) DEF(RESOLVE) POS( 1); DCL DD RESOLVE-NAME CHAR(30) DEF(RESOLVE) POS( 3); DCL DD RESOLVE-AUTH CHAR( 2) DEF(RESOLVE) POS(33) INIT(X'0000'); /**************************************************************/ ENTRY * (PARMS) EXT; CPYBWP .NULL, *; /* MAKE NULL PTR */ RESOLVE-TO-TABLE: CPYBLA RESOLVE-TYPE, X'1906'; CPYBLAP RESOLVE-NAME, "QASCII", " "; RSLVSP .TRANSLATE-TABLE-OBJECT, RESOLVE, *, *; /* SETSPPFP .TRANSLATE-TABLE, .TRANSLATE-TABLE-OBJECT; */ OPEN-INPUT-FILE: CPYBLA IFCB-FILE, PARM-IN-FILE; CPYBLA IFCB-LIBRARY, PARM-IN-LIB; CPYBLA IFCB-MEMBER, PARM-IN-FILE; CALLX .SEPT(OPEN-ENTRY), OPEN-I, *; CPYBWP .ODP, .IFCB-ODP; ADDSPP .DCB, .ODP, ODP.DCB; CPYNV GET-ENTRY, DCB-GET; OPEN-OUTPUT-FILE: CPYBLA OFCB-FILE, PARM-OUT-FILE; CPYBLA OFCB-LIBRARY, PARM-OUT-LIB; CPYBLA OFCB-MEMBER, PARM-OUT-FILE; CALLX .SEPT(OPEN-ENTRY), OPEN-O, *; CPYBWP .ODP, .OFCB-ODP; ADDSPP .DCB, .ODP, ODP.DCB; CPYNV PUT-ENTRY, DCB-PUT; TRANSFORM-FILE: CALLX .SEPT(GET-ENTRY), GET-OPERATION, *; XLATEWT OUTBUF, INBUF, TRANSLATE-TABLE; CALLX .SEPT(PUT-ENTRY), PUT-OPERATION, *; B TRANSFORM-FILE; EOF-DETECTED: CALLX .SEPT(CLOSE-ENTRY), CLOSE-I, *; CALLX .SEPT(CLOSE-ENTRY), CLOSE-O, *; RTX *;