|
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: 4424 (0x1148) Types: Q1_Text, reclen=79 Notes: q1file Names: »SPOOLA«
└─⟦934333717⟧ Bits:30008597 DDMQ1-0029_Demonstration_Disk_SOURCE_Single_Density_Sept_77 └─⟦this⟧ »SPOOLA«
DCL ANS CHAR(3), BAR CHAR(10) INIT ('----------'), CON(2) CHAR (6) INIT ('-DEBIT','CREDIT'), C BINARY INIT (1), TOTAL FIXED(11,2); HEAD: PROCEDURE; PUT SKIP EDIT (' ')(A(56))('A B C INT''L')(A(12)); PUT SKIP(3) EDIT(' ')(A(52))('TRANSACTION JOURNAL')(A(20)); PUT SKIP(2) EDIT (' ')(A(60));DO K=1 TO 2; PUT LIST(BAR,CON(K),BAR, ' '); END; RETURN; END; ASK: PUT FILE(DISPLAY) SKIP LIST ('A)CREATE OR B)PRINT: '); ASKG: GET SKIP LIST (ANS); IF ANS='END' THEN GOTO ZZZ; IF INDEX(ANS,'A')=1 THEN GOTO CREA; IF INDEX(ANS,'B')=1 THEN GOTO PRINT; GOTO ASKG; PRINT: CALL KEYFUN(N);CALL HEAD;PUT FILE(DISPLAY) SKIP LIST ('VOUCHER NO: '); OPEN STOREFL ; TOTAL=0; AB: OPEN WORKFL; AA: ON ENDFILE GOTO AB; READ FILE(WORKFL) INTO (ST1);TOTAL=TOTAL+AMT1; PUT SKIP EDIT (' ')(A(10))(VOU1)(P'99999999',X(8))(DES1)(A(24)); DO I=1 TO 2; PUT EDIT (NO1(I))(X(10),P'999999')(AMT1)(X(8),P'$,$$$,$$9V.99'); END; CALL KEYFUN(N); IF N=13 THEN DO; IF C=1 THEN DO; GET SKIP LIST(VOU2); IF VOU2=9999 THEN GOTO CL; PUT FILE(DISPLAY) SKIP LIST ('DEBIT ACCOUNT NO: '); GOTO OK;END; IF C=2 THEN DO; GET SKIP LIST (NO2(1)); PUT FILE(DISPLAY) SKIP LIST ('CREDIT ACCOUNT NO: '); GOTO OK;END; IF C=3 THEN DO; GET SKIP LIST (NO2(2)); PUT FILE(DISPLAY) SKIP LIST ('AMOUNT: ');GOTO OK; END; IF C=4 THEN DO; GET SKIP LIST (AMT2); PUT FILE(DISPLAY) SKIP LIST ('DESCRIPTION: ');GOTO OK; END; IF C=5 THEN DO; GET SKIP LIST (DES2); WRITE FILE(STOREFL) FROM (ST2); C=0; PUT FILE(DISPLAY) SKIP LIST ('VOUCHER NO: '); END; OK: C=C+1; END; GOTO AA; CL: CLOSE STOREFL;PUT SKIP(2) EDIT (TOTAL)(X(68),P'$$$,$$$,$$$,$$9V.99') (TOTAL)(X(18),P'$$$,$$$,$$$,$$9V.99'); PUT FILE(DISPLAY) SKIP LIST ('TODAY''S TRANSACTIONS PRINT OUT? '); ACC: GET SKIP LIST (ANS); IF INDEX(ANS,'N')=1 THEN GOTO ASK;IF INDEX(ANS,'Y')¬=1 THEN GOTO ACC; OPEN STOREFL; PUT SKIP(3);CALL HEAD; TOTAL=0; CC: ON ENDFILE GOTO ATT; READ FILE(STOREFL) INTO (ST1); TOTAL=TOTAL+AMT1; PUT SKIP EDIT (' ')(A(10))(VOU1)(P'99999999',X(8))(DES1)(A(24)); DO I=1 TO 2; PUT EDIT (NO1(I))(X(10),P'999999')(AMT1)(X(8),P'$,$$$,$$9V.99'); END; GOTO CC; ATT: PUT SKIP(2) EDIT (TOTAL)(X(68),P'$$$,$$$,$$$,$$9V.99')(TOTAL)(X(18), P'$$$,$$$,$$$,$$9V.99'); GOTO ASK; CREA: OPEN WORKFL; BB: PUT FILE(DISPLAY) SKIP LIST('VOUCHER NO: '); GET SKIP LIST (VOU1); IF VOU1=9999 THEN GOTO BCL; PUT FILE(DISPLAY) SKIP LIST ('DEBIT ACCOUNT NO: '); GET SKIP LIST (NO1(1)); PUT FILE(DISPLAY) SKIP LIST('CREDIT ACCOUNT NO: ');GET SKIP LIST(NO1(2)); PUT FILE(DISPLAY) SKIP LIST ('AMOUNT: '); GET SKIP LIST (AMT1); PUT FILE(DISPLAY) SKIP LIST ('DESCRIPTION: '); GET SKIP LIST (DES1); WRITE FILE(WORKFL) FROM (ST1); GOTO BB; BCL: CLOSE WORKFL; GOTO ASK; ZZZ: END;