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

⟦5c7bc0992⟧ Q1_Text, reclen=79

    Length: 7979 (0x1f2b)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »SREPA«

Derivation

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

Text

   DCL LINE BINARY;                                                            
   DCL STOL FLOAT(9);                                                          
 DCL B112 CHAR(111);                                                           
   DCL   F7 CHAR(7);                                                           
PSTOL: PROCEDURE;                                                              
PUT SKIP(3) EDIT(B112)(A(112))('TOTAL:      ')(A(13))(STOL)(P'ZZZZZZZZZV.99'); 
   PUT SKIP(3);                                                                
   ICOUNT=ICOUNT+4; STOL=0; RETURN; END;                                       
   DCL   1 TRAN, 2 T CHAR(25);                                                 
   DCL   1 STOCKMAS_REC, 2 M_STOCKNO CHAR(6), 2 M_DESCRIPTION CHAR(30),        
        2 M_UNIT CHAR(6), 2 M_UNITPRICE(4) FLOAT(5), 2 ON_HAND FLOAT(5);       
   DCL  TRANFL2 FILE, STOCKFL FILE;                                            
   DCL B24 CHAR(23), B12 CHAR(11), B7 CHAR(6),B5 CHAR(4),                      
     TOL FLOAT(10), DE FLOAT(8);                                               
   DCL SNO CHAR(6), SV# CHAR(5), SQS FLOAT(5), SAMT FLOAT(8);                  
PR: PROCEDURE;                                                                 
     PUT SKIP EDIT(B12)(A(12))(SNO)(A(7))('     ')(A(6))(M_DESCRIPTION)        
  (A(31))('     ')(A(6));                                                      
   PUT EDIT(SV#)(A(6))('     ')(A(6))(SQS)(P'ZZZZZ')('   ')(A(4));             
   PUT EDIT (SAMT)(P'ZZZZZZZV.99')(B7)(A(7));                                  
   STOL=STOL+SAMT; DE=M_UNITPRICE(1)*SQS*(0.6);SAMT=SAMT-DE;                   
   PUT EDIT(DE)(P'ZZZZZZZV.99')(B7)(A(7))(SAMT)(P'ZZZZZZZV.99')(B7)(A(7));     
   ICOUNT=ICOUNT+1; IF L=1 THEN GO TO RE;                                      
   PUT EDIT(ON_HAND)(P'ZZZZZ')('   ')(A(4))(ON_HAND*M_UNITPRICE(1)*0.6)        
   (P'ZZZZZZZV.99'); PUT SKIP; ICOUNT=ICOUNT+1;                                
RE: TOL=TOL+DE; RETURN; END;                                                   
   DCL  1 CLENTMAS_REC, 2 CACCT_NO CHAR(6), 2 M_NAME(4) CHAR(30),              
   2 M_BALANCE FLOAT(8);                                                       
   DCL CLENTMA FILE;                                                           
  DCL B95 CHAR(94),B67 CHAR(66), B14 CHAR(13),B10 CHAR(9) INIT('         '),   
   B20 CHAR(19) INIT('                   '), B85 CHAR(82), X CHAR(1),          
   Z CHAR(20) INIT('ARRANGE PAPER PLEASE'), S CHAR(1), P FLOAT(1),             
   PAGE BINARY INIT(1), NO CHAR(6), V# CHAR(5), AMT FLOAT(8),                  
   CH9 CHAR(9), C CHAR(2), Q FLOAT(2), DATE CHAR(12);                          
HEAD: PROCEDURE; PUT SKIP;                                                     
   PUT SKIP EDIT(B67)(A(67))('S A L E S   R E P O R T')(A(24))(B24)(A(24));    
PUT EDIT(B12)(A(12))('PAGE')(A(5));                                            
   PUT EDIT(PAGE)(P'ZZ');                                                      
PUT SKIP(3) EDIT(B67)(A(67))('(B Y      P R O D U C T)')(A(27));               
PUT SKIP(3) EDIT(B67)(A(67))('D A T E  : ')(A(12))(DATE)(A(13));               
 PUT SKIP(4) EDIT(B12)(A(12));                                                 
       PUT EDIT('STOCK#')(A(7))('     ')(A(6))('DESCRIPTION ')                 
(A(13)); PUT EDIT(B14)(A(14))(B7)(A(7))('  REF NO')(A(9));                     
   PUT LIST(F7,' QTY',F7,'SALES AMT',F7,'    COST',F7,'  PROFIT');             
   PUT LIST(F7,'     STOCK ON HAND');                                          
   PUT SKIP EDIT(B112)(A(112))(B12)(A(12))(B7)(A(7));                          
  PUT EDIT('    QTY')(A(8))('     ')(A(6))(' VALUE')(A(7));                    
   PUT SKIP(3);                                                                
   RETURN; END; TOL=0; STOL=0;   ICOUNT=0;                                     
ASK1: PUT FILE(DISPLAY)SKIP LIST('HAVE YOU SORTED THE TRANSACTION FILE?');     
 GET SKIP  LIST(X); IF X='N' THEN GO TO ST;                                    
   IF X¬='Y' THEN GO TO ASK1;                                                  
   B67=' 'ööB67; B85=' 'ööB85; B14=' 'ööB14; B24=' 'ööB24; B12=' 'ööB12;       
   B112=' 'ööB112; B95=' 'ööB95;B7=' 'ööB7;B5=' 'ööB5;F7=' 'ööF7;              
   PUT FILE(DISPLAY) SKIP LIST(Z);                                             
   GET SKIP LIST(X); OPEN TRANFL2;                                             
REA: READ FILE(TRANFL2) INTO (TRAN);                                           
   IF SUBSTR(T,1,1)='7' THEN GO TO MAKEDATE; GO TO REA;                        
MAKEDATE: DATE=SUBSTR(T,5,2)öö' / 'ööSUBSTR(T,3,2)öö' / 'ööSUBSTR(T,1,2);      
 PUT SKIP EDIT(B67)(A(67))('S A L E S   R E P O R T')(A(24));                  
 PUT SKIP(3) EDIT(B67)(A(67))('(B Y   C U S T O M E R)')(A(26));               
   PUT SKIP(3) EDIT(B67)(A(67))('D A T E : ')(A(11))(DATE)(A(13));             
   PUT SKIP(4) EDIT(B20)(A(20))('  CUS. TYPE')(A(12))(B10)(A(10));             
  PUT EDIT('ACC NO.')(A(8))(B12)(A(12))('REF NO. ')(A(9));                     
PUT EDIT(B12)(A(12))('CO. NAME')(A(9))(B24)(A(24))(B12)(A(12))(' INV.AMT')     
    (A(9));                                                                    
   PUT SKIP(3);                                                                
   OPEN TRANFL2; OPEN CLENTMA; OPEN STOCKFL;                                   
   READ FILE(TRANFL2) INTO (TRAN);                                             
REP1: S=SUBSTR(T,2,1); NO=SUBSTR(T,1,6);  V#=SUBSTR(T,7,5);                    
   CH9=SUBSTR(T,17,9); AMT=CH9; C=SUBSTR(T,12,2);Q=C;                          
   UNSPEC(CLENTMA)=Q-1;READ FILE(CLENTMA) INTO (CLENTMAS_REC);                 
   PUT SKIP EDIT(B24)(A(24))('  ')(A(3))(S)(A(2))('            ')(A(13));      
PUT EDIT(NO)(A(7))('            ')(A(14))(V#)(A(7))('            ')(A(13));    
   PUT EDIT(M_NAME(1))(A(31))('            ')(A(13))(AMT)(P'ZZZZZZZV.99');     
ICOUNT=ICOUNT+1; TOL=TOL+AMT; STOL=STOL+AMT; READ FILE(TRANFL2) INTO (TRAN);   
   IF SUBSTR(T,2,1)>S THEN CALL PSTOL;                                         
   IF SUBSTR(T,1,2)='11' THEN GO TO PTOL;                                      
   GO TO REP1;                                                                 
PTOL: CALL PSTOL;                                                              
   PUT SKIP(4) EDIT(B95)(A(95))('G R A N D   T O T A L  :      ')(A(30))       
   (TOL)(P'ZZZZZZZZZV.99');                                                    
   TOL=0; ICOUNT=49-ICOUNT;DO J=1 TO ICOUNT;PUT SKIP; END;  ICOUNT=0;          
   CALL HEAD;                                                                  
REP3:  C=SUBSTR(T,4,2); Q=C; UNSPEC(STOCKFL)=Q-1;                              
   READ FILE(STOCKFL) INTO (STOCKMAS_REC);                                     
   SNO=SUBSTR(T,1,6); SV#=SUBSTR(T,7,5); CH9=SUBSTR(T,12,5);                   
   SQS=CH9; CH9=SUBSTR(T,17,5); SAMT=CH9; READ FILE(TRANFL2) INTO (TRAN);      
   IF SUBSTR(T,1,6)=SNO THEN L=1; IF SUBSTR(T,1,6)¬=SNO THEN L=0;              
    CALL PR;                                                                   
   IF SUBSTR(T,1,1)='7' THEN GO TO FIN; IF ICOUNT>40 THEN GO TO SKIPAGE;       
    GO TO REP3;                                                                
SKIPAGE: ICOUNT=49-ICOUNT; PUT SKIP(4); PAGE=PAGE+1; CALL HEAD;                
   ICOUNT=0; GO TO REP3;                                                       
FIN:  PUT SKIP EDIT(B85)(A(85))(' --------')(A(10))('     ')(A(6));            
 PUT EDIT('    -------')(A(12))('     ')(A(6))('  -------')(A(10));            
 PUT SKIP(3) EDIT(B67)(A(67))('T O T A L  :   ')(A(16))(STOL)(P'ZZZZZZZV.99'); 
   PUT EDIT('     ')(A(6))(TOL)(P'ZZZZZZZZV.99');                              
   PUT EDIT('      ')(A(7))(STOL-TOL)(P'ZZZZZZZV.99');                         
   ICOUN=49-ICOUNT; DO I=1 TO ICOUNT; PUT SKIP; END;                           
ST: END;