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

⟦f6ca846ad⟧ Q1_Text, reclen=79

    Length: 10902 (0x2a96)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »BALANS«

Derivation

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

Text

                                                                               
DCL 1 KPL,                                                                     
    2 KONTO CHAR(4) INIT(' '),                                                 
    2 STK CHAR(1) INIT(' '),                                                   
    2 BEN CHAR(34) INIT(' '),                                                  
    2 ACD(12) FIXED(10,2) INIT(0,0,0,0,0,0,0,0,0,0,0,0),                       
    2 ACK(12) FIXED(10,2) INIT(0,0,0,0,0,0,0,0,0,0,0,0),                       
    2 IB FIXED(11,2) INIT(0);                                                  
DCL 1 KPLB,                                                                    
    2 KTO CHAR(4) INIT(' '),                                                   
    2 BENA CHAR(34) INIT(' ');                                                 
DCL 1 HJ,                                                                      
    2 KT CHAR(4) INIT(' '),                                                    
    2 BN CHAR(34) INIT(' '),                                                   
    2 AD FIXED(12,2)INIT(0),                                                   
    2 AK FIXED(12,2)INIT(0),                                                   
    2 UTG FIXED(12,2)INIT(0);                                                  
DCL PD(7) FIXED(12,2),PK(7) FIXED(12,2),PS(7) FIXED(12,2),I FIXED(3);          
DO I=1 TO 7;PD(I)=0;PK(I)=0;PS(I)=0;END;                                       
DCL TX1 CHAR(50) INIT('          SUMMA OMSÄTTNINGSTILLGÅNGAR:');               
DCL TX3 CHAR(50) INIT('          SUMMA ANLÄGGNINGSTILLGÅNGAR:');               
DCL TX4 CHAR(50) INIT('          SUMMA KORTFRISTIGA SKULDER:');                
DCL TX5 CHAR(50) INIT('          SUMMA LÅNGFRISTIGA SKULDER:');                
DCL TX6 CHAR(50) INIT('          SUMMA OBESKATTADE RESERVER:');                
DCL TX7 CHAR(50) INIT('          SUMMA EGET KAPITAL:');                        
DCL TX CHAR(50),DEL FIXED(1);                                                  
DCL A1 FIXED(12,2),A2 FIXED(12,2),D1 FIXED(12,2),D2 FIXED(12,2),D3 FIXED(12,2);
DCL D4 FIXED(12,2),K1 FIXED(12,2),K2 FIXED(12,2),K3 FIXED(12,2),K4 FIXED(12,2);
DCL S1 FIXED(12,2),S2 FIXED(12,2),S3 FIXED(12,2),S4 FIXED(12,2);               
DCL KOO CHAR(4) INIT(' ');DCL UT1 FIXED(12,2);UT1=0;DCL R FIXED(3);R=48;       
A1=0;A2=0;D1=0;D2=0;D3=0;D4=0;K1=0;K2=0;K3=0;K4=0;S1=0;S2=0;S3=0;S4=0;XX1=0;   
DCL MM CHAR(8),PP FIXED(3),NI FIXED(1);DCL SIDA FIXED(3);SIDA=1;               
DCL R1 CHAR(25) INIT('BALANSRÄKNING');                                         
DCL R2 CHAR(25) INIT('SIDA:');                                                 
DCL R3 CHAR(40) INIT('KONTO     BENÄMNING');                                   
DCL R4 CHAR(55) INIT('PERIOD DEBET   PERIOD KREDIT           SALDO       ');   
DCL R4A CHAR(8) INIT('ANDEL %');                                               
DCL R5 CHAR(10)INIT('DATUM:'), R6 CHAR(10)INIT('PERIOD:');                     
DCL R7 CHAR(25) INIT('NIVÅ:');                                                 
DCL R8 CHAR(25) INIT('KONTOKLASS');                                            
DCL R9 CHAR(25) INIT('KONTOGRUPP');                                            
DCL R10 CHAR(25) INIT('KONTO');                                                
DCL R11 CHAR(25) INIT('SAMTLIGA KONTON');                                      
DCL R12 CHAR(25);                                                              
DCL TRO FIXED(7,4);                                                            
DCL ABB CHAR(3) INIT(' '), KO CHAR(4),A FIXED(1);A=0;                          
DCL XX FILE;OPEN XX;DCL KPLAN FILE;OPEN KPLAN;DCL KPLANB FILE;OPEN KPLANB;     
UT=0;DCL NI1 CHAR(3), NI2 CHAR(3), NI2B CHAR(2), NI3 CHAR(3);                  
DCL NI4 FIXED(1);                                                              
PUT FILE(DISP)SKIP LIST('ÄR KPLAN SORTERAD? '); GET SKIP LIST(ABB);            
 IF(ABB = 'NEJ') THEN GO TO SLUT;                                              
PUT FILE(DISP)SKIP LIST('DATUM '); GET SKIP LIST(MM);                          
PER: PUT FILE(DISP) SKIP LIST('PERIOD(=MM) '); GET SKIP LIST(PP);              
IF (PP>12) THEN GO TO PER;                                                     
PUT FILE(DISP) SKIP LIST('NIVÅ? 1,2,3 ELLER 4 ');  GET SKIP LIST(NI);          
IF (NI=1) THEN R12=R8;IF (NI=2) THEN R12=R9;IF (NI=3) THEN R12=R10;            
IF (NI=4) THEN R12=R11;                                                        
PUT FILE(D) SKIP LIST(' ');OPEN KPLAN;OPEN KPLANB;                             
READ FILE(KPLAN) INTO(KPL); KO = KONTO; GO TO ST;                              
START:ON ENDFILE GO TO NEX;READ FILE(KPLAN)INTO(KPL);                          
IF (SUBSTR(KONTO,1,1)>=3) THEN GO TO NEX;                                      
IF(SUBSTR(KO,1,1) ¬= SUBSTR(KONTO,1,1) ) THEN GO TO NEXT;                      
ST:A1=0;A2=0;DO I=1 TO PP-1;A1=A1+ACD(I);A2=A2+ACK(I);END;SAL=A1-A2;           
BN=BEN; KT=KONTO;AD=ACD(PP);AK=ACK(PP);UTG=IB+SAL+(AD-AK);                     
KO=KONTO;UT1=UT1+UTG;NI2B=(SUBSTR(KO,1,2));I=2;                                
IF (NI2B<=15) THEN I=1;                                                        
IF (SUBSTR(KO,1,3)>=162)&(NI2B<=19) THEN I=3;                                  
IF (NI2B>=20)&(NI2B<=26) THEN I=4;                                             
IF (NI2B=27) THEN I=5;IF (NI2B=28) THEN I=6;IF (NI2B=29) THEN I=7;             
PD(I)=PD(I)+AD;PK(I)=PK(I)+AK;PS(I)=PS(I)+UTG;                                 
WRITE FILE(XX) FROM(HJ);  GO TO START;                                         
NEXT:CLOSE XX; OPEN XX; XX1=1;A=0;IF (R>=48) THEN GO TO RUB;                   
XXIN: KOO=KT;                                                                  
ON ENDFILE GO TO BYTXX;READ FILE(XX) INTO(HJ);D4=AD;K4=AK;S4=UTG;              
IF (XX1=1) THEN DO;KOO=KT;XX1=0;END;                                           
XXINBB:IF(SUBSTR(KOO,4,1)='0') THEN GO TO NN2BB;                               
IF (SUBSTR(KT,4,1)='0') THEN GO TO NN2B;                                       
IF (SUBSTR(KT,1,3) = SUBSTR(KOO,1,3))THEN GO TO NN4;                           
GO TO NN2B;                                                                    
NN4:IF (NI=3)&(SUBSTR(KT,4,1)¬='0') THEN NI4=0;ELSE NI4=1;A=4;                 
IF (NI>2)&(NI4=1) THEN DO;                                                     
PUT SKIP EDIT(KT)(A(10))(BN)(A(36))(D4)(P'------------9V.99');                 
PUT EDIT(K4)(P'------------9V.99')(S4)(P'------------9V.99');                  
TRO=((S4*100)/UT1)+0.005;                                                      
PUT EDIT(TRO)(P'------------9V.99');PUT LIST(' %');;R=R+1;END;                 
D3=D3+D4;K3=K3+K4;S3=S3+S4;IF (SUBSTR(KT,4,1)='0') THEN DO;                    
D2=D2+D3;K2=K2+K3;S2=S2+S3;D3=0;K3=0;S3=0;                                     
END;IF (R>=48) THEN GO TO RUB;GO TO XXIN;                                      
NN2B:NI3=SUBSTR(KOO,1,3);READ KEY(NI3) FILE(KPLANB) INTO(KPLB);A=3;            
IF (NI>2) THEN DO;                                                             
PUT SKIP(2) EDIT(KTO)(A(10))(BENA)(A(36))(D3)(P'------------9V.99');           
PUT EDIT(K3)(P'------------9V.99')(S3)(P'------------9V.99');                  
TRO=((S3*100)/UT1)+0.005;                                                      
PUT EDIT(TRO)(P'------------9V.99');PUT LIST(' %');PUT SKIP;R=R+3;END;         
D2=D2+D3;K2=K2+K3;S2=S2+S3;D3=0;K3=0;S3=0;IF (R>=48) THEN GO TO RUB;           
NN2BB:IF (SUBSTR(KT,1,2)=SUBSTR(KOO,1,2)) THEN GO TO XXINB;                    
NN2A:NI2=(SUBSTR(KOO,1,2)) CAT ' ';READ KEY(NI2) FILE(KPLANB) INTO(KPLB);A=2;  
NI2B=(SUBSTR(NI2,1,2));IF (NI>1) THEN DO;                                      
PUT SKIP(2) EDIT(KTO)(A(10))(BENA)(A(36))(D2)(P'------------9V.99');           
PUT EDIT(K2)(P'------------9V.99')(S2)(P'------------9V.99');                  
TRO=((S2*100)/UT1)+0.005;                                                      
PUT EDIT(TRO)(P'------------9V.99');PUT LIST(' %');PUT SKIP;R=R+3;END;         
DEL=0;IF (NI2B=15) THEN DO;TX=TX1;I=1;DEL=1;END;                               
IF (NI2B=19) THEN DO;TX=TX3;I=3;DEL=1;END;                                     
IF (NI2B=26) THEN DO;TX=TX4;I=4;DEL=1;END;                                     
IF (NI2B=27) THEN DO;TX=TX5;I=5;DEL=1;END;                                     
IF (NI2B=28) THEN DO;TX=TX6;I=6;DEL=1;END;                                     
IF (NI2B=29) THEN DO;TX=TX7;I=7;DEL=1;END;IF (R>=48) THEN GO TO RUB;           
NN2AB:A=5;IF (DEL=1)&(NI>1) THEN DO; TRO=((PS(I)*100)/UT1)+0.005;              
PUT SKIP(2) EDIT(TX)(A(46))(PD(I))(P'------------9V.99');                      
PUT EDIT(PK(I))(P'------------9V.99')(PS(I))(P'------------9V.99');            
PUT EDIT(TRO)(P'------------9V.99');PUT LIST(' %');PUT SKIP;                   
PD(I)=0;PK(I)=0;PS(I)=0;R=R+3;END;                                             
D1=D1+D2;K1=K1+K2;S1=S1+S2;D2=0;K2=0;S2=0;                                     
IF (R>=48) THEN GO TO RUB;                                                     
NN2AC: IF (SUBSTR(KT,1,1)=SUBSTR(KOO,1,1)) THEN GO TO XXINB;                   
NN1:NI1=SUBSTR(KOO,1,1) CAT '  ';READ KEY(NI1) FILE(KPLANB) INTO(KPLB);A=1;    
PUT SKIP(2) EDIT(KTO)(A(10))(BENA)(A(36))(D1)(P'------------9V.99');           
PUT EDIT(K1)(P'------------9V.99')(S1)(P'------------9V.99');PUT SKIP(2);      
R=R+4;D1=0;K1=0;S1=0;KO=KONTO;OPEN XX;                                         
IF (UT=1) THEN GO TO SLUT;IF (SUBSTR(KOO,1,1)=1) THEN DO;PUT SKIP(4);R=R+4;END;
UT1=0;IF (R>=48) THEN GO TO RUB;GO TO ST;                                      
XXINB:KOO=KT;GO TO NN4;                                                        
BYTXX: KT=' ';GO TO XXINBB;                                                    
NEX:UT=1;GO TO NEXT;                                                           
RUB: R=R-36;IF (SIDA¬=1) THEN PUT SKIP(5);                                     
PUT SKIP(4) EDIT(R1)(A(17))(R7)(A(6))(NI)(A(3))(R12)(A(19))(R6)(A(8));         
PUT EDIT(PP)(A(40))(R5)(A(7))(MM)(A(11))(R2)(A(6))(SIDA)(A(10));               
PUT SKIP(2) EDIT(R3)(A(50));                                                   
PUT EDIT(R4)(A(55));IF (NI¬=1) THEN DO;PUT EDIT(R4A)(A(10));END;SIDA=SIDA+1;   
PUT SKIP;                                                                      
IF (A=4) THEN GO TO XXIN;IF (A=3) THEN GO TO NN2BB;IF (A=2) THEN GO TO NN2AB;  
IF (A=1) THEN GO TO ST;IF (A=0) THEN GO TO XXIN;IF (A=5) THEN GO TO NN2AC;     
SLUT:END;