DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦906e006b9⟧ TextFile

    Length: 7584 (0x1da0)
    Types: TextFile
    Notes: Mikados_K
    Names: »AFSLJOUR.K«

Derivation

└─⟦385f097a1⟧ Bits:30008988 SPC/1 COMAL programmer til bogføring
    └─⟦this⟧ »AFSLJOUR.K« 

Mikados K File

0900PROC INLØNMOD(N) 
0902GET FIL1$,G*N-E:POST1$ 
0904GET FIL1$,G*N:POST2$,C1,C2,LT,LF,LR,LA,RPI,K1,K2,FG,FD 
0906EXEC FEJL(E,N,FIL1$) 
0908ENDPROC  
0910PROC NÆSTE 
0912REPEAT  
0914LMNR=LMNR+E 
0916LA=E 
0918IF LMNR<=MLMNR THEN  
0920EXEC INLØNMOD(LMNR) 
0922IF LP$<>POST2$(21) THEN LA=B 
0924IF ORK$="A" AND POST2$(24,25)>"89" THEN LA=B 
0926IF ORK$="F" AND POST2$(24,25)<"90" THEN LA=B 
0928ENDIF  
0930UNTIL LA>B 
0932ENDPROC  
1000DIM STARTPER$(8),SLUTPER$(8),DAD$(6) 
1010DIM RES$(15),OP1$(12),OP2$(12),TAH$(12) 
1020DIM TOTAL$(W,12),FIL1$(16),LP$(E),ORK$(E),POST1$(71),POST2$(27) 
1030DIM RESUL$(12),RESUL1$(12),TV$(45,11),POST5$(55),MF11$(40),MF12$(50) 
1040DIM FIL$(16),FIL2$(16),POST3$(55),POST4$(34) 
1050DIM MF1$(16) 
1060TAH$="          0+" 
1070DIM BL$(79),L$(79),LIN$(12),LIN1$(12) 
1080FOR I=E TO 79 
1090BL$=BL$+" " 
1100NEXT I 
1110PROC CALC(AR3,B1,B2,ES) 
1120RES$=ES$;OP1$=B1$;OP2$=B2$;SI=B;FLAG=B;ART=AR3-6*(AR3>5) 
1130CALL "P641210:REGN" 
1140IF AR3<6 THEN  
1150IF FLAG THEN STOP  
1160ENDIF  
1170ES$=RES$ 
1180ENDPROC  
1190PROC UDTÆL 
1200J=W*(LMNR-E) 
1210FOR K=4 TO W 
1220FOR I=E TO 5 
1230POST5$((I-E)*11+E:11)=TV$((K-E)*5+I) 
1240NEXT I 
1250PUT FIL2$,J+K:POST5$ 
1260NEXT K 
1270EXEC FEJL(-LMNR,-K,FIL2$) 
1280ENDPROC  
1290PROC INDTÆL 
1300J=W*(LMNR-E) 
1310FOR K=4 TO W 
1320GET FIL2$,J+K:POST5$ 
1330FOR I=E TO 5 
1340TV$((K-E)*5+I)=POST5$((I-E)*11+E:11) 
1350NEXT I 
1360NEXT K 
1370EXEC FEJL(LMNR,K,FIL2$) 
1380ENDPROC  
1390PROC SKRIVHOVED 
1400PRINT  
1410SLJNR=SLJNR+E 
1420PRINT USING " SIDE ####":SLJNR; 
1425PRINT "     UDSKRIFTSDATO ";DAD$; 
1430PRINT TAB(49);"LØNPERIODEN ";STARTPER$;" / ";SLUTPER$; 
1440LINIE=5 
1450PRINT TAB(35);"LØNJOURNAL" 
1460PRINT TAB(35);"**********" 
1470PRINT  
1510ENDPROC  
1520PROC INDVIRK 
1530OPEN FIL$,W 
1540EXEC FEJL(B,B,FIL$) 
1550GET FIL$,E:POST3$ 
1560GET FIL$,G:POST4$,SLJNR,MLMNR,ATPLM 
1565GET FIL$,V:DAD$ 
1570ENDPROC  
1580PROC FEJL(P1,P2,P3) 
1590IF STATUS(P3$)<>B THEN  
1600OUTPUT T 
1610PRINT "FIL-FEJL ";P3$;STATUS(P3$),P1;P2 
1620STOP  
1630ENDIF  
1640ENDPROC  
1650FIL2$="P641220:" 
1660FIL$=FIL2$+"VIRKKART" 
1670EXEC INDVIRK 
1675FIL1$=FIL2$+"LØNMODRG" 
1680OPEN FIL1$,R 
1690FIL2$=FIL2$+"TÆLLEREG" 
1700OPEN FIL2$,W 
1710MF1$="P641210:LØNJOUR" 
1720OPEN MF1$,R 
1730MAXLIN=72 
1740L$=BL$ 
1745CURSOR E,11 
1750GET MF1$:STARTPER$,SLUTPER$,LP$,ORK$,MFD 
1760OUTPUT P 
1770FOR I=E TO W 
1780TOTAL$(I)=TAH$ 
1790NEXT I 
1800EXEC SKRIVHOVED 
2820LMNR=B 
2825PRINT " Rettelse i særlige årstælleværker" 
2830PRINT " Lønnr";TAB(14);"Trækpligtig A-indk Trækfri A-indk";TAB(57); 
2840PRINT "A-skat" 
2850LINIE=LINIE+G 
2860REPEAT  
2870EXEC NÆSTE 
2880IF LMNR<=MLMNR THEN  
2890EXEC INDTÆL 
2900EXEC CALC(E,TV$(36),TV$(35),RESUL$) 
2910EXEC CALC(E,TV$(39),TV$(38),RESUL1$) 
2920EXEC CALC(E,TV$(42),TV$(41),LIN$) 
2930TV$(35)=TAH$(G:11);TV$(36)=TAH$(G:11) 
2940TV$(38)=TAH$(G:11);TV$(39)=TAH$(G:11) 
2950TV$(41)=TAH$(G:11);TV$(42)=TAH$(G:11) 
2960OUTP=B 
2970EXEC CALC(4,RESUL$,TAH$,RESUL$) 
2980IF SI<>B THEN  
2990OUTP=E 
3000EXEC CALC(B,RESUL$,TOTAL$(E),TOTAL$(E)) 
3010ENDIF  
3020EXEC CALC(4,RESUL1$,TAH$,RESUL1$) 
3030IF SI<>B THEN  
3040OUTP=E 
3050EXEC CALC(B,RESUL1$,TOTAL$(G),TOTAL$(G)) 
3060ENDIF  
3070EXEC CALC(4,LIN$,TAH$,LIN$) 
3080IF SI<>B THEN  
3090OUTP=E 
3100EXEC CALC(B,LIN$,TOTAL$(V),TOTAL$(V)) 
3110ENDIF  
3120IF OUTP THEN  
3130LINIE=LINIE+E 
3140IF LINIE>MAXLIN-6 THEN  
3150WHILE LINIE<MAXLIN 
3160PRINT  
3170LINIE=LINIE+E 
3180ENDWHILE  
3190PRINT  
3195SLJNR=SLJNR+E 
3196PRINT USING " SIDE ####":SLJNR; 
3198PRINT "     UDSKRIFTSDATO ";DAD$; 
3200PRINT TAB(49);"LØNPERIODEN ";STARTPER$;" / ";SLUTPER$; 
3205PRINT  
3207PRINT  
3210PRINT  
3220LINIE=5 
3240PRINT " Lønnr";TAB(14);"Trækpligtig A-indk Trækfri A-indk";TAB(57); 
3250PRINT "A-skat" 
3260LINIE=LINIE+V 
3262ENDIF  
3264IF RESUL$(12)="+" THEN RESUL$(12)=" " 
3266IF RESUL1$(12)="+" THEN RESUL1$(12)=" " 
3268IF LIN$(12)="+" THEN LIN$(12)=" " 
3270PRINT USING "####":LMNR; 
3272PRINT TAB(21);RESUL$;TAB(36);RESUL1$;TAB(52);LIN$ 
3275ENDIF  
3277EXEC UDTÆL 
3278ENDIF  
3279UNTIL LMNR=>MLMNR 
3280FOR I=E TO V 
3290IF TOTAL$(I,12)="+" THEN TOTAL$(I,12)=" " 
3300NEXT I 
3310PRINT " ***";TAB(21);TOTAL$(E);TAB(36);TOTAL$(G);TAB(52);TOTAL$(V) 
3320FOR I=E TO V 
3330TOTAL$(I)=TAH$ 
3340NEXT I 
3345PRINT  
3347LINIE=LINIE+E 
3350LMNR=B 
3360IF LINIE>MAXLIN-10 THEN  
3370WHILE LINIE<MAXLIN 
3380PRINT  
3390LINIE=LINIE+E 
3400ENDWHILE  
3410PRINT  
3415SLJNR=SLJNR+E 
3420PRINT USING " SIDE ####":SLJNR; 
3421PRINT "     UDSKRIFTSDATO ";DAD$; 
3422PRINT TAB(49);"LØNPERIODEN ";STARTPER$;" / ";SLUTPER$; 
3425PRINT  
3427PRINT  
3430PRINT  
3440LINIE=5 
3450ENDIF  
3455PRINT " Rettelse i tælleværker til brug for ferie- og SH-opgørelse" 
3460PRINT " Lønnr";TAB(18);"Sygeferiepenge  Beregn feriep    SH-opsparing"; 
3470PRINT "      SH-forskud" 
3480LINIE=LINIE+G 
3490REPEAT  
3500EXEC NÆSTE 
3510IF LMNR<=MLMNR THEN  
3520EXEC INDTÆL 
3530EXEC CALC(E,TV$(19),TV$(18),RESUL$) 
3540EXEC CALC(E,TV$(22),TV$(21),RESUL1$) 
3550EXEC CALC(E,TV$(25),TV$(24),LIN$) 
3555EXEC CALC(E,TV$(28),TV$(27),LIN1$) 
3560TV$(18)=TAH$(G:11);TV$(19)=TAH$(G:11) 
3570TV$(21)=TAH$(G:11);TV$(22)=TAH$(G:11) 
3580TV$(24)=TAH$(G:11);TV$(25)=TAH$(G:11) 
3585TV$(27)=TAH$(G:11);TV$(28)=TAH$(G:11) 
3590OUTP=B 
3600EXEC CALC(4,RESUL$,TAH$,RESUL$) 
3610IF SI<>B THEN  
3620OUTP=E 
3630EXEC CALC(B,RESUL$,TOTAL$(E),TOTAL$(E)) 
3640ENDIF  
3650EXEC CALC(4,RESUL1$,TAH$,RESUL1$) 
3660IF SI<>B THEN  
3670OUTP=E 
3680EXEC CALC(B,RESUL1$,TOTAL$(G),TOTAL$(G)) 
3690ENDIF  
3700EXEC CALC(4,LIN$,TAH$,LIN$) 
3710IF SI<>B THEN  
3720OUTP=E 
3730EXEC CALC(B,LIN$,TOTAL$(V),TOTAL$(V)) 
3740ENDIF  
3741EXEC CALC(4,LIN1$,TAH$,LIN1$) 
3742IF SI<>B THEN  
3743OUTP=E 
3744EXEC CALC(B,LIN1$,TOTAL$(4),TOTAL$(4)) 
3745ENDIF  
3750IF OUTP THEN  
3760LINIE=LINIE+E 
3770IF LINIE>MAXLIN-6 THEN  
3780WHILE LINIE<MAXLIN 
3790PRINT  
3800LINIE=LINIE+E 
3810ENDWHILE  
3820PRINT  
3825SLJNR=SLJNR+E 
3830PRINT USING " SIDE ####":SLJNR; 
3831PRINT "     UDSKRIFTSDATO ";DAD$; 
3832PRINT TAB(49);"LØNPERIODEN ";STARTPER$;" / ";SLUTPER$; 
3835PRINT  
3837PRINT  
3840PRINT  
3850LINIE=5 
3870PRINT " Lønnr";TAB(18);"Sygeferiepenge  Beregn feriep    SH-opsparing"; 
3880PRINT "      SH-forskud" 
3890LINIE=LINIE+V 
3900ENDIF  
3901IF RESUL$(12)="+" THEN RESUL$(12)=" " 
3902IF RESUL1$(12)="+" THEN RESUL$(12)=" " 
3903IF LIN$(12)="+" THEN LIN$(12)=" " 
3904IF LIN1$(12)="+" THEN LIN1$(12)=" " 
3905PRINT USING "####":LMNR; 
3906PRINT TAB(21);RESUL$;TAB(36);RESUL1$;TAB(52);LIN$;TAB(68);LIN1$; 
3910ENDIF  
3912EXEC UDTÆL 
3915ENDIF  
3920UNTIL LMNR=>MLMNR 
3930FOR I=E TO 4 
3940IF TOTAL$(I,12)="+" THEN TOTAL$(I,12)=" " 
3950NEXT I 
3960PRINT " ***";TAB(21);TOTAL$(E);TAB(36);TOTAL$(G);TAB(52);TOTAL$(V); 
3970PRINT TAB(68);TOTAL$(4); 
3990LINIE=LINIE+G 
4010WHILE LINIE<MAXLIN 
4020PRINT  
4030LINIE=LINIE+E 
4040ENDWHILE  
4170PUT FIL$,E:POST3$ 
4180PUT FIL$,G:POST4$,SLJNR,MLMNR,ATPLM 
4190CLOSE  
4195OUTPUT T 
4200CHAIN "P641210:LFERIE" 

Full view