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

⟦862c144a9⟧ Q1_Text, reclen=79

    Length: 9401 (0x24b9)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »BOKSLUT1«

Derivation

└─⟦7bb65a061⟧ Bits:30008625 DDMQ1-0065_Reflex_MSAB_Bokf_system_diskett_1_2_Sid2_Alla_pgm_PL1_781120_side0
    └─⟦this⟧ »BOKSLUT1« 
└─⟦aeb45b905⟧ Bits:30008623 DDMQ1-0063__LMC_Original_Generella_pgm_for_bokforing_Sid1_PL1_Sid2_kompil_781105_side1
    └─⟦this⟧ »BOKSLUT1« 
└─⟦cfd478037⟧ Bits:30008627 DDMQ1-0066_MSAB_ref_ex_Bokf_system_NFK_diskett_2_2_781120_side0
    └─⟦this⟧ »BOKSLUT1« 
└─⟦d1c33ffd3⟧ Bits:30008583 DDMQ1-0017_Bokforingssystem_kallkod_Msab_790411
    └─⟦this⟧ »BOKSLUT1« 
└─⟦d4a65d31f⟧ Bits:30008722 DDMQ1-0163_MSAB_Bokf_pgm_i_PL1_781112_TD
    └─⟦this⟧ »BOKSLUT1« 
└─⟦f4c608b16⟧ Bits:30008624 DDMQ1-0064_LMC_Kopia_Generall_pgm_for_bokforing_Endast_PL1-vers_781105_B
    └─⟦this⟧ »BOKSLUT1« 

Text

/*FÖRSTA RADEN*/                                                               
/*BOKSLUT  RÅBALANS T.O.M SENASTE REG. HUVUDBOK       GENERELLT PGM.           
KLART: 781104    PROGR:TD*/                                                    
                                                                               
DCL 1 DUM,2 DUM1 CHAR(3),2 BUDKOD CHAR(1),2 DUM2 CHAR(51);                     
                                                                               
DCL 1 SAM,2 SSTR,3 SKO FIXED(4),3 SAVD CHAR(3),                                
2 SAD(12) FIXED(11,2),2 SAK(12) FIXED(11,2);                                   
DCL 1 KTX,2 KSTR,3 TKO FIXED(4),3 TKOD CHAR(1),2 TKO2 CHAR(4),2 TEXT CHAR(34), 
2 IB FIXED(13,2);                                                              
DCL 1 DATREC,2 XDAG CHAR(6),2 MON CHAR(3),2 MNR FIXED(2),2 SK(14) CHAR(1),     
2 KOD FIXED(1);                                                                
DCL DATFIL FILE,KTOTX FILE,S CHAR(1),RAD FIXED(2),SIDA FIXED(4),IND FIXED(1),  
DAG CHAR(6),SAMFIL FILE,                                                       
D4 FIXED(13,2),K4 FIXED(13,2),KIB FIXED(13,2),US FIXED(13,2),                  
TI FIXED(13,2),TD FIXED(13,2),TK FIXED(13,2),                                  
XSKO FIXED(4),TXT CHAR(34),RECNR BINARY,SAMSLUT BINARY,                        
KTOSLUT BINARY,C CHAR(17)INIT('------------9V.99'),                            
CC CHAR(17)INIT('-----------9V.99*'),                                          
CCC CHAR(16)INIT('-----9V.99%     '),CCCC CHAR(15)INIT('----9V.99%     '),     
D CHAR(4)INIT('ZZZ9'),E CHAR(12)INIT('-------9V.9 '),                          
EE CHAR(12)INIT('-------9V.9*'),J FIXED(4),K FIXED(4),L FIXED(4);              
                                                                               
ABORT:PROC(ABTX);                                                              
DCL ABTX CHAR(15);                                                             
PUT SKIP EDIT('FEL! ')(A)(ABTX)(A)SKIP(RAD-4);GOTO SLUTT;                      
RETURN;                                                                        
END;                                                                           
                                                                               
RUB:PROC;                                                                      
SIDA=SIDA+1;PUT SKIP(RAD)EDIT('RÅBALANS FÖR BOKSLUTSTRANSAKTIONER')(A)         
('    DATUM:')(A)(DAG)(A(10))('SIDA:')(A)(SIDA)(A(30))('** BOKSLUTSTABLÅ **')  
(A)SKIP EDIT('')(A(90))('(BOKFÖRINGSORDER)')(A)SKIP(2)EDIT                     
('KTO')(A(13))('ING. SALDO')(A(18))('ACK. DEB')(A(16))('ACK. KRE')(A(14))      
('UTG. SALDO')(A(29))('KONTO')(A(11))('DEB')(A(10))('KRE')(A)SKIP EDIT         
('')(A(9))('(VID ÅRETS BÖRJAN)')(A)SKIP;RAD=43;                                
RETURN;END;                                                                    
                                                                               
SUBA:PROC(SUBKO);                                                              
DCL SUBKO FIXED(4);                                                            
IF RAD<12 THEN CALL RUB;                                                       
IF SUBKO=9999 THEN GOTO TOTUT;                                                 
IF KIB¬=0öD4¬=0öK4¬=0 THEN DO;                                                 
US=KIB+D4-K4;                                                                  
IF SUBKO>2999 THEN DO;KIB=-KIB;US=-US;END;                                     
PUT SKIP(2) EDIT(SUBKO)(A(7))(KIB)(PC)(D4)(PC)(K4)(PC)(US)(PC);                
RAD=RAD-2;XKTO=SUBKO;END;                                                      
TI=TI+KIB;TD=TD+D4;TK=TK+K4;KIB=0;D4=0;K4=0;                                   
RETURN;                                                                        
                                                                               
TOTUT:IF RAD<14 THEN CALL RUB;                                                 
PUT SKIP(3)EDIT('TOTALT')(A(7))(TI)(PC)(TD)(PC)(TK)(PC)(TI+TD-TK)(PC)          
SKIP(RAD-8);                                                                   
GO TO SLUTT;                                                                   
RETURN;                                                                        
END;                                                                           
                                                                               
PROCB:PROC;  /*UPPREPAR ACKUMULERING AV SALDON OCH LÄSNING I SAMFIL            
TILLS ETT RECORD MED ANNAT KONTONUMMER HITTAS,ELLER FILEN TAR SLUT*/           
KIB=IB;                                                                        
SAMIN:XSKO=SKO;                                                                
DO I=1 TO 12;D4=D4+SAD(I);K4=K4+SAK(I);END;                                    
ON ENDFILE GOTO SAMUT;READ FILE(SAMFIL)INTO(SAM);                              
GOTO SAMOK;                                                                    
SAMUT:SAMSLUT=1;                                                               
SAMOK:IF SAMSLUT=0 & XSKO=SKO THEN GOTO SAMIN;                                 
RETURN;END;                                                                    
                                                                               
PROCC:PROC; /*UPPREPAR LÄSNING I KTOTX,OCH HOPPAR ÖVER BUDGET,TILLS ETT        
RECORD MED ANNAT KONTONUMMER HITTAS, ELLER FILEN TAR SLUT*/                    
UNSPEC(KTOTX)=RECNR;                                                           
KTOIN:ON ENDFILE GOTO KTOUT;READ FILE(KTOTX)INTO(DUM);                         
RECNR=UNSPEC(KTOTX);GOTO KTOOK;                                                
KTOUT:KTOSLUT=1;GOTO KTOKLAR;                                                  
KTOOK:IF BUDKOD='A' THEN GOTO KTOKLAR;                                         
GOTO KTOIN;                                                                    
KTOKLAR:CALL SUBA(TKO);                                                        
KTX=DUM;                                                                       
RETURN;END;                                                                    
                                                                               
OPEN KTOTX;OPEN DATFIL;OPEN SAMFIL;                                            
READ FILE(DATFIL)INTO(DATREC);IF XDAG='XXXXXX' THEN GO TO SLUTT;               
DAG=XDAG;XDAG='XXXXXX';                                                        
REWRITE FILE(DATFIL)FROM(DATREC);                                              
PUT FILE(D) SKIP EDIT(' ')(A(37))('***     RÅBALANS FÖR BOKSLUT      ***')     
(A(74))('STÄLL IN PERFORERINGEN')(A(37))('TRYCK SEDAN RETURN.')(A(37));        
GET SKIP LIST(S);                                                              
PUT FILE(D)SKIP EDIT(' ')(A(43))('*** UTSKRIFT PÅGÅR ***')(A(67));             
DEL=0;RECNR=0;RAD=5;SIDA=0;IND=1;SAMSLUT=0;KTOSLUT=0;                          
KIB=0;D4=0;K4=0;TI=0;TD=0;TK=0;                                                
                                                                               
/*START AV SJÄLVA PROGRAMMET!*/                                                
START:SAMSLUT=1;                                                               
ON ENDFILE GOTO A0000;READ FILE(SAMFIL)INTO(SAM);SAMSLUT=0;                    
A0000:UNSPEC(KTOTX)=UNSPEC(KTOTX)+10;                                          
ON ENDFILE GOTO A0X;READ FILE(KTOTX)INTO(KTX);                                 
IF TKO<1000 THEN GOTO A0000;                                                   
A0X:UNSPEC(KTOTX)=UNSPEC(KTOTX)-11;                                            
IF UNSPEC(KTOTX)<0 THEN UNSPEC(KTOTX)=0;                                       
A0:ON ENDFILE GO TO KTOUT2;READ FILE(KTOTX)INTO(KTX);                          
IF TKO<1000 THEN GO TO A0;GOTO KTOOK2;                                         
KTOUT2:KTOSLUT=1;                                                              
KTOOK2:RECNR=UNSPEC(KTOTX);                                                    
NY:                                                                            
IF KTOSLUT=1 & SAMSLUT=1 THEN GO TO AVSLUTA;                                   
IF TKOD¬='A' THEN CALL ABORT('TKOD EJ "A"');                                   
IF(SAMSLUT=0 & SKO<TKO) ö (KTOSLUT=1)THEN CALL ABORT('');                      
IF SAMSLUT=0 & KTOSLUT=0 & SKO=TKO THEN GO TO BOTH;                            
ONE:KIB=IB;                                                                    
CALL PROCC;                                                                    
GOTO NY;                                                                       
BOTH:                                                                          
CALL PROCB;                                                                    
CALL PROCC;                                                                    
GOTO NY;                                                                       
AVSLUTA:SKO=9999;CALL SUBA(SKO);                                               
GOTO SLUT;                                                                     
SLUT:PUT SKIP(RAD-6);                                                          
SLUTT:CALL LOAD('BOKRUT',6);END;