// JOB VSB024,,B000,B000
// OPR ****--BEGIN--TO---COMPILE--VSCOB3--*****
// 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.
       PROGRAM-ID.             VSCOB3.
       AUTHOR.                 JAN M. WIEWIORA.
       INSTALLATION.           S D I  90/30 TEST GROUP.
       DATE-WRITTEN.           AUGUST 21, 1974.
       DATE-COMPILED.          AUGUST 1974.
       SECURITY.               V S B  GROUP AND SOFTWARE TESTING.
       REMARKS.
                               THIS PROGRAM WILL READ A DIRECT ACCESS
                               RELATIVE FILE RANDOMLY AND OUTPUT TO AN
                               ISAM FILE SEQUENTIALLY. THIS IS THE
                               THIRD PROGRAM IN THE VSB COBOL TEST
                               GROUP. ********************************.
***********
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.        UNIVAC-9030.
       OBJECT-COMPUTER.        UNIVAC-9030.
       SPECIAL-NAMES.
                               SYSDATE IS UDATE,
                               SYSTIME IS UTIME,
                               SYSCONSOLE IS OPR,
                               SYSCHAN-15 IS TOP.
***********
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT DISKDA ASSIGN TO DISC-8414,
                  ACCESS MODE IS RANDOM,
                  ORGANIZATION IS RELATIVE,
                  RELATIVE KEY IS REL-KEY.
           SELECT DISKIS ASSIGN TO DISC-8414,
                  ACCESS MODE IS SEQUENTIAL,
                  ORGANIZATION IS INDEXED,
                  RECORD KEY IS DA-KEY.
           SELECT PRNTR ASSIGN TO PRINTER.
           SELECT DISKIN ASSIGN TO DISC-8414
                  ACCESS MODE IS SEQUENTIAL,
                  ORGANIZATION IS INDEXED
                  RECORD KEY IS IS-KEY.
***********
       DATA DIVISION.
       FILE SECTION.
       FD  DISKDA
           RECORD CONTAINS 96 CHARACTERS,
           LABEL RECORDS ARE STANDARD,
           RECORDING MODE IS F.
       01  DA-REC              PIC X(96).
       FD  DISKIS
           BLOCK CONTAINS 2 RECORDS,
           RECORD CONTAINS 96 CHARACTERS,
           LABEL RECORDS ARE STANDARD,
           RECORDING MODE IS F.
       01  IS-REC.
           05 FILLER           PIC X(77).
           05 DA-KEY           PIC XXX.
           05 FILLER           PIC X(16).
       FD  PRNTR LABEL RECORDS ARE OMITTED.
       01  PLINE               PIC X(120).
       FD  DISKIN
           BLOCK CONTAINS 2 RECORDS,
           RECORD CONTAINS 96 CHARACTERS,
           LABEL RECORDS ARE STANDARD
           RECORDING MODE IS F.
       01  IN-REC.
           05 FILLER           PIC X(77).
           05 IS-KEY           PIC XXX.
           05 FILLER           PIC X(16).
       WORKING-STORAGE SECTION.
       01  ADATE.
           05 YY               PIC XX.
           05 MM               PIC XX.
           05 DD               PIC XX.
       01  ATIME.
           05 HH               PIC XX.
           05 SS               PIC XX.
       01  HLINE.
           03 FILLER           PIC X(6)  VALUE 'TIME: '.
           03 HTIME.
              05 HH            PIC XX.
              05 FILLER        PIC X     VALUE ':'.
              05 SS            PIC XX.
           03 FILLER PIC X(32) VALUE '  VSCOB3 SEQ ISAM FROM DA TEST  '.
           03 FILLER           PIC X(6)  VALUE 'DATE: '.
           03 HDATE.
              05 MM            PIC XX.
              05 FILLER        PIC X     VALUE '/'.
              05 DD            PIC XX.
              05 FILLER        PIC X     VALUE '/'.
              05 YY            PIC XX.
       01  S                   PIC X     VALUE ' '.
       01  REL-KEY             PIC 999.
       01  REC-IN.
           05 EOF-KEY          PIC XXX.
              88 LR            VALUE 'EOF'.
           05 FILLER           PIC X(93) VALUE SPACES.
       PROCEDURE DIVISION.
       DAM-ISAM SECTION.
       START-THE-RUN.
           ACCEPT ADATE FROM UDATE.
           ACCEPT ATIME FROM UTIME.
           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 INPUT DISKDA OUTPUT DISKIS, PRNTR.
           WRITE PLINE FROM S BEFORE TOP.
           WRITE PLINE FROM HLINE BEFORE 2.
           MOVE ZEROS TO REL-KEY.
       READ-DAM.
           ADD 1 TO REL-KEY.
           READ DISKDA INTO REC-IN INVALID KEY DISPLAY
                'BAD READ FROM DA FILE KEY ' REL-KEY, GO TO EOJ.
           IF LR GO TO PRINT-ISAM.
           WRITE PLINE FROM REC-IN BEFORE 1.
           WRITE IS-REC FROM REC-IN INVALID KEY DISPLAY ' BAD WRITE **'
                               GO TO EOJ.
           GO TO READ-DAM.
       PRINT-ISAM SECTION.
       OPEN-AGAIN.
           CLOSE DISKDA, DISKIS.
           WRITE PLINE FROM S BEFORE TOP.
           WRITE PLINE FROM HLINE BEFORE 2.
           OPEN INPUT DISKIN.
       READ-ISAM.
           READ DISKIN AT END GO TO EOR.
           WRITE PLINE FROM IN-REC BEFORE 1.
           GO TO READ-ISAM.
       EOR.
           CLOSE DISKIN.
           GO TO EOJ-1.
       EOJ.
           CLOSE DISKDA.
           CLOSE DISKIS.
       EOJ-1.
           WRITE PLINE FROM S BEFORE TOP.
           CLOSE PRNTR.
           DISPLAY 'END OF ISAM TEST VSB024 ***'.
           STOP RUN.
/*
// OPR *****--BEGIN--TO--LINK--AND--LOAD--VSCOB3--*****
// DVC 20 // LFD PRNTR
// DVC 50 // VOL SDIVSB // LBL VSBLIB // LFD LOAD
// WORK1    DVC=50,VOL=SDIVSB
// EXEC LNKEDT
// PARAM OUT=LOAD
/$
 LOADM VSCOB3
/*
// OPR *****--BEGIN--TO--EXECUTE--VSCOB3--*****
// DVC 20 // LFD PRNTR
// OPTION JOBDUMP
// DVC 50 // VOL SDIVSB // LBL COBOLDAM  // LFD DISKDA
// DVC 50 // VOL SDIVSB // LBL COBOLISAM  // LFD DISKIS,3,INIT
// DVC 50 // VOL SDIVSB // LBL COBOLISAM  // LFD DISKIN,3
// DVC 50 // VOL SDIVSB // LBL VSBLIB // LFD LOAD
// EXEC VSCOB3,LOAD
/&
