|
|
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;