|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 10112 (0x2780)
Types: TextFile
Notes: Mikados_K
Names: »LFERIE.K«
└─⟦385f097a1⟧ Bits:30008988 SPC/1 COMAL programmer til bogføring
└─⟦this⟧ »LFERIE.K«
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"