jbase_agent -p 20100
FT14122JNKY7
FT141226YZP2 [Link] FT14122SVQHL
FT14122B9XNB
FT14122S1BMJ D20170621114782807101
FT14122VKXCL
[Link], I [Link].1 [Link].1
[Link] [Link] LD1412290108
[Link]
1. [Link].2 [Link], I
2. [Link] [Link], I
3. Txn Complete: FT14122FHX9F [Link] 13 JUN 2017 [Link], I
[Link] D20170703157242111002
D20170613191693115001-910.2.1 CREDIT ADVICE
[Link],TRG
[Link]
[Link]
LIST [Link] [Link] [Link]
$INSERT I_COMMON
[Link]
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
$INSERT I_F.[Link]
0019
0020 [Link] = [Link]
0021
0022 CALL [Link]('[Link]',[Link],[Link],'')
0023
0024 [Link] = [Link]<[Link]>
0025
0026 RETURN
0027 END
ENQ ACC.1
[Link].TEST1
BNK/[Link]
130057 100160
SUBROUTINE [Link]
$INSERT ..\T24_BP I_COMMON
$INSERT ..\T24_BP I_EQUATE
$INSERT ..\T24_BP I_F.[Link]
$INSERT I_LD.[Link]
END
BNK/[Link]
192663
1410952635
jbase_agent -p 20100
SELECT [Link] WITH PYRAMID EQ Y
BNK/[Link]
[Link]= "SELECT ":[Link]
CALL [Link]([Link],[Link],'',[Link],[Link])
LOOP
REMOVE [Link] FROM [Link] SETTING POS
WHILE [Link]:POS
CALL [Link]([Link],[Link],[Link],[Link]
[Link]=0
[Link]=0
LOOP
REMOVE [Link] FROM [Link] SETTING [Link]
WHILE [Link]:[Link]
GOSUB [Link]
REPEAT
CALL [Link]([Link],[Link],[Link],[Link],LMM.
[Link] 100271 6607.3 MM1308100011 100273
[Link]
ENQ [Link]
21001 - 21039
130046 1071.44 MM1305600062
LD1309137517
21052 CATEGORY EQ 21-052
LD.IMRAN1
[Link] LD1305600772 [Link]
[Link]
[Link]
INIT:
0016 [Link]='[Link]'
0017 [Link]=''
0018 [Link]= [Link]
0019 [Link]=''
0020 [Link]=''
0021 CALL OPF([Link],[Link])
0022 RETURN
0023
0024 PROCESS:
0025 CALL [Link]([Link],[Link],[Link],[Link],[Link])
0026 [Link]= [Link]<[Link]>:" ":[Link]
0027 RETURN
0028
0029 END
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
ENQ [Link] 100273 LD1309115610
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link] --> TOTAL
[Link]= 'KALLIS':@FM:'JONTY':@VM:'NICKY'
LOCATE 'KALLIS' IN [Link]<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 [Link]([Link])
> > $INSERT I_COMMON
> > $INSERT I_EQUATE
> > $INSERT I_ENQUIRY.COMMON
> > LOCATE 'CATEGORY' IN [Link]<2,1> SETTING [Link] ELSE NULL
> > [Link] = [Link]<4,[Link]>
> > LOCATE '[Link]' IN [Link]<2,1> SETTING [Link] ELSE
> > NULL
> > [Link]<3,[Link]> = 'RG'
> > IF [Link] = 1001 THEN [Link]<4,[Link]> = '10 50000'
> > IF [Link] = 6001 THEN [Link]<4,[Link]> = '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
[Link] field that should never [Link] 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 [Link]([Link])
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
LOCATE 'CATEGORY' IN [Link]<2,1> SETTING [Link] ELSE
RETURN
END
[Link] = [Link]<4,[Link]>
IF [Link] MATCHES 1001:VM:6001 ELSE
RETURN
END
LOCATE '[Link]' IN [Link]<2,1> SETTING [Link] ELSE
INS ' [Link]' BEFORE [Link]<2,[Link]>
INS '' BEFORE [Link]<3,[Link]>
INS '' BEFORE [Link]<4,[Link]>
END
[Link]<3,[Link]> = 'RG'
IF [Link] = 1001 THEN [Link]<4,[Link]> = '10':SM:'50000'
IF [Link] = 6001 THEN [Link]<4,[Link]> =
'1000':SM:'100000'
RETURN
END