|
DataMuseum.dkPresents historical artifacts from the history of: Q1 computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Q1 computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9401 (0x24b9) Types: Q1_Text, reclen=79 Notes: q1file Names: »BOKSLUT1«
└─⟦7bb65a061⟧ Bits:30008625 DDMQ1-0065_Reflex_MSAB_Bokf_system_diskett_1_2_Sid2_Alla_pgm_PL1_781120_side0 └─⟦this⟧ »BOKSLUT1« └─⟦aeb45b905⟧ Bits:30008623 DDMQ1-0063__LMC_Original_Generella_pgm_for_bokforing_Sid1_PL1_Sid2_kompil_781105_side1 └─⟦this⟧ »BOKSLUT1« └─⟦cfd478037⟧ Bits:30008627 DDMQ1-0066_MSAB_ref_ex_Bokf_system_NFK_diskett_2_2_781120_side0 └─⟦this⟧ »BOKSLUT1« └─⟦d1c33ffd3⟧ Bits:30008583 DDMQ1-0017_Bokforingssystem_kallkod_Msab_790411 └─⟦this⟧ »BOKSLUT1« └─⟦d4a65d31f⟧ Bits:30008722 DDMQ1-0163_MSAB_Bokf_pgm_i_PL1_781112_TD └─⟦this⟧ »BOKSLUT1« └─⟦f4c608b16⟧ Bits:30008624 DDMQ1-0064_LMC_Kopia_Generall_pgm_for_bokforing_Endast_PL1-vers_781105_B └─⟦this⟧ »BOKSLUT1«
/*FÖRSTA RADEN*/ /*BOKSLUT RÅBALANS T.O.M SENASTE REG. HUVUDBOK GENERELLT PGM. KLART: 781104 PROGR:TD*/ DCL 1 DUM,2 DUM1 CHAR(3),2 BUDKOD CHAR(1),2 DUM2 CHAR(51); DCL 1 SAM,2 SSTR,3 SKO FIXED(4),3 SAVD CHAR(3), 2 SAD(12) FIXED(11,2),2 SAK(12) FIXED(11,2); DCL 1 KTX,2 KSTR,3 TKO FIXED(4),3 TKOD CHAR(1),2 TKO2 CHAR(4),2 TEXT CHAR(34), 2 IB FIXED(13,2); DCL 1 DATREC,2 XDAG CHAR(6),2 MON CHAR(3),2 MNR FIXED(2),2 SK(14) CHAR(1), 2 KOD FIXED(1); DCL DATFIL FILE,KTOTX FILE,S CHAR(1),RAD FIXED(2),SIDA FIXED(4),IND FIXED(1), DAG CHAR(6),SAMFIL FILE, D4 FIXED(13,2),K4 FIXED(13,2),KIB FIXED(13,2),US FIXED(13,2), TI FIXED(13,2),TD FIXED(13,2),TK FIXED(13,2), XSKO FIXED(4),TXT CHAR(34),RECNR BINARY,SAMSLUT BINARY, KTOSLUT BINARY,C CHAR(17)INIT('------------9V.99'), CC CHAR(17)INIT('-----------9V.99*'), CCC CHAR(16)INIT('-----9V.99% '),CCCC CHAR(15)INIT('----9V.99% '), D CHAR(4)INIT('ZZZ9'),E CHAR(12)INIT('-------9V.9 '), EE CHAR(12)INIT('-------9V.9*'),J FIXED(4),K FIXED(4),L FIXED(4); ABORT:PROC(ABTX); DCL ABTX CHAR(15); PUT SKIP EDIT('FEL! ')(A)(ABTX)(A)SKIP(RAD-4);GOTO SLUTT; RETURN; END; RUB:PROC; SIDA=SIDA+1;PUT SKIP(RAD)EDIT('RÅBALANS FÖR BOKSLUTSTRANSAKTIONER')(A) (' DATUM:')(A)(DAG)(A(10))('SIDA:')(A)(SIDA)(A(30))('** BOKSLUTSTABLÅ **') (A)SKIP EDIT('')(A(90))('(BOKFÖRINGSORDER)')(A)SKIP(2)EDIT ('KTO')(A(13))('ING. SALDO')(A(18))('ACK. DEB')(A(16))('ACK. KRE')(A(14)) ('UTG. SALDO')(A(29))('KONTO')(A(11))('DEB')(A(10))('KRE')(A)SKIP EDIT ('')(A(9))('(VID ÅRETS BÖRJAN)')(A)SKIP;RAD=43; RETURN;END; SUBA:PROC(SUBKO); DCL SUBKO FIXED(4); IF RAD<12 THEN CALL RUB; IF SUBKO=9999 THEN GOTO TOTUT; IF KIB¬=0öD4¬=0öK4¬=0 THEN DO; US=KIB+D4-K4; IF SUBKO>2999 THEN DO;KIB=-KIB;US=-US;END; PUT SKIP(2) EDIT(SUBKO)(A(7))(KIB)(PC)(D4)(PC)(K4)(PC)(US)(PC); RAD=RAD-2;XKTO=SUBKO;END; TI=TI+KIB;TD=TD+D4;TK=TK+K4;KIB=0;D4=0;K4=0; RETURN; TOTUT:IF RAD<14 THEN CALL RUB; PUT SKIP(3)EDIT('TOTALT')(A(7))(TI)(PC)(TD)(PC)(TK)(PC)(TI+TD-TK)(PC) SKIP(RAD-8); GO TO SLUTT; RETURN; END; PROCB:PROC; /*UPPREPAR ACKUMULERING AV SALDON OCH LÄSNING I SAMFIL TILLS ETT RECORD MED ANNAT KONTONUMMER HITTAS,ELLER FILEN TAR SLUT*/ KIB=IB; SAMIN:XSKO=SKO; DO I=1 TO 12;D4=D4+SAD(I);K4=K4+SAK(I);END; ON ENDFILE GOTO SAMUT;READ FILE(SAMFIL)INTO(SAM); GOTO SAMOK; SAMUT:SAMSLUT=1; SAMOK:IF SAMSLUT=0 & XSKO=SKO THEN GOTO SAMIN; RETURN;END; PROCC:PROC; /*UPPREPAR LÄSNING I KTOTX,OCH HOPPAR ÖVER BUDGET,TILLS ETT RECORD MED ANNAT KONTONUMMER HITTAS, ELLER FILEN TAR SLUT*/ UNSPEC(KTOTX)=RECNR; KTOIN:ON ENDFILE GOTO KTOUT;READ FILE(KTOTX)INTO(DUM); RECNR=UNSPEC(KTOTX);GOTO KTOOK; KTOUT:KTOSLUT=1;GOTO KTOKLAR; KTOOK:IF BUDKOD='A' THEN GOTO KTOKLAR; GOTO KTOIN; KTOKLAR:CALL SUBA(TKO); KTX=DUM; RETURN;END; OPEN KTOTX;OPEN DATFIL;OPEN SAMFIL; READ FILE(DATFIL)INTO(DATREC);IF XDAG='XXXXXX' THEN GO TO SLUTT; DAG=XDAG;XDAG='XXXXXX'; REWRITE FILE(DATFIL)FROM(DATREC); PUT FILE(D) SKIP EDIT(' ')(A(37))('*** RÅBALANS FÖR BOKSLUT ***') (A(74))('STÄLL IN PERFORERINGEN')(A(37))('TRYCK SEDAN RETURN.')(A(37)); GET SKIP LIST(S); PUT FILE(D)SKIP EDIT(' ')(A(43))('*** UTSKRIFT PÅGÅR ***')(A(67)); DEL=0;RECNR=0;RAD=5;SIDA=0;IND=1;SAMSLUT=0;KTOSLUT=0; KIB=0;D4=0;K4=0;TI=0;TD=0;TK=0; /*START AV SJÄLVA PROGRAMMET!*/ START:SAMSLUT=1; ON ENDFILE GOTO A0000;READ FILE(SAMFIL)INTO(SAM);SAMSLUT=0; A0000:UNSPEC(KTOTX)=UNSPEC(KTOTX)+10; ON ENDFILE GOTO A0X;READ FILE(KTOTX)INTO(KTX); IF TKO<1000 THEN GOTO A0000; A0X:UNSPEC(KTOTX)=UNSPEC(KTOTX)-11; IF UNSPEC(KTOTX)<0 THEN UNSPEC(KTOTX)=0; A0:ON ENDFILE GO TO KTOUT2;READ FILE(KTOTX)INTO(KTX); IF TKO<1000 THEN GO TO A0;GOTO KTOOK2; KTOUT2:KTOSLUT=1; KTOOK2:RECNR=UNSPEC(KTOTX); NY: IF KTOSLUT=1 & SAMSLUT=1 THEN GO TO AVSLUTA; IF TKOD¬='A' THEN CALL ABORT('TKOD EJ "A"'); IF(SAMSLUT=0 & SKO<TKO) ö (KTOSLUT=1)THEN CALL ABORT(''); IF SAMSLUT=0 & KTOSLUT=0 & SKO=TKO THEN GO TO BOTH; ONE:KIB=IB; CALL PROCC; GOTO NY; BOTH: CALL PROCB; CALL PROCC; GOTO NY; AVSLUTA:SKO=9999;CALL SUBA(SKO); GOTO SLUT; SLUT:PUT SKIP(RAD-6); SLUTT:CALL LOAD('BOKRUT',6);END;