Professional Documents
Culture Documents
OBJECTIVE
16 October 2006
Introduction
16 October 2006
1
Enquiry Subroutines
16 October 2006
16 October 2006
I_ENQUIRY.COMMON
16 October 2006
2
O.DATA
16 October 2006
R.RECORD
16 October 2006
BUILD Routine
16 October 2006
3
BUILD Routine
16 October 2006
Example 1
16 October 2006
Solution 1
16 October 2006
4
Example 1
16 October 2006
Solution 1 – Algorithm
16 October 2006
Solution 1
16 October 2006
5
Solution 1
16 October 2006
WORKSHOP 1
16 October 2006
CONVERSION ROUTINE
16 October 2006
6
Example 2
16 October 2006
Solution 2
16 October 2006
Solution 2
16 October 2006
7
Solution 2
16 October 2006
Solution 2
SUBROUTINE E.TRG.CONV.RTN
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
$INSERT I_F.LD.LOANS.AND.DEPOSITS
$INSERT I_F.ENQUIRY
*
GOSUB INITIALISE
GOSUB PROCESS
RETURN
END
16 October 2006
Solution 2
INITIALISE:
Y.LD.CURR = R.RECORD<LD.CURRENCY>
Y.CURR.REC = “”
RETURN
PROCESS:
RETURN
*
END
16 October 2006
8
Solution 2
16 October 2006
WORKSHOP 2
16 October 2006
Summary
16 October 2006
9
Creating NOFILE Enquiries
16 October 2006
Agenda
16 October 2006
Prerequisites
16 October 2006
10
Why NOFILE enquiry?
16 October 2006
16 October 2006
16 October 2006
11
Setting up the ENQUIRY application
16 October 2006
16 October 2006
Files to be used
16 October 2006
12
Solution 1 - Algorithm
16 October 2006
Solution 1 - Algorithm
16 October 2006
SUBROUTINE E.NOF.CUS.AC.DET(AC.DET.ARR)
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
$INSERT I_F.CUSTOMER
$INSERT I_F.ACCOUNT
$INSERT I_F.CUSTOMER.ACCOUNT
$INSERT I_F.STMT.ENTRY
$INSERT I_F.ACCR.ACCT.CR
$INSERT I_F.ACCR.ACCT.DR
GOSUB INITIALISE
GOSUB PROCESS
RETURN
16 October 2006
13
NOFILE Routine
*----------------*
INITIALISE:
*----------------*
RETURN
16 October 2006
NOFILE Routine
*------------------*
PROCESS:
*------------------*
16 October 2006
NOFILE Routine
LOOP
REMOVE ACC.ID FROM R.CUS.ACC SETTING POS
WHILE ACC.ID:POS
GOSUB CALC.ENT.FWD
GOSUB CALC.ACCR.INT
AC.DET.ARR<-1> = ACC.ID:”*”:DR.AMT:”*”:CR.AMT:”*”:CR:”*”:TOT.INT:”*”:CR.TOT.INT
REPEAT
RETURN
16 October 2006
14
*--------------------------*
CALC.ENT.FWD:
*--------------------------*
DR.AMT = “” ; CR.AMT = “”
CALL F.READ(FN.ACCT.ENT.FWD, ACC.ID, R.FWD, FN.ACCT.ENT.FWD, RET.ERR)
LOOP
WHILE STMT.ID:FWD.POS
REPEAT
RETURN
16 October 2006
NOFILE Routine
*------------------------- *
CALC.ACCR.INT:
*-------------------------*
CR.TOT.INT = “” ; DR.TOT.INT = “”
RETURN
END
16 October 2006
STANDARD.SELECTION Record
16 October 2006
15
STANDARD SELECTION Record
16 October 2006
ENQUIRY Record
16 October 2006
ENQUIRY Record
16 October 2006
16
Executing Enquiry
16 October 2006
Sample Output
16 October 2006
Summary
16 October 2006
17
Summary (Cont.)
16 October 2006
THE END
16 October 2006
18