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

⟦fffedb838⟧ Q1_Text, reclen=79

    Length: 14457 (0x3879)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »BOKRUT1«

Derivation

└─⟦d1c33ffd3⟧ Bits:30008583 DDMQ1-0017_Bokforingssystem_kallkod_Msab_790411
    └─⟦this⟧ »BOKRUT1« 

Text

/*FÖRSTA RADEN*/                                                               
/*BOKRUT  TABLÅPROGRAM FÖR NYA VERS AV BOKFÖRINGSRUTINER.     GENERELL.        
REV   781104    PROGR:TD */                                                    
/*FÖLJANDE DATAFILER BEHÖVS:                                                   
MON:AKTUELL VERFIL                                                             
VERSORT:ATT KOPIERA MON I                                                      
SAMFIL,                                                                        
 TOTX,                                                                         
SAMSORT:ATT KOPIERA SAMFIL OCH KTOTX I                                         
DATFIL:SORTERINGSDATA,DATUM OSV                                                
SORTERINGSDATA: 1-12 GÄLLER VERFILERNA 1-12 (T.EX JAN-DEC),                    
K=KONTONR.ORDN,V=VER.NR ORDN.                                                  
13 GÄLLER SAMFIL. K=KONTONUMMERORDN,A=AVDELN.ORDN,P=PROJEKTORDN (ANV.EJ HÄR)   
14 GÄLLER KTOTX. K=KONTONR.ORDN NUMERISK,k=NUMMERORDN 1,10,101,1010,11,110 OSV.
*/                                                                             
                                                                               
                                                                               
DCL DATFIL FILE,S CHAR(2),ANT BINARY,SUB CHAR(90),INFO(5) CHAR(128),           
LB(24) LABEL INIT(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,      
A17,A18,A19,A20,A21,A22,A23,A24),SAMFIL FILE,INF CHAR(128),KTOTX FILE;         
DCL 1 DATREC,2 DAG CHAR(6),2 MON CHAR(3),2 MNR FIXED(2),2 SORTKOD(14) CHAR(1), 
2 CO FIXED(1);                                                                 
OPEN DATFIL;READ FILE(DATFIL)INTO(DATREC);                                     
L0:                                                                            
PUT FILE(D) SKIP EDIT              (' ******* VAD VILL DU GÖRA? *******')      
(A(37))('   (TRYCK RETURN FÖR NY TABLÅ)')(A(37))                               
('  1 - AVSLUTA PROGRAMKÖRNINGEN')(A(37))                                      
('  2 - MAN. REGISTRERING AV VERIF.')(A(37))                                   
('  3 - VERIFIKATIONSLISTA')(A(37))                                            
('  4 - AKTUELLT SALDO,VISSA KONTON')(A(37))                                   
('  5 - UTSKRIFT AV KONTOPLANEN')(A(37))                                       
('  6 - HUVUDBOK')(A(35));                                                     
GET SKIP LIST(S);PUT FILE(D) SKIP;                                             
IF S='1 ' THEN GO TO A1;                                                       
IF S='2 'öS='3 'öS='4 'öS='5 'öS='6 ' THEN GO TO PER;                          
L1:PUT FILE(D) SKIP EDIT('')(A(42))('(TRYCK RETURN FÖR NY TABLÅ)')(A(32))      
('  7 - RES.RÄKN.  (TOT ELLER PER AVD)')(A(37))                                
('  8 - BAL.RÄKN.')(A(37))                                                     
('  9 - RÅBALANS FÖR BOKSLUT')(A(37))                                          
(' 10 - UTSKRIFT AV INGÅENDE BALANSER')(A(37))                                 
(' 11 - UTSKRIFT AV BUDGET')(A(34));GET SKIP LIST(S);PUT FILE(D)SKIP;          
IF S='7 'öS='8 'öS='9 'öS='10'öS='11' THEN GO TO PER;                          
L2:PUT FILE(D)EDIT('')(A(42))('(TRYCK RETURN FÖR NY TABLÅ)')(A(32))            
(' 12 - UPPLÄGGNING AV NYA KONTON')(A(37))                                     
(' 13 - ÄNDRINGAR I KONTOPLANEN')(A(37))                                       
(' 14 - INMATNING AV INGÅENDE BALANSER')(A(37))                                
(' 15 - INMATNING AV BUDGET')(A(37))                                           
(' 16 - RUTIN FÖR NYTT BOKFÖRINGSÅR')(A(34));                                  
GET SKIP LIST(S);PUT FILE(D)SKIP;                                              
IF S='12'öS='13'öS='14'öS='15' THEN GO TO PER;                                 
IF S='16' THEN GO TO A16;                                                      
GO TO L0;                                                                      
PER:MON='   ';MNR=0;PUT FILE(D)SKIP;                                           
IF S='2 ' THEN PUT FILE(D)EDIT(' BOKF.')(A);                                   
ELSE PUT FILE(D)SKIP EDIT(' ANGE ')(A);                                        
PUT FILE(D)EDIT('DAGENS DATUM (ÅÅMMDD):')(A(25));                              
GET SKIP LIST(DAG);PUT FILE(D) SKIP;                                           
IF S='6 'ö                                                                     
S='7 'öS='2 'öS='3 'öS='4 'öS='8 ' THEN GO TO MONIN;GO TO VX;                  
MONIN:PUT FILE(D) SKIP EDIT('VILKEN MÅNAD SKA AVSES?')(A(37))                  
('SVARA "JAN" "APR" ELLER LIKN')(A(37))('ANGE ALLTID TRE BOKSTÄVER:')(A(34));  
GET SKIP LIST(MON);PUT FILE(D) SKIP;                                           
MNR=0;                                                                         
MNR=INDEX('   JAN,FEB,MAR APR,MAJ,JUN,JUL,AUG,SEP,OKT,NOV,DEC',MON)/4;         
IF MNR=0 THEN GO TO MONIN;                                                     
MNR=MNR+8;      /* HÄR LÄGGER MAN TILL DET ANTAL MÅNADERS "OFFSET" SOM         
BOKFÖRINGSÅRET HAR I DET AKTUELLA FALLET. OM FÖRSTA MÅNADEN T.EX ÄR JULI       
ADDERAS EN SEXA (6)  */                                                        
IF MNR>12 THEN MNR=MNR-12;                                                     
VX:II=S;IF II¬=0 THEN GO TO LB(II);                                            
GO TO L0;                                                                      
A2:INF='VERIFIN ' CAT MON;                                                     
REWRITE FILE(DATFIL)FROM(DATREC);                                              
CALL LOAD(INF,11);GO TO UT;                                                    
A3:ANT=0;                                                                      
INFO(1)='';IF SORTKOD(MNR)¬='V' THEN DO;                                       
INFO(1)='SORT,O ' CAT MON CAT ' VERSORT 9 ';ANT=21;END;                        
SORTKOD(MNR)='V';REWRITE FILE(DATFIL)FROM(DATREC);                             
INFO(2)='VERIFUT ' CAT MON;ANT=ANT+11;                                         
INF=INFO(1) CAT INFO(2);                                                       
CALL LOAD(INF,ANT);GO TO UT;                                                   
A6:OPEN SAMFIL;CALL SEOF(SAMFIL);                                              
IF UNSPEC(SAMFIL)=0 THEN SORTKOD(13)='K';                                      
ANT=0;INFO(1)='';INFO(2)='';                                                   
IF SORTKOD(MNR)¬='K' THEN DO;                                                  
INFO(1)='SORT ' CAT MON CAT ' VERSORT ';ANT=17;END;                            
IF SORTKOD(13)¬='K' THEN DO;INFO(2)='SORT SAMFIL '                             
CAT 'SAMSORT ';ANT=ANT+20;END;                                                 
SORTKOD(MNR)='K';SORTKOD(13)='K';REWRITE FILE(DATFIL)FROM(DATREC);             
INF=INFO(1) CAT INFO(2) CAT 'HUVBOK ' CAT MON;ANT=ANT+10;                      
CALL LOAD(INF,ANT);                                                            
GO TO UT;                                                                      
A7:PUT FILE(D)SKIP EDIT('1 - PER AVDELNING')(A(37))                            
('2 - TOTALT ALLA AVD.')(A(35));                                               
GET SKIP LIST(S);                                                              
IF VERIFY(SUBSTR(S,1,1),'12')=0 THEN GO TO A7;                                 
PUT FILE(D)SKIP;                                                               
INFO(1)='';INFO(2)='';                                                         
IF S='1 ' THEN DO;                                                             
OPEN SAMFIL;CALL SEOF(SAMFIL);IF UNSPEC(SAMFIL)=0 THEN GO TO L0;               
ANT=0;IF SORTKOD(13)¬='A' THEN DO;INFO(1)='ALTA ' CAT                          
'SORT SAMFIL SAMSORT ALTB ';ANT=30;SORTKOD(13)='A';END;                        
IF SORTKOD(14)¬='A' THEN DO;INFO(2)='ALTE SORT KTOTX SAMSORT ALTF ';           
ANT=ANT+29;SORTKOD(14)='A';END;                                                
INFO(3)='AVDRES';ANT=ANT+6;END;                                                
IF S='2 ' THEN DO;                                                             
OPEN SAMFIL;CALL SEOF(SAMFIL);IF UNSPEC(SAMFIL)=0 THEN GO TO L0;               
ANT=0;IF SORTKOD(13)¬='K' THEN DO;INFO(1)='SORT ' CAT                          
'SAMFIL SAMSORT ';ANT=20;SORTKOD(13)='K';END;                                  
IF SORTKOD(14)¬='K' THEN DO;INFO(2)='SORT KTOTX ' CAT                          
'SAMSORT ';SORTKOD(14)='K';ANT=ANT+19;END;                                     
INFO(3)='RESRÄKN';ANT=ANT+7;END;                                               
INF=INFO(1) CAT INFO(2) CAT INFO(3);                                           
REWRITE FILE(DATFIL)FROM(DATREC);                                              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A8:OPEN SAMFIL;CALL SEOF(SAMFIL);IF UNSPEC(SAMFIL)=0 THEN GO TO L0;            
ANT=0;INFO(1)='';INFO(2)='';                                                   
IF SORTKOD(13)¬='K' THEN DO;INFO(1)='SORT SAMFIL SAMSORT ';ANT=20;END;         
IF SORTKOD(14)¬='K' THEN DO;INFO(2)='SORT KTOTX ' CAT                          
'SAMSORT ';ANT=ANT+19;END;                                                     
INF=INFO(1) CAT INFO(2) CAT 'BALRÄKN';ANT=ANT+7;                               
SORTKOD(13)='K';SORTKOD(14)='K';REWRITE FILE(DATFIL)FROM(DATREC);              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A12:REWRITE FILE(DATFIL)FROM(DATREC);CALL LOAD('KOUPP',5);GO TO UT;            
A14:ANT=0;INFO(1)='';IF SORTKOD(14)¬='K' THEN DO;                              
INFO(1)='SORT KTOTX SAMSORT ';ANT=19;END;                                      
SORTKOD(14)='K';REWRITE FILE(DATFIL)FROM(DATREC);                              
INF=INFO(1) CAT 'IBALIN';ANT=ANT+6;                                            
CALL LOAD(INF,ANT);GO TO UT;                                                   
A13:REWRITE FILE(DATFIL)FROM(DATREC);CALL LOAD('KOALT',5);GO TO UT;            
A5:ANT=0;INFO(1)='';IF SORTKOD(14)¬='k' THEN DO;                               
INFO(1)='SORT,O KTOTX SAMSORT 4 ';ANT=23;END;                                  
INF=INFO(1) CAT 'KOUT';ANT=ANT+4;                                              
SORTKOD(14)='k';REWRITE FILE(DATFIL)FROM(DATREC);                              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A10:ANT=0;INFO(1)='';IF SORTKOD(14)¬='K' THEN DO;                              
INFO(1)='SORT KTOTX SAMSORT ';ANT=19;END;                                      
INF=INFO(1) CAT 'IBALUT';ANT=ANT+6;                                            
SORTKOD(14)='K';REWRITE FILE(DATFIL)FROM(DATREC);                              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A15:REWRITE FILE(DATFIL)FROM(DATREC);                                          
CALL LOAD('BUDGIN',6);GO TO UT;                                                
A11:ANT=0;INFO(1)='';IF SORTKOD(14)¬='K' THEN DO;                              
INFO(1)='SORT KTOTX SAMSORT ';ANT=19;END;                                      
INF=INFO(1) CAT 'BUDGUT';ANT=ANT+6;                                            
SORTKOD(14)='K';REWRITE FILE(DATFIL)FROM(DATREC);                              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A9:OPEN SAMFIL;CALL SEOF(SAMFIL);IF UNSPEC(SAMFIL)=0 THEN GO TO L0;            
ANT=0;INFO(1)='';INFO(2)='';                                                   
IF SORTKOD(13)¬='K' THEN DO;INFO(1)='SORT SAMFIL SAMSORT ';ANT=20;END;         
IF SORTKOD(14)¬='K' THEN DO;INFO(2)='SORT KTOTX ' CAT                          
'SAMSORT ';ANT=ANT+19;END;                                                     
INF=INFO(1) CAT INFO(2) CAT 'BOKSLUT';ANT=ANT+7;                               
SORTKOD(13)='K';SORTKOD(14)='K';REWRITE FILE(DATFIL)FROM(DATREC);              
CALL LOAD(INF,ANT);GO TO UT;                                                   
A1:GO TO UT;                                                                   
A4:OPEN SAMFIL;CALL SEOF(SAMFIL);IF UNSPEC(SAMFIL)=0 THEN SORTKOD(13)='K';     
ANT=0;INFO(1)='';INFO(2)='';                                                   
IF SORTKOD(13)¬='K' THEN DO;INFO(1)='SORT SAMFIL SAMSORT ';ANT=20;END;         
IF SORTKOD(MNR)¬='K' THEN DO;                                                  
INFO(2)='SORT ' CAT MON CAT ' VERSORT ';ANT=ANT+17;END;                        
INF=INFO(1) CAT INFO(2) CAT 'AKTSAL ' CAT MON;ANT=ANT+10;                      
SORTKOD(13)='K';SORTKOD(MNR)='K';REWRITE FILE(DATFIL)FROM(DATREC);             
CALL LOAD(INF,ANT);GO TO UT;                                                   
A16:DAG='YYYYYY';REWRITE FILE(DATFIL)FROM(DATREC);                             
PUT FILE(D) SKIP EDIT                                                          
('SÄTT IN EN DISKETT MED EN FIL')(A(37))                                       
('SOM HETER NYKTOTX,MED RECORDLÄNGD=55')(A(37))                                
('OCH MINST LIKA STOR SOM KTOTX.')(A(37))                                      
('VERIFIKATIONSDISKETTEN BEHÖVS EJ')(A(37))                                    
('FILEN SAMSORT FÅR EJ TAS BORT')(A(37))                                       
('ÄR DU KLAR?')(A(74))                                                         
('SVARA "J" ELLER "N":')(A(36));GET SKIP LIST(S);                              
IF S¬='J ' THEN GO TO L0;                                                      
PUT FILE(D)SKIP;                                                               
ANT=0;INFO(1)='';INFO(2)='';INFO(3)='';IF SORTKOD(14)¬='K' THEN DO;            
INFO(1)='SORT KTOTX SAMSORT ';ANT=19;END;                                      
INFO(2)='DISK C KTOTX NYKTOTX ';ANT=ANT+21;                                    
IF SORTKOD(13)¬='K' THEN DO;INFO(3)='SORT SAMFIL SAMSORT ';ANT=ANT+20;END;     
SORTKOD(13)='K';                                                               
INF=INFO(1) CAT INFO(3) CAT INFO(2) CAT 'NYÅR';ANT=ANT+4;                      
CALL LOAD(INF,ANT);GO TO UT;                                                   
UT:END;