VPD TITLE 'DMSVPD (CMS) VM/370 - RELEASE 6' 00001000 *. 00002000 * MODULE NAME: DMSVPD 00003000 * 00004000 * FUNCTION: READ DOS/VS VSAM AND AMS MODULES FROM A 00005000 * DOS/VS PTF TAPE AND WRITE THE MODULES TO THE USER'S 00006000 * CMS 'A' DISK. 00007000 * 00008000 * ATTRIBUTES: DISK RESIDENT, LOADED INTO USER AREA: 00009000 * LOAD DMSVPD (CLEAR 00010000 * GENMOD DMSVPD 00011000 * THIS ROUTINE IS NON-REUSABLE. 00012000 * 00013000 * ENTRY POINTS: DMSVPD 00014000 * 00015000 * ENTRY CONDITIONS: GPR1 POINTS TO PARAMETER LIST AS FOLLOWS: 00016000 * DC CL8'DMSTPD' 00017000 * DC CL8'ALL' OR CL8'SELECT' ('ALL' IS DEFAULT) 00018000 * DC 8X'FF' 00019000 * 00020000 * EXIT CONDITIONS: 00021000 * NORMAL - GPR15 = 0 00022000 * ERROR - GPR15 = NONZERO 00023000 * = 24 INVALID PARAMETER 00024000 * = 100 DISK WRITE ERR, 00025000 * TAPE NOT ATTACHED, 00026000 * TAPE READ ERROR 00027000 * = 104 VIRTUAL STORAGE EXCEEDED 00028000 * 00029000 * CALLS TO OTHER CMS ROUTINES: 00030000 * DMSFRE,DMSCRD,DMSTIO,DMSERR,DMSRNM,DMSBWR,DMSFNS,DMSERS 00031000 * 00032000 * EXTERNAL REFERENCES: NONE 00033000 * 00034000 * CALLED BY: VSAMGEN EXEC 00035000 * 00036000 * TABLES AND WORKAREAS: 00037000 * WRBUFF - 80-BYTE LOGICAL DISK RECORD BUFFER 00038000 * TRANTBL - LIST OF VSAM LOGICAL TRANSIENTS 00039000 * R11-> - 3440-BYTE TAPE READ BUFFER 00040000 * 00041000 * REGISTER USAGE: 00042000 * R1 - PLIST POINTER 00043000 * R2 - POINT TO CURRENT LOGICAL RECORD 00044000 * R11 - POINTER TO TAPE READ BUFFER 00045000 * R12 - BASE ADDRESS REGISTER 00046000 * R14 - LINKAGE REGISTER 00047000 * ALL OTHER GPRS USED AS WORK REGISTERS 00048000 * 00049000 * OPERATION: 00050000 * IF PARAMETERS PASSED ARE VALID, DMSVPD GETS A TAPE READ 00051000 * BUFFER FROM FREE STORAGE (3440 BYTES) AND PROCEEDS TO READ 00052000 * TAPE RECORDS UNTIL REACHING END OF FILE(TAPE MARK). 00053000 * EACH TIME A TAPE RECORD IS READ, A POINTER IS USED TO 00054000 * MOVE EACH 80-BYTE LOGICAL RECORD TO ANOTHER BUFFER AREA 00055000 * IN ORDER TO WRITE THE LOGICAL RECORD TO DISK, THUS 00056000 * 'DEBLOCKING' THE TAPE RECORDS. 00057000 * 00058000 * ALL JCL CARDS ('//') INCLUDING COMMENT CARDS ARE IGNORED. 00059000 * DMSVPD SEARCHES FOR THE 'CATALX' CARD AND WHEN IT IS FOUND 00060000 * THE FILENAME IS SAVED IN ORDER TO NAME THE CMS OBJECT FILE 00061000 * 'FILENAME TEXT' WHEN THE WRITING TO DISK IS COMPLETED. 00062000 * AN IMTERMEDIATE FILE BY THE NAME OF 'FILENAME CMSUT1' 00063000 * IS USED TO WRITE THE NEW FILE TO DISK, SINCE IT COULD BE 00064000 * REPLACING A FILE ALREADY ON THE DISK. WHEN THE FILE IS 00065000 * COMPLETELY WRITTEN TO DISK, THE OLD FILE 'FILENAME TEXT ' IS 00066000 * ERASED AND THE 'FILENAME CMSUT1' FILE IS RENAMED TO 00067000 * 'FILENAME TEXT'. 00068000 * 00069000 * IF THE 'SELECT' OPTION IS USED, DMSVPD WILL PROMPT THE USER 00070000 * WITH THE NAME OF THE VSAM OR AMS FILE WHICH IT HAS EN- 00071000 * COUNTERED AND IF THE USER ANSWERS 'NO' THE THAT PARTICULAR 00072000 * FILE WILL NOT BE APPLIED (WRIITEN TO DISK). 00073000 * 00074000 * DMSVPD WILL APPLY ANY FILE BEGINNING WITH 'IDC' (AMS), 00075000 * 'IKQ' (VSAM), 'IGG0' (VSAM CATALOG) OR ANY VSAM LOGICAL 00076000 * TRANSIENT ROUTINE WHOSE NAME APPEARS IN THE 'TRANTBL' AREA. 00077000 * 00078000 * DMSVPD ASSUMES THAT A DOS/VS PTF TAPE IS ATTACHED AS 00079000 * VIRTUAL DEVICE 181 AND THAT THE TAPE IS POSITIONED AT 00080000 * THE TAPE FILE TO BE PROCESSED. 00081000 * 00082000 * ALL FILES ARE WRITTEN TO THE USER'S 'A' DISK. 00083000 *. 00084000 EJECT 00085000 DMSVPD START , @V305106 00086000 LR R12,R15 @V305106 00087000 USING DMSVPD,R12 @V305106 00088000 ST R14,SAVE14 @V305106 00089000 CLC 8(8,R1),FENCE OPTION ENTERED? @V305106 00090000 BE GETSTOR NO, START 'ER UP... @V305106 00091000 CLC 8(8,R1),SELECT IS IT 'SELECT' OPTION? @V305106 00092000 BNE ALLCHEK NO, CHEK FOR 'ALL' @V305106 00093000 OI MISCFLAG,SELECTF YES, REMEMBER TO SELECT PTFS@V305106 00094000 B FENCECHK CHEKA THE FENSA... @V305106 00095000 ALLCHEK CLC 8(8,R1),ALL 'ALL' ENTERED? @V305106 00096000 BNE ERR70E UNKNOWN IF NOT... @V305106 00097000 FENCECHK CLC 16(8,R1),FENCE FOLLOWED BY FENCE? @V305106 00098000 BNE ERR70EA EXTRANEOUS OPTIONS IF NOT @V305106 00099000 SPACE 00100000 GETSTOR L R0,DWORDS GET NO. DOUBLE WORDS @V305106 00101000 DMSFREE DWORDS=(0),ERR=ERR109S @V305106 00102000 LR R11,R1 KEEP BEGINING BUFFER ADDR @V305106 00103000 LR R2,R1 USE R2 FOR LRECL POINTER @V305106 00104000 ST R1,STARTADR SAVE ADDR OF TAPE BUFFER @VA04385 00105100 SPACE 00107000 RDTAPE (R2),3440,ERROR=TAPERR READ FIRST TAPE RECORD @V305106 00108000 L R9,STARTADR GET START OF TAPE BUFFER @VA04385 00108100 AR R9,R0 ADD NO.BYTES READ... @VA04385 00108150 ST R9,ENDADDR SAVE 'END OF BUFFER' @VA04385 00108200 EJECT 00109000 *********************************************************************** 00110000 * MAIN LOOP FOR READING LOGICAL RECORDS (I.E.,DEBLOCKING) 00111000 *********************************************************************** 00112000 TOP EQU * @V305106 00113000 CLC 0(2,R2),SLSLASH '//' ? @V305106 00114000 BE NXTLREC YES, IGNORE IT... @V305106 00115000 CLI 0(R2),STAR COMMENT ('*') ? @V305106 00116000 BE NXTLREC YES, IGNORE AND GET NEXT REC@V305106 00117000 CLC 0(2,R2),SLAMPER '/&' ? @V305106 00118000 BE NXTLREC YES, IGNORE IT AT THIS POINT@V305106 00119000 CLI 0(R2),BLANK HIT POTENTIAL 'CATALS'? @V305106 00120000 BNE NXTLREC NO, DISPLAY THE UNKNOWN... @V305106 00121000 SETUP3 LR R3,R2 USE R3 FOR SCANNING LOG REC @V305106 00122000 CLOOP LA R3,1(,R3) GET NEXT CHARACTER... @V305106 00123000 CLI 0(R3),BLANK BLANK? @V305106 00124000 BE CLOOP YES, KEEP LOOKING... @V305106 00125000 CLC 0(5,R3),=CL5'CATAL' 'CATAL' RECORD? @V305106 00126000 BNE NXTLREC NO, DISPLAY THE UNKNOWN... @V305106 00127000 LA R3,6(,R3) NOW LOOK FOR FILE NAME @V305106 00128000 NLOOP CLI 0(R3),BLANK BLANK? @V305106 00129000 BNE NAMHIT NO, WE'VE GOT A NAME.. @V305106 00130000 LA R3,1(,R3) YES, GET NEXT CHARACTER @V305106 00131000 B NLOOP AND SEE WHAT WE HAVE NOW... @V305106 00132000 SPACE 00133000 NAMHIT EQU * R3 -> FILE NAME @V305106 00134000 LR R4,R3 REMEMBER BEGIN OF NAME @V305106 00135000 LA R3,6(,R3) ASSUME NAME AT LEAST 6 CHARS@V305106 00136000 ELOOP CLI 0(R3),COMMA END OF NAME? @V305106 00137000 BE VSAMCHEK YES, CHEK FOR VSAM NAMES @V305106 00138000 CLI 0(R3),BLANK END OF NAME? @V305106 00139000 BE VSAMCHEK YES, CHEK FOR VSAM NAMES @V305106 00140000 LA R3,1(,R3) NO, KEEP LOOKING... @V305106 00141000 B ELOOP ... @V305106 00142000 VSAMCHEK CLC 0(3,R4),=CL3'IKQ' VSAM MODULE? @V305106 00143000 BE ASK YES, GOTO PROMPT CHEK @V305106 00144000 CLC 0(4,R4),=CL4'IGG0' VSAM CATALOG MODULE? @V305106 00145000 BE ASK YES, ASK USER IF HE WANTS IT@V305106 00146000 CLC 0(3,R4),=CL3'IDC' AMS MODULE? @V305106 00147000 BE ASK YES, GOTO PROMPT CHEK @V305106 00148000 LA R5,TRANTBL SEARCH FOR VSAM TRANSIENTS @V305106 00149000 LA R6,EIGHT SIZE OF EACH ENTRY @V305066 00150000 LA R7,ENDTBL END OF TABLE @V305106 00151000 TRANLOOP CLC 0(8,R4),0(R5) VSAM TRANSIENT ROUTINE? @V305106 00152000 BE ASK YES, GOTO PROMPT CHEK @V305106 00153000 BXLE R5,R6,TRANLOOP FLY THRU THE TABLE... @V305106 00154000 LA R14,OBJLOOP NO WANT...READ THRU MODULE @V305106 00155000 B NXTREC SO GET NEXT LOGICAL RECORD @V305106 00156000 EJECT 00157000 *********************************************************************** 00158000 * VSAM OR AMS FILE FOUND...ASK USER WHETHER HE WANTS IT APPLIED. 00159000 *********************************************************************** 00160000 ASK EQU * @V305106 00161000 LA R6,FNAME LET'S SET UP MVCL FOR FNAME @V305106 00162000 LA R7,EIGHT LENGTH OF 'FNAME' @V305066 00163000 LR R5,R3 R3->BLANK OR COMMA AFT NAME @V305106 00164000 SR R5,R4 COMPUTE LENGTH OF NAME @V305106 00165000 ICM R5,8,ALL+3 SET PAD CHARACTER TO BLANK @V305106 00166000 MVCL R6,R4 KEEP FILENAME IN STATIC AREA@V305106 00167000 MVC FSCB+8(8),FNAME MOVE NAME INTO THE FSCB @V305106 00168000 TM MISCFLAG,SELECTF CALLER WANT PTF SELECTION? @V305106 00169000 BZ SETWRITE NO, APPLY THEM ALL... @V305106 00170000 SPACE 00171000 DMSERR NUM=383,LET=R,SUB=(CHARA,FNAME), @V305106*00172000 TEXT='APPLY ''........''? ...ENTER ''NO'' OR EOB:', *00173000 DOT=NO @V305106 00174000 SPACE 00175000 RDTERM ANSWER,EDIT=UPCASE GET THE ANSWER... @V305106 00176000 SPACE 00177000 CLC ANSWER(2),=CL2'NO' APPLY IT? @V305106 00178000 BE CONT NO, JUST READ ON BY... @V305106 00179000 SETWRITE OI MISCFLAG,WRITE REMEMBER TO WRITE THE RCDS @V305106 00180000 MVC FSCB+16(8),WNAME MAKE FSCB REUSABLE @V305106 00181000 CONT LA R14,OBJLOOP GOTO LOOP FOR READING DECK @V305106 00182000 B NXTREC GET FIRST OBJECT CARD @V305106 00183000 EJECT 00184000 *********************************************************************** 00185000 * READ THROUGH THE OBJECT DECK 00186000 *********************************************************************** 00187000 OBJLOOP EQU * READING THRU THE OBJECT DECK@V305106 00188000 CLI 0(R2),BLANK 'CATAL' CARD? @V305106 00189000 BNE ENDCHEK NO, CONTINUE.. @V305106 00190000 OI MISCFLAG,NOREAD YES, REM'BR NO READ LOG REC @V305106 00191000 B ENDECK AND CLEANUP THIS FILE... @V305106 00192000 ENDCHEK CLC 0(2,R2),SLSTAR '/*' ? @V305106 00193000 BE ENDECK YES, END OF MODULE... @V305106 00194000 CLC 0(2,R2),SLAMPER '/&' ? @V305106 00195000 BE ENDECK YES, END OF MODULE... @V305106 00196000 TM MISCFLAG,WRITE DO WE WANT THIS MODULE? @V305106 00197000 BZ NXTOBJ NO, DON'T WRITE ANY RECORDS @V305106 00198000 SPACE 00199000 MVC WRBUFF(80),0(R2) MOVE LOGL REC TO WRITE BUFF @V305106 00200000 FSWRITE ,FSCB=FSCB,ERROR=WRERR @V305106 00201000 SPACE 00202000 NXTOBJ BAL R14,NXTREC GET NEXT LOGICAL RECORD @V305106 00203000 B OBJLOOP AND CONTINUE THE READING @V305106 00204000 EJECT 00205000 *********************************************************************** 00206000 * END OF OBJECT DECK...DECIDE WHETHER TO WRITE IT ON DISK. 00207000 *********************************************************************** 00208000 ENDECK EQU * END OF OBJECT MODULE @V305106 00209000 TM MISCFLAG,WRITE ARE WE WRITING THIS FILE? @V305106 00210000 BZ ENDEND NO, DROP THRU @V305106 00211000 NI MISCFLAG,255-WRITE YES, TURN OFF WRITE FLAG @V305106 00212000 SPACE 00213000 FSCLOSE ,FSCB=FSCB CLOSE THE NEW WORK FILE @V305106 00214000 SPACE 00215000 MVC FSCB+16(8),TEXT @V305106 00216000 FSERASE ,FSCB=FSCB ERASE THE OLD CMS TEXT FILE @V305106 00217000 SPACE 00218000 MVC RENOLD(8),FNAME PROVIDE FNAME FOR 'RENAME' @V305106 00219000 MVC RENNEW(8),FNAME @V305106 00220000 LA R1,RENAME @V305106 00221000 SVC 202 RENAME WORK FILE TO NEW TEXT@V305106 00222000 SPACE 00223000 DMSERR NUM=367,LET=I,SUB=(CHARA,FNAME), @V305106*00224000 TEXT='''........ TEXT'' WRITTEN ON DISK ''A''' @V305106 00225000 SPACE 00226000 L R6,FCOUNT GET CURRENT FILE COUNT @V305106 00227000 LA R6,1(,R6) AND INCR BY ONE... @V305106 00228000 ST R6,FCOUNT AND STORE NEW COUNT @V305106 00229000 ENDEND TM MISCFLAG,EXITF ARE WE AT END OF TAPE ? @V305106 00230000 BO EXIT YES, EXIT @V305106 00231000 TM MISCFLAG,NOREAD DO WE HAVE RECORD ALREADY? @V305106 00232000 BZ NXTLREC NO, CONTINUE READING... @V305106 00233000 NI MISCFLAG,255-NOREAD TURN IT OFF AND @V305106 00234000 B SETUP3 GO BACK TO LOOK FOR 'CATAL' @V305106 00235000 EJECT 00236000 *********************************************************************** 00237000 * SUBROUTINE TO 'DEBLOK' TAPE RECORDS 00238000 *********************************************************************** 00239000 NXTLREC LA R14,TOP GO BACK CNTL RECORD READING @V305106 00240000 NXTREC EQU * GET NEXT LOG RCD (DEBLOCK) @V305106 00241000 LA R2,80(,R2) PT. TO NXT LOG REC IN BUFFR @V305106 00242000 C R2,ENDADDR END OF TAPE BUFFER? @V305106 00243000 BLR R14 NO, RETURN TO CALLER @V305106 00244000 LR R2,R11 YES, PT. BACK TO BEG OF BUFF@V305106 00245000 SPACE 00246000 RDTAPE (R2),3440,ERROR=TAPERR READ NEXT TAPE RECORD @V305106 00247000 L R9,STARTADR GET START OF TAPE BUFFER @VA04385 00247100 AR R9,R0 ADD NO.BYTES READ... @VA04385 00247150 ST R9,ENDADDR SAVE 'END OF BUFFER' @VA04385 00247200 SPACE 00248000 BR R14 AND RETURN TO CALLER @V305106 00249000 EJECT 00250000 *********************************************************************** 00251000 * EXIT PROCESSING... THREE ENTRY POINTS: 00252000 * EXIT - NORMAL COMPLETION 00253000 * EXITE - ERRORS IN PROCESSING 00254000 * EXIT2 - ERRORS IN PROCESSING PRIOR TO DMSFREE CALL 00255000 *********************************************************************** 00256000 EXIT EQU * @V305106 00257000 SR R15,R15 NO ERRORS HERE @V305106 00258000 EXITE LR R3,R15 SAVE RETURN CODE @V305106 00259000 L R0,DWORDS NO. DOUBLEWORDS FREED @V305106 00260000 LR R1,R11 POINT TO FREE STORAGE @V305106 00261000 DMSFRET DWORDS=(0),LOC=(1) @V305106 00262000 SPACE 00263000 DMSERR NUM=368,LET=I,SUB=(DECA,FCOUNT), @V305106*00264000 TEXT='''......'' NEW PTF DECKS WILL BE APPLIED' @V305106 00265000 LR R15,R3 RESTORE RETURN CODE @V305106 00266000 EXIT2 L R14,SAVE14 AND RETURN ADDRESS TO CMS @V305106 00267000 BR R14 RETURN TO CMS (DMSITS) @V305106 00268000 EJECT 00269000 *********************************************************************** 00270000 * ERROR PROCESSING... 00271000 *********************************************************************** 00272000 WRERR EQU * ERROR WRITING WORK FILE... @V305106 00273000 LR R2,R15 FOR ERROR MSG @V305106 00274000 DMSERR NUM=105,LET=S,SUB=(DEC,(R2),CHARA,FNAME), @V305106*00275000 TEXT='ERROR ''..'' WRITING ''........ CMSUT1 A1'' ON DIS*00276000 K',RENT=NO @V305106 00277000 LA R15,HUNDRED @V305066 00278000 B EXITE @V305106 00279000 SPACE 00280000 TAPERR EQU * @V305106 00281000 CH R15,=H'2' END OF TAPE FILE? @V305106 00282000 BNE ATTCHEK NO, CHEK FOR OTHER ERRS @V305106 00283000 TM MISCFLAG,WRITE ARE WE WRITING A NEW FILE? @V305106 00284000 BZ EXIT NO, END THE PROGRAM. @V305106 00285000 OI MISCFLAG,EXITF REM'BR IN EXIT PROCESS @V305106 00286000 B ENDECK AND CLOSE THE OPEN FILE @V305106 00287000 ATTCHEK CH R15,=H'5' TAPE NOT ATTACHED? @V305106 00288000 BNE IOERR YES, MUST BE I/O ERROR @V305106 00289000 DMSERR NUM=113,LET=S,TEXT='TAP1(181) NOT ATTACHED' @V305106 00290000 LA R15,HUNDRED @V305066 00291000 B EXITE @V305106 00292000 EJECT 00293000 IOERR DMSERR NUM=110,LET=S,TEXT='ERROR READING ''TAP1(181)''' 00294000 LA R15,HUNDRED @V305066 00295000 B EXITE @V305106 00296000 SPACE 00297000 ERR70EA LA R1,8(,R1) POINT TO UNKNOWN @V305106 00298000 ERR70E LA R1,8(,R1) DITTO @V305106 00299000 LR R5,R1 @V305106 00300000 DMSERR NUM=70,LET=E,SUB=(CHARA,(R5)), @V305106*00301000 TEXT='INVALID PARAMETER ''........''' @V305106 00302000 LA R15,TWENTY4 @V305066 00303000 B EXIT2 'EXIT2' FOR NO DMSFRET @V305106 00304000 SPACE 00305000 ERR109S DMSERR NUM=109,LET=S,TEXT='VIRTUAL STORAGE CAPACITY EXCEEDED' 00306000 LA R15,HUNDRED4 @V305066 00307000 B EXIT2 'EXIT2' FOR NO DMSFRET @V305106 00308000 EJECT 00309000 * 00310000 * STORAGE DECLARATIONS 00311000 * 00312000 SAVE14 DS F CMS RETURN ADDR @V305106 00313000 STARTADR DS F START OF TAPE BUFFER @VA04385 00313100 ENDADDR DS F END OF TAPE BUFFER @V305106 00314000 BLKSIZE DC F'3440' SIZE OF PTF TAPE RECORDS @V305106 00315000 DWORDS DC F'430' NO. DOUBLEWORDS IN 'BLKSIZE'@V305106 00316000 SLSTAR DC CL2'/*' DOS END OF DATA @V305106 00317000 SLAMPER DC CL2'/&&' DOS END OF JOB @V305106 00318000 SLSLASH DC CL2'//' DOS CONTROL CARD PREFIX @V305106 00319000 SELECT DC CL8'SELECT' @V305106 00320000 ALL DC CL8'ALL' @V305106 00321000 FNAME DC CL8' ' KEEP PTF FILE NAME HERE @V305106 00322000 FCOUNT DC F'0' CNT OF FILES WRITTEN TO DISK@V305106 00323000 SPACE 00324000 MISCFLAG DC X'00' DMSVDB FLAG @V305106 00325000 SELECTF EQU X'80' CALLER WANTS PTF SELECTION @V305106 00326000 WRITE EQU X'40' CALLER WANTS CURRENT MODULE @V305106 00327000 EXITF EQU X'20' END OF TAPE FILE REACHED @V305106 00328000 NOREAD EQU X'10' DON'T READ NEXT LOGICAL REC @V305106 00329000 SPACE 00330000 BLANK EQU X'40' @V305106 00331000 COMMA EQU C',' @V305106 00332000 STAR EQU C'*' DOS COMMENT @V305106 00333000 EIGHT EQU 8 @V305066 00334000 HUNDRED EQU 100 @V305066 00335000 TWENTY4 EQU 24 @V305066 00336000 HUNDRED4 EQU 104 @V305066 00337000 SPACE 00338000 WRBUFF DS 10D WRBUFF AREA (LOGL DISK REC) @V305106 00339000 SPACE 00340000 RENAME DC CL8'RENAME' @V305106 00341000 RENOLD DC CL8'DUMMY' @V305106 00342000 WNAME DC CL8'CMSUT1' @V305106 00343000 DC CL8'A1' @V305106 00344000 RENNEW DC CL8'DUMMY' @V305106 00345000 TEXT DC CL8'TEXT' @V305106 00346000 DC CL8'A1' @V305106 00347000 FENCE DC 8X'FF' @V305106 00348000 SPACE 00349000 FSCB FSCB 'DUMMY CMSUT1 A1',RECFM=F,BUFFER=WRBUFF,BSIZE=80 00350000 TRANTBL EQU * TABLE OF DOS/VSAM TRANSIENTS @V305106 00352000 DC CL8'$$BCVSAM' @V305106 00353000 DC CL8'$$BOVSAM' @V305106 00354000 DC CL8'$$BENDQB' @V305106 00355000 DC CL8'$$BODADS' @V305106 00356000 DC CL8'$$BODADE' @V305106 00357000 DC CL8'$$BCVS02' @V305106 00358000 DC CL8'$$BCVS03' @V305106 00359000 DC CL8'$$BOVS01' @V305106 00360000 DC CL8'$$BTCLOS' @V305106 00361000 DC CL8'$$BACLOS' @V305106 00362000 DC CL8'$$BCLCRA' @V305106 00363000 DC CL8'$$BOMSG1' @V305106 00364000 DC CL8'$$BOMSG2' @V305106 00365000 DC CL8'$$BOMSG7' @V305106 00366000 DC CL8'$$BJIB00' @V305106 00367000 DC CL8'$$BJIBFF' @V305106 00368000 ENDTBL EQU * @V305106 00369000 ANSWER DS 130C @V305106 00370000 LTORG @V305106 00371000 EJECT 00372000 REGEQU @V305106 00373000 END 00374000