|
|
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: 15201 (0x3b61)
Types: SPC/1-COMAL-BIN
Notes: Mikados_B
Names: »FAKUD.B«
└─⟦385f097a1⟧ Bits:30008988 SPC/1 COMAL programmer til bogføring
└─⟦this⟧ »FAKUD.B«
└─⟦ff7f7aeee⟧ Bits:30009007 NBT 15/3-84
└─⟦this⟧ »FAKUD.B«
0100 DIM OP1$(12),OP2$(12),RES$(15) 0110 DIM K1$(17),N$(6),K2$(17),K3$(17),DEBNAVN$(25),DSALDO1$(12),DEBKGR$(E) 0120 DIM DSALDO2$(12),DSALDO3$(12),DSALDO4$(12),DEBLK$(E),DEBGADE$(25) 0130 DIM DEBTLF$(W),DEBBY$(20),SALDO$(12),KR$(25),T$(13),D$(8) 0140 DIM ÅRKØB$(12),MDNKØB$(12),TEK$(13),GBELØB$(12),MOMSH$(12),T1(W),T2(W) 0150 DIM MOMS$(12),FTOTAL$(12),KOD1$(E),KOD$(E),TAL1$(12),TAL4$(14) 0160 DIM VARTEKST$(50),VARPRIS$(12),BELØB$(12),TOTAL$(12),T3(W),K4$(17) 0170 DIM SVAR1$(E),FAKKRE$(E),LEVTEKST$(52),ANTAL$(12),BLANK$(50),K5$(17) 0180 DIM FORS$(12),PRO$(12),VARTH$(25),K6$(17),KOD3$(E) 0190 DIM TE$(30),TEKO$(E),F$(E),K7$(17),K8$(17) 0200 DIM K9$(17),LAND$(W,12),BLB2$(12),TAH$(12),D1$(25),D2$(25),D3$(20) 0210 BLANK$=" ";TAH$="0+";BLANK$=BLANK$+BLANK$ 0220 TAL1$="0+";TAL4$="0+";TOTAL$="0+" 0230 PROC NRTEST(NUM1) 0240 P=B;TEST2=B;KTAL=B;L=LEN(NUM1$) 0250 IF L>6 THEN EXIT 0260 CASE L OF 0270 FOR J=E TO L 0280 P1=INT(ORD(NUM1$(J))-48) 0290 IF P1<B OR P1>W THEN 0300 TEST2=E 0310 ELSE 0320 P=P*10+P1 0330 ENDIF 0340 NEXT J 0350 KTAL=P DIV 10000 0360 WHEN B 0370 P=-E 0380 WHEN E 0390 CASE NUM1$ OF 0400 P=INT(ORD(NUM1$)-48) 0410 WHEN "d","D" 0420 P=-G 0430 WHEN "a","A" 0440 P=-V 0450 WHEN "m","M" 0460 P=-4 0470 WHEN "j","J" 0480 P=-7 0490 WHEN "n","N" 0500 P=-8 0510 ENDCASE 0520 ENDCASE 0530 ENDPROC 0540 PROC FEJL(NR1,NR2,NR3) 0550 IF STATUS(NR3$)<>B THEN 0560 PRINT STATUS(NR3$),NR1,NR2,NR3$ 0570 STOP 0580 ENDIF 0590 ENDPROC 0600 PROC HENTVPOST 0610 S=VTAB(VPIL3,G) 0620 GET K5$,S:VARENR,VARTEKST$,VARPRIS$,VARKONT,UNDKONT 0630 EXEC FEJL(G,E,K5$) 0640 ENDPROC 0650 PROC CALC(AR3,B1,B2,ES) 0660 OP1$=B1$;OP2$=B2$;RES$=ES$;SI=B;FLAG=B;ART=AR3-6*(AR3>5) 0670 CALL "P641210:REGN" 0680 ES$=RES$ 0690 IF AR3<6 THEN 0700 IF FLAG THEN STOP 0710 ENDIF 0720 ENDPROC 0730 PROC HENTDPOST 0740 S=DTAB(DPIL3,G) 0750 GET K4$,S:DEBNR,DEBNAVN$,DSALDO1$,DEBKGR$ 0760 EXEC FEJL(V,E,K4$) 0770 GET K4$,S+E:DSALDO2$,DSALDO3$,DSALDO4$,DPOSTNR,DEBLK$ 0780 EXEC FEJL(V,G,K4$) 0790 GET K4$,S+G:DEBGADE$,DEBTLF$,HPOST,HKUNDE 0800 EXEC FEJL(V,V,K4$) 0810 GET K4$,S+V:DEBBY$,ÅRKØB$,MDNKØB$ 0820 EXEC FEJL(V,4,K4$) 0830 ENDPROC 0840 PROC TUD(BLB1,UBLB1,TEGN,STØR) 0850 BLB2$=BLB1$ 0860 EXEC CALC(5,BLB2$,TAH$,UBLB1$) 0870 IF TEGN=B THEN UBLB1$=UBLB1$(E:13) 0880 IF TEGN=E AND UBLB1$(LEN(UBLB1$))="+" THEN UBLB1$(LEN(UBLB1$))=" " 0890 IF STØR=E THEN UBLB1$=UBLB1$(4:LEN(UBLB1$)-V) 0900 PRINT UBLB1$; 0910 ENDPROC 0920 PROC GEMDPOST 0930 S=DTAB(DPIL3,G) 0940 PUT K4$,S:DEBNR,DEBNAVN$,DSALDO1$,DEBKGR$ 0950 EXEC FEJL(4,E,K4$) 0960 PUT K4$,S+E:DSALDO2$,DSALDO3$,DSALDO4$,DPOSTNR,DEBLK$ 0970 EXEC FEJL(4,E,K4$) 0980 PUT K4$,S+G:DEBGADE$,DEBTLF$,HPOST,HKUNDE 0990 EXEC FEJL(4,G,K4$) 1000 PUT K4$,S+V:DEBBY$,ÅRKØB$,MDNKØB$ 1010 EXEC FEJL(4,V,K4$) 1020 ENDPROC 1030 PROC INDTAB1(Z,MANT5,L7) 1040 PIL1=MANT5 DIV 32 1050 FOR I=E TO PIL1 1060 H=(I-E)*8+E 1070 GET L7$,I:Z(H),Z(H+E),Z(H+G),Z(H+V),Z(H+4),Z(H+5),Z(H+6),Z(H+7) 1080 EXEC FEJL(G,E,L7$) 1090 NEXT I 1100 ENDPROC 1110 PROC SYSGEM 1120 T1(E)=FAKTNR;T1(G)=KREDNR;T2(4)=APOSTER;T2(5)=AKRED;T2(6)=AFAKT 1130 T2(7)=AVKONTI;T2(8)=FJPOST 1140 OPEN K9$,W 1150 EXEC FEJL(8,E,K9$) 1160 PUT K9$,G:T1(E),T1(G),T1(V),T1(4),T1(5),T1(6),T1(7),T1(8),T1(W) 1170 EXEC FEJL(8,G,K9$) 1180 PUT K9$,12:T2(E),T2(G),T2(V),T2(4),T2(5),T2(6),T2(7),T2(8),T2(W) 1190 EXEC FEJL(8,V,K9$) 1200 CLOSE K9$ 1210 EXEC FEJL(8,4,K9$) 1220 ENDPROC 1230 PROC FINDPOST1(TAB4,Q,MANT2,NØGL5,PIL6,L8) 1240 PIL1=MANT2 DIV 8;PIL6=PIL1;CEKS=E;MANT3=MANT2 DIV 4;MANT4=MANT2 DIV 32 1250 REPEAT 1260 IF NØGL5=TAB4(PIL6) OR PIL1=E THEN EXIT 1270 PIL1=(PIL1+E) DIV G;PIL6=PIL6+PIL1*(E-G*(NØGL5<TAB4(PIL6))) 1280 IF PIL6<E THEN PIL6=E 1290 IF PIL6>MANT3 THEN PIL6=MANT3 1300 UNTIL PIL1=B 1310 IF TAB4(PIL6)>NØGL5 THEN PIL6=PIL6-E*(PIL6>E) 1320 PIL6=MANT4+PIL6 1330 GET L8$,PIL6:Q(E,E),Q(E,G),Q(G,E),Q(G,G),Q(V,E),Q(V,G),Q(4,E),Q(4,G) 1340 EXEC FEJL(E,E,L8$) 1350 FOR PIL6=E TO 4 1360 IF NØGL5=Q(PIL6,E) THEN EXIT 1370 NEXT PIL6 1380 IF PIL6<>5 THEN CEKS=B 1390 ENDPROC 1400 PROC TABHENT 1410 OPEN K8$,R 1420 EXEC FEJL(G,E,K8$) 1430 FOR I=E TO AVKONTI 1440 GET K8$,I:VJOURARR(I),VBJOUARR$(I),VUJOURARR(I) 1450 EXEC FEJL(G,G,K8$) 1460 NEXT I 1470 CLOSE K8$ 1480 EXEC FEJL(G,V,K8$) 1490 ENDPROC 1500 PROC TESTPRIN 1510 KR$="XXXXXXXXXXXXXXXXXXXXXXXXX";T$="XX.XXX.XXX,XX";D$="XX.XX.XX" 1520 OUTPUT P 1530 EXEC TOMLINIE(7) 1540 PRINT TAB(67);KR$(E:6) 1550 PRINT TAB(W);KR$ 1560 PRINT TAB(W);KR$;TAB(67);KR$(E:6) 1570 PRINT TAB(W);KR$ 1580 PRINT TAB(W);KR$;TAB(65);D$ 1590 PRINT TAB(W);KR$ 1600 PRINT TAB(W);KR$;TAB(67);KR$(E:6) 1610 PRINT " " 1620 PRINT TAB(65);D$ 1630 PRINT " " 1640 PRINT TAB(19);KR$;KR$;"XX" 1650 PRINT " " 1655 PRINT " " 1660 PRINT TAB(8);KR$(E:6);TAB(16);KR$(E:5);TAB(24);KR$;TAB(51);T$;TAB(66);T$ 1670 EXEC TOMLINIE(19) 1680 PRINT TAB(8);KR$(E:6);TAB(16);KR$(E:5);TAB(24);KR$;TAB(51);T$;TAB(66);T$ 1690 EXEC TOMLINIE(3) 1700 PRINT TAB(16);T$(4:10);TAB(29);T$;TAB(44);T$(W:5);TAB(51);T$;TAB(66);T$ 1710 EXEC TOMLINIE(6) 1720 OUTPUT T 1730 ENDPROC 1740 K1$="P641220:SYSTEM1" 1750 OPEN K1$,R 1760 EXEC FEJL(W,E,K1$) 1770 GET K1$,E:MFANTAL,MDANTAL,MKANTAL,MVANTAL 1780 EXEC FEJL(W,G,K1$) 1790 GET K1$,4:KMID,MFAK,MVGR,MKGR 1800 EXEC FEJL(W,V,K1$) 1810 GET K1$,6:KASSENR,GIRONR,BANKNR,UDMOMSNR 1820 EXEC FEJL(W,4,K1$) 1830 GET K1$,7:INDMOMSNR,RENTENR,FRAGTNR,RABATNR 1840 EXEC FEJL(W,5,K1$) 1850 GET K1$,8:DIVNR,DIVDNR 1860 EXEC FEJL(W,6,K1$) 1870 GET K1$,10:N$ 1880 EXEC FEJL(W,7,K1$) 1890 GET K1$,12:K2$ 1900 EXEC FEJL(W,8,K1$) 1910 GET K1$,14:K3$ 1920 EXEC FEJL(W,W,K1$) 1930 GET K1$,16:K4$ 1940 EXEC FEJL(W,10,K1$) 1950 GET K1$,18:K5$ 1960 EXEC FEJL(W,11,K1$) 1970 GET K1$,29:K6$ 1980 EXEC FEJL(W,12,K1$) 1990 GET K1$,30:K7$ 2000 EXEC FEJL(W,13,K1$) 2010 GET K1$,31:K8$ 2020 EXEC FEJL(W,14,K1$) 2030 GET K1$,36:K9$ 2040 EXEC FEJL(W,15,K1$) 2050 GET K1$,43:I,I,I,DUNDKONT 2060 EXEC FEJL(W,155,K1$) 2070 CLOSE K1$ 2080 EXEC FEJL(W,16,K1$) 2090 DIM VTAB1(MVANTAL DIV 4),DTAB1(MDANTAL DIV 4),VTAB(4,G),DTAB(4,G) 2100 DIM VJOURARR(MVGR*5),VUJOURARR(MVGR*5),VBJOUARR$(MVGR*5,12) 2110 K2$=N$+K2$;K3$=N$+K3$;K4$=N$+K4$ 2120 K5$=N$+K5$;K6$=N$+K6$;K7$=N$+K7$;K8$=N$+K8$;K9$=N$+K9$ 2130 OPEN K9$,R 2140 EXEC FEJL(W,17,K9$) 2150 GET K9$,G:T1(E),T1(G),T1(V),T1(4),T1(5),T1(6),T1(7),T1(8),T1(W) 2160 EXEC FEJL(W,18,K9$) 2170 FOR I=E TO V 2180 H=(I-E)*V+E 2190 GET K9$,I+G:LAND$(H),LAND$(H+E),LAND$(H+G) 2200 EXEC FEJL(W,19,K9$) 2210 NEXT I 2220 GET K9$,12:T2(E),T2(G),T2(V),T2(4),T2(5),T2(6),T2(7),T2(8),T2(W) 2230 EXEC FEJL(W,20,K9$) 2240 GET K9$,13:T3(E),T3(G),T3(V),T3(4),T3(5),T3(6),T3(7),T3(8),T3(W) 2250 EXEC FEJL(W,21,K9$) 2260 CLOSE K9$ 2270 EXEC FEJL(W,22,K9$) 2280 FAKTNR=T1(E);KREDNR=T1(G);DATO=T1(7);APOSTER=T2(4);AKRED=T2(5) 2290 AFAKT=T2(6);AVKONTI=T2(7);FJPOST=T2(8) 2300 OPEN K2$,R 2310 EXEC FEJL(W,23,K2$) 2320 OPEN K3$,R 2330 EXEC FEJL(W,24,K3$) 2340 OPEN K4$,W 2350 EXEC FEJL(W,25,K4$) 2360 OPEN K5$,R 2370 EXEC FEJL(W,26,K5$) 2380 EXEC INDTAB1(DTAB1,MDANTAL,K2$) 2390 EXEC INDTAB1(VTAB1,MVANTAL,K3$) 2400 EXEC TABHENT 2410 CLEAR 2420 CURSOR 20,W 2430 PRINT "Udskrivning af fakturaer." 2440 CURSOR 20,11 2450 PRINT "0: Færdig." 2460 CURSOR 20,13 2470 PRINT "1: Udskrift af sidst indtastede faktura." 2480 CURSOR 20,15 2490 PRINT "2: Udskrift af alle indtastede fakturaer." 2500 REPEAT 2510 CURSOR 20,17 2520 INPUT "Vælg 0-2:",SVAR1$ 2530 UNTIL SVAR1$="1" OR SVAR1$="2" OR SVAR1$="0" 2540 IF SVAR1$<>"0" THEN 2550 IF SVAR1$="2" THEN 2560 LYNFAK=B;STPOST=E 2570 ELSE 2580 LYNFAK=E 2590 OPEN K6$,R 2600 EXEC FEJL(V,E,K6$) 2610 FOR I=APOSTER-V TO E STEP -E 2620 GET K6$,I:ORDRENR,FDATO,ANPOST 2630 EXEC FEJL(V,G,K6$) 2640 IF ANPOST=APOSTER+G-I THEN EXIT 2650 NEXT I 2660 STPOST=I-E 2670 CLOSE K6$ 2680 EXEC FEJL(V,V,K6$) 2690 ENDIF 2700 GEN=B 2710 REPEAT 2720 CLEAR 2730 CURSOR 20,W 2740 PRINT "Udskrivning af fakturaer." 2750 CURSOR 20,11 2760 PRINT "Monter papir til udskrift af testprint." 2770 CURSOR 20,13 2780 INPUT "Tast RETURN.",SVAR1$ 2790 EXEC TESTPRIN 2800 REPEAT 2810 REPEAT 2820 CURSOR 20,13 2830 INPUT "Ønskes flere testprint (J/N):",SVAR1$ 2840 UNTIL SVAR1$="J" OR SVAR1$="N" OR SVAR1$="j" OR SVAR1$="n" 2850 IF SVAR1$="J" OR SVAR1$="j" THEN EXEC TESTPRIN 2860 UNTIL SVAR1$="N" OR SVAR1$="n" 2870 TE$="Der udskrives fakturaer." 2880 EXEC BIL 2890 OUTPUT P 2900 IF APOSTER=B THEN EXIT 2910 OPEN K6$,R 2920 EXEC FEJL(V,4,K6$) 2930 I=STPOST 2940 REPEAT 2950 TOTAL$="0+" 2960 GET K6$,I:KUNDENR,ORDRED,FAKKRE$,DIVD 2970 EXEC FEJL(V,5,K6$) 2980 I=I+E 2990 GET K6$,I:ORDRENR,FDATO,ANPOST,KOD$ 3000 EXEC FEJL(V,6,K6$) 3010 I=I+E 3020 EXEC FINDPOST1(DTAB1,DTAB,MDANTAL,KUNDENR,DPIL3,K2$) 3030 IF CEKS=B THEN EXEC HENTDPOST 3040 IF DIVD=E THEN 3050 D1$=DEBNAVN$;D2$=DEBGADE$;D3$=DEBBY$;D4=DPOSTNR 3060 DEBNAVN$=BLANK$;DEBGADE$=BLANK$;DEBBY$=BLANK$ 3070 GET K6$,I:DEBNAVN$(E:13) 3080 EXEC FEJL(V,7,K6$) 3090 GET K6$,I+E:DEBNAVN$(14:12) 3100 EXEC FEJL(V,8,K6$) 3110 GET K6$,I+G:DEBGADE$(E:13) 3120 EXEC FEJL(V,W,K6$) 3130 GET K6$,I+V:DEBGADE$(14:12) 3140 EXEC FEJL(V,10,K6$) 3150 GET K6$,I+4:DPOSTNR,DEBBY$(E:W) 3160 EXEC FEJL(V,11,K6$) 3170 GET K6$,I+5:DEBBY$(10:11) 3180 EXEC FEJL(V,12,K6$) 3190 I=I+6;ANPOST=ANPOST-6 3200 ENDIF 3210 SIDE=E;LINIE=E;POSTER=B 3220 REPEAT 3230 EXEC TOMLINIE(6) 3240 IF FAKKRE$="F" THEN 3250 PRINT " " 3260 ELSE 3270 PRINT TAB(49);"Kreditnota" 3280 ENDIF 3290 PRINT TAB(66); 3300 IF FAKKRE$="F" THEN 3310 PRINT USING "#######":FAKTNR 3320 ELSE 3330 PRINT USING "#######":KREDNR 3340 ENDIF 3350 PRINT TAB(W);DEBNAVN$ 3360 PRINT TAB(W);DEBGADE$;TAB(66); 3370 PRINT USING "#######":KUNDENR 3380 PRINT TAB(6); 3390 PRINT USING "#######":DPOSTNR; 3400 PRINT TAB(14);DEBBY$ 3410 EXEC DATOUD(ORDRED) 3420 PRINT " " 3430 PRINT TAB(66); 3440 PRINT USING "#######":ORDRENR 3450 PRINT " " 3460 EXEC DATOUD(FDATO) 3470 PRINT " " 3480 IF KOD$>"H" AND SIDE=E THEN 3490 KOD$=CHR(ORD(KOD$)-11) 3500 PRINT " " 3510 ELSE 3520 IF SIDE=E THEN 3530 LEVTEKST$=BLANK$+BLANK$+" " 3540 FOR J=I TO I+V 3550 GET K6$,J:LEVTEKST$((J-I)*13+E:13) 3560 EXEC FEJL(V,13,K6$) 3570 NEXT J 3580 ANPOST=ANPOST-4;I=I+4 3590 ENDIF 3600 PRINT TAB(W);LEVTEKST$ 3610 ENDIF 3620 EXEC TOMLINIE(2) 3630 IF SIDE=G THEN 3640 PRINT TAB(24);"Subtotal";TAB(66); 3650 EXEC TUD(TOTAL$,TAL4$,E,B) 3660 LINIE=G 3670 ENDIF 3680 REPEAT 3690 CASE KOD$ OF 3700 STOP 3710 WHEN "A" 3720 EXEC VPOST 3730 EXEC FINDPOST1(VTAB1,VTAB,MVANTAL,VARENR,VPIL3,K3$) 3740 IF CEKS=E THEN STOP 3750 EXEC HENTVPOST 3760 EXEC VUD 3770 WHEN "B" 3780 EXEC BPOST(1) 3790 PRO$=" 0,"+VARPRIS$(7:G)+VARPRIS$(10:G)+"-" 3800 IF VARPRIS$(7)=" " THEN PRO$(8)="0" 3810 EXEC CALC(G,PRO$,GBELØB$,BELØB$) 3820 EXEC CALC(B,TOTAL$,BELØB$,TOTAL$) 3830 PRINT TAB(24);VARPRIS$(E:11);" %";TAB(66); 3840 EXEC TUD(BELØB$,TAL4$,E,B) 3850 VARKONT=RABATNR;ENTNR=(ORDRENR DIV 100)*100+DUNDKONT 3860 IF GEN=B THEN EXEC VJOURNAL 3870 WHEN "C" 3880 EXEC BPOST(0) 3890 PRINT TAB(24);"Subtotal";TAB(66); 3900 EXEC TUD(BELØB$,TAL4$,E,B) 3910 GBELØB$=BELØB$ 3920 WHEN "D" 3930 EXEC TPOST 3940 PRINT TAB(16);VARTEKST$ 3950 WHEN "E" 3960 EXEC TPOST 3970 EXEC BPOST(0) 3980 PRINT TAB(24);VARTEKST$;TAB(66); 3990 EXEC TUD(BELØB$,TAL4$,E,B) 4000 EXEC CALC(B,TOTAL$,BELØB$,TOTAL$) 4010 GBELØB$=BELØB$;VARKONT=DIVNR;ENTNR=(ORDRENR DIV 100)*100+DUNDKONT 4020 IF GEN=B THEN EXEC VJOURNAL 4030 WHEN "F" 4040 EXEC VPOST 4050 EXEC FINDPOST1(VTAB1,VTAB,MVANTAL,VARENR,VPIL3,K3$) 4060 IF CEKS=E THEN STOP 4070 EXEC HENTVPOST 4080 EXEC BPOST(1) 4090 EXEC VUD 4100 WHEN "G" 4110 EXEC TPOST 4120 VARTH$=VARTEKST$ 4130 EXEC VPOST 4140 EXEC FINDPOST1(VTAB1,VTAB,MVANTAL,VARENR,VPIL3,K3$) 4150 IF CEKS=E THEN STOP 4160 EXEC HENTVPOST 4170 VARTEKST$=VARTH$ 4180 EXEC VUD 4190 WHEN "H" 4200 EXEC TPOST 4210 VARTH$=VARTEKST$ 4220 EXEC VPOST 4230 EXEC FINDPOST1(VTAB1,VTAB,MVANTAL,VARENR,VPIL3,K3$) 4240 IF CEKS=E THEN STOP 4250 EXEC HENTVPOST 4260 VARTEKST$=VARTH$ 4270 EXEC BPOST(1) 4280 EXEC VUD 4290 ENDCASE 4300 LINIE=LINIE+E 4310 UNTIL POSTER=>ANPOST-5 OR LINIE=22 4320 IF LINIE=22 AND POSTER<ANPOST-5 THEN 4330 SIDE=G;ANPOST=ANPOST-POSTER;POSTER=B;LINIE=E 4340 PRINT TAB(24);"Subtotal";TAB(66); 4350 EXEC TUD(TOTAL$,TAL4$,E,B) 4360 EXEC TOMLINIE(9) 4370 ENDIF 4380 UNTIL POSTER=>ANPOST-5 4390 EXEC BPOST(0) 4400 FORS$=BELØB$;VARKONT=FRAGTNR;ENTNR=1000000 4410 EXEC VJOURNAL 4420 EXEC BPOST(0) 4430 MOMSH$=BELØB$ 4440 EXEC BPOST(0) 4450 FTOTAL$=BELØB$ 4460 EXEC TOMLINIE(25-LINIE) 4470 EXEC CALC(B,FORS$,TOTAL$,TOTAL$) 4480 EXEC CALC(5,FORS$,FORS$,TAL4$) 4490 PRINT TAB(16);TAL4$(4:10);TAB(29); 4500 EXEC TUD(TOTAL$,TAL4$,E,B) 4510 PRINT TAB(44);MOMSH$(7:5);TAB(51); 4520 EXEC CALC(E,FTOTAL$,TOTAL$,BELØB$) 4530 EXEC TUD(BELØB$,TAL4$,E,B) 4540 VARKONT=UDMOMSNR;ENTNR=1000000 4550 EXEC VJOURNAL 4560 PRINT TAB(66); 4570 EXEC TUD(FTOTAL$,TAL4$,E,B) 4580 PRINT " " 4590 EXEC TOMLINIE(5) 4600 IF GEN=B THEN 4610 OPEN K7$,W 4620 EXEC FEJL(4,E,K7$) 4630 FJPOST=FJPOST+E 4640 IF FAKKRE$="K" THEN 4650 FTOTAL$(12)="-";VARENR=KREDNR;AKRED=AKRED-E 4660 ELSE 4670 VARENR=FAKTNR;AFAKT=AFAKT-E 4680 ENDIF 4690 PUT K7$,FJPOST:KUNDENR,FTOTAL$,VARENR,FDATO,ORDRENR 4700 EXEC FEJL(4,G,K7$) 4710 BELØB$=ÅRKØB$ 4720 CLOSE K7$ 4730 EXEC FEJL(4,V,K7$) 4740 EXEC CALC(E,TOTAL$,FORS$,TOTAL$) 4750 IF FAKKRE$="K" THEN TOTAL$(12)="-" 4760 EXEC CALC(B,MDNKØB$,TOTAL$,MDNKØB$) 4770 EXEC CALC(B,BELØB$,TOTAL$,BELØB$) 4780 ÅRKØB$=BELØB$ 4790 IF DIVD=E THEN DEBNAVN$=D1$;DEBGADE$=D2$;DEBBY$=D3$;DPOSTNR=D4 4800 EXEC GEMDPOST 4810 ENDIF 4820 IF FAKKRE$="K" THEN 4830 KREDNR=KREDNR+E 4840 ELSE 4850 FAKTNR=FAKTNR+E 4860 ENDIF 4870 UNTIL I=>APOSTER 4880 OUTPUT T 4890 CLOSE K6$ 4900 REPEAT 4910 CLEAR 4920 CURSOR 20,10 4930 INPUT "Ønskes ny udskrift (J/N):",SVAR1$ 4940 UNTIL SVAR1$="J" OR SVAR1$="N" OR SVAR1$="j" OR SVAR1$="n" 4950 IF SVAR1$="J" OR SVAR1$="j" THEN 4960 OPEN K9$,R 4970 EXEC FEJL(6,E,K9$) 4980 GET K9$,G:FAKTNR,KREDNR 4990 EXEC FEJL(6,G,K9$) 5000 CLOSE K9$ 5010 EXEC FEJL(6,V,K9$) 5020 GEN=E 5030 ENDIF 5040 UNTIL SVAR1$="N" OR SVAR1$="n" 5050 APOSTER=STPOST-E 5060 ENDIF 5070 PROC DATOUD(DA) 5080 PRINT TAB(67); 5090 PRINT USING "###.##":(DA MOD 10000)/100; 5100 PRINT TAB(64); 5110 PRINT USING "###.#":(DA DIV 1000)/10 5120 ENDPROC 5130 PROC VPOST 5140 ANTAL$=" +" 5150 GET K6$,I:VARENR,ANTAL$(5:7),KOD$ 5160 EXEC FEJL(5,E,K6$) 5170 POSTER=POSTER+E;I=I+E 5180 ENDPROC 5190 PROC BPOST(SL) 5200 GET K6$,I:TEK$ 5210 EXEC FEJL(6,E,K6$) 5220 POSTER=POSTER+E;I=I+E 5230 IF SL=B THEN 5240 BELØB$=TEK$ 5250 ELSE 5260 VARPRIS$=TEK$ 5270 ENDIF 5280 KOD$=TEK$(13) 5290 ENDPROC 5300 PROC TPOST 5305 KOD3$=KOD$ 5310 VARTEKST$=BLANK$ 5320 GET K6$,I:VARTEKST$(E:13) 5340 EXEC FEJL(7,E,K6$) 5350 I=I+E 5360 GET K6$,I:TEK$ 5380 EXEC FEJL(7,G,K6$) 5390 LE=LEN(TEK$) 5400 IF LE>E THEN 5410 VARTEKST$(14:LE-E)=TEK$ 5420 ENDIF 5430 KOD$=TEK$(LE);I=I+E;POSTER=POSTER+G 5440 IF KOD3$="D" AND LE=13 THEN 5450 GET K6$,I:VARTEKST$(26:13) 5460 EXEC FEJL(99,V,K6$) 5470 I=I+G;POSTER=POSTER+G 5480 GET K6$,I-E:VARTEKST$(39:12) 5490 EXEC FEJL(99,4,K6$) 5500 ENDIF 5510 ENDPROC 5520 PROC VUD 5530 PRINT TAB(7); 5540 PRINT USING "#######":VARENR; 5550 PRINT TAB(16);ANTAL$(5:4+V*(ANTAL$(10:G)<>"00"));TAB(24); 5560 PRINT VARTEKST$(E:25);TAB(51); 5570 EXEC TUD(VARPRIS$,TAL4$,E,B) 5580 PRINT TAB(66); 5590 EXEC CALC(G,VARPRIS$,ANTAL$,BELØB$) 5600 EXEC TUD(BELØB$,TAL4$,E,B) 5610 GBELØB$=BELØB$;ENTNR=(ORDRENR DIV 100)*100+DUNDKONT 5620 EXEC CALC(B,TOTAL$,BELØB$,TOTAL$) 5630 IF GEN=B THEN EXEC VJOURNAL 5640 ENDPROC 5650 PROC VJOURNAL 5660 IF GEN=B THEN 5670 EJFUNDET=B 5680 FOR M=E TO AVKONTI 5690 IF VJOURARR(M)=VARKONT AND VUJOURARR(M)=ENTNR THEN 5700 IF FAKKRE$="F" THEN 5710 EXEC CALC(E,VBJOUARR$(M),BELØB$,VBJOUARR$(M)) 5720 ELSE 5730 EXEC CALC(B,VBJOUARR$(M),BELØB$,VBJOUARR$(M)) 5740 ENDIF 5750 M=AVKONTI;EJFUNDET=E 5760 ENDIF 5770 NEXT M 5780 IF EJFUNDET=B THEN 5790 IF AVKONTI<MVGR*5 THEN 5800 AVKONTI=AVKONTI+E;VJOURARR(AVKONTI)=VARKONT;VBJOUARR$(AVKONTI)=BELØB$ 5810 VUJOURARR(AVKONTI)=ENTNR 5820 IF FAKKRE$="F" THEN 5830 IF BELØB$(12)="+" THEN 5840 VBJOUARR$(AVKONTI,12)="-" 5850 ELSE 5860 VBJOUARR$(AVKONTI,12)="+" 5870 ENDIF 5880 ENDIF 5890 ELSE 5900 STOP 5910 ENDIF 5920 ENDIF 5930 ENDIF 5940 ENDPROC 5950 PROC TOMLINIE(ANTLIN) 5960 FOR ANLI=E TO ANTLIN 5970 PRINT " " 5980 NEXT ANLI 5990 ENDPROC 6000 OPEN K8$,W 6010 EXEC FEJL(8,E,K8$) 6020 FOR I=E TO AVKONTI 6030 PUT K8$,I:VJOURARR(I),VBJOUARR$(I),VUJOURARR(I) 6040 EXEC FEJL(8,G,K8$) 6050 NEXT I 6060 CLOSE K8$ 6070 EXEC FEJL(8,V,K8$) 6080 OUTPUT T 6090 TE$=" Programvalg " 6100 EXEC BIL 6110 EXEC SYSGEM 6120 CHAIN "P641210:OPSTART" 6130 END 6140 PROC BIL 6150 CLEAR 6160 CURSOR 20,W 6170 PRINT "*****************************************" 6180 CURSOR 20,10 6190 PRINT "*";TAB(41);"*" 6200 PRINT TAB(20);"*";TAB(30);TE$;TAB(60);"*" 6210 PRINT TAB(20);"*";TAB(60);"*" 6220 PRINT TAB(20);"*****************************************" 6230 ENDPROC