DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7a386e056⟧ TextFile

    Length: 9088 (0x2380)
    Types: TextFile
    Names: »OPG6A.LST«

Derivation

└─⟦c154ac35e⟧ Bits:30002656 COBOL-programmer til undervisning
    └─ ⟦this⟧ »OPG6A.LST« 

TextFile

\f

* Level II COBOL  V2.1                 OPG6A.CBL                   Page 0001
*
* Options:
       IDENTIFICATION DIVISION.
       PROGRAM-ID.                              OPG6.
       AUTHOR.                                  HOLD 4.
       DATE-WRITTEN.                            24.09.85.
       DATE-COMPILED.                             .09.85.
      *
      *
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.                         PICCOLINE.
       OBJECT-COMPUTER.                         PICCOLINE.
       SPECIAL-NAMES.                           CONSOLE IS CRT.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       SELECT LAES-FIL1 ASSIGN TO "PERSON.TRA".
       SELECT LAES-FIL2 ASSIGN TO "P-TRANS.TRA".
       SELECT AJOUR-FIL ASSIGN TO "A-PERSON.TRA".
       SELECT PRINTER    ASSIGN TO "LST:".
      *
      *
       DATA DIVISION.
       FILE SECTION.
       FD       LAES-FIL1
                LABEL RECORD IS STANDARD.
       01     PERSREG.
            02  PERS-NR                   PIC 9(10).
            02  PERS-FNVN                 PIC X(15).
            02  PERS-EFNVN                PIC X(20).
            02  PERS-GNVN                 PIC X(20).
            02  PERS-POSTNR               PIC 9(4).
            02  PERS-BYNAVN               PIC X(20).
            02  PERS-TLFNR                PIC 9(8).
      *
       FD       LAES-FIL2
                LABEL RECORD IS STANDARD.
        01    TRANSREG.
            02  TRANS-TYPE                PIC 9.
            02  TRANS-NR                  PIC 9(10).
            02  TRANS-FNVN                PIC X(15).
            02  TRANS-EFNVN               PIC X(20).
            02  TRANS-GNVN                PIC X(20).
            02  TRANS-POSTNR              PIC 9(4).
            02  TRANS-BYNAVN              PIC X(20).
            02  TRANS-TLFNR               PIC 9(8).
      *
       FD       AJOUR-FIL
                LABEL RECORD IS STANDARD.
        01    AJOUR-REG.
            02  AJOUR-NR                  PIC 9(10).
            02  AJOUR-FNVN                PIC X(15).
            02  AJOUR-EFNVN               PIC X(20).
            02  AJOUR-GNVN                PIC X(20).
            02  AJOUR-POSTNR              PIC 9999.
            02  AJOUR-BYNAVN              PIC X(20).
            02  AJOUR-TLFNR               PIC 9(8).
      *
       FD       PRINTER
                LABEL RECORD IS OMITTED.
\f

* Level II COBOL  V2.1                 OPG6A.CBL                   Page 0002
*
            01  PRINT-LINIE               PIC  X(132).
      *
      *
       WORKING-STORAGE SECTION.
        01  RAPPORT-LINIE.
           02  RAPP-PERSNR               PIC  99B99B99B9999.
           02  FILLER                    PIC  X(5)  VALUE ":    ".
           02  KOMMENTAR                 PIC  X(114) VALUE SPACE.
        01 EOF-LAES1                     PIC  XXX VALUE "NEJ".
        01 EOF-LAES2                     PIC  XXX VALUE "NEJ".
        01 DATO                          PIC  999999.
        01 OVERSKRIFT-1.
           02  FILLER                    PIC  X(37) VALUE SPACES.
           02  OVS1                      PIC  X(45) VALUE
             "A J O U R F Ø R I N G S R A P P O R T   PR.  ".
           02  OVS1-DATO                 PIC  99B99B99.
           02  FILLER                    PIC  X(34) VALUE SPACES.
           02  FILLER                    PIC  XXXXX VALUE "SIDE ".
           02  SIDE-NR                   PIC  ZZ9.
       01 OVERSKRIFT-2.
           02  FILLER                    PIC  X(132) VALUE
             "PERSON-NUMMER:    FORKLARING:".
       01  LINIE-TAELLER                 PIC  99 VALUE 18.
       01  SIDETAL                       PIC  999 VALUE 001.
      *
      *
       PROCEDURE DIVISION.
       STYR SECTION.
       STYR-IND.
           PERFORM OPEN-FILER.
           PERFORM INDLAES-DATO.
           PERFORM TRANS UNTIL EOF-LAES1="JA " OR EOF-LAES2="JA ".
           IF EOF-LAES2="JA "
             PERFORM LAES-NAESTE UNTIL EOF-LAES1="JA "
           ELSE
             PERFORM TRANS UNTIL EOF-LAES2="JA ".
           PERFORM LUK-FILER.
           STOP RUN.
        STYR-UD.
        EXIT.
      *
      *
       OPEN-FILER SECTION.
       OPEN-IND.
           OPEN INPUT LAES-FIL1.
           OPEN INPUT LAES-FIL2.
           OPEN OUTPUT AJOUR-FIL.
           OPEN OUTPUT PRINTER.
           PERFORM LAES-LAES1.
           PERFORM LAES-LAES2.
       OPEN-UD.
       EXIT.
      *
      *
       INDLAES-DATO SECTION.
       DATO-IND.
           PERFORM CLEAR.
           DISPLAY "DAGS DATO:" AT 0101.
           ACCEPT DATO AT 0112.
\f

* Level II COBOL  V2.1                 OPG6A.CBL                   Page 0003
*
           PERFORM CLEAR.
       DATO-UD.
       EXIT.
      *
      *
       CLEAR SECTION.
       CLS-IND.
           DISPLAY SPACES UPON CRT.
       CLS-UD.
       EXIT.
      *
      *
       TRANS SECTION.
       TRANS-IND.
           IF EOF-LAES1="NEJ"
             PERFORM LAES-NAESTE UNTIL PERS-NR NOT < TRANS-NR.
           MOVE SPACES TO KOMMENTAR.
           IF TRANS-TYPE=1
             PERFORM OPRET
           ELSE IF TRANS-TYPE=2
             PERFORM AENDRE
           ELSE
             PERFORM SLET.
       TRANS-UD.
       EXIT.
      *
      *
       LUK-FILER SECTION.
       LUK-IND.
           CLOSE LAES-FIL1.
           CLOSE LAES-FIL2.
           CLOSE AJOUR-FIL.
           CLOSE PRINTER.
       LUK-UD.
       EXIT.
      *
      *
       LAES-NAESTE SECTION.
       LNST-IND.
           WRITE AJOUR-REG FROM PERSREG.
           PERFORM LAES-LAES1.
       LNST-UD.
       EXIT.
      *
      *
       OPRET SECTION.
       OPR-IND.
           IF PERS-NR=TRANS-NR
             MOVE "OPRETTELSE AF EKSISTERENDE POST" TO KOMMENTAR
           ELSE
             PERFORM FLYT-LAES2-TIL-AJOUR
             MOVE "OPRETTET" TO KOMMENTAR.
           PERFORM SKRIV-DETAIL.
       OPR-UD.
       EXIT.
      *
      *
       AENDRE SECTION.
       AENDRE-IND.
\f

* Level II COBOL  V2.1                 OPG6A.CBL                   Page 0004
*
           IF PERS-NR=TRANS-NR
             PERFORM FLYT-LAES2-TIL-AJOUR
             MOVE "ÆNDRET" TO KOMMENTAR
             PERFORM LAES-LAES1
           ELSE
             MOVE "ÆNDRING AF IKKE EKSISTERENDE POST" TO KOMMENTAR.
           PERFORM SKRIV-DETAIL.
       ANDRE-UD.
       EXIT.
      *
      *
       SLET SECTION.
       SLET-IND.
           IF PERS-NR=TRANS-NR
             MOVE "SLETTET" TO KOMMENTAR
             PERFORM LAES-LAES1
           ELSE
             MOVE "SLETNING AF IKKE EKSISTERENDE POST" TO KOMMENTAR.
           PERFORM SKRIV-DETAIL.
       SLET-UD.
       EXIT.
      *
      *
       FLYT-LAES2-TIL-AJOUR SECTION.
       FLYT-IND.
           MOVE SPACES TO AJOUR-REG.
           MOVE TRANS-NR TO AJOUR-NR.
           IF TRANS-FNVN NOT = SPACES MOVE TRANS-FNVN TO AJOUR-FNVN.
           IF TRANS-EFNVN NOT = SPACES MOVE TRANS-EFNVN TO AJOUR-EFNVN.
           IF TRANS-GNVN NOT = SPACES MOVE TRANS-GNVN TO AJOUR-GNVN.
           IF TRANS-POSTNR NOT=SPACES MOVE TRANS-POSTNR TO AJOUR-POSTNR.
           IF TRANS-BYNAVN NOT=SPACES MOVE TRANS-BYNAVN TO AJOUR-BYNAVN.
           IF TRANS-TLFNR NOT=ZEROES MOVE TRANS-TLFNR   TO AJOUR-TLFNR.
           WRITE AJOUR-REG.
       FLYT-UD.
       EXIT.
      *
      *
       SKRIV-DETAIL SECTION.
       SK-DET-IND.
           MOVE TRANS-NR  TO RAPP-PERSNR.
           MOVE  SIDETAL TO SIDE-NR.
           MOVE DATO TO OVS1-DATO.
           PERFORM LINIE-SKRIV.
           PERFORM LAES-LAES2.
       SK-DET-UD.
       EXIT.
      *
      *
       LINIE-SKRIV SECTION.
       LS-IND.
        IF LINIE-TAELLER = 18
          WRITE PRINT-LINIE FROM OVERSKRIFT-1 AFTER ADVANCING PAGE
          WRITE PRINT-LINIE FROM OVERSKRIFT-2 AFTER ADVANCING 2 LINES
          ADD 1 TO SIDETAL
          WRITE PRINT-LINIE FROM RAPPORT-LINIE
          MOVE ZERO TO LINIE-TAELLER
        ELSE
        WRITE PRINT-LINIE FROM RAPPORT-LINIE AFTER ADVANCING 2 LINES.
\f

* Level II COBOL  V2.1                 OPG6A.CBL                   Page 0005
*
        ADD 1 TO LINIE-TAELLER.
       LS-UD.
       EXIT.
      *
      *
       LAES-LAES1 SECTION.
       L-L1-IND.
           IF EOF-LAES1="JA "
             MOVE ZEROES TO PERS-NR
           ELSE
             READ LAES-FIL1 AT END MOVE "JA " TO EOF-LAES1.
       L-L1-UD.
       EXIT.
      *
      *
       LAES-LAES2 SECTION.
       L-L2-IND.
           IF EOF-LAES2="JA "
             MOVE 9999999999 TO TRANS-NR
           ELSE
             READ LAES-FIL2 AT END MOVE "JA " TO EOF-LAES2.
       L-L2-UD.
       EXIT.

* Level II COBOL  V2.1 REVISION 9                             URN EY/0011/GA
* Compiler  Copyright (C) 1983 Micro Focus Ltd
*
* ERRORS=00000 DATA=01792 CODE=01280 DICT=01813:59994/61807 GSA FLAGS =  OFF
«eof»