0% found this document useful (0 votes)
130 views

Inq - Build Routine

The routine is incorrectly checking the WORKING.BALANCE field instead of applying selection criteria to the CATEGORY field as defined in the enquiry. Modifying the routine to: 1. Only check if CATEGORY matches the defined values 2. Dynamically add WORKING.BALANCE as a selection field if CATEGORY matches 3. Define selection values for WORKING.BALANCE as subvalue sets instead of spaces. This should correctly apply the working balance restrictions when the enquiry is run based on the category selected.

Uploaded by

Shakil Chowdhury
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views

Inq - Build Routine

The routine is incorrectly checking the WORKING.BALANCE field instead of applying selection criteria to the CATEGORY field as defined in the enquiry. Modifying the routine to: 1. Only check if CATEGORY matches the defined values 2. Dynamically add WORKING.BALANCE as a selection field if CATEGORY matches 3. Define selection values for WORKING.BALANCE as subvalue sets instead of spaces. This should correctly apply the working balance restrictions when the enquiry is run based on the category selected.

Uploaded by

Shakil Chowdhury
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

jbase_agent -p 20100

FT14122JNKY7

FT141226YZP2 GB0010001.C-55555.900.ALL FT14122SVQHL

FT14122B9XNB
FT14122S1BMJ D20170621114782807101
FT14122VKXCL
DE.ADDRESS, I GB0010001.C-55555.SMS.1 GB0010001.C-55555.EMAIL.1

320.LD50.1.GB 320.LD51.1.GB LD1412290108

E.LD.INT.LIST

1. GB0010001.C-55555.PRINT.2 DE.ADDRESS, I

2. GB0010001.A-15555.910.ALL DE.PRODUCT, I

3. Txn Complete: FT14122FHX9F 08:39:10 13 JUN 2017 FUNDS.TRANSFER, I

DE.MM.PRINT.MSG D20170703157242111002
D20170613191693115001-910.2.1 CREDIT ADVICE

CHEQUE.ISSUE,TRG
CHEQUE.ISSUE.DS
TRG.CHQ.RTN

LIST F.DATES LAST.WORKING.DAY NEXT.WORKING.DAY

$INSERT I_COMMON
E.GET.AC.ONLINE.ACTUAL.BALANC
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
$INSERT I_F.EB.CONTRACT.BALANCES
0019
0020 ACCOUNT.ID = O.DATA
0021
0022 CALL EB.READ.HVT('EB.CONTRACT.BALANCES',ACCOUNT.ID,ECB.RECORD,'')
0023
0024 O.DATA = ECB.RECORD<ECB.ONLINE.ACTUAL.BAL>
0025
0026 RETURN
0027 END

ENQ ACC.1
INP.RTN.FT.TEST1

BNK/LD.CUSTOMER
130057 100160
SUBROUTINE LD.CUSTOMER.LOAD
$INSERT ..\T24_BP I_COMMON
$INSERT ..\T24_BP I_EQUATE
$INSERT ..\T24_BP I_F.LD.LOANS.AND.DEPOSITS
$INSERT I_LD.CUSTOMER.COMMON
END

BNK/CUSTOMER.AC

192663
1410952635
jbase_agent -p 20100

SELECT FBNK.ACCOUNT WITH PYRAMID EQ Y


BNK/AC.TEST

SEL.CMD= "SELECT ":FN.CUSTOMER.ACCOUNT


CALL EB.READLIST(SEL.CMD,SEL.LIST,'',NO.OF.SEL,RET.CODE)
LOOP
REMOVE Y.CUS.ID FROM SEL.LIST SETTING POS
WHILE Y.CUS.ID:POS
CALL F.READ(FN.CUSTOMER.ACCOUNT,Y.CUS.ID,R.CUS.ACC,F.CUSTOMER.ACCO
Y.AMT=0
TOTAL.AMT=0
LOOP
REMOVE AC.ID FROM R.CUS.ACC SETTING AC.POS
WHILE AC.ID:AC.POS
GOSUB AC.PROCESS
REPEAT

CALL F.READ(FN.LMM.CUSTOMER,Y.CUS.ID,R.LMM.REC,F.LMM.CUSTOMER,LMM.

S.NOF.CUS.BL 100271 6607.3 MM1308100011 100273


NOFILE.CUS.DE.REPORT
ENQ CUS.DE.REPORT
21001 - 21039
130046 1071.44 MM1305600062

LD1309137517

21052 CATEGORY EQ 21-052


LD.IMRAN1
LD.SCHEDULE.DEFINE LD1305600772 CONTRACT.NO
LD.SCHEDULE.ENQ

PER.ADD.CON.RTN
INIT:
0016 FN.ACCOUNT='F.ACCOUNT'
0017 F.ACCOUNT=''
0018 Y.AC.ID= O.DATA
0019 R.RECORD=''
0020 Y.DATA=''
0021 CALL OPF(FN.ACCOUNT,F.ACCOUNT)
0022 RETURN
0023
0024 PROCESS:
0025 CALL F.READ(FN.ACCOUNT,Y.AC.ID,R.RECORD,F.ACCOUNT,ACC.ERR)
0026 O.DATA= R.RECORD<AC.CURRENCY>:" ":O.DATA
0027 RETURN
0028
0029 END

ACCT.CON.RTN
NOFILE.CUS.REPORT
E.NOF.CUS.AC.DET
CUS.REPORT.ENQ

S.NOF.LD
NOFILE.LD.REPORT
LD.REPORT.ENQ
ENQ LD.REPORT.ENQ 100273 LD1309115610

E.MB.EXCH.PROFIT
E.NOF.CF.MUL.PORT

http://www.t24all.com/index.php/forum/t24-development-a-customization/7515-nofile-
enquiry.html

http://www.t24all.com/index.php/forum/t24-development-a-customization/395-example-
of-nofile-enquiry.html

E.MB.LOAN.PAY.TYPE

ACCOUNT.TEST --> TOTAL

Y.ARRAY= 'KALLIS':@FM:'JONTY':@VM:'NICKY'
LOCATE 'KALLIS' IN Y.ARRAY<2,1> SETTING POS ELSE NULL

I have attached a build routine that should return records whose


> > Working Balance fall within a certain range for the categories 1001
> > and 6001. The restrictions are not applied when I run the enquiry -
> > all records are returned irrespective of the working balance.
>
> > Here is the routine
>
> > SUBROUTINE E.ACWB.BUILD.RTN(ENQ.DATA)
> > $INSERT I_COMMON
> > $INSERT I_EQUATE
> > $INSERT I_ENQUIRY.COMMON
> > LOCATE 'CATEGORY' IN ENQ.DATA<2,1> SETTING Y.CAT.POS ELSE NULL
> > Y.CATEGORY = ENQ.DATA<4,Y.CAT.POS>
> > LOCATE 'WORKING.BALANCE' IN ENQ.DATA<2,1> SETTING Y.WBAL ELSE
> > NULL
> > ENQ.DATA<3,Y.WBAL> = 'RG'
> > IF Y.CATEGORY = 1001 THEN ENQ.DATA<4,Y.WBAL> = '10 50000'
> > IF Y.CATEGORY = 6001 THEN ENQ.DATA<4,Y.WBAL> = '1000 100000'
> > RETURN
> > END
I think the program is not correct. In your enquiry you have only
CATEGORY field in selection fields. But you are testing
WORKING.BALANCE field that should never happen.The other thing is that
selection data should be defined as subvalue set, not space
delimited.
What will happen if you change your program like:

SUBROUTINE E.ACWB.BUILD.RTN(ENQ.DATA)
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
LOCATE 'CATEGORY' IN ENQ.DATA<2,1> SETTING Y.CAT.POS ELSE
RETURN
END
Y.CATEGORY = ENQ.DATA<4,Y.CAT.POS>
IF Y.CATEGORY MATCHES 1001:VM:6001 ELSE
RETURN
END
LOCATE 'WORKING.BALANCE' IN ENQ.DATA<2,1> SETTING Y.WBAL ELSE
INS ' WORKING.BALANCE' BEFORE ENQ.DATA<2,Y.WBAL>
INS '' BEFORE ENQ.DATA<3,Y.WBAL>
INS '' BEFORE ENQ.DATA<4,Y.WBAL>
END
ENQ.DATA<3,Y.WBAL> = 'RG'
IF Y.CATEGORY = 1001 THEN ENQ.DATA<4,Y.WBAL> = '10':SM:'50000'
IF Y.CATEGORY = 6001 THEN ENQ.DATA<4,Y.WBAL> =
'1000':SM:'100000'
RETURN
END

You might also like