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

⟦7c8e9ccf3⟧

    Length: 26912 (0x6920)
    Notes: pts_type(SC)
    Names: »DNTRF.SC«

Derivation

└─⟦35fda6e03⟧ Bits:30009701 Philips computer tape "BARCLAY"
    └─⟦this⟧ »DEMO6800/DNTRF.SC« 
└─⟦e276fd206⟧ Bits:30009696 Philips computer tape "600413"
    └─⟦this⟧ »DEMO6800/DNTRF.SC« 

PTS(SC)

 IDENT DNTRF  TRANSFER
	DDUM 	DEMODD			
	PDIV				
	ENTRY	DNTRF			
	ENTRY	SPAP19 
	ENTRY	SPAP20 
	EXPROC	DKDSTM
	EXPROC	PAJRN			 
	EXPROC	PBBOOK			 
	EXPROC	PCVCH			 
	EXPROC	QENTRS
	EXPROC	QGATYP
	EXPROC	XBFMT			 
	EXPROC	ZCRDD 
	EXPROC	ZDRWRD			 
	EXPROC	ZHWRID			 
	EXPROC	ZGREA 
************************************************************************
*        PROCEDURE NAME:*
*                DNTRF                 TRANSFER*
*        FUNCTIONAL DESCRIPTION:*
*                THE PROCEDURE TRANSFERS AN AMOUNT FROM ONE ACCOUNT-*
*                RECORD TO ANOTHER.*
*                THE ACCOUNT-RECORD(FROM) IS READ INTO UA1-WORKBLOCK.*
*                THE ACCOUNT-RECORD (TO)  IS READ INTO UA2-WORKBLOCK.*
*                THE TWO ACOUNT-RECORDS ARE UPDATED.*
*                UT1-WORKBLOCK, TRANSACTION-RECORD FOR THE *
*                ACCOUNT-RECORD(FROM), IS FILLED WITH THE USUAL DATA.*
*                UT2-WORKBLOCK, SAME FOR ACCOUNT-RECORD(TO).*
**
*                BOTH TRANSACTION AND BOTH ACCOUNT-RECORDS ARE*
*                REWRITTEN TO THE DATABASE.*
**
*                THE OPERATOR-BALANCE IS UPDATED.*
**
*                IN CASE OF A TERMINAL-PRINTER AND A SAVINGS-ACCOUNT,*
*                MODULE PBBOOK IS PERFORMED FOR ACCOUNT-RECORD(FROM).*
**
*                IN CASE OF A TERMINAL-PRINTER AND A CHEQUE-ACCOUNT,*
*                MODULE PCVCH IS PERFORMED FOR ACOOUNT-RECORD(FROM).*
**
*         PROCEDURES USED:*
**
*                PAJRN      PRINT JOURNAL-ROLL*
*                PBBOOK     PRINT BOOK*
*                PCVCH      PRINT VOUCHER*
*                XBFMT      SCREEN-CONTROL*
*                ZCRDD      READ DATABASE 
*                ZDRWRD     WRITE DATABASE*
*                ZGREA      RELEASE EXCLUSIVE ACCESS *
*                ZHWRID     REWRITE OR INSERT RECORD ON DATABASE*
**
************************************************************************
DNTRF	PROC				
DN000					
	MOVE	IDACTNR1,=D'0'			
* 
*   THE INPUTFIELDS IN LINE 2 OF THE TRANSFERSCREEN ARE CLEARED 
*   IF THE ACCOUNTNR. KEYED-IN IS A CHEQUE-ACCOUNT, LINE 2
*     IS REDISPLAYED IN ANOTHER FORMAT
* 
* 
*  DISPLAY SCREEN: DEFAULT FOR SAVINGS-ACCOUNT
* 
	TBF	SBFT80,DN010 
	PERF	XBFMT,=W'71'
	B	DN020
DN010 
	PERF	XBFMT,=W'45'			
DN020 
	TBF	SBCANCEL,DN050			
	PERF	PAJRN,=W'2'			
	B	DN999			
*     *
*   UA1-WORKBLOCK CONTAINS ACCOUNT-RECORD(FROM); ADNEWBAL IS UPDATED*
*   UA2-WORKBLOCK CONTAINS ACCOUNT-RECORD(TO); TDAMOUNT CONTAINS*
*   THE AMOUNT OF THE TRANSFER*
**
DN050					
**
*   PRINT JOURNAL-ROLL*
**
	MOVE	IDACTNR1,ADACTRNR			
	DIV	IDACTNR1,KDSHIFT			
	MOVE	TDTRSCDE,=D'12'			
	PERF	PAJRN,=W'2'			
         MOVE    ICTEXT3,YCCCY(KW4)    SYSTEM CURRENCY
	PERF	PAJRN,=W'4'			
	MOVE	UDTRSCDE,=D'11'			
	PERF	PAJRN,=W'8'			
DN100					
**
*   UPDATE ACCOUNT-RECORD(FROM)*
**
	PERF	QENTRS,ADLASTRS	UPDATE LAST TRANSACTION 
* 
*   TDAMOUNT CONTAINS AMOUNT KEYED IN BY THE OPERATOR 
* 
	TBF	SBRVS,DN110
	MUL	TDAMOUNT,=D'-1'
DN110 
	SUB	ADBAL,TDAMOUNT 

	ADD	ADWDRCUM,TDAMOUNT			
	ADD	YDLASSEQ,=D'1'			
	MOVE	ADLASSEQ,YDLASSEQ			
DN200					
**
*   UPDATE ACCOUNT-RECORD(TO)*
**
	ADD	BDBAL,TDAMOUNT			
	PERF	QENTRS,BDLASTRS	UPDATE LAST TRANS.
DN210					
	ADD	BDDEPCUM,TDAMOUNT			
	MOVE	BDLASSEQ,ADLASSEQ			
DN300					
**
*   UPDATE TRANSACTION-RECORD(FROM)*
**
	MOVE	TDTRSRNR,ADACTRNR			
	ADD	TDTRSRNR,ADLASTRS			
	MOVE	TDTRSSEQ,ADLASSEQ			
	MOVE	TDNEWBAL,ADBAL			
DN400 
* 
*   UPDATE TRANSACTION-RECORD(TO) 
* 
	MOVE	UDTRSRNR,BDACTRNR 
	ADD	UDTRSRNR,BDLASTRS
	MOVE	UDTRSSEQ,BDLASSEQ 
	MOVE	UDAMOUNT,TDAMOUNT 
	MOVE	UDNEWBAL,BDBAL
	MOVE	UDACTFRM,IDACTNR1 
DN500 
**
*   (RE)WRITE ACCOUNT- AND TRANSACTIONRECORDS*
**
	PERF	ZHWRID,TDTRSRNR,NDLRN3
	TBT	SBCANCEL,DN999 
	PERF	ZHWRID,UDTRSRNR,NDLRN3
	TBT	SBCANCEL,DN999 
	PERF	ZDRWRD,ADACTRNR,NDLRN1			
	TBT	SBCANCEL,DN999 
	PERF	ZDRWRD,BDACTRNR,NDLRN2			
	TBT	SBCANCEL,DN999 
* 
* UPDATE OPERATOR BALANCES
* 
	ADD	ODCASH(KW2,KW2),TDAMOUNT 
* 
* PRINT PASSBOOK OR VOUCHER 
* 
DN700 
	CBG	RDPRTTYP,=D'1',DN999 
	TBT	SBCHQACT,DN710 
	PERF	ZCRDD,ADACTRNR,NDLRN1,KW1	READ ACCOUNT FOR PBBOOK 
	TBT	SBCANCEL,DN999 
	PERF	PBBOOK
	B	DN999
DN710 
	PERF	PCVCH,=W'2' 
DN999					
	RET				
	PEND				
************************************************************************
SPAP19	PROC	XWRET			
	PBIN	XWRET 
S19000					
* 
* RELEASE EXCLUSIVE ACCES FIRST 
* 
	PERF	ZGREA 
* 
* THE VALUES OF SPBINW2 AND SPINPUT ARE DESTROYED BY
* THE KI-INSTRUCTIONS IN PBBOOK OR DKDSTM, SO SAVE THEM 
* SPBINW2 IS SAVED IN IWINDEX1
* SPINPUT IS ALREADY SAVED IN IDACTNR1
* 
	MOVE	IWINDEX1,SPBINW2
**
*   ACCOUNTRECORD IN RANGE ?*
**
	CBL	IDACTNR1,=D'168000',S19100			
	CBG	IDACTNR1,=D'168999',S19100			
	B	S19300			
S19100					
	MOVE	XWRET,=W'1'			
	MOVE 	SPBINW4,=W'1'	'VALUE NOT IN RANGE'		
	B	S19999			
* 
*   READ ACCOUNT(FROM)-RECORD VIA INDEXFILE01 
* 
S19300

Full view