DataMuseum.dk

Presents historical artifacts from the history of:

Q1 computer

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Q1 computer

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦33c15c9ca⟧ Q1_Text, reclen=79

    Length: 4424 (0x1148)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »SPOOLA«

Derivation

└─⟦934333717⟧ Bits:30008597 DDMQ1-0029_Demonstration_Disk_SOURCE_Single_Density_Sept_77
    └─⟦this⟧ »SPOOLA« 

Text

                                                                               
                                                                               
                                                                               
                                                                               
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;