// JOB VSB023,,B000,B000
// OPR ****--BEGIN--TO---COMPILE--VSCOB2--*****
// DVC 20 // LFD PRNTR
// WORK1 DVC=50,VOL=SDIVSB
// WORK2 DVC=50,VOL=SDIVSB
// WORK3 DVC=50,VOL=SDIVSB
// OPTION      SYSDUMP
// EXEC COBOLB
// PARAM LST=(A,E,K,L,S,C)
// PARAM OUT=(P,E,S)
/$
       IDENTIFICATION DIVISION.                                         VSB-DA02
       PROGRAM-ID.             VSCOB2.                                  VSB-DA02
       AUTHOR.                 JAN M. WIENIORA.                         VSB-DA02
      *
      **************************************************************************
      *
       INSTALLATION.           S D I.                                   VSB-DA02
       DATE-WRITTEN.           AUGUST 14, 1974.                         VSB-DA02
       DATE-COMPILED.          AUGUST 1974.                             VSB-DA02
       SECURITY.               V S B GROUP.                             VSB-DA02
       REMARKS.                THIS PROGRAM WILL PROCESS THE SEQUENTIAL VSB-DA02
                               DISK FILE BUILT IN VSCOB1 INTO A DIRECT  VSB-DA02
                               ACCESS RELATIVE FILE PROCESSING          VSB-DA02
                               RANDOMLY. *********************.         VSB-DA02
      **************************************************************************
       ENVIRONMENT DIVISION.                                            VSB-DA02
       CONFIGURATION SECTION.                                           VSB-DA02
      *
       SOURCE-COMPUTER.        UNIVAC-9030.
       OBJECT-COMPUTER.        UNIVAC-9030.
       SPECIAL-NAMES.                                                   VSB-DA02
                               SYSDATE IS UDATE,                        VSB-DA02
                               SYSTIME IS UTIME,                        VSB-DA02
                               SYSCONSOLE IS OPR,                       VSB-DA02
                               SYSCHAN-15 IS TOP.                       VSB-DA02
       INPUT-OUTPUT SECTION.                                            VSB-DA02
       FILE-CONTROL.                                                    VSB-DA02
               SELECT DISKSQ ASSIGN TO DISC-8414.                       VSB-DA02
               SELECT DISKDA ASSIGN TO DISC-8414,                       VSB-DA02
                   ACCESS MODE IS RANDOM,                               VSB-DA02
                   ORGANIZATION IS RELATIVE,                            VSB-DA02
                   RELATIVE KEY IS REL-KEY.                             VSB-DA02
               SELECT PRNTR  ASSIGN TO PRINTER.                         VSB-DA02
       I-O-CONTROL.                                                     VSB-DA02
           APPLY FILE-PREPARATION ON DISKDA.                            VSB-DA02
       DATA DIVISION.                                                   VSB-DA02
       FILE SECTION.                                                    VSB-DA02
       FD  DISKSQ,                                                      VSB-DA02
           BLOCK CONTAINS 2 RECORDS,
           RECORD CONTAINS 96 CHARACTERS,
           LABEL RECORDS ARE STANDARD,                                  VSB-DA02
           RECORDING MODE IS F.                                         VSB-DA02
       01  SQ-REC              PIC X(96).
       FD  DISKDA,                                                      VSB-DA02
           RECORD CONTAINS 96 CHARACTERS,
           LABEL RECORDS ARE STANDARD,                                  VSB-DA02
           RECORDING MODE IS F.                                         VSB-DA02
       01  DA-REC              PIC X(96).
       FD  PRNTR LABEL RECORDS ARE OMITTED.                             VSB-DA02
       01  PLINE               PIC X(120).                              VSB-DA02
      *
      **************************************************************************
      *
       WORKING-STORAGE SECTION.                                         VSB-DA02
       01  LNC                 PIC 99.                                  VSB-DA02
       01  ADATE.                                                       VSB-DA02
           05 YY               PIC XX.                                  VSB-DA02
           05 MM               PIC XX.                                  VSB-DA02
           05 DD               PIC XX.                                  VSB-DA02
       01  ATIME.                                                       VSB-DA02
           05 HH               PIC XX.                                  VSB-DA02
           05 SS               PIC XX.                                  VSB-DA02
       01  HLINE.                                                       VSB-DA02
           03 FILLER           PIC X(6)  VALUE 'TIME: '.                VSB-DA02
           03 HTIME.                                                    VSB-DA02
              05 HH            PIC XX.                                  VSB-DA02
              05 FILLER        PIC X     VALUE ':'.                     VSB-DA02
           05 SS               PIC XX.                                  VSB-DA02
           03 FILLER PIC X(32) VALUE '  VSCOB2 RANDOM DA RELATIVE FILE'.VSB-DA02
           03 FILLER           PIC X(8)  VALUE '  DATE: '.              VSB-DA02
           03 HDATE.                                                    VSB-DA02
              05 MM            PIC XX.                                  VSB-DA02
              05 FILLER        PIC X     VALUE '/'.                     VSB-DA02
              05 DD            PIC XX.                                  VSB-DA02
              05 FILLER        PIC X     VALUE '/'.                     VSB-DA02
              05 YY            PIC XX.                                  VSB-DA02
       01  S                   PIC X     VALUE ' '.                     VSB-DA02
       01  REL-KEY             PIC 99    VALUE ZERO.                    VSB-DA02
       01  REC-IN.                                                      VSB-DA02
           05 FILLER           PIC X(94).
           05 C-KEY            PIC 99.                                  VSB-DA02
           05 FILLER           PIC X(16).
       01  DUM-REC.                                                     VSB-DA02
           05 FILLER           PIC XXX   VALUE 'EOF'.                   VSB-DA02
           05 FILLER           PIC X(93) VALUE SPACES.
      *
      **************************************************************************
       PROCEDURE DIVISION.                                              VSB-DA02
       START-UP-ROUTINE.                                                VSB-DA02
           ACCEPT ADATE FROM UDATE.                                     VSB-DA02
           ACCEPT ATIME FROM UTIME.                                     VSB-DA02
           MOVE YY OF ADATE TO YY OF HDATE
           MOVE MM OF ADATE TO MM OF HDATE
           MOVE DD OF ADATE TO DD OF HDATE
           MOVE HH OF ATIME TO HH OF HTIME
           MOVE SS OF ATIME TO SS OF HTIME
           OPEN OUTPUT PRNTR.                                           VSB-DA02
           WRITE PLINE FROM S BEFORE TOP.                               VSB-DA02
           WRITE PLINE FROM HLINE BEFORE 2.                             VSB-DA02
           OPEN INPUT DISKSQ OUTPUT DISKDA.                             VSB-DA02
       READ-SQ.                                                         VSB-DA02
           ADD 1 TO REL-KEY.
           READ DISKSQ INTO REC-IN AT END GO TO WRITE-DUMMY.            VSB-DA02
           WRITE DA-REC FROM REC-IN INVALID KEY                         VSB-DA02
                   DISPLAY 'BAD WRITE ON REL-FILE', REL-KEY.            VSB-DA02
           WRITE PLINE FROM REC-IN BEFORE 1.                            VSB-DA02
           GO TO READ-SQ.                                               VSB-DA02
       WRITE-DUMMY.                                                     VSB-DA02
           WRITE DA-REC FROM DUM-REC INVALID KEY                        VSB-DA02
                 DISPLAY 'INVALID LAST RECORD'.                         VSB-DA02
           WRITE PLINE FROM S BEFORE TOP.                               VSB-DA02
           CLOSE PRNTR, DISKSQ, DISKDA.                                 VSB-DA02
           DISPLAY 'END OF VSB023' UPON OPR.
           STOP RUN.                                                    VSB-DA02
/*
// OPR ****--BEGIN--TO--LINK--AND--LOAD--VSCOB2--****
// DVC 20 // LFD PRNTR
// DVC 50 // VOL SDIVSB // LBL VSBLIB // LFD LOAD
// WORK1 DVC=50,VOL=SDIVSB
// EXEC LNKEDT
// PARAM OUT=LOAD
/$
 LOADM VSCOB2
/*
// OPR ****--BEGIN--TO--EXECUTE--VSCOB2--*****
// DVC 20 // LFD PRNTR
// DVC 50 // VOL SDIVSB // LBL COBOLSAM  // LFD DISKSQ
// DVC 50 // VOL SDIVSB // LBL COBOLDAM  // LFD DISKDA,,INIT
// DVC 50 // VOL SDIVSB // LBL VSBLIB // LFD LOAD
// EXEC VSCOB2,LOAD
/&
