|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 15232 (0x3b80) Types: TextFile Names: »OPG9PHA.LST«
└─⟦c154ac35e⟧ Bits:30002656 COBOL-programmer til undervisning └─ ⟦this⟧ »OPG9PHA.LST«
\f * Level II COBOL V2.1 OPG9PHA.CBL Page 0001 * * Options: REF IDENTIFICATION DIVISION. 011E PROGRAM-ID. OPG9. 0120 AUTHOR. HOLD 4. 0120 DATE-WRITTEN. 18/11/85. 0120 DATE-COMPILED. 18/11/85. 0120 * * PROGRAMMET LÆSER FILEN "IXPERSON.REG" FRA DISKEN * OG UDSKRIVER EN LISTE MED OPLYSNINGER PÅ PRINTEREN. * ENVIRONMENT DIVISION. 0120 CONFIGURATION SECTION. 0120 SOURCE-COMPUTER. PICCOLINE. 0120 SPECIAL-NAMES. CONSOLE IS CRT,DECIMAL-POINT IS COMMA. 0120 * INPUT-OUTPUT SECTION. 0120 FILE-CONTROL. 018C SELECT INDFIL ASSIGN TO "IXPERSON.REG" 018E ORGANIZATION IS INDEXED 018E ACCESS MODE IS DYNAMIC 018E RECORD KEY IS IXPERS-NR 018E FILE STATUS IS SVAR-KEY. 018E SELECT LISTE ASSIGN TO "LST:". 01CC * DATA DIVISION. 0200 FILE SECTION. 0200 FD INDFIL 0200 LABEL RECORD IS STANDARD. 0200 01 IXPERSREG. 0200 02 IXPERS-NR PIC 9(10). 0200 02 IXPERS-FNVN PIC X(15). 020A 02 IXPERS-EFNVN PIC X(20). 0219 02 IXPERS-GNVN PIC X(20). 022D 02 IXPERS-POSTNR PIC 9(4). 0241 02 IXPERS-BYNAVN PIC X(20). 0245 02 IXPERS-TLFNR PIC 9(8). 0259 FD LISTE 0263 LABEL RECORD IS OMITTED. 0264 01 UDLINIE PIC X(132). 0264 * WORKING-STORAGE SECTION. 036E 00 01 OVERSKRIFT0. 036E 00 02 FILLER PIC X(132) VALUE SPACE. 036E 00 01 OVERSKRIFT1. 03F2 84 02 FILLER PIC X(30) VALUE SPACE. 03F2 84 02 FILLER PIC X(20) VALUE "CPR-LISTE". 0410 A2 02 FILLER PIC X(5) VALUE "PR.". 0424 B6 02 MMDDAA PIC 99B99B99. 0429 BB 02 FILLER PIC X(26) VALUE SPACE. 0431 C3 02 FILLER PIC X(6) VALUE "SIDE". 044B DD 02 SIDENR PIC 999. 0451 E3 02 FILLER PIC X(33) VALUE SPACE. 0454 E6 01 OVERSKRIFT2. 0475 02 FILLER PIC X(14) VALUE "PERSON-NR:". 0475 02 FILLER PIC X(16) VALUE "FORNAVN:". 0483 02 FILLER PIC X(21) VALUE "EFTERNAVN:". 0493 02 FILLER PIC X(21) VALUE "GADENAVN:". 04A8 02 FILLER PIC X(26) VALUE "P-NR BYNAVN:". 04BD 02 FILLER PIC X(8) VALUE "TLF-NR:". 04D7 02 FILLER PIC X(26) VALUE SPACE. 04DF \f * Level II COBOL V2.1 OPG9PHA.CBL Page 0002 * 01 PERSREG1. 04F9 02 PERS-NR1 PIC 99.99.99B9999B. 04F9 02 PERS-FNVN1 PIC X(16). 0507 02 PERS-EFNVN1 PIC X(21). 0517 02 PERS-GNVN1 PIC X(21). 052C 02 PERS-POSTNR1 PIC 9999B. 0541 02 PERS-BYNAVN1 PIC X(21). 0546 02 PERS-TLFNR1 PIC 99.999999. 055B 02 FILLER PIC X(25) VALUE SPACE. 0564 01 TAELLER PIC 99 VALUE 18. 057D 01 DATO PIC 999999. 057F 01 EFTERSKRIFT PIC X(132) VALUE "CPR-LISTE FÆRDIG". 0585 01 TIL-NR PIC 9(10). 0609 01 FRA-NR PIC 9(10). 0613 01 EOF PIC X(4) VALUE SPACE. 061D 01 OKAY PIC 9 VALUE 0. 0621 01 SVAR-KEY. 0622 05 SVAR-1 PIC X. 0622 05 SVAR-2 PIC X. 0623 * * PROCEDURE DIVISION. 0000 STYRINGS SECTION. 0040 STYR-IND. 0041 PERFORM INIT. 0042 PERFORM BEHANDLE UNTIL FRA-NR = 9999999999. 0045 PERFORM LUK. 005F STOP RUN. 0062 STYR-UD. 0063 EXIT. 0064 * * INIT SECTION. 0068 INIT-IND. 0069 OPEN INPUT INDFIL. 006A OPEN OUTPUT LISTE. 006E MOVE 001 TO SIDENR. 0072 DISPLAY SPACE. 0079 DISPLAY "UDSKRIVNING AF INDEX CPR-LISTE." AT 0101. 007E DISPLAY "INDTAST DATO (MM.DD.AA) " AT 0201. 00A7 ACCEPT DATO AT 0225. 00C9 MOVE DATO TO MMDDAA. 00D6 DISPLAY SPACES. 00E1 INIT-UD. 00E6 EXIT. 00E7 * * LAES-INTERVAL SECTION. 00EB L-IND. 00EC DISPLAY "FRA NR: " AT 0301. 00ED ACCEPT FRA-NR AT 0309. 00FF IF FRA-NR = 9999999999 NEXT SENTENCE 010C ELSE DISPLAY "TIL NR: " AT 0401 011F ACCEPT TIL-NR AT 0409 0126 MOVE FRA-NR TO IXPERS-NR 0138 START INDFIL KEY IS NOT < IXPERS-NR 013F INVALID KEY MOVE 1 TO OKAY. 0146 L-UD. 015F EXIT. 0160 \f * Level II COBOL V2.1 OPG9PHA.CBL Page 0003 * * * FEJL SECTION. 0164 F-IND. 0165 DISPLAY "GALT INTERVAL INDTAST NYT:" AT 0501 0166 UPON CRT-UNDER. 016C PERFORM LAES-INTERVAL UNTIL TIL-NR < FRA-NR. 018A F-UD. 019C EXIT. 019D * * FOR-STOR SECTION. 01A1 FST-IND. 01A2 DISPLAY "INGEN PERSONER MED SÅ STORT NR." AT 1515. 01A3 PERFORM LAES-INTERVAL. 01CC FST-UD. 01CF EXIT. 01D0 * * BEHANDLE SECTION. 01D4 BEHA-IND. 01D5 PERFORM BEH. 01D6 IF OKAY = 1 PERFORM FOR-STOR. 01D9 BEHA-UD. 01E7 EXIT. 01E8 * * BEH SECTION. 01EC B2-IND. 01ED MOVE ZERO TO OKAY. 01EE PERFORM LAES-INTERVAL. 01F4 IF FRA-NR = 9999999999 NEXT SENTENCE 01F7 ELSE IF FRA-NR > TIL-NR PERFORM FEJL 020A ELSE MOVE FRA-NR TO IXPERS-NR 0216 PERFORM INDLAES 021A PERFORM SKRIV UNTIL FRA-NR > TIL-NR 0221 MOVE SPACES TO UDLINIE 0224 WRITE UDLINIE BEFORE ADVANCING PAGE 0236 MOVE 18 TO TAELLER. 023D B2-UD. 024A EXIT. 024B * * INDLAES SECTION. 024F LAES-IND. 0250 READ INDFIL NEXT RECORD AT END 0251 MOVE 999999998 TO IXPERS-NR. 025A MOVE IXPERS-NR TO FRA-NR. 0269 IF SVAR-1 NOT = ZERO MOVE 1 TO OKAY. 0270 LAES-UD. 027E EXIT. 027F * * FLYT SECTION. 0283 FLYT-IND. 0284 MOVE IXPERS-NR TO PERS-NR1. 0285 MOVE IXPERS-FNVN TO PERS-FNVN1. 0294 MOVE IXPERS-EFNVN TO PERS-EFNVN1. 029B MOVE IXPERS-GNVN TO PERS-GNVN1. 02A2 \f * Level II COBOL V2.1 OPG9PHA.CBL Page 0004 * MOVE IXPERS-POSTNR TO PERS-POSTNR1. 02A9 MOVE IXPERS-BYNAVN TO PERS-BYNAVN1. 02B2 MOVE IXPERS-TLFNR TO PERS-TLFNR1. 02B9 FLYT-UD. 02C3 EXIT. 02C4 * * SKRIV SECTION. 02C8 SKRIV-IND. 02C9 IF TAELLER = 18 02CA PERFORM OVERSKRIFT. 02CA PERFORM FLYT. 02D9 WRITE UDLINIE FROM PERSREG1 AFTER ADVANCING 2 LINES. 02DC ADD 1 TO TAELLER. 02EE PERFORM INDLAES. 02F4 SKRIV-UD. 02F7 EXIT. 02F8 * * OVERSKRIFT SECTION. 02FC OV-IND. 02FD WRITE UDLINIE FROM OVERSKRIFT0 AFTER ADVANCING PAGE. 02FE WRITE UDLINIE FROM OVERSKRIFT1 AFTER ADVANCING 1 LINE. 030A WRITE UDLINIE FROM OVERSKRIFT2 AFTER ADVANCING 2 LINES. 031B ADD 1 TO SIDENR. 032D MOVE 0 TO TAELLER. 0332 OV-UD. 0338 EXIT. 0339 * * LUK SECTION. 033D LUK-IND. 033E CLOSE INDFIL, LISTE. 033F LUK-UD. 0347 EXIT. 0348 0348 * 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=01515:60292/61807 GSA FLAGS = OFF «eof»