× Discuss about Archiving, Close of Business, Delivery Setup, Security Management System, Global Processing etc…

Adding Seaching Filter in No file Enquiry

  • assiddiqui
  • Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
9 years 8 months ago #16265 by assiddiqui
Adding Seaching Filter in No file Enquiry was created by assiddiqui
I have created Nofile enquiry and added multiple searching fields in this enquiry, the enquiry works fine when i click on Find without giving any filter criteria, but when i try to filter from any of the selection fields, it doesnot works. Can someone help me??

Please Log in or Create an account to join the conversation.

  • armin
  • armin's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • “So long - and thanks for all the fish!”
More
9 years 8 months ago #16266 by armin
Replied by armin on topic Adding Seaching Filter in No file Enquiry
Maybe, not not without more details like enquiry definition, routine used and standard selection.

using R11 on Unix

Please Log in or Create an account to join the conversation.

  • assiddiqui
  • Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
9 years 8 months ago #16269 by assiddiqui
Replied by assiddiqui on topic Adding Seaching Filter in No file Enquiry
Please find below details of Enquiry and SS and Subroutine :

ENQUIRY:

@ID................ PK.E.MF.TRADE.IHLD.COP.SW.1
ENQUIRY............ PK.E.MF.TRADE.IHLD.COP.SW.1
PAGE.SIZE.......... 4,19
FILE.NAME.......... NOFILE.MF.TRADE.IHLD.COP.SW.1
FIXED.SELECTION.... F.STR
FIXED.SORT.........
SELECTION.FLDS..... Y.TRADE.ID Y.FUND.ID Y.MF.ORD.CUST.ID Y.MF.TRD.DEAL.DATE Y.MF.ORD.TR.TYPE
Y.MF.ORD.TYPE Y.PART.ACC
BUILD.ROUTINE......
FIELD.NAME......... F.STR Y.TRADE.ID Y.FUND.ID Y.MF.ORD.CUST.ID Y.MF.TRD.DEAL.DATE Y.MF.ORD.TR.TYPE
Y.MF.ORD.TYPE TRANS.AMOUNT TRANS.UNITS Y.PART.ACC
LENGTH.MASK........ 20L 20L 20L 20L 20L 20L 18L, 18L, 20L
COMMENTS...........
K.TYPE.............
DISPLAY.BREAK......
SINGLE.MULTI....... S S
ENQUIRY.NAME....... MF.TRADE,PK.INP.IHLD.SW I Y.TRADE.ID
LABEL.FIELD........ Y.TRADE.ID 2
PAGE.FIELDS........ 10 1 2 3 4 5 6 7 8 9 10
STATIC.FIELDS......
MULTI.FIELDS....... 0
BREAK.FIELDS....... 0
PROCESS.BREAKS..... 0
TOTAL.FIELDS....... 0
SMS.APPLICATION....
SMS.ID.............
SMS.ABORT..........
RECORD.STATUS......
CURR.NO............ 20
INPUTTER........... 172_TEST.1___OFS_BROWSERTC
DATE.TIME.......... 1408151154
AUTHORISER......... 172_TEST.1_OFS_BROWSERTC
CO.CODE............ PK0010001
DEPT.CODE.......... 1
AUDITOR.CODE.......
AUDIT.DATE.TIME....
CUSTOMER.NO.FLD....
ACCOUNT.NO.FLD.....
SEL.FLD.OPER.......
REQUIRED.SEL.......
SPOOL.BRK.FLD......
OPERATION.......... 0 F F.STR F F.STR F F.STR F F.STR F F.STR F F.STR F F.STR F F.STR F
F.STR
LINES.OSIDE.PAGE...
DESCRIPT...........
USE.FIELD.NUMBERS..
SEL.CRIT...........
NEXT.LVL.FLDS...... 1 2
ATTRIBUTES......... ALLDATA
FIELD.DISP.TYPE....
SECTION............
RESERVED7..........
RESERVED6..........
RESERVED5..........
RESERVED4..........
RESERVED3..........
RESERVED2..........
RESERVED1..........
PRODUCT............
SHORT.DESC......... List of trades to be completed
HEADER.............
COLUMN............. 1 37 51 63 89 90 91 111 130
CONVERSION......... F *,1,1 F *,2,1 L MF.FUND.MASTER,FUND.NAME F *,3,1 L CUSTOMER,SHORT.NAME F
*,4,1 F *,5,1 F *,5,1 F *,7,1 F *,8,1 F *,9,1
TYPE...............
REAL.TIME.FILES....
FIELD.LBL.......... Trans Ref Fund Name Customer Name Deal Date Trans Type Order Type Trans
Amount Trans Units Portfolio No
SEL.LABEL.......... Trade ID Fund ID Order Cust ID Deal Date Order Trans Type Order Type
Participation Acc
NXT.DESC........... Complete
COMPANY.SELECT.....
OPEN.BRACKET.......
CLOSE.BRACKET......
REL.NEXT.FIELD.....

COMP.FOR.ENQ.......
ATTRIBS............
TARGET.FIELD.......
TARGET.APPLICATION.
ENQUIRY.GRAPH.ID...
TOOL.ID............
TOOL.TEXT..........
TOOL.ITEM..........
COL.WIDTH..........

STANDARD SELECTION:

@ID.............. NOFILE.MF.TRADE.IHLD.COP.SW.1
FILE.NAME........ NOFILE.MF.TRADE.IHLD.COP.SW.1
SYS.FIELD.NAME...
SYS.TYPE.........
SYS.FIELD.NO.....
SYS.VAL.PROG.....
SYS.CONVERSION...
SYS.DISPLAY.FMT..
SYS.ALT.INDEX....
SYS.IDX.FILE.....
SYS.INDEX.NULLS..
SYS.SINGLE.MULT..
SYS.LANG.FIELD...
SYS.GENERATED....
SYS.REL.FILE.....
USR.FIELD.NAME... F.STR Y.TRADE.ID Y.FUND.ID Y.MF.ORD.CUST.ID Y.MF.TRD.DEAL.DATE Y.MF.ORD.TR.TYPE
Y.MF.ORD.TYPE Y.PART.ACC
USR.TYPE......... R S S S S S S S
USR.FIELD.NO..... PK.E.NOF.MF.TRADE.IHLD.COP.SW.1
USR.VAL.PROG.....
USR.CONVERSION...
USR.DISPLAY.FMT.. 200L 20L 20L 20L 20L 20L 20L 20L
USR.ALT.INDEX....
USR.IDX.FILE.....
USR.INDEX.NULLS..
USR.SINGLE.MULT.. S S S S S S S S
USR.LANG.FIELD...
USR.REL.FILE.....
REBUILD.SYS.FLDS.
SPARE.2..........
SPARE.3..........
SPARE.4..........
RECORD.STATUS....
CURR.NO.......... 10
INPUTTER......... 135_TEST.1___OFS_BROWSERTC
DATE.TIME........ 1408151101
AUTHORISER....... 135_TEST.1_OFS_BROWSERTC

CO.CODE.......... PK0010001
DEPT.CODE........ 1
AUDITOR.CODE.....
AUDIT.DATE.TIME..
DEFAULT.ENRICH...
SYS.CNV.TYPE.....

SUBROUTINE:

SUBROUTINE PK.E.NOF.MF.TRADE.IHLD.COP.SW.1(F.STR)
006
007 $INSERT I_COMMON
008 $INSERT I_EQUATE
009 $INSERT I_ENQUIRY.COMMON
010 $INSERT I_F.MF.TRADE
011
012 Y.TRADE.ID = ''
013 Y.FUND.ID = ''
014 Y.MF.ORD.CUST.ID = ''
015 Y.MF.TRD.DEAL.DATE = ''
016 Y.MF.ORD.TR.TYPE = ''
017 Y.MF.ORD.TYPE = ''
018 Y.PART.ACC = ''
019
020
021 LOCATE "Y.TRADE.ID" IN D.FIELDS<1> SETTING TRADE.POS THEN
022 Y.TRADE.ID = D.RANGE.AND.VALUE<TRADE.POS>
023 END
024
025
026 LOCATE "Y.FUND.ID" IN D.FIELDS<1> SETTING FUND.POS THEN
027 Y.FUND.ID = D.RANGE.AND.VALUE<FUND.POS>
028 END
029
030
031 LOCATE "Y.MF.ORD.CUST.ID" IN D.FIELDS<1> SETTING CUST.POS THEN
032 Y.MF.ORD.CUST.ID = D.RANGE.AND.VALUE<CUST.POS>
033 END
034
035
036 LOCATE "Y.MF.TRD.DEAL.DATE" IN D.FIELDS<1> SETTING DEAL.DATE.POS THEN
037 Y.MF.TRD.DEAL.DATE = D.RANGE.AND.VALUE<DEAL.DATE.POS>
038 END
039
040
041 LOCATE "Y.MF.ORD.TR.TYPE" IN D.FIELDS<1> SETTING TRANS.TYPE.POS THEN
042 Y.MF.ORD.TR.TYPE = D.RANGE.AND.VALUE<TRANS.TYPE.POS>
043 END
044
045
046 LOCATE "Y.MF.ORD.TYPE" IN D.FIELDS<1> SETTING ORDER.TYPE.POS THEN
047 Y.MF.ORD.TYPE = D.RANGE.AND.VALUE<ORDER.TYPE.POS>
048 END
049
050
051 LOCATE "Y.PART.ACC" IN D.FIELDS<1> SETTING PARTICIPATION.ACC.POS THEN
052 Y.PART.ACC = D.RANGE.AND.VALUE<PARTICIPATION.ACC.POS>
053 END
054
055
056
057 GOSUB INIT
058 GOSUB OPEN.FILES
059 GOSUB PROCESS
060
061 RETURN
062
063 *
*
064 INIT:
065 *----*
066
067 FN.MF.TRADE = "F.MF.TRADE$NAU"
068 F.MF.TRADE = ""
069
070
071 RETURN
072
073 *
*
074 OPEN.FILES:
075 *
*
076
077 CALL OPF(FN.MF.TRADE,F.MF.TRADE)
078
079
080
081 RETURN
082
083 PROCESS:
084
085
086 SEL.MF.TRADE.CMD = "SELECT ": FN.MF.TRADE :" WITH RECORD.STATUS EQ 'IHLD' "
087 SEL.MF.TRADE.CMD := " AND TRANS.TYPE LIKE 'FC...' "
088 SEL.MF.TRADE.CMD := " AND ORDER.TYPE EQ 'SWITCH' "
089
090 CALL EB.READLIST(SEL.MF.TRADE.CMD,MF.TRADE.LIST,'',TOT.TRADE,MF.FM.ERR.1)
091 FOR I.ORD = 1 TO TOT.TRADE
092 Y.TRADE.ID = MF.TRADE.LIST<I.ORD>
093 CALL F.READ(FN.MF.TRADE,Y.TRADE.ID,R.MF.TRADE,F.MF.TRADE,MF.TRADE.ERR)
094 Y.FUND.ID = R.MF.TRADE<MF.TRD.FUND.ID>
095 Y.MF.TRD.DEAL.DATE = R.MF.TRADE<MF.TRD.DEAL.DATE>
096 Y.MF.ORD.CUST.ID = R.MF.TRADE<MF.TRD.CUSTOMER.ID>
097 Y.MF.ORD.TYPE = R.MF.TRADE<MF.TRD.ORDER.TYPE>
098 Y.MF.ORD.FUND.ID = R.MF.TRADE<MF.TRD.FUND.ID>
099 Y.MF.ORD.AGENT = R.MF.TRADE<MF.TRD.AGENT>
100 Y.MF.ORD.TR.TYPE = R.MF.TRADE<MF.TRD.TRANS.TYPE>
101 Y.MF.ORD.AMT = R.MF.TRADE<MF.TRD.TRANS.AMOUNT>
102 Y.MF.TRD.PAYMENT.STATUS = R.MF.TRADE<MF.TRD.PAYMENT.STATUS>
103 Y.MF.TRD.TR.UNITS = R.MF.TRADE<MF.TRD.TRANS.UNITS>
104 Y.PART.ACC = R.MF.TRADE<MF.TRD.PARTICIPATION.ACC>
105 IF Y.MF.ORD.TR.TYPE EQ 'FCO' AND Y.MF.TRD.PAYMENT.STATUS EQ 'RECEIVED' THEN
106
107 F.STR <-1> = Y.TRADE.ID :"*": Y.MF.ORD.FUND.ID :"*": Y.MF.ORD.CUST.ID :"*":Y.MF.TRD.DEAL.DAT
E :"*": Y.MF.ORD.TR.TYPE :"*":Y.MF.ORD.TYPE :"*": FMT(Y.MF.ORD.AMT,"18L,"):"*": Y.MF.TRD.TR.UNITS :"
*": Y.PART.ACC :"*":
108 END ELSE
109 IF Y.MF.ORD.TR.TYPE EQ 'FCI' THEN
110 F.STR <-1> = Y.TRADE.ID :"*": Y.MF.ORD.FUND.ID :"*": Y.MF.ORD.CUST.ID :"*": Y.MF.TRD.DEA
L.DATE :"*": Y.MF.ORD.TR.TYPE :"*": Y.MF.ORD.TYPE :"*": FMT(Y.MF.ORD.AMT,"18L,") :"*": Y.MF.TRD.TR.U
NITS :"*": Y.PART.ACC :"*":
111
112 END
113 END
114 NEXT I.ORD
115
116 RETURN
117 END

Please Log in or Create an account to join the conversation.

  • armin
  • armin's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • “So long - and thanks for all the fish!”
More
9 years 8 months ago #16270 by armin
Replied by armin on topic Adding Seaching Filter in No file Enquiry
- don't use the same names for S-election fields and fields you show in the enquiry (unless you want to display the entered selection itself)
- same for S-election and data fields in the routine
- after identyfing the entered selections use them, either in the SEL.MF.TRADE.CMD or at least after reading the selected records
- if you want to allow other criteria then EQ you have to check and use these as well (see www.t24all.com/index.php/component/kunen...e-routine.html#14118)

e.g :
021 LOCATE "Y.TRADE.ID" IN D.FIELDS<1> SETTING TRADE.POS THEN
022     S.TRADE.ID = D.RANGE.AND.VALUE<TRADE.POS>
023 END
024
025
026 LOCATE "Y.FUND.ID" IN D.FIELDS<1> SETTING FUND.POS THEN
027     S.FUND.ID = D.RANGE.AND.VALUE<FUND.POS>
028 END
029

SEL.MF.TRADE.CMD = "SELECT ": FN.MF.TRADE :" WITH RECORD.STATUS EQ 'IHLD' "
SEL.MF.TRADE.CMD := " AND TRANS.TYPE LIKE 'FC...' "
SEL.MF.TRADE.CMD := " AND ORDER.TYPE EQ 'SWITCH' "
IF S.TRADE.ID NE "" THEN
    SEL.MF.TRADE.CMD := " AND TRADE.ID EQ ': S.TRADE.ID :"'"
END
IF S.FUND.ID NE "" THEN
    ....

using R11 on Unix

Please Log in or Create an account to join the conversation.

  • assiddiqui
  • Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
9 years 8 months ago #16271 by assiddiqui
Replied by assiddiqui on topic Adding Seaching Filter in No file Enquiry
So, needs changes only at routine level.. Or requires to change for SS & for Enquiry as well...??

Please Log in or Create an account to join the conversation.

  • armin
  • armin's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • “So long - and thanks for all the fish!”
More
9 years 8 months ago #16272 by armin
Replied by armin on topic Adding Seaching Filter in No file Enquiry
I believe SS & EQ is not a must but highly recommended to avoid later confusion.

using R11 on Unix

Please Log in or Create an account to join the conversation.

  • assiddiqui
  • Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
9 years 8 months ago - 9 years 8 months ago #16273 by assiddiqui
Replied by assiddiqui on topic Adding Seaching Filter in No file Enquiry
Armin,

Cant understand your point ...please mention clearly.. what exactly needs to be changed ???
Last edit: 9 years 8 months ago by assiddiqui.

Please Log in or Create an account to join the conversation.

  • armin
  • armin's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • “So long - and thanks for all the fish!”
More
9 years 8 months ago #16274 by armin
Replied by armin on topic Adding Seaching Filter in No file Enquiry

- don't use the same names for S-election fields and fields you show in the enquiry (unless you want to display the entered selection itself)

and as mentioned above : I don't think it's a must
e.g.:
ENQUIRY
@ID................ PK.E.MF.TRADE.IHLD.COP.SW.1
ENQUIRY............ PK.E.MF.TRADE.IHLD.COP.SW.1
PAGE.SIZE.......... 4,19
FILE.NAME.......... NOFILE.MF.TRADE.IHLD.COP.SW.1
FIXED.SELECTION.... F.STR
FIXED.SORT.........
SELECTION.FLDS..... S.TRADE.ID S.FUND.ID S.MF.ORD.CUST.ID S.MF.TRD.DEAL.DATE S.MF.ORD.TR.TYPE
S.MF.ORD.TYPE S.PART.ACC
BUILD.ROUTINE......
FIELD.NAME......... F.STR Y.TRADE.ID Y.FUND.ID Y.MF.ORD.CUST.ID Y.MF.TRD.DEAL.DATE Y.MF.ORD.TR.TYPE
Y.MF.ORD.TYPE TRANS.AMOUNT TRANS.UNITS Y.PART.ACC
LENGTH.MASK........ 20L 20L 20L 20L 20L 20L 18L, 18L, 20L

STANDARD SELECTION
@ID.............. NOFILE.MF.TRADE.IHLD.COP.SW.1
FILE.NAME........ NOFILE.MF.TRADE.IHLD.COP.SW.1
SYS.FIELD.NAME...
...
USR.FIELD.NAME... F.STR S.TRADE.ID S.FUND.ID S.MF.ORD.CUST.ID S.MF.TRD.DEAL.DATE S.MF.ORD.TR.TYPE
S.MF.ORD.TYPE S.PART.ACC
USR.TYPE......... R S S S S S S S

ROUTINE
012 S.TRADE.ID = ''
013 S.FUND.ID = ''
014 S.MF.ORD.CUST.ID = ''
015 S.MF.TRD.DEAL.DATE = ''
016 S.MF.ORD.TR.TYPE = ''
017 S.MF.ORD.TYPE = ''
018 S.PART.ACC = ''
019
020
021 LOCATE "S.TRADE.ID" IN D.FIELDS<1> SETTING TRADE.POS THEN
022 S.TRADE.ID = D.RANGE.AND.VALUE<TRADE.POS>
023 END
024

using R11 on Unix

Please Log in or Create an account to join the conversation.

Time to create page: 0.127 seconds