DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦049f6f726⟧

    Length: 14360 (0x3818)
    Notes: pts_type(SC)
    Names: »RGSUB1.SC«

Derivation

└─⟦f445cacdf⟧ Bits:30009666 Philips computer tape "600111"
    └─⟦this⟧ »NJ-AMT/RGSUB1.SC« 

PTS(SC)

 IDENT RGSUB1 821201 NJ 
         DDUM    KMD08
         PDIV 
	ENTRY	SLUT 
         ENTRY   FLDTST 
 ENTRY UPDAKK 
 ENTRY SUMWRT 
 ENTRY UPDA12 
 ENTRY FLDIN
	EXT	PACKST 
         EXT     WRITFD 
         EXT     WRITVO 
         EXT     WRITJT 
	EXT	FRMTJT 
	EXT	FRMXTA 
	EXT	WTALLY 
	EXT	FRMTVO 
 EXT KTPLAN 
 EXT SPERR
	EXT	SPLIN8 
	EXT	SPINF8 
	INCLUDE	EQUATE 
 EJECT
SLUT     PROC 
** SLUT - PACKS THE BUFFER
** WRITES TO DISK 
** WRITE JOURNAL
** WRITE VOUCHER
** UPDATE ACCUMULATE=ORS
* 
	TBT	TTINVFLG,SLUT30	IF IN MODPOST
*          FIND CORRECT ARKIV KONTO NR
 MOVE TTDBKRM,=C'K' IF KREDIT 
 CBE TTDKDEX,CBIN1,SLUT10 
 MOVE TTDBKRM,=C'D' IF DEBET
SLUT10
	TBF	GTCYFLG,SLUT30 
	TBT	TTCY2FLG,SLUT30
 CBE GTREGDEX,CBIN3,SLUT30 IF TRANS 3 
 CBE GTREGDEX,CBIN4,SLUT30 IF TRANS 4 
	MOVE	GTDUPF(CBIN9),TTARKSAV
	MOVE	GTUSED(CBIN9),CBIN13
	CBNE	TTARKSAV,=D'0',SLUT30	NO ARKIV? 
	MOVE	TTARKSAV,GTDUPF(CBIN1)
	MOVE	GTDUPF(CBIN9),TTARKSAV
SLUT30
* INSERT 'REGNSKABSAAR IF TRANSTYPES 1,2,5-10 
	CBG	GTREGDEX,=W'10',SLUT50 
	CBE	GTREGDEX,=W'3',SLUT50
	CBE	GTREGDEX,=W'4',SLUT50
* TYPES 1,2,5-10
 CBNE GTREGDEX,CBIN10,SLUT34 TRANS10 ALWAYS SUPPL 
 MOVE TTSUPMRK,=C'G'
 B SLUT37 
SLUT34
 TBT TTSUPFLG,SLUT35
 MOVE TTSUPMRK,=C' '
 B SLUT50 
SLUT35
 CBE TTSUPMRK,=C'N',SLUT36
 CBE TTSUPMRK,=C'G',SLUT37
 B SLUT50 
SLUT36
 MOVE GTDUPF(CBIN6),GTDATO
 ADD GTDUPF(CBIN6),=D'1' FORSUPP
 B SLUT40 
SLUT37
	MOVE	GTDUPF(CBIN6),GTDATO	GET DATE 
	SUB	GTDUPF(CBIN6),=D'1'	SUB 1 FROM YEAR
SLUT40
	MOVE	TSWBCD2,GTDUPF(CBIN6)	ISOLATE LAST DIGIT
	MOVE	GTDUPF(CBIN6),TSWBCD2 
	MOVE	GTUSED(CBIN6),CBIN10	 SET FIELD NO
SLUT50
	ADD	TTLBNR,=D'1'	EKSP. LB. NR
         PERF  WRITFD 
	BNOK	SLUTNOK 
	PERF	SUMWRT	WRITE SUM OR RESTSUM 
	TBF	GTKASSE,SLUT60	 ON JOURNAL?
	PERF	FRMTJT
	PERF	WRITJT,=W'0'
SLUT60
	PERF	FRMTVO
         PERF  WRITVO 
* TEST IF IN LISTE
	TBF	TTLSTFLG,SLUT80
	PERF	FRMXTA,CBIN4
	PERF	WTALLY
SLUT80
         PERF  UPDAKK 
 SET GTKORTFL 
 MOVE GSWBIN1,GTKTTYP 
 IB GSWBIN1,		C 
		SLUT90,SLUT95,SLUT95,SLUT95,SLUT90
SLUT90
 CLEAR GTKORTFL 
SLUT95
	SET	TTEORFLG 
 CLEAR SPME READY FOR FUNCTIONS 
	CLEAR	GTREGFLG 
	CMP	CBIN0,CBIN0	OK, SETCR=0
	RET
SLUTNOK 
	SUB	TTLBNR,=D'1'	CHANGE LB. NR. AFTER
			DISK ERROR 
	MOVE	SPBINW4,=W'17'
	CMP	CBIN1,CBIN0
         RET
         PEND 
	EJECT
SUMWRT	PROC 
********************
* 
**          SUMWRT - CALCULATE AND WRITE SUM/RESTSUM
* 
********************
	TBF	TTSUMFLG,SUMRET	ONLY IF SUM
	TBF	GTCYFLG,SUMADD	
	TBT	TTCY2FLG,SUMADD
	SUB	GTSUM,GTDUPF(CBIN4)	CALCULATE NEW RESTSUM
	ADD	TTCYKTOT,GTDUPF(CBIN4) 
	B	SUMOUT 
SUMADD
	ADD	GTSUM,GTDUPF(CBIN4)	CALCULATE NEW SUM
	ADD	TTCYKTOT,GTDUPF(CBIN4) 
SUMOUT
	PERF	SPINF8
SUMRET
	ADD	GTSUMCNT,GTDUPF(CBIN4)	ALWAYS ADD TO SUMFUNCTION 
	RET
	PEND 
         EJECT
UPDAKK   PROC 
********************
* 
*        UPDAKK 
*         ROUTINE FOR UPDATING ACCUMULATORS 
* 
*        TR1-TR10  UPDATES TTACC(IDX1,IDX2) 
*                IDX1 = TRNR
*               IDX2 = DEB/KRE
*        TR12  UPDATES TTACC12(IDX1,IDX2) 
*                IDX1 = TAELLER NR
*                IDX2 = DEB/KRE 
* 
*        ALL TRANSACTIONS UPDATE  TTTOTDK(IDX2) 
*        AND IF INVERT               TTKORDK(IDX2)
* 
********************
         CBNE    GTREGNR,='12',UPD20
         PERF    UPDA12                    TAELLER 12 
         B       UPDRET 
UPD20 
	CBG	GTREGNR,=D'30',UPDRET	NO ACCUMULATION FOR
			CERTAIN TRANSACTIONS 
	CBE	GTUSED(CBIN6),CBIN0,UPD30
	ADD	TTACC(CBIN8,TTDKDEX),GTDUPF(CBIN4) 
			UPDATE SUPL COUNTER
UPD30 
 TBT GTTESTFL,UPD38 
*     ACCUMULATE 'BEHOLDNINGSTAELLERE'
 MOVE GSWBIN1,CBIN1 
UPD35 
 CBE CBACC(GSWBIN1,CBIN1),GTDUPF(CBIN3),UPD350 BKO? 
 CBNE CBACC(GSWBIN1,CBIN1),GTDUPF(CBIN1),UPD36 FOUND? 
UPD350
 ADD CBACC(GSWBIN1,CBIN2),GTDUPF(CBIN4) 
 ADD CBACC(GSWBIN1,CBIN3),GTDUPF(CBIN4) 
UPD36 
 ADD GSWBIN1,CBIN1 LOOK AT NEXT COUNTER 
 CBNG GSWBIN1,=W'60',UPD35
UPD38 
	MOVE	GSWBIN1,CCNTDEX(GTREGDEX)	GET INDEX 
         ADD     TTACC(GSWBIN1,TTDKDEX),GTDUPF(CBIN4) 
                                           UPDATE ACCUMULATOR 
 IB TTDKDEX,UPDKR,UPDDB SEE IF INVERT 
UPDDB 
         CBNL    GTDUPF(CBIN4),='0',UPD50  IF NEGATIVE DEBET
	ADD	TTACC(CBIN7,TTDKDEX),GTDUPF(CBIN4)	CORRECTION
 B UPD50
UPDKR 
	CBNG	GTDUPF(CBIN4),=D'0',UPD50	IF POSITIVE KREDIT, 
	ADD	TTACC(CBIN7,TTDKDEX),GTDUPF(CBIN4)	CORRECTION
UPD50 
	CBG	GSWBIN1,CBIN4,UPDRET	IF COUNTER 5,6
         TBT     GTTFLG,UPDRET             WHEN CLOSE, NO UPDATE
 TBT CWFLAG,UPD60 
 CBE TTCASHAC,GTDUPF(CBIN1),UPD54 IF KASSEKONTO,NO UPDATE 
 CBE TVERSUR,GTDUPF(CBIN1),UPD54 IF VERSUR, NO UPDATE 
 B UPD55
UPD54			SPECIAL ACCOUNTS
 ADD TTCYKTOT,GTDUPF(CBIN4) CASH CORRECTION 
 B UPD60
UPD55 
 MOVE TTCYKTOT,=D'0' CASH CORRECTION
UPD60 
         CBG     GTREGNR,=D'17',UPDRET
         SUB     TTCASH,GTDUPF(CBIN4) 
         B       UPDRET 
UPDRET
	RET
         PEND 
         EJECT
UPDA12   PROC 
********************
* 
*        UPDA12 - UPDATE FOR TR12 
* 
********************
         MOVE    GSWBIN1,TTCNTNR           TAELLER NR 
 SUB GSWBIN1,=W'100' GET INDEX
 ADD GSWBIN1,CTR12(GTUWB,CBIN1) 
         ADD     C12ACC(GSWBIN1,TTDKDEX),GTDUPF(CBIN4)
 ADD TTEJEDB,GTDUPF(CBIN4)
 MOVE GSWBCD1,CTR12NR(GSWBIN1) GET TR 12 ACCOUNT
 PERF KTPLAN,GSWBCD1,GTKTTYP SEE IF KORT NEEDED 
         RET
         PEND 
         EJECT
FLDTST   PROC 
********************
* 
*        FLDTST - TEST IF FIELDS ARE ENTERED CORRECT
*        FELT AFHAENGIGHEDS TEST
* 
********************
	PERF	PACKST	CLEAR UNUSED FIELDS
         IB      GTREGDEX,		C 
		FLDTOK,FLDTOK,FLDT03,FLDT04,FLDTOK,		C
		FLDTOK,FLDTOK,FLDT08,FLDT09,FLDT10,		C
                 FLDTOK,FLDTOK,FLDTOK,FLDTOK,FLDT45,		C 
                 FLDT45,FLDTOK,FLDTOK,FLDTOK,FLDT50,		C 
                 FLDT50,FLDT52,FLDT53,FLDT54
* 
FLDT03
 CBE GTUSED(CBIN12),CBIN0,FLDT035 FIELD 16? 
*     YES, RTE/GEB, INSERT TEXT IN TT16TXT
 MOVE GSWBCD3,GTDUPF(CBIN12) GET FIELD
 CBNE GSWBCD3,=D'0',FLDT031 
 MOVE TT16TXT,=C'RAT' IF = 0
 B FLDT035
FLDT031 
 CBNE GSWBCD3,=D'1',FLDT032 
 MOVE TT16TXT,=C'RTE' IF = 1
 B FLDT035
FLDT032 
 CBNE GSWBCD3,=D'2',FLDT035 
 MOVE TT16TXT,=C'GEB' IF = 2
FLDT035 
 TEST CFLT48
 BZ FLDTOK BRANCH IF FALSE
 CMP GTUSED(CBIN15),=W'0' 
 BNE FLDTOK FIELD 48 USED 
 CMP GTDUPF(CBIN3),=D'21' 
 BL FLDT037 
 CMP GTDUPF(CBIN3),=D'26' 
 BL FLDTOK BKO =  21-25 
FLDT037 
 CMP GTDUPF(CBIN3),=D'46' 
 BE FLDTOK BKO=46 
 CMP GTDUPF(CBIN3),=D'56' 
 BE FLDTOK BKO=56 
 MOVE GTUSED(CBIN15),=W'48' SET FIELD 48 USED 
 MOVE GTDUPF(CBIN15),=D'1' SET FIELD 48 = 1 
 B FLDTOK 
* 
FLDT04
         TBT     BCPR,FLDT041              CIR
 CMP GTUSED(CBIN10),=W'0' 
 BE FLDTOK FIELD 17 (INDEX 10)
         B       FLDTNOK
FLDT041                                    CPR
         PERF    FLDIN,CBIN11,CBIN12,CBIN13,CBIN0 FIELD 18,19,20
 CMP GSWBIN1,=W'0'
 BNE FLDTNOK
 CMP GTUSED(CBIN10),=W'0' 
 BNE FLDTOK 
         B       FLDTNOK
* 
FLDT08
 TEST CFLT46
 BZ FLDT09
 CMP GTUSED(CBIN17),=W'0' 
 BNE FLDT09 FIELD 46 USED 
 MOVE GTUSED(CBIN17),=W'46' ELSE SET FIELD 46 USED
 MOVE GTDUPF(CBIN17),=D'1' SET FIELD 46 = 1 
 B FLDT09 
* 
FLDT09
*  NB. NORDJYLLANDS AMT 
*  AT LEAST ONE FIELD 23,24,25,26: INDEX 12,13,14,15
 PERF FLDIN,CBIN12,CBIN13,CBIN14,CBIN15 
 CMP GSWBIN1,=W'0'
 BNE FLDTOK 
 TBT TFELT90,FLDTOK 
 TBT TFELT91,FLDTOK 
 TBT TFELT92,FLDTOK 
 TBT TFELT93,FLDTOK 
 TBT TFELT94,FLDTOK 
 B FLDTNOK
* 
FLDT10
 MOVE GSWBIN1,GTKTTYP 
 IB GSWBIN1,		C 
		FLDT105,FLDT105,FLDT102,FLDT108,FLDT108 
FLDT102 
 B FLDTOK 
FLDT105 
 CMP GTUSED(CBIN2),=W'0'
 BNE FLDTOK 
 B FLDTNOK
FLDT108 
 CMP GTUSED(CBIN2),=W'0'
 BNE FLDTOK 
 MOVE SPBINW4,=W'26'
 PERF SPERR 
 CMP SPBINW2,CBIN2
 BE FLDTOK KOR-KEY
 MOVE SPBINW4,=W'0' 
 B FLDTNOK NOT KOR-KEY
* 
FLDT45
         PERF    FLDIN,CBIN3,CBIN4,CBIN5,CBIN0 FIELD 55,56,57 
         CBE     GSWBIN1,=W'1',FLDTOK 
         B       FLDTNOK
* 
FLDT50
         PERF    FLDIN,CBIN2,CBIN1,CBIN0,CBIN0  FIELD 6,28
	CBE	GSWBIN1,=W'1',FLDTOK 
         B       FLDTNOK
* 
FLDT52
         PERF    FLDIN,CBIN2,CBIN1,CBIN0,CBIN0 FIELD 6,28 
         CBNE    GSWBIN1,=W'1',FLDTNOK
         PERF    FLDIN,CBIN12,CBIN7,CBIN0,CBIN0 FIELD 33,40 
         CBE     GSWBIN1,=W'2',FLDT525
	PERF	FLDIN,CBIN14,CBIN20,CBIN21,CBIN22	FIELD 42,43,44,45 
         CBNE    GSWBIN1,=W'0',FLDTNOK
FLDT525 
         CBNE    GTDUPF(CBIN17),=D'1',FLDT527 FIELD 46
         CBE     GTUSED(CBIN20),=W'0',FLDTNOK FIELD 43
FLDT527 
         CBE     GTUSED(CBIN1),=W'0',FLDTOK FIELD 28
         CBNE    GTUSED(CBIN15),=W'0',FLDTNOK FIELD 48
         B       FLDTOK 
* 
FLDT53
         CBNE    GTUSED(CBIN12),=W'0',FLDT535 FIELD 47
         PERF    FLDIN,CBIN20,CBIN21,CBIN22,CBIN0 FIELD 43,44,45
         CBNE    GSWBIN1,=W'0',FLDTNOK
FLDT535 
         CBNE    GTUSED(CBIN7),=W'0',FLDT537 FIELD 40 
         CBNE    GTUSED(CBIN12),=W'0',FLDTNOK FIELD 47
FLDT537 
         CBE     GTUSED(CBIN1),=W'0',FLDTOK FIELD 28
         CBNE    GTUSED(CBIN15),=W'0',FLDTNOK FIELD 48
         B       FLDTOK 
* 
FLDT54
         CBE     GTUSED(CBIN1),=W'0',FLDTOK FIELD 28
         CBNE    GTUSED(CBIN15),=W'0',FLDTNOK FIELD 48
         B       FLDTOK 
* 
FLDTOK
         CMP     CBIN0,CBIN0               SET CR=0 OK
         RET
* 
FLDTNOK 
         CMP     CBIN0,CBIN1               SET CR <> 0  NOT OK
         RET
         PEND 
* 
* 
         EJECT
FLDIN    PROC    FML1,FML2,FML3,FML4
********************
* 
*        FLDIN- TESTS HOW MANY OF THE GIVEN FIELDS
*        (GIVEN BY INDEX) ARE PRESENT 
*        OUTPUT IN GSWBIN1
* 
********************
         MOVE    GSWBIN1,=W'0'
         CBE     FML1,=W'0',FLD5
	CBE	GTUSED(FML1),=W'0',FLD1
         ADD     GSWBIN1,=W'1'
FLD1
         CBE     FML2,=W'0',FLD5
         CBE     GTUSED(FML2),=W'0',FLD2
         ADD     GSWBIN1,=W'1'
FLD2
         CBE     FML3,=W'0',FLD5
         CBE     GTUSED(FML3),=W'0',FLD3
         ADD     GSWBIN1,=W'1'
FLD3
         CBE     FML4,=W'0',FLD5
         CBE     GTUSED(FML4),=W'0',FLD5
         ADD     GSWBIN1,=W'1'
FLD5
         RET
	PEND 
* 
* 
         END

Full view