Table of Contents

BACKCPY

Table Of Contents

  • [00010] COPY NOS VERSION OF DUMP DIRECTORY TO PLATO
  • [00079] COMMON DATA
  • [00114] MAIN PROGRAM.
  • [00126] SUBROUTINES
  • [00128] ATTFILE - ATTACH PERMANENT FILES
  • [00157] CKSTATS - CHECK FILE STATUS FOR BUSY
  • [00179] CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  • [00192] DMPI - INCREMENT DUMP DIR. RECORD NUMBER/DATASET
  • [00201] DMPX - INCREMENT DUMP DIRECTORY
  • [00229] INIT - INITIALIZE PARAMETERS
  • [00253] INTD - INITIALIZE DUMP DIRECTORY POINTERS
  • [00267] RDPARAM - READ PARAMETER BLOCK
  • [00277] TRIPMSG - WRITE A MESSAGE TO THE DAYFILE 3 TIMES
  • [00429] ZPARAM - ZERO PARAMETER BLOCK
  • [00441] PLATO DATASET ATTACH, READ WRITE ROUTINES
  • [00442] DSET - ATTACH DATASET
  • [00486] DOUT - DATAOUT ROUTINES
  • [00510] DDET - DETACH DATASET
  • [00523] DPAR - STORE PARAMETERS
  • [00538] BDIS - SENT MESSAGE TO THE B DISPLAY ONLY
  • [00551] DMAM - OUTPUT DATASET NAME INTO DAYFILE
  • [00561] DMEM - OUTPUT ERROR STATUS INTO DAYFILE
  • [00571] DBGM - OUTPUT BEGIN RECORD INTO DAYFILE
  • [00581] DNRM - OUTPUT NUMBER OF RECORDS INTO DAYFILE
  • [00643] ATTA - ATTACH AUDIT TRAIL DATASET (S0BACKA)
  • [00652] DATT - ATTACH BACKUPS DATASET (S0BACKC)
  • [00661] END - END PROGRAM.

Source Code

BACKCPY.txt
  1. BACKCPY
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK SOURCEY 00 000 81/05/07 06.51
  4. BACKCPY
  5. IDENT BACKCPY,BEGIN,BACKCPY
  6. ENTRY BACKCPY
  7. SYSCOM B1 DEFINE (B1) = 1
  8. *COMMENT COPY NOS VERSION OF DUMP DIRECTORY TO PLATO
  9. COMMENT COPYRIGHT CONTROL DATA CORP. 1981.
  10. TITLE COPY NOS VERSION OF DUMP DIRECTORY TO PLATO
  11. SPACE 4
  12. *** BACKUPS - COPY NOS VERSION OF DUMP DIRECTORY TO PLATO
  13. * J. J. BUCHMANN. 81/02/27.
  14. *
  15. *FUNCTION;
  16. * THIS PROGRAM ATTACHES THE DUMP DIRECTORY, AUDIT TRAIL,
  17. * AND PARAMETERS FILE AND COPIES THE INFORMATION BACK TO
  18. * THE EQUIVALENT PLATO FILES (THEREFORE PLATO MUST BE
  19. * UP). THIS SHOULD BE DONE AT LEAST ONCE EVERY DAY TO
  20. * INSURE THAT THE ON-LINE INFORMATION AVAILABLE TO THE
  21. * PLATO USERS IS ALWAYS UP TO DATE. THEREFORE THIS
  22. * PROGRAM SHOULD BE RUN SOON AFTER THE PLATO DUMPS ARE
  23. * COMPLETE AND SOON AFTER ANY CHANGE IN THE BACKUP
  24. * PARAMETERS.
  25. *
  26. *PARAMETERS; NONE
  27. *
  28. *ERROR MESSAGES;
  29. * NOT ENOUGH DUMP DIRECTORY DATASETS - CREATE ANOTHER
  30. * PLATO DUMP DIRECTORY(32 PART DATASET, RECORD SIZE
  31. * = 500 WORDS, NAME=D0X WHERE X STARTS AT A,B,C,D,E
  32. * ETC. CHOOSE THE NEXT *X* NOT ALREADY CREATED)
  33. * UPDATE THE NUMBER OF DATASETS USING X.BACKMOD.
  34. *
  35. *PLATO ATTACH READ/WRITE ERROR MESSAGES;
  36. * WAITING FOR FILE - XXXXXX (INFORMATIVE ONLY)
  37. * ERROR IN ATTACHING
  38. * FILE ERROR IN WRITING FILE FILE NAME = XXXXX
  39. * ERROR STATUS = NNNN
  40. * BEGINNING RECORD = NNNN
  41. * ENDING RECORD = NNNN
  42. *
  43. *INTERNAL ERROR MESSAGES; NONE
  44. SPACE 4
  45. *CALL COMCMAC
  46. *CALL COMCCMD
  47. SPACE 4
  48. **** ASSEMBLY CONSTANTS.
  49.  
  50. IBUFL EQU 2001B IFILE BUFFER LENGTH
  51. OBUFL EQU 2001B OFILE BUFFER LENGTH
  52. ABUFL EQU 2001B AFILE BUFFER LENGTH
  53. DSHF EQU 42 SHIFT COUNT DUMP DIR. NAME INC.
  54. BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC
  55. MBPARM EQU 1 MAX NUM OF BLOCKS / PARAMETERS
  56. MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE
  57. MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE
  58. MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE
  59. MBALL EQU MBPARM+MBSLOT+MBLAB+MBVSN TOTAL NUM BLOCKS
  60. AUDBLK EQU 300 BLOCK SIZE FOR AUDIT TRAIL
  61. AUDCNT EQU 26 NUMBER OF BLOCKS/AUDIT TRAIL
  62.  
  63. USERI EQU 377773B USER INDEX FOR FILES
  64. TIMEL EQU 7777B TIME LIMIT
  65. PRIOR EQU 41B PRIORITY
  66. * /--- BLOCK SOURCEY 00 000 81/04/29 08.14
  67.  
  68.  
  69. * OFFSETS WITHIN PARAMETER BLOCK
  70.  
  71.  
  72. PBASE EQU 2 DUMP DIRECTORY BASE NAME
  73. PDNUM EQU 3 NUMBER OF DATASETS IN DUMP DIR.
  74. PNREC EQU 4 NUMBER OF RECORDS IN DATASETS
  75. PLREC EQU 5 NUMBER OF RECORDS-LAST DATASET
  76. PPAGE EQU 9 PAGE SIZE
  77. ****
  78.  
  79. TITLE COMMON DATA
  80. BEGIN BSS 0
  81.  
  82.  
  83. FETS BSS 0
  84.  
  85. I BSS 0
  86. S0BACKC RFILEB IBUF,IBUFL,(FET=13D),EPR
  87.  
  88. O BSS 0
  89. BACKDIR RFILEB OBUF,OBUFL,(FET=13D),EPR
  90.  
  91. A BSS 0
  92. AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR
  93. SPACE 4
  94. * DATA WORDS
  95.  
  96.  
  97. PAGE DATA 0 PAGE SIZE
  98. CPAG DATA 0 CURRENT NUMBER OF WORDS IN PAGE
  99. DREC DATA 500 RECORD SIZE FOR DUMP DIRECTORY
  100. DNAM DATA 0 BASE NAME FOR DUMP DIRECTORY
  101. DNUM DATA 0 NUMBER OF DUMP DIRECTORIES
  102. DNOR DATA 0 NUMBER OF RECORDS/THIS DATASET
  103. DNORA DATA 0 NUMBER OF RECORDS/ALL DATASETS
  104. DNORL DATA 0 NUMBER OF RECORDS/LAST DATASET
  105. CNOR DATA 0 CURRENT RECORD NUMBER
  106. CNUM DATA 0 CURRENT DATASET NUMBER
  107. PACK DATA 0 PACK NAME FOR ATTACHES
  108. DPER DATA 7LBACKDIR PERMANENT FILE FOR DUMP DIRECT.
  109. SPER DATA 7LS0BACKC PERM. FILE FOR BACKUP PARAMS.
  110. APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT TRAIL
  111. SRCT DATA 0 RECORD COUNT FOR S0BACKC
  112. ARCT DATA 0 RECORD COUNT FOR AUDIT TRAIL
  113. * /--- BLOCK SOURCEY 00 000 81/03/04 11.38
  114. TITLE MAIN PROGRAM.
  115. *** BACKCPY
  116.  
  117.  
  118. BACKCPY SB1 1 (B1) = 1
  119. RJ ATTFILE ATTACH FILES
  120. RJ RDPARAM READ PARAMETER TABLE
  121. RJ INIT INITIALIZE PARAMETERS
  122. RJ WRITDMP WRITE DUMP DIRECTORY
  123. RJ WRITS0B WRITE S0BACKC
  124. RJ WRITAUD WRITE AUDIT TRAIL
  125. EQ END ALL DONE
  126. TITLE SUBROUTINES
  127. ATTFILE SPACE 4
  128. ** ATTFILE - ATTACH PERMANENT FILES
  129. *
  130. * ATTACH S0BACKC, BACKDIR, AND AUDIT
  131. *
  132.  
  133.  
  134. ATTFILE DATA 0 ENTRY/EXIT
  135. SETUI USERI USER INDEX
  136. PACKNAM PACK SET PACKNAME
  137. ATT1 ATTACH I,SPER,,,R ATTACH S0BACKC
  138. SA1 I
  139. RJ CKSTATS
  140. NZ X2,ATT1 IF FILE WAS BUSY
  141. SA1 I+1
  142. RJ CLREPR CLEAR EPR
  143. ATT2 ATTACH O,DPER,,,R ATTACH BACKDIR
  144. SA1 O
  145. RJ CKSTATS
  146. NZ X2,ATT2 IF FILE WAS BUSY
  147. SA1 O+1
  148. RJ CLREPR CLEAR EPR
  149. ATT3 ATTACH A,APER,,,R ATTACH AUDIT
  150. SA1 A
  151. RJ CKSTATS
  152. NZ X2,ATT3 IF FILE WAS BUSY
  153. SA1 A+1
  154. RJ CLREPR CLEAR EPR
  155. EQ ATTFILE EXIT
  156. CKSTATS SPACE 4
  157. ** CKSTATS - CHECK FILE STATUS FOR BUSY
  158. * ROLLOUT FOR 64 SECONDS IF BUSY
  159. * ABORT IF ERROR
  160. *
  161. * ENTRY X1-FET STATUS WORD
  162. *
  163. * EXIT X2=0, NOT BUSY
  164.  
  165.  
  166. CKSTATS DATA 0 ENTRY/EXIT
  167. AX1 10
  168. MX7 -8
  169. BX2 -X7*X1 ISOLATE STATUS
  170. ZR X2,CKSTATS IF NOT BUSY AND NO ERROR
  171. SX2 X2-1
  172. NZ X2,ABORT ATTACH ERROR
  173. ROLLOUT CKSW
  174. SX2 1 BUSY STATUS
  175. EQ CKSTATS
  176.  
  177. CKSW DATA 7700000100B
  178. CLREPR SPACE 4
  179. ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  180. *
  181. * ENTRY A1/X1=FET+1 AND CONTENTS
  182.  
  183.  
  184. CLREPR DATA 0 ENTRY/EXIT
  185. SX6 B1 MASK FOR EPR
  186. LX6 44
  187. BX6 -X6*X1
  188. SA6 A1
  189. EQ CLREPR
  190. * /--- BLOCK SOURCEY 00 000 81/04/02 11.09
  191. DMPI SPACE 4
  192. ** DMPI - INCREMENT DUMP DIR. RECORD NUMBER/DATASET
  193. * ABORT WITH MESSAGE IF OUT OF ROOM
  194.  
  195.  
  196. DMPI DATA 0 ENTRY/EXIT
  197. RJ DMPX INCREMENT
  198. PL X6,DMPI IF NO ERROR
  199. EQ DERR1 ERROR MESSAGE
  200. DMPX SPACE 4
  201. ** DMPX - INCREMENT DUMP DIRECTORY
  202. * X6.LT.0 IF ERROR
  203. DMPX DATA 0
  204. SA1 CNOR CURRENT NUM OF RECORDS
  205. SA2 DNOR MAX NUMBER OF RECORDS
  206. SX7 X1+B1 INCREMENT
  207. IX6 X2-X7
  208. SA7 A1
  209. PL X6,DMPX IF NO NEW DATASET NEEDED
  210. SX7 B1
  211. SA7 A7 CURRENT RECORD = 1
  212. SA1 CNUM CURRENT DATASET NUMBER
  213. SX7 X1+B1
  214. SA2 DNUM MAX NUMBER
  215. IX6 X2-X7
  216. NG X6,DMPX NOT ENOUGH DATASETS
  217. NZ X6,DMPX1 IF NOT LAST DATASET
  218. SA3 DNORL NUMBER OF RECORDS
  219. BX6 X3
  220. SA6 DNOR
  221. DMPX1 SA7 A1
  222. SA1 DNAM BASE NAME
  223. LX7 DSHF SHIFT FOR NAME
  224. IX1 X7+X1 MERGE
  225. RJ DSET ATTACH DATASET
  226. MX6 0 OK RESPONSE
  227. EQ DMPX EXIT
  228. INIT SPACE 4
  229. ** INIT - INITIALIZE PARAMETERS
  230.  
  231.  
  232. INIT DATA 0 ENTRY/EXIT
  233. SETTL TIMEL SET TIME LIMIT
  234. SETPR PRIOR SET PRIORITY
  235. SA1 PARAM+PBASE DATABASE NAME
  236. SA2 PARAM+PDNUM NUMBER OF DATASETS
  237. BX6 X1
  238. BX7 X2
  239. SA6 DNAM
  240. SA7 DNUM
  241. SA1 PARAM+PNREC NUMBER OF RECORDS
  242. SA2 PARAM+PLREC NUMBER OF RECORDS(LAST DATASET)
  243. BX6 X1
  244. BX7 X2
  245. SA6 DNORA
  246. SA7 DNORL
  247. SA1 PARAM+PPAGE PAGE SIZE
  248. BX6 X1
  249. SA6 PAGE
  250. SA6 CPAG
  251. EQ INIT
  252. INTD SPACE 4
  253. ** INTD - INITIALIZE DUMP DIRECTORY POINTERS
  254. * SET TO FILE 0, LAST BLOCK
  255.  
  256.  
  257. INTD DATA 0 ENTRY/EXIT
  258. SA1 DNORA DATASET NUMBER OF RECORDS
  259. MX7 0
  260. BX6 X1
  261. SA6 CNOR
  262. SA7 CNUM DATASET NUMBER
  263. SA6 DNOR
  264. EQ INTD EXIT
  265. * /--- BLOCK SOURCEY 00 000 81/03/05 08.20
  266. RDPARAM SPACE 4
  267. ** RDPARAM - READ PARAMETER BLOCK
  268.  
  269.  
  270. RDPARAM DATA 0 ENTRY/EXIT
  271. RJ ZPARAM ZERO PARAMETER AREA
  272. REWIND I
  273. READ I,R
  274. READW I,PARAM,MBPARM*BLKSZE
  275. EQ RDPARAM EXIT
  276. TRIPMSG SPACE 4
  277. ** TRIPMSG - WRITE A MESSAGE TO THE DAYFILE 3 TIMES
  278. *
  279. * X6 - ADDRESS OF MESSAGE
  280.  
  281.  
  282. TRIPMSG DATA 0
  283. SA6 TRSAVE
  284. MESSAGE X6
  285. SA1 TRSAVE
  286. MESSAGE X1
  287. SA1 TRSAVE
  288. MESSAGE X1
  289. EQ TRIPMSG
  290.  
  291. TRSAVE DATA 0
  292. WRITAUD SPACE 4
  293. ** WRITE AUDIT TRAIL BACK TO PLATO
  294.  
  295.  
  296. WRITAUX RJ DDET DETACH DATASET
  297. WRITAUD DATA 0 ENTRY/EXIT
  298. MESSAGE WRAM
  299. REWIND A,R REWIND FILE
  300. READ A,R INITIALIZE READING OF FILE
  301. RJ ATTA ATTACH
  302.  
  303. WRA1 SA1 ARCT INCREMENT CURRENT RECORD COUNT
  304. SX7 X1+B1
  305. SA7 A1
  306. SX6 X1-AUDCNT SEE IF DONE
  307. PL X6,WRITAUX DONE
  308. RJ ZPARAM ZERO PARAMETER AREA
  309. READW A,PARAM,AUDBLK READ DATA
  310. NZ X1,WRA2 IF EOR, EOF, EOI
  311. SA1 ARCT RECORD COUNT
  312. BX6 X1 CURRENT RECORD COUNT
  313. SX7 B1 RECORD LENGTH = 1
  314. SX1 PARAM MEMORY LOCATION
  315. RJ DOUT WRITE TO PLATO
  316. EQ WRA1 GET NEXT RECORD
  317.  
  318. WRA2 SA1 ARCT RECORD COUNT
  319. BX6 X1 CURRENT RECORD COUNT
  320. SX7 B1 RECORD LENGTH = 1
  321. SX1 PARAM MEMORY LOCATION
  322. RJ DOUT WRITE TO PLATO
  323. SA1 ARCT INCREMENT CURRENT RECORD COUNT
  324. SX7 X1+B1
  325. SA7 A1
  326. SX6 X1-AUDCNT SEE IF DONE
  327. PL X6,WRITAUX DONE
  328. RJ ZPARAM ZERO PARAMETER AREA
  329. EQ WRA2 LOOP FOR ALL REMAINING RECORDS
  330.  
  331. WRAM DIS ,*WRITING AUDIT TRAIL*
  332. * /--- BLOCK SOURCEY 00 000 81/03/23 13.10
  333. WRITDMP SPACE 4
  334. ** WRITE DUMP DIRECTORY BACK TO PLATO
  335.  
  336.  
  337. WRITDMP DATA 0 ENTRY/EXIT
  338. MESSAGE WRDM
  339. REWIND O,R REWIND FILE
  340. READ O,R INITIALIZE READING OF FILE
  341. RJ INTD INITIALIZE DUMP POINTERS
  342.  
  343. WRD1 RJ DMPI INCREMENT DUMP DIR. RECORD NUM.
  344. SA5 DREC NUMBER OF WORDS / RECORD
  345. READW O,DBUF,X5
  346. NZ X1,WRD2 IF EOR
  347. SA1 CNOR BEGINNING RECORD
  348. SX7 B1 RECORD COUNT
  349. BX6 X1
  350. SX1 DBUF MEMORY LOCATION
  351. RJ DOUT WRITE IT OUT
  352. EQ WRD1 BACK FOR MORE
  353.  
  354. WRD2 SA1 DREC RECORD SIZE
  355. SB7 X1+DBUF LAST WORD TO BE SET TO O77...76
  356. SX7 -1
  357. WRD3 SA7 B6
  358. SB6 B6+B1
  359. LT B6,B7,WRD3
  360. SA1 CNOR BEGINNING RECORD
  361. SX7 B1 RECORD COUNT
  362. BX6 X1
  363. SX1 DBUF MEMORY LOCATION
  364. RJ DOUT WRITE IT OUT
  365. SX7 -1 FILL REST OF PAGE WITH 77...76
  366. SB6 DBUF
  367. SA1 DREC
  368. SB7 X1+DBUF
  369. WRD4 SA7 B6
  370. SB6 B6+B1
  371. LT B6,B7,WRD4
  372. SX6 11
  373. SA6 TEMP RECORD COUNT
  374. WRD5 SA1 TEMP
  375. SX6 X1-1
  376. NG X6,WRITDMP IF DONE
  377. SA6 A1+
  378. RJ DMPI NEXT RECORD
  379. SA1 CNOR CURRENT RECORD NUMBER
  380. SX7 B1 WRITE ONE RECORD
  381. BX6 X1
  382. SX1 DBUF BEGINNING ADDRESS
  383. RJ DOUT WRITE IT OUT
  384. EQ WRD5
  385.  
  386. WRDM DIS ,*WRITING DUMP DIRECTORY*
  387. * /--- BLOCK SOURCEY 00 000 81/03/04 11.00
  388. WRITS0B SPACE 4
  389. ** WRITE S0BACKC BACK TO PLATO
  390.  
  391.  
  392. WRITS0X RJ DDET DETACH DATASET
  393. WRITS0B DATA 0 ENTRY/EXIT
  394. MESSAGE WRSM
  395. REWIND I,R REWIND FILE
  396. READ I,R INITIALIZE READING OF FILE
  397. RJ DATT ATTACH
  398.  
  399. WRS1 SA1 SRCT INCREMENT CURRENT RECORD COUNT
  400. SX7 X1+B1
  401. SA7 A1
  402. SX6 X1-MBALL SEE IF DONE
  403. PL X6,WRITS0X DONE
  404. RJ ZPARAM ZERO PARAMETER AREA
  405. READW I,PARAM,BLKSZE READ DATA
  406. NZ X1,WRS2 IF EOR, EOF, EOI
  407. SA1 SRCT RECORD COUNT
  408. BX6 X1 CURRENT RECORD COUNT
  409. SX7 B1 RECORD LENGTH = 1
  410. SX1 PARAM MEMORY LOCATION
  411. RJ DOUT WRITE TO PLATO
  412. EQ WRS1 GET NEXT RECORD
  413.  
  414. WRS2 SA1 SRCT RECORD COUNT
  415. BX6 X1 CURRENT RECORD COUNT
  416. SX7 B1 RECORD LENGTH = 1
  417. SX1 PARAM MEMORY LOCATION
  418. RJ DOUT WRITE TO PLATO
  419. SA1 SRCT INCREMENT CURRENT RECORD COUNT
  420. SX7 X1+B1
  421. SA7 A1
  422. SX6 X1-MBALL SEE IF DONE
  423. PL X6,WRITS0X DONE
  424. RJ ZPARAM ZERO PARAMETER AREA
  425. EQ WRS2 LOOP FOR ALL REMAINING RECORDS
  426.  
  427. WRSM DIS ,*WRITING S0BACKC*
  428. ZPARAM SPACE 4
  429. ** ZPARAM - ZERO PARAMETER BLOCK
  430.  
  431.  
  432. ZPARAM DATA 0 ENTRY/EXIT
  433. SB7 MBPARM*BLKSZE-1 NUMBER OF WORDS - 1
  434. SB6 PARAM FWA
  435. SX7 0
  436. ZPR1 SA7 B7+B6 STORE WORD
  437. SB7 B7-B1 DECREMENT COUNTER
  438. PL B7,ZPR1 IF NOT DONE
  439. EQ ZPARAM EXIT
  440. * /--- BLOCK SOURCEY 00 000 81/02/25 12.43
  441. TITLE PLATO DATASET ATTACH, READ WRITE ROUTINES
  442. ** DSET - ATTACH DATASET
  443. *
  444. * X1=DATASET NAME
  445. *
  446. * EXIT IF ALREADY ATTACHED
  447. * ABORT IF ERROR
  448.  
  449.  
  450. DSETX SA1 DST4 SEE IF CLEAR MESSAGE NEEDED
  451. ZR X1,DSET
  452. MX6 0 CLEAR FLAG
  453. SA6 A1
  454. SX6 CMSG
  455. RJ BDIS CLEAR B DISPLAY
  456. DSET DATA 0 ENTRY/EXIT
  457. BX7 X1 DATASET NAME
  458. SA1 DSNAME OLD DATASET NAME
  459. IX6 X7-X1
  460. ZR X6,DSET EXIT IF ALREADY ATTACHED
  461. SA7 A1 SAVE FOR LATER
  462. DST1 SA1 DARG1 ARGUMENT LIST
  463. RJ =XDATASET ATTACH DATASET
  464. SB1 1 RESTORE
  465. SA1 DERROR SEE IF ERROR STATUS
  466. NG X1,DSETX IF NO ERROR
  467. SX6 X1-13 SEE IF ATTACHED EARLIER
  468. ZR X6,DST2
  469. SX1 X1-2 SEE IF ATTACHED ELSEWARE
  470. NZ X1,DST3
  471. SA6 DST4 FLAG TO CLEAR WAITING MESSAGE
  472. SX6 DWAIT WAITING MESSAGE
  473. RJ BDIS
  474. EQ DST1
  475.  
  476. DST2 RJ DDET DETACH IT
  477. EQ DST1 REATTACH IT
  478.  
  479. DST3 MESSAGE DMATT ATTACH ERROR MESSAAGE
  480. RJ DMAM DATASET NAME
  481. RJ DMEM ERROR STATUS
  482. EQ ABORT
  483.  
  484. DST4 DATA 0 FLAG FOR WAITING MESSAGE
  485. DOUT SPACE 4
  486. ** DOUT - DATAOUT ROUTINES
  487. *
  488. * X1 - CENTRAL MEMORY LOCATION
  489. * X6 - STARTING RECORD
  490. * X7 - NUMBER OF RECORDS
  491.  
  492.  
  493. DOUT DATA 0 ENTRY/EXIT
  494. RJ DPAR STORE PARAMETERS
  495. RJ =XDATAOUT WRITE OUT DATA
  496. SB1 1 RESTORE
  497. SA1 DERROR LOOK AT STATUS
  498. NG X1,DOUT IF NO ERROR
  499. MESSAGE DMWRM DATAOUT ERROR MESSAGE
  500. *
  501. * ERROR MESSAGES AND ABORT
  502. *
  503. DINX RJ DMAM DATASET NAME
  504. RJ DMEM ERROR STATUS
  505. RJ DBGM BEGINNING RECORD NUMBER
  506. RJ DNRM NUMBER OF RECORDS
  507. EQ ABORT ABORT
  508. * /--- BLOCK SOURCEY 00 000 81/03/04 11.02
  509. DDET SPACE 4
  510. ** DDET - DETACH DATASET
  511. *
  512. * DETACHES LAST DATASET
  513.  
  514.  
  515. DDET DATA 0 ENTRY/EXIT
  516. SA1 DARG3 ARGUMENT LIST
  517. RJ =XDETACH DETACH DATASET
  518. SB1 1 RESTORE
  519. SX7 0
  520. SA7 DSNAME CLEAR NAME
  521. EQ DDET
  522. DPAR SPACE 4
  523. ** DPAR - STORE PARAMETERS
  524. *
  525. * X1 - CENTRAL MEMORY LOCATION
  526. * X6 - STARTING RECORD
  527. * X7 - NUMBER OF RECORDS
  528.  
  529.  
  530. DPAR DATA 0 ENTRY/EXIT
  531. SA6 DBR BEGINNING RECORD
  532. SA7 DNR NUMBER OF RECORDS
  533. BX6 X1 MEMORY ADDRESS
  534. SA6 DA2M
  535. SA1 DARG2 PARAMETER LIST
  536. EQ DPAR
  537. BDIS SPACE 4
  538. ** BDIS - SENT MESSAGE TO THE B DISPLAY ONLY
  539. *
  540. * X6=ADDRESS OF MESSAGE
  541.  
  542.  
  543. BDIS DATA 0 ENTRY/EXIT
  544. SA6 DARG4 STORE ARGUMENT
  545. SA1 DARG4
  546. RJ =XBDISP
  547. SB1 1 RESTORE
  548. EQ BDIS
  549. * /--- BLOCK SOURCEY 00 000 81/02/26 13.12
  550. DMAM SPACE 4
  551. ** DMAM - OUTPUT DATASET NAME INTO DAYFILE
  552.  
  553.  
  554. DMAM DATA 0 ENTRY/EXIT
  555. SA1 DSNAME GET CURRENT DATASET NAME
  556. BX6 X1
  557. SA6 DMNAX STORE IN ERROR MESSAGE
  558. MESSAGE DMNAM
  559. EQ DMAM
  560. DMEM SPACE 4
  561. ** DMEM - OUTPUT ERROR STATUS INTO DAYFILE
  562.  
  563.  
  564. DMEM DATA 0 ENTRY/EXIT
  565. SA1 DERROR GET ERROR STATUS
  566. RJ CDD CONVERT
  567. SA6 DMERX STORE IN ERROR MESSAGE
  568. MESSAGE DMERR
  569. EQ DMEM
  570. DBGM SPACE 4
  571. ** DBGM - OUTPUT BEGIN RECORD INTO DAYFILE
  572.  
  573.  
  574. DBGM DATA 0 ENTRY/EXIT
  575. SA1 DBR GET BEGINNING RECORD NUMBER
  576. RJ CDD CONVERT
  577. SA6 DMBGX STORE IN ERROR MESSAGE
  578. MESSAGE DMBGR
  579. EQ DBGM
  580. DNRM SPACE 4
  581. ** DNRM - OUTPUT NUMBER OF RECORDS INTO DAYFILE
  582.  
  583.  
  584. DNRM DATA 0 ENTRY/EXIT
  585. SA1 DNR GET NUMBER OF RECORDS
  586. RJ CDD CONVERT
  587. SA6 DMNRX STORE IN ERROR MESSAGE
  588. MESSAGE DMNRC
  589. EQ DNRM
  590.  
  591.  
  592. * ERROR MESSAGES
  593.  
  594. DMATT DIS ,* ERROR IN ATTACHING DATASET*
  595. DMWRM DIS ,* ERROR IN WRITING DATASET*
  596. DMNAM DATA 10H DATASET
  597. DATA 10HNAME =
  598. DMNAX DATA 0
  599. DATA 0
  600. DMERR DATA 10H ERROR ST
  601. DATA 10HATUS =
  602. DMERX DATA 0
  603. DATA 0
  604. DMBGR DATA 10H BEGINNIN
  605. DATA 10HG RECORD =
  606. DMBGX DATA 0
  607. DATA 0
  608. DMNRC DATA 10H ENDING R
  609. DATA 10HECORD =
  610. DMNRX DATA 0
  611. DATA 0
  612.  
  613. * ARGUMENT LISTS AND VARIABLES
  614.  
  615. DWAIT DATA 10HWAITING FO
  616. DATA 10HR FILE -
  617. DSNAME DATA 0 DATASET NAME
  618. DATA 0 END OF MESSAGE
  619. DERROR DATA 0 RETURN STATUS
  620. DM1 DATA -1 WRITE PERMISSION
  621. DBR DATA 0 BEGINNING RECORD NUMBER
  622. DNR DATA 0 NUMBER OF RECORDS
  623. CMSG DATA 1L CLEAR MESSAGE
  624.  
  625. DARG1 VFD 60/DSNAME ARGUMENT LIST FOR ATTACH
  626. VFD 60/DERROR
  627. VFD 60/DM1
  628. DATA 0
  629.  
  630. DARG2 VFD 60/DBR ARG. LIST FOR DATAIN/DATAOUT
  631. DA2M VFD 60/0 MEMORY LOCATION STORED HERE
  632. VFD 60/DNR
  633. VFD 60/DERROR
  634. DATA 0
  635.  
  636. DARG3 VFD 60/DSNAME ARGUMENT LIST FOR DETACH
  637. DATA 0
  638.  
  639. DARG4 VFD 60/0 B DISPLAY ARGUMENT
  640. DATA 0
  641. * /--- BLOCK SOURCEY 00 000 81/04/02 11.10
  642. ATTA SPACE 4
  643. ** ATTA - ATTACH AUDIT TRAIL DATASET (S0BACKA)
  644.  
  645.  
  646. ATTA DATA 0 ENTRY/EXIT
  647. SA1 ATTN DATASET NAME
  648. RJ DSET ATTACH
  649. EQ ATTA EXIT
  650. ATTN DATA 7LS0BACKA
  651. DATT SPACE 4
  652. ** DATT - ATTACH BACKUPS DATASET (S0BACKC)
  653.  
  654.  
  655. DATT DATA 0 ENTRY/EXIT
  656. SA1 DATN DATASET NAME
  657. RJ DSET ATTACH
  658. EQ DATT EXIT
  659. DATN DATA 7LS0BACKC
  660. END SPACE 4
  661. ** END - END PROGRAM.
  662.  
  663.  
  664. END BSS 0 END PROGRAM
  665. ENDRUN
  666.  
  667. DERR1 MESSAGE DMERR1
  668. ABORT SX6 MSG1
  669. RJ TRIPMSG
  670. SX6 MSG2
  671. RJ TRIPMSG
  672. MESSAGE MSG3
  673. SX6 MSG2
  674. RJ TRIPMSG
  675. SX6 MSG1
  676. RJ TRIPMSG
  677. ABORT
  678. SPACE 4
  679. * MESSAGES
  680.  
  681.  
  682. DMERR1 DIS ,* NOT ENOUGH DUMP DIRECTORY DATASETS*
  683. MSG1 DIS ,Z ******************************Z
  684. MSG2 DIS ,Z *** ***Z
  685. MSG3 DIS ,Z *** ERRORS ***Z
  686. SPACE 4
  687. * COMMON DECKS.
  688.  
  689.  
  690. *CALL COMCCIO
  691. *CALL COMCRDW
  692. *CALL COMCSYS
  693. *CALL COMCWTW
  694. *CALL COMCCDD
  695. *CALL COMCCPM
  696. SPACE 4
  697. * BUFFERS.
  698.  
  699.  
  700. BUFFERS BSS 0
  701. TEMP BSSZ 1 RECORD COUNT
  702. DBUF BSSZ 500 BUFFER FOR DUMP DIRECTORY
  703. IBUF BSSZ IBUFL CIRCULAR BUFFER FOR I
  704. OBUF BSSZ OBUFL CIRCULAR BUFFER FOR O
  705. ABUF BSSZ ABUFL CIRCULAR BUFFER FOR A
  706. PARAM BSSZ MBPARM*BLKSZE PARAMETER TABLE
  707. END BACKCPY