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

⟦e1a7fe260⟧ SPC/1-COMAL-BIN

    Length: 17254 (0x4366)
    Types: SPC/1-COMAL-BIN
    Notes: Mikados_B
    Names: »PSTERING.B«

Derivation

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

SPC/1 COMAL-BIN

0100 DIM A1$(29),A2$(25),N$(6),A3$(25),A4$(E),A5(W),A6(W)
0110 DIM A7(W),A8$(17),A9$(17),B0$(17),B1$(17),B2$(17),B3$(10),B4$(17)
0120 DIM B5$(17),B6$(12),B7$(8),B8$(E),B9$(12),C0$(E),C1$(25)
0130 DIM C2$(17),C3$(W,10),C4$(14),C5$(12),C6(36),C7(36),C8(36)
0140 DIM C9$(36,25),A$(G),D0$(12),OP1$(12),OP2$(12),D1$(76),D2$(17)
0150 DIM RES$(15),D3$(8),D4$(V),D5$(26),D6$(26),D7$(6),D8$(12)
0160 DIM D9$(17),E0$(12),E1$(12),E2$(76),E3(36),E4$(36,12),E5$(17)
0170 DIM E6$(17),E7$(17),E8(36)
0180 PROC CA(E9,F0,F1,F2)
0190 OP1$=F0$;OP2$=F1$;RES$=F2$;SI=B;FLAG=B;ART=E9-6*(E9>5)
0200 CALL "P641210:REGN"
0210 F2$=RES$
0220 IF E9<>6 THEN IF FLAG<>B THEN STOP
0230 ENDPROC
0240 PROC KTNV(F3,F4)
0250 F5=E
0260 CASE F3 OF
0270 EXEC FINDPOST1(F6,F7,F8,F4,F9,D9$)
0280 IF F5=B THEN
0290 EXEC HENTPOST
0300 A2$=A3$
0310 IF INT(ORD(A4$)-48)<>B THEN F5=E
0320 ENDIF
0330 WHEN G0
0340 IF G0*10000+G1<F4 THEN
0350 EXEC FINDPOST1(G2,F7,G3,F4,F9,E5$)
0360 IF F5=B THEN EXEC HENTDPOST(F9,F4,F7,A8$,A2$)
0370 ENDIF
0380 WHEN G4
0390 IF G4*1000+G5<F4 THEN
0400 EXEC FINDPOST1(G6,F7,G7,F4,F9,C2$)
0410 IF F5=B THEN EXEC HENTDPOST(F9,F4,F7,A9$,A2$)
0420 ENDIF
0430 ENDCASE
0440 IF F5=E THEN A2$="Konto eksisterer ikke    "
0450 ENDPROC
0460 PROC HENTDPOST(G8,G9,H0,H1,H2)
0470 S=H0(G8,G)
0480 GET H1$,S:G9,H2$
0490 EXEC FE(8,G,H1$)
0500 IF G9<>H0(G8,E) THEN STOP
0510 ENDPROC
0520 PROC HENTPOST
0530 S=F7(F9,G)
0540 GET D2$,S:H3,A3$
0550 EXEC FE(V,G,D2$)
0560 IF H3<>F7(F9,E) THEN STOP
0570 GET D2$,S+G:A4$
0580 EXEC FE(V,4,D2$)
0590 ENDPROC
0600 PROC FINDPOST1(H4,Q,H5,H6,H7,H8)
0610 H9=H5 DIV 16;H7=H9;F5=E;I0=H5 DIV 8;I1=H5 DIV 32
0620 REPEAT
0630 IF H6=H4(H7) OR H9=E THEN EXIT
0640 H9=(H9+E) DIV G;H7=H7+H9*(E-G*(H6<H4(H7)))
0650 IF H7<E THEN H7=E
0660 IF H7>I0 THEN H7=I0
0670 UNTIL H9=B
0680 IF H4(H7)>H6 THEN H7=H7-E*(H7>E)
0690 H7=I1+H7*G-E
0700 GET H8$,H7:Q(E,E),Q(E,G),Q(G,E),Q(G,G),Q(V,E),Q(V,G),Q(4,E),Q(4,G)
0710 EXEC FE(E,E,H8$)
0711 GET H8$,H7+E:Q(5,E),Q(5,G),Q(6,E),Q(6,G),Q(7,E),Q(7,G),Q(8,E),Q(8,G)
0712 EXEC FE(99,E,H8$)
0720 FOR H7=E TO 8
0730 IF H6=Q(H7,E) THEN EXIT
0740 NEXT H7
0750 IF H7<W THEN F5=B
0760 ENDPROC
0770 PROC INDTAB1(Z,I2,I3)
0780 H9=I2 DIV 32
0790 FOR I=E TO H9
0800 H=(I-E)*4+E
0810 GET I3$,I:Z(H),Z(H+E),Z(H+E),Z(H+G),Z(H+G),Z(H+V),Z(H+V)
0820 EXEC FE(G,E,I3$)
0830 NEXT I
0840 ENDPROC
0850 PROC DATOUD(I4,I5)
0860 I6=I4;I5$="        "
0870 FOR J=8 TO E STEP -E
0880 IF J MOD V=B THEN
0890 I5$(J)="."
0900 ELSE
0910 I5$(J)=CHR(I6 MOD 10+48);I6=I6 DIV 10
0920 ENDIF
0930 NEXT J
0940 ENDPROC
0950 PROC PGETUD(I7)
0960 IF I8<G THEN EXIT
0970 I=E;B6$="0+"
0980 CLEAR
0990 REPEAT
1000 CURSOR 8,13
1010 INPUT "Monter papir til udskrift af posteringsark og tast RETURN",A$
1020 UNTIL ORD(A$)=255
1025 OUTPUT P
1030 REPEAT
1040 EXEC DATOUD(I9,B7$)
1060 PRINT TAB(67);B3$;" "
1070 PRINT TAB(W);CHR(14);"Posteringsark";CHR(15);TAB(44);"Dato:";B7$;
1080 PRINT TAB(61);
1090 PRINT USING "Side:####":I7
1100 I7=I7+E
1110 PRINT " "
1111 PRINT TAB(43);"Debet";TAB(70);"Kredit"
1120 PRINT TAB(V);"Bilag Tekst";TAB(39);"Konto  Entre     Beløb      Konto ";
1121 PRINT " Entre"
1130 PRINT TAB(V);D1$
1140 J0=E
1150 REPEAT
1160 GET B0$,I:J1,J2,J3,B8$,E0$,C0$,J4
1170 EXEC FE(V,G,B0$)
1180 J5=ORD(B8$)-48;J6=ORD(C0$)-48;I=I+E
1190 IF J5>W THEN
1200 GET B0$,I:J1,C1$
1210 EXEC FE(V,V,B0$)
1220 I=I+E
1230 ELSE
1240 C1$=E2$(E:25)
1250 IF J5>B THEN C1$(E:10)=C3$(J5)
1260 ENDIF
1270 IF J6=B THEN
1280 EXEC CA(E,B6$,E0$,B6$)
1290 GET B0$,I:J7,J2,J3,B8$,E1$,C0$,J8
1300 EXEC FE(V,4,B0$)
1310 I=I+E
1320 IF J5>W THEN I=I+E
1330 ELSE
1340 IF E0$(LEN(E0$))="-" THEN
1350 J7=J1;J1=100000;J8=J4;J4=1000000
1360 ELSE
1370 J7=100000;J8=1000000
1380 ENDIF
1390 ENDIF
1400 EXEC CA(B,B6$,E0$,B6$)
1410 PRINT USING "####### ":J3;
1420 PRINT C1$;TAB(38);
1430 PRINT USING "###### ###### ":J1,J4;
1440 EXEC TUD(E0$,C4$,B,B)
1450 PRINT C4$;
1460 PRINT USING " ###### ######":J7,J8
1470 J0=J0+E
1480 UNTIL J0=37 OR I=I8
1490 IF J0=37 AND I<>I8 THEN
1500 PRINT CHR(10);CHR(10);CHR(10);CHR(10);CHR(10)
1510 ELSE
1520 FOR J0=J0 TO 38
1530 PRINT " "
1540 NEXT J0
1550 PRINT TAB(V);D1$
1560 EXEC TUD(B6$,C4$,E,B)
1570 PRINT TAB(27);CHR(14);"Difference";CHR(15);TAB(44);C4$
1580 PRINT TAB(V);D1$
1590 PRINT " "
1610 OUTPUT T
1620 ENDIF
1630 UNTIL I=I8
1640 ENDPROC
1650 PROC PPUT
1660 C0$=CHR(J6+48)
1670 IF J6=B THEN
1680 J9=I8;B8$=CHR(J5+48)
1690 PUT B0$,I8:J1,K0,J3,B8$,E0$,C0$,J4
1700 EXEC FE(G,G,B0$)
1710 I8=I8+E
1720 IF J5>W THEN
1730 PUT B0$,I8:J1,C1$
1740 EXEC FE(G,V,B0$)
1750 I8=I8+E
1760 ENDIF
1770 PUT B0$,I8:J7,K0,J3,B8$,E1$,C0$,J8
1780 EXEC FE(G,4,B0$)
1790 I8=I8+E
1800 IF J5>W THEN
1810 PUT B0$,I8:J7,C1$
1820 EXEC FE(G,5,B0$)
1830 I8=I8+E
1840 ENDIF
1850 ELSE
1860 FOR I=E TO K1
1870 IF C6(I)<>B THEN
1880 B8$=CHR(C8(I)+48)
1890 PUT B0$,I8:C6(I),C7(I),E3(I),B8$,E4$(I),C0$,E8(I)
1900 EXEC FE(G,6,B0$)
1910 I8=I8+E
1920 IF C8(I)>W THEN
1930 PUT B0$,I8:C6(I),C9$(I)
1940 EXEC FE(G,7,B0$)
1950 I8=I8+E
1960 ENDIF
1970 ENDIF
1980 NEXT I
1990 J9=I8;K1=B;K2=B;K3=I8-E
2000 EXEC SYSGEM
2010 ENDIF
2020 ENDPROC
2030 PROC SYSGEM
2040 A5(5)=K4;A5(8)=K5;A6(E)=K3;A7(E)=K6
2050 OPEN B2$,W
2060 EXEC FE(7,E,B2$)
2070 PUT B2$,G:A5(E),A5(G),A5(V),A5(4),A5(5),A5(6),A5(7),A5(8),A5(W)
2080 EXEC FE(7,G,B2$)
2090 PUT B2$,12:A6(E),A6(G),A6(V),A6(4),A6(5),A6(6),A6(7),A6(8),A6(W)
2100 EXEC FE(7,V,B2$)
2110 PUT B2$,13:A7(E),A7(G),A7(V),A7(4),A7(5),A7(6),A7(7),A7(8),A7(W)
2120 EXEC FE(7,4,B2$)
2130 CLOSE B2$
2140 EXEC FE(7,5,B2$)
2150 ENDPROC
2160 PROC KNOK
2170 EXEC KTNV(K7,P)
2180 CURSOR 25,23
2190 PRINT A2$;E2$(E:30-LEN(A2$))
2200 REPEAT
2210 CURSOR 55,23
2220 PRINT "Rigtig konto (J/N)  "
2230 CURSOR 75,23
2240 INPUT A$
2250 EXEC NRTEST(A$)
2260 UNTIL P=-7 OR P=-8
2270 ENDPROC
2280 PROC ENTKOOK(K8)
2290 A1$="Konto eksisterer ikke";A3$=E2$
2300 EXEC FINDPOST1(K9,F7,L0,(K8 DIV 100),F9,E6$)
2310 IF F5=B THEN
2320 FOR L1=E TO L2+L3
2330 F5=B
2340 IF (K8 MOD 100)=L4(L1) AND L5$(L1)="0" THEN EXIT
2350 F5=E
2360 NEXT L1
2370 IF F5=B THEN
2380 GET B4$,F7(F9,G)+E:A1$
2390 EXEC FE(99,10,B4$)
2400 GET E7$,L1:H3,A4$,A3$
2410 EXEC FE(99,11,E7$)
2420 ENDIF
2430 ENDIF
2440 CURSOR E,23
2450 PRINT USING " ###### ":K8;
2460 PRINT A1$;" ";A3$;TAB(65);"Rigtig   (J/N)"
2470 REPEAT
2480 CURSOR 71,23
2490 INPUT A$
2500 EXEC NRTEST(A$)
2510 UNTIL P=-7 OR P=-8
2520 ENDPROC
2530 PROC KNUD(L6)
2540 IF F5=E THEN
2550 CURSOR G,L7+V
2560 PRINT E2$
2570 IF J6=B THEN K5=K5-E
2580 L8=E
2590 ELSE
2600 CURSOR 38+7*(L8=4)+28*(L8=6)+35*(L8=7),L7+V
2610 PRINT USING "######":L6
2620 L7=L7+E*(L8=7);L8=4-V*(L8=7)+E*(L8=4)+V*(L8=6)
2630 ENDIF
2640 ENDPROC
2650 PROC TUD(L9,M0,M1,M2)
2660 EXEC CA(5,L9$,D0$,M0$)
2670 IF M1=B THEN M0$=M0$(E:13)
2680 IF M1=E AND M0$(LEN(M0$))="+" THEN M0$(LEN(M0$))=" "
2690 IF M2=E THEN M0$=M0$(V:LEN(M0$)-V)
2700 ENDPROC
2710 PROC FE(M3,M4,M5)
2720 IF STATUS(M5$)<>B THEN
2730 PRINT STATUS(M5$),M3,M4,M5$
2740 STOP
2750 ENDIF
2760 ENDPROC
2770 PROC PSLET(M6)
2780 IF J6=B THEN
2790 IF J9=I8 THEN
2800 REPEAT
2810 CURSOR V,23
2820 PRINT "Posteringen kan ikke annuleres, tast RETURN"+E2$(E:34)
2830 CURSOR 48,23
2840 INPUT A$
2850 EXEC NRTEST(A$)
2860 UNTIL P=-E
2870 ELSE
2880 L7=L7-E;K5=K5-E
2890 CURSOR V,L7+V
2900 PRINT E2$
2910 FOR I=J9 TO I8-E
2920 PUT B0$,I:B
2930 EXEC FE(E,G,B0$)
2940 NEXT I
2950 I8=J9
2960 ENDIF
2970 ELSE
2980 IF K1>B THEN
2990 IF M6=E THEN
3000 CURSOR V,(P-E) MOD 18+4
3010 ELSE
3020 P=K1;L7=L7-E
3030 CURSOR V,L7+V
3040 ENDIF
3050 IF C8(P)>W THEN K2=K2-E
3060 PRINT E2$
3070 EXEC CA(E,B6$,E4$(P),B6$)
3080 C6(P),E8(P),C7(P),E3(P),C8(P)=B;C9$(P)=E2$(E:25);E4$(P)="0+"
3090 IF M6=B THEN K1=K1-E;K2=K2-E
3100 ENDIF
3110 ENDIF
3120 ENDPROC
3130 PROC NRTEST(M7)
3140 P,M8,K7=B;M9=LEN(M7$)
3150 CASE M9 OF
3160 FOR I=E TO M9
3170 N0=INT(ORD(M7$(I))-48)
3180 IF N0=>B AND N0<=W THEN
3190 P=P*10+N0
3200 ELSE
3210 M8=E
3220 ENDIF
3230 NEXT I
3240 K7=P DIV 10000;N1=P DIV 1000
3250 IF G4=N1 THEN K7=N1
3260 WHEN B
3270 P=-E
3280 WHEN E
3290 CASE M7$ OF
3300 P=INT(ORD(M7$)-48)
3310 WHEN "d","D"
3320 P=-G
3330 WHEN "A","a"
3340 P=-V
3350 WHEN "M","m"
3360 P=-4
3370 WHEN "J","j"
3380 P=-7
3390 WHEN "N","n"
3400 P=-8
3410 ENDCASE
3420 ENDCASE
3430 ENDPROC
3440 PROC FORTEGN
3450 M9=LEN(D8$)
3460 IF M9=B THEN D8$="0+";M9=G
3470 IF D8$(M9)<>"+" AND D8$(M9)<>"-" THEN
3480 D8$=D8$+"+"
3490 ELSE
3500 D8$(M9)="+"
3510 ENDIF
3520 ENDPROC
3530 PROC UDHOVED
3540 CURSOR G,E
3550 EXEC DATOUD(K0,B7$)
3560 PRINT TAB(20);"Posteringsark";E2$(E:25);"Dato:";B7$
3570 CURSOR G,V
3580 PRINT "Nr   Bilag Tekst";E2$(E:21);"Debet  Entre      Beløb    K";
3590 PRINT "redit  Entre"
3600 ENDPROC
3610 PROC UDLINIE
3620 CURSOR E,4
3630 PRINT USING "### ####### ":L7,J3;
3640 IF J5<>B THEN PRINT D6$
3650 CURSOR 38,4
3660 PRINT USING "###### ###### ":J1,J4;
3670 EXEC TUD(E0$,C4$,B,B)
3680 PRINT C4$;
3690 PRINT USING "  ###### ######":J7,J8
3700 ENDPROC
3710 PROC NYDATO
3720 REPEAT
3730 CURSOR V,23
3740 PRINT "Ny dato           (ÅÅMMDD)"+E2$(E:51)
3750 CURSOR 11,23
3760 INPUT B7$
3770 EXEC NRTEST(B7$)
3780 UNTIL K7>79 AND (P DIV 100) MOD 100<13 AND P MOD 100<32
3790 K0=P
3800 ENDPROC
3810 B5$="P641220:SYSTEM1"
3820 REPEAT
3830 P=-E
3840 OPEN B5$,R
3850 IF STATUS(B5$)<>B THEN
3860 CLEAR
3870 CURSOR 25,13
3880 INPUT "Isæt plade nr. 20 ,tast RETURN",A$
3890 EXEC NRTEST(A$)
3900 P=B
3910 ENDIF
3920 UNTIL P=-E
3930 GET B5$,E:F8,G3,G7
3940 EXEC FE(W,E,B5$)
3950 GET B5$,G:N2,N3,N4
3960 EXEC FE(W,G,B5$)
3970 GET B5$,4:N5,N6,N7,G1
3980 EXEC FE(W,V,B5$)
3990 GET B5$,5:G5
4000 EXEC FE(W,4,B5$)
4010 GET B5$,8:N8,N9,O0,G0
4020 EXEC FE(W,5,B5$)
4030 GET B5$,W:G4,O1,L0,L3
4040 EXEC FE(W,6,B5$)
4050 GET B5$,10:N$
4060 EXEC FE(W,7,B5$)
4070 GET B5$,11:D9$
4080 EXEC FE(W,8,B5$)
4090 GET B5$,12:E5$
4100 EXEC FE(W,W,B5$)
4110 GET B5$,13:C2$
4120 EXEC FE(W,10,B5$)
4130 GET B5$,15:D2$
4140 EXEC FE(W,11,B5$)
4150 GET B5$,16:A8$
4160 EXEC FE(W,12,B5$)
4170 GET B5$,17:A9$
4180 EXEC FE(W,13,B5$)
4190 GET B5$,20:B0$
4200 EXEC FE(W,14,B5$)
4210 GET B5$,21:B1$
4220 EXEC FE(W,15,B5$)
4230 GET B5$,36:B2$
4240 EXEC FE(W,16,B5$)
4250 GET B5$,37:B4$
4260 EXEC FE(99,E,B5$)
4270 GET B5$,38:E6$
4280 EXEC FE(99,G,B5$)
4290 GET B5$,39:E7$
4300 EXEC FE(99,V,B5$)
4310 GET B5$,43:L2
4320 EXEC FE(99,4,B5$)
4330 CLOSE B5$
4340 EXEC FE(W,17,B5$)
4350 DIM F6(F8 DIV 8),G2(G3 DIV 8),G6(G7 DIV 8)
4360 DIM F7(8,G),K9(L0 DIV 8)
4370 DIM L4(L3+L2),L5$(L3+L2)
4380 D9$=N$+D9$;E5$=N$+E5$;C2$=N$+C2$;D2$=N$+D2$;A8$=N$+A8$;A9$=N$+A9$
4390 B0$=N$+B0$;B1$=N$+B1$;B2$=N$+B2$;B4$=N$+B4$;E6$=N$+E6$
4400 E7$=N$+E7$
4410 OPEN B2$,R
4420 EXEC FE(W,18,B2$)
4430 GET B2$,G:A5(E),A5(G),A5(V),A5(4),A5(5),A5(6),A5(7),A5(8),A5(W)
4440 EXEC FE(W,19,B2$)
4450 FOR I=E TO V
4460 H=(I-E)*V+E
4470 GET B2$,I+5:C3$(H),C3$(H+E),C3$(H+G)
4480 EXEC FE(W,20,B2$)
4490 NEXT I
4500 GET B2$,12:A6(E),A6(G),A6(V),A6(4),A6(5),A6(6),A6(7),A6(8),A6(W)
4510 EXEC FE(W,21,B2$)
4520 GET B2$,13:A7(E),A7(G),A7(V),A7(4),A7(5),A7(6),A7(7),A7(8),A7(W)
4530 EXEC FE(W,22,B2$)
4540 GET B2$,20:B3$
4550 EXEC FE(W,35,B2$)
4560 CLOSE B2$
4570 EXEC FE(W,23,B2$)
4580 OPEN D9$,R
4590 EXEC FE(W,24,D9$)
4600 OPEN E5$,R
4610 EXEC FE(W,25,E5$)
4620 OPEN C2$,R
4630 EXEC FE(W,26,C2$)
4640 OPEN D2$,R
4650 EXEC FE(W,27,D2$)
4660 OPEN A8$,R
4670 EXEC FE(W,28,A8$)
4680 OPEN A9$,R
4690 EXEC FE(W,29,A9$)
4700 OPEN B0$,W
4710 EXEC FE(W,30,B0$)
4720 OPEN B4$,R
4730 EXEC FE(99,5,B4$)
4740 OPEN E6$,R
4750 EXEC FE(99,6,E6$)
4760 OPEN E7$,R
4770 EXEC FE(99,7,E7$)
4780 K4=A5(5);I9=A5(7);K5=A5(8);K3=A6(E);K6=A7(E)
4790 EXEC INDTAB1(F6,F8,D9$)
4800 EXEC INDTAB1(G2,G3,E5$)
4810 EXEC INDTAB1(G6,G7,C2$)
4820 EXEC INDTAB1(K9,L0,E6$)
4830 FOR O2=E TO L3+L2
4840 GET E7$,O2:L4(O2),L5$(O2)
4850 EXEC FE(99,8,E7$)
4860 NEXT O2
4870 E2$="                                                              "
4880 E2$=E2$+"              "
4890 D0$="0+";K0=I9;I8=K3+E;J9=I8;K1=B;L7=E;J6=B
4900 L8=E;B6$="0+";D1$="---------------------------------------"
4910 D1$=D1$+D1$;K2=B
4920 CLEAR
4930 EXEC UDHOVED
4940 REPEAT
4950 CASE L8 OF
4960 STOP
4970 WHEN E
4980 REPEAT
4990 REPEAT
5000 CURSOR V,23
5010 PRINT "Bilag        (0:færdig,RETURN:automatisk,A:annuller,D:ny dato,";
5020 PRINT "M:afslut multi)"
5030 CURSOR 8,23
5040 INPUT D3$
5050 EXEC NRTEST(D3$)
5060 UNTIL P=>-4 AND M8=B AND M9<=6
5070 O3=I8+K2
5080 IF (O3>N3-V OR K1=35 OR O3+A7(E)+A6(G)>N4-V) THEN
5090 IF P<>-V THEN P=B
5100 ENDIF
5110 IF P<>B AND P>-G AND L7=19 THEN
5120 CLEAR
5130 EXEC UDHOVED
5140 L7=E
5150 EXEC SYSGEM
5160 EXEC UDLINIE
5170 L7=L7+E
5180 ENDIF
5190 REPEAT
5200 O4=-E
5210 CASE P OF
5220 J3,K5=P;P=-W;L8=G
5230 CURSOR E,L7+V
5240 PRINT USING "### #######":L7,J3
5250 WHEN B
5260 IF J6=B THEN
5270 IF I8>N3-V OR O3+A7(E)+A6(G)>N4-V THEN
5280 REPEAT
5290 CURSOR V,23
5300 PRINT "Ikke plads til flere posteringer , tast RETURN";E2$(E:30)
5310 CURSOR 50,23
5320 INPUT A$
5330 EXEC NRTEST(A$)
5340 UNTIL P=-E
5350 ENDIF
5360 P=-W;L8=8
5370 ELSE
5380 IF O3>N3-V OR K1=35 OR O3+A7(E)+A6(G)>N4-V THEN
5390 EXEC CA(4,D0$,B6$,D0$)
5400 IF SI<>B THEN
5410 EXEC TUD(B6$,C4$,E,B)
5420 REPEAT
5430 CURSOR V,23
5440 PRINT "Ikke plads til flere posteringer,";C4$;" på differencekonto";
5450 PRINT ",RETURN"
5460 CURSOR 76,23
5470 INPUT A$
5480 EXEC NRTEST(A$)
5490 UNTIL P=-E
5500 K1=K1+E;K2=K2+G
5510 IF B6$(LEN(B6$))="+" THEN
5520 E4$(K1)=B6$(E:LEN(B6$)-E)+"-"
5530 ELSE
5540 E4$(K1)=B6$(E:LEN(B6$)-E)+"+"
5550 ENDIF
5560 EXEC CA(B,B6$,E4$(K1),B6$)
5570 C6(K1)=O0;C8(K1)=10;C7(K1)=K0;E3(K1)=J3
5580 C9$(K1)="Difference multipostering";E8(K1)=1000000
5590 ENDIF
5600 O4=B;P=-4
5610 ELSE
5620 REPEAT
5630 CURSOR V,23
5640 PRINT "Multipostering ikke afsluttet , tast RETURN"+E2$(E:34)
5650 CURSOR 46,23
5660 INPUT A$
5670 EXEC NRTEST(A$)
5680 UNTIL P=-E
5690 ENDIF
5700 ENDIF
5710 WHEN -E
5720 IF J6=B THEN K5=K5+E
5730 P=K5;O4=B
5740 WHEN -G
5750 EXEC NYDATO
5760 EXEC UDHOVED
5770 WHEN -V
5780 EXEC PSLET(0)
5790 WHEN -4
5800 IF J6=B THEN EXIT
5810 EXEC CA(4,D0$,B6$,D0$)
5820 IF SI<>B THEN
5830 REPEAT
5840 EXEC TUD(B6$,C4$,E,B)
5850 REPEAT
5860 CURSOR V,23
5870 PRINT "Multipostering kan ikke afsluttes , difference :";C4$;" tas";
5880 PRINT "t RETURN  "
5890 CURSOR 79,23
5900 INPUT A$
5910 EXEC NRTEST(A$)
5920 UNTIL P=-E
5930 CLEAR
5940 O2=E
5950 REPEAT
5960 EXEC UDHOVED
5970 REPEAT
5980 IF E3(O2)<>B AND LEN(E4$(O2))>B THEN
5990 EXEC CA(5,E4$(O2),D0$,C4$)
6000 CURSOR E,(O2-E) MOD 18+4
6010 PRINT USING "### ####### ":O2,E3(O2);
6020 IF C8(O2)>W THEN
6030 PRINT C9$(O2);
6040 ELSE
6050 IF C8(O2)<>B THEN PRINT C3$(C8(O2));
6060 ENDIF
6070 LOG=B
6080 CURSOR 38,(O2-E) MOD 18+4
6090 IF E4$(O2,LEN(E4$(O2)))="-" THEN LOG=E
6100 PRINT USING "###### ######":C6(O2)+100000*(LOG=E),E8(O2)+100000*(LOG=E);
6110 PRINT C4$(E:13);
6120 PRINT USING " ###### ######":C6(O2)+100000*(LOG=B);E8(O2)+100000*(LOG=B)
6130 ENDIF
6140 O2=O2+E
6150 UNTIL O2=K1+E OR O2 MOD 19=B
6160 REPEAT
6170 REPEAT
6180 CURSOR V,23
6190 PRINT "Type      (1-36:Annulering,0:færdig,N:ny post,RETURN:ny sid";
6200 PRINT "e)"+E2$(E:10)
6210 CURSOR 8,23
6220 INPUT D4$
6230 EXEC NRTEST(D4$)
6240 UNTIL (P<37 AND P>-G) OR P=-8
6250 CASE P OF
6260 IF P<=K1 AND P<O2 THEN EXEC PSLET(1)
6270 WHEN B
6280 EXEC CA(4,D0$,B6$,D0$)
6290 IF SI<>B THEN
6300 P=-G
6310 ELSE
6320 EXEC PPUT
6330 J6=B
6340 ENDIF
6350 WHEN -E
6360 IF K1>18 AND O2<K1 THEN
6370 CLEAR
6380 ELSE
6390 P=E
6400 ENDIF
6410 WHEN -8
6420 P=B
6430 L7=(O2-E) MOD 18+E
6440 ENDCASE
6450 UNTIL P<E AND P>-V
6460 UNTIL P=B OR P=-G
6470 UNTIL P=B
6480 ELSE
6490 EXEC PPUT
6500 J6=B
6510 ENDIF
6520 ENDCASE
6530 UNTIL O4=-E
6540 UNTIL P=-W
6550 WHEN G
6560 REPEAT
6570 REPEAT
6580 CURSOR V,23
6590 PRINT "Tekst                              (max 25 tegn,0-19:tekstkode)";
6600 PRINT E2$(E:14)
6610 CURSOR 10,23
6620 INPUT D5$
6630 UNTIL LEN(D5$)<26
6640 IF LEN(D5$)<V THEN
6650 EXEC NRTEST(D5$)
6660 ELSE
6670 P=20;M8=B
6680 ENDIF
6690 UNTIL P=>B AND P<21 AND M8=B AND P<>10
6700 IF P<>B THEN
6710 O5=P MOD 10
6720 IF P=20 THEN
6730 P=10;C1$=D5$;D6$=C1$
6740 ELSE
6750 D6$=C3$(O5)+E2$(E:15)
6760 IF P>10 THEN
6770 REPEAT
6780 CURSOR V,23
6790 PRINT "Tekst                 (max 14 tegn)"+E2$(E:42)
6800 CURSOR 10,23
6810 INPUT D5$
6820 UNTIL LEN(D5$)<15
6830 D6$(12,25)=D5$;C1$=D6$
6840 ENDIF
6850 ENDIF
6860 CURSOR 13,L7+V
6870 PRINT D6$
6880 ENDIF
6890 J5=P;L8=V
6900 WHEN V
6910 REPEAT
6920 REPEAT
6930 CURSOR V,23
6940 PRINT "Debet-konto           (RETURN:overspringes)"+E2$(E:34)
6950 CURSOR 16,23
6960 INPUT D7$
6970 EXEC NRTEST(D7$)
6980 UNTIL (((K7<10 AND K7>B) OR K7=G4) AND M8=B) OR P=-E
6990 IF P=-E THEN
7000 J1=100000;J6,O6=E;F5=B
7010 ELSE
7020 O6=B;J1=P
7030 EXEC KNOK
7040 ENDIF
7050 UNTIL P=-E OR P=-7
7060 EXEC KNUD(J1)
7070 WHEN 4
7080 J4=1000000;F5=B
7090 IF J1<>100000 THEN
7100 REPEAT
7110 REPEAT
7120 CURSOR V,23
7130 PRINT "Debet-entreprisekonto       (RETURN:overspringes)";E2$(E:25)
7140 CURSOR 25,23
7150 INPUT D7$
7160 EXEC NRTEST(D7$)
7170 UNTIL M9=5 AND M8=B OR P=-E
7180 J4=1000000;F5=B
7190 IF P=-E THEN EXIT
7200 J4=P
7210 EXEC ENTKOOK(J4)
7220 UNTIL P=-7
7230 ENDIF
7240 EXEC KNUD(J4)
7250 WHEN 5
7260 REPEAT
7270 REPEAT
7280 CURSOR V,23
7290 PRINT "Beløb"+E2$(E:71)
7300 CURSOR 10,23
7310 INPUT D8$
7320 EXEC FORTEGN
7330 EXEC CA(6,D8$,D0$,C4$)
7340 UNTIL FLAG=B
7350 EXEC CA(4,D8$,D0$,D0$)
7360 UNTIL SI<>B
7370 E1$=D8$(E:LEN(D8$)-E)+"-";E0$=D8$;L8=6
7380 EXEC TUD(D8$,C4$,B,B)
7390 CURSOR 51,L7+V
7400 PRINT C4$
7410 WHEN 6
7420 REPEAT
7430 REPEAT
7440 CURSOR V,23
7450 PRINT "Kredit-konto           (RETURN:overspringes,A:annuller)";
7460 PRINT "                     "
7470 CURSOR 17,23
7480 INPUT D7$
7490 EXEC NRTEST(D7$)
7500 UNTIL (((K7<10 AND K7>B) OR K7=G4) AND M8=B) OR P=-E OR P=-V
7510 IF P=-E THEN
7520 IF O6=B THEN
7530 P,F5=B;J7=100000;J6=E;K1=K1+E;K2=K2+E;C6(K1)=J1
7540 C7(K1)=K0;E3(K1)=J3;C8(K1)=J5;E4$(K1)=E0$
7550 EXEC CA(B,B6$,E0$,B6$)
7560 C9$(K1)=E2$(E:25);E8(K1)=J4
7570 IF J5>W THEN C9$(K1)=C1$;K2=K2+E
7580 EXEC KNUD(J7)
7590 ENDIF
7600 ELSE
7610 IF P=-V THEN
7620 F5=E
7630 EXEC KNUD(P)
7640 ELSE
7650 O7=J6+O6
7660 CASE O7 OF
7670 STOP
7680 WHEN B
7690 J7=P
7700 EXEC KNOK
7710 IF P=-7 THEN EXEC KNUD(J7)
7750 WHEN E
7760 REPEAT
7770 CURSOR V,23
7780 PRINT "Multipostering ikke afsluttet , tast RETURN"+E2$(E:34)
7790 CURSOR 46,23
7800 INPUT A$
7810 EXEC NRTEST(A$)
7820 UNTIL P=-E
7830 WHEN G
7840 J7=P
7850 EXEC KNOK
7860 IF P=-7 THEN
7870 EXEC KNUD(J7)
7880 IF F5=B THEN
7890 EXEC CA(B,B6$,E1$,B6$)
7900 K1=K1+E;K2=K2+E;C6(K1)=J7;C7(K1)=K0;E3(K1)=J3
7910 C8(K1)=J5;E4$(K1)=E1$;C9$(K1)=E2$(E:25)
7920 E4$(K1)=E1$
7930 IF J5>W THEN C9$(K1)=C1$;K2=K2+E
7940 ENDIF
7950 ENDIF
7960 ENDCASE
7970 ENDIF
7980 ENDIF
7990 UNTIL P=B OR P=-V OR P=-7
8000 WHEN 7
8010 J8=1000000;F5=B
8020 IF J7<>100000 THEN
8030 REPEAT
8040 REPEAT
8050 CURSOR V,23
8060 PRINT "Kredit-entreprisekonto       (RETURN:overspringes)";E2$(E:24)
8070 CURSOR 26,23
8080 INPUT D7$
8090 EXEC NRTEST(D7$)
8100 UNTIL M9=5 AND M8=B OR P=-E
8110 J8=1000000;F5=B
8120 IF P=-E THEN EXIT
8130 J8=P
8140 EXEC ENTKOOK(J8)
8150 UNTIL P=-7
8160 ENDIF
8170 EXEC KNUD(J8)
8180 IF J6+O6=G AND F5=B THEN E8(K1)=J8
8185 IF J6+O6=B THEN EXEC PPUT
8190 WHEN 8
8200 REPEAT
8210 CURSOR V,23
8220 PRINT "Ønskes afslutning (J/N)"+E2$(E:54)
8230 CURSOR 27,23
8240 INPUT A$
8250 EXEC NRTEST(A$)
8260 UNTIL P=-7 OR P=-8
8270 IF P=-7 THEN
8280 OPEN B1$,W
8290 EXEC FE(W,32,B1$)
8300 FOR I=E TO I8-E
8310 GET B0$,I:J1,J2,J3,B8$,E0$,C0$,J4
8320 EXEC FE(W,33,B0$)
8330 K6=K6+E;C0$="2"
8340 PUT B1$,K6:J1,J2,J3,B8$,E0$,C0$,J4
8350 EXEC FE(W,34,B1$)
8360 IF ORD(B8$)-48>W THEN
8370 I=I+E;K6=K6+E
8380 GET B0$,I:J1,C1$
8390 EXEC FE(W,35,B0$)
8400 PUT B1$,K6:J1,C1$
8410 EXEC FE(W,36,B1$)
8420 ENDIF
8430 NEXT I
8440 CLOSE B1$
8450 EXEC FE(W,38,B1$)
8460 EXEC PGETUD(K4)
8470 K3=B
8480 ELSE
8490 REPEAT
8500 CURSOR V,23
8510 PRINT "Ønskes kontroludskrift (J/N)"+E2$(E:49)
8520 CURSOR 31,23
8530 INPUT A$
8540 EXEC NRTEST(A$)
8550 UNTIL P=-7 OR P=-8
8560 IF P=-7 THEN EXEC PGETUD(1)
8570 K3=I8-E
8580 ENDIF
8590 L8=-E
8600 ENDCASE
8610 UNTIL L8=-E
8620 CLOSE B0$
8630 EXEC FE(W,40,B0$)
8640 CLOSE
8650 EXEC SYSGEM
8660 OUTPUT T
8670 CHAIN "P641210:OPSTART"

Full view