|
|
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: 4029 (0xfbd)
Types: Q1_Text, reclen=79
Notes: q1file
Names: »VERIFUT1«
└─⟦1f3202981⟧ Bits:30008731 DDMQ1-0173_MSAB_Bokföring_Alla_Program_i_PL1_ref_ex_780428
└─⟦this⟧ »VERIFUT1«
/*FÖRSTA RADEN*/
/*VERIFUT UTMATNING AV VER.TRANSAR UNDER RESP ANGIVEN MÅNAD
KLART: 780428 FÖR MSAB PROGR:TD */
DCL VERFIL FILE;CALL KFILE(VERFIL);
DCL 1 VER,2 KO CHAR(4),2 AVD CHAR(2),2 DAT CHAR(4),
2 VERNR FIXED(5),2 VTX CHAR(20),2 BEL FIXED(11,2),2 KOD CHAR(1);
DCL 1 KTO,2 KONTO FIXED(4),2 TEXT CHAR(34);
DCL 1 DATREC,2 DAG CHAR(6),2 MON CHAR(3),2 MNR FIXED(2),2 SK(14) CHAR(1),
2 CO FIXED(1);
DCL 1 XDATREC,2 XDAG CHAR(9),2 XMNR FIXED(2),2 XSK(14) CHAR(1),2 XCO FIXED(1);
XDAG='XXXXXX ';XMNR=0;
DCL DATFIL FILE,KTOTX FILE,S CHAR(1),RAD FIXED(2),SIDA FIXED(4),IND FIXED(1),
TD FIXED(13,2),TK FIXED(13,2),XVERNR FIXED(6),XDAT CHAR(4);
OPEN KTOTX;OPEN DATFIL;OPEN VERFIL;
READ FILE(DATFIL)INTO(DATREC);IF DAG='XXXXXX' THEN GO TO SLUT;
DO I=1 TO 14;XSK(I)=SK(I);END;XCO=CO;
REWRITE FILE(DATFIL)FROM(XDATREC);
PUT FILE(D) SKIP EDIT(' ')(A(37))('*** VERIFIKATIONSLISTA ***')
(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(68));
RAD=5;SIDA=0;IND=1;TD=0;TK=0;
RUB:SIDA=SIDA+1;PUT SKIP(RAD)EDIT('VERIFIKATIONSLISTA AVSEENDE MÅNAD ')(A)
(MON)(A(9))('DATUM:')(A)(DAG)(A(10))('SIDA:')(A)(SIDA)(A)SKIP(2)EDIT
('VER.NR')(A(8))('BOKF.DATUM')(A(13))('VER.TEXT')(A(21))('KONTO')(A(21))
('DEBET')(A(15))('KREDIT')(A)SKIP;RAD=45;
ST:ON ENDFILE GO TO UT;READ FILE(VERFIL)INTO(VER);
IF IND THEN DO;XVERNR=VERNR;XDAT=DAT;END;
IF VERNR¬=XVERNRöIND=1 THEN DO;PUT SKIP(2)EDIT(VERNR)
(P'ZZZZZ9',X(7));RAD=RAD-2;END;
ELSE DO;PUT SKIP EDIT(' ')(A(13));RAD=RAD-1;END;
IF DAT¬=XDATöIND=1öXVERNR¬=VERNR THEN PUT EDIT(DAT)(P'99.99',X(3));
ELSE PUT EDIT(' ')(A(8));
IF XVERNR¬=VERNR THEN PUT EDIT(VTX)(A(22));ELSE PUT EDIT(' ')(A(22));
IND=0;XVERNR=VERNR;XDAT=DAT;
PUT EDIT(KO)(A(4))(AVD)(A(8));
IF KOD='K' THEN PUT EDIT(' ')(A(16));
PUT EDIT(BEL)(P'---------9V.99');
IF KOD='D' THEN TD=TD+BEL;IF KOD='K' THEN TK=TK+BEL;IF VERIFY(KOD,'DK')=0
THEN GO TO FEL;
IF RAD<12 THEN GO TO RUB;GO TO ST;
UT:PUT SKIP(2)EDIT('TOTALT UNDER MÅNADEN:')(A(53))(TD)(P'-----------9V.99')
(TK)(P'------------9V.99')SKIP(RAD-7);GO TO SLUT;
FEL:PUT SKIP EDIT('*** FEL I NÄSTA TRANSAKTION. ')(A)
('RÄTTA TILL, OCH KÖR LISTAN EN GÅNG TILL.')(A)SKIP(RAD-7);
DO J=1 TO 5;CALL OUTPUT(1,6);DO JJ=1 TO 300;END;END;
SLUT:CALL LOAD('BOKRUT',6);END;