|
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) Notes: Mikados TextFile, Mikados_K Names: »BALANCE«
└─⟦ec8c1e0b0⟧ Bits:30007442 8" floppy ( MIKPROG vol. 1-3, MIKREL vol. 1-3, PCSE 4.7.80 vol 1-3, GL.SYS ) └─ ⟦this⟧ »BALANCE«
0100 DIM RES$(14),OP1$(12),OP2$(12),N$(6),K1$(17),A$(1),TAL4$(12),BLANK$(25) 0110 DIM UBELØB1$(14),UBELØB2$(14),STREG$(71),FÅDK$(12),FMDK$(12),GLNAVN$(25) 0120 DIM DAT$(8),FÅKREDIT$(12),FÅDEBET$(12),FMKREDIT$(12),FMDEBET$(12) 0130 DIM FMKODE$(1),FNAVN$(25),FUKODE$(1),SALDO13$(12),SALDO3$(12) 0140 DIM SALDO2$(12),SALDO11$(12),SALDO1$(12),SALDO12$(12) 0150 DIM K2$(17),K3$(17),K4$(17),K5$(17),T1(9),LAND$(9,12) 0160 PROC CALC(ART,B1,B2,ES) 0170 OP1$=B1$;OP2$=B2$;RES$=ES$;SI=0;FLAG=0 0180 CALL "P641210:REGN" 0190 ES$=RES$ 0200 IF FLAG<>0 THEN STOP 0210 ENDPROC 0220 PROC DATOUD(DA1,DA2) 0230 DA3=DA1 0240 DA2$=" " 0250 FOR J=8 TO 1 STEP -1 0260 IF J MOD 3=0 THEN 0270 DA2$(J)="." 0280 ELSE 0290 DA2$(J)=CHR(DA3 MOD 10+48) 0300 DA3=DA3 DIV 10 0310 ENDIF 0320 NEXT J 0330 ENDPROC 0340 PROC INDTAB(T,MANTAL,L10) 0350 J=MANTAL DIV 32+1 0360 FOR I=J TO MANTAL DIV 4+J-1 0370 H=(I-J)*4+1;H1=H+1;H2=H+2;H3=H+3 0380 GET L10$,I:T(H,1),T(H,2),T(H1,1),T(H1,2),T(H2,1),T(H2,2),T(H3,1),T(H3,2) 0390 EXEC FEJL(1,1,L10$) 0400 NEXT I 0410 ENDPROC 0420 PROC HENTPOST 0430 S1=FTAB(FPIL3,2) 0440 GET K3$,S1:FNR,FNAVN$ 0450 EXEC FEJL(2,2,K3$) 0460 GET K3$,S1+1:FMKODE$,FMDEBET$,FMKREDIT$ 0470 EXEC FEJL(2,3,K3$) 0480 GET K3$,S1+2:FUKODE$,FÅDEBET$,FÅKREDIT$ 0490 EXEC FEJL(2,4,K3$) 0500 ENDPROC 0510 PROC FEJL(NR1,NR2,NR3) 0520 IF STATUS(NR3$)<>0 THEN 0530 PRINT STATUS(NR3$),NR1,NR2,NR3$ 0540 STOP 0550 ENDIF 0560 ENDPROC 0570 PROC TUD(BLB1,UBLB1,TEGN,STØR) 0580 EXEC CALC(5,BLB1$,TAL4$,UBLB1$) 0590 IF TEGN=0 THEN 0600 UBLB1$=UBLB1$(1:13) 0610 ELSE 0620 IF TEGN=1 AND UBLB1$(LEN(UBLB1$))="+" THEN 0630 UBLB1$(LEN(UBLB1$))=" " 0640 ENDIF 0650 ENDIF 0660 IF STØR=1 THEN 0670 UBLB1$=UBLB1$(4:LEN(UBLB1$)-3) 0680 ENDIF 0690 ENDPROC 0700 PROC HOVEDUD(UDATO,USIDE) 0710 EXEC DATOUD(UDATO,DAT$) 0720 PRINT TAB(10);CHR(14);"Balance";CHR(15);TAB(44);"Dato : ";DAT$; 0730 PRINT USING " Side :###":USIDE 0740 PRINT " " 0750 PRINT TAB(40);"Månedens";TAB(66);"Årets" 0760 PRINT TAB(3);"Nr Kontonavn";TAB(35);"Debet Kredit Debet"; 0770 PRINT " Kredit" 0780 PRINT TAB(8);STREG$ 0790 ENDPROC 0800 PROC LINIEUD(NR4,NAVN1,SAL1,SAL2) 0810 PRINT USING "###### ":NR4; 0820 EXEC TUD(SAL1$,UBELØB1$,0,0) 0830 EXEC TUD(SAL2$,UBELØB2$,0,0) 0840 PRINT NAVN1$;TAB(31+12*(SAL1$(LEN(SAL1$))="-"));UBELØB1$(2:12); 0850 PRINT TAB(56+12*(SAL2$(LEN(SAL2$))="-"));UBELØB2$(2:12) 0860 ENDPROC 0870 PROC NYSIDE 0880 FOR LINIE=LINIE TO 42 0890 PRINT CHR(10); 0900 NEXT LINIE 0910 PRINT " " 0920 BSIDE=BSIDE+1 0930 EXEC HOVEDUD(T1(7),BSIDE) 0940 PRINT " " 0950 PRINT USING "###### ":GFNR; 0960 EXEC CALC(4,SALDO12$,TAL4$,TAL4$) 0970 IF SI<>0 THEN 0980 PRINT GLNAVN$(1:23);" Fortsat" 0990 ELSE 1000 PRINT GLNAVN$(1:23) 1010 ENDIF 1020 PRINT TAB(8);STREG$(1:23+7*(SI<>0)) 1030 PRINT " " 1040 LINIE=5 1050 ENDPROC 1060 K1$="P641220:SYSTEM1" 1070 OPEN K1$,R 1080 EXEC FEJL(9,1,K1$) 1090 GET K1$,1:MFANTAL 1100 EXEC FEJL(9,2,K1$) 1110 GET K1$,4:MKPOST,MFAK,MVGR,MKGR 1120 EXEC FEJL(9,3,K1$) 1130 GET K1$,5:MKRGR 1140 EXEC FEJL(9,4,K1$) 1150 GET K1$,8:DIVNR,DIVDNR,DIFNR,DTAL 1160 EXEC FEJL(9,5,K1$) 1170 GET K1$,9:KRTAL 1180 EXEC FEJL(9,6,K1$) 1190 GET K1$,10:N$ 1200 EXEC FEJL(9,7,K1$) 1210 GET K1$,11:K2$ 1220 EXEC FEJL(9,8,K1$) 1230 GET K1$,15:K3$ 1240 EXEC FEJL(9,9,K1$) 1250 GET K1$,36:K4$ 1260 EXEC FEJL(9,10,K1$) 1270 CLOSE K1$ 1280 EXEC FEJL(9,11,K1$) 1290 K2$=N$+K2$;K3$=N$+K3$ 1300 K4$=N$+K4$ 1310 DIM FTAB(MFANTAL,2) 1320 OPEN K4$,R 1330 EXEC FEJL(9,12,K4$) 1340 GET K4$,2:T1(1),T1(2),T1(3),T1(4),T1(5),T1(6),T1(7),T1(8),T1(9) 1350 EXEC FEJL(9,13,K4$) 1360 GET K4$,14:AFIN 1370 EXEC FEJL(9,14,K4$) 1380 CLOSE K4$ 1390 EXEC FEJL(9,15,K4$) 1400 OPEN K2$,R 1410 EXEC FEJL(9,16,K2$) 1420 OPEN K3$,R 1430 EXEC FEJL(9,17,K3$) 1440 EXEC INDTAB(FTAB,MFANTAL,K2$) 1450 BLANK$=" " 1460 STREG$="------------------------------------";STREG$=STREG$+STREG$ 1470 REPEAT 1480 OUTPUT T 1490 CLEAR 1500 CURSOR 30,2 1510 PRINT "Balanceprogram" 1520 CURSOR 15,5 1530 PRINT "0: Færdig" 1540 CURSOR 15,7 1550 PRINT "1: Totalbalance" 1560 CURSOR 15,9 1570 PRINT "2: Gruppebalance" 1580 REPEAT 1590 CURSOR 18,12 1600 PRINT "Vælg type " 1610 CURSOR 28,12 1620 INPUT A$ 1630 TOTAL=ORD(A$)-48 1640 UNTIL TOTAL>-1 AND TOTAL<3 1650 IF TOTAL=0 THEN EXIT 1660 CLEAR 1670 REPEAT 1680 CURSOR 15,13 1690 INPUT "Monter papir til udskrift af balance og tast RETURN",A$ 1700 UNTIL ORD(A$)=255 1710 BSIDE=1;GLNAVN$=BLANK$;LINIE=1;SALDO1$="0+";SALDO2$="0+";SALDO3$="0+" 1720 SALDO3$="0+";SALDO11$="0+";SALDO12$="0+";SALDO13$="0+";TAL4$="0+";GFNR=0 1730 OUTPUT P 1740 EXEC HOVEDUD(T1(7),BSIDE) 1750 FOR FPIL3=1 TO AFIN 1760 IF FTAB(FPIL3,1)=100000 THEN EXIT 1770 EXEC HENTPOST 1780 FGRUP=INT(ORD(FUKODE$)-48) 1790 EXEC CALC(0,FMDEBET$,FMKREDIT$,FMDK$) 1800 EXEC CALC(0,FÅDEBET$,FÅKREDIT$,FÅDK$) 1810 CASE FGRUP OF 1820 STOP 1830 WHEN 0 1840 IF TOTAL=1 THEN 1850 IF LINIE>39 THEN EXEC NYSIDE 1860 EXEC LINIEUD(FNR,FNAVN$(1:23),FMDK$,FÅDK$) 1870 LINIE=LINIE+1 1880 ENDIF 1890 EXEC CALC(0,SALDO1$,FMDK$,SALDO1$) 1900 EXEC CALC(0,SALDO11$,FÅDK$,SALDO11$) 1910 EXEC CALC(0,SALDO2$,FMDK$,SALDO2$) 1920 EXEC CALC(0,SALDO12$,FÅDK$,SALDO12$) 1930 EXEC CALC(0,SALDO3$,FMDK$,SALDO3$) 1940 EXEC CALC(0,SALDO13$,FÅDK$,SALDO13$) 1950 WHEN 1 1960 IF LINIE>39 THEN EXEC NYSIDE 1965 FNR2=FNR DIV 1000 1970 FNR1=FNR DIV 10000;DTAL1=DTAL*10000+MKGR;KRTAL1=KRTAL*1000+MKRGR 1980 IF FNR1=DTAL AND DTAL1=>FNR OR FNR2=KRTAL AND KRTAL1=>FNR THEN 1990 EXEC CALC(0,SALDO2$,FMDK$,SALDO2$) 2000 EXEC CALC(0,SALDO12$,FÅDK$,SALDO12$) 2010 EXEC CALC(0,SALDO3$,FMDK$,SALDO3$) 2020 EXEC CALC(0,SALDO13$,FÅDK$,SALDO13$) 2030 EXEC LINIEUD(FNR,FNAVN$(1:23),FMDK$,FÅDK$) 2040 ELSE 2050 EXEC LINIEUD(FNR,FNAVN$(1:23),SALDO1$,SALDO11$) 2060 SALDO1$="0+";SALDO11$="0+" 2070 ENDIF 2080 PRINT " " 2090 LINIE=LINIE+2 2100 WHEN 2 2110 IF GFNR>0 THEN 2120 IF LINIE>37 THEN EXEC NYSIDE 2130 PRINT " " 2140 PRINT TAB(8);STREG$(1:71) 2150 EXEC LINIEUD(GFNR,GLNAVN$(1:23),SALDO2$,SALDO12$) 2160 SALDO2$="0+";SALDO12$="0+";LINIE=LINIE+3 2170 SALDO1$="0+";SALDO11$="0+" 2180 ENDIF 2190 GLNAVN$=FNAVN$;GFNR=FNR 2200 IF LINIE>34 THEN 2210 EXEC NYSIDE 2220 ELSE 2230 PRINT CHR(10) 2240 PRINT USING "###### ":FNR; 2250 PRINT GLNAVN$(1:23) 2260 PRINT TAB(8);STREG$(1:LEN(GLNAVN$)) 2270 PRINT " " 2280 LINIE=LINIE+5 2290 ENDIF 2300 WHEN 3 2310 IF LINIE>37 AND GFNR>0 THEN EXEC NYSIDE 2320 IF GFNR>0 THEN 2330 PRINT " " 2340 PRINT TAB(8);STREG$(1:71) 2350 EXEC LINIEUD(GFNR,GLNAVN$(1:23),SALDO2$,SALDO12$) 2360 SALDO2$="0+";SALDO12$="0+";LINIE=LINIE+3;GFNR=0 2370 ENDIF 2380 IF LINIE>36 THEN EXEC NYSIDE 2390 PRINT " " 2400 PRINT TAB(8);STREG$(1:71) 2410 EXEC LINIEUD(FNR,FNAVN$(1:23),SALDO3$,SALDO13$) 2420 SALDO1$="0+";SALDO11$="0+" 2430 PRINT TAB(8);STREG$(1:71) 2440 PRINT " " 2450 LINIE=LINIE+5 2460 ENDCASE 2470 NEXT FPIL3 2480 IF GFNR>0 THEN 2490 IF LINIE>37 THEN EXEC NYSIDE 2500 PRINT " " 2510 PRINT TAB(8);STREG$(1:71) 2520 EXEC LINIEUD(GFNR,GLNAVN$(1:23),SALDO2$,SALDO12$) 2530 SALDO2$="0+";SALDO12$="0+";LINIE=LINIE+3;GFNR=0 2540 SALDO1$="0+";SALDO11$="0+" 2550 ENDIF 2560 IF LINIE>36 THEN EXEC NYSIDE 2570 GLNAVN$="Difference";GFNR=100000 2580 PRINT " " 2590 PRINT TAB(8);STREG$(1:71) 2600 EXEC LINIEUD(GFNR,GLNAVN$,SALDO3$,SALDO13$) 2610 PRINT TAB(8);STREG$(1:71) 2620 FOR LINIE=LINIE TO 38 2630 PRINT CHR(10); 2640 NEXT LINIE 2650 PRINT " " 2660 UNTIL TOTAL=0 2670 OUTPUT T 2680 CHAIN "P641210:OPSTART"