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

⟦5ef989359⟧ TextFile

    Length: 10112 (0x2780)
    Types: TextFile
    Notes: Mikados_K
    Names: »LFERIE.K«

Derivation

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

Mikados K File

0100DIM SIDE(G),LIN$(8),DAD$(6) 
0110DIM STARTPER$(8),SLUTPER$(8),LP$(E),ORK$(E) 
0120DIM RES$(15),OP1$(12),OP2$(12),TAH$(12),SEKS$(12) 
0130DIM TOTAL$(G,12) 
0140DIM RESUL$(12),RESUL1$(12),TV$(45,11) 
0150DIM FIL$(16),FIL2$(16),POST1$(71),POST2$(27),POST3$(55),POST4$(34) 
0160DIM MF1$(16) 
0162DIM POST5$(55) 
0170TAH$="          0+" 
0180SEKS$="       6,00+" 
0200SIDE(E),SIDE(G)=B 
0370PROC CALC(AR3,B1,B2,ES) 
0380RES$=ES$;OP1$=B1$;OP2$=B2$;SI=B;FLAG=B;ART=AR3-6*(AR3>5) 
0390CALL "P641210:REGN" 
0400IF AR3<6 THEN  
0410IF FLAG THEN STOP  
0420ENDIF  
0430ES$=RES$ 
0440ENDPROC  
0550PROC INDTÆL 
0560J=W*(LMNR-E) 
0570FOR K=E TO W 
0580GET FIL2$,J+K:POST5$ 
0590FOR I=E TO 5 
0600TV$((K-E)*5+I)=POST5$((I-E)*11+E:11) 
0610NEXT I 
0620NEXT K 
0630EXEC FEJL(LMNR,K,FIL2$) 
0640ENDPROC  
0800PROC INLØNMOD(N) 
0810GET FIL$,G*N-E:POST1$ 
0820GET FIL$,G*N:POST2$,C1,C2,LT,LF,LR,LA,RPI,K1,K2,FG,FD 
0830EXEC FEJL(E,N,FIL$) 
0840ENDPROC  
1220PROC CONVDATE(NR1,OK1) 
1230OK11=OK1;NR1$="" 
1240FOR I=8 TO E STEP -E 
1250IF I MOD V=B THEN  
1260NR1$(I)="-" 
1270ELSE  
1280NR1$(I)=CHR(OK11 MOD 10+48) 
1290OK11=OK11 DIV 10 
1300ENDIF  
1310NEXT I 
1320ENDPROC  
1890PROC INDVIRK 
1900OPEN FIL$,R 
1910EXEC FEJL(B,B,FIL$) 
1920GET FIL$,E:POST3$ 
1930GET FIL$,G:POST4$,SLJNR,MLMNR,ATPLM 
1935GET FIL$,V:DAD$ 
1940ENDPROC  
1950PROC FEJL(P1,P2,P3) 
1960IF STATUS(P3$)<>B THEN  
1970OUTPUT T 
1980PRINT "FIL-FEJL ";P3$;STATUS(P3$),P1;P2 
1990STOP  
2000ENDIF  
2010ENDPROC  
2710PROC CONVERT(NR1,OK1) 
2720NR1$="          0+" 
2730IF OK1<>B THEN  
2740NR1$(W,10)=",0" 
2750OK2=ABS(OK1) 
2760OK11=INT((OK2-INT(OK2))*100+0.50001) 
2770IF OK1<B THEN NR1$(12)="-" 
2780FOR I=11 TO E STEP -E 
2790IF I<>W THEN  
2800NR1$(I)=CHR(OK11 MOD 10+48) 
2810OK11=OK11 DIV 10 
2820IF OK11=B AND I<10 THEN I=B 
2830ELSE  
2840OK11=INT(OK2) 
2850ENDIF  
2860NEXT I 
2870ENDIF  
2880ENDPROC  
3240PROC SKRIVHOVED 
3250PRINT  
3260SIDE(TYPE)=SIDE(TYPE)+E 
3270PRINT USING " SIDE ###":SIDE(TYPE); 
3275PRINT "     UDSKRIFTSDATO ";DAD$; 
3280PRINT TAB(49);"LØNPERIODEN ";STARTPER$;" / ";SLUTPER$; 
3290CASE TYPE OF  
3300WHEN E 
3310LINIE=6 
3320PRINT TAB(35);"FERIELISTE" 
3330PRINT TAB(35);"**********" 
3340 REM  
3350 " LØN  NAVN";TAB(36);"ANSAT  FERIE-  LØR-  FERIEBERETT     FERIE-" 
3360PRINT " NR";TAB(36);"FRA    DAGE    DAGE  LØN             TILLÆG" 
3370WHEN G 
3380LINIE=5 
3390PRINT TAB(24);"LØNMODTAGERKARTOTEK - TÆLLEVÆRKER" 
3400PRINT TAB(24);"*********************************" 
3410PRINT  
3420ENDCASE  
3430ENDPROC  
3440PROC NÆSTE 
3450REPEAT  
3460LMNR=LMNR+E 
3470LA=E 
3480IF LMNR<=MLMNR THEN  
3490EXEC INLØNMOD(LMNR) 
3495IF (POST2$(22)<>"5" OR FD<>B) AND TYPE=E THEN LA=B 
3500IF LP$<>POST2$(21) THEN LA=B 
3510IF ORK$="A" AND POST2$(24,25)>"89" THEN LA=B 
3520IF ORK$="F" AND POST2$(24,25)<"90" THEN LA=B 
3530ENDIF  
3540UNTIL LA>B 
3550ENDPROC  
8182TOTAL$(E)=TAH$;TOTAL$(G)=TAH$ 
8190FIL$="P641220:VIRKKART" 
8200EXEC INDVIRK 
8210CLOSE FIL$ 
8220FIL$="P641220:LØNMODRG" 
8230OPEN FIL$,R 
8260FIL2$="P641220:TÆLLEREG" 
8270OPEN FIL2$,R 
8291MF1$="P641210:LØNJOUR" 
8292OPEN MF1$,R 
8350MAXLIN=72 
8360LMNR=B 
8370SIDE(E),SIDE(G)=B 
8372GET MF1$:STARTPER$,SLUTPER$,LP$,ORK$,MFD 
8400TYPE=E 
8410STD=100000*(ORD(STARTPER$(E))-48)+10000*(ORD(STARTPER$(G))-48) 
8420STD=STD+1000*(ORD(STARTPER$(4))-48)+100*(ORD(STARTPER$(5))-48) 
8430STD=STD+10*(ORD(STARTPER$(7))-48)+ORD(STARTPER$(8))-48 
8440SLD=100000*(ORD(SLUTPER$(E))-48)+10000*(ORD(SLUTPER$(G))-48) 
8450SLD=SLD+1000*(ORD(SLUTPER$(4))-48)+100*(ORD(SLUTPER$(5))-48) 
8460SLD=SLD+10*(ORD(SLUTPER$(7))-48)+ORD(SLUTPER$(8))-48 
8465CURSOR E,12 
8470OUTPUT P 
8480EXEC SKRIVHOVED 
8490REPEAT  
8500EXEC NÆSTE 
8510IF LMNR<=MLMNR THEN  
8520EXEC INDTÆL 
8530EXEC CALC(B,TV$(16),TOTAL$(E),TOTAL$(E)) 
8540EXEC CALC(B,TV$(20),TOTAL$(G),TOTAL$(G)) 
8550IF STD>LA THEN  
8560STDA=STD 
8570ELSE  
8580STDA=LA 
8590ENDIF  
8600ANS=SLD MOD 100-STDA MOD 100 
8610ANS=ANS+30*(SLD DIV 100 MOD 100-STDA DIV 100 MOD 100) 
8620ANS=ANS+365*(SLD DIV 10000-STDA DIV 10000) 
8630IF LP$="1" THEN  
8640FDAGE=B 
8650ELSE  
8660FDAGE=INT(G*MFD*ANS/365+0.5)/G 
8670ENDIF  
8680EXEC CONVERT(RESUL$,FDAGE) 
8690EXEC CALC(B,RESUL$,TV$(44),RESUL1$) 
8700EXEC CALC(B,RESUL1$,TV$(29),RESUL1$) 
8710EXEC CALC(V,RESUL1$,SEKS$,RESUL$) 
8720IF RESUL$(8)=" " THEN RESUL$(8)="0" 
8740IF LINIE>MAXLIN-5 THEN  
8750WHILE LINIE<MAXLIN 
8760PRINT  
8770LINIE=LINIE+E 
8780ENDWHILE  
8790EXEC SKRIVHOVED 
8810ENDIF  
8815LINIE=LINIE+E 
8820EXEC CONVDATE(LIN$,LA) 
8830PRINT USING "####  ":LMNR; 
8840PRINT POST1$(E,25);" ";LIN$;RESUL1$(4,10);"      ";RESUL$(8);"  "; 
8850IF TV$(16,11)="+" THEN TV$(16,11)=" " 
8860IF TV$(20,11)="+" THEN TV$(20,11)=" " 
8870PRINT TV$(16);" ";TV$(20) 
8880ENDIF  
8890UNTIL LMNR=>MLMNR 
8900IF TOTAL$(E,12)="+" THEN TOTAL$(E,12)=" " 
8910IF TOTAL$(G,12)="+" THEN TOTAL$(G,12)=" " 
8920PRINT " ***";TAB(56);TOTAL$(E);TOTAL$(G); 
8930LINIE=LINIE+E 
8940WHILE LINIE<MAXLIN 
8950PRINT  
8960LINIE=LINIE+E 
8970ENDWHILE  
8980TYPE=G 
8984OUTPUT T 
8985CURSOR E,13 
8986OUTPUT P 
8990LMNR=B 
9000REPEAT  
9010EXEC NÆSTE 
9020IF LMNR<=MLMNR THEN  
9030EXEC INDTÆL 
9040EXEC CALC(B,TV$(G),TV$(4),RESUL$) 
9050FOR I=E TO 45 
9060IF TV$(I,11)="+" THEN TV$(I,11)=" " 
9070NEXT I 
9080IF RESUL$(12)="+" THEN RESUL$(12)=" " 
9085EXEC SKRIVHOVED 
9090PRINT " Lønmodtager"; 
9100PRINT USING "####  ":LMNR; 
9110PRINT POST1$(E,25) 
9120PRINT  
9130PRINT TAB(W);"0XX";TAB(23);"1XX";TAB(36);"2XX" 
9140PRINT " TV   Arbejder-    Ferie- og      Årsop-    Tekst"; 
9150PRINT TAB(66);"Lønart" 
9160PRINT " NR.  lønstat      SH-opg         gørelse" 
9170PRINT " 01  ";TV$(E);TAB(29);"-";TAB(42);"-";TAB(45); 
9180PRINT "TILLÆG TIL FORDELING";TAB(66);"01-39" 
9190PRINT " 02  ";TV$(G);TAB(29);"-";TAB(42);"-";TAB(45); 
9200PRINT "AKKORDTIMER";TAB(66);"01-39" 
9210PRINT " 03  ";TV$(V);TAB(29);"-";TAB(42);"-";TAB(45); 
9220PRINT "AKKORDBELØB";TAB(66);"01-39" 
9230PRINT " 04  ";TV$(4);TAB(29);"-";TAB(42);"-";TAB(45); 
9240PRINT "TIDLØNSTIMER";TAB(66);"01-39" 
9250PRINT " 05  ";TV$(5);TAB(29);"-";TAB(42);"-";TAB(45); 
9260PRINT "TIDLØNSBELØB";TAB(66);"01-39" 
9270PRINT " 06  ";RESUL$(G,11);TAB(29);"-";TAB(32);TV$(30);TAB(45); 
9280PRINT "TIMER IALT";TAB(66);"(TV 02 + 04)" 
9290PRINT " 07  ";TV$(6);TAB(29);"-";TAB(42);"-";TAB(45); 
9300PRINT "HERAF OVERTIMER";TAB(66);"01-39" 
9310PRINT " 08  ";TV$(7);TAB(29);"-";TAB(42);"-";TAB(45); 
9320PRINT "OVERTIDSTILLÆG";TAB(66);"01-39" 
9330PRINT " 09  ";TV$(8);TAB(29);"-";TAB(42);"-";TAB(45); 
9340PRINT "HOLDDRIFTSTILLÆG";TAB(66);"01-39" 
9350PRINT " 10  ";TV$(W);TAB(29);"-";TAB(42);"-";TAB(45); 
9360PRINT "GENETILLÆG";TAB(66);"01-39" 
9370PRINT " 11  ";TV$(10);TAB(29);"-";TAB(42);"-";TAB(45); 
9380PRINT "DIV U F ARBEJDST";TAB(66);"01-39" 
9390PRINT " 12  ";TV$(11);TAB(19);TV$(16);TAB(32);TV$(31);TAB(45); 
9400PRINT "FERIEBERETT LØN";TAB(65);"*76" 
9410PRINT " 13  ";TV$(12);TAB(19);TV$(17);TAB(42);"-";TAB(45); 
9420PRINT "SYGEFERIEPENGE";TAB(66);"72" 
9430PRINT " 14  ";TV$(13);TAB(29);"-";TAB(32);TV$(32);TAB(45); 
9440PRINT "SYGEDAGPENGE";TAB(66);"41" 
9450PRINT " 15  ";TV$(14);TAB(19);TV$(20);TAB(42);"-";TAB(45); 
9460PRINT "BEREGNEDE FERIEP";TAB(65);"*78" 
9470PRINT " 16  ";TV$(15);TAB(19);TV$(23);TAB(42);"-";TAB(45); 
9480PRINT "SH-OPSPARING";TAB(65);"*79" 
9490PRINT " 17  ";TAB(16);"-";TAB(19);TV$(26);TAB(42);"-";TAB(45); 
9500PRINT "SH-FORSKUD";TAB(66);"42" 
9510PRINT " 18";TAB(16);"-";TAB(29);"-";TAB(32);TV$(33);TAB(45); 
9520PRINT "FERIETILLÆG";TAB(66);"40" 
9530PRINT " 19";TAB(16);"-";TAB(29);"-";TAB(32);TV$(34);TAB(45); 
9540PRINT "TRÆKPLIGTIG A-INDK";TAB(66);"70 + *82" 
9550PRINT " 20";TAB(16);"-";TAB(29);"-";TAB(32);TV$(37);TAB(45); 
9560PRINT "TRÆKFRI A-INDK";TAB(65);"*84" 
9570PRINT " 21";TAB(16);"-";TAB(29);"-";TAB(32);TV$(40);TAB(45); 
9580PRINT "A-SKAT";TAB(65);"*71+*83+*92+*97"; 
9590PRINT " 22";TAB(16);"-";TAB(29);"-";TAB(32);TV$(43);TAB(45); 
9600PRINT "ATP";TAB(65);"*80" 
9610PRINT " 23";TAB(16);"-";TAB(19);TV$(29);TAB(32);TV$(44);TAB(45); 
9620PRINT "FERIEDAGE";TAB(66);"73 + SYSTEM" 
9630PRINT " 24";TAB(16);"-";TAB(29);"-";TAB(32);TV$(45);TAB(45); 
9640PRINT "PENSIONSBIDRAG";TAB(66);"49" 
9650PRINT  
9660PRINT  
9670PRINT " ANSAT FRA";LA;" TIL";FD;" " 
9680FOR I=38 TO 72 
9690PRINT  
9700NEXT I 
9710ENDIF  
9720UNTIL LMNR=>MLMNR 
9730CLOSE  
9735OUTPUT T 
9740CHAIN "P641210:ÅRSOPL" 

Full view