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

⟦22c449382⟧ SPC/1-COMAL-BIN

    Length: 7990 (0x1f36)
    Types: SPC/1-COMAL-BIN
    Notes: Mikados_B
    Names: »LFERIE.B«

Derivation

└─⟦385f097a1⟧ Bits:30008988 SPC/1 COMAL programmer til bogføring
    └─⟦this⟧ »LFERIE.B« 
└─⟦ff7f7aeee⟧ Bits:30009007 NBT	15/3-84
    └─⟦this⟧ »LFERIE.B« 

SPC/1 COMAL-BIN

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

Full view