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

⟦ebeb65678⟧ TextFile

    Length: 7552 (0x1d80)
    Types: TextFile
    Names: »OPG5.LST«

Derivation

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

TextFile

\f

* Level II COBOL  V2.1                  OPG5.CBL                   Page 0001
*
* Options:
       IDENTIFICATION DIVISION.
       PROGRAM-ID.      OPG5.
       AUTHOR.          HOLD 4.
       DATE-WRITTEN.    12/9/85.
       DATE-COMPILED.   12/9/85.
      *
      * PROGRAMMET INDLÆSER TRANSAKTION TYPE (1 2 3)
      * OG DANNER EN FIL -P-TRANS.TRA-.
      * PROGRAMMET STOPPER VED INDTASTNING AF 9(10) I
      * PERSON NUMMER FELTET.
      *
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. PICCOLINE.
       SPECIAL-NAMES.    CONSOLE IS CRT.
      *
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       SELECT UDFIL ASSIGN TO "P-TRANS.TRA".
      *
       DATA DIVISION.
       FILE SECTION.
       FD   UDFIL
            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).
      *
       WORKING-STORAGE SECTION.
       01   TRANSREG1.
               02   TRANS-TYPE1      PIC  9.
               02   TRANS-NR1        PIC  9(10).
               02   TRANS-FNVN1      PIC  X(15).
               02   TRANS-EFNVN1     PIC  X(20).
               02   TRANS-GNVN1      PIC  X(20).
               02   TRANS-POSTNR1    PIC  X(4).
               02   R-POSTNR REDEFINES TRANS-POSTNR1 PIC 9(4).
               02   TRANS-BYNAVN1    PIC  X(20).
               02   TRANS-TLFNR1     PIC  9(8).
      *
       01    AC-NR                   PIC  X(10).
       01    PERSONNR REDEFINES AC-NR.
             02     CIF             PIC  9 OCCURS 10 TIMES.
       01    TAELLER                PIC  999.
       01    HELTAL                 PIC  99.
       01    REST                   PIC  99.
       01    FLAG                   PIC  9.
       01    SLET-LINIE             PIC  X(35)  VALUE SPACE.
      *
      *
       PROCEDURE DIVISION.
\f

* Level II COBOL  V2.1                  OPG5.CBL                   Page 0002
*
       STYRINGS SECTION.
            STYR-IND.
               PERFORM INIT.
               PERFORM BEHANDL1.
               PERFORM LUK.
               DISPLAY SPACE.
               DISPLAY "PROGRAM SLUT" AT 1230.
               STOP RUN.
            STYR-UD.
            EXIT.
      *
      *
       INIT SECTION.
            INIT-IND.
              OPEN EXTEND UDFIL.
              PERFORM CLEAR-FELTER.
              PERFORM SKAERM.
            INIT-UD.
            EXIT.
      *
      *
       BEHANDL1 SECTION.
         BEH-IND.
          ACCEPT TRANS-TYPE1 AT 0527.
          PERFORM TRANS-TYPE-TEST UNTIL
              TRANS-TYPE1 > 0 AND TRANS-TYPE1 < 4.
          ACCEPT AC-NR AT 0727.
            IF AC-NR = "          " DISPLAY "NR. SKAL INDTASTES"
                AT 0742  ACCEPT AC-NR AT 0727.
             PERFORM BEHANDL2 UNTIL AC-NR = 9999999999.
         BEH-UD.
         EXIT.
      *
      *
       BEHANDL2 SECTION.
         BEH2-IND.
            MOVE 1 TO REST.
            PERFORM TEST UNTIL REST = 0.
            MOVE AC-NR TO TRANS-NR1.
              IF TRANS-TYPE1 < 3
                PERFORM NAVN
                ACCEPT TRANS-POSTNR1 AT 1527
                  IF TRANS-POSTNR1 NOT = "    "
                    PERFORM POST UNTIL  R-POSTNR > 1000
                   AND  R-POSTNR < 9999 AND R-POSTNR NUMERIC.
          IF TRANS-TYPE1 < 3 PERFORM BY-TLF.
            PERFORM SKRIV.
            PERFORM CLEAR-FELTER.
            ACCEPT TRANS-TYPE1 AT 0527.
            PERFORM TRANS-TYPE-TEST UNTIL
               TRANS-TYPE1 > 0 AND TRANS-TYPE1 < 4.
           ACCEPT AC-NR AT 0727.
             IF AC-NR = "          " DISPLAY "NR. SKAL INDTASTES"
                   AT 0742  ACCEPT AC-NR AT 0727.
         BEH2-UD.
         EXIT.
      *
      *
       SKAERM SECTION.
\f

* Level II COBOL  V2.1                  OPG5.CBL                   Page 0003
*
         SK-IND.
         DISPLAY SPACE.
            DISPLAY "INDTAST TRANS TYPE:      " AT 0501
            DISPLAY "INDTAST PERSONNUMMER:    " AT 0701.
            DISPLAY "INDTAST FORNAVN:         " AT 0901.
            DISPLAY "INDTAST EFTERNAVN:       " AT 1101.
            DISPLAY "INDTAST GADENAVN:        " AT 1301.
            DISPLAY "INDTAST POSTNUMMER:      " AT 1501.
            DISPLAY "INDTAST BYNAVN:          " AT 1701.
            DISPLAY "INDTAST TELEFONNUMMER:   " AT 1901.
         SK-UD.
         EXIT.
      *
      *
       TRANS-TYPE-TEST SECTION.
         TR-TY-IND.
         IF TRANS-TYPE1 < 1 OR TRANS-TYPE1 > 3 DISPLAY
           "GALT TYPE INDTAST NYT: " AT 0534
              ACCEPT TRANS-TYPE1 AT 0557.
         TR-TY-UD.
         EXIT.
      *
      *
       TEST SECTION.
          TST-IND.
           COMPUTE TAELLER = CIF(1) * 4 + CIF(2) * 3 + CIF(3) * 2
                           + CIF(4) * 7 + CIF(5) * 6 + CIF(6) * 5
                           + CIF(7) * 4 + CIF(8) * 3 + CIF(9) * 2
                           + CIF(10).
             DIVIDE 11 INTO TAELLER GIVING HELTAL REMAINDER REST.
             IF (REST > 0) DISPLAY "GALT NUMMER TAST NYT: "
                    AT 0742
                    ACCEPT AC-NR AT 0764.
          TST-UD.
          EXIT.
      *
      *
       NAVN SECTION.
           NAVN-IND.
              ACCEPT TRANS-FNVN1 AT 0927.
              ACCEPT TRANS-EFNVN1 AT 1127.
              ACCEPT TRANS-GNVN1 AT 1327.
           NAVN-UD.
           EXIT.
      *
      *
       POST SECTION.
         POST-IND.
                  DISPLAY "GALT NUMMER TAST NYT: " AT 1534
                  ACCEPT TRANS-POSTNR1 AT 1555.
         POST-UD.
         EXIT.
      *
      *
       BY-TLF SECTION.
         BYTLF-IND.
             ACCEPT TRANS-BYNAVN1 AT 1727.
             ACCEPT TRANS-TLFNR1  AT 1927.
         BYTLF-UD.
\f

* Level II COBOL  V2.1                  OPG5.CBL                   Page 0004
*
         EXIT.
      *
      *
       CLEAR-FELTER SECTION.
          CLR-FLT-IND.
              MOVE 0 TO FLAG.
              MOVE SPACES TO TRANSREG1.
              MOVE SPACES TO AC-NR.
              DISPLAY TRANS-TYPE1 AT 0527.
              DISPLAY SLET-LINIE AT  0534.
              DISPLAY TRANS-NR1   AT 0727.
              DISPLAY SLET-LINIE AT  0742.
              DISPLAY TRANS-FNVN1 AT 0927.
              DISPLAY TRANS-EFNVN1 AT 1127.
              DISPLAY TRANS-GNVN1  AT 1327.
              DISPLAY TRANS-POSTNR1 AT 1527.
              DISPLAY SLET-LINIE    AT 1534.
              DISPLAY TRANS-BYNAVN1 AT 1727.
              DISPLAY TRANS-TLFNR1 AT 1927.
           CLR-FLT-UD.
           EXIT.
      *
      *
       SKRIV SECTION.
          SKRIV-IND.
             MOVE TRANSREG1 TO TRANSREG.
             WRITE TRANSREG.
          SKRIV-UD.
          EXIT.
      *
      *
       LUK SECTION.
          LUK-IND.
             CLOSE UDFIL.
          LUK-UD.
          EXIT.

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