*TITLE ' IEHMVSTJ * 00020000 * /* START OF SPECIFICATIONS*** 00025002 *01* PROCESSOR = ASSEM; 00030002 **** END OF SPECIFICATIONS ***/ 00035002 *FUNCTION/OPERATION: MOVE OR COPY DATASET WHICH ARE PDS OR PHYSICAL * 00040000 *SEQUENTIAL. WHEN MOVING OR COPYING PDS DATA SET THE PROGRAM UPDATES * 00060000 *TTR'S IN DIRECTORY ENTRY AND UPDATES TTR POINTERS IN NOTELISTS IF * 00080000 *THE PDS CONTAINS NOTELISTS. THE MODULE DOES A GET MAIN FOR BUFFERS * 00100000 *AND FREEMAIN BEFORE XCTL. * 00120000 *ENTRY POINTS: IEHMVETJ * 00140000 *INPUT: AT ENTRY REG13 POINTS TO SAVEAREA AND REG 12 POINTS TO * 00160000 *COMMUNICATION TABLE. * 00180000 *OUTPUT: REGISTERS ARE SAME AS ENTRY. * 00200000 *EXTERNAL ROUTINES: IEHMVSSR, IEHMVLSU. * 00220000 *EXITS - NORMAL XCTL TO IEHMVSSN XCTL TO IEHMVETG * 00240000 *ERRORS: XCTL TO IEHMVSSN * 00260000 *TABLES/WORK AREAS: IEHMVV - COMMUNICATION TABLE THE WORKAREA IS IN * 00280000 *THE COMMUNICATION TABLE * 00300000 IEHMVSTJ CSECT 00302002 *A050020-050180,062460 (ORG)@ZA31216=@XA21663=@YA20729 00302199 *A017500 @ZA10917 00302499 *C017870 @YA01724 00302599 *A27580 YA01458 00302602 *D27560-27720,27800,28200-28900 YA01458 00303202 * YM0566 IS REINSERTION OF CODE REMOVED BY XA00077 YM0566 00303302 *C 027560 YM0566 00303602 *A 027660-027860,028500-028948 YM0566 00303702 *A008730-008760,017810-017920,130330-130360 YA01221 00304002 *C007800,008700 YA01221 00306002 *C007800,D008400-008600,A008700,018200,C020800,D039000,040000, A48812 00310200 *041000,A041600,D043400-043600,A043700,043720,C045600,A051000, A48812 00310600 *D051200-053200,C053400,A058600,064400,070400,D071030-071810, A48812 00311000 *A073320,D073370,080400-082000,A130200 A48812 00311400 * A37903 00312021 * 032200,032800 A31964 00320120 *045400 A31964 00320220 * 019000 A27706 00320519 * 093200,094600,115660 A26560 00321019 * PTM2433 00323018 * 103450-103550 PTM2433 00326018 *1796005800,111800 PTM019 00330017 * 00340017 *1796 UL0H 00360017 * UL0H 00380017 * * 00400000 * THIS ROUTINE COPIES A PDS TO A NEW PDS WITH OPTIONS FOR UL0H 00410017 * REPLACING MEMBERS AND INCLUDING NEW MEMBERS IN THE NEW PDS. UL0H 00420017 * UL0H 00430017 *A031300-031384 @YA01458 00440002 *C029000 @YA01458 00450002 IEHMVETJ SAVE (14,12),T,IEHMVETJ-78/04/17-OZ31216 @ZA31216 00460099 USING IEHMVETJ,BASE10 00480000 USING IEHGOTEN,BASE11 00500000 USING IEHMVV,BASE12 00520000 USING PRINTBUF,1 00540000 ENTRY IEHMVETJ 00560000 * UL0H 00570017 * THIS ROUTINE COMPUTES AMOUNT OF CORE NEEDED FOR WORK AREA UL0H 00580017 * AND BUFFER, AND CLEARS WORK AREA TO ZEROS. UL0H 00590017 * UL0H 00600017 FIRST LR BASE10,15 LOAD BASE REGISTER 00640000 SR REGZERO,REGZERO 00660000 L 3,IEHMVV62 00680000 LTR 3,3 00700000 BP ENTRY2 00720000 L 2,IEHMVV10 00740000 ST 2,IEHMVV62 00760000 LA 2,188(0,2) YA01221 00780002 ST 2,IEHMVV10 00800000 ENTRY2 L 11,IEHMVV62 00820000 XC 0(188,11),0(11) CLEAR THE WORKAREA YA01221 00870002 MVI BLDLIST+1,X'01' INDIC ONE ENTRY YA01221 00873002 MVI BLDLIST+3,X'0E' ENTRY LENGTH YA01221 00876002 L REG4,IEHMVV31 00880000 MVC SYNAD(3,REG4),ERREXT ADDR OF SYNAD EXIT 00900000 L REG2,IEHMVV30 LOAD ADDR OF FROMDCB 00920000 MVC EODAD(3,REG2),PDSOUT+1 PUT EODAD EXIT IN DCB 00940000 MVC SYNAD(3,REG2),ERREXT ADDR OF SYNAD EXIT 00960000 * UL0H 00962017 * ACTIVATE USER INPUT TRAILER LABEL EXIT IF REQUIRED. UL0H 00964017 * UL0H 00966017 CLI UDCBITLE,DEACTIVE IS ITLE INACTIVE UL0H 00968017 BE NEXTCODE YES, CONTINUE UL0H 00970017 MVC UDCBITLE(4),XXITLE NO, SET UP ITLE EXLST ADDR UL0H 00972017 NEXTCODE DS 0H UL0H 00974017 SR REG3,REG3 00980000 IC REG3,KEYL(0,REG2) INSERT KEY LENGTH FROM DCB 01000000 STC REG3,KEYLEN 01020000 LH REGONE,BLKS(0,REG2) LOAD WITH BLOCKSIZE FROM DCB 01040000 STH REGONE,BLKSIZE 01060000 IEHPRE (14,1),TF 01080000 TM DSORG(REG2),X'02' IS THIS A BSAM DATASET 01100000 BC 8,BSAMRTN YES GO TO BSAM ROUTINE 01120000 SR 2,2 01140000 B GETMEMBR 01160000 GBSBF SR 0,0 01180000 IC REGZERO,KEYLEN ADD KEY LENGTH 01200000 AH REGZERO,BLKSIZE PLUS BLKSIZE TO COMPUTE 01220000 ST REGZERO,BUFF STORE AMOUNT FOR BUFFER 01240000 GETMAIN R,LV=(0) BUFFER SIZE 01260000 ST REGONE,BUFFER 01280000 B READ01 01300000 * THIS ROUTINE WILL GET MEMBER DIRECTORY RECORD PLACED IN DIRENTRY 01320000 * AND BRANCH TO ROUTINE INDEXED BY RETURN CODE 01340000 GETMBR02 LA REG2,10 01360000 B GETMEMBR 01380000 * GETMBR01 WILL SET ENTRY SWITCH FOR MEMBER ENTRY WILL 01400000 * PRINT MESSAGE THAT MEMBER HAS BEEN MOVED 01420000 GETMBR01 L REG3,A118 01440000 IC REG2,A118 01460000 BAL REG9,MESSAGE 01480000 GETMEMBR LA REG3,DIRENTRY-5 01500000 LINK EP=IEHMVESR 01520000 B BACK(15) 01540000 BACK B CKALIAS 01560000 B FINISHED END OF JOB 01580000 B WRKFLE 01600000 * 01620000 * THIS ROUTINE CHECKS FOR ALIAS BIT IF PRESENT GO TO STOW ALIAS 01640000 * IF TRUE MEMBER NAME CHECK FOR PRESENCE OF NOTELIST TTRS 01660000 * 01680000 CKALIAS LA 2,DIRENTRY-5 01700000 MVI 0(2),X'00' 01720000 MVC 1(4,2),0(2) 01740000 XC TTRXPTR,TTRXPTR CLEAR TTRXPTR @ZA10917 01750004 TM C,BIT0 01760000 BO STALRTN YES GO TO STOW ALIAS ROUTINE 01780000 TM IEHMVV20+3,X'08' PREALLOCATION YA01221 01781002 BZ CONTINUE NO DON'T CHECK YA01221 01782002 * THE NEXT ROUTINE READS THE DIRECTORY OF THE RECEIVING YA01221 01783002 * DATA SET YA01221 01784002 * IF THE MEMBER TO BE COPIED ALREADY EXISTS THEN THE MEMBER YA01221 01785002 * WILL NOT BE COPIED AND A WARNING MESSAGE WILL BE ISSUED YA01221 01786002 MVC BLDLIST+4(8),RENAME GET THE MEMBER NAME @YA01724 01787002 L REG2,IEHMVV31 ADDR TO-DCB YA01221 01788002 BLDL (REG2),BLDLIST YA01221 01789002 LTR REG15,REG15 MEMBER FOUND YA01221 01790002 BZ DUP01 YES PRINT MSG YA01221 01791002 CONTINUE DS 0H NO COPY THE MEMBER YA01221 01792002 TM C,X'60' ARE THERE TTRS 01800000 BZ PDSBUF NO 01820000 SR REGZERO,REGZERO CLEAR FOR INSERT A48812 01830022 IC REGZERO,C CALCULATE NUMBER A48812 01832022 SRL REGZERO,5 OF USER TTRN'S A48812 01834022 LA REG2,N1 BYTE N OF FIRST TTR A48812 01836022 SRCHNL DS 0H A48812 01838022 CLI 0(REG2),X'00' NOTELIST PTR A48812 01838422 BNE NLBUF YES GET A NL AREA A48812 01838822 LA REG2,4(REG2) JUMP TO NEXT TTRN A48812 01839222 BCT REGZERO,SRCHNL IF ANY A48812 01839622 B PDSBUF SKIP NL GETMAIN A48812 01839722 NLBUF DS 0H A48812 01839822 LA REGZERO,1024 01840000 LH REGONE,BLKSIZE 01860000 CR REGZERO,REGONE 01880000 BH ADDKEY A27706 01900019 LR REGZERO,REGONE 01920000 ADDKEY AH REGZERO,KEY 01940000 LA REG2,4 ADD 4 INTO REGISTER 01960000 AR REGZERO,REG2 ADD 4 TO SIZE OF AREA 01980000 ST REGZERO,NOTE STORE AMT FOR NOTELIST BUFF 02000000 GETMAIN R,LV=(0) GET AREA FOR NOTELIST 02020000 ST REGONE,NOTELIST 02040000 AH REGONE,KEY 02060000 ST REGONE,TTRXPTR BEGIN OF NL DATA A48812 02090022 PDSBUF SR 0,0 02100000 AH REGZERO,KEY 02120000 AH REGZERO,BLKSIZE 02140000 ST REGZERO,BUFF STORE AMOUNT FOR BUFFER 02160000 GETMAIN R,LV=(0) GET AREA FOR RECORDS 02180000 ST REGONE,BUFFER ADDRESS OF CORE 02200000 SR REG6,REG6 A31964 02204020 ST REG6,TTR1 ZERO TTR SAVE AREAS A31964 02208020 ST REG6,TTR2 A31964 02212020 ST REG6,TTR3 A31964 02216020 TM C,THREENL 02220000 BC 7,HASNOTE 02240000 COPYMBR L REGONE,IEHMVV30 ADDRESS OF FROM DCB 02260000 MVI IOFLG(REGONE),X'00' RESET I/O FLAGS 02280000 L REG2,IEHMVV31 ADDRESS OF TO DCB 02300000 MVI IOFLG(REG2),X'00' RESET I/O FLAGS 02320000 LA 1,0(0,1) 02340000 MVC NXTPT(3),TTR LOAD TTR FROM DIRECTORY 02360000 * ENTRY AND POINT TO FIRST 02380000 LA REGZERO,NXTPT 02400000 POINT (1),(0) 02420000 B READ01 02440000 * 02460000 * 02480000 * THIS READS A RECORD COMPUTES THE LENGTH OF RECORD THEN WRITES 02500000 * THE RECORD IN THE NEW PDS THIS ROUTINE COPIES MEMBERS THAT HAVE 02520000 * NO NOTELISTS 02540000 * 02560000 * 02580000 READ01 L REG2,IEHMVV30 ADDRESS OF FROMDCB 02600000 L REGONE,IEHMVV30+4 02620000 L REG3,BUFFER POINTER TO BUFFER 02640000 SR REG5,REG5 02660000 AH REG5,BLKS(0,REG2) ADD BLOCKSIZE FROM DCB 02680000 BAL REG9,READ READ A RECORD 02700000 CLI IEHMVV74+4,X'FF' I/O ERR IN U.L. EXIT RTN UL0H 02704017 BNE READ01A NOT ON - CONTINUE UL0H 02708017 BAL REG9,IOERRMSG OUTPUT I/O ERR MSG UL0H 02712017 READ01A DS 0H UL0H 02716017 L REGONE,IEHMVV30+4 02720000 BAL REG9,CHECK CHECK THE READ 02740000 WRIT01 SR REG5,REG5 8696 02748013 TM 17(REG2),X'20' TEST FOR DA YM0566 02756002 LA REG9,RETRN RETURN ADDRESS YM0566 02766002 BO GETLNGTH YES DA YM0566 02776002 B NOKEYLN NO VALID KEYS YM0566 02786002 RETRN L REG2,IEHMVV31 ADDRESS OF TO DCB 8696 02788013 MVC BLKSAVE(2),BLKS(REG2) 02800000 LH REGONE,CSWCT(0,REG4) PORTION OF BLOCK NOT MOVED YM0566 02850002 LTR REGONE,REGONE YM0566 02860002 BZ GOOD NOT A TRUNCATED BLOCK YM0566 02870002 L REG4,IEHMVV30 PTR TO FROM DCB YM0566 02880002 TM 17(REG2),X'20' TEST FROM FOR DA YM0566 02890002 BZ CHANGE NOT DA YM0566 02892002 SR REG9,REG9 YM0566 02894002 IC REG9,KEYL(0,REG2) FROM KEY LENGTH YM0566 02894402 SR REG5,REG9 DATA LENGTH YM0566 02894802 CHANGE STH REG5,BLKS(0,REG2) CHANGE DCB BLKSIZE 8696 02895013 GOOD1 L REGONE,IEHMVV31+4 ADDRESS OF TO DECB @YA01458 02900002 L REG3,BUFFER 02940000 LTR 5,5 IS THE BLOCK COUNT ZERO? 8193 02960000 BZ FINISHED YES--DO NOT ISSUE WRITE 8193 02980000 BAL REG9,WRITE WRITE A RECORD 03000000 L REGONE,IEHMVV31+4 03020000 LA 1,0(0,1) 03040000 CHECK (1) 03060000 L REG2,IEHMVV31 03080000 MVC BLKS(2,REG2),BLKSAVE 03100000 B READ01 03120000 GOOD TM 36(REG2),X'C0' UNDEFINED RECFM ? @YA01458 03122002 BNO GOOD1 NO-BRANCH @YA01458 03124002 SR REG9,REG9 SUBTRACT @YA01458 03126002 IC REG9,KEYL(0,REG2) KEYLENGTH FROM @YA01458 03128002 SR REG5,REG9 DATA LENGTH @YA01458 03130002 B GOOD1 @YA01458 03132002 * THE HASNOTE ROUTINE CHECKS THE NUMBER OF TTRNS IN THE USER DATA 03140000 * AND PLACES THE TTRS INTO A COMPARE AREA AND SAVES THE NUMBER OF 03160000 * TTRS PRESENT 03180000 * 03200000 HASNOTE TM C,THREENL ARE THERE TTRNS ? A31964 03250020 BC 1,SET3 HAS THREE TTR POINTERS 03320000 TM C,TWONL 03340000 BC 1,SET2 HAS TWO TTR POINTERS 03360000 B SET1 03380000 SET3 MVC TTR3(4),TTRN3 MOVE TTR TO COMPARE AREA 03400000 LA REG6,1(0,REG6) ADD COUNT OF ONE TO 03420000 SET2 MVC TTR2(4),TTRN2 03440000 LA REG6,1(0,REG6) 03460000 SET1 MVC TTR1(4),TTRN1 03480000 LA REG6,1(0,REG6) 03500000 * 03520000 * CHECK TO SEE IF ALL NOTELISTS HAVE BEEN UPDATED IF SO GO TO 03540000 * READ01 IF NOTELIST REMAINS TO BE UPDATE GO TO POINTER 03560000 * 03580000 GETNTLST LTR REG6,REG6 03600000 BC 8,READ01 03620000 B POINTER 03640000 * POINTER ROUTINE DETERMINES WHICH NOTELIST SHOULD BE READ INTO 03660000 * CORE NEXT KEEPS TRACK OF NUMBER OF NOTELISTS WHICH HAVE BEEN 03680000 * UPDATED 03700000 * 03720000 POINTER NI TESTSW,X'00' 03740000 CLI TTRPT,X'01' 03760000 BL PTONE 03780000 BE PTTWO 03800000 BH PTTHRE 03820000 PTONE CLI TTR1+3,NONL 03840000 BE PTTWO 03860000 L REGZERO,TTR1 03880000 B POINT 03920000 PTTWO CLI TTR2+3,NONL 03940000 BE PTTHRE 03960000 L REGZERO,TTR2 03980000 B POINT 04020000 PTTHRE CLI TTR3+3,NONL 04040000 BE WCHREAD GO TO READ AND NOTE ROUTINE 04060000 L REGZERO,TTR3 04080000 * FALL THROUGH TO POINT 04120000 POINT L REGONE,IEHMVV30 ADDRESS OF FROMDCB 04140000 LA 1,0(0,1) 04160000 STC REGZERO,TTRXPTR SAVE NBR OF TTRX'S A48812 04170022 IC REGZERO,ZERO CLEAR THE LOW ORDER BYTE A48812 04172022 SR REG8,REG8 04180000 IC REG8,TTRPT 04200000 LA REG8,1(0,REG8) ADD ONE TO TTR POINTER 04220000 STC REG8,TTRPT 04240000 IC REGZERO,ZERO 04260000 ST REGZERO,NXTPT 04280000 LA REGZERO,NXTPT 04300000 POINT (1),(0) 04320000 SR REG8,REG8 CLEAR FOR INSERT A48812 04370022 IC REG8,TTRXPTR SAVE TOTAL NBR OF NLTTRX'SA48812 04372022 L REG2,IEHMVV30 ADDRESS OF FROMDCB 04380000 MVI IOFLG(REG2),X'00' RESET I O FLAGS 04400000 L REG3,NOTELIST POINTER TO NOTELIST BUFFER 04420000 LH REG5,BLKSIZE 04440000 L REGONE,IEHMVV30+4 04460000 BAL REG9,READ READ A RECORD 04480000 CLI IEHMVV74+4,X'FF' I/O ERR IN U.L. EXIT RTN UL0H 04484017 BNE POINTA NOT ON - CONTINUE UL0H 04488017 BAL REG9,IOERRMSG OUTPUT I/O ERR MSG UL0H 04492017 POINTA DS 0H UL0H 04496017 L REGONE,IEHMVV30+4 04500000 BAL REG9,CHECK CHECK THE READ 04520000 BAL REG9,GETLNGTH 04540000 * THIS ROUTINE ZEROES THE FIRST BIT OF EACH TTRX A52050 04545022 LR REGONE,REG8 SAVE THE NBR OF TTRX'S A52050 04550022 BAL REG2,RESTNL CLEAR THE HIGH ORDER BIT A52050 04555022 LR REG8,REGONE RESTORE A52050 04556022 STC REG8,TTRXPTR SET THE COUNTER A52050 04557022 B WCHREAD A48812 04560022 * READ NOTELIST INTO CORE IF THIS IS FIRST POINT FIND START OF 04580000 * MEMBER IF NOT FIRST POINT GO TO READNEXT RECORD 04600000 * 04620000 * READNEXT ADJUSTS THE TTR AND POINTS TO THE NEXT RECORD 04640000 READNEXT L REGZERO,RDNOTE 04660000 A REGZERO,ADDTOR 04680000 L REGONE,IEHMVV30 04700000 LA 1,0(0,1) 04720000 IC REGZERO,ZERO 04740000 ST REGZERO,NXTPT 04760000 LA REGZERO,NXTPT 04780000 POINT (1),(0) 04800000 READREC LH REG5,BLKSIZE 04820000 L REGONE,IEHMVV30+4 04840000 L REG2,IEHMVV30 ADDRESS OF FROMDCB 04860000 L REG3,BUFFER 04880000 BAL REG9,READ READ A RECORD 04900000 CLI IEHMVV74+4,X'FF' I/O ERR IN U.L. EXIT RTN UL0H 04904017 BNE READRECA NOT ON - CONTINUE UL0H 04908017 BAL REG9,IOERRMSG OUTPUT I/O ERR MSG UL0H 04912017 READRECA DS 0H UL0H 04916017 L REGONE,IEHMVV30+4 04920000 BAL REG9,CHECK CHECK THE READ 04940000 NOTE (2) 04960000 ST REGONE,RDNOTE 04980000 BAL REG9,GETLNGTH 05000000 L REG2,IEHMVV31 ADDRESS OF TO DCB @ZA31216 05002099 L REG4,IEHMVV30 ADDRESS OF FROM DCB @ZA31216 05004099 MVC BLKSAVE(2),BLKS(REG2) SAVE TO BLKSIZE @ZA31216 05006099 TM 17(REG4),X'20' TEST FROM FOR DA @ZA31216 05008099 BZ CHANGE1 NOT DA @ZA31216 05010099 SR REG9,REG9 @ZA31216 05012099 IC REG9,KEYL(0,REG4) FROM KEY LENGTH @ZA31216 05014099 SR REG5,REG9 DATA LENGTH @ZA31216 05016099 CHANGE1 STH REG5,BLKS(0,REG2) CHANGE DCB BLKSIZE @ZA31216 05018099 * THIS ROUTINE COMPARES THE TTR RETURNED BY NOTE TO THE TTRS IN 05020000 * THE DIRECTORY ENTRY AND THE TTR IN THE NOTELIST IF AN EQUAL 05040000 * CONDITION IS FOUND UPDATE TTR WITH THE TTR RETURNED FROM NOTE 05060000 * AFTER WRITE 05080000 * 05100000 CMPTTRS DS 0H A48812 05110022 CLC RDNOTE(3),TTR1 A48812 05340022 BE *+8 05360000 B CMP3 05380000 SR REG7,REG7 05400000 IC REG7,N1 05420000 BAL REG9,WRTEST1 05440000 MVC TTRN1(3),WRNOTE UPDATE TTRN IN DIRECTORY 05460000 MVC TTR1(4),ZERO SET UPDATED COMPARE AREA TO 05480000 CMP3 CLC RDNOTE(3),TTR2 05500000 BE *+8 05520000 B CMP4 05540000 SR REG7,REG7 05560000 IC REG7,N2 05580000 BAL REG9,WRTEST1 05600000 MVC TTRN2(3),WRNOTE 05620000 MVC TTR2(4),ZERO 05640000 CMP4 CLC RDNOTE(3),TTR3 05660000 BE *+8 05680000 B CMPDONE 05700000 SR REG7,REG7 05720000 IC REG7,N3 05740000 BAL REG9,WRTEST1 05760000 MVC TTRN3(3),WRNOTE 05780000 MVC TTR3(4),ZERO 05800000 CMPDONE BAL REG9,WNTEST 05820000 NI TESTSW,X'10' 05840000 TM TESTSW,X'10' NOTELIST WRITTEN A48812 05860022 BO POINTER YES LOOK FOR ANOTHER A48812 05862022 SR REG7,REG7 CLEAR FOR INSERT A48812 05872022 IC REG7,TTRXPTR NBR OF TTRX'S TO CHECK A48812 05874022 LTR REG7,REG7 ALL TTRX'S UPDATED A48812 05876022 BZ READREC YES CONTINUE A48812 05878022 LR REG2,REG7 SAVE THE NBR A48812 05880022 L REG9,TTRXPTR START OF NOTE LIST A48812 05882022 NLTTRA DS 0H A48812 05884022 TM 0(REG9),X'80' TTRX FLAGGED A48812 05886022 BO NLTTRD YES CHECK NEXT ONE A48812 05888022 CLI 2(REG9),X'00' ZERO TTRX A48812 05890022 BE NLTTRB YES FLAG THIS ONE A48812 05892022 CLC 0(3,REG9),RDNOTE EQUAL TTR'S A48812 05894022 BNE NLTTRC NO GO TO NEXT ONE A48812 05896022 MVC 0(3,REG9),WRNOTE YES UPDATE THE TTR A48812 05898022 NLTTRB DS 0H A48812 05900022 OI 0(REG9),X'80' FLAG THIS TTR A48812 05902022 BCT REG7,NLTTRC NEXT ONE IF ANY A48812 05904022 BAL REG2,RESTNL RESTORE THE NL A48812 05906022 NLTTRE DS 0H A48812 05908022 B READREC CONTINUE A48812 05910022 NLTTRC DS 0H A48812 05912022 BCT REG2,NLTTRD GO TO NEXT TTRX A48812 05914022 STC REG7,TTRXPTR STORE NEW NL COUNT A48812 05914422 B READREC CONTINUE A48812 05914822 NLTTRD DS 0H A48812 05918022 LA REG9,4(REG9) JUMP TO NEXT TTR A48812 05920022 B NLTTRA A48812 05922022 * 05932022 * THIS ROUTINE CHECKS TO SEE IF RECORD HAS BEEN WRITTEN 05950022 * DECIDES WHETHER TO WRITE THE BUFFER OR THE UPDATED 05952022 * NOTELIST GO TO UPDATE ROUTINE 05960000 * 05980000 WNTEST TM TESTSW,X'01' 06000000 BC 1,GOBACK 06020000 OI TESTSW,X'01' 06040000 L REG3,BUFFER 06060000 WRTREC L REG2,IEHMVV31 ADDRESS OF TODCB 06080000 L REGONE,IEHMVV31+4 06100000 ST REG9,NINSAV SAVE RETURN ADDR 06120000 BAL REG9,WRITE WRITE A RECORD 06140000 L REGONE,IEHMVV31+4 06160000 LA 1,0(0,1) 06180000 CHECK (1) 06200000 L REG9,NINSAV LOAD SAVED ADDR 06220000 L REGONE,IEHMVV31 ADDRESS OF TODCB 06240099 MVC BLKS(2,REGONE),BLKSAVE RESTORE TO BLKSIZE @ZA31216 06246099 LA 1,0(0,1) 06260000 NOTE (1) 06280000 ST REGONE,WRNOTE 06300000 SETTEST OI TESTSW,X'01' 06320000 GOBACK BR REG9 06340000 * 06360000 * 06380000 WRTEST1 LTR REG7,REG7 06400000 BE WNTEST 06420000 OI TESTSW,X'10' 06440000 CLI TTRXPTR,X'00' NOTELIST UPDATED A48812 06450022 BE WRNLIST1 YES CONTINUE A48812 06452022 ST REG9,NINSAV SAVE RETURN ADDRESS A48812 06452422 BAL REG2,RESTNL RESTORE NL BEFORE WRITE A48812 06454022 B BADNOTE ISSUE WARNING A48812 06456022 WRNLIST DS 0H A48812 06458022 L REG9,NINSAV RESTORE RETURN ADDRESS A48812 06458422 WRNLIST1 DS 0H A48812 06458822 L REG3,NOTELIST 06460000 B WRTREC 06480000 * THIS ROUTINE WILL STOW AN ALIAS MEMBER INTO THE NEW PDS AFTER 06500000 * UPDATING THE TTRS PRESENT 06520000 STALRTN TM STOWBIT,X'01' 06540000 BC 1,NOSTALIS 06560000 MVC TTR(3),TTRSAVE 06580000 TM C,THREENL 06600000 BC 1,SWAP3 06620000 TM C,TWONL 06640000 BC 1,SWAP2 06660000 TM C,ONENL 06680000 BC 1,SWAP1 06700000 B NOSWAP 06720000 SWAP3 MVC TTRN3(4),SAVTTR3 06740000 SWAP2 MVC TTRN2(4),SAVTTR2 06760000 SWAP1 MVC TTRN1(4),SAVTTR1 06780000 NOSWAP B STOWMBR 06800000 * THIS ROUTINE CALCULATES THE LENGTH OF THE RECORD 06820000 * READ A PLACES LENGT IN REGISTER 5 TO BE USED BY 06840000 * WRITE 06860000 * 06880000 GETLNGTH SR REG5,REG5 06900000 L REG2,IEHMVV30 ADDRESS OF FROMDCB 06920000 IC REG5,KEYL(0,REG2) INSERT KEY LENGTH FROM DCB 06940000 NOKEYLN AH REG5,BLKS(0,REG2) ADD BLKSIZE FROM DCB 8696 06960013 L REG4,IEHMVV30+4 ADDRESS OF DECB 06980000 L REG4,IOBAD(0,REG4) LOAD ADDR OF IOB 07000000 SH REG5,CSWCT(0,REG4) SUBT COUNT FROM CSW 07020000 BR REG9 07040000 * THIS ROUTINE RESTORES THE NOTELIST BEFORE A48812 07040422 * IT IS WRITTEN A48812 07040822 * IT IS ALSO INVOKED TO ZERO THE HIGH ORDER BIT OF A52050 07041822 * EACH TTRX BEFORE PROCESSING A52050 07041922 RESTNL DS 0H A48812 07042022 L REG9,TTRXPTR START OF NOTELIST A48812 07044422 NLTTRG NI 0(REG9),X'7F' UNFLAG THE TTR A48812 07046022 LA REG9,4(REG9) JUMP TO NEXT TTR A48812 07048022 BCT REG8,NLTTRG IF ANY A48812 07050022 STC REG8,TTRXPTR INDIC NL CHECKED A48812 07052022 BR REG2 RETURN TO CALLER A48812 07054022 * THIS ROUTINE WILL STOW MEMBER IN DIRECTORY OF NEW PDS 07060000 * 07080000 STOWMBRF L REGONE,NOTELIST LOAD NOTELIST BUFFER ADDRESS. A31964 07085020 LTR REGONE,REGONE DOES MEMBER HAVE NOTELIST ? A31964 07090020 BZ FREBUF NO. A31964 07095020 SR REGZERO,REGZERO A31964 07099020 FRENOTE L REGONE,NOTELIST LOAD NOTELIST BUFFER ADDR. A31964 07190020 L REGZERO,NOTE LENGTH OF NOTELIST BUFFER. A31964 07199020 FREEMAIN R,LV=(0),A=(1) A31964 07208020 SR REG2,REG2 A31964 07214020 ST REG2,NOTE ZERO NOTELIST BUFFER ADDR A31964 07220020 ST REG2,NOTELIST AND LENGTH. A31964 07226020 * CHECK TO SEE IF ALL USER TTRNS HAVE BEEN UPDATED. A31964 07232020 FREBUF CLC TTR1(4),ZERO HAS FIRST TTRN BEEN UPDATED ? A31964 07237020 BNE BADTTRN NO--PRINT MESSAGE. A31964 07242020 CLC TTR2(4),ZERO HAS SECOND BEEN UPDATED ? A31964 07247020 BNE BADTTRN NO A31964 07252020 CLC TTR3(4),ZERO HAS THIRD BEEN UPDATED ? A31964 07257020 BNE BADTTRN NO A31964 07262020 FREBUF1 L REGZERO,BUFF A31964 07267020 L REGONE,BUFFER A31964 07272020 FREEMAIN R,LV=(0),A=(1) A31964 07277020 SR REG2,REG2 A31964 07282020 ST REG2,BUFF A31964 07287020 ST REG2,BUFFER A31964 07292020 B STOWMBR STOW THIS MEMBER A31964 07297020 * A TTR WITHIN THE NOTELIST HAS NOT BEEN UPDATED. PRINT A31964 07302020 * MESSAGE. THEN STOW MEMBER. A31964 07307020 BADNOTE L REG3,A129 GET ADDR OF IEH328I. A31964 07312020 IC REG2,A129 LENGTH MINUS ONE OF IEH328I. A31964 07317020 BAL REG8,CLEAR HAVE BLANKS PUT IN BUFFER. A31964 07322020 EX REG2,MOVER MOVE MESSAGE TO BUFFER. A31964 07327020 BAL REG9,MESSAG02 HAVE MESSAGE PRINTED. A31964 07332020 B WRNLIST RETURN TO WRITE THE NL A48812 07334022 * A TTRN IN THE USER DATA FIELD OF THE DIRECTORY HAS NOT BEEN A31964 07342020 * UPDATED. PRINT MESSAGE. THEN STOW MEMBER A31964 07347020 BADTTRN L REG3,A128 GET ADDR OF IEH327I. A31964 07352020 IC REG2,A128 LENGTH MINUS ONE OF MESSAGE. A31964 07357020 BAL REG8,CLEAR HAVE BLANKS PUT IN BUFFER. A31964 07362020 EX REG2,MOVER MOVE MESSAGE TO BUFFER. A31964 07367020 BAL REG9,MESSAG02 HAVE MESSAGE PRINTED. A31964 07372020 B FREBUF1 A31964 07381020 STOWMBR LA REGZERO,DIRENTRY A31964 07390020 MVC DIRENTRY(8),RENAME MOVE MEMBER NAME FOR STOW 07420000 L REGONE,IEHMVV31 ADDRESS OF TODCB 07440000 LA 1,0(0,1) 07460000 STOW (1),(0),A 07480000 MVC TTRSAVE(16),TTR SAVE TTRS FROM REAL MEMBER 07500000 B GO(15) 07520000 GO B GETMBR01 07540000 B DUPLCTE 07560000 EX 0,* 07580000 B DIRFULL 07600000 B STOERR 07620000 ******************************************************************21919 07621000 * *21919 07622000 * NEXT RETURN CODES ALSO GIVE THE MESSAGE: *21919 07623000 * IEH326I I/O ERROR ENCOUNTERED IN OUTPUT DATA SET *21919 07624000 * BUT THESE RETURN CODES ARE CAUSED BY OTHER ERRORS *21919 07625000 * *21919 07626000 ******************************************************************21919 07627000 B STOERR INDICATES I/O REQUESTS AGAINST THE 21919 07628000 * DCB ARE STILL OUTSTANDING 21919 07629000 B STOERR INDICATES THE DCB IS NOT OPEN 21919 07630000 B STOERR INDICATES CONDITIONAL GETMAIN WITHIN 21919 07631000 * STOW WAS UNSUCCESSFUL 21919 07632000 * 07640000 * 07660000 * 07680000 WCHREAD TM PNTSW,X'01' 07700000 BC 1,READNEXT 07720000 * POINT TO FIRST RECORD IN MEMBER AND SET 07740000 * PNTSW ON AFTER POINT 07760000 L REGONE,IEHMVV30 07780000 LA 1,0(0,1) 07800000 MVI IOFLG(REGONE),X'00' RESET I/O FLAGS IN DCB 07820000 L REG2,IEHMVV31 07840000 MVI IOFLG(REG2),X'00' RESET I/O FLAGS IN DCB 07860000 MVC NXTPT(3),TTR PICK UP TTR FROM DIRECTORY 07880000 * RECORD OF THE MEMBER TO BE 07900000 * USED BY NEXT READ 07920000 LA REGZERO,NXTPT LOAD ADDR OF TTR 07940000 POINT (1),(0) 07960000 OI PNTSW,X'01' 07980000 B READREC 08000000 * 08020000 * THIS ROUTINE PRINT OUT A MESSAGE TO OPERATOR 08220000 MESSAGE BAL REG8,CLEAR 08240000 LR REGONE,BASE12 ADDRESS OF PRINT BUFFER 08260000 EX 2,MOVER 08280000 MVC NAMES(8),DIRENTRY 08300000 B MESSAG02 08320000 MESSAG01 BAL REG8,CLEAR 08340000 LR REGONE,BASE12 ADDRESS OF PRINT BUFFER 08360000 EX 2,MOVER 08380000 MVC NAMES01(8),DIRENTRY 08400000 B MESSAG02 08420000 MESSAG03 BAL REG8,CLEAR 08440000 LR REGONE,BASE12 ADDRESS OF PRINT BUFFER 08460000 EX 2,MOVER 08480000 MVC NAMES03(44),0(4) 08500000 B MESSAG02 08520000 MESSAG02 LR REG3,REGONE 08540000 LINK EP=IEHMVESU 08560000 LTR 15,15 IS RETURN CODE ZERO 08580000 BP PRMABORT NO 08600000 BR REG9 08620000 MOVER MVC MSG(1),0(3) 08640000 CLEAR LR REGONE,BASE12 ADDRESS OF PRINT BUFFER 08660000 MVI 0(1),X'40' 08680000 MVC 1(120,1),0(1) 08700000 SR 0,0 08720000 BR 8 08740000 * 08760000 * 08780000 DUPLCTE TM C,BIT0 08800000 BO DUP01 08820000 OI STOWBIT,X'01' SET STOWBIT TO RECOVER SPACE 08840000 MVC TTRSAV(3),TTR 08860000 DUP01 L REG3,A119 SET UP TO PRINT MESSAGE 08880000 IC REG2,A119 08900000 BAL REG9,MESSAGE 08920000 B GETMBR02 08940000 DIRFULL L REG3,A121 08960000 IC REG2,A121 08980000 BAL REG9,MESSAGE 09000000 B ABORT 09020000 STOERR L REG3,A124 09040000 IC REG2,A124 09060000 L REG4,IEHMVV21+4 09080000 BAL REG9,MESSAG03 09100000 B ABORT 09120000 * 09140000 WRKFLE L REG3,A120 09160000 IC REG2,A120 09180000 BAL REG8,CLEAR 09200000 LR REGONE,BASE12 ADDRESS OF PRINT BUFFER 09220000 EX 2,MOVER 09240000 BAL REG9,MESSAG02 09260000 B ABORT 09280000 REAERR L REG3,IEHMVV30+8 A26560 09285019 TM ORG(REG3),X'02' IS THIS A PDS A26560 09290019 BZ RDSEQ NO -- ISSUE SEQ MSG A26560 09295019 * 09300000 L REG3,A122 A26560 09320019 IC REG2,A122 09340000 L REG4,IEHMVV21 09360000 BAL REG9,MESSAG01 09380000 B ABORT 09400000 RDSEQ L REG3,A127 A26560 09401019 IC REG2,A127 A26560 09402019 L REG4,IEHMVV21 A26560 09403019 BAL REG8,CLEAR SEQ I/O ERROR ON READ A26560 09404019 LR REGONE,BASE12 A26560 09405019 EX 2,MOVER A26560 09406019 BAL REG9,MESSAG02 A26560 09407019 B ABORT 09408019 WRTERR L REG3,IEHMVV30+8 A26560 09409019 TM ORG(REG3),X'02' IS THIS A PDS A26560 09410019 BZ WTSEQ NO -- ISSUE SEQ MESSAGE A26560 09411019 * 09420000 * 09440000 L REG3,A123 A26560 09460019 IC REG2,A123 09480000 L REG4,IEHMVV21+4 09500000 BAL REG9,MESSAG01 09520000 B ABORT 09540000 WTSEQ L REG3,A124 A26560 09543019 IC REG2,A124 A26560 09546019 L REG4,IEHMVV21+4 A26560 09549019 BAL REG9,MESSAG03 SEQ I/O ERROR ON WRITE A26560 09552019 B ABORT A26560 09555019 NOSTALIS L REG3,A125 09560000 IC REG2,A125 09580000 BAL REG9,MESSAGE 09600000 B GETMBR02 09620000 READ LA 1,0(0,1) 09640000 LA 2,0(0,2) 09660000 READ (1),SF,(2),(3),(5),MF=E 09680000 BR REG9 09700000 CHECK LA 1,0(0,1) 09720000 CHECK (1) 09740000 BR REG9 09760000 WRITE LA 1,0(0,1) 09780000 LA 2,0(0,2) 09800000 TM STOWBIT,X'01' 09820000 BC 1,RCOVR 09840000 WRIT02 WRITE (1),SF,(2),(3),(5),MF=E 09860000 BR REG9 09880000 BSAMRTN MVC EODAD(3,REG2),BSEXIT+1 09900000 TM IEHMVV30+4,X'80' IS BUUFER PRESENT 09920000 BC 8,GBSBF NO, GET BSAM BUFFER 09940000 L REG7,IEHMVV30+4 DECB ADDRESS 09960000 L REG6,12(0,REG7) ADDRESS OF BUFFER 09980000 ST REG6,BUFFER 10000000 L REG2,IEHMVV30 SET UP TO FREE MAIN WHICH 10020000 LH REG3,BLKS(0,REG2) WAS PASSED TO IEHMVSTJ 10040000 ST REG3,BUFF 10060000 B WRIT01 10080000 ABORT B PRMABORT 10100000 RCOVR NI STOWBIT,X'00' 10120000 MVC NXTPT(3),TTRSAV 10140000 MVC 0(3,REG2),TTRSAV SET RELAD FIELD IN DCB 9312 10160000 LA REGZERO,NXTPT 10180000 L REGONE,IEHMVV31 10200000 LA 1,0(0,1) 10220000 POINT (1),(0) 10240000 L REGONE,IEHMVV31+4 GET ADDR OF DECB 10260000 B WRIT02 10280000 PRMABORT L 2,IEHMVV20 10300000 O REG2,ABORTBIT 10320000 ST REG2,IEHMVV20 10340000 OI IEHMVV41+13,X'02' SET RETURNCODE TO 8 A37903 10350021 BSEODAD B FINISHED 10360000 INVALID EX 0,* 10380000 FINISHED L REG2,IEHMVV30 10400000 TM DSORG(REG2),X'40' IS THIS A BSAM DATASET 10420000 BC 1,FRMAIN01 YES, FREE BUFFER 10440000 B FRMAIN WAS A PDS 10460000 SINAD ST REGONE,ERRSAV STORE ERROR CODE 10480000 TM ERRSAV,X'80' 10500000 BC 1,REAERR 10520000 TM ERRSAV,X'40' 10540000 BC 1,WRTERR 10560000 TM ERRSAV,X'20' 10580000 BC 1,ABORT 10600000 B INVALID 10620000 FRMAIN L REGONE,NOTELIST 10640000 LTR 1,1 10660000 BZ FRMAIN01 10680000 L REGZERO,NOTE 10700000 FREEMAIN R,LV=(0),A=(1) 10720000 FRMAIN01 L REGONE,BUFFER 10740000 LTR 1,1 10760000 BZ FRMAIN02 10780000 L REGZERO,BUFF 10800000 FREEMAIN R,LV=(0),A=(1) 10820000 FRMAIN02 TM IEHMVV20+2,X'40' IS MIDABORT BIT ON 10840000 BO WRAPITUP YES 10860000 TM IEHMVV20,X'08' 10880000 BZ WRAPITUP 10900000 TM IEHMVV20+2,X'08' IS INC REP BIT ON 10920000 BO INCLUDE 10940000 WRAPITUP IEHPOST (14,1),T 10960000 XCTL (2,12),EP=IEHMVESN 10980000 INCLUDE TM IEHMVV20,X'10' DSGROUP OPERATION VS0H 10981017 BC 1,WRAPITUP YES, TO VESN FOR WRAPUP VS0H 10982017 IEHPOST (14,1),T VS0H 10983017 XCTL (2,12),EP=IEHMVETG 10986017 XXITLE DC X'03' VS0H 10989017 DC AL3(ITLR) VS0H 10992017 * VS0H 10995017 * USER INPUT TRAILER LABEL ROUTINE VS0H 10998017 * VS0H 11001017 ITLR DS 0H VS0H 11004017 OFFSET1 EQU ITLR-IEHMVETJ VS0H 11007017 LA REG6,OFFSET1 VS0H 11010017 SR REG15,REG6 VS0H 11013017 LR BASE10,REG15 VS0H 11016017 L REG6,0(REGONE) GET ADDR OF LABEL BUFFER UL0H 11016317 LTR REG6,REG6 ANY LABELS TO PROCESS UL0H 11016617 BNZ IOERR YES, GO CHK 1ST FOR ERRORS UL0H 11016917 NOLABEL DS 0H UL0H 11017217 MVI UDCBITLE,X'00' DEACTIVATE INPUT, OUTPUT UL0H 11017517 MVI UDCBOTLE,X'00' TRLR LABEL EXITS IN DCB UL0H 11017817 SR REG15,REG15 NO LABELS, RETURN CODE ZERO UL0H 11018117 BR RETREG TO EOV TO END PROCESSING UL0H 11018417 * UL0H 11018717 IOERR DS 0H UL0H 11019017 TM 8(REGONE),X'80' I/O ERROR FLG ON IN PARMS UL0H 11019317 BZ TRKAVAIL NO, CHK FOR U.L. TRK AVAIL UL0H 11019917 LABERR DS 0H UL0H 11020517 OI IEHMVV74+4,X'FF' YES, SET FLAG TO OUTPUT UL0H 11021117 * MSG AFTER OPEN/CLOSE/EOV UL0H 11021717 L REG2,IEHMVV20 TURN ON PTM2433 11021818 O REG2,ABORTBIT MID - ABORT PTM2433 11021918 ST REG2,IEHMVV20 SWITCH PTM2433 11022018 B ABORT GO SET ABORT FLAG (VV20+2) UL0H 11022317 * UL0H 11022617 TRKAVAIL DS 0H UL0H 11022917 CLI IEHMVV72+10,X'FF' DA+NLT FLAG ON UL0H 11023217 BNE CORAVAIL NO, HAVE TRK, CHK FOR CORE UL0H 11023517 * UL0H 11023817 * VESN WILL OUTPUT MESSAGE NO USER LBLS MOVED/COPIED. NO U.L. TRK UL0H 11024117 * UL0H 11024417 MVI IEHMVV72+14,X'FF' TELL VESN TO PUT OUT MSG UL0H 11024717 B NOLABEL RETURN TO EOV UL0H 11025017 * UL0H 11025317 CORAVAIL DS 0H UL0H 11025617 CLC IEHMVV72(4),ALLZEROS CORE GOTTEN FOR LABELS UL0H 11025917 BNE INITIAL YES, INITIALIZE POINTERS UL0H 11026217 GETMAIN R,LV=640 NO, GET CORE NEEDED UL0H 11026517 ST REGONE,IEHMVV72 SAVE GOTTEN CORE ADDRESS UL0H 11026817 INITIAL DS 0H UL0H 11027117 CLC 0(4,REG6),UTL1DEF FIRST LABEL IN GROUP UL0H 11027417 BNE SAVLABEL NO, GO AROUND SET UP UL0H 11027717 MVC IEHMVV72+4,IEHMVV72 NO, SET PTR TO LBL SAVEAREA UL0H 11028017 MVI IEHMVV72+12,X'00' CLEAR LABEL COUNTER UL0H 11028317 * UL0H 11028617 SAVLABEL DS 0H UL0H 11028917 L REGONE,IEHMVV72+4 GET ADDR OF CURRENT UL0H 11029217 * LABEL SAVE AREA UL0H 11029517 MVC 0(80,REGONE),0(REG6) SAVE LABEL IN GOTTEN CORE UL0H 11029817 LA REGONE,80(REGONE) UP PTR TO NEXT LOCATION UL0H 11030117 ST REGONE,IEHMVV72+4 IN LBL SAVEAREA, SAVE PTR UL0H 11030417 SR REG6,REG6 UL0H 11030717 IC REG6,IEHMVV72+12 UPDATE LABEL UL0H 11031017 LA REG6,1(REG6) COUNTER UL0H 11031317 STC REG6,IEHMVV72+12 BY ONE, AND SAVE UL0H 11031617 LA REG15,4 RETURN CODE OF 4 TO EOV TO UL0H 11031917 * GET ADDITIONAL LABELS UL0H 11032217 BR RETREG RETURN TO EOV UL0H 11032517 * UL0H 11032817 ALLZEROS DC F'0' UL0H 11033117 UTL1DEF DC CL4'UTL1' UL0H 11033417 DEACTIVE EQU X'00' UL0H 11033717 SAVE14 DS F UL0H 11034017 * UL0H 11034317 * 11034717 IOERRMSG DS 0H UL0H 11035117 NI IEHMVV74+4,X'00' CLEAR I/O ERROR FLAG UL0H 11035517 ST RETREG,SAVE14 SAVE EOV RETURN ADDRESS UL0H 11035917 L REG3,A126 GET ADDRESS OF MESSAGE UL0H 11036317 IC REG2,A126 GET LENGTH OF MESSAGE UL0H 11036717 BAL REG8,CLEAR BLANK OUT MESSAGE BUFFER UL0H 11037117 LR REGONE,BASE12 GET ADDR OF BUFFER FOR PRT UL0H 11037517 EX 2,MOVER MOVE MESSAGE TO BUFFER L0H 11037917 BAL REG9,MESSAG02 GO TO MESSAGE WRITER UL0H 11038317 B ABORT GO SET ABORT FLAG (VV20+2) UL0H 11038717 BLKSAVE DC X'0000' 11040000 DS 0F 11060000 ZERO DC F'0' 11080000 ENDNOTE DC X'FFFF0000' 11100000 ABORTBIT DC X'00004000' 11120000 ADDTOR DC X'00000100' 11140000 MASK DC X'FFFFFFF8' 11160000 PDSOUT DC A(STOWMBRF) 11200000 BSEXIT DC A(BSEODAD) 11220000 DS 0F 11240000 A118 DC AL1(M119-M118-1) 11260000 DC AL3(M118) 11280000 A119 DC AL1(M120-M119-1) 11300000 DC AL3(M119) 11320000 A120 DC AL1(M121-M120-1) 11340000 DC AL3(M120) 11360000 A121 DC AL1(M122-M121-1) 11380000 DC AL3(M121) 11400000 A122 DC AL1(M123-M122-1) 11420000 DC AL3(M122) 11440000 A123 DC AL1(M124-M123-1) 11460000 DC AL3(M123) 11480000 A124 DC AL1(M125-M124-1) 11500000 DC AL3(M124) 11520000 A125 DC AL1(M126-M125-1) UL0H 11540017 DC AL3(M125) 11560000 A126 DC AL1(M127-M126-1) A26560 11566019 DC AL3(M126) UL0H 11572017 A127 DC AL1(M128-M127-1) A31964 11573020 DC AL3(M127) A31964 11574020 A128 DC AL1(M129-M128-1) A31964 11575020 DC AL3(M128) A31964 11576020 A129 DC AL1(M130-M129-1) A31964 11577020 DC AL3(M129) A31964 11578020 A130 DC AL1(M131-M130-1) 11580000 DC AL3(M130) 11600000 A131 DC AL1(M132-M131-1) 11620000 DC AL3(M131) 11640000 ERREXT DC AL3(SINAD) 11660000 REGZERO EQU 0 11680000 REGONE EQU 1 11700000 REG2 EQU 2 11720000 REG3 EQU 3 11740000 REG4 EQU 4 11760000 REG5 EQU 5 11780000 REG6 EQU 6 11800000 REG7 EQU 7 11820000 REG8 EQU 8 11840000 REG9 EQU 9 11860000 BASE10 EQU 10 11880000 BASE11 EQU 11 11900000 BASE12 EQU 12 11920000 BASE13 EQU 13 11940000 RETREG EQU 14 11960000 REG15 EQU 15 11980000 BIT0 EQU X'80' 12000000 ONENL EQU X'20' 12020000 TWONL EQU X'40' 12040000 THREENL EQU X'60' 12060000 NONL EQU X'00' 12080000 EODAD EQU 33 12100000 SYNAD EQU 57 12120000 BLKS EQU 62 12140000 KEYL EQU 16 12160000 DSORG EQU 26 12180000 ORG EQU 82 A26560 12190019 IOFLG EQU 44 12200000 IOBAD EQU 16 12220000 CSWCT EQU 14 12240000 IEHGOTEN DSECT 12260000 RDNOTE DS 1F 12280000 WRNOTE DS 1F 12300000 TTR1 DS 1F 12320000 TTR2 DS 1F 12340000 TTR3 DS 1F 12360000 TTRNL DS 1F 12380000 STOWBIT DS CL2 12400000 TESTSW DS CL1 12420000 TESTSW1 DS CL1 12440000 TTRPT DS CL1 12460000 PNTSW DS CL1 12480000 DIRENTRY DS 0CL74 12500000 NAME DS CL8 12520000 TTR DS CL3 12540000 C DS CL1 12560000 TTRN1 DS CL3 12580000 N1 DS CL1 12600000 TTRN2 DS CL3 12620000 N2 DS CL1 12640000 TTRN3 DS CL3 12660000 N3 DS CL1 12680000 DS CL50 12700000 RENAME DS CL8 12720000 NOTE DS CL4 12740000 BUFF DS CL4 12760000 NOTELIST DS CL4 12780000 BUFFER DS CL4 12800000 KEY DS CL1 12820000 KEYLEN DS CL1 12840000 BLKSIZE DS 1H 12860000 TTRSAVE DS CL4 12880000 SAVTTR1 DS CL4 12900000 SAVTTR2 DS CL4 12920000 SAVTTR3 DS CL4 12940000 NXTPT DS CL4 12960000 TTRSAV DS CL4 12980000 ERRSAV DC F'0' 13000000 NINSAV DS 1F 13020000 TTRXPTR DS 1F START OF NOTELIST A48812 13030022 DS 1H YA01221 13033002 BLDLIST DS CL18 YA01221 13036002 PRINTBUF DSECT 13040000 CC DS CL1 13060000 MSG DS CL15 13080000 NAMES DS CL25 13100000 NAMES01 DS CL9 13120000 NAMES03 DS CL10 13140000 NAMES02 DS CL61 13160000 IEHMVV 13180000 ORG IEHMVV70 UL0H 13186017 IEHDCBXL UL0H 13192017 ORATOR CSECT 13200000 M118 DC CL24' MEMBER NAMED ' 13220000 DC CL22'HAS BEEN MOVED/COPIED.' 13240000 M119 DC CL30'IEH319I MEMBER NOT MO' 13260000 DC CL30'VED/COPID. DUPLICATE NAME IN O' 13280000 DC CL15'UTPUT DATA SET.' 13300000 M120 DC CL8'IEH372I' 13320000 DC CL30'I/O ERROR ENCOUNTERED IN WORK ' 13340000 DC CL5'FILE.' 13360000 M121 DC CL30'IEH321I MEMBER NOT MO' 13380000 DC CL30'VED/COPIED. OUTPUT DIRECTORY 1' 13400000 DC CL7'S FULL.' 13420000 M122 DC CL8'IEH322I' 13440000 DC CL30'I/O ERROR ENCOUNTERED IN MEMBE' 13460000 DC CL29'R OF INPUT DATA SET.' 13480000 M123 DC CL8'IEH323I' 13500000 DC CL30'I/O ERROR ENCOUNTERED IN MEMBE' 13520000 DC CL30'R OF OUTPUT DATA SET.' 13540000 M124 DC CL30'IEH326I I/O ERROR ENCOUNTERED ' 13560000 DC CL19'IN OUTPUT DATA SET ' 13580000 M125 DC CL24' MEMBER NAMED ' 13600000 DC CL32'IS AN ALIAS AND HAS NOT BEEN STO' 13620000 DC CL32'WED, TRUE MEMBER WAS NOT STOWED.' 13640000 M126 DC CL36'IEH333I PERM I/O ERROR WHILE READING' UL0H 13645017 DC CL36' USER INPUT TRAILER LABELS. NO MORE ' UL0H 13650017 DC CL25'LABELS WILL BE PROCESSED.' UL0H 13655017 M127 DC CL32'IEH339 I/O ERROR ENCOUNTERED IN' A26560 13656019 DC CL16' INPUT DATA SET.' A26560 13657019 M128 DC CL41'IEH327I A TTRN IN THE USER DATA FIELD OF ' A31964 13660020 DC CL35'THE DIRECTORY HAS NOT BEEN UPDATED ' A31964 13663020 M129 DC CL38'IEH328I A TTR IN THE NOTELIST RECORD ' A31964 13666020 DC CL21'HAS NOT BEEN UPDATED ' A31964 13669020 M130 DC X'00' A31964 13672020 M131 DC X'40' 13680000 M132 DC X'00' 13700000 END 13720000