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

⟦37cccee5f⟧ TextFile

    Length: 7584 (0x1da0)
    Types: TextFile
    Notes: Mikados_K
    Names: »ÅRSOPL.K«

Derivation

└─⟦385f097a1⟧ Bits:30008988 SPC/1 COMAL programmer til bogføring
    └─⟦this⟧ »ÅRSOPL.K« 

Mikados K File

0110DIM STARTPER$(8),SLUTPER$(8),LP$(E),ORK$(E) 
0120DIM RES$(15),OP1$(12),OP2$(12),TAH$(12),TRE$(12) 
0130DIM TOTAL$(4,12),L$(12),LIN$(12) 
0140DIM RESUL$(12),RESUL1$(12),TV$(45,11) 
0150DIM FIL$(16),FIL2$(16),POST1$(71),POST2$(27),POST3$(55),POST4$(34) 
0160DIM MF1$(16) 
0162DIM POST5$(55) 
0170TAH$="          0+" 
0180TRE$="       3,00+" 
0370PROC CALC(AR3,B1,B2,ES) 
0380RES$=ES$;OP1$=B1$;OP2$=B2$;SI=B;FLAG=B;ART=AR3-6*(AR3>5) 
0390CALL "P641210:REGN" 
0400IF AR3<6 THEN  
0410IF FLAG THEN STOP  
0420ENDIF  
0430ES$=RES$ 
0440ENDPROC  
0550PROC INDTÆL 
0560J=W*(LMNR-E) 
0570FOR K=E TO W 
0580GET FIL2$,J+K:POST5$ 
0590FOR I=E TO 5 
0600TV$((K-E)*5+I)=POST5$((I-E)*11+E:11) 
0610NEXT I 
0620NEXT K 
0630EXEC FEJL(LMNR,K,FIL2$) 
0640ENDPROC  
0800PROC INLØNMOD(N) 
0810GET FIL$,G*N-E:POST1$ 
0820GET FIL$,G*N:POST2$,C1,C2,LT,LF,LR,LA,RPI,K1,K2,FG,FD 
0830EXEC FEJL(E,N,FIL$) 
0840ENDPROC  
1000PROC UDTÆL 
1010J=W*(LMNR-E) 
1020FOR K=E TO W 
1030FOR I=E TO 5 
1040POST5$((I-E)*11+E:11)=TV$((K-E)*5+I) 
1050NEXT I 
1060PUT FIL2$,J+K:POST5$ 
1070NEXT K 
1080EXEC FEJL(-LMNR,-K,FIL2$) 
1090ENDPROC  
1100PROC UDLØNMOD(N) 
1110PUT FIL$,G*N-E:POST1$ 
1120PUT FIL$,G*N:POST2$,C1,C2,LT,LF,LR,LA,RPI,K1,K2,FG,FD 
1130EXEC FEJL(G,N,FIL$) 
1140ENDPROC  
1150PROC CONV(NR2,OK22,CIF) 
1160OK2=OK22 
1170NR2$="" 
1180REPEAT  
1190NR2$=CHR((OK2 MOD 10)+48)+NR2$ 
1200CIF=CIF-E 
1210OK2=OK2 DIV 10 
1220IF CIF<B AND OK2=B THEN CIF=B 
1230UNTIL CIF=B 
1240ENDPROC  
1890PROC INDVIRK 
1900OPEN FIL$,R 
1910EXEC FEJL(B,B,FIL$) 
1920GET FIL$,E:POST3$ 
1930GET FIL$,G:POST4$,SLJNR,MLMNR,ATPLM 
1940ENDPROC  
1950PROC FEJL(P1,P2,P3) 
1960IF STATUS(P3$)<>B THEN  
1970OUTPUT T 
1980PRINT "FIL-FEJL ";P3$;STATUS(P3$),P1;P2 
1990STOP  
2000ENDIF  
2010ENDPROC  
3440PROC NÆSTE 
3450REPEAT  
3460LMNR=LMNR+E 
3470LA=E 
3480IF LMNR<=MLMNR THEN  
3490EXEC INLØNMOD(LMNR) 
3500IF LP$<>POST2$(21) THEN LA=B 
3510IF ORK$="A" AND POST2$(24,25)>"89" THEN LA=B 
3520IF ORK$="F" AND POST2$(24,25)<"90" THEN LA=B 
3530ENDIF  
3540UNTIL LA>B 
3550ENDPROC  
8182TOTAL$(E)=TAH$;TOTAL$(G)=TAH$ 
8183TOTAL$(V)=TAH$;TOTAL$(4)=TAH$ 
8190FIL$="P641220:VIRKKART" 
8200EXEC INDVIRK 
8210CLOSE FIL$ 
8220FIL$="P641220:LØNMODRG" 
8230OPEN FIL$,W 
8260FIL2$="P641220:TÆLLEREG" 
8270OPEN FIL2$,W 
8291MF1$="P641210:LØNJOUR" 
8292OPEN MF1$,R 
8300INPUT "Isæt årsoplysningssedler, RETURN ",LP$ 
8350MAXLIN=72 
8360LMNR=B 
8370ABL=B 
8372GET MF1$:STARTPER$,SLUTPER$,LP$,ORK$,MFD 
8410STD=100000*(ORD(STARTPER$(E))-48)+10000*(ORD(STARTPER$(G))-48) 
8420STD=STD+1000*(ORD(STARTPER$(4))-48)+100*(ORD(STARTPER$(5))-48) 
8430STD=STD+10*(ORD(STARTPER$(7))-48)+ORD(STARTPER$(8))-48 
8440SLD=100000*(ORD(SLUTPER$(E))-48)+10000*(ORD(SLUTPER$(G))-48) 
8450SLD=SLD+1000*(ORD(SLUTPER$(4))-48)+100*(ORD(SLUTPER$(5))-48) 
8460SLD=SLD+10*(ORD(SLUTPER$(7))-48)+ORD(SLUTPER$(8))-48 
8465CURSOR E,14 
8470OUTPUT P 
8490REPEAT  
8500EXEC NÆSTE 
8510IF LMNR<=MLMNR THEN  
8520EXEC INDTÆL 
8521EXEC CALC(B,TV$(34),TV$(37),RESUL$) 
8522EXEC CALC(G,TRE$,TV$(43),RESUL1$) 
8523TV$(34)=RESUL$(G:11) 
8524TV$(43)=RESUL1$(G:11) 
8529ABL=ABL+E 
8530EXEC CALC(B,TV$(43),TOTAL$(E),TOTAL$(E)) 
8540EXEC CALC(B,TV$(34),TOTAL$(G),TOTAL$(G)) 
8542EXEC CALC(B,TV$(40),TOTAL$(V),TOTAL$(V)) 
8544EXEC CALC(B,TV$(37),TOTAL$(4),TOTAL$(4)) 
8545TV$(34,W,11)="00 " 
8546TV$(43,W,11)="00 " 
8547TV$(40,W,11)="00 " 
8548TV$(37,W,11)="00 " 
8550IF STD>LA THEN  
8560STDA=STD 
8570ELSE  
8580STDA=LA 
8590ENDIF  
8600IF SLD<FD OR FD=B THEN  
8602SLDA=SLD 
8604ELSE  
8606SLDA=FD 
8608ENDIF  
8609IF FD>B THEN LA=B;FD=B 
8610FOR I=E TO 7 
8612IF TV$(34,I)=" " THEN TV$(34,I)="*" 
8614IF TV$(43,I)=" " THEN TV$(43,I)="*" 
8616IF TV$(40,I)=" " THEN TV$(40,I)="*" 
8618IF TV$(37,I)=" " THEN TV$(37,I)="*" 
8620NEXT I 
8622PRINT  
8624PRINT  
8626PRINT  
8628EXEC CONV(L$,C1,6) 
8630EXEC CONV(LIN$,C2,4) 
8632L$=L$+LIN$ 
8634PRINT TAB(W);L$;TAB(58);POST3$(E,7) 
8636PRINT  
8638PRINT  
8640PRINT TAB(46);POST3$(8,32) 
8642PRINT TAB(46);POST3$(33,55) 
8644PRINT TAB(46);POST4$(E,4);" ";POST4$(5,18) 
8646PRINT  
8648PRINT TAB(W);POST1$(E,25); 
8650PRINT USING " ####":LMNR 
8652PRINT  
8654PRINT TAB(W);POST1$(26,48) 
8656PRINT TAB(W);POST1$(49,71) 
8658PRINT TAB(W);POST2$(E,4);" ";POST2$(5,18) 
8660PRINT  
8662PRINT  
8664PRINT TAB(24);STDA;"-";SLDA;" " 
8666PRINT  
8668PRINT  
8670PRINT TAB(68);"*";TV$(43,E,7) 
8672PRINT  
8674PRINT  
8676PRINT TAB(68);"*";TV$(34,E,7) 
8678PRINT  
8680PRINT  
8682PRINT  
8684PRINT  
8686PRINT TAB(68);"*";TV$(40,E,7) 
8688PRINT  
8690PRINT  
8692PRINT TAB(68);"*";TV$(37,E,7) 
8694FOR I=E TO 45 
8696TV$(I)=TAH$(G:11) 
8698NEXT I 
8700LT=B 
8702LF=B 
8704LR=B 
8706FOR I=33 TO 48 
8708PRINT  
8710NEXT I 
8712EXEC UDLØNMOD(LMNR) 
8714EXEC UDTÆL 
8880ENDIF  
8890UNTIL LMNR=>MLMNR 
8900FOR I=E TO 4 
8910FOR J=E TO 8 
8920IF TOTAL$(I,J)=" " THEN TOTAL$(I,J)="*" 
8930NEXT J 
8940NEXT I 
8950PRINT  
8960PRINT  
8970PRINT  
8980PRINT TAB(58);POST3$(E,7) 
8990PRINT  
9000PRINT  
9010PRINT TAB(46);POST3$(8,32) 
9020PRINT TAB(46);POST3$(33,55) 
9030PRINT TAB(46);POST4$(E,4);" ";POST4$(5,18) 
9040PRINT  
9050PRINT  
9060PRINT  
9070PRINT TAB(W);"**T O T A L B I L A G**" 
9080PRINT TAB(W);"ANTAL BILAG";ABL;" " 
9090PRINT  
9100PRINT  
9110PRINT  
9120PRINT  
9130PRINT  
9140PRINT  
9150PRINT TAB(68);TOTAL$(E,E,8) 
9160PRINT  
9170PRINT  
9180PRINT TAB(68);TOTAL$(G,E,8) 
9190PRINT  
9200PRINT  
9210PRINT  
9220PRINT  
9230PRINT TAB(68);TOTAL$(V,E,8) 
9240PRINT  
9250PRINT  
9260PRINT TAB(68);TOTAL$(4,E,8) 
9265FOR I=33 TO 48 
9270PRINT  
9275NEXT I 
9730CLOSE  
9735OUTPUT T 
9740CHAIN "P641210:STARTB" 

Full view