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

⟦84cef8601⟧ Q1_Text, reclen=79

    Length: 4661 (0x1235)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »HUVUD«

Derivation

└─⟦755e43167⟧ Bits:30008640 DDMQ1-0079_MSAB_BALANS_KONV_KPLANB
    └─⟦this⟧ »HUVUD« 
└─⟦7d57c527f⟧ Bits:30008641 DDMQ1-0080_LMC_RESULTAT_for_MSAB
    └─⟦this⟧ »HUVUD« 
└─⟦ecd18d2d3⟧ Bits:30008638 DDMQ1-0077_KOPIA_KPLANB_BALANS_KONV
    └─⟦this⟧ »HUVUD« 
└─⟦fe1114201⟧ Bits:30008639 DDMQ1-0078_BALANS_HUVUD_RES
    └─⟦this⟧ »HUVUD« 

Text

DCL 1 VER, 2 KTO CHAR(6),                                                      
    2 DAT CHAR(4), 2 VNR FIXED(5), 2 TEXT CHAR(20), 2 BEL FIXED(11,2),         
    2 KOD CHAR(1);                                                             
DCL UTS FIXED(10,2), UTB FIXED(10,2), UTG FIXED(10,2), UTK FIXED(10,2);        
UTS=  0; UTB = 0; UTG = 0; UTK = 0;                                            
DCL 1 KPL,                                                                     
2 KONTO CHAR(4),                                                               
2 STK CHAR(1),                                                                 
2 BEN CHAR(34),                                                                
2 ACD(12) FIXED(10,2),                                                         
2 ACK(12) FIXED(10,2),                                                         
2 IB FIXED(11,2);                                                              
   DCL DATUM CHAR(4), XY CHAR(1) INIT(' '), DATA CHAR(5);                      
DCL VR CHAR(5); DCL R1 CHAR(50) INIT('HUVUDBOK                 ');             
DCL R2 CHAR(59)INIT('KONTO  BENÄMN.          TEXT               DATUM');       
DCL R3 CHAR(50)INIT('  VERNR         DEBET    KREDIT');                        
DCL R4 CHAR(50)INIT('   ING. SALDO   PER. SALDO   UTG. SALDO');                
PUT SKIP(3) EDIT(XY) (A(10)) (R1) (A(50));                                     
PUT SKIP(2) EDIT(XY) (A(10)); PUT LIST(R2,R3,R4);                              
DCL M CHAR(2);   S1 = 0; S2 = 0; SX = 0;  SY = 0;                              
PUT FILE(DISP) SKIP LIST('PERIOD(=MM) '); GET SKIP LIST(M);                    
DCL VERFIL FILE; DCL KPLAN FILE; OPEN VERFIL; OPEN KPLAN;                      
READ FILE(VERFIL) INTO(VER);                                                   
DCL KK CHAR(4); KK = SUBSTR(KTO,1,4);                                          
READ KEY(KK) FILE(KPLAN) INTO(KPL);                                            
DCL KX CHAR(4); KX = KONTO;                                                    
PUT SKIP(2) EDIT(XY) (A(10)) (KONTO) (A(8)) (BEN) (A(36));                     
XA = 0;  GO TO NY;                                                             
ST:XA = 1;   ON ENDFILE GO TO START;                                           
          READ FILE(VERFIL) INTO(VER); XA= 0;                                  
KK = SUBSTR(KTO,1,4);                                                          
IF(KX ¬=SUBSTR(KTO,1,4)) THEN GO TO START;                                     
NY:  IF(KOD = 'D') THEN S1 = S1 + BEL;                                         
IF(KOD = 'K') THEN S2 = S2 + BEL;                                              
DATA = SUBSTR(DAT,1,2) CAT '.' CAT SUBSTR(DAT,3,2);                            
PUT SKIP;                                                                      
IF(DATUM ¬= DAT) THEN DO; PUT EDIT(XY)(A(30))(TEXT)(A(24))(DATA)(A(7));        
PUT EDIT (VNR)(P'ZZZZZ',X(3));  END;                                           
ELSE PUT EDIT(XY)(A(30))(TEXT)(A(31)) (VNR)(P'ZZZZZ',X(3));                    
DATUM = DAT;                                                                   
IF(KOD = 'D') THEN PUT EDIT(BEL)(P'------9V.99');                              
IF( KOD = 'K') THEN PUT EDIT(XY) (A(10)) (BEL) (P'-------9V.99');              
GO TO ST;                                                                      
START:PUT FILE(DISP) SKIP;                                                     
DO I = 1 TO M-1;                                                               
    UTB = UTB + ACD(I);  UTK = UTK + ACK(I); END;                              
UTS = UTB - UTK;                                                               
SS = S1 - S2;  UTG = UTS + SS;                                                 
ACD(M) =   S1 ; SX = SX+ S1;ACK(M) =  S2;     SY = SY + S2;                    
PUT SKIP(2)EDIT(XY)(A(69))(S1)(P'ZZZZZZ9V.99')(S2)(P'ZZZZZZZ9V.99');           
PUT EDIT(XY)(A(4))(UTS)(P'------9V.99')(SS)(P'--------9V.99');                 
PUT EDIT(UTG)(P'---------9V.99');                                              
REWRITE FILE(KPLAN) FROM(KPL);                                                 
UTB = 0;UTK = 0;  UTS = 0; UTG = 0;                                            
IF(XA = 1) THEN GO TO SLUT;                                                    
S1=0;S2=0;KX=SUBSTR(KTO,1,4);READ KEY(KK) FILE(KPLAN) INTO(KPL);               
PUT SKIP(2) EDIT(XY)(A(10))(KONTO) (A(8)) (BEN) (A(36)); GO TO NY;             
SLUT:  PUT SKIP(2)EDIT(XY)(A(69))(SX)(P'ZZZZZZ9V.99')(SY)(P'ZZZZZZZ9V.99');    
END;