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

⟦0f6b5a37f⟧ TextFile

    Length: 25280 (0x62c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »ECLØN.K«

Derivation

└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »ECLØN.K« 

Mikados K File

0100 DIM A1(3),A2(3),A3(3),A4(3),A5(3),A6(2),A7$(8),A8$(8),A9$(1),B0$(1)
0120 DIM RES$(15),OP1$(12),OP2$(12),B1$(12),B2$(12),B3$(12),B4$(12),B5$(12)
0130 DIM B6$(50),B7(10),B8$(10,37),B9$(8,11),C0$(12),C1$(12),C2$(12),C3$(12)
0140 DIM C4$(12),C5$(45,11),C6$(55),C7$(40),C8$(50),C9$(16),D0$(16),D1$(71)
0150 DIM D2$(27),D3$(55),D4$(34),D5$(29),D6$(37),D7$(16),D8$(16),D9$(16)
0160 DIM E0$(16),E1$(16),E2$(16,12),E6(21),E7(21),E8(21),E9$(79),F0$(79)
0162 DIM F1$(12),DD$(6),B61$(50),DAD$(6)
0163 TI=10;EL=11;AZ=28
0170 B3$="          0+";B5$="6,00+";B4$="100,00+"
0171 FOR I=1 TO 16
0172 E2$(I)=B3$
0173 NEXT I
0200 A6(1),A6(2),E3,E4,E5=0
0230 FOR I=1 TO 79
0240 E9$=E9$+" "
0250 NEXT I
0260 E6(1),E6(EL),E6(14),E6(17)=27;E6(2),E6(3),E6(12),E6(15),E6(18)=34
0280 E6(7)=29;E6(8)=33;E6(9)=37;E7(19)=17;E7(20)=18;E7(21)=19;E8(4)=-4
0300 E6(4)=36;E6(5),E6(6)=39;E6(TI),E6(13),E6(16),E6(19),E6(20),E6(21)=23
0310 E7(1),E7(2)=2;E7(3)=3;E7(4)=4;E7(5)=5;E7(6)=6;E7(7),E7(8),E7(9)=9
0320 E7(TI),E7(EL),E7(12)=12;E7(13),E7(14),E7(15)=13;E7(16),E7(17),E7(18)=14
0340 E8(1),E8(2),E8(EL),E8(12),E8(14),E8(15),E8(17),E8(18)=6;E8(5),E8(6)=-1
0350 E8(3),E8(7),E8(8),E8(9),E8(TI),E8(13),E8(16),E8(19),E8(20),E8(21)=0
0370 PROC C(F2,F3,F4,F5)
0380 RES$=F5$;OP1$=F3$;OP2$=F4$;SI=0;FLAG=0;ART=F2-6*(F2>5)
0390 CALL "DDE:REGN"
0400 IF F2<6 AND FLAG THEN STOP 
0430 F5$=RES$
0440 ENDPROC 
0441 PROC OPTÆL(F6,F7)
0442 F1$=F7$;C2$=C5$(F6)
0443 EXEC C(0,C2$,F1$,F1$)
0444 C5$(F6)=F1$(2:EL)
0445 IF J5=73 AND C5$(F6,EL)="-" THEN C5$(F6)=B3$(2:EL)
0448 ENDPROC 
0450 PROC UDTÆL
0460 J=9*(F8-1)
0470 FOR F9=1 TO 9
0480 FOR I=1 TO 5
0490 C6$((I-1)*EL+1:EL)=C5$((F9-1)*5+I)
0500 NEXT I
0510 PUT D0$,J+F9:C6$
0520 NEXT F9
0530 EXEC F(-F8,-F9,D0$)
0540 ENDPROC 
0550 PROC INDTÆL
0560 J=9*(F8-1)
0570 FOR F9=1 TO 9
0580 GET D0$,J+F9:C6$
0590 FOR I=1 TO 5
0600 C5$((F9-1)*5+I)=C6$((I-1)*EL+1:EL)
0610 NEXT I
0620 NEXT F9
0630 EXEC F(F8,F9,D0$)
0640 ENDPROC 
0641 PROC OP(F6,F7)
0642 F1$=F7$;C2$=E2$(F6)
0643 EXEC C(0,C2$,F1$,F1$)
0644 E2$(F6)=F1$
0645 ENDPROC 
0650 PROC DATOCHECK(G0,G1)
0660 G1=1
0670 G2=(ORD(G0$(1))-48)*TI+ORD(G0$(2))-48
0680 G3=(ORD(G0$(3))-48)*TI+ORD(G0$(4))-48
0690 G4=(ORD(G0$(5))-48)*TI+ORD(G0$(6))-48
0700 IF G4<1 OR G3<1 OR G3>12 OR G4>31 THEN G1=0
0710 IF G1=0 THEN EXIT 
0720 CASE G3 OF 
0730 WHEN 4,6,9,EL
0740 IF G4>30 THEN G1=0
0750 WHEN 2
0760 IF G4>29 THEN G1=0
0770 IF G4=29 AND G2 MOD 4<>0 THEN G1=0
0780 ENDCASE 
0790 ENDPROC 
0800 PROC INLØNMOD(G5)
0810 GET C9$,2*G5-1:D1$
0820 GET C9$,2*G5:D2$,G6,G7,G8,G9,H0,H1,H2,H3,H4,H5,H6
0830 EXEC F(1,G5,C9$)
0840 ENDPROC 
0850 PROC UDLØNMOD(G5)
0860 PUT C9$,2*G5-1:D1$
0870 PUT C9$,2*G5:D2$,G6,G7,G8,G9,H0,H1,H2,H3,H4,H5,H6
0880 EXEC F(2,G5,C9$)
0890 ENDPROC 
0900 PROC CONV(H7,H8,H9)
0910 I0=H8;H7$=""
0930 REPEAT 
0940 H7$=CHR((I0 MOD TI)+48)+H7$;H9=H9-1;I0=I0 DIV TI
0970 IF H9<0 AND I0=0 THEN H9=0
0980 UNTIL H9=0
0990 ENDPROC 
1000 PROC CHECK(I1,I2)
1010 I2,I3=0
1030 IF LEN(I1$)>0 THEN 
1035 I4=1
1040 IF I1$(1)="-" THEN I4=-1;I2=1
1100 WHILE LEN(I1$)>I2
1110 I2=I2+1
1120 IF I1$(I2)<"0" OR I1$(I2)>"9" THEN I4=0;I2=LEN(I1$)
1160 I3=I3*TI+ORD(I1$(I2))-48
1170 ENDWHILE 
1175 I3=I3*I4;I2=I2*I4
1190 IF I2<0 THEN I2=I2+1
1200 ENDIF 
1210 ENDPROC 
1211 PROC Ø
1212 REPEAT 
1213 EXEC DATOCHECK(F0$,I)
1214 IF I=0 THEN EXEC INLINE(I5)
1215 UNTIL I=1
1216 ENDPROC 
1220 PROC INOPL(I5)
1230 EXEC INLINE(I5)
1240 CASE I5 OF 
1250 WHEN 1
1260 EXEC Ø
1300 EXEC CONVDATE(A7$,I3)
1310 WHEN 2
1320 EXEC Ø
1360 EXEC CONVDATE(A8$,I3)
1370 WHEN 3
1380 IF I3>0 THEN 
1390 EXEC Ø
1430 ENDIF 
1440 I6=I3;DD$=F0$
1450 IF I6<>-1 THEN E3=1
1460 WHEN 4
1470 REPEAT 
1480 F0$=F0$+"+"
1490 EXEC C(6,F0$,B3$,F1$)
1500 IF FLAG<>0 THEN EXEC INLINE(I5)
1510 UNTIL FLAG=0
1520 EXEC C(0,F0$,B3$,F1$)
1530 EXEC PERVERT(F1$,I7)
1540 WHEN 5
1550 WHILE F0$<"1" OR F0$>"7"
1560 EXEC INLINE(I5)
1570 ENDWHILE 
1580 A9$=F0$
1590 WHEN 6
1600 WHILE F0$<>"A" AND F0$<>"F"
1610 EXEC INLINE(I5)
1620 ENDWHILE 
1630 B0$=F0$
1640 WHEN 7,8,9
1650 A1(I5-6)=I3
1660 WHEN TI,13,16
1670 A2(I5 DIV 3-2)=I3
1680 IF I3<>0 THEN 
1690 E4=1
1700 ELSE 
1710 I5=I5+2
1720 ENDIF 
1730 WHEN EL,14,17
1740 EXEC Ø
1780 A4(I5 DIV 3-2)=I3
1790 WHEN 12,15,18
1800 EXEC Ø
1840 A5(I5 DIV 3-3)=I3
1850 WHEN 19,20,21
1860 A3(I5-18)=I3
1865 IF I3<>0 THEN E5=1
1870 ENDCASE 
1880 ENDPROC 
1890 PROC INDVIRK
1900 OPEN C9$,R
1910 EXEC F(0,0,C9$)
1920 GET C9$,1:D3$
1930 GET C9$,2:D4$,I8,I9,J0
1935 GET C9$,3:DAD$
1940 ENDPROC 
1950 PROC F(J1,J2,J3)
1960 IF STATUS(J3$)<>0 THEN 
1970 OUTPUT T
1980 PRINT "FIL-FEJL ";J3$;STATUS(J3$),J1;J2
1990 STOP 
2000 ENDIF 
2010 ENDPROC 
2020 PROC INLINE(G5)
2030 REPEAT 
2040 CURSOR E6(G5),E7(G5)
2050 INPUT "",F0$
2060 IF E8(G5)<0 THEN 
2065 J4=0
2070 IF LEN(F0$)<=ABS(E8(G5)) THEN 
2080 J4=1
2090 FOR I=LEN(F0$)+1 TO ABS(E8(G5))
2100 F0$(I)=" "
2110 NEXT I
2140 ENDIF 
2150 ELSE 
2160 EXEC CHECK(F0$,J4)
2170 IF E8(G5)>0 AND E8(G5)<>J4 THEN J4=0
2180 ENDIF 
2190 UNTIL J4<>0
2200 ENDPROC 
2210 PROC SKRIVPICT
2220 CLEAR 
2230 PRINT TAB(17);"Afregning"
2240 PRINT " Lønperioden"
2250 PRINT " Dispositionsdato, lønoverførsel"
2260 PRINT " Maksimum feriedage i året"
2270 PRINT " Lønperiodekode 1,2,3,4,5,6 eller 7"
2280 PRINT " Arbejdere(A) eller funktionærer(F)"
2290 PRINT 
2300 PRINT " Lønspecifikationer"
2310 PRINT " Gruppe/lønnr"
2320 PRINT 
2330 PRINT " Feriepengeopgørelse:     start-slutdag"
2340 PRINT " Feriekode 1/lønnr"
2350 PRINT " Feriekode 2/lønnr"
2360 PRINT " Feriekode 3/lønnr"
2370 PRINT 
2380 PRINT " SH-opgørelse"
2390 PRINT " SH-kode 1/lønnr"
2400 PRINT " SH-kode 2/lønnr"
2410 PRINT " SH-kode 3/lønnr"
2420 ENDPROC 
2430 PROC Å
2440 EXEC CONV(OP1$,J5,2)
2450 F0$(1)=D5$(29);F0$(2,3)=OP1$;F0$(5:20)=D5$(2,21)
2480 IF F0$(43)="+" THEN F0$(43)=" "
2490 IF F0$(54)="+" THEN F0$(54)=" "
2500 IF F0$(62)="+" THEN F0$(62)=" "
2510 PRINT F0$;
2520 J6=J6+1;F0$=E9$
2540 ENDPROC 
2550 PROC Z(G5)
2560 J5=G5
2570 GET D8$,G5:D5$,J7,J8,J9
2580 EXEC F(2,G5,D8$)
2590 ENDPROC 
2600 PROC CONVDATE(I1,I2)
2610 K0=I2;I1$=""
2620 FOR I=8 TO 1 STEP -1
2625 I1$(I)=CHR(K0 MOD TI+48)
2630 IF I MOD 3=0 THEN 
2631 I1$(I)="-"
2632 ELSE 
2633 K0=K0 DIV TI
2634 ENDIF 
2690 NEXT I
2700 ENDPROC 
2710 PROC Æ(I1,I2)
2720 I1$=B3$
2730 IF I2<>0 THEN 
2740 I1$(9,TI)=",0";I0=ABS(I2);K0=INT((I0-INT(I0))*100+0.50001)
2770 IF I2<0 THEN I1$(12)="-"
2780 FOR I=EL TO 1 STEP -1
2790 IF I<>9 THEN 
2800 I1$(I)=CHR(K0 MOD TI+48)
2810 K0=K0 DIV TI
2820 IF K0=0 AND I<TI THEN I=0
2830 ELSE 
2840 K0=INT(I0)
2850 ENDIF 
2860 NEXT I
2870 ENDIF 
2880 ENDPROC 
2890 PROC PERVERT(I1,I2)
2900 I2=0
2910 FOR I=1 TO LEN(I1$)-1
2920 IF I1$(I)<>" " AND I1$(I)<>"," THEN I2=TI*I2+ORD(I1$(I))-48
2930 NEXT I
2940 IF I1$(I)="-" THEN I2=-I2
2950 I2=I2/100
2960 ENDPROC 
2970 PROC SKRIVBUND
2980 IF J6>0 THEN 
2990 WHILE J6<K1-12
3000 PRINT 
3010 J6=J6+1
3020 ENDWHILE 
3030 EXEC CONV(C3$,G6,6)
3040 EXEC CONV(F1$,G7,4)
3050 C3$=C3$+F1$
3060 PRINT TAB(EL);"LØNMODTAGER ";C3$;
3070 PRINT USING " ####":F8;
3080 PRINT TAB(44);"ARBEJDSGIVER ";D3$(1,7)
3090 PRINT 
3100 PRINT 
3110 PRINT TAB(13);D1$(1,25);TAB(46);D3$(8,32)
3120 PRINT TAB(13);D1$(26,48)
3130 PRINT TAB(13);D1$(49,71);TAB(46);D3$(33,55)
3140 PRINT TAB(13);D2$(1,4);" ";D2$(5,18);TAB(46);D4$(1,4);" ";
3150 PRINT D4$(5,18)
3160 J6=J6+7
3170 WHILE J6<K1
3180 PRINT 
3190 J6=J6+1
3200 ENDWHILE 
3210 J6=0
3220 ENDIF 
3230 ENDPROC 
3240 PROC SKRIVHOVED(G5)
3250 PRINT 
3260 A6(G5)=A6(G5)+1
3270 PRINT USING " SIDE####":A6(G5);
3275 PRINT "     UDSKRIFTSDATO ";DAD$;
3280 PRINT TAB(49);"LØNPERIODEN ";A7$;" / ";A8$;
3290 CASE G5 OF 
3300 WHEN 1
3310 J6=6
3320 PRINT TAB(33);"LØNSPECIFIKATION"
3330 PRINT TAB(33);"****************"
3340 PRINT 
3350 PRINT " LA TEKST";TAB(26);"NUMMER      SALDO    ENHEDER    SATS  ";
3360 PRINT "UDBETALT/TRUKKET";
3370 WHEN 2
3380 J6=5
3390 PRINT TAB(29);"FERIE- OG SH-OPGØRELSE"
3400 PRINT TAB(29);"**********************"
3410 PRINT 
3420 ENDCASE 
3430 ENDPROC 
3440 PROC NÆSTE
3450 REPEAT 
3460 F8=F8+1
3470 H1=1
3480 IF F8<=I9 THEN 
3490 EXEC INLØNMOD(F8)
3500 IF A9$<>D2$(21) THEN H1=0
3510 IF B0$="A" AND D2$(24,25)>"89" THEN H1=0
3520 IF B0$="F" AND D2$(24,25)<"90" THEN H1=0
3530 ENDIF 
3540 UNTIL H1>0
3550 ENDPROC 
3560 PROC BEREGNFERIE
3570 EXEC SKRIVHOVED(2)
3580 IF K2=0 THEN EXEC INDTÆL
3585 K4=H1
3590 IF A4(K3)>H1 THEN K4=A4(K3)
3595 K5=H6
3640 IF A5(K3)<H6 OR H6=0 THEN K5=A5(K3)
3690 K6=K5 MOD 100-K4 MOD 100
3700 K6=K6+30*(K5 DIV 100 MOD 100-K4 DIV 100 MOD 100)
3705 K7=INT(2*I7*K6/365+0.5)/2
3710 K6=K6+365*(K5 DIV 10000-K4 DIV 10000)
3720 IF A9$="1" THEN K7=0
3770 EXEC Æ(C3$,K7)
3800 C4$=C5$(29)
3810 EXEC C(0,C3$,C4$,F1$)
3820 C5$(29)=F1$(2:EL)
3830 IF K3=3 THEN 
3840 EXEC Æ(C3$,I7)
3850 EXEC C(4,F1$,C3$,C4$)
3860 IF SI=2 THEN F1$=C3$
3870 ENDIF 
3873 C4$=C5$(44)
3876 EXEC C(0,C4$,F1$,C4$)
3880 C5$(44)=C4$(2:EL)
3890 PRINT " FERIEKODE ";D2$(22);" OR-KODE ";D2$(24,25);" FAGGR-KODE";H5
3910 EXEC CONVDATE(C4$,K4)
3920 PRINT " ANSAT FRA ";C4$;" TIL ";
3930 EXEC CONVDATE(C4$,K5)
3940 EXEC C(3,F1$,B5$,C3$)
3945 IF C3$(8)=" " THEN C3$(8)="0"
3950 PRINT C4$;" FERIEDAGE ";F1$(7,TI);" HERAF ";C3$(8);" LØRDAGE"
3960 PRINT 
3970 PRINT " LA TEKST";TAB(38);"SALDO    ENHEDER    SATS  UDBETALT/TRUKKET";
3990 IF C5$(16,EL)="+" THEN C5$(16,EL)=" "
4000 PRINT TAB(5);"FERIEBERETT LØN";TAB(42);"0 ";C5$(16)
4010 C5$(16)=B3$(2:EL)
4020 EXEC Z(90)
4025 EXEC OP(8,C5$(20))
4030 F0$(42)="0";F0$(44,54)=C5$(20)
4040 EXEC Å
4050 EXEC Z(91)
4055 EXEC OP(9,C5$(17))
4060 F0$(42)="0";F0$(44,54)=C5$(17)
4070 EXEC Å
4080 IF H0>0 THEN 
4090 EXEC Æ(C3$,H0)
4100 ELSE 
4110 K8=INT(G9*12/365)
4120 EXEC Æ(C4$,K8)
4125 F1$=C5$(29)
4130 EXEC C(2,F1$,C4$,C3$)
4140 ENDIF 
4150 B1$=C5$(20);C4$=C5$(17);C5$(20)=B3$(2:EL);C5$(17)=B3$(2:EL)
4160 C5$(29)=C5$(20)
4190 EXEC C(0,B1$,C4$,B1$)
4200 EXEC OPTÆL(34,B1$)
4230 EXEC Z(82)
4235 F0$(33,43)=C5$(34)
4240 F0$(64+(B1$(12)="-")*6:TI)=B1$(2:TI)
4250 EXEC Å
4260 EXEC C(4,B1$,C3$,C4$)
4270 EXEC Z(92)
4280 F0$(45,54)=C3$(3:TI)
4290 IF SI=2 THEN 
4300 EXEC C(1,B1$,C3$,C4$)
4310 H0=0
4320 EXEC Æ(C3$,G8)
4330 F0$(56,62)=C3$(6:7)
4335 C3$(12)="-"
4340 EXEC C(2,C4$,C3$,B2$)
4350 EXEC C(3,B2$,B4$,B2$)
4355 B2$(TI,EL)="00"
4360 EXEC C(0,B1$,B2$,C0$)
4370 ELSE 
4380 B2$=B3$
4390 C0$=B1$
4400 IF H0>0 THEN 
4410 EXEC C(1,C3$,B1$,C3$)
4420 EXEC PERVERT(C3$,H0)
4430 ENDIF 
4440 ENDIF 
4441 EXEC OPTÆL(40,B2$)
4442 EXEC OP(TI,B2$)
4444 F0$(33,43)=C5$(40)
4450 F0$(70,79)=B2$(2:TI)
4460 EXEC Å
4470 EXEC Z(93)
4480 F0$(64+6*(C0$(12)="-"):TI)=C0$(2:TI)
4490 EXEC Å
4500 PRINT 
4510 J6=J6+6
4520 ENDPROC 
4530 PROC BEREGNSH
4540 IF K9=0 THEN 
4550 EXEC SKRIVHOVED(2)
4560 IF K2=0 THEN EXEC INDTÆL
4570 ENDIF 
4580 PRINT " SH-KODE   ";D2$(23);" OR-KODE ";D2$(24,25);
4590 PRINT " FAGGR-KODE";H5
4600 PRINT 
4610 PRINT " LA TEKST";TAB(38);"SALDO    ENHEDER    SATS  ";
4620 PRINT "UDBETALT/TRUKKET";
4630 EXEC Z(95)
4635 EXEC OP(EL,C5$(23))
4640 F0$(42)="0";F0$(44,54)=C5$(23)
4650 EXEC Å
4660 C3$=C5$(23);C5$(23)=B3$(2:EL)
4670 C4$=" "+C5$(26)
4675 IF C4$(12)="+" THEN EXEC C(1,B3$,C4$,C4$)
4680 EXEC Z(96)
4685 EXEC OP(12,C4$)
4690 F0$(42)="0";F0$(44,54)=C4$(2:EL)
4700 EXEC Å
4710 C5$(26)=B3$(2:EL)
4720 EXEC C(0,C3$,C4$,B1$)
4730 EXEC OPTÆL(34,B1$)
4760 EXEC Z(82)
4770 F0$(33,43)=C5$(34)
4780 EXEC Æ(C3$,G8)
4782 C4$=B3$
4785 C3$(12)="-"
4790 IF B1$(12)="+" THEN 
4795 B2$=B1$
4800 F0$(64:TI)=B1$(2:TI)
4801 IF H0>0 THEN 
4802 EXEC Æ(C4$,H0)
4803 EXEC C(4,B1$,C4$,C2$)
4804 IF SI=2 THEN 
4805 EXEC C(1,B1$,C4$,B2$)
4806 H0=0
4807 ELSE 
4808 EXEC C(1,C4$,B1$,C2$)
4809 B2$=B3$
4810 EXEC PERVERT(C2$,H0)
4811 ENDIF 
4812 ENDIF 
4819 EXEC C(2,C3$,B2$,C1$)
4820 EXEC C(3,C1$,B4$,C1$)
4830 C1$(TI,EL)="00"
4840 EXEC OPTÆL(40,C1$)
4860 ELSE 
4870 F0$(70:TI)=B1$(2:TI)
4880 C1$=B3$
4890 ENDIF 
4900 EXEC Å
4910 EXEC Z(97)
4915 EXEC OP(13,C1$)
4920 F0$(33,43)=C5$(40);F0$(45,54)=C4$(3:TI)
4930 F0$(56:6)=C3$(6:6);F0$(70:TI)=C1$(2:TI)
4940 EXEC Å
4950 EXEC C(0,C1$,B1$,C2$)
4960 EXEC Z(98)
4970 F0$(64+6*(C2$(12)="-"):TI)=C2$(2:TI)
4980 EXEC Å
4990 J6=J6+3
5000 ENDPROC 
5010 PROC BEREGNLØN
5020 L0=(F8-1)*J0+1
5030 GET D7$,L0:D6$
5040 IF D6$(1)="1" THEN 
5042 FOR I=1 TO 8
5044 B9$(I)=B3$(2:EL)
5046 NEXT I
5050 L1=1
5060 L2=0
5062 D6$(1)="2"
5064 PUT D7$,L0:D6$
5070 EXEC SKRIVHOVED(1)
5080 EXEC INDTÆL
5090 REPEAT 
5100 J5=ORD(D6$(3))-48
5110 IF D6$(4)<>" " THEN J5=J5*TI+ORD(D6$(4))-48
5120 IF J5<78 AND J5<>60 AND J5<>70 THEN 
5130 EXEC Z(J5)
5140 IF J7>0 THEN 
5141 IF J7=2 OR J7=4 OR J7=7 THEN 
5143 C3$=D6$(EL:TI)
5144 EXEC OPTÆL(J7,C3$)
5146 J7=J7+1
5147 IF J7<7 THEN 
5148 F1$=B9$(8)
5149 EXEC C(0,F1$,C3$,C4$)
5150 B9$(8)=C4$(2:EL)
5151 ENDIF 
5152 ENDIF 
5160 C3$=D6$(AZ:TI)
5170 EXEC OPTÆL(J7,C3$)
5190 ENDIF 
5200 IF J8>0 THEN 
5220 C3$=D6$(AZ:TI)
5230 EXEC OPTÆL(J8,C3$)
5250 ENDIF 
5260 IF J9>0 THEN 
5280 C3$=D6$(AZ:TI)
5290 EXEC OPTÆL(J9,C3$)
5310 ENDIF 
5320 F0$(26:6)=D6$(5:6)
5330 CASE 0=0 OF 
5340 WHEN (J5>0 AND J5<60) OR (J5>61 AND J5<65)
5350 CASE J5 OF 
5360 WHEN 41,49
5370 F0$(33,43)=C5$(J9)
5371 IF J5=49 THEN 
5372 C8$(21,30)=D6$(AZ:TI)
5373 ELSE 
5374 EXEC OP(2,D6$(AZ,37))
5375 ENDIF 
5380 WHEN 42
5385 EXEC OP(3,D6$(AZ,37))
5390 F0$(33,43)=C5$(26)
5400 ENDCASE 
5402 IF J5=40 THEN EXEC OP(1,D6$(AZ,37))
5405 IF J5>61 THEN 
5406 D6$(37)="-"
5407 C3$=B6$(EL+20*(J5=62)+30*(J5=64):TI);C4$=D6$(AZ:TI)
5408 EXEC C(0,C3$,C4$,C3$)
5409 B6$(EL+20*(J5=62)+30*(J5=64):TI)=C3$(3:TI)
5415 ENDIF 
5418 F0$(45,54)=D6$(EL:TI)
5420 F0$(56,62)=D6$(21:7)
5430 IF D6$(37)="+" THEN 
5440 F0$(65:9)=D6$(AZ:9)
5450 ELSE 
5460 F0$(71,79)=D6$(AZ:9)
5470 ENDIF 
5480 WHEN J5=61 OR (J5>64 AND J5<70)
5490 D6$(37)="+"
5492 IF J5>67 THEN D6$(37)="-"
5500 F1$=D6$(EL:TI)
5510 C3$=D6$(AZ:TI)
5520 EXEC C(0,F1$,C3$,C4$)
5522 IF C4$(12)="-" THEN 
5524 D6$(EL:TI)=B3$(3:TI)
5526 D6$(AZ:TI)=F1$
5528 ELSE 
5530 D6$(EL:TI)=C4$(3:TI)
5531 ENDIF 
5532 D6$(1)="2"
5533 D6$(37)="+"
5534 PUT D7$,L0:D6$
5535 D6$(37)="-"
5536 IF J5=61 THEN 
5537 C3$=B6$(1,TI)
5538 ELSE 
5539 C3$=B61$(1+TI*(J5=66)+20*(J5=67)+30*(J5=68)+40*(J5=69):TI)
5540 ENDIF 
5542 C4$=D6$(AZ:TI)
5543 EXEC C(0,C3$,C4$,C3$)
5544 IF J5=61 THEN 
5545 B6$(1,TI)=C3$(3:TI)
5546 ELSE 
5547 B61$(1+TI*(J5=66)+20*(J5=67)+30*(J5=68)+40*(J5=69):TI)=C3$(3:TI)
5548 ENDIF 
5550 F0$(34,43)=D6$(EL:TI)
5560 F0$(71,79)=D6$(AZ:9)
5570 WHEN J5=72
5575 EXEC OP(14,D6$(EL,20))
5580 F0$(33,43)=C5$(J8)
5590 F0$(45,54)=D6$(EL:TI)
5593 WHEN J5=73
5595 F0$(45,54)=D6$(EL:TI)
5600 WHEN J5=75
5610 F0$(45,54)=D6$(EL:TI)
5620 L2=(ORD(F0$(45))-48)*TI+ORD(F0$(46))-48
5630 L2=L2*100+(ORD(F0$(47))-48)*TI+ORD(F0$(48))-48
5640 L2=100*L2+(ORD(F0$(49))-48)*TI+ORD(F0$(50))-48
5650 ENDCASE 
5660 EXEC Å
5670 FOR I=1 TO 7
5680 IF D5$(I+21)="1" THEN 
5690 C4$=D6$(AZ:TI)
5700 C3$=B9$(I)
5710 EXEC C(0,C4$,C3$,C4$)
5720 B9$(I)=C4$(2:EL)
5730 ENDIF 
5740 NEXT I
5770 ELSE 
5780 B7(L1)=L0
5790 B8$(L1)=D6$
5800 IF J5<78 THEN L3=L1
5810 L1=L1+1
5820 ENDIF 
5830 IF J5<83 THEN 
5840 L0=L0+1
5850 GET D7$,L0:D6$
5860 ENDIF 
5870 UNTIL J5=83
5875 B8$(L1-2,37)="-"
5880 F1$=B8$(L1-2,AZ:TI)
5890 C3$=B9$(2)
5900 EXEC C(0,F1$,C3$,C4$)
5910 B9$(2)=C4$(2:EL)
5920 C3$=B9$(7)
5930 EXEC C(0,F1$,C3$,C4$)
5940 B9$(7)=C4$(2:EL)
5950 IF H6>0 THEN 
5960 C3$=B3$
5970 ELSE 
5980 IF H0>0 THEN 
5990 EXEC Æ(C3$,H0)
6000 ELSE 
6002 K8=INT(G9*12/365)
6004 EXEC Æ(C3$,K8)
6010 C4$=B8$(L1-1,EL:TI)
6020 CASE D2$(21) OF 
6030 WHEN "1"
6040 F1$="1+"
6050 EXEC C(4,F1$,C4$,C3$)
6060 IF SI<>0 THEN 
6100 EXEC C(2,C3$,C4$,F1$)
6110 C3$=F1$
6120 ENDIF 
6130 WHEN "2","3"
6140 F1$="7+"
6150 EXEC C(4,F1$,C4$,C3$)
6160 IF SI=0 THEN 
6170 K8=INT(G9*12/52)
6180 EXEC Æ(C3$,K8)
6190 ELSE 
6220 EXEC C(2,C3$,C4$,C3$)
6230 ENDIF 
6240 WHEN "4","5"
6250 F1$="14+"
6260 EXEC C(4,F1$,C4$,C3$)
6270 IF SI=0 THEN 
6280 K8=INT(G9*12/26)
6290 EXEC Æ(C3$,K8)
6300 ELSE 
6330 EXEC C(2,C3$,C4$,C3$)
6340 ENDIF 
6350 WHEN "6","7"
6360 F1$="30+"
6370 EXEC C(4,F1$,C4$,C3$)
6380 IF SI=0 THEN 
6390 EXEC Æ(C3$,G9)
6400 ELSE 
6430 EXEC C(2,C3$,C4$,C3$)
6440 ENDIF 
6450 ENDCASE 
6470 ENDIF 
6475 H6=L2
6480 ENDIF 
6485 B8$(L1-1,EL:TI)=C3$(3:TI)
6490 F1$=B9$(2)
6500 EXEC C(4,F1$,C3$,C4$)
6502 IF F1$(11)="-" THEN 
6504 SI=2
6506 C3$=B3$
6508 ENDIF 
6510 IF SI=2 THEN 
6515 IF F1$(11)="+" THEN H0=0
6520 EXEC C(1,F1$,C3$,C4$)
6530 F1$=B8$(L1-1,21:7)
6535 F1$(7)="-"
6540 EXEC C(2,C4$,F1$,C3$)
6545 IF C4$(12)="-" THEN C3$(12)="+"
6550 EXEC C(3,C3$,B4$,C4$)
6555 C4$(TI,EL)="00"
6560 ELSE 
6562 IF H0>0 THEN 
6564 EXEC C(1,C3$,F1$,C3$)
6566 EXEC PERVERT(C3$,H0)
6568 ENDIF 
6570 C4$=B3$
6580 ENDIF 
6590 B8$(L1-1,AZ:TI)=C4$(3:TI)
6600 F1$=B9$(7)
6602 EXEC C(0,F1$,C4$,C3$)
6604 B9$(7)=C3$(2:EL)
6610 FOR I=1 TO L3
6630 IF B8$(I,3,4)="60" THEN 
6635 EXEC Z(60)
6640 C4$=B8$(L1-1,AZ:9)+"+"
6650 F1$=B9$(2)
6660 EXEC C(4,C4$,F1$,C3$)
6670 IF SI=1 THEN 
6680 EXEC C(1,F1$,C4$,C3$)
6690 F1$=B8$(I,21:7)
6700 EXEC C(2,C3$,F1$,C4$)
6710 EXEC C(3,C4$,B4$,C3$)
6715 C3$(TI,EL)="00"
6720 ELSE 
6730 C3$="          0-"
6740 ENDIF 
6750 C4$=B8$(I,EL:TI)
6760 EXEC C(4,C4$,C3$,F1$)
6770 IF SI=2 THEN 
6780 EXEC C(1,C4$,C3$,F1$)
6790 B8$(I,EL:TI)=F1$(3:TI)
6800 B8$(I,AZ:TI)=C3$(3:TI)
6810 ELSE 
6820 B8$(I,EL:TI)=B3$(3:TI)
6830 B8$(I,AZ:TI)=C4$
6840 ENDIF 
6842 C3$=B8$(I,AZ:TI)
6844 C4$=B9$(7)
6846 EXEC C(1,C4$,C3$,C4$)
6848 B9$(7)=C4$(2:EL)
6852 B8$(I,1)="2"
6854 PUT D7$,B7(I):B8$(I)
6855 B8$(I,37)="-"
6860 F0$(34,43)=B8$(I,EL:TI)
6870 F0$(71,79)=B8$(I,AZ:9)
6871 C3$=B8$(I,AZ:TI)
6872 C4$=B6$(21,30)
6873 EXEC C(0,C3$,C4$,C4$)
6875 B6$(21,30)=C4$(3:TI)
6876 C4$=B9$(5)
6877 EXEC C(0,C3$,C4$,C3$)
6878 B9$(5)=C3$(2:EL)
6880 ELSE 
6881 EXEC Z(70)
6882 C3$=B8$(I,AZ:TI)
6883 EXEC OP(6,C3$)
6884 EXEC OPTÆL(J9,C3$)
6890 F0$(45,54)=B8$(I,EL:TI)
6900 F0$(67,75)=B8$(I,AZ:9)
6910 ENDIF 
6920 F0$(26:6)=B8$(I,5:6)
6930 F0$(56,62)=B8$(I,21:7)
6940 EXEC Å
6950 IF J5=70 THEN 
6960 EXEC Z(71)
6970 C3$=B8$(L1-1,21:7)
6980 C4$=B8$(I,AZ:TI)
6990 EXEC C(2,C3$,C4$,F1$)
7000 EXEC C(3,F1$,B4$,C3$)
7010 F0$(56,62)=B8$(L1-1,21:7)
7015 C3$(TI,EL)="00"
7020 F0$(67,75)=C3$(3:9)
7022 C3$(12)="-"
7026 EXEC OPTÆL(J9,C3$)
7027 EXEC OP(7,C3$)
7030 EXEC Å
7040 ENDIF 
7070 NEXT I
7071 EXEC C(0,B9$(4),B9$(5),C3$)
7072 EXEC C(0,B9$(6),C3$,C3$)
7073 C7$(31,40)=C3$(3,12)
7074 EXEC OP(5,B9$(4))
7080 EXEC Z(76)
7090 C3$=B9$(1)
7100 EXEC OPTÆL(16,C3$)
7110 EXEC OPTÆL(EL,C3$)
7120 EXEC OPTÆL(31,C3$)
7130 F0$(33,43)=C5$(16)
7140 F0$(44,54)=B9$(1)
7150 F0$(56,62)=B9$(8,5:7)
7151 C3$=B9$(8)
7152 EXEC OPTÆL(30,C3$)
7153 C7$(1,TI)=C3$(2,EL)
7154 C8$(EL,20)=B9$(1,2:TI)
7160 EXEC Å
7170 EXEC Z(78)
7180 L3=L3+1
7190 C3$=B8$(L3,21:7)
7200 C4$=B9$(1)
7210 EXEC C(2,C3$,C4$,F1$)
7220 EXEC C(3,F1$,B4$,C3$)
7225 EXEC OP(15,C3$)
7230 F0$(45,54)=C3$(3:TI)
7250 EXEC OPTÆL(20,C3$)
7280 EXEC OPTÆL(14,C3$)
7300 F0$(33,43)=C5$(20)
7310 F0$(56,62)=B8$(L3,21:7)
7320 EXEC Å
7330 L3=L3+1
7340 IF B8$(L3,3,4)="79" THEN 
7345 IF D2$(24,25)<"90" THEN 
7350 EXEC Z(79)
7360 C3$=B8$(L3,21:7)
7370 C4$=B9$(1)
7380 EXEC C(2,C3$,C4$,F1$)
7390 EXEC C(3,F1$,B4$,C3$)
7395 EXEC OP(16,C3$)
7400 F0$(45,54)=C3$(3:TI)
7420 EXEC OPTÆL(15,C3$)
7450 EXEC OPTÆL(23,C3$)
7470 C3$=C5$(26)
7480 EXEC C(1,F1$,C3$,C4$)
7490 F0$(33,43)=C4$(2:EL)
7500 F0$(56,62)=B8$(L3,21:7)
7510 EXEC Å
7515 ENDIF 
7520 L3=L3+1
7530 ENDIF 
7540 EXEC Z(80)
7560 C3$=B8$(L3,AZ:TI)
7565 C7$(EL,20)=C3$
7570 EXEC OPTÆL(43,C3$)
7590 F0$(33,43)=C5$(43)
7600 F0$(45,54)=B8$(L3,EL:TI)
7610 F0$(56,62)=B8$(L3,21:7)
7620 F0$(71,79)=B8$(L3,AZ:9)
7630 EXEC Å
7640 L3=L3+1
7650 EXEC Z(82)
7660 C3$=B9$(2)
7680 EXEC OPTÆL(34,C3$)
7700 F0$(33,43)=C5$(34)
7710 F0$(45,54)=B9$(2,2:TI)
7720 EXEC Å
7730 EXEC Z(83)
7740 C3$=B8$(L3,AZ:TI)
7750 C8$(31,40)=C3$
7760 EXEC OPTÆL(40,C3$)
7780 F0$(33,43)=C5$(40)
7790 F0$(45,54)=B8$(L3,EL:TI)
7800 F0$(56,62)=B8$(L3,21:7)
7810 F0$(65+6*(B8$(L3,37)="-"):9)=B8$(L3,AZ:9)
7820 EXEC Å
7830 EXEC Z(84)
7840 C3$=B9$(3)
7850 EXEC OP(4,C3$)
7860 EXEC OPTÆL(37,C3$)
7880 F0$(33,43)=C5$(37)
7890 F0$(44,54)=B9$(3)
7892 EXEC C(0,B9$(2),B9$(3),C3$)
7894 C7$(21,30)=C3$(3,12)
7900 EXEC Å
7910 C3$=B9$(7)
7920 EXEC C(4,C3$,B3$,C4$)
7925 IF C3$(11)="-" THEN SI=1
7930 IF SI=2 THEN 
7940 IF H2>0 AND (H3>0 OR H4>0) THEN 
7950 IF D4$(19,24)<>"000000" AND D4$(25,34)<>"0000000000" THEN 
7960 SI=0
7970 EXEC Z(88)
7975 F0$(27,48)="Til disposition "+DD$
7980 F0$(64:TI)=B9$(7,1:TI)
7985 C8$(41,50)=B9$(7,2:TI)
7990 EXEC CONV(OP1$,0+H2 MOD 10000,4)
8000 D5$(5:4)=OP1$
8010 EXEC CONV(OP1$,H3,5)
8020 D5$(12:5)=OP1$
8030 EXEC CONV(OP1$,H4,5)
8040 D5$(17:5)=OP1$
8050 EXEC Å
8055 PUT E1$:F8,B9$(7)
8060 ENDIF 
8070 ENDIF 
8080 ELSE 
8090 SI=2
8100 ENDIF 
8110 IF SI=2 THEN 
8120 EXEC Z(89)
8130 F0$(64+6*(B9$(7,EL)="-"):TI)=B9$(7,1:TI)
8135 C8$(1,TI)=B9$(7,2:TI)
8140 EXEC Å
8150 ENDIF 
8160 EXEC SKRIVBUND
8161 K2=1
8162 ELSE 
8163 K2=0
8170 ENDIF 
8180 ENDPROC 
8181 D8$="P641217:"
8182 E1$="DDE:"
8190 C9$=D8$+"VIRKKART"
8200 EXEC INDVIRK
8210 CLOSE C9$
8220 C9$=D8$+"LØNMODRG"
8230 OPEN C9$,W
8240 D7$=D8$+"TRANSREG"
8250 OPEN D7$,W
8260 D0$=D8$+"TÆLLEREG"
8270 OPEN D0$,W
8280 D8$=D8$+"LØNARTRG"
8290 OPEN D8$,R
8291 D9$=E1$+"LØNJOUR"
8292 OPEN D9$,W
8293 E0$=E1$+"FRADRAG"
8294 OPEN E0$,W
8295 E1$=E1$+"LØNBILAG"
8296 OPEN E1$,W
8300 EXEC SKRIVPICT
8310 FOR J=1 TO 21
8320 IF J=7 AND E3=0 THEN J=TI
8330 EXEC INOPL(J)
8340 NEXT J
8350 K1=72
8355 J6=0
8360 F8=0
8370 F0$=E9$
8372 PUT D9$:A7$,A8$,A9$,B0$
8374 PUT E0$:A7$,A8$
8376 PUT E1$:I6
8380 OUTPUT P
8390 REPEAT 
8400 EXEC NÆSTE
8410 L3,L4,K2,K9=0
8412 C7$=B3$(3:TI)+B3$(3:TI)+B3$(3:TI)+B3$(3:TI)
8414 C8$=C7$+B3$(3:TI)
8416 B6$=C8$
8417 B61$=B6$
8420 IF F8<=I9 THEN 
8430 IF E3=1 THEN 
8440 J=1
8450 REPEAT 
8460 IF A1(J)=F8 OR A1(J)=-1 THEN J=TI
8470 J=J+1
8480 UNTIL J>3
8490 IF J=EL THEN 
8500 EXEC BEREGNLØN
8520 ENDIF 
8530 ENDIF 
8540 IF E4=1 THEN 
8550 K3=ORD(D2$(22))-48
8560 IF K3<4 THEN 
8570 IF A2(K3)=F8 OR A2(K3)=-1 THEN 
8580 EXEC BEREGNFERIE
8590 K9=1
8600 ENDIF 
8610 ENDIF 
8620 ENDIF 
8630 IF E5=1 THEN 
8640 K3=ORD(D2$(23))-48
8650 IF K3<4 THEN 
8660 IF A3(K3)=F8 OR A3(K3)=-1 THEN 
8670 EXEC BEREGNSH
8680 L4=1
8690 ENDIF 
8700 ENDIF 
8710 ENDIF 
8720 IF K9*L4=1 THEN 
8730 EXEC C(0,C0$,C2$,C3$)
8731 EXEC C(4,C3$,B3$,C3$)
8732 IF SI<>0 THEN 
8740 EXEC C(2,C0$,B4$,C4$)
8750 EXEC C(3,C4$,C3$,C4$)
8760 EXEC C(4,C4$,B4$,C3$)
8770 IF SI=2 THEN C4$=B4$
8771 ELSE 
8772 C4$=B3$
8773 ENDIF 
8780 PRINT 
8790 PRINT "Nettoferiepengene udgør ";C4$(6,EL);" %"
8800 J6=J6+2
8810 ENDIF 
8815 IF K2+K9+L4>0 THEN 
8820 EXEC SKRIVBUND
8830 EXEC UDLØNMOD(F8)
8840 EXEC UDTÆL
8843 PUT D9$:F8,C7$
8844 PUT D9$:C8$
8845 ENDIF 
8846 IF K2=1 THEN 
8847 PUT E0$:F8,B6$
8848 PUT E0$:F8,B61$
8849 ENDIF 
8850 ENDIF 
8860 UNTIL F8=>I9
8861 PUT D9$:I9+1,C7$
8862 PUT D9$:E2$(1),E2$(2),E2$(3),E2$(4),E2$(5),E2$(6)
8864 PUT D9$:E2$(7),E2$(8),E2$(9),E2$(TI),E2$(EL),E2$(12)
8866 PUT D9$:E2$(13),E2$(14),E2$(15),E2$(16)
8867 ENDFILE E0$
8868 ENDFILE E1$
8870 CLOSE 
8880 CHAIN "DDE:JOURNAL"

Full view