|
DataMuseum.dkPresents historical artifacts from the history of: Q1 computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Q1 computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9796 (0x2644) Types: Q1_Text, reclen=79 Notes: q1file Names: »UPPDAT1«
└─⟦4578d4c41⟧ Bits:30008744 50001576 └─⟦this⟧ »UPPDAT1«
/* PROGRAM-ID. UPPDAT */ /* DATE-WRITTEN. 1978-08-18 */ /* AUTHOR. OLLE */ /* REMARKS. PROGRAMMET UPPDATERAR PERS-REG MED NYA OCH */ /* ÄNDRADE POSTER */ /* */ /* WORKING-STORAGE SECTION. */ DCL PREGI FILE, PREGU FILE, PTRANS FILE; DCL RIACC FIXED (4) INIT (0000); DCL RUACC FIXED (4) INIT (0000); DCL TACC FIXED (4) INIT (0000); DCL RIMAX BINARY (2) INIT (00); DCL TIMAX BINARY (2) INIT (00); DCL RETUR CHAR (4); DCL 1 REG (25), 2 RFILLER CHAR (128); DCL 1 WREG, 2 ANSTNR CHAR (6), 2 RES1 CHAR (2), 2 ENAMN CHAR (20), 2 FNAMN CHAR (12), 2 TITEL CHAR (11), 2 ADRESS CHAR (25), 2 GATUNR CHAR (4), 2 ING CHAR (4), 2 POSTNR CHAR (6), 2 RES2 CHAR (6), 2 ORTNAMN CHAR (11), 2 RIKTNR CHAR (4), 2 TELNR CHAR (6), 2 RES3 CHAR (16); DCL 1 TRANS (25), 2 TFILLER CHAR (128); DCL 1 WTRANS, 2 TANSTNR CHAR (6), 2 TKOD CHAR (2), 2 TENAMN CHAR (20), 2 TFNAMN CHAR (12), 2 TTITEL CHAR (11), 2 TADRESS CHAR (25), 2 TGATUNR CHAR (4), 2 TING CHAR (4), 2 TPOSTNR CHAR (6), 2 TRES2 CHAR (2), 2 TORTNAMN CHAR (11), 2 TRIKTNR CHAR (4), 2 TTELNR CHAR (6), 2 TRES3 CHAR (16); /* PROCEDURE DIVISION. */ A100: OPEN PREGI; OPEN PREGU; OPEN PTRANS; PUT FILE (D) SKIP EDIT (' BEARBETNING PÅGÅR') (A(47)); RETUR = 'A200'; GO TO E100; A200: J = J + 1; WREG = REG (J); IF ANSTNR = '999999' THEN GO TO A250; IF J = RIMAX THEN RETUR = 'A240'; IF J = RIMAX THEN GO TO E100; A240: A250: IF TANSTNR = '999999' THEN GO TO A300; IF TIND = 25 THEN DO; READ FILE (PTRANS) INTO (TRANS); ON ENDFILE GO TO F100; TACC = TACC + 1 END; A300: IF TANSTNR = ANSTNR THEN GO TO B100; IF TANSTNR > ANSTNR THEN GO TO C100; IF TANSTNR < ANSTNR THEN GO TO D100; PUT FILE (D) SKIP EDIT ('FEL I UPPDAT') (A(47)); GET SKIP LIST (TRES3); WRITE FILE (PREGU) FROM (TRANS); B100: IF ANSTNR = '999999' THEN GO TO G100; IF TKOD = 'DL' THEN GO TO D200; WRITE FILE (PREGU) FROM (TRANS); RUACC = RUACC + 1; GO TO A200; C100: WRITE FILE (PREGU) FROM (REG); RUACC = RUACC + 1; J = J + 1; WREG = REG (J); IF ANSTNR = '999999' THEN GO TO A300; IF J = RIMAX THEN RETUR = 'C200'; IF J = RIMAX THEN GO TO E100; C200: GO TO A300; D100: WRITE FILE (PREGU) FROM (TRANS); RUACC = RUACC + 1; D200: IF TANSTNR = '999999' THEN GO TO A300; READ FILE (PTRANS) INTO (TRANS); ON ENDFILE GO TO F100; TACC = TACC + 1; GO TO A300; E100: READ FILE (PREGI) INTO (REG); J = 0; E200: J = J + 1; IF J = 25 THEN GO TO E300; IF ANSTNR = '999999' THEN GO TO E300; IF J < 26 THEN GO TO E200; E300: RIACC = RIACC + J; G100: WRITE FILE (PREGU) FROM (REG); RUACC = RUACC + 1; CLOSE PREGI; CLOSE PREGU; CLOSE PTRANS; PUT SKIP (5) EDIT ('ANTAL REGPOSTER IN') (A(25)) (RIACC) (P'ZZZ9'); PUT SKIP (1) EDIT ('ANTAL REGPOSTER UT') (A(25)) (RUACC) (P'ZZZ9'); PUT SKIP (1) EDIT ('ANTAL TRANSPOSTER ') (A(25)) (TACC) (P'ZZZ9'); END;