|
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: 7584 (0x1da0) Types: Q1_Text, reclen=79 Notes: q1file Names: »VERI«
└─⟦3e550eca6⟧ Bits:30008695 DDMQ1-0135_DUBBEL └─⟦this⟧ »VERI« └─⟦b4c020431⟧ Bits:30008687 DDMQ1-0127_VERFIL └─⟦this⟧ »VERI« └─⟦bcdd51fb7⟧ Bits:30008685 DDMQ1-0125_Denna_diskette └─⟦this⟧ »VERI« └─⟦be28637e3⟧ Bits:30008686 DDMQ1-0126 └─⟦this⟧ »VERI«
DCL 1 VER, 2 VENR CHAR(6), 2 DATUM CHAR(6), 2 KOSTST CHAR(4)INITIAL(' '), 2 DEBET CHAR(4) INITIAL(' '), 2 KREDIT CHAR(4) INITIAL(' '), 2 BELOPP FIXED(11,2), 2 VTEXT CHAR(20), 2 KOD CHAR(2)INITIAL(' '); DCL CATL CHAR(6); DCL VERIFILE FILE; DCL RUB1 CHAR(50)INITIAL('M S T E N H A R D T A B'); DCL RUB1A CHAR(20) INIT('PROGR: A100'); DCL DAT CHAR(8); PUT FILE(DISP)SKIP LIST('ANGE DAGENS DATUM (ÅÅ.MM.DD.) '); GET LIST(DAT); DCL RUB2 CHAR(52)INITIAL('T R A N S A K T I O N S R E G I S T R E R I N G'); DCL RUB3 CHAR(50)INITIAL(' DATUM VER.NR TEXT'); DCL RUB4 CHAR(55)INIT('KONTO KOD DEBET KREDIT DIFFERENS'); DCL B CHAR(1); DCL Y CHAR(1)INIT(' '); PUT SKIP(2) EDIT(RUB1) (A(35))(RUB1A)(A(15)) (RUB2) (A(50)); PUT LIST(' DATUM ');PUT EDIT(DAT)(A(12));PUT LIST(' SIDA 1'); YY = 1; PUT SKIP(2)EDIT(RUB3)(A(50))(RUB4)(A(55)); OPEN VERIFILE; DCL X CHAR(1); DCL KONTO CHAR(4); DCL VRNR CHAR(6); DCL B1 CHAR(12)INIT(' '), BL CHAR(12)INIT(' '); X = '1'; SUM1 = 0;SUM2 = 0; S1 = 0; S2 = 0; DCL VV CHAR(6)INIT(' '); NYTT:B=' '; IF(SUM1 ¬= SUM2) THEN DO; S = SUM1 - SUM2; VENR = VV; CALL OUTPUT(1,6); PUT FILE(DISP) SKIP LIST( S,' DETTA ÄR FEL, SKRIV "X" '); GET LIST(X);END; IF(X = '2') THEN GO TO ST; IF(X = '1') THEN GO TO NY; IF(X ¬= 'X') THEN PUT SKIP EDIT(S)(X(82),P'------9V.99'); IF(X = 'X') THEN GO TO START; SUM1 = 0; SUM2 = 0; NY: PUT FILE(DISP) SKIP LIST('ANGE DATUM '); GET LIST(DATUM); PUT FILE(DISP) SKIP LIST('ANGE VERIFIKATIONSNUMMER '); GET LIST(VENR); IF(YY = 1) THEN VERA = VENR; YY = 0; ST:PUT FILE(DISP) SKIP LIST('ANGE TEXT (HÖGST 20 TECKEN) '); GET LIST(VTEXT); SUM1 = 0; SUM2 = 0; START: KREDIT = ' ';DEBET = ' '; PUT FILE(DISP) SKIP LIST('ANGE KONTO '); GET LIST(KONTO); PUT FILE(DISP) SKIP LIST('ANGE BELOPP TRYCK K7 FÖR DEBET, K6 FÖR KREDIT '); BB = 0; XX: GET LIST(BB); CALL KEYFUN(I); IF(I = 138) THEN GO TO KRED; IF(I = 139) THEN GO TO DEB; GO TO XX; DEB: DEBET = KONTO; IF(SUBSTR(DEBET,1,1) = '5') THEN GO TO SOEK; IF(SUBSTR(DEBET,1,3) = '262') THEN GO TO SOEK; IF(SUBSTR(DEBET,1,3)= '251') THEN GO TO SOEK; GEON: BELOPP = BB; SUM1=SUM1+BELOPP;S1=S1+BELOPP; CALL SEOF(VERIFILE); WRITE FILE(VERIFILE) FROM(VER); CLOSE VERIFILE; OPEN VERIFILE; PUT SKIP EDIT(DATUM)(A(10))(VENR)(A(10))(VTEXT)(A(30))(DEBET)(A(8)); IF(KOD ¬=' ') THEN DO;PUT EDIT(KOD)(A(4));PUT EDIT(BELOPP)(P'--------9V.99'); BELOPP = 0; END; IF(KOD=' ')THEN PUT EDIT(BELOPP) (X(4),P'--------9V.99',X(10)); BELOPP = 0; KOD = ' '; B1 = ' '; GO TO FY; KRED: KREDIT = KONTO; B = 'K'; IF(SUBSTR(KREDIT,1,1) = '5') THEN GO TO SOEK; IF(SUBSTR(KREDIT,1,3) = '251') THEN GO TO SOEK; IF(SUBSTR(KREDIT,1,3) = '262') THEN GO TO SOEK; B = ' '; GOON: BELOPP = BB; SUM2 = SUM2 + BELOPP; S2 = S2 + BELOPP; CALL SEOF(VERIFILE); WRITE FILE(VERIFILE) FROM(VER); CLOSE VERIFILE; OPEN VERIFILE; PUT SKIP EDIT(DATUM)(A(10)) (VENR)(A(10))(VTEXT)(A(30)) (KREDIT)(A(8)); IF(KOD ¬=' ')THEN DO;PUT EDIT(KOD)(A(19));PUT EDIT(BELOPP)(P'--------9V.99'); BELOPP = 0; END; IF(KOD=' ')THEN PUT EDIT(BELOPP) (X(19),P'--------9V.99'); FY: KOD = ' '; X = '1'; VRNR = ' '; PUT FILE(DISP) SKIP LIST('FÖR NYTT DATUM SKRIV "DATUM", FÖR NYTT VER.NR '); PUT FILE(DISP)LIST(' SKRIV IN DET NYA NUMRET, "999999" FÖR SLUT '); GET LIST(VRNR); IF(SUBSTR(VRNR,1,5) = 'DATUM')THEN GO TO NYTT ; IF(VRNR = ' ') THEN GO TO START; IF(VRNR = '999999') THEN GO TO SLUT; VV = VENR; IF(VRNR ¬= VENR) THEN VENR = VRNR;X = '2'; GO TO NYTT; SOEK: PUT FILE(DISPLAY) SKIP LIST('ANGE INTERNKOD '); GET LIST(KOD); IF(B = 'K')THEN GO TO GOON; GO TO GEON; SLUT: IF(S1 ¬= S2) THEN GO TO NYTT; PUT SKIP(2)EDIT(S1)(X(62),P'ZZZZZZZZ9V.99')(S2)(P'ZZZZZZZZZZZ9V.99'); S3= (S1 - S2); PUT EDIT(S3) (X(2),P'------9V.99'); END;