* /* START OF SPECIFICATIONS *** * 00010003 *01* PROCESSOR = ASSEM; * 00012003 **** END OF SPECIFICATIONS ***/ * 00014003 UPD2 TITLE 'IEBUPDTE PROCESSING CSECT- IEBUPDT2' 00020000 *TITLE: IEBUPDT2-IEBUPDTE MAIN PROCESSING CSECT 1550 00040014 * * 00060000 *STATUS- CHANGE LEVEL 001 * 00080000 * * 00100000 *FUNCTION/OPERATION- THIS MODULE IS ABLE TO CREATE AND UPDATE * 00120000 * SYMBOLIC LIBRARIES WHICH ARE EITHER PHYSICAL SEQUENTIAL OR * 00140000 * PARTITIONED DATA SETS CONTAINED ON DIRECT ACCESS OR TAPE VOLUMES. * 00160000 * * 00180000 * THIS MODULE HANDLES FIXED OR FIXED-BLOCKED RECORDS. IT HAS THE * 00200000 * ABITLITY TO HANDLE RECORD OF LOGICAL RECORD LENGTHS UP TO EIGHTY * 00220000 * BYTES. IF BLOCKSIZE AND/OR LOGICAL RECORD LENGTH ARE NOT GIVEN * 00240000 * BY OPEN TIME, UNBLOCKED RECORDS OF 80 BYTES IS ASSUMED AND A * 00260000 * WARNING MESSAGE IS GIVEN ON THE LOG OUT DEVICE. * 00280000 * * 00300000 * THIS MODULE CAN- * 00320000 * * 00340000 * 1. CREATE A NEW PARTITIONED OR PHYSICAL SEQUENTIAL DATA SET * 00360000 * * 00380000 * 2. SEQUENCE THE NEW DATA SET OR RESEQUENCE AN OLD ONE * 00400000 * * 00420000 * 3. REPRODUCE OR REPLACE A MEMBER OR A DATA SET * 00440000 * * 00460000 * 4. PRODUCE A PARTITIONED DATA SET FROM A PHYSICAL SEQUENTIAL * 00480000 * MASTER OR THE CONVERSE. * 00500000 * * 00520000 * 4. ADD A MEMBER TO A PARTITIONED DATA SET. * 00540000 * * 00560000 * 5. ASSIGN AN ALIAS NAME TO ANY MEMBER UPDATED * 00580000 * * 00600000 * 6. CHANGE RECORDS IN A DATA SET * 00620000 * * 00640000 * 7. HANDLE RECORDS WITH NON-STANDARD SEQUENCE NUMBER FIELDS AND * 00660000 * LENGTHS OF SEQUENCE NUMBERS FROM 1 TO 8 CHARACTERS. * 00680000 * * 00700000 * 8. UPDATE ONLY SPECIFIED PORTION OF DATA SET RECORDS. * 00720000 * * 00740000 * 9. UPDATE INPLACE DATA SETS OR MEMBERS ON DIRECT ACCESS VOLUMES. * 00760000 * * 00780000 *ENTRY POINTS- ENTERED FROM THE OPERATING SYSTEM AT 'IEBUPDTE'. * 00800000 * * 00820000 *INPUT- SYSIN WHICH CONSISTS OF CONTROL CARDS AND LOGICAL DATA * 00840000 * RECORDS FOR INSERTION OR REPLACEMENT, THE INPUT DATA SET. * 00860000 * * 00880000 * SYSUT1 WHICH DEFINES THE 'OLD MASTER' DATA SET WHICH MAY BE * 00900000 * PARTITIONED OR PHYSICAL SEQUENTIAL IN ORGANIZATION. * 00920000 * * 00940000 *OUTPUT-SYSPRINT WHICH CONTAINS DIAGNOSTIC MESSAGES, THE CONTENTS OF * 00960000 * SYSIN AND-IF THE 'LIST=ALL' CONDITION IS PRIMED- THE ENTIRE * 00980000 * 'NEW MASTER' IS LISTED ON THE DEVICE DESIGNATED. * 01000000 * * 01020000 * SYSUT2 WHICH DEFINES THE 'NEW MASTER' DATA SET. IT WILL BE A * 01040000 * COMPOSITE OF THE SYSIN AND SYSUT1 DATA SETS. IT CAN BE EITHER * 01060000 * PARTITIONED OR PHYSICAL SEQUENTIAL IN ORGANIZATION. * 01080000 * * 01100000 *EXITS- NORMAL- A RETURN IS GIVEN TO THE SCHEDULAR MODULE OF THE * 01120000 * OPERATING SYSTEM. CONDITION CODE RETURNED ON A SUCCESSFUL RUN * 01140000 * WILL BE ZERO. * 01160000 * * 01180000 *EXITS- ERROR- IF AN ERROR OCCURS, A CODE IS STORED, A MESSAGE * 01200000 * GIVEN TO THE USER EXPLAINING THE ERROR CONDITION AND A * 01220000 * RETURN TO THE OPERATING SYSTEM SCHEDULAR MODULE IS GIVEN. * 01240000 * RETURN CODE GIVEN ARE- * 01260000 * 00 NORMAL TERMINATION OF A SUCCESSFUL RUN * 01280000 * 04 ERROR WITHIN A MEMBER- WILL TRY TO PROCESS NEXT MEMBER IF PODS * 01300000 * 12 UNRECOVERABLE ERROR- TERMINATION OF JOB. * 01320000 * 16 ERROR IN LABEL HANDLING IN USERS ROUTINE- TERMINATION OF JOB * 01340000 * * 01360000 *EXTERNAL ROUTINES- I/O HANDLED AT READ/WRITE LEVEL, GETMAIN, LINK, * 01380000 * BLDL, FIND, STOW USED. * 01400000 * * 01420000 *TABLES/WORK AREAS- * 01440000 * -KEYTAB- LIST OF VALID KEY WORDS USED ON CONTROL CARDS * 01460000 * -COMDTABL- LIST OF VALID COMMAND WORDS USED ON CONTROL CARDS * 01480000 * -SWITCHRD- BUFFER CONTAINING CONTROL CARD AND SWITCHES USED * 01500000 * BY CARD SCAN ROUTINE. * 01520000 * -LOGOUTAR- BUFFER WHICH IS USED BY LOG OUT ROUTINE FOR MESSAGES. * 01540000 * -STARTAB- TABLE OF SWITCHES WHICH ARE RESET TO ZERO UPON ENTRY * 01560000 * TO MODULE. ALL SWITCHES NEEDING REINITIALIZATION SHOULD BE PUT * 01580000 * INTO THIS TABLE. * 01600000 * * 01620000 *ATTRIBUTES- SERIAL REUSABLE, BLOCK LOADS 01640000 * * 01660000 * THIS CSECT- 1. OPENS SYSUT1 AND SYSUT2 (OLD AND NEW MASTER) DCB * 01680000 * 2. READS CONTROL CARDS FROM SYSIN AND BRANCHES TO * 01700000 * CONTROL CARD SCAN AND ANALYSIS CSECT (IEBASCAN) TO PROCESS THEM * 01720000 * 3. READS OLD MASTER RECORDS AND WRITES THE NEW * 01740000 * MASTER AFTER ANALYSING THE SITUATION. * 01760000 * 4. THE 'LASTLEG' ROUTINE IS ENTERED WHEN LAST * 01780000 * MEMBER OR DATA SET HAS BEEN PROCESSED. * 01800000 * 5. THE 'FLUSH' ROUTINE IS ENTERED TO SCAN TO NEXT * 01820000 * MEMBER IF A SYNTAX ERROR IS ENCOUNTERED ON A CONTROL STATEMENT. * 01840000 * * 01860000 EJECT 01880000 * SYMBOLIC REGISTER NOTATION GR0 - GR15 01900000 GR0 EQU 0 01920000 GR1 EQU 1 01940000 GR2 EQU 2 01960000 GR3 EQU 3 01980000 GR4 EQU 4 REGISTER RESERVED FOR CSECT1 02000000 GR5 EQU 5 02020000 GR6 EQU 6 02040000 GR7 EQU 7 02060000 GR8 EQU 8 02080000 GR9 EQU 9 02100000 GR10 EQU 10 02120000 GR11 EQU 11 02140000 GR12 EQU 12 02160000 GR13 EQU 13 02180000 GR14 EQU 14 02200000 GR15 EQU 15 02220000 D0 EQU 0 DISPLACEMENT OF 0 YM07522 02221002 D1 EQU 1 DISPLACEMENT OF 1 YM07522 02222002 L1 EQU 1 LENGTH OF 1 YM07522 02223002 L4 EQU 4 LENGTH OF 4 YM07522 02224002 L7 EQU 7 LENGTH OF 7 YM07522 02225002 L8 EQU 8 LENGTH OF 8 YM07522 02226002 B4 EQU 4 SHIFT 4 BITS YM07522 02227002 DIGIT EQU C'0' DIGIT ZONE YM07522 02228002 SPACE 1 02240000 IEBUPDT2 CSECT 02260000 ENTRY DEACTV ENTRY PT FROM SYNAD ROUTINE A27716 02261019 * IN IEBUPXIT TO CLOSE SYSUT1, A27716 02262019 * SYSUT2, AND SYSIN A27716 02263019 * 115800-116000,118200 A22518 02264018 * 117400 A22653 02268018 * A22163 02272018 * 101600,101800,117600 A24812 02274018 * 045760 A24428 02277018 * A25310 02278018 * 050600,169400,208810,208966 A25427 02279218 * A23927 02279618 * 101434,101850 M3410 02279818 * 068600-069200,72800,218400 A27716 02281819 * 078800,083800,209696 A27600 02283819 * 094800 A25432 02285819 * 125200 A28728 02287819 * 109650-110050,172400,222720-222750,223260 A29047 02289819 * 117402,117700 A30939 02291819 * 206496 A31455 02293819 * 042600-042800,061200,061400,168800-170100,177450,177460 A30480 02294020 * 050500,078640-079000,083700-084000,125400,125600,189000 A34087 02294220 * 191800,204400-204600,209196-210400,220315 A34087 02294420 * 135000-135400 A32024 02294620 * 175300 A32631 02294820 * 188600 A32632 02295020 * 179000 A33281 02295220 * 044164-044244,044814 A34086 02295520 * 071400-071800,167800-168000,173830,174000 A30625 02295620 * 221250 A33305 02295720 *186400,187000 A36095 02295821 * A36128 02297821 *D127900. C128000 A38750 02298200 *D161400 A41743 02298600 *C162400 A41743 02299000 *A169400,169520.C168800 A41756 02299121 *C155950 .A155970-155994 A44323 02299221 *A172520,175100,219674 A45212 02299621 *A101720,101730 A48737 02301200 *A165400,165600,178900,179300,179320 A45153 02301600 *A03790,037920,101424-101496,101824-101925,101983-1019870,103800YA01187 02301702 *A125700-125780,129500-129720,129940,141100-141180,223481-223785YA01187 02301802 *A 087300-087340 YA01188 02301902 *C 087400 YA01188 02305502 *A 127900-127940 02305902 *C 128000 02306102 *A034300,034320,177540,177560,177900-177940 YA01700 02306702 *C177600,177800 YA01700 02306902 *D034800,035000 YA01700 02307102 *A 127900-127940 02307502 *C 128000 02307902 *A 184300,186900 YA01186 02308302 *D 184800 YA01186 02308702 *A 148700 YA01677 02308902 *A129540,129541 YA01723 02309002 *C129760 YA01723 02309102 *A22210-22280,30620,91620-91780,91820-91880 YM07522 02310102 *A162020,173804,219774 YM07522 02310302 *D92000 YM07522 02310502 *C91800 YM07522 02310702 *A101569,101573,101821,101822,101877-101889,101991,102092 @YA02533 02310802 *A102096,120500-120540,129583,129603 @YA02533 02310902 *C093600,093800,101428,101900,101906,102104,120600,129716 @YA02533 02311002 *A137520-137584 @YA02554 02314102 *C184200 @YA02568 02316102 *C065200 @YA02584 02338302 *D064800,065000 @YA02584 02340302 *A 221240 @ZA00637 02340502 *A025240-025520,171640-171720,189840-189969,197035-197080 @ZA01682 02340802 *C190000,197090,203000 @ZA01682 02341302 *D025400,025600,197060,197150 @ZA01682 02341802 *A102084,102088,129508 @ZA01683 02341902 *C102090 @ZA01683 02342002 *D 129523,129527 @ZA01683 02342102 *C 145060 YA01707 02342302 *A144900 @ZA01657 02342702 *A222710 @ZA01684 02343002 *D222720,222750 @ZA01684 02343402 *A031300-031360 @ZA01689 02343502 *C027400 @ZA01689 02343702 *A026900,026920,029420,029440,189900,189904 @ZA01690 02343902 *C024000,024200,025000,025280,115000,115200,174010 @ZA01690 02344102 *C174800,187600,187800,197090 @ZA01690 02344302 *A 176400-176780 @ZA01692 02344402 *C 174800 @ZA01692 02344502 *A 118140-118180 @ZA03382 02344603 *C 118120 @ZA03382 02344703 *A 094860-094880 @ZA04438 02344803 *A 171500 @ZA04434 02344903 *A 209196-209556 @ZA06529 02346999 *C 165600 @ZA06529 02347099 *A 045500-045540 @ZA06546 02352399 *C 045600 @ZA06546 02354399 *D 090520 @ZA07320 02356399 *A 124500-124540 @ZA07361 02356799 *C 123800 @ZA07361 02357199 *A 094800,094820,094860-094892 @ZA07377 02357599 *C 159000 @ZA07377 02363199 *D 094860-094880 @ZA07377 02368699 *A179330,179340 @XA19829-@YA19268-(ORG)@ZA24936 02369100 *A090430,094900-094920,094940-094950, (ORG)@XA19639-@YA19583-@ZA27274 02369800 *A129529,136810-136910,153210-153350, (ORG)@XA19639-@YA19583-@ZA27274 02370599 *A155400-155450,223521 (ORG)@XA19639-@YA19583-@ZA27274 02371200 *C094930,153200,155500 (ORG)@XA19639-@YA19583-@ZA27274 02371900 *A179368-179392 (ORG)@XA20208-@YA19886-@ZA28408 02372699 *A058270-058620,220806-220818 @XA20587-@YA19906-(ORG)@ZA28493 02373299 *C058200,220800 @XA20587-@YA19906-(ORG)@ZA28493 02373499 *D058400,058600 @XA20587-@YA19906-(ORG)@ZA28493 02373699 *A129670 @XA20392-@YA20223-(ORG)@ZA29830 02374099 *A129403-129480 @XA20867-@YA19583-(ORG)@ZA29907 02374199 *C094900,153200,155400 @XA20867-@YA19583-(ORG)@ZA29907 02374299 *D090430,094910-094950,129529,129730 @XA20867-@YA19583-(ORG)@ZA29907 02374399 *D136810-136910,153220-153230 @XA20867-@YA19583-(ORG)@ZA29907 02374499 *D155450-155500,223521 @XA20867-@YA19583-(ORG)@ZA29907 02374599 *A155430-155490 @XA20479-@YA20225-(ORG)@ZA29832 02374699 *A153200-153320 @XA20479-@YA20225-(ORG)@ZA29832 02374799 *C153400 @XA20479-@YA20225-(ORG)@ZA29832 02374899 *A129413-129415 @XA22013-@YA20972-(ORG)@ZA31995 02375199 *A094854,155410-155420 @XA22015-@YA20973-(ORG)@ZA32389 02375799 *D094840 @XA22015-@YA20973-(ORG)@ZA32389 02376399 *A220793-220796 @XA22247-(ORG)@ZA33607 02377599 SAVE (14,12),T,IEBUPDT2-OZ33607 @ZA27274 02377799 BALR GR2,0 02378399 USING MEMBER,GR2,GR5 UL0H 02380802 USING IEBUPCON,12 UL0H 02386402 MEMBER L GR5,SCNDBASE UL0H 02392002 AR GR5,GR2 UL0H 02397602 ST GR13,SAVEPT13 UL0H 02403202 LA GR13,REGSAVS POINTER TO SAVE AREA 02408800 TM COMDCD2,X'0F' COMMAND PENDING @ZA01690 02414402 BZ NEXT1 NO- TEST SOME MORE @ZA01690 02420002 TM REPROSW,X'0E' REPRO FUNCTION 02440000 BC 1,ANYEOFOM YES- PROCESS TILL OM IS DONE 02460000 TM CHNGESW,X'0E' CHANGE FUNCTION 02480000 BZ IFALIAS2 ADD OR REPL.TEST IF ALIASES @ZA01690 02500002 CLI OMEND,X'0F' IS OLD MASTER FINISHED 02520000 BNE PROCEED NO,CONTINUE PROCESSING @ZA01682 02524002 IFALIAS2 CLI ALIASW2,X'0F' IS THERE SEVERAL ALIAS STMT? @ZA01690 02528002 BNE STOWNAME NO,FINISH THIS MEMBER @ZA01682 02532002 MVI DONOTRDC,RESET0 ALLOW READING OF SYSIN @ZA01682 02536002 CLI EODCTSW,X'0F' IS SYSIN FINISHED? @ZA01682 02540002 BNE NEXT1 NO,TEST SOME MORE @ZA01682 02544002 MVI FINICCS,X'0F' SET SYSIN FINISHED @ZA01682 02548002 B STOW BRANCH TO FINISH THIS MEMBER @ZA01682 02552002 *********************************************************************** 02565017 SCNDBASE DC F'4096' CONSTANT FOR SECOND BASE REGISTER000H 02570017 *********************************************************************** 02575017 ANYEOFOM CLI OPENSW,X'0F' DATA SETS OPEN YET 02580000 BE STARTUP NO- OPEN DCB AND START PROCESS 02600000 CLI REPROSW,X'0F' FIRST ENTRY TO REPRO 02620000 BE RESTREPO YES- LOCATE AND PROCESS MEMBER 02640000 CLI OMEND,X'0F' PREVIOUS MEMBER FINISHED 02660000 BNE READOM NO- FINISH UP BEFORE START REPRO 02680000 CLI ALIASW2,X'0F' MULTIPLE ALIAS STMT? @ZA01690 02690002 BE IFALIAS2 YES,GO TO SEE IF SYSIN THRU @ZA01690 02692002 B OMEODX YES- ANOTHER COMMAND PENDING 02700000 NEXT1 CLI CCSCANSW,BIT01 CARD SCAN REQUESTING READ 02720000 BE TESTEOD YES,GO TO SEE IF SYSIN THRU @ZA01689 02740002 CLI FLUSHSW,X'0F' ERROR ON CONTROL STATEMENT 02760000 BE CHKIFEND CHECK IF SYSIN THRU 02780000 CLI FIRSENTR,X'0F' START OF NEW MEMBER 02800000 BE PROSSOM YES- POSITION TO IT 02820000 CLI PRINTWRT,X'0F' RECORD TO BE LISTED AND WRITTEN 02840000 BE READCC GET NEXT CARD 02860000 CLI EODCTSW,X'0F' /* READ FIRST TIME 02880000 BE EODCTX YES- SET FINICCS SWITCH 02900000 CLI OMEND,X'0F' END OF OLD MASTER 02920000 BE OMEODX YES 02940000 CLI ALIASW2,X'0F' MULTIPLE ALIAS STMT? @ZA01690 02942002 BE NOTEMPTY YES,GO TO SEE IF SYSIN THRU @ZA01690 02944002 CLI LABEL2SW,X'0F' ARE LABELS TO BE READ IN SYSIN UL0H 02946017 BE READCC IF SO, READ THEM NOW UL0H 02952017 CLI LABEL2SW,X'FF' LABEL WITH DATA=NO A45205 02954022 BNE OPEND NO,TEST MORE A45205 02956022 MVI LABEL2SW,X'00' RESET SWITCH A45205 02958022 B READCT1 READ SYSIN IF FIRST CARD A45205 02958422 OPEND CLI OPENSW,X'0F' OPEN DCB YET A45205 02960000 BE OPENTHEM OPEN DCBS DELETE, NUMBER PENDING 13943 02980015 CLI FINICCS,X'0F' ENDUP STATEMENT READ 13943 03000015 BE ENDUPCC YES, FINISH OLD MASTER 13943 03020015 MVI OPENSW,X'0F' OM AND NM NOT OPENED SWITCH 03040000 STARTUP MVC IDENTXX(4),INITSEQ REINITIALIZE SEQUENCE CONSTANTS 03060000 XC IDENTNN(L4),IDENTNN YM07522 03062002 TM REPROSW,X'0E' REPRO FIRST COMMAND 03080000 BC 1,OPENTHEM YES- OPEN DATA SETS 03100000 B READCT1 READ SYSIN FIRST TIME 03120000 TESTEOD CLI EODCTSW,X'0F' SYSIN THRU? @ZA01689 03130002 BNE READCC NO,GO TO READ CONT CARDS @ZA01689 03132002 LA GR11,SCANMSG YES,CNTRL STMT ERROR MSG @ZA01689 03134002 B GIVENGO EOD INSTEAD OF CONT CARDS @ZA01689 03136002 RESETRD MVI FIRSENTR,RESET0 RESET NEW NUMBER SWITCH SETTING 03140000 READCC CLI DONOTRDC,X'0F' SHOULD ANOTHER CARD BE READ 03160000 MVI PRINTWRT,RESET0 CLEAR SWITCH THAT GOT US HERE 03180000 BE READOM NO- READ OLD MASTER 03200000 * * 03220000 * SYSIN SEQUENTIAL DATA SET BS0H 03240017 * * 03260000 READCT1 L GR3,READINAP LOAD START OF BUFFER 03280000 L GR11,DCBCT ADDRESS OF DCB 03300000 GET (GR11) GET CONTROL CARDS BS0H 03320017 MVC 0(80,GR3),0(GR1) MOVE TO INPUT AREA BS0H 03340017 MVI IGNORE1,RESET0 IF DID NOT INTERRUPT, NO /* EOF 03360000 BLOCKCC L GR3,READINAP POINTER TO SYSIN RECORD 03380000 CLI INSRTRD,X'0F' READING INSERT RECORDS 03400000 BCR 8,GR9 YES- RETURN TO PROCESS INSERT 03420000 CLI CCSCANSW,BIT01 DID CARD SCAN ISSUE READ? YA01700 03426002 BE MOVECCD YES,MOVE CARD TO ANALYSIS BUF YA01700 03432002 CLI FLUSHSW,X'0F' FLUSHING CARDS TO NEXT COMMAND 03440000 BE CLEARGO YES- CLEAR SWITCHES CHECK CARD 03460000 CLEARGO XC SWITCHRD(108),SWITCHRD CLEAR SWITCHES 03520000 MOVECCD MVC SWITCHRD+1(80),0(GR3) MOVE CARD TO ANALYSIS BUFFER 03540000 CLI LABEL2SW,X'0F' PROCESSING USER LABLES UL0H 03546017 BE LBLPROCS IF SO,ANALYZE THIS RECORD UL0H 03552017 CLC 0(2,GR3),DOTSLASH CONTROL STATEMENT IN BUFFER 03560000 BE CHKPS YES - ANALYSE THEN PRINT 4929 03580017 CLI FLUSHSW,X'0F' FLUSH ROUTINE ISSUED READ 03620000 BE READCC YES- CONTINUE TO FLUSH 4929 03640017 CLI CCSCANSW,BIT01 READ ISSUED BY 'KGTCD' OF SCAN 03660000 BE RET2SCAN YES- RETURN TO SCAN 03680000 CLI FIRSENTR,BIT10 VERY FIRST CARD 03700000 BE BADCARD YES- ERROR DATA BEFORE CONTROL 03720000 LA GR14,NEXTONE RETURN FROM PRINT- LAST SYSIN 03740000 CLI FLLISTSW,X'01' IS LIST OF ./ AND NEW MASTER 03760000 BCR 8,GR14 YES- CONTINUE 03780000 TM CHNGESW,X'0E' CHANGE OPERATION YA01187 03790002 BO NEXTONE WAIT WITH PRINTING YA01187 03792002 PRINTCRD MVI ASISMSW,X'0F' SET WRITE RECORD SWITCH 03800000 MVC LOGOUTAR+7(80),0(GR3) MOVE RECORD TO PRINT BUFFER 03820000 L GR15,PRIMEWRT ADDRESS OF MESSAGE ROUTINE 03840000 BR GR15 PRINT CARD 14 LOADED WITH RETURN 03860000 NEXTONE CLI CHNGESW,X'0F' HAVE A CHANGE COMMAND 03880000 BE RESETCHG YES- RESET THIS ON FIRST LRECORD 03900000 TM REPROSW,X'0E' HAVE A REPRO COMMAND 03920000 BC 1,INVALOP INVALID DATA RECORD WITH REPRO 03940000 CLI REPLSW,X'0F' HAVE A REPL COMMAND 03960000 BE RESETRPL YES- RESET THIS ON FIRST LRECORD 03980000 TM ADDSW,X'0E' HAVE AN ADD COMMAND 04000000 BC 8,PROCEED NO- RESET THIS ON FIRST LRECORD 04020000 MVI ADDSW,X'0E' LOGICAL RECORD BEFORE NEXT COMD 04040000 PROCEED CLI FLUSHSW,X'0E' COMMAND AFTER FLUSH 04060000 BE PROSSOM YES- ON TO NEXT MEMBER 04080000 CLI OPENSW,X'00' HAVE OM AND NM BEEN OPENED 04100000 BNE OPENTHEM NO- OPEN THEM- HAVE A COMD CARD 04120000 B READOM CONTINUE PROCESSING 04140000 RESETCHG MVI CHNGESW,X'0E' LOGICAL RECORD BEFORE NEXT COMD 04160000 B PROCEED CONTINUE PROCESSING 04180000 RESETRPL MVI REPLSW,X'0E' LOGICAL RECORD BEFORE NEXT COMD 04200000 B PROCEED CONTINUE PROCESSING 04220000 OPENTHEM MVI OPENSW,X'00' CLEAR OPEN SWITCH 04240000 TM CTONLYSW,X'11' ALL INPUT FROM SYSIN ? A30480 04250020 BZ OPENOM NO.. OPEN OLD MASTER A30480 04260020 CLI LABEL2SW,X'0F' PROCESSING USER LABELS UL0H 04286017 BE OPENNEW1 IF SO,ANALYZE THIS RECORD UL0H 04292017 CLI ADDSW,X'00' IS ADD SWITCH ON 04300000 BE INVALOP CAN ONLY ADD NO OM- GIVE MESSAGE 04320000 B OPENNEW1 OPEN ONLY NEW MASTER 04340000 * 04360000 * OPEN OLD MASTER DATA SET (SYSUT1) DCBOM 04380000 * 04400000 LBLPROCS STC GR7,LABELCNT STORE NO. OF LABELS UL0H 04401017 CLC 0(2,GR3),DOTSLASH IS RECORD A CONTROL CARD UL0H 04402017 BE CHEKCOMD IF SO,PREPARE TO ANALYZE ITUL0H 04403017 MVC 0(80,GR6),0(GR3) MOVE LABEL INTO BUFFER UL0H 04403917 BAL GR14,PRINTCRD PRINT LABEL UL0H 04404817 LA GR6,80(GR6) UP POINTER BY 80 UL0H 04405717 LA GR7,1(GR7) UP COUNT BY ONE UL0H 04406617 CH GR7,EIGHT HAVE 8 LABELS BEEN READ IN UL0H 04407917 BNH READCT1 IF NOT,READ ANOTHER RECORD UL0H 04408817 MVI LABEL2SW,X'00' RESET LABEL PROCESS FLAG UL0H 04409517 B INVALLBL ELSE ITS AN ERROR UL0H 04410217 CHEKCOMD CLI LABELCNT,X'00' ANY LABELS SAVED YET UL0H 04410617 BE INVALLBL IF NOT, ITS AN ERROR UL0H 04411017 CLI LABELSW,X'10' PROCESSING HEADER LABELS UL0H 04411417 BE HEADSCAN INITIALIZE BEFORE SCANNING UL0H 04411817 CLI LABELSW,X'20' REQUEST FOR USER TRAILER LBLUL0H 04412517 MVI LABEL2SW,X'F0' IF SO,ASCAN MUST CHECK NEXT UL0H 04412817 MVI NMSYSNLB,X'0F' FLAG AS TRAILERS IN INPUT UL0H 04413117 * FUNCTION FOR 'ENDUP', ALL ELSE INVALID UL0H 04413417 BE RET2SCAN IF SO, SCAN COMMAND CARD UL0H 04413817 B BADSEQN IF NOT, ITS A SEQUENCE ERRORUL0H 04414217 HEADSCAN MVI LABEL2SW,X'00' DO NOT BYPASS NORMAL PROC UL0H 04414617 MVC TESTLABL(1),LABELSW SAVE VALUE OF LABELSW UL0H 04415017 MVC TMPLBLCT(1),LABELCNT SAVE CURRENT NO. OF LABELS UL0H 04415417 MVI OMSYSNLB,X'0F' FLAG AS HEADERS IN INPUT UL0H 04415617 B RET2SCAN SCAN CONTROL CARD THEN PROC UL0H 04415817 OMLBLTST CLI OMHDRSW,X'0F' HEADER RTN ON NON-PODS? UL0H 04425417 BE LABLMESG IF SO,ERROR UL0H 04426417 CLI OMTRLRSW,X'0F' TRAILER RTN ON NON-PODS? UL0H 04427417 BE LABLMESG IF SO,ERROR UL0H 04428417 CLI INPLCSW,X'0F' IS IT UPDATE=INPLACE UL0H 04437417 BNE OPENITUP IF NOT,OPEN DATA SET UL0H 04441417 CLI LABELSW,X'00' ANY LABELS IN INPUT STREAM UL0H 04442417 BNE LABLMESG IF SO, ITS AND ERROR UL0H 04443417 CLI TOTALSW,X'FF' TOTALING ON NON-PODS? UL0H 04446417 BNE OPENUPDT IF NOT,OPEN FOR UPDAT UL0H 04449417 B NOTOTPDS IF SO, ERROR UL0H 04452417 NOTRLBLI LA GR11,INPLBLMS TRAILERS NOT SUPPORTED UL0H 04454417 B SENDMSGQ PRINT MESSAGE UL0H 04456417 LABLMESG LA GR7,8 MESG BRANCH CONSTANT UL0H 04458417 SENDQUIT LA GR11,SEQDSMSG MESSAGE NUMBER UL0H 04460417 SENDMSGQ L GR15,PRIMEWRT ADDRESS OF LOG ROUTINE UL0H 04462417 BALR GR14,GR15 PRINT MESSAGE UL0H 04464417 B DEACTVCT DEACTIVATE EXITS AND QUIT UL0H 04466417 NOTOTPDS LA GR7,4 UL0H 04469417 B SENDQUIT SEND MESSAGE AND STOP PROC UL0H 04475417 NOTOTAL LA GR11,TOTNTSPT NO TOTAL ON UPDTA INPLACE 000I 04477418 B SENDMSGQ SEND ERROR MESSAGE 000I 04479418 OPENOM L GR3,DCBOM ADDRESS OLD MASTER DCB A34086 04480420 CLI PSSWOM,X'00' IS OLD MASTER SEQUENTIAL A34086 04481420 BNE OMLBLTST NO.. TEST FOR INVALID LBL REQ. A34086 04482420 MVI OMOPENSW,X'0F' ALLOW LABEL PROCESSING A34086 04483420 CLI INPLCSW,X'0F' UPDATE=INPLACE IN PROCESS A34086 04484420 BE OPENUPDT YES.. OPEN OLD MSTR FOR UPDATE A34086 04485420 OPENITUP CLI INPLCSW,X'0F' UPDATE INPLACE- NO NEW MASTEUL0H 04487417 MVC TESTLABL+1(1),LABELSW SAVE CURRENT VALUE OF SWITCHUL0H 04493417 MVC TMPLBLCT+1(1),LABELCNT SAVE CURRENT LABEL COUNT UL0H 04499417 MVC LABELSW(1),TESTLABL GET PREVIOUS VALUE OF SWITCHUL0H 04505417 MVC LABELCNT(1),TMPLBLCT SET FOR O.M. COUNT UL0H 04511417 L GR3,DCBOM ADDRESS OF OLD MASTER DCB 04520000 BE OPENUPDT YES- OPEN FOR UPDATE 04540000 TM BDSORG(GR3),PSDSET SEQUENTIAL DATA SET? @ZA06546 04550099 BNO OPENOM1 NO,BRANCH TO OPEN @ZA06546 04552099 NI 50(GR3),X'20' DELETE POINT MACR @ZA06546 04554099 OPENOM1 OPEN ((GR3)) OPEN OLD MASTER DATA SET @ZA06546 04560099 MVC LABELSW(1),TESTLABL+1 RETRIEVE CURRENT VALUE UL0H 04568017 OPENCHKT L GR1,DCBOM ADDRESS OF OLD MASTER DCB UL0H 04584017 MVI OMOPENSW,X'00' UL0H 04592017 LA GR3,PSSWOM PHYSICAL SEQUENTIAL SWITCH OM 04600000 LA GR7,SYSUT1NM DD NAME SYSUT1 OLD MASTER 04620000 LA GR10,STORBUFO RETURN FROM 'OPENCHEK' ROUTINE 04640000 OPENCHEK TM BOFLGS(GR1),X'10' WAS THERE AN OPEN ERROR 04660000 BZ BADOPEN YES 04680000 CLI IOBADSW,X'0F' I/O ERROR DURING LABEL PROCUL0H 04690017 BE DEACTVCT IF SO,PREPARE TO CLOSE UL0H 04700017 CLI LBLRETCD,X'10' HAS USER REQ TERMINATION UL0H 04710017 BE HEADRMSG IF SO,PREPARE TO TERMINATE UL0H 04720017 TM BDSORG(GR1),PODSET PARTITIONED DATA SET 04740000 BC 8,GTMAINON NO- LEAVE PSSWOM/NM 0 FOR PS 04760000 MVI 0(GR3),X'0F' SET OM OR NM AS PARTITIONED 04780000 GTMAINON LH GR0,BBLKSI(GR1) LOAD BLOCKSIZE SYSUT1 OR SYSUT2 04800000 GETMAIN R,LV=(GR0) 04820000 BR GR10 RETURN- BUFFER ADDRESS IN GR1 04840000 * * 04860000 * OPEN OLD MASTER DATA SET FOR UPDATE INPLACE * 04880000 * * 04900000 OPENUPDT L GR9,DSORGRTN GET ADDRESS OF DSORG CHECK ROUTINE 3341 04910016 BALR GR8,GR9 GO CHECK DSORG BEFORE OPEN 3341 04920016 CLI OMTRLRSW,X'0F' USER TRAILER ROUTINE UL0H 04922017 BE NOTRLBLI IF SO,ERROR UL0H 04924017 CLI NMTRLRSW,X'0F' TRAILER ROUTINE FOR SYSUT2 A36128 04924421 BE NOTRLBLI YES.. PRINT ERROR MESSAGE A36128 04924521 CLI TOTALSW,X'00' IS TOTALING REQUESTED 000I 04924618 BNE NOTOTAL IF SO, IT'S AN ERROR PTRUT61 04925318 MVI FRSTCOMD,X'FF' FLAG AS DCB OPEN UL0H 04926017 OPEN ((GR3),UPDAT) 3341 04930016 MVC LABELSW(1),TESTLABL+1 RETRIEVE CURRENT VALUE UL0H 04933017 MVC LABELCNT(1),TMPLBLCT+1 SET FOR N.M. COUNT UL0H 04936017 B OPENCHKT CHECK OPEN 04940000 BADCARD BAL GR14,PRINTCRD DATA CARD BEFORE FIRST COMMAND 04960000 BADSEQN LA GR11,SEQMSG SEQUENCE ERROR MESSAGE 04980000 B GIVENGO GIVE MESSAGE AND GO ON 05000000 DUMMYNM LA GR7,SYSUT2NM PUT DDNAME ADDR IN REG A25310 05010018 BADOPEN LA GR11,NTOPMSG CODE FOR MESSAGE 05020000 FINERRA BAL GR9,GIVEMESS GIVE MESSAGE 05040000 MVI HICONCDE+1,12 SET COND. CODE AND GET OUT A34087 05050020 FINERRA2 BAL GR14,DEACTV A25427 05060018 MVI COMDCD,X'00' RESET COMMAND SWITCH 4929 05070017 MVI FLUSHSW,X'0F' TURN FLUSH SWITCH ON 4929 05080017 B READCC 4929 05090017 STORBUFO ST GR1,OMREADP ADDRESS OF BUFFER ASSIGNED OLD 05100000 ST GR1,OMREADT INITIALIZE STARTING ADDRESS 05120000 CLI OMBLKERR,X'00' IS OLD MASTER BLOCKSIZE VALID 05140000 BE OPENNEW1 YES- OPEN NEW MASTER 05160000 LA GR3,OMBLOCKP OLD MASTER BLOCKING FACTOR 05180000 LA GR9,OPENNEW1 RETURN FROM MESSAGE BUILDING 05200000 LA GR7,OMDC ADDRESS OF 'OM' REFERENCE 05220000 * * 05240000 * WARNS USER BLOCKSIZE, LRECL ASSUMED 80/80 UNBLOCKED, FIXED * 05260000 * * 05280000 BILDMESS LA GR11,BLOKSMSG CODE FOR WARNING MESSAGE 05300000 LA GR6,1 05320000 STH GR6,0(GR3) ESTABLISH BLOCKING FACTOR OF 1 05340000 STH GR6,2(GR3) ESTABLISH TEMPORARY BLOCK AS 1 05360000 GIVEMESS L GR15,PRIMEWRT ADDRESS OF MESSAGE CSECT 05380000 BALR GR14,GR15 GIVE MANY DIFFERENT MESSAGES 05400000 BR GR9 RETURN USUALLY PROSSOM/OPENNEW1 05420000 * 05440000 * OPEN NEW MASTER DATA SET (SYSUT2) DCBNM 05460000 * 05480000 OPENNEW1 MVC SYS1RECL(2),LRECL SAVE SYSUT1 LOGICAL RECORD SIZE 05500000 CLI INPLCSW,X'0F' IS THERE A NEW MASTER 05520000 L GR11,DCBOM OLD MASTER DCB ADDRESS 05540000 BE PROSUPD SAVE OM FDAD IF UPDATE INPLACE 05560000 OPENNOW L GR3,DCBNM ADDRESS OF NEW MASTER DCB 05660000 L GR9,DSORGRTN GET ADDRESS OF DSORG CHECK ROUTINE 3341 05666016 BALR GR8,GR9 GO CHECK DSORG BEFORE OPEN 3341 05672016 CLI PSSWNM,X'00' IS N.M. PHYSICAL SEQUENTIALUL0H 05673017 BE PREOPEN2 IF SO,PREPARE TO OPEN UL0H 05674017 NMLBLTST CLI NMHDRSW,X'0F' HEADER RTN ON NON-PODS? UL0H 05675017 BE LABLMESG IF SO,ERROR UL0H 05676017 CLI NMTRLRSW,X'0F' TRAILER RTN ON NON-PODS? UL0H 05677017 BE LABLMESG IF SO,ERROR UL0H 05678017 CLI LABELSW,X'00' IS LABEL PROCESSING REQ UL0H 05679017 BNE LABLMESG IF SO,ERROR UL0H 05680017 CLI TOTALSW,X'FF' TOTALING ON NON-PODS? UL0H 05681017 BE NOTOTPDS IF SO,ERROR UL0H 05682017 B OPENSUT2 IF NOT,PROCESS OPEN UL0H 05683017 PREOPEN2 MVI NMOPNSWT,X'1F' UL0H 05684017 MVI FRSTCOMD,X'FF' UL0H 05685017 CLI LABELSW,X'10' LABELS IN INPUT STREAM UL0H 05686017 BNE OPENSUT2 IF NOT,OPEN DIRECTLY UL0H 05687017 MVI OMSYSNLB,X'0F' UL0H 05688017 OPENSUT2 OPEN ((GR3),OUTPUT) 05692018 MVI NMOPNSWT,X'00' RESET OPEN SWITCH UL0H 05696017 MVC LABELCNT(1),TMPLBLCT+1 SET FOR TRAILER CT A24428 05698018 L GR1,DCBNM ADDRESS OF NEW MASTER DCB 05700000 LA GR3,PSSWNM PHYSICAL SEQUENTIAL SWITCH NM 05720000 LA GR7,SYSUT2NM DD NAME SYSUT2 NEW MASTER 05740000 BAL GR10,OPENCHEK TEST FOR OPEN ERROR 05760000 ST GR1,NMWRITEP STORE ADDRESS OF BUFFER SYSUT2 05780000 ST GR1,NMWRITET INITIALIZE STARTING ADDRESS 05800000 BAL GR8,EXTNTCHK CHECK EXTENTS 5324 05810017 TM NMBLKERR,X'01' BLOCKING FACTOR ERROR? @ZA28493 05820099 BZ PROSSOM NO- START PROCESSING @ZA28493 05827099 TM NMBLKERR,X'80' ERROR ON AN OLD D/S? @ZA28493 05834099 BZ NOTNMOLD NO,GIVE WARNING MSG @ZA28493 05841099 LA GR7,SYSUT2NM YES,GIVE ERROR MSG @ZA28493 05848099 B BADOPEN AND QUIT @ZA28493 05855099 NOTNMOLD LA GR3,NMBLOCKP NM BLOCKING FACTOR @ZA28493 05862099 LA GR7,NMDC ADDRESS OF 'NM' REFERENCE 05880000 BAL GR9,BILDMESS GIVE MESSAGE 05900000 * * 05920000 * START OF PROCESSING AFTER DATA SETS ALL OPENED AND * 05940000 * SOME SYSIN RECORDS READ AND ANALYSED. * 05960000 * * 05980000 PROSSOM CLI OPENSW,X'0F' DCBHS OPEN YET 6339 05990017 BE OPENTHEM NO-- GO OPEN THEM 6339 06000017 L GR11,DCBNM NEW MASTER DCB 6339 06010017 CLI LABEL2SW,X'F0' PROCESSING USER LABELS UL0H 06012017 BNE PROSUPD IF NOT,PROCESS RECORD UL0H 06014017 MVI LABEL2SW,X'00' RESET LABEL PROCESSING SWT UL0H 06016017 B RET2SCAN UL0H 06018017 PROSUPD MVI FLUSHSW,RESET0 CLEAR FLUSH SWITCH 06020000 MVI STARTMEM,X'0F' HAVE STARTED MEMBER UPDATE 06040000 MVC FDADSET(8),BFDAD(GR11) SAVE FDAD IN CASE MEMBER BLOWS 06060000 MVC TRKBAL(2),TRBAL(GR11) SAVE TRACK BALANCE 5666 06070016 XC LASTCTRC(8),LASTCTRC CLEAR CT SEQUENCE NUMBER BUFFER 06080000 XC LISTAREA(80),LISTAREA CLEAR LIST AREA 06100000 TM CTONLYSW,X'11' IS THERE AN OLD MASTER A30480 06120020 BM TESTCONS NO.. TEST IF TO NEXT MEMBER A30480 06140020 CLI INPLCSW,X'0F' UPDATE INPLACE 06160000 BE PROSSOMX YES,CHECK FOR SEQUENTIAL OR REPRO 4696 06180015 CLC SYS1RECL(2),BLRECL(GR11) IS OM AND NM RECORD SIZE SAME 06200000 BE PROSSOMX YES- CONTINUE 06220000 LA GR11,SIZEBAD LRECL SYSUT1 AND SYSUT2 UNEQUAL 06240000 B FINERRA GIVE MESSAGE AND QUIT 06260000 TESTCONS CLI FIRSENTR,X'0F' START OF NEXT COMMAND 06280000 BE RESETRD YES- GET MORE SYSIN 06300000 B CHKADREP NO OLD MASTER- FINISH PROCESSING 06320000 BADDELET LA GR11,DELMSG INVALID DELETE RANGE MESSAGE 06340000 B GIVENGO GIVE MESSAGE- FLUSH MEMBER 06360000 AMESS BAL GR9,GIVEMESS GIVE MESSAGE 06380000 INVALOP LA GR11,ERROP INVALID OPERATION 06400000 GIVENGO BAL GR9,GIVEMESS GIVE MESSAGE 06420000 MVI TEMPCON,X'04' SET TEMPORARY CONDITION CODE 06440000 B CHKIFEND CONTINUE IF POSSIBLE 06460000 OUTOFSEQ LA GR3,SWITCHRD+1 ADDRESS OF STATEMENT @YA02584 06520002 B BADCARD LIST BAD STATEMENT THEN MESSAGE 06540000 PROSSOMX CLI PSSWOM,X'00' IS OLD MASTER SEQUENTIAL 06560000 BE READSW1 YES- SKIP LIST BUILD 06580000 TM REPROSW,X'0F' FIRST ENTRY TO REPRO 06600000 BC 8,NOREPRO NO REPRO AT ALL 06620000 BC 4,READOM NOT FIRST REPRO 06640000 RESTREPO MVI REPROSW,X'0E' RESET REPRO SWITCH 06660000 NOREPRO MVC LISTAREA+4(8),MEMNAME MOVE MEMBER NAME TO LIST AREA 06680000 MVC LISTAREA(4),SIZELIST MOVE SIZELIST CONSTANT 72 BYTES 06700000 CLI BLDFNDSW,X'0E' HAVE DONE BLDL FOR THIS MEMB? 2163 06706018 BE READOM YES,CONTINUE READING FROM OM 2163 06712018 L GR1,DCBOM ADDRESS OF DCB 06720000 BLDL (GR1),LISTAREA 06740000 STC GR15,TEMP STORE RETURN CODE FROM BLDL 06760000 MVI BLDFNDSW,X'0E' MARK BLDL AS DONE 2163 06770018 CLI TEMP,X'00' IS MEMBER NAME IN OM DIRECTORY 06780000 BE CHECKADD YES- SEE IF TRYING TO ADD NAME 06800000 CLI TEMP,X'04' IS MEMBER NAME MISSING 06820000 BE CHECKNA YES- SEE IF TRYING TO ADD NAME 06840000 BLDLERR LA GR11,BLDLMSG GET ADDRESS OF BLDL I/O ERR MSG A27716 06860019 B FINERRA GO PRINT MESSAGE A27716 06880019 FINDERR LA GR11,FINDMSG GET ADDRESS OF FIND I/O ERR MSG A27716 06900019 B FINERRA GO PRINT MESSAGE A27716 06920019 CHECKADD CLI ADDSW,X'00' IS ADD SWITCH ON 06940000 BE FINDIT NO- NAME IS THERE SO IS OK 06960000 LA GR11,STOWMSGN MESSAGE NUMBER NAME FOUND MESSG 06980000 B MESGNOW CANNOT ADD IF IT IS FOUND 07000000 CHECKNA TM ADDSW,X'0E' IS ADD SWITCH ON 07020000 BC 1,TESTCONS TEST IF NEXT MEMBER 07040000 LA GR11,STOWMSGT MEMBER NAME NOT FOUND 07060000 MESGNOW LA GR7,MEMNAME ADDRESS OF MEMBER NAME 07080000 MVI ASISMSW,X'0E' FORCE SPECIAL MESSAGE BUILDING 07100000 B AMESS NAME IS MISSING REPRO/REPL/CHNGE 07120000 FINDIT LA GR0,LISTAREA+12 GET ADDRESS OF TTRK OF MEMBER A30625 07160020 L GR1,DCBOM ADDRESS OF OLD MASTER DCB 07200000 FIND (GR1),(GR0),C 07220000 STC GR15,TEMP STORE FIND RETURN CODE 07240000 CLI TEMP,X'00' I/O ERROR IF NOT SUCCESSFUL 07260000 BNE FINDERR A27716 07280019 TM LISTAREA+17,X'80' TEST IF ALIAS BIT SET 07300000 BC 8,TESTCMDX NO- CONTINUE 07320000 CLI PSSWNM,X'00' IS DATA SET PHY. SEQ. UL0H 07326017 BE TESTCMDX IF SO,NO ALIAS MSG UL0H 07332017 LA GR11,ALTTRUE ADDRESS OF MESSAGE CODE 07340000 NI LISTAREA+17,X'7F' RESET ALIAS BIT 07360000 BAL GR9,GIVEMESS GIVE ALIAS TO TRUE MESSAGE 07380000 TESTCMDX CLI FIRSENTR,X'0F' START OF NEXT COMMAND 07400000 BE RESETRD YES- RESET SWITCH AND READCC 07420000 TM CHNGESW,X'0E' TEST IF COMMAND IS CHANGE 07440000 BC 1,READSW1 YES- READ OLD MASTER FIRST TIME 07460000 TM REPROSW,X'0E' TEST IF COMMAND IS REPRO 07480000 BC 1,READSW1 YES- READ OLD MASTER FIRST TIME 07500000 B CHKADREP ADD OR REPLACE- CT TO NEW MASTER 07520000 READOM CLI READNOOM,X'0F' SHOULD ANOTHER OM RECORD BE READ 07540000 BE CHKOP NO- HAVE NOT PROCESSED LAST ONE 07560000 TM CHNGESW,X'0E' CHANGE FUNCTION 07580000 BC 7,OKONTOOM YES- CONTINUE READ OLD MASTER 07600000 TM REPROSW,X'0E' REPRO FUNCTION 07620000 BC 8,CHKADREP NO- SHOULD NOT BE HERE ADD/REPL 07640000 OKONTOOM TM MULTI,X'0F' IS THIS SECOND PASS 1796 07650018 MVI MULTI,X'00' TURN OFF SWITCH 1796 07668014 BO READSW1 YES-READ OLD MASTER 1796 07676014 LH GR15,OMBLOCKT LOAD TEMPORARY BLOCKING FACTOR 1796 07684014 BCT GR15,RRLBOM DONT READ TILL ALL PROCESSED1796 07692014 * * 07700000 * READ OLD MASTER RECORDS * 07720000 * * 07740000 READSW1 L GR8,OMREADP LOAD START OF BUFFER 07760000 L GR3,DCBOM ADDRESS OF OM DCB 07780000 MVC OMBLOCKT(2),OMBLOCKP INITIALIZE BLOCKING FACTOR 07800000 ST GR8,OMREADT STORE POINTER TO START 07820000 CLI REPLUPDT,X'0F' NEW RECORD IN BLOCK TO WRITE 07840000 BE WRTEREPR YES- WRITE THIS BLOCK 07860000 MVI DECBOM+5,X'80' RESTORE READ CODE IN DCB 07920000 TM BLDFNDSW,X'0F' MAKE SURE A BLDL WAS DONE 2163 07922018 * FOR THIS MEMBER 2163 07924018 BO NOREPRO 2163 07926018 MVI MULTI,X'00' SET SW TO FINISH PROC THIS BLK 2653 07930018 READ DECBOM,SF,(GR3),(GR8),'S' 07940000 CHECK DECBOM 07960000 MVI OMEODX+1,X'F0' MARK OLD MASTER NOT EMPTY A36095 07960421 CLI NMSYSNLB,X'0F' WERE EOV LABELS SAVED? UL0H 07962017 BNE RDRET16 IF SO,FLAG AS NON-TRANSMIT-UL0H 07964017 MVI NMSYSNLB,X'00' TABLE TO SYSUT2 UL0H 07966017 RDRET16 CLI LBLRETCD,X'10' DID USER EXT RTN REQ TERM? UL0H 07968017 BE HEADRMSG IF SO,PRINT MSG AND QUIT UL0H 07971017 CLI IOBADSW,X'F0' DID AN I/O ERROR OCCUR UL0H 07974017 BE DEACTVCT IF SO PREPARE TO QUIT UL0H 07977017 L GR14,DECBOM+16 ADDRESS OF OLD MASTER IOB 07980000 LH GR14,14(GR14) RESIDUAL COUNT 08000000 LTR GR14,GR14 TEST IF ANY RESIDUAL COUNT 08020000 BZ NOTSHORT NO- CONTINUE 08040000 L GR10,DCBOM ADDRESS OF OLD MASTER DCB 08060000 LH GR15,BBLKSI(GR10) LOAD BLOCKSIZE 08080000 SR GR15,GR14 LENGTH OF RECORDS READ 08100000 SR GR14,GR14 08120000 STH GR15,SHRTBLK SAVE NEW BLKSIZE FOR WRITE INPLACE3628 08140015 LH GR3,BLRECL(GR10) LOGICAL RECORD LENGTH 08160000 DR GR14,GR3 COMPUTE VALID RECORD COUNT 08180000 MVC OMBLOCKT(2),OMBLOCKP MAXIMUM BLOCK FORCES RRLBOM CODE 08200000 MVI SHORTBLK,X'0F' FLAG AS SHORT BLOCK 08220000 B OKRECORD PROCESS LAST (SHORT) BLOCK 08240000 RRLBOM STH GR15,OMBLOCKT STORE TEMPORARY BLOCK FACTOR 08260000 CLI SHORTBLK,X'00' SHORT BLOCK 08280000 BE NOTSHORT NO- CONTINUE 08300000 LH GR15,VALIDREC ACTUAL VALID RECORD COUNT 08320000 BCT GR15,OKRECORD BRANCH IF RECORDS TO PROCESS 08340000 MVI SHORTBLK,RESET0 CLEAR SHORT BLOCK SWITCH 08360000 B READSW1 READ NEXT OLD MASTER RECORD A34087 08390020 OKRECORD STH GR15,VALIDREC STORE NEW VALID RECORD COUNT 08420000 NOTSHORT L GR14,OMREADT ADDRESS OF LOGICAL RECORD 08440000 LR GR7,GR14 SAVE POINTER TO PRESENT RECORD 08460000 ST GR14,LASTRECB POINTER TO LAST RECORD PROCESSED 08480000 LH GR1,LRECL LOAD LOGICAL RECORD LENGTH 08500000 AR GR14,GR1 POINT TO NEXT RECORD 08520000 LA GR6,OMINAREA OLD MASTER WORK AREA 08540000 ST GR14,OMREADT ADDRESS OF NEXT RECORD TO USE 08560000 BCTR GR1,0 DECREMENT FOR EXECUTE MVC 08580000 EX GR1,MOVEPART MOVE RECORD TO WORK AREA 08600000 LH GR8,IDENTXX COLUMN WITH SEQUENCE NUMBER 08620000 LH GR9,IDENTY SIZE OF SEQUENCE NUMBER 08640000 AR GR8,GR6 POINT TO SEQUENCE NUMBER FIELD 08660000 BCTR GR9,0 DECREMENT FOR EXECUTE 08680000 EX GR9,CHKSEQNB TEST FOR BLANK SEQUENCE NUMBER 08700000 BNE CHKOP NO- CONTINUE 08720000 TM CHNGESW,X'0E' CHANGE OPERATION YA01188 08730002 BZ BYPASS IF NOT, TEST RENUMBERING YA01188 08732002 MVI DONOTRDC,X'0F' SET SWITCH NOT READ SYSINYA01188 08734002 BYPASS CLI RENUMALL,X'0F' RENUMBER ALL CARDS YA01188 08740002 BE NUMBRCD YES- GIVE BLANK SEQ A NUMBER 08760000 B TESTLIST WRITE LAST RECORD 08780000 CHKOP TM CHNGESW,X'0E' IS COMMAND TYPE CHNGE 08800000 BC 1,CHNGCOMD YES- CANNOT WRITE DIRECTLY 08820000 TM REPROSW,X'0E' REPRODUCE DATA SET OR MEMBER 08840000 BC 1,TESTLIST YES- COPY EXACTLY AS IT IS 08860000 CHKADREP LA GR6,SWITCHRD+1 ADDRESS INPUT CARD REPL/ADD 08880000 MVI READNOOM,X'0F' READ NO MORE FROM OLD MASTER 08900000 CLI NUMBRSW,X'0F' NUMBERING TO BE DONE 08920000 BE NUMBRCD YES- NUMBER CARD 08940000 B TESTLIST NO- LIST AND WRITE AS IS 08960000 * * 08980000 * NUMBERS RECORD- GR6 POINTER TO RECORD * 09000000 * * 09020000 SETNUM1 OI SEQ1SW,X'F0' SET SEQ1 SATISFIED- NUMBER 09040000 MVI READNOOM,RESET0 CLEAR DONOT-READ OM SW A23927 09046018 NUMBRIT LR GR6,GR10 ENTRY FROM ENTNUMB ROUTINE 09060000 NUMBRCD L GR7,SEQWA NEW OR INCREMENTED SEQUENCE 09080000 LH GR3,IDENTXX SEQUENCE START COLUMN 09100000 CVD GR7,TEMP SEQUENCE NUMBER IN DECIMAL 09120000 LH GR1,IDENTY SEQUENCE SIZE 09140000 LA GR7,LASTSEQN LAST SEQUENCE NUMBER WRITTEN 09160000 CLI IDENTN+D1,RESET0 NUMERIC SEQFLD SPECIFIED YM07522 09162002 BNE UPKNSET YES YM07522 09164002 LA GR8,L8 MAXIMUM SEQ NO SIZE YM07522 09165002 SR GR8,GR1 SEQ NO OFFSET YM07522 09165202 AR GR7,GR8 PT TO PERTINENT FIELD YM07522 09165402 B UPKSQN CONTINUE YM07522 09165602 UPKNSET MVC D0(L8,GR7),NEW1NUMB SET ALPHANUMERIC SEQ NO YM07522 09166002 LA GR7,L7(GR7) GET NUMERIC PORTION YM07522 09168002 SH GR7,NUMOFFST YM07522 09170002 IC GR1,IDENTN+D1 GET SIZE YM07522 09172002 UPKSQN BCTR GR1,GR0 SUBTRACT 1 YM07522 09174002 SLL GR1,B4 SHIFT FOR EXECUTE YM07522 09176002 EX GR1,UPKSN SET UP NUMERIC PORTION YM07522 09178002 SRL GR1,B4 RESTORE LENGTH YM07522 09180002 AR GR7,GR1 ENSURE LAST DIGIT IS YM07522 09182002 OI D0(GR7),DIGIT * VALID YM07522 09184002 LA GR7,LASTSEQN RESTORE LAST SEQ NO PTR YM07522 09186002 LH GR1,IDENTY RESTORE SIZE YM07522 09188002 LA GR8,8 MAXIMUM SEQUENCE NUMBER SIZE (8) 09220000 LR GR10,GR6 SAVE POINTER TO START OF CARD 09240000 SR GR8,GR1 OFFSET SEQUENCE NUMBER REFERNCE 09260000 AR GR7,GR8 PICK UP PERTINENT PART OF NUMBER 09280000 AR GR6,GR3 ID COLUMN IN RECORD 09300000 L GR11,SEQWA LAST SEQUNCE NUMBER 09320000 BCTR GR1,0 DECREMENT FOR EXECUTE 09340000 TM INSERTSW,X'30' INSERT WITH FORCED RENUMB? @YA02533 09360002 BC 5,TESTIT BRANCH TO TEST IF CONT RENUM @YA02533 09380002 CLI INSERTSW,X'0E' FORCING INSERT IF '0E' 09400000 BNE NUMBNORM NOT '0E'- NUMBER CARD AS USUAL 09420000 TESTIT EX GR1,COMPARES COMPARE SEQ (7) TO RECORD (6) 09440000 BNH RESETNS INPUT HIGH STOP FORCING RENUMBER 09460000 NUMBNORM CLI FSTINSRT,X'00' FIRST DATA RECORD AFTER A25432 09466019 * A ./ NUMBER WITH INSERT=YES ? A25432 09472019 BNE GOON NO,DON'T SET SWITCH AGAIN A25432 09478019 CLI INSERTSW,X'1F' INSERT=YES 2:ND TIME @ZA07377 09480099 BE GOON YES,BRANCH @ZA07377 09482099 TM INSERTSW,X'0F' INSERT=YES? @ZA07377 09484099 BNO GOON NO,BRANCH @ZA07377 09484799 MVI FSTINSRT,X'0F' 1ST DATA REC IS PROCESSED @ZA32389 09485499 TM INSERTSW,X'30' INSERT WITH FORCED RENUMB? @ZA07377 09486899 BC 5,GOON YES,BRANCH @ZA07377 09488099 LR GR8,GR6 POINTER TO SEQUENCE FIELD @ZA07377 09488499 EX GR1,CHKSEQNB TEST FOR BLANK SEQ NUMBER @ZA07377 09488899 BNE STOPINST NOT BLANK SEQ, BRANCH @ZA07377 09489299 GOON EX GR1,MOVEPART MOVE NEW SEQ NUMBER TO CARD @ZA29907 09490099 LR GR6,GR10 RELOAD POINTER TO START OF CARD 09500000 A GR11,INCREMWA ADD INCREMENT FACTOR 09520000 ST GR11,SEQWA NEXT SEQUENCE NUMBER 09540000 CLI INSERTSW,X'0F' INSERT OPTION 09560000 BNE TESTLIST WRITE LAST RECORD 09580000 TM SEQ1SW,X'F0' SEQUENCE 1 SATISFIED 09600000 BC 8,TESTLIST NO- CONTINUE TO WRITE OLD MASTER 09620000 LA GR9,OMINAREA OLD MASTER BUFFER 09640000 CR GR6,GR9 READY TO WRITE OLD MASTER 09660000 BE TESTLIST YES- JUST STARTING BLOCK INSERT 09680000 MVI DONOTRDC,RESET0 ALLOW READING OF SYSIN 09700000 MVI INSRTRD,X'0F' FLAG AS INSERT READ PROTECT GR9 09720000 BAL GR9,READCC GET NEXT CARD TO INSERT 09740000 WRTINSRT LA GR6,SWITCHRD+1 BUFFER ADDRESS SYSIN RECORD LAST 09820000 ST GR3,NEXTINSR POINTER TO NEXT SYSIN RECORD 09840000 B TESTLIST WRITE LAST RECORD 09860000 RETRINST CLI FINICCS,X'0F' MORE SYSIN 09880000 BE INSTDONE FINISH UP SYSIN 09900000 L GR3,NEXTINSR GET ADDRESS OF NEXT RECORD 09920000 LA GR6,SWITCHRD+1 START OF RECORD BUFFER 09940000 MVC 0(80,GR6),0(GR3) MOVE RECORD TO BUFFER 09960000 CLC 0(2,GR3),DOTSLASH IS INPUT A CONTROL STATEMENT 09980000 BNE INSRTANY ANALYSE SEQUENCE FIELD IF BLANK 10000000 LA GR10,RESCANIT RETURN FROM INSRTOVR ./ NEXT 10020000 B INSRTOVR END BLOCK INSERT WHEN ./ READ 10040000 * * 10060000 * LIST THEN WRITE RECORD- RENUMBER IF NECESSARY * 10080000 * * 10100000 TESTRCD CLI DELETSW,X'0F' IS DELETE IN EFFECT 5944 10106017 BE DELETCK YES, GO CHECK SEQ TO DELETE 5944 10112017 LISTREC CLI NUMBRSW,X'0F' NUMBERING TO BE DONE 10120000 BE NUMBRCK YES 10140000 TESTLIST TM CHNGESW,X'0F' IS THIS A CHANGE OPERATION M3410 10141018 BZ NOTEST1 NO , SKIP THE TEST M3410 10142018 CLI REPSW,X'0F' REPLACE,ALREADY PRINTED YA01187 10142402 BE RENUMFOR YES,AVOID PRINTING TWICE @YA02533 10142802 CLI REPSW,X'FF' PARTIALLY UPDATED YA01187 10146802 BNE CONTINU NO,CONTINUE NORMAL PROC YA01187 10149602 MVC LOGOUTAR+15(80),0(GR6) MOVE UPDATED CARD TO PRINTA01187 10150402 MVC LOGOUTAR+95(25),UPDTMS MOVE UPDATING MESS YA01187 10152702 MVI ASISMSW,X'0F' INDICATE RECORD TO PRINT YA01187 10153602 B PRINTMOD GO TO PRINT ROUTINE YA01187 10154602 RENUMFOR CLI INSERTSW,X'0E' RENUMBERING FORCED? @YA02533 10156502 BNE DONOTPRT NO,BRANCH TO WRITE @YA02633 10157102 CONTINU LR GR9,GR6 SAVE REGISTER CONTENTS M3410 10157702 AH GR6,IDENTXX POINT TO SEQUENCE FIELD A24812 10158402 LA GR7,OLDOMSEQ LAST NM SEQUENCE FIELD A24812 10159402 LH GR1,IDENTY LENGTH OF SEQUENCE FIELD A24812 10161002 BCTR GR1,0 DECREMENT FOR EXECUTE A24812 10164002 EX GR1,COMPARES COMPARE SEQUENCE NUMBERS A24812 10165002 * OF LAST RECORD WRITTEN TO A24812 10167002 * RECORD TO BE WRITTEN A24812 10168002 BL GOODSEQ BRANCH IF LOW A24812 10170002 LR GR3,GR9 PUT RECORD ADDR IN REG A24812 10172002 BAL GR14,PRINTCRD PRINT CARD A48737 10173002 B INVALOP GO TO MSG RTN A48737 10174002 GOODSEQ MVC OLDOMSEQ(8),0(GR6) SEQUENCE OF RECORD TO BE A24812 10176002 * WRITTEN A24812 10179018 LR GR6,GR9 RESTORE REGISTER A24812 10182018 TM INSERTSW,X'20' RECORD TO BE MERGED? @YA02533 10182102 BO MERGRENU YES,BRANCH TO GIVE MSG @YA02533 10182202 TM INSERTSW,X'10' RENUMBERING FORCED YA01187 10182402 BO RENUMFC RENUMBER YA01187 10183902 CLI INSERTSW,X'0E' RENUMBERING FORCED YA01187 10184402 BNE CHKINSRT NO,GIVE NO MESSAGE YA01187 10186402 RENUMFC CLI REPSW,X'0F' REPLACE GIVEN? @YA02533 10187602 BNE MOVEOLD NO,BRANCH TO GIVE OLD RECORD @YA02533 10187702 MERGRENU MVC LOGOUTAR+15(80),SWITCHRD+1 MOVE NEW RECORD @YA02533 10187802 NI INSERTSW,X'DF' RESET INSERT RENUM SW @YA02533 10188002 B MOVEMSG GIVE MSG RENUMB FORCED @YA02533 10188802 MOVEOLD MVC LOGOUTAR+15(80),OMINAREA MOVE OLD RECORD @YA02533 10189602 MOVEMSG MVC LOGOUTAR+95(25),RENUMMS SET MESSAGE RENUMBER @YA02533 10190602 MVI ASISMSW,X'0F' SET SWITCH FOR PRINT YA01187 10191202 B PRINTMOD PRINT CARD YA01187 10192602 CHKINSRT CLI READNOOM,X'0F' SYSIN RECORD YA01187 10193602 BNE NOTEST1 NO,BYPASS INSERT PRINTINGYA01187 10194602 MVC LOGOUTAR+95(25),INSERTMS MOVE INSERT MESSAGE YA01187 10196302 LA GR6,SWITCHRD+1 ADDRESS OF SYSIN RECORD @YA02533 10198702 SHRTPRT LH GR1,LRECL LOAD RECORD LENGTH YA01187 10199302 BCTR GR1,0 SUBTRACT ONE BEFORE EXEC YA01187 10200002 LA GR7,LOGOUTAR+15 LOAD PRINT BUFFER YA01187 10201002 EX GR1,LOGMOVE MOVE CARD TO BUFFER YA01187 10202002 MVI ASISMSW,X'0F' SET SWITCH TO PRINT CARD YA01187 10203002 PRINTMOD L GR15,PRIMEWRT LOAD PRINT MODULE YA01187 10204002 BALR GR14,GR15 BRANCH TO PRINT ROUTINE YA01187 10205002 TM INSERTSW,X'20' INSERT RENUM SW SET? @YA02533 10206002 BNO DONOTPRT NO,GO TO WRITE RECORD @YA02533 10207002 B NUMBRCD BRANCH TO RENUMBER @YA02533 10208002 NOTEST1 CLI REPSW,X'0E' REPLACED RECORD LISTED? @ZA01683 10208402 BE SHRTPRT YES PRINT REPLACEMENT @ZA01683 10208802 CLI FLLISTSW,X'01' IS FULL LIST TO BE GIVEN @ZA01683 10209002 BNE DONOTPRT A24812 10210002 TM CHNGESW,X'0F' CHANGE OPERATION YA01187 10211002 BC 7,SHRTPRT YES,PRINT NORMAL LIST=ALLYA01187 10212002 LH GR1,LRECL LOGICAL RECORD LENGTH 10213002 BCTR GR1,0 DECREMENT FOR EXECUTE MVC 10220000 LA GR7,LOGOUTAR+40 ADDRESS OF PRINT BUFFER 10240000 * GR6 POINTS TO RECORD TO BE MOVED * 10260000 EX GR1,LOGMOVE MOVE RECORD TO PRINT BUFFER 10280000 MVI ASISMSW,X'0F' SET SWITCH TO PRINT RECORD 10300000 L GR15,PRIMEWRT ADDRESS OF MESSAGE WRITER 10320000 BALR GR14,GR15 PRINT RECORD 10340000 DONOTPRT MVI REPSW,X'00' RESET SWITCH REPLACE /UPDATE YA01187 10380002 CLI INPLCSW,X'0F' IS THIS UPDATE INPLACE 1796 10390001 BE PUTINPLA YES- PUT RECORD IN PLACE 10420000 LH GR15,NMBLOCKT LOAD TEMPORARY BLOCKING FACTOR 10440000 L GR14,NMWRITET WRITE BLOCK OR RECORD NOW 10460000 LH GR1,LRECL SIZE OF LOGICAL RECORD 10480000 BCTR GR1,0 DECREMENT FOR EXECUTE OF MVC 10500000 LR GR7,GR14 PUT ADDRESS IN PROPER REGISTER 10520000 EX GR1,LOGMOVE MOVE RECORD TO BUFFER 10540000 MVI NMBUFFR,X'0F' SET SWITCH RECORDS IN NM BUFFER 10560000 BCT GR15,BLOCKIT BRANCH IF NOT FULL BLOCK 10580000 MVC NMBLOCKT(2),NMBLOCKP RESTORE BLOCKING FACTOR 10600000 NMLSTWRT L GR9,NMWRITEP START OF NEW MASTER RECORD 10620000 L GR6,DCBNM ADDRESS OF DCB 10640000 ST GR9,NMWRITET STORE POINTER TO START 10660000 NMTOTCHK CLI TOTALSW,X'FE' IS TOTALING REQUESTED UL0H 10670017 BNL NMTOTRTN IF SO,GIVE USER RTN CONTROLUL0H 10680017 WRITENM WRITE DECBNM,SF,(GR6),(GR9),'S' UL0H 10690017 CLI LBLRETCD,X'10' USER LABEL RETURN CODE = 16 UL0H 10693017 BE HEADRMSG IF SO, PRINT MSG AND TERMM UL0H 10696017 CLI NMBUFFR,X'01' LAST WRITE NEW MASTER 10700000 BE CHECK YES- RETURN SET IN GR7 10720000 LA GR9,CHECK LOAD RETURN ADDRESS FROM ROUTINE 10740000 CHECKRET CLI INSRTRD,X'0F' WRITING INSERT RECORDS 10760000 BE SETUP7 YES- PROCESS MORE INSERT RECORDS 10780000 TM REPROSW,X'0E' REPRODUCING FROM OLD MASTER 10800000 BC 1,SETRET7 YES- READ OLD MASTER 10820000 LA GR7,READCC RETURN FOR MORE SYSIN CARDS 10840000 BR GR9 RETURN FROM ROUTINE 10860000 SETRET7 LA GR7,READOM READ OLD MASTER RETURN SET 10880000 BR GR9 RETURN FROM ROUTINE 10900000 SETUP7 LA GR7,RETRINST RETURN TO PROCESS INSERT 10920000 BR GR9 MAY GO TO BLOCKIT NOT CHECK 10940000 NMTOTRTN CLI PSSWNM,X'00' IS DATA SET PHY. SEQ UL0H 10940717 BNE NOTOTPDS IF NOT,ERROR UL0H 10941417 CLI TOTALSW,X'FF' FIRST ENTRY TO USER UL0H 10942117 BNE USRTOTAL IF NOT,BYPASS MESG UL0H 10942817 MVI TOTALSW,X'FE' FLAG AS NOT FIRST ENTRY UL0H 10943517 LA GR11,TOTENTMS MESSAGE CONSTANT UL0H 10944217 L GR15,PRIMEWRT ADDRESS OF LOG ROUTINE UL0H 10944917 BALR GR14,GR15 GIVE MESSAGE UL0H 10945617 USRTOTAL LA GR1,TOTLPARM ADDRESS OF TOTAL PARAMETRS UL0H 10946317 ST GR9,TOTLPARM PLACE BUFFER ADDR IN PRMLST000I 10946618 L GR15,TOTALADR USER ROUTINE ADDRESS UL0H 10947017 BALR GR14,GR15 GIVE USER CONTROL UL0H 10947717 STH GR15,TOTRTNCD STORE USER RETURN CODE UL0H 10948417 CLC TOTRTNCD(2),SIXTEEN RC=16 UL0H 10949117 BNL TOT16TRM IF SO, PREPARE TO TERMINATE 000H 10949818 CLC TOTRTNCD(2),EIGHT RC=8 UL0H 10950517 BE TOT08TRM IF SO, CLOSE IT UP 000H 10951218 CLC TOTRTNCD(2),FOUR+2 RC=4 UL0H 10951917 BE WRITENM THEN WRITE RECORD UL0H 10952617 MVI TOTALSW,X'00' DISCONTINUE TOTALING UL0H 10953317 CLC TOTRTNCD(2),ZERO RC=0 UL0H 10954017 BE ZERORTCD IF SO,PRINT RC MSG UL0H 10954717 LA GR11,TOTBDRCD INVALID RETURN CODE MSG UL0H 10955417 B TERMMESG PRINT MSG UL0H 10956117 ZERORTCD LA GR11,TOTTERM TOTAL TERM MSG UL0H 10956817 TERMMESG L GR15,PRIMEWRT LOG ROUTINE ADDRESS UL0H 10957517 BALR GR14,GR15 GIVE MESSAGE UL0H 10958217 B WRITENM WRITE RECORD UL0H 10958917 TOT16TRM LA GR11,TOTTERM PREPARE TO PRINT TERM MESSAG000H 10959018 L GR15,PRIMEWRT ADDRESS OF LOG ROUTUNE 000H 10959118 BALR GR14,GR15 PRINT MESSAGE 000H 10959218 B DEACTVCT PREPARE TO DEACTIVATE EXITS 000H 10959318 TOT08TRM LA GR11,TOTTERM PREPARE TO PRINT TERM MESSAG000H 10959418 L GR15,PRIMEWRT ADDRESS OF LOG ROUTUNE 000 10959518 BALR GR14,GR15 PRINT MESSAGE 000H 10959618 B LASTLEG PREPARE TO EXIT 000H 10959718 CHECK CHECK DECBNM WAIT FOR END OF WRITE 10960000 RTRN BR GR7 RETURN TO PROPER ROUTINE 5324 11010017 BLOCKIT STH GR15,NMBLOCKT STORE REMAINING RECORD/BLOCK CNT 11020000 L GR6,DCBNM ADDRESS OF NEW MASTER DCB 11040000 LH GR6,BLRECL(GR6) OBTAIN LOGICAL RECORD LENGTH 11060000 AR GR14,GR6 POINTER TO NEXT RECORD SLOT 11080000 ST GR14,NMWRITET ADDRESS FOR NEXT RECORD 11100000 BAL GR9,CHECKRET ESTABLISH RETURN IN GR7 11120000 BR GR7 RETURN TO PROPER ROUTINE 11140000 WRTLASTB L GR14,NMWRITET ADDRESS OF LAST ENTRY 11160000 L GR15,NMWRITEP START OF BUFFER 11180000 L GR11,DCBNM ADDRESS OF NEW MASTER DCB 11200000 SR GR14,GR15 SIZE OF LAST BLOCK 11220000 LTR GR14,GR14 ARE THERE ANY RECORDS 4929 11225017 MVI NMBUFFR,X'01' FLAG AS LAST WRITE 4929 11230017 BZ STOW2 FINISH UP 4929 11235017 MVC SARG(2),BBLKSI(GR11) SAVE BLOCKSIZE 11240000 STH GR14,BBLKSI(GR11) PUT LENGTH OF LAST BLOCK 11280000 BAL GR7,NMLSTWRT WRITE LAST BLOCK 11300000 MVC BBLKSI(2,GR11),SARG RESTORE BLOCKSIZE 11320000 B STOW2 FINISH UP 11340000 * * 11360000 * DETERMINE OPERATION FOR CHANGE FUNCTION * 11380000 * * 11400000 CHNGCOMD CLI DELETSW,X'0F' IS DELETE IN EFFECT 11420000 BE DELETCK YES- CHECK RANGE 11440000 CLI FINICCS,X'0F' END OF SYSIN 11460000 BE WRITOLD1 FINISH OLD MASTER 11480000 TM COMDCD2,X'0F' COMMAND PENDING @ZA01690 11500002 BO WRITOLD1 YES- FINISH UP OLD MASTER @ZA01690 11520002 MVI DONOTRDC,X'00' CLEAR DO-NOT-READ CC SWITCH 11540000 CLI OMEND,X'0F' ANY MORE OLD MASTER RECORDS 11560000 BNE BKINSERT YES-COMPARE SEQUENCE NO 2518 11570018 CLI CHNGESW,X'0E' IS THIS A CHANGE FUNCTION 2518 11580018 BNE CHKADREP NO-TREAT AS AN ADD 2518 11590018 BKINSERT TM INSERTSW,X'0F' BLOCK INSERTING 2518 11600018 BC 1,BLOCKINS YES 11620000 LA GR7,SWITCHRD+1 ADDRESS OF DATA RECORD 11640000 CLC 0(2,GR7),DOTSLASH IS A CONTROL CARD IN SWITCHRD 11660000 BE NEXTDELT YES- SCAN THE CARD 11680000 LA GR6,LASTCTRC PRESENT SYSIN SEQUENCE NUMBER 11700000 BAL GR9,TESTSEQR COMPARE NEW SYSIN (7) TO OLD (6) 11720000 BNH OUTOFSEQ NEW ONE LOWER- OUT OF SEQUENCE 11740000 LA GR6,TEMPSEQ TEMPORARY SEQUENCE BUFFER A30939 11760019 A GR6,LENGTH UL0H 11780017 EX GR1,MOVEPART MOVE NEW SYSIN (7) TO TEMPSEQ 6 11800000 CLI OMEND,X'0F' ANY MORE OM RECORDS 2518 11802018 BNE COMPSEQ NO-MOVE IN LATEST SYSIN SEQ 2518 11804018 MVC LASTCTRC(8),TEMPSEQ MOVE IN LATEST SYSIN SEQ 2518 11806018 LA GR6,SWITCHRD+1 ADDRESS OF SYSIN RECORD 2518 11808018 MVI READNOOM,X'0F' OLD MASTER HIGH-SAVE IT 2518 11810018 CLI INSERTSW,X'0E' RENUMBERING FORCED? @ZA03382 11812003 BNE LISTREC NO,INSET SYSIN RECORD? @ZA03382 11814003 OI INSERTSW,X'20' YES,SET INSERT RENUM SW @ZA03382 11816003 B CHKINSRT GO TO GIVE INSERT MSG @ZA03382 11818003 COMPSEQ LA GR7,OMINAREA ADDRESS OF OLD MASTER RECORD2518 11822018 AR GR7,GR3 POSITION OF SEQUENCE NUMBER OM 11840000 LA GR6,SWITCHRD+1 ADDRESS OF SYSIN RECORD 11860000 AR GR6,GR3 POSITION OF SEQUENCE NUMBER 11880000 CLI INPLCSW,X'0F' IS THIS UPDATE IN PLACE 11900000 BE INPLACEU YES- CHECK IF EQUAL ONLY 11920000 EX GR1,COMPARES COMPARE OM (7) TO SYSIN (6) 11940000 BL WRITOLD1 OLD MASTER IS LOW- WRITE IT 11960000 LA GR6,SWITCHRD+1 ADDRESS OF SYSIN RECORD 11980000 MVC LASTCTRC(8),TEMPSEQ MOVE IN LATEST SYSIN SEQUENCE 12000000 BE WRITEREP REPLACE OLD MASTER WITH SYSIN 12020000 MVI READNOOM,X'0F' OLD MASTER HIGH- SAVE IT 12040000 CLI INSERTSW,X'0E' RENUMBERING FORCED? @YA02533 12045002 BNE LISTREC NO,INSERT SYSIN RECORD @YA02533 12050002 OI INSERTSW,X'20' SET INSERT RENUM SW @YA02533 12055002 B CHKINSRT GO TO GIVE INSERT MSG @YA02533 12060002 INSTDONE CLI OMEND,X'0F' IS OLD MASTER DONE 12080000 BE STOWNAME YES- FINISH THIS MEMBER 12100000 BAL GR10,INSRTOVR CHECK TO SEE IF MUST RENUMBER 12120000 WRITOLD1 CLI INPLCSW,X'0F' UPDATE INPLACE 12140000 BE NUMBRSX YES CHECK IF RENUMBER SYSIN DONE 12160000 LA GR9,LISTREC RETURN ADDRESS 12180000 WRITENOW MVI DONOTRDC,X'0F' SET TO INHIBIT READING NEXT CT 12200000 MVI READNOOM,RESET0 CLEAR DO-NOT-READ OLD MASTER SW 12220000 LA GR6,OMINAREA ADDRESS OF OLD MASTER RECORD 12240000 BR GR9 RETURN TO LISTREC OR TESTLIST 12260000 * * 12280000 * UPDATE INPLACE LOGIC- REPLACEMENT RECORDS ONLY * 12300000 * * 12320000 INPLACEU EX GR1,COMPARES EXECUTE COMPARE OM TO SYSIN 12340000 BL NUMBRSX CHECK IF MUST NUMBER 12360000 BH INVALID NEVER WILL GET EQUAL COMPARE @ZA07361 12380099 LA GR6,SWITCHRD+1 LOCATION OF SYSIN RECORD 12400000 MVI EQUALREC,X'0F' FLAG AS RECORD REPLACED 12420000 B WRITEREP CHECK IF COLUMN UPDATE 12440000 INVALID LA GR3,SWITCHRD+1 LOAD ADDRESS OF RECORD @ZA07361 12450099 BAL GR14,PRINTCRD GO AND PRINT FAILING RECORD @ZA07361 12452099 B INVALOP GIVE MSG 'INVALID OPERATION' @ZA07361 12454099 NUMBRSX LA GR6,OMINAREA OLD MASTER RECORD ADDRESS 12460000 MVI DONOTRDC,X'0F' DO NOT READ MORE SYSIN 12480000 CLI NUMBRSW,X'0F' RECORD TO BE RENUMBERED 12500000 BE NUMBRCK YES - NUMBER IT, BUT A28728 12510019 * FIRST CHECK THE RANGE A28728 12520019 CLI FLLISTSW,X'01' LIST=ALL SPECIFIED YA01187 12570002 BNE READOM IF NOT,READ NEXT RECORD YA01187 12572002 MVC LOGOUTAR+15(80),0(GR6) MOVE CARD TO BUFFER YA01187 12574002 MVI ASISMSW,X'0F' FORCE PRINTING YA01187 12574402 L GR15,PRIMEWRT LOAD PRINT MODULE YA01187 12576002 BALR GR14,GR15 BRANCH TO PRINT ROUTINE YA01187 12578002 B READOM NO- ON TO NEXT RECORD 12580000 PUTINPLA LH GR1,LRECL LOGICAL RECORD LENGTH 12600000 L GR7,LASTRECB LOCATION OF BAD RECORD 12620000 BCTR GR1,0 DECREMENT FOR EXECUTE 12640000 MVI REPLUPDT,X'0F' FLAG AS RECORD UPDATED 12660000 EX GR1,LOGMOVE MOVE SYSIN (6) TO REPLACE OM (7) 12680000 MVI DONOTRDC,X'0F' DO NOT READ MORE SYSIN 12700000 CLI EQUALREC,X'0F' JUST REPLACED A RECORD 12720000 BNE READOM NO- NUMBERED AN OLD ONE 12740000 MVI EQUALREC,RESET0 RESET RECORD REPLACED SWITCH 12760000 B READCT1 READ NEXT SYSIN RECORD 12780000 WRTEREPR NOPR GR0 INSERT NOOP FOR ZAP REL 19 12790002 NOPR GR0 INSERT CODE FOR SZAP REL 19 12792002 NOPR GR0 INSERT CODE FOR SZAP REL 19 12794002 WRITE DECBOM,SF,(GR3),(GR8),MF=E WRITE BLOCK WITH REPL A38750 12800002 MVI REPLUPDT,X'00' RESET BAD RECORD SWITCH 12820000 CHECK DECBOM WAIT FOR WRITE 12840000 MVC 62(2,GR3),FLBLK RE-INITIALUZE BLOCKSIZE 3628 12846015 MVC SHRTBLK(2),FLBLK MAY READ FULL BLOCK NEXT 3628 12852015 B READSW1 GET MORE OLD MASTER RECORDS 12860000 * * 12880000 * REPLACEMENT OF OLD MASTER RECORDS- PARTIAL UPDATE TEST* 12900000 * * 12920000 WRITEREP MVI READNOOM,RESET0 BE SURE TO READ MORE OLD MASTER 12940000 CLI INSERTSW,X'00' ANY INSERT FUNCTION? @ZA29907 12940399 BNE NOTYET NO,MARK REC REPLACEMENT @ZA29907 12941199 CLI RENUMALL,X'0F' RENUMBERING? @ZA31995 12941399 BE NOTYET YES,FLAG REC REPLACED @ZA31995 12941599 LR GR7,GR6 ADDR OF SYSIN RECORD @ZA29907 12941999 LR GR15,GR6 SAVE THAT ADDRESS @ZA29907 12942799 LA GR6,NUMRSEQ2 UPPER LIMIT NUMBERING @ZA29907 12943599 BAL GR9,TESTSEQR TEST IF BEYOND RANGE @ZA29907 12944399 LR GR6,GR15 RESTORE REGISTER @ZA29907 12945199 BNH NOTYET NOT UPPER LIMIT YET @ZA29907 12945999 NI SEQ1SW,X'0F' RESET SEQ1 SATISFIED SW @ZA29907 12946799 MVI NUMBRSW,RESET0 RESET NUMBER SW @ZA29907 12947599 NOTYET EQU * @ZA29907 12948399 MVC LOGOUTAR+95(25),REPLMSG MOVE IN REPLACE MESSAGE YA01187 12950002 MVC LOGOUTAR+15(80),OMINAREA MOVE CARD YA01187 12950402 OI REPSW,X'0E' SET REPLACED RECORD LISTED @ZA01683 12950802 MVI ASISMSW,X'0F' SET PRINT SWITCH YA01187 12951702 L GR15,PRIMEWRT LOAD PRINT MODULE YA01187 12951802 BALR GR14,GR15 BRANCH TO PRINT MODULE YA01187 12951902 MVC LOGOUTAR+95(25),REPMES GIVE REPLACEMENT MESS YA01187 12953902 CLI INSERTSW,X'0E' RENUMBERING FORCED? @YA02533 12954302 BE MOVENEW YES,BRANCH TO MOVE NEW CARD @YA02533 12957302 CLI NUMBRSW,X'0F' IS NUMBERING TO BE DONE? @YA01723 12960302 BE NEWSEQ YES,GO TO INSERT NEW NUMBER @YA01723 12964002 MVC OLDOMSEQ(8),0(GR7) SEQ OF REC TO BE WRITTEN @ZA29830 12967099 MOVENEW MVC LOGOUTAR+15(80),SWITCHRD+1 MOVE SYSIN CARD @YA02533 12970002 MVI ASISMSW,X'0F' SET PRINT SWITCH YA01187 12976002 L GR15,PRIMEWRT LOAD PRINT MODULE YA01187 12980002 BALR GR14,GR15 BRANCH TO PRINT MODULE YA01187 12983002 MVI REPSW,X'0F' SET SWITCH REPLACED REC YA01187 12986002 NEWSEQ CLI COLUMNSW,X'0F' SELECTIVE COLUMN UPDATE @YA01723 12992002 BNE LISTREC NO- REPLACE ENTIRE CARD 12994002 CLC UPDATCOL(2),ZERO CHECK FOR TOTAL CHANGE 3511 13000002 BE LISTREC REPLACE ENTIRE CARD 3511 13005002 MVI REPSW,X'FF' SET SWITCH UPDATED RECORDYA01187 13010002 LH GR1,UPDATCOL AMOUNT OF CARD NOT CHANGED 13015002 BCTR GR1,0 DECREMENT FOR EXECUTE 13020000 LA GR7,OMINAREA IMAGE OF OLD MASTER RECORD 13040000 EX GR1,MOVEPART MOVE UNCHANGED PART TO SWITCHRD 13060000 B LISTREC WRITE OUT PARTIALLY UPDATED REC 13080000 * * 13100000 * GENERAL SEQUENCE CHECKING ROUTINES FOR DELETE AND NUMBER * 13120000 * COMPARE EXECUTED FOR RECORD ADDRESSED BY GR7 AND SEQUENCE NUMBER * 13140000 * BUFFER ADDRESSED BY GR6. RETURN THEN GIVEN RELATIVE TO GR9 FOR TEST* 13160000 * OF CONDITION CODE SET BY COMPARE. * 13180000 * * 13200000 DELETCK LA GR6,DELTSEQ1 STARTING SEQUENCE NUMBER DELET 13220000 LA GR7,OMINAREA ADDRESS OF OLD MASTER RECORD 13240000 LA GR9,SEQ1SET RETURN FROM ROUTINE 13260000 CLI OMEND,X'0F' IS OLD MASTER THROUGH 13280000 BE BADDELET YES- ERROR- DELETE NOT DONE 13300000 TESTSEQR ST GR10,TEMP10 UL0H 13310017 LA GR10,8 UL0H 13320017 LH GR3,IDENTXX SEQUENCE START COLUMN 13340000 LH GR1,IDENTY SEQUENCE SIZE 13360000 SR GR10,GR1 UL0H 13380017 AR GR6,GR10 UL0H 13400017 AR GR7,GR3 START OF SEQUENCE NUMBER OM 13420000 BCTR GR1,0 DECREMENT FOR EXECUTE 13440000 EX GR1,COMPARES COMPARE SEQUENCE NUMBERS 13460000 ST GR10,LENGTH UL0H 13466017 L GR10,TEMP10 UL0H 13472017 BR GR9 RETURN FROM COMPARE ROUTINE 13480000 SEQ1SET BE NUMERON DELETE THIS RECORD A32024 13490020 BH SEQ2SET TEST FOR DELETE RANGE A32024 13500020 LA GR6,LASTCTRC ADDRESS LAST CT/OM NUMBER A32024 13510020 A GR6,LENGTH JUSTIFY FOR LENGTH A32024 13520020 EX GR1,MOVEPART GET LAST OLD MSTR NUMBER IN IT A32024 13530020 B WRITOLD1 RETURN WITHOUT DELETE A32024 13540020 SEQ2SET TM SEQ1SW,X'0F' WAS SEQ1 SATISFIED A32024 13550020 BC 12,BADDELET NO- RANGE INVALID 13560000 LA GR7,OMINAREA OLD MASTER RECORD 13580000 LA GR6,DELTSEQ2 ENDING SEQUENCE NUMBER DELET 13600000 BAL GR9,TESTSEQR COMPARE SEQUENCE NUMBERS 13620000 BL GETNEXT1 DELETE STATEMENT- WITHIN RANGE 13640000 BH BADDELET END OF DELETE- RANGE INVALID 13660000 ANYSECND NI SEQ1SW,X'F0' RESET SEQ1 SATISFIED- DELETE 13680000 CLI DELET2SW,X'0F' CONSECUTIVE DELETE STATEMENTS 13700000 MVI DELETSW,RESET0 RESET DELETE SWITCH 13720000 BNE GETNEXT1 DELETE LAST RECORD 13740000 MVI READNOOM,X'00' MAKE SURE 1ST DELETE IS EFFECTIVE 12737 13750015 MVC LOGOUTAR+95(25),DELETMSG SET DELETE MSG @YA02554 13752002 MVC LOGOUTAR+15(80),OMINAREA MOVE CARD @YA02554 13754002 MVI ASISMSW,X'0F' SET PRINT SW @YA02554 13756002 L GR15,PRIMEWRT LOAD PRINT MODULE @YA02554 13758002 BALR GR14,GR15 GO TO PRINT MODULE @YA02554 13758402 MVI DELET2SW,RESET0 RESET DELETE PENDING SWITCH 13760000 NEXTDELT MVI SWITCHRD,RESET0 CLEAR CARD SCAN SWITCHES 13780000 CLI NUMBR2SW,X'0F' NUMBER CARD PENDING 13800000 BE PARTNUMB YES- CHECK SEQUENCE NUMBER 13820000 MVI DONOTRDC,X'00' READ NEXT CONTROL CARD 13840000 MVI PARAMSW,RESET0 RESET PARAMETER FOLLOWS SWITCH 13860000 L GR15,SCANENTR ENTRY POINT OF SCAN ROUTINE 13880000 BR GR15 ENTER SCAN ROUTINE 13900000 NUMERON OI SEQ1SW,X'0F' SET SEQ1 SATISFIED- DELETE 13920000 CLI NUMBRSW,X'0F' NUMBERING TO BE DONE 13940000 BNE CHK1AND2 CHECK IF SEQ1 EQUALS SEQ2 13960000 LA GR7,OMINAREA ADDRESS OF OLD MASTER RECORD 13980000 LA GR6,NUMRSEQ1 NUMBER SEQUENCE 1 14000000 BAL GR9,TESTSEQR DELETE CARD START NUMBER RANGE 14020000 BE INVALOP CANNOT DELETE START OF NUMBER 14040000 CHK1AND2 CLC DELTSEQ1(8),DELTSEQ2 DOES SEQ1 EQUAL SEQ2 14060000 BE ANYSECND YES DELETE DONE 14080000 GETNEXT1 MVI READNOOM,RESET0 ALLOW READ OF OLD MASTER 14100000 MVC LOGOUTAR+95(25),DELETMSG SET DELETE MESSAGE YA01187 14110002 MVC LOGOUTAR+15(80),OMINAREA MOVE CARD YA01187 14112002 MVI ASISMSW,X'0F' PRINT SWITCH YA01187 14114002 L GR15,PRIMEWRT LOAD PRINT MODULE YA01187 14116002 BALR GR14,GR15 GO TO PRINT MODULE YA01187 14118002 B READOM FINISH DELETE- THEN INSERT 14120000 PARTNUMB MVI DONOTRDC,X'0F' READ NO MORE SYSIN 14140000 LA GR6,OMINAREA OLD MASTER RECORD 14160000 * * 14180000 * CHECKS FOR TOTAL RENUMBERING, BLOCK INSERTING, OR SPECIFIC * 14200000 * RENUMBERING. UPON ENTRY, GR6 POINTS TO START OF RECORD. * 14220000 * * 14240000 NUMBRCK CLI RENUMALL,X'0F' TOTAL RENUMBERING 14260000 BE NUMBRCD YES 14280000 CLI OMEND,X'0F' OLD MASTER FINISHED 14300000 BE CHECKNM YES- CHECK NUMBER RANGE 14320000 TM INSERTSW,X'0F' INSERT 14340000 BC 1,BLOCKINS YES- FIRST LEVEL '0F' 14360000 BC 4,NUMBRCD RENUMBER FORCED BY EARLY INSERT 14380000 B ENTNUMB CHECK NUMBER RANGE 14400000 BLOCKINS LA GR7,OMINAREA BLOCK INSERT OR ONLY OM LEFT 14420000 LA GR6,NUMRSEQ1 STARTING NUMBER 14440000 CLI OMEND,X'0F' END OF FILE ON OM YET? A24812 14446018 BE CHKSEQ1 YES,DON'T TEST SAME SEQ AGAIN A24812 14452018 BAL GR9,TESTSEQR TEST RANGE 14460000 BL CHKWRTOM WRITE OLD MASTER 14480000 BE STARTIN BRANCH @ZA01657 14490002 CHKSEQ1 TM SEQ1SW,X'F0' SEQ1 SATISFIED? A24812 14520018 BC 14,BADNUMBR NO- NUMBER RANGE UNSATISFIED 14540000 TM INSERTSW,X'0F' INSERTING RECORDS 14560000 BC 1,SETINSRT RESET INSERT SWITCH 14580000 LA GR6,NUMRSEQ2 TOP OF NUMBER RANGE 14600000 LA GR7,OMINAREA ADDRESS OF OLD MASTER RECORD 14620000 BAL GR9,TESTSEQR TEST IF OM OUT OF NUMBER RANGE 14640000 BH RESETGET YES- THROUGH WITH NUMBERING 14660000 RENUMSOM LA GR6,OMINAREA ADDRESS OF OLD MASTER RECORD 14680000 MVI READNOOM,RESET0 ALLOW READING OF OLD MASTER 14700000 MVI DONOTRDC,X'0F' READ NO MORE SYSIN 14720000 B NUMBRCD RENUMBER CARD 14740000 RESETGET LA GR10,WRITEOM RETURN FROM RESETTING SWITCHES 14760000 B RESETNMB RESET SWITCHES 14780000 CHECKNM CLI INPLCSW,X'0F' IS THIS UPDATE IN PLACE 14800000 BE CHKALIAS YES- FINISH UPDATE INPLACE 14820000 LA GR7,SWITCHRD+1 DATA CARD BUFFER ADDRESS 14840000 CLC 0(2,GR7),DOTSLASH A CONTROL CARD IN BUFFER 14860000 BE RET2SCAN YES,SCAN THE CARD YA01677 14870002 LA GR6,NUMRSEQ1 STARTING NUMBER LOWER LIMIT 14900000 BAL GR9,TESTSEQR TEST NUMBER RANGE 14920000 LA GR6,SWITCHRD+1 ADDRESS OF RECORD 14940000 BNL NUMBRCD NUMBER CARD 14960000 BADNUMBR LA GR11,NUMMSG INVALID NUMBER RANGE 14980000 B GIVENGO GIVE MESSAGE AND CONTINUE 15000000 * * 15020000 * CHECK NUMBER RANGE AGAINST RECORD READY TO BE WRITTEN * 15040000 * SPECIFIC RENUMBERING ROUTINE * 15060000 * * 15080000 ENTNUMB LR GR7,GR6 REGISTER 6 POINTS TO RECORD 15100000 LR GR10,GR6 SAVE POINTER IN STABLE REGISTER 15120000 LA GR6,NUMRSEQ1 STARTING SEQUENCE NUMBER 15140000 BAL GR9,TESTSEQR CHECK LOWER NUMBER RANGE 15160000 BL WRITEOM LOW- WRITE OLD MASTER 15180000 BE SETNUM1 SET SEQ1 SATISFIED SWITCH 15200000 TM SEQ1SW,X'F0' SEQ1 SATISFIED- NUMBER 15220000 BC 14,BADNUMBR NO- INVALID NUMBER RANGE 15240000 LA GR6,NUMRSEQ2 LOAD UPPER NUMBER LIMIT 15260000 LR GR7,GR10 LOAD POINTER TO RECORD 15280000 BAL GR9,TESTSEQR TEST IF BEYOND NUMBER RANGE 15300000 BH OVERSEQ2 YES,GO AND RESET SEQ1 @ZA29832 15320099 CLI NUMBR2SW,X'0F' CONSECUTIVE NUMBER CARD @ZA29832 15326099 BE SETNUM1 YES,RESET READNOOM SW @ZA29832 15332099 B NUMBRIT RENUMBER RECORD @ZA29907 15338099 OVERSEQ2 NI SEQ1SW,X'0F' RESET SEQ1 SATISFIED @ZA29832 15344099 CLI NUMBR2SW,X'0F' CONSECUTIVE NUMBER CARDS 15360000 MVI NUMBRSW,RESET0 RESET NUMBER SWITCH 15380000 BNE WRITEOM WRITE RECORD- NO MORE NUMBERING 15400000 MVI NUMBR2SW,RESET0 CLEAR NUMBER PENDING SWITCH 15420000 MVI READNOOM,X'0F' SAVE OLD MASTER RECORD 15440000 B NEXTDELT SCAN THE NUMBER CARD 15460000 STARTIN OI SEQ1SW,X'F0' SEQ1 SATISFIED- NUMBER 15480000 CHKWRTOM TM INSERTSW,X'10' DOING BLOCK INSERT OR RENUMBER 15500000 BC 1,RENUMSOM YES- RENUMBER RECORD 15520000 WRITEOM LA GR9,TESTLIST RETURN FROM WRITENOW @ZA29907 15540099 CLI INSERTSW,X'0F' INSERT OPERATION? @ZA32389 15541099 BE WRITENOW YES,GO AND WRITE RECORD @ZA32389 15542099 CLI READNOOM,X'0F' SHOULD WE READ FROM OM? @ZA29832 15543099 LA GR6,SWITCHRD+1 ADDR OF SYSIN RECORD @ZA29832 15546099 BE TESTLIST NO,DON'T READ FROM OM @ZA29832 15549099 B WRITENOW WRITE OLD MASTER RECORD AS IS 15560000 NONBLNKI LA GR10,CHNGCOMD NOT ./ NEXT RECORD NON-BLANK SEQ 15580000 LA GR7,OMINAREA(GR3) GET OLD MASTER RECORD NUMBER A35458 15585020 EX GR1,COMPARES NEXT OM REC LOW OR EQ AS SYSIN A35458 15590020 BNH INSRTOVR DATA SEQ AFTER INSERT OK A44323 15595021 LA GR3,SWITCHRD+1 LOAD SYSIN IN BUFFER A44323 15597021 BAL GR14,PRINTCRD PRINT CARD WITH INVAL.SEQ A44323 15599021 B INVALOP PRINT INVALOP MESSAGE A44323 15599421 INSRTOVR MVI INSRTRD,RESET0 RESET INSERT READ SWITCH 15600000 NI SEQ1SW,X'0F' RESET INSERT SWITCH A35458 15605020 MVI FSTINSRT,X'00' RESET FOR NEXT BLOCK INSERT A25432 15610019 LA GR7,OMINAREA NEXT SEQUENCE NUMBER OLD MASTER 15620000 LA GR6,LASTSEQN SEQ NUMBER OF LAST INSERT RECORD 15640000 BAL GR9,TESTSEQR TEST IF OM GREATER THAN INSERT 15660000 BH NOMORENB NO PROBLEM- OM IS HIGH 15680000 MVI INSERTSW,X'0E' MUST RENUMBER DATA SET 15700000 BR GR10 RETURN- RESCANIT IF ./, CHNGCOMD 15720000 INSRTANY LH GR3,IDENTXX SEQUENCE COLUMN 15740000 AR GR6,GR3 POSITION OF SEQUENCE NUMBER CT 15760000 AR GR7,GR3 POSITION OF SEQUENCE NUMBER OM 15780000 LR GR8,GR6 POINTER TO CT SEQUENCE FIELD 15800000 LH GR1,IDENTY SEQUENCE SIZE 15820000 BCTR GR1,0 DECREMENT FOR EXECUTE 15840000 EX GR1,CHKSEQNB TEST FOR BLANK SEQUENCE NUMBER 15860000 BE OKIFINST YES- OK IF INSERT OPTION 15880000 STOPINST TM INSERTSW,X'0F' INSERT NON-BLANK SEQ NUM @ZA07377 15900099 BC 1,NONBLNKI YES- BLOCK INSERT DONE 15920000 CLI READNOOM,X'0F' WAS OM RECORD READ 15940000 BNE COMPARS YES- CONTINUE 15960000 MVI READNOOM,RESET0 RESET SWITCH TO ALLOW OM READ 15980000 B READOM READ OLD MASTER 16000000 RESETNS LR GR6,GR10 RESTORE POINTER TO CARD 16020000 TM INSERTSW,X'10' UP TO NEXT BLOCK INSERT CARD 16040000 LA GR10,TESTLIST RETURN FROM THIS ROUTINE 16060000 BC 1,RESET1F UP TO NEXT BLOCK INSERT CARD 16080000 NOMORENB MVI INSERTSW,RESET0 RESET INSERT SWITCH 16100000 RESETNMB MVI NUMBRSW,RESET0 RESET NUMBER SWITCH 16120000 BR GR10 RETURN- RESCANIT IF ./, CHNGCOMD 16160000 RESET1F MVI INSERTSW,X'0F' RESET TO NO LONGER FORCE RENUMBR 16180000 MVC SEQWA(4),TEMPSEQA SET UP NEW1 FOR NEXT BLOCK INSRT 16200000 MVC NEW1NUMB(L8),NEW1TEMP YM07522 16202002 MVC INCREMWA(8),TEMPINCR SET UP INCR FOR NEXT BLOCK INSRT 16220000 BR GR10 RETURN A41743 16240000 COMPARS EX GR1,COMPARES COMPARE SEQUENCE NUMBER 16260000 BNH RENINSNW OLD MASTER IS EQUAL OR LOW 16280000 STOPRD MVI READNOOM,X'0F' OLD MASTER HIGH- SAVE IT 16300000 RENINSNW LA GR6,SWITCHRD+1 ADDRESS OF NEW RECORD 16320000 MVI DONOTRDC,RESET0 RESET TO READ NEXT SYSIN RECORD 16340000 B NUMBRCD RENUMBER AND INSERT IT 16360000 OKIFINST TM INSERTSW,X'0F' TEST IF INSERT OPTION 16380000 BC 14,INVALOP NO- WILL NOT ACCEPT BLANK SEQ 16400000 B STOPRD NUMBER AND INSERT CARD 16420000 SETINSRT MVI INSERTSW,X'0F' BE SURE SET FROM '1F' TO '0F' 16440000 B STOPRD 12737 16460015 * * 16480000 * DETERMINE IF TERMINATE (PS) OR FLUSH TO NEXT MEMBER- QUIT IF PS 16500000 * * 16520000 CHKIFEND TM EODCTSW,X'0E' END OF SYSIN A45153 16540000 BO RESTORE YES-STOP NOW-DO NOT STOW @ZA06529 16560099 FLUSHALL CLI INPLCSW,X'0F' UPDATE INPLACE WAS ATTEMPTED 16580000 MVI TEMPCON,X'04' SET CONDITION CODE 16600000 BE STOPNOW UPDATE INPLACE- QUIT 16620000 CLI STARTMEM,X'0F' MEMBER UPDATE STARTED 16640000 L GR11,DCBNM ADDRESS OF NEW MASTER DCB 16660000 BNE NONEUSED NO SPACE USED BY BAD MEMBER 16680000 MVC BFDAD(8,GR11),FDADSET RESTORE TO START OF AREA 16700000 MVC TRBAL(2,GR11),TRKBAL RESTORE PREVIOUS TRACK BAL 5666 16710016 NONEUSED TM RIDIT2SW,X'0F' TEST IF DELETE/NUMBER OR COMMAND 16720000 BC 1,DETAILGO DELET/NUMBER SCAN BEYOND 16740000 BC 4,ENDFLUSH NEXT COMMAND STATEMENT 16760000 CLI ENDONLY,X'0F' FLUSHING FOR ENDUP ONLY 4929 16806017 BE READCC YES-PRINT NO MSG-CONTINUE 4929 16812017 CLI FIRSENTR,BIT10 FIRST ENTRY CARD OUT OF SEQUENCE 16820000 BE SCANOUT YES- NOTHING ANALYSED YET 16840000 LA GR3,SCANOUT SEE IF PROCESS ANOTHER MEMBER 16860000 GOONTEST CLI PSSWNM,X'0F' IS NEW MASTER PARTITIONED A30480 16880021 BNE FINERRA2 NO.. QUIT A30480 16900020 CLI PSSWOM,X'0F' IS OLD MASTER PARTITIONED ? A30480 16920020 BCR 8,GR3 YES.. RETURN A30480 16940020 CLI CTONLYSW,X'01' PARM=NEW SPECIFIED A41756 16946021 BCR 8,GR3 YES,RETURN A41756 16952021 OI CTONLYSW,X'10' BYPASS OLD MASTER A30480 16960020 BR GR3 RETURN A30480 16980020 ENDFLUSH MVI RIDIT2SW,RESET0 CLEAR COMMAND STATEMENT SWITCH 17040000 MVI FIRSENTR,RESET0 CLEAR FIRST ENTER SWITCH 4718 17050017 MVI FLUSHSW,X'0E' SET FOR COMMAND AFTER FLUSH 17060000 B READCC CONTINUE- REWRITE OVER BAD ONE 17080000 SCANOUT LA GR11,FLUSHING FLUSH MESSAGE CODE 17100000 L GR15,PRIMEWRT ADDRESS OF LOG ROUTINE 17120000 BALR GR14,GR15 GIVE MESSAGE 17140000 L GR11,DCBNM ADDRESS OF NEW MASTER DCB @ZA04434 17150003 MVI FLUSHSW,X'0F' SCANNING FOR NEXT COMD SWITCH 17160000 CLI ALIASW2,X'0F' SEVERAL ALIAS STMT? @ZA01682 17164002 BNE TESTLOC NO,UP TO NEXT MEMBER @ZA01682 17168002 MVI COMDCD2,RESET0 RESET COMMAND PENDING SW @ZA01682 17172002 * * 17180000 * REINITIALIZE TO RECYCLE FOR UPDATE OF NEXT MEMBER. * 17200000 * * 17220000 TESTLOC CLI EXTNTSW,X'0F' A29047 17223019 BNE NOCROSS A29047 17226019 L GR3,DCBOM A29047 17229019 L GR6,DCBNM A29047 17232019 CLC 5(1,GR3),5(GR6) A29047 17235019 BE NOCROSS A29047 17238019 CLOSE ((GR3)) A29047 17241019 OPEN ((GR3)) A29047 17244019 TM BOFLGS(GR3),X'10' A29047 17247019 BZ BADOPEN A29047 17250019 NOCROSS ST GR6,SAVEGR6 SAVE REGISTER 6 A45212 17252021 LA GR6,CONTCLER A45212 17253021 XC DELTSEQ1(32),DELTSEQ1 CLEAR DELETE AND NUMBER SEQ 17260000 MVC OMREADT(4),OMREADP REINITIALIZE OM FOR NEXT PASS 17280000 MVC NMWRITET(4),NMWRITEP REINITIALIZE NM FOR NEXT PASS 17300000 MVC FDADSET(8),BFDAD(GR11) SAVE FDAD FOR NEW MEMBER 5666 17306016 MVC TRKBAL(2),TRBAL(GR11) SAVE TRACK BALANCE 5666 17312016 MVC OMBLOCKT(2),OMBLOCKP RESTORE BLOCKING FACTOR OM 17320000 MVC NMBLOCKT(2),NMBLOCKP RESTORE BLOCKING FACTOR NM 17340000 XC LISTAREA(80),LISTAREA CLEAR LIST BUFFER 17360000 MVC IDENTXX(4),INITSEQ REINITIALIZE SEQUENCE CONSTANTS 17380000 XC IDENTNN(L4),IDENTNN YM07522 17380402 XC OLDOMSEQ(8),OLDOMSEQ A24812 17381018 MVI MULTI,X'0F' TURN ON SWITCH FOR NEXT PASS A30625 17391020 TM COMDCD2,X'0F' ALREADY TO NEXT COMMAND @ZA01690 17401002 MVI SOURCECD,X'FF' REINITIALIZE SOURCE CODE BUFFER 17420000 MVI LEVELXX,C'0' REINITIALIZE LEVEL BUFFER 17440000 MVC MEMNAME(8),BLANKS8 CLEAR MEMBER NAME BUFFER 17460000 MVI BLDFNDSW,X'0F' DO A BLDL FOR THE NEXT MEM 2163 17470018 MVI OMEODX+1,X'00' MARK OM EMPTY FOR NEXT A36095 17472021 BO UPDAINPL YES-SEE IF UPDATE INPLACE @ZA01692 17480002 EX GR6,COMDCLER CLEAR CONTROL CARD SWITCHES 17500000 L GR6,SAVEGR6 RESTORE REGISTER 6 A45212 17510021 B READCC GET NEXT STATEMENT 17520000 STOPNOW BAL GR14,DEACTV DEACTIVATE EXITS A32631 17530020 MVI COMDCD,X'00' RESET COMMAND SW PTM004 17540017 MVI FLUSHSW,X'0F' TURN ON FLUSH SW PTM004 17550017 B READCC GET NEXT STATEMENT PTM004 17560017 DETAILGO MVI RIDIT2SW,X'00' RESET FLUSH DELETE/NUMBER SWITCH 17580000 B READCC KEEP FLUS&ING 4929 17630017 UPDAINPL CLI INPLCSW,X'0F' UPDATE INPLACE JUST DONE @ZA01692 17640002 BNE MINFLUSH NO-GO TO SCAN NEXT @ZA01692 17650002 LA GR11,UPDATMSG INVALID UPDATE INPLACE MSG @ZA01692 17660002 LA GR14,FINERRA RETURN ADDR AFTER STMT PRINT @ZA01692 17670002 MVC LOGOUTAR+7(80),SWITCHRD+1 MOVE INVALID STMT @ZA01692 17672002 MVI ASISMSW,X'0F' FORCE PRINTING @ZA01692 17674002 L GR15,PRIMEWRT ADDR OF PRINT ROUTINE @ZA01692 17676002 BR GR15 GO TO PRINT ROUTINE @ZA01692 17678002 MINFLUSH EX GR6,COMDCLER CLEAR CONTROL CARD SWITCHES 17680000 MVI FIRSENTR,X'0F' NEW MEMBER IS COMING 17700000 RESCANIT MVI SWITCHRD,RESET0 CLEAR SCAN SWITCHES 17720000 XC PARAMSW(27),PARAMSW CLEAR SWITCHES 17740000 CHKPS CLI FLUSHSW,X'0F' FLUSHING TO NEXT COMMAND 4929 17741017 BNE RET2SCAN NO-BRANCH 4929 17742017 CLI FIRSENTR,BIT10 A32050 17742320 BE RET2SCAN A32050 17742620 CLI INPLCSW,X'0F' UPDATE INPLACE 4929 17743017 BE FLSHPSUP YES-BRANCH 4929 17744017 TM CTONLYSW,X'11' ALL INPUT FROM SYSIN A30480 17745020 BZ CHKOMPS NO.. CHECK DSORG OLD MASTER A30480 17746020 CLI PSSWNM,X'0F' NM SEQUENTIAL 4929 17747017 BE RET2SCAN NO-PARTITIONED 4929 17748017 B FLSHPSUP SEQUENTIAL 4929 17749017 CHKOMPS CLI PSSWOM,X'0F' OM SEQUENTIAL 4929 17750017 BE RET2SCAN NO-PARTITIONED 4929 17751017 FLSHPSUP MVI ENDONLY,X'0F' ONLY ENDUP ACCEPTED 4929 17752017 RET2SCAN TM PARAMSW,BIT10 IS PARIAL PARAMETER SW ON? YA01700 17754002 BC 1,RETBSCAN YES,RETURN TO BSCAN YA01700 17756002 L GR15,SCANENTR LOAD ADDRESS OF ASCAN CSECT YA01700 17760002 BR GR15 BRANCH TO ASCAN YA01700 17780002 RETBSCAN L GR13,SAVEPT13 LOAD ADDRESS OF SAVE AREA YA01700 17782002 LM GR14,GR12,12(GR13) PICK UP SAVED REGISTERS YA01700 17784002 BR GR7 BRANCH TO BSCAN YA01700 17786002 * * 17800000 * END OF FILE ON SYSIN * 17820000 * REAL EOF, /* READ, OR ENDUP STATEMENT RECOGNIZED BY SCAN ROUTINE * 17840000 * * 17860000 EODCTX CLI FIRSENTR,BIT10 ANY RECORDS IN SYSIN 17880000 MVI EODCTSW,X'0E' SET SWITCH FOR FURTHER PR A45153 17890000 BE NODATAS NO- SYSIN HAS NO RECORDS- ERROR 17920000 TM CHNGESW,X'0F' ONLY CHANGE CARD IN SYSIN A45153 17930000 BO INVALOP NO DATA OR FUNCTION STM A45153 17932000 TM ADDSW,X'0F' STMT'S AFTER ADD STMT? @ZA24936 17934099 BO NODATAS YES,GIVE MSG IEB823I @ZA24936 17936099 CLI INSERTSW,X'0F' SHOULD INSERT REC'S? @ZA28408 17936899 BNE ENDUPCC NO,TEST IF DURING FLUSH @ZA28408 17937699 CLI FSTINSRT,X'00' NO REC'S IN AN INSERT OP.? @ZA28408 17938499 BE INVALOP YES,GIVE MSG IEB807I @ZA28408 17939299 ENDUPCC CLI FLUSHSW,X'0F' EOF DURING FLUSH 17940000 BE LASTLEG YES-STOP NOW-DO NOT STOW PTM223 17960017 CLI CCSCANSW,BIT01 EOF READING CONTINUATION CARD 17980000 BE INVALOP YES- INVALID REST OF CARD GONE 18000000 REALEOF CLI INSRTRD,X'0F' INSERT ISSUED READ 18060000 MVI FINICCS,X'0F' FLAG AS SYSIN THROUGH 18080000 BE WRTINSRT YES- RETURN TO PROCESS LAST ONE 18100000 TM CHNGESW,X'0E' CHANGE FUNCTION 1550 18120014 BC 7,CONTINY YES-CONTINUE 1550 18140014 CLI INPLCSW,X'0F' UPDATE INPLACE 1550 18160014 BE RENUMTST IF SO, CHECK FOR RENUMBERINGUL0H 18180017 TM REPROSW,X'0E' REPRO FUNCTION 18200000 BC 8,STOWNAME NO- ADD OR REPLACE SO FINISH UP 18220000 CONTINY MVI DONOTRDC,X'0F' READ NO MORE SYSIN IS DONE 18240000 CLI OMEND,X'0F' IS OLD MASTER DONE 18260000 BE STOWNAME YES- FINISH UP 18280000 CLI READNOOM,X'0F' HAVE AN OM RECORD HANDY 18300000 BNE PROCEED NO- OPEN DATA SET IF NECESSARY 18320000 MVI READNOOM,RESET0 CLEAR OM PENDING SWITCH 18340000 LA GR6,OMINAREA LOCATION OF OLD MASTER RECORD 18360000 B TESTRCD TEST OM RCD FOR DELETION 5944 18380017 RENUMTST CLI NUMBRSW,X'0F' IS RENUMBERING REQUESTED UL0H 18383017 BE READOM ' IF SO, THEN PROCEED UL0H 18386017 CLI OPENSW,X'00' I HAVE DATA SETS BEEN OPENEDUL0H 18389017 BE READOM IF SO THEN PROCEED UPDATINGUL0H 18392017 B NODATAS IF NOT, NO SYSIN INPUT UL0H 18395017 NODATAS LA GR7,SYSINNM ADDRESS OF SYSIN DD NAME 18400000 LA GR3,CLOSEUP ADDRESS OF CLOSE SYSIN @YA02568 18420002 MVI HICONCDE+1,X'0C' SET CONDITION CODE YA01186 18430002 NODATA LA GR11,ERRMSGN CODE FOR BLANK DATA MESSAGE 18440000 L GR15,PRIMEWRT ADDRESS OF MESSAGE CSECT 18460000 BALR GR14,GR15 GIVE MESSAGE 18500000 BR GR3 ENTER FLUSH OR ALMOSTZ ROUTINE 18520000 * * 18540000 * END OF FILE ENCOUNTERED ON OLD MASTER DATA SET * 18560000 * STOP IF 'REPRO' OR UPDATE INPLACE- OTHERWISE CONTINUE TILL SYSIN * 18580000 * DONE OR NEXT FUNCTION ENCOUNTERED. * 18600000 * * 18620000 OMEODX BC 0,NOTEMPTY TAKE BRANCH IF NOT EMPTY A36095 18640021 LA GR7,SYSUT1NM ADDRESS OF SYSUT1 DD NAME 18660000 LA GR3,FLUSHALL ERROR ROUTINE IF SYSUT1 NULL 18680000 MVI HICONCDE+1,X'04' SET CONDITION CODE YA01186 18690002 B NODATA PRINT OM EMPTY MESS A36095 18700021 NOTEMPTY EQU * A36095 18710021 TM FINICCS,X'0F' SEE IF ANY CONTROL CARDS LEFT 18720000 BC 1,STOWNAME NO- FINISH 18740000 TM COMDCD2,X'0F' UP TO NEXT COMMAND CARD @ZA01690 18760002 BO STOWNAME YES- END THIS DS MEMBER @ZA01690 18780002 TM REPROSW,X'0E' REPRODUCING DATA SET 18800000 BC 1,STOWNAME YES- FINISH UP 18820000 CLI INPLCSW,X'0F' UPDATE INPLACE JUST DONE 18840000 BE OUTOFSEQ YES,GIVE MSG AND QUIT A32632 18860021 MVI READNOOM,X'0F' SET SWITCH TO STOP OM READ 18880000 B CHKOP PROCESS SYSIN RECORDS 7811 18920017 * * 18940000 * FINISH OF A MEMBER UPDATE- SET UP SSI AND STOW MEMBER NAME. * 18960000 * * 18980000 STOWNAME CLI FINICCS,X'0F' SYSIN FINISHED? @ZA01682 18984002 BE STOW YES,FINISH THIS MEMBER @ZA01682 18988002 CLI COMDCD2,X'1F' @ZA01690 18990002 BNE STOW @ZA01690 18990402 CLI ALIASW2,X'0F' SEVERAL ALIAS STMT? @ZA01682 18992002 BE RESCANIT YES,GO ON TO SCAN @ZA01682 18996002 STOW CLI FLUSHSW,X'0F' ENDING UP ON FLUSH? @ZA01682 19000002 BE DONOTSTO YES- DO NOT STOW 19020000 CLI DELETSW,X'0F' DELETE STILL IN EFFECT 19040000 BE BADDELET YES- CARDS OUT OF ORDER- ERROR 19060000 CLI OPENSW,X'0F' ARE DCB'S OPEN YET PTM295 19066017 BE NODATAS NO DATA IN SYSIN PTM295 19072017 CLI NMBUFFR,X'0F' WAS LAST NM BLOCK WRITTEN 19080000 BE WRTLASTB NO- WRITE LAST NEW MASTER RECORD 19100000 STOW2 CLI PSSWNM,X'0F' IS NEW MASTER PARTITIONED 19120000 BNE LASTLEG NO- SEQUENTIAL-FINISH UP-NO STOW 19140000 TM ALIASW2,X'F0' HAS STOW BEEN DONE UL0H 19146017 BO STOWALAS YES--ONLY HERE TO STOW UL0H 19152017 CLI INPLCSW,X'0F' UPDATE IN PLACE 19160000 BE CHKALIAS YES.. BYPASS STOW 19180020 XC STOWAREA(80),STOWAREA CLEAR STOW AREA 19200000 CLI NEWNAME,X'00' IS THIS A NEW PODS FROM PS OM 19220000 BNE STOWNEW YES- STOW NEW NAME 19240000 MVC STOWAREA(8),MEMNAME MOVE NAME TO STOW AREA 19260000 CHECKSSI CLI SSISW,X'0F' PUT REPLACEMENT SSI DATA IN 19280000 BE STOWSSI YES 19300000 CLI LEVELXX,C'0' IS THERE A LEVEL CHANGE 19320000 BNE LEVELNEW YES- CHANGE LEVEL 19340000 CLI SOURCECD,X'FF' IS SOURCE CODE CHANGED 19360000 BNE NEWSORCE YES- CHECK NEW SOURCE SETTING 19380000 STORALLS MVC STOWAREA+11(64),LISTAREA+17 COPY USER DATA 19400000 STOWIT L GR1,DCBNM ADDRESS OF NEW MASTER DCB 19420000 STOWALI STOW (GR1),STOWAREA,R 19440000 STC GR15,SARG STORE STOW RETURN CODE 19460000 TM SARG,X'0C' IS DIRECTORY FULL (CODE 12) 19480000 BO STOWER12 YES- GIVE MESSAGE 19500000 TM SARG,X'10' I/O ERROR FROM STOW (CODE 16) 19520000 BO STOWER16 YES- GIVE MESSAGE 19540000 TM SARG,X'08' WAS NAME IN NM DIRECTORY 19560000 LA GR11,STOWMSGT LOAD NOT FOUND MESSAGE CODE 19580000 BO STOWOVER NAME IN DIRECTORY GIVE MESSAGE 19600000 LA GR11,STOWMSGN LOAD MESSAGE FOUND NAME CODE 19620000 STOWOVER LA GR7,STOWAREA ADDRESS OF MEMBER NAME 19640000 BAL GR9,GIVEMESS GIVE APPROPRIATE MESSAGE 19660000 CHKALIAS CLI ALIASW,X'0F' ALIAS NAME TO BE STOWED 19680000 BE STOWALAS YES- STOW ALIAS NAME 19700000 TM ALIASW2,X'0F' ALIAS PENDING MA0H 19703017 BO STOWADAL YES,GO TO STOW ADD ALIAS @ZA01682 19703502 B DONOTSTO NO,THIS MEMBER FINISHED @ZA01682 19704002 STOWADAL L GR7,ALIASNM1 POINTER TO LAST ALIAS NAME @ZA01682 19704502 L GR3,ALIASNM2 POINTER OF ALIAS TO MOVE @ZA01682 19705002 CR GR3,GR7 LAST ALIAS ALREADY MOVED? @ZA01682 19705502 BE NOSTOW YES,FINISH THIS MEMBER @ZA01682 19706002 LA GR3,8(GR3) POINTER TO NEXT ALIAS NAME @ZA01682 19706502 ST GR3,ALIASNM2 SAVE POINTER @ZA01682 19707002 MVC STOWAREA(8),0(GR3) MOVE ALIAS NAME @ZA01682 19707502 B STOWALA2 BRANCH TO STOW @ZA01682 19708002 NOSTOW NI COMDCD2,X'0F' RESET COMMAND PENDING SWITCH @ZA01690 19709002 MVI ALIASW2,X'F0' SHOW STOW HAS BEEN DONE MA0H 19712017 DONOTSTO TM FINICCS,X'0F' ARE CONTROL CARDS DEPLETED 19720000 BC 1,LASTLEG YES- ALL FINISHED 19740000 BAL GR3,GOONTEST SEE IF GO ON TO NEXT MEMBER 19760000 B TESTLOC MUST HAVE PO OM/NM GO ON 19780000 STOWSSI MVC LISTAREA+18(4),SSIBUF INSERT SSI INFORMATION 19800000 STORSTAT SR GR3,GR3 19820000 IC GR3,LISTAREA+17 PICK UP USER DATA COUNT 19840000 C GR3,TWO 5873 19860017 BNL STORALLS MORE THAN 2,GO STOW 5873 19880017 OI LISTAREA+17,X'02' MAKE COUNT TWO HALFWORDS 5873 19900017 B STORALLS SET UP FOR STOW 19940000 LEVELNEW MVC LISTAREA+18(1),LEVELXX INSERT NEW LEVEL INTO SSI 19960000 CLI SOURCECD,X'FF' IS SOURCE CODE CHANGED 19980000 BE STORSTAT SET UP SSI 20000000 NEWSORCE CLI SOURCECD,X'F0' IS SOURCE USER 20020000 BNE IBMSORCE NO- IBM CHANGE 20040000 OI LISTAREA+19,X'20' SET LOCAL FIX SWITCH IN SSI 20060000 B STORSTAT STORE STATUS LISTAREA TO STOW 20080000 IBMSORCE NI LISTAREA+19,X'DF' RESET LOCAL FIX SWITCH 0 FOR IBM 20100000 B STORSTAT STORE STATUS LISTAREA TO STOW 20120000 STOWNEW MVC STOWAREA(8),MEMBNEW STOW NEW PO NAME 20140000 B CHECKSSI SEE IF STATUS INFORMATION 20160000 STOWER12 LA GR11,ERRDIRF DIRECTORY FILLED MESSAGE 20180000 B FINERRA GIVE MESSAGE 20200000 STOWER16 LA GR11,ERRDRIO DIRECTORY I/O ERROR MESSAGE CODE 20220000 B FINERRA GIVE MESSAGE, SET ERROR CODE 12 20240000 STOWALAS MVI ALIASW,RESET0 CLEAR ALIAS SWITCH 20260000 MVC STOWAREA(8),ALIASNM MOVE ALIAS NAME TO STOW BUFFER 20280000 STOWALA2 OI STOWAREA+11,BIT80 FLAG AS ALIAS @ZA01682 20300002 CLI INPLCSW,X'0F' UPDATE INPLACE 20320000 BNE STOWIT NO- STOW NM 20340000 L GR1,DCBOM ADDRESS OF OM DCB 20360000 MVC STOWAREA+8(70),LISTAREA+12 MOVE IN TTR AND DATA 20380000 OI STOWAREA+11,BIT80 SET ALIAS BIT 20400000 B STOWALI STOW OM ALIAS UPDATE INPLACE 20420000 EJECT 20800000 *********************************************************************** 20820000 * END OF JOB ROUTINE * 20840000 *********************************************************************** 20860000 INVALLBL LA GR11,ERROP LOAD ERROR MSG CONSTANT UL0H 20864017 BAL GR9,GIVEMESS GIVE ERROR MESSAGE UL0H 20868017 B DEACTVCT PREPARE TO CLOSE UL0H 20876017 SPACE 1 20880000 DEACTVCT MVI TEMPCON,X'08' RETURN CODE IS 8 A25427 20880618 DEACTV L GR6,DCBCT LOAD ADDR OF C.T. DCB A25427 20881218 L GR6,EXLIST(GR6) LOAD ADDR OF C.T. EXIT LISTUL0H 20882017 MVI 0(GR6),RESET0 DEACT. USER HEADER EXIT UL0H 20883017 MVI 4(GR6),RESET0 DEACT. USER TRAILER EXIT UL0H 20884017 DEACTVOM L GR6,DCBOM LOAD ADDR OF O.M. DCB UL0H 20885017 L GR6,EXLIST(GR6) LOAD ADDR OF O.M. EXIT LISTUL0H 20886017 MVI 0(GR6),RESET0 DEACT. USER HEADER EXIT UL0H 20887017 MVI 4(GR6),RESET0 DEACT. USER TRAILER EXIT UL0H 20888017 MVI 12(GR6),X'85' MAKE DCB XIT LAST/ACTIVE UL0H 20889017 MVI 16(GR6),X'07' MAKE JFCB EXIT ACTIVE UL0H 20890017 DEACTVNM L GR6,DCBNM LOAD ADDR OF N.M. DCB UL0H 20890817 L GR6,EXLIST(GR6) LOAD ADDR OF N.M. EXIT LISTUL0H 20891617 MVI 0(GR6),RESET0 DEACT. USER HEADER EXIT. UL0H 20892417 MVI 4(GR6),RESET0 DEACT. USER TRAILER EXIT. UL0H 20893217 MVI 8(GR6),RESET0 DEACT. USER TOTALING EXIT. UL0H 20894017 MVI 12(GR6),X'85' MAKE DCB EXIT LAST AND ACTVUL0H 20894817 MVI 16(GR6),X'07' ACTIVATE JFCB EXIT. UL0H 20895617 CLI CLOSESW,X'0F' RETURN FROM CLOSING SYSIN UL0H 20897617 BE CLOSEOMT &F SO,CLOSE OM UL0H 20899617 CLI CLOSESW,X'F0' RETURN FROM CLOSING OM UL0H 20901617 BE CLOSENM IF SO,CLOSE NM UL0H 20903617 CLI CLOSESW,X'FF' RETURN FROM CLOSING NM UL0H 20905617 BE ALMOSTY IF SO,PREPARE TO RETURN UL0H 20907617 B CLOSEUP IF NOT BEGIN CLOSING UL0H 20909617 RESTORE CLI INPLCSW,X'0F' UPDATE INPLACE? @ZA06529 20919699 BE LASTLEG YES,BRANCH @ZA06529 20929699 CLI STARTMEM,X'0F' MEMBER UPDATE STARTED @ZA06529 20939699 BNE LASTLEG NO,BRANCH @ZA06529 20949699 L GR11,DCBNM ADDR OF NEW MASTER DCB @ZA06529 20951699 MVC BFDAD(8,GR11),FDADSET RESTORE TO START OF AREA @ZA06529 20953699 MVC TRBAL(2,GR11),TRKBAL RESTORE PREVIOUS TRACK BAL @ZA06529 20955699 LASTLEG TM CTONLYSW,X'01' IS THERE AN OLD MASTER 20959620 BO FREENEWM NO.. FREE UP NM BUFFERS A30480 21009620 L GR11,DCBOM ADDRESS OF OLD MASTER DCB 21060000 L GR1,OMREADP ADDRESS OF BUFFER 21080000 LTR GR1,GR1 IS THERE A BUFFER PTM223 21086017 BZ FREENEWM NO BRANCH PTM223 21092017 LH GR0,BBLKSI(GR11) LOAD BLOCKSIZE FROM DCB 21100000 FREEMAIN R,LV=(0),A=(1) 21120000 FREENEWM CLI INPLCSW,X'0F' IS THERE AN NEW MASTER 21140000 BE CLOSEUP NO- CLOSE DATA SETS 21160000 L GR11,DCBNM ADDRESS OF NEW MASTER DCB 21180000 L GR1,NMWRITEP ADDRESS OF NEW MASTER BUFFER 21200000 LTR GR1,GR1 IS THERE A BUFFER PTM223 21206017 BZ CLOSEUP NO BRANCH PTM223 21212017 LH GR0,BBLKSI(GR11) LOAD BLOCKSIZE FROM DCB 21220000 FREEMAIN R,LV=(0),A=(1) 21240000 CLOSEUP L GR7,DCBCT ADDRESS OF SYSIN DCB 21260000 CLOSE ((GR7),LEAVE) CLOSE SYSIN- LEAVE IN CASE TAPE 21280000 FREEPOOL (GR7) BS0H 21290017 LA GR9,CLOSEOMT RETURN FROM TRAILER CHECK 21300000 MVI CLOSESW,X'0F' UL0H 21310017 TESTTRAL CLI LBLRETCD,X'10' UL0H 21330017 BCR 4,GR9 OK IF LESS THAN 16 UL0H 21350017 HEADRMSG LA GR11,USRTRMSG CODE IS 16, USER LABEL ERROR 21380000 L GR15,PRIMEWRT ADDRESS OF MESSAGE CSECT 21400000 BALR GR14,GR15 GIVE MESSAGE 21420000 LA GR15,16 SET RETURN CODE TO 16 21440000 STH GR15,HICONCDE STORE 16 INTO CONDITION CODE 21460000 MVI LBLRETCD,X'00' RESET RETURN CODE UL0H 21470017 B DEACTVCT DEACTIVATE EXITS UL0H 21480017 CLOSEOMT CLI NMSYSNLB,X'00' ANY LABELS TO BE OUTPUT UL0H 21510017 BE CLOSEOM IF NOT, CLOSE NEW MASTER UL0H 21520017 CLI INPLCSW,X'0F' UPDATE=INPLACE UL0H 21550017 BE NOTRLBLI IF SO,ERROR UL0H 21560017 CLOSEOM L GR7,DCBOM ADDRESS OF OLD MASTER DCB 21580000 CLOSE ((GR7)) CLOSE OLD MASTER DCB 5200 21600015 MVI CLOSESW,X'F0' UL0H 21610017 BAL GR9,TESTTRAL TEST TRAILER RETURN CODE IF ANY 21620000 CLI PSSWNM,X'00' IS NM PHY SEQ UL0H 21630017 BE CLOSENM IF SO,CLOSE IT UL0H 21640017 CLI NMSYSNLB,X'00' ANY LABEL PROCESSING REQUESTUL0H 21650017 BNE LABLMESG IF SO, ITS AN ERROR UL0H 21660017 CLOSENM MVI NMCLSESW,X'1F' FLAG AS DURING CLOSE UL0H 21670017 CLI LABELSW,X'20' LABEL CREATION REQUESTED 16/' 21680017 BNE PRECLNM IF NOT, OPEN UL0H 21690017 MVI NMSYSNLB,X'0F' FLAG AS TRAILERS TO CREATE UL0H 21700017 PRECLNM L GR7,DCBNM NM DCB ADDRESS UL0H 21710017 CLOSE ((GR7)) CLOSE NEW MASTER DCB 5200 21740015 MVI CLOSESW,X'FF' UL0H 21750017 BAL GR9,TESTTRAL TEST TRAILER RETURN CODE IF ANY 21760000 ALMOSTY CLC TEMPCON(1),HICONCDE+1 UL0H 21780017 BNH ALMOSTZ HIGH OR EQUAL CODE 21800000 MVC HICONCDE+1(1),TEMPCON NO SWAP RETURN CODES 21820000 ALMOSTZ TM SYNADSW,X'0F' IS THIS THE END OF A SYNAD EXIT?A27716 21830019 BCR 1,GR3 YES, GO BACK TO IEBUPXIT A27716 21840019 L GR15,PRIMEWRT ADDRESS OF MESSAGE CSECT A27716 21850019 MVI QUITALL,X'0E' LAST MESSAGE AND CONDITION CODE 21860000 BR GR15 GIVE MESSAGE,CLOSE DCBLOG,RETURN 21880000 OMIOERR LA GR11,LBLERMSG I/O ERROR DURINT LABEL PRO UL0H 21884017 L GR15,PRIMEWRT ADDRESS OF IEBUPLOG UL0H 21888017 BALR GR14,GR15 PRINT MESSAGE UL0H 21892017 B DEACTVCT DEACTIVATE EXITS AND CLOSE UL0H 21896017 EJECT 21900000 * * 21920000 * CONSTANTS FOR IEBUPDT2 CSECT ONLY * 21940000 * * 21960000 DSORGRTN DC A(CHKDSORG) ENTRY POINT FOR CHECK DSORG ROUTINE 3341 21963017 BLANKS8 DC CL8' ' DOUBLE WORD OF HEX BLANKS UL0H 21965017 SAVEPT13 DS F SAVE REGISTER 13 UL0H 21967017 SAVEGR6 DS F SAVE REGISTER 6 A45212 21967421 SIZELIST DC X'0001004C' CONSTANT FOR BLDL LIST UL0H 21969017 REGSAVS DS 18F SAVE REGISTERS UL0H 21971017 PRIMEWRT DC V(IEBUPLOG) ENTRY POINT OF LOG ROUTINE UL0H 21973017 SCANENTR DC V(IEBASCAN) ENTRY POINT OF SCAN ROUTINE UL0H 21975017 MOVEPART MVC 0(1,GR6),0(GR7) MOVE PARTIAL CARD OM/CT UL0H 21977017 UPKSN UNPK D0(L1,GR7),TEMP(L8) SET NUMERIC IN SEQ NO YM07522 21977402 CHKSEQNB CLC 0(1,GR8),BLANKS8 TEST IF SEQUENCE NUMBER IS BUL0H 21979017 LOGMOVE MVC 0(1,GR7),0(GR6) MOVE RECORD TO LOG OUT AREA UL0H 21981017 COMPARES CLC 0(1,GR7),0(GR6) COMPARE SEQUENCE NUMBERS UL0H 21983017 COMDCLER XC COMDCD(1),COMDCD CLEAR CONTROL CARD SWITCHES UL0H 21985017 INITSEQ DC X'00480008' COLUMN 73,SIZE 8 SEQUENCE FIUL0H 21987017 SIXTEEN DC H'16' CONSTANT UL0H 21989017 SARG DC H'0' WORK AREA UL0H 21991017 SYS1RECL DC H'0' LOGICAL RECORD LENGTH SYSUT1UL0H 21993017 VALIDREC DC H'00' NUMBER OF RECORDS IN LAST BLUL0H 21995017 OMDC DC C'OM' REFERENCE OLD MASTER UL0H 21997017 NMDC DC C'NM' REFERENCE NEW MASTSR UL0H 21999017 SLASHAST DC C'/*' EOF INDICATOR SYSIN UL0H 22001017 DOTSLASH DC C'./' IDENTIFIES CONTROL CARD UL0H 22003017 TESTLABL DC 2X'0' TEMP STORAGE FOR LABELSW UL0H 22010017 TMPLBLCT DC 2X'0' TEMPORARY STORAGE OF LABEL #UL0H 22017017 MULTI DC X'00' SET TO X'0F' FOR NEXT MEMBER1796 22026017 NULL DC CL8'NULLFILE' A25310 22026518 CLOSESW DC X'0' UL0H 22027017 ZERO DC H'0' COMPARE FOR TOTAL CHANGE 3511 22029017 BLDFNDSW DC X'00' SET TO 00 WHEN BLDL IS DONE 2163 22030018 OLDOMSEQ DC D'0' TO HOLD PREVIOUS OM SEQ A24812 22031018 USING CHKDSORG,GR9 SET UP 2ND BASE AREA ADDRESSABILITY 3341 22032017 CHKDSORG DS 0F 3341 22035017 USING IHADCB,GR3 SET UP BASE FOR OM OR NM DCB 3341 22038017 L GR10,DCBEXLST GET ADDRESS OF DCB EXIT LIST 3341 22041017 NI 12(GR10),X'05' FLAG DCB ENTRY AS NOT LAST UL0H 22044017 STORADDR LA GR7,JFCBAREA GET ADDRESS OF AREA INTO WHICH JFCB 3341 22047017 ST GR7,16(GR10) READ AND PUT INTO EXLIT LISTUL0H 22050017 MVI 16(GR10),X'87' FLAG AS LAST AND JFCB UL0H 22053017 * READ (X'80' PLUS X'07') 3341 22056017 LR GR7,GR3 TRANSFER DCB ADDRESS TO PRESERVE 3341 22059017 * DSECT BASE FOR CONTINUED USE 3341 22062017 CLI INPLCSW,X'0F' UPDATE IN PLACE 3341 22065017 BE UPDTJFCB 3341 22068017 * 3341 22071017 RDJFCB ((GR7),OUTPUT) READ JFCB FOR OUTPUT 3341 22074017 * 3341 22077017 CLC JFCBAREA(8),NULL IS SYSUT2 A DUMMY SET A25310 22078018 BE DUMMYNM YES, GO TO MSG RTN A25310 22079018 TM JFCBAREA+52,X'20' A SYSIN/SYSOUT D/S ? @ZA33607 22079399 BO YESNEW YES,DON'T TEST DISP @ZA33607 22079599 TM JFCBAREA+87,X'C0' IS NM AN NEW D/S? @ZA28493 22080099 BO YESNEW YES,CONTINUE @ZA28493 22080699 OI NMBLKERR,X'80' NO,INDICATE NM OLD D/S @ZA28493 22081299 YESNEW OI 12(GR10),X'85' REST. DCB ENT LAST/ACTV @ZA28493 22081899 MVI 16(GR10),X'07' MAKE JFCB EXIT NOT LAST UL0H 22083017 LA GR11,SYSUT2NM GET ADDRESS OF SYSUT2 DD NAME 3341 22086017 B GETYPE GO CHECK DEVICE TYPE 3341 22089017 * 3341 22092017 UPDTJFCB RDJFCB ((GR7),UPDAT) READ JFCB FOR UPDATE IN PLACE 3341 22095017 OI 12(GR10),X'85' RESTORE DCB ENTRY LAST/ACTV UL0H 22098017 MVI 16(GR10),X'07' MAKE JFCB EXIT NOT LAST UL0H 22101017 LA GR11,SYSUT1NM GET ADDRESS OF SYSUT1 DD NAME 3341 22104017 GETYPE DEVTYPE (GR11),ADEVTYPE 3341 22107017 LTR GR15,GR15 TEST RETURN CODE 3341 22110017 BNZ DDNOTFND NOT ZERO, DD NAME NOT FOUND 3341 22113017 CLI ADEVTYPE+2,X'20' IS DEVICE TYPE DIRECT ACCESS 3341 22116017 BE GETDSCB YES, GO OBTAIN AND CHK DSORG 3341 22119017 NOOBTAIN OI DCBDSORG,PSDSET NO, SET DSORG AS SEQUENTIAL(PS) 3341 22122017 NI DCBMACR+1,X'20' DELETE POINT MACR @ZA00637 22124002 B TESTUT2 TEST FOR VALID DSORG A33305 22125020 NOOPEN CLI INPLCSW,X'0F' WAS OBTAIN FOR UPDATE INPLACE 3341 22128017 * I.E., FOR SYSUT1 DSCB 3341 22131017 BNE GETADUT2 NO, GET UT2 DDNAME ADDRESS 3341 22134017 LA GR7,SYSUT1NM YES,GET ADDR DDNAME FOR LOG MSG 3341 22137017 B GOTOLOG GO GET MSG CODE & GIVE MESSAGE 3341 22140017 GETADUT2 LA GR7,SYSUT2NM OBTAIN WAS FOR SYSUT2 DDNAME 3341 22143017 GOTOLOG LA GR11,NTOPMSG LOAD MESSAGE CODE 3341 22146017 B FINERRA GO PRINT MESSAGE, END JOB 3341 22149017 * 3341 22152017 DDNOTFND LA GR11,DDNAMEMG GET CODE FOR INVALID DDNAME MESSAGE 3341 22155017 B FINERRA GO PRINT MESSAGE AND END JOB 3341 22158017 * 3341 22161017 GETDSCB XC DSCBLIST(16),DSCBLIST CLEAR LIST AREA FOR OBTAIN 3341 22164017 OI DSCBLIST,X'C1' FLAG 1ST BYTE FOR SEARCH 3341 22167017 * OPERATION REQUESTED 3341 22170017 LA GR7,JFCBAREA PUT ADDRESS OF DATA SET 3341 22173017 ST GR7,DSCBLIST+4 NAME INTO LIST FOR OBTAIN 3341 22176017 LA GR7,JFCBAREA+118 PUT ADDRESS OF VOLID INTO LIST 3341 22179017 ST GR7,DSCBLIST+8 FOR OBTAIN 3341 22182017 LA GR7,DSCBAREA PUT ADDRESS OF 350 BYTE WORK 3341 22185017 ST GR7,DSCBLIST+12 AREA INTO LIST FOR OBTAIN 3341 22188017 OBTAIN DSCBLIST 3341 22191017 LTR GR15,GR15 TEST FOR RETURN CODE OF ZERO 3341 22194017 BC 7,NOOPEN NON-ZERO RETURN, END JOB 3341 22197017 TM DSCBAREA+38,X'02' IS DSORG PARTITONED 3341 22200017 BC 1,CHKPODS YES, GO CHECK IF UPDATE INPLACE 3341 22203017 TM DSCBAREA+38,X'BF' DSORG ANYTHING BUT SEQUENTIAL 3341 22206017 BC 7,NOOPEN YES, ERROR, GO GIVE MESSAGE 3341 22209017 * NO,CHECK FOR UPDATE IN PLACE 3341 22212017 CKINPLCE CLI INPLCSW,X'0F' UPDATE IN PLACE(DSORG WAS PS) 3341 22215017 BE TESTUT1 YES, GO COMPARE FOR UT1 3341 22218017 TESTUT2 CLI PSSWNM,X'00' PSSWNM SWITCH SET FOR PS 3341 22221017 BNE BADSORG NO, MESSAGE FOR INCOMPATIBLE 3341 22224017 * DATA SET ORGANIZATION 3341 22227017 BR GR8 RETURN AND OPEN DATA SET 3341 22230017 TESTUT1 CLI PSSWOM,X'00' PSSWOM SWITCH SET FOR PS 3341 22233017 BNE BADSORG NO, INCOMPATIBLE DSORGS 3341 22236017 BR GR8 RETURN, ALL OKAY 3341 22239017 CHKPODS CLI INPLCSW,X'0F' 3341 22242017 BE TESTUT1A 3341 22245017 TESTUT2A CLI PSSWNM,X'0F' 3341 22248017 BNE BADSORG INCOMPATIBLE DSORG, GIVE MSG 3341 22251017 BR GR8 3341 22254017 TESTUT1A CLI PSSWOM,X'0F' 3341 22257017 BNE BADSORG INCOMPATIBLE DSORG, GIVE MSG 3341 22260017 BR GR8 3341 22263017 BADSORG LA GR11,DSORGBAD LOAD CODE FOR DSORG MESSAGE 3341 22266017 B FINERRA GO GIVE MESSAGE AND END JOB 3341 22269017 EXTNTCHK DS 0H @ZA01684 22271002 CLI INPLCSW,X'0F' IS THIS UPDATE INPLACE 5324 22278017 BE BACK YES--BRANCH 5324 22281017 GETMAIN R,LV=176 5324 22284017 L GR6,DCBOM OLD MASTER DCB ADDRESS 5324 22287017 L GR6,36(GR6) EXIT LIST FOR DCB 5324 22290017 NI 12(GR6),X'05' FLAG DCB AS NOT LAST UL0H 22293017 ST GR1,16(GR6) AREA TO READ JFCB UL0H 22296017 MVI 16(GR6),X'87' FLAG AS LAST AND READ JFCB UL0H 22299017 LR GR7,GR1 SAVE ADDRESS OF AREA 5324 22302017 L GR6,DCBOM ADDRESS OF OLD MASTER DCB 5324 22305017 RDJFCB ((GR6),INPUT) 5324 22308017 L GR6,36(GR6) CHANGE FLAGS 5324 22311017 OI 12(GR6),X'85' RESTORE DCB ENTRY LAST/ACTV PTM714 22314017 NI 16(GR6),X'00' RESET JFCB ENTRY TO ZERO PTM714 22317017 CLC 0(44,GR7),JFCBAREA ARE DATA SET NAMES THE SAMES5324 22320017 BNE FREEUP NO--BRANCH 5324 22323017 CLC 118(6,GR7),JFCBAREA+118 A29047 22326019 BNE FREEUP NO--BRANCH 5324 22329017 MVI EXTNTSW,X'0F' YES-INDICATE EXTENTS CHECK 5324 22332017 FREEUP LR GR1,GR7 ADRESS OF AREA TO FREE 5324 22335017 FREEMAIN R,LV=176,A=(1) 5324 22338017 BACK BR GR8 5324 22341017 TWO DC F'2' 5873 22344017 FOUR DC F'4' UL0H 22344717 EIGHT DC H'8' UL0H 22345417 ENDUP DC C'ENDUP ' UL0H 22346117 REPSW DC X'00' REPLACE/UPDATE SWITCH YA01187 22348102 TEMP10 DS F UL0H 22356117 LENGTH DS F UL0H 22366117 DELETMSG DC CL25' * DELETED*' YA01187 22376102 UPDTMS DC CL25' * UPDATED RECORD*' YA01187 22376502 REPMES DC CL25' * REPLACEMENT*' YA01187 22376902 REPLMSG DC CL25' * REPLACED*' YA01187 22377302 INSERTMS DC CL25' * INSERTED*' YA01187 22378102 RENUMMS DC CL25' *RENUMBERING FORCED*' YA01187 22378502 EJECT 22380000 DCBD DSORG=PS 22400000 BDSORG EQU DCBDSORG-IHADCB DATA SET ORGANIZATION FIELD DCB 22420000 TRBAL EQU DCBTRBAL-IHADCB DISPLACEMENT FOR DCB TRACK BAL 5666 22430016 BLRECL EQU DCBLRECL-IHADCB LOGICAL RECORD LENGTH FIELD DCB 22440000 BOFLGS EQU DCBOFLGS-IHADCB OPEN ERROR FIELD IN DCB 22460000 BBLKSI EQU DCBBLKSI-IHADCB BLOCKSIZE FIELD IN DCB 22480000 IFLGSEOF EQU DCBIFLGS-IHADCB EOF FLAGS IN DCB 'AFTER' OPEN 22500000 BFDAD EQU DCBFDAD-IHADCB TTR IN MBBCCHHR AT START DCB 22520000 EXLIST EQU DCBEXLST-IHADCB 22530017 PODSET EQU 2 SETTING OF DCB DSORG FOR PODS 22540017 PSDSET EQU X'40' DCB SETTING FOR SEQUENTIAL 3341 22550016 RESET0 EQU X'00' CLEARS SWITCH 22560000 BIT80 EQU X'80' 22580000 BIT01 EQU X'01' 22600000 BIT10 EQU X'10' 22620000 EJECT 22640000 IEBUPCON 22660000 END IEBUPDT2 22680000