Filter records retrieved from chris21
The IDB chris21 connector has the ability to send a filter to chris21 when querying for users.
I attempted to write a filter as described by the chris21 BRE SDK documentation but are unable to get my query to work.
The filter has the following syntax: field:operation:value:[join]
I tested the query on the test web page for chris BRE: https://localhost/Scalable/post21.htm
The following example filter works fine:
:cbr="poslst",maxlines=1,sendfields="S",filter01="posstart:<=:=T:"
But if I modify it to filter on detnumber, it doesn’t work anymore:
:cbr="detlst",maxlines=1,sendfields="S",filter01="detnumber:=:=100001"
The error I receive is:
error01="BRE353:detnumber: No connector provided for filter.",status="fail"
Any ideas how to fix my filter on detnumber?
Answer
For reference, the internal product notes:
The internal documentation folder is here:
https://unifysolutions.jira.com/wiki/display/INTIDBCHRS/v7.7+Documentation
First thing to check - what happens if we leave the filter out?
If I run it without the filter it gives me one record back.
GTR,N32W50E2R T9485S91 1511 249F6YRO44I6 03:cbr="detlst",maxlines="1",sendfields="A",startoflist,status="ok" GTR,N32W50E2R T9485S91 1511 249F6YRO44I6 03:cbr="detlst",maxlines="1",sendfields="A",detnumber="100001",dettitle="Mr",detsurname="Bjorn GLOBAL_M",detdatejnd="1989-01-03",detg1name1="Joseph",detg1name2="A",detg1name3,detprefnm,detpresurn,dettele="4882",detalttele,detbirdate="1957-06-24",detsex="M",detcntrynm,detcitcd,detmarcd="M",detmardate,detemailad="Joseph.BjornGLOBAL_M@unifydemo.local",detaltnbr="079285",detabn,detrace,dettinnumb,detpaytype,detterdate,detcountry="AU",dettaxtype,detkeyname="BJORN GLOBAL_M J A",detstdname,detfather,detresident,detpermit,detcitizen,detlanguage,companycode,countrycode="AU",accesslevel="delete",status="ok" GTR,N32W50E2R T9485S91 1511 249F6YRO44I6 03:cbr="detlst",maxlines="1",sendfields="A",endoflist,status="ok"
Since I only need to limit my result set to a total of 100 repeatable accounts I can filter on another field if it can solve my problem.
As you can see from the above, this record has detcountry="AU", I tried the following queries based on that, but received the same failure result:
:cbr="detlst",maxlines=1,sendfields="S",filter01="detcountry:=:=AU" :cbr="detlst",maxlines=1,sendfields="S",filter01="detcountry:=:AU" :cbr="detlst",maxlines=1,sendfields="S",filter01="detcountry:EQ:AU"
I also tried detbirdate which is 1957-06-24 from the above user record and got a new error message as below:
:cbr="poslst",maxlines="1",sendfields="S",filter01="detbirdate:<=:=T:", error01="BRE356:detbirdate: Field name not found. Check data dictionary.",status="fail"
Jake - the documentation suggests that equality is done this way:
detsurname:eq:Smith
Can you please try with "eq" being the equality operator in your query?
It gives a similar problem.
:cbr="detlst",maxlines="1",sendfields="S",filter01="detsurname:eq:Smith", error01="BRE353:detsurname: No connector provided for filter.",status="fail"
As discovered with Jake, the "No connector provided for filter" is because a fourth operator to the filter is required, even if there is only one filter. The operator is AND or OR.
The Identity Broker for Frontier chris21 documentation will be updated to reflect this.
Thanks to Jake for working with us for an answer.
Thanks for the help, it seems that chris21 require the join field to be entered, like below where the : is appended to the filter. This seem to consistently return the same 100 records.
:cbr="detlst",maxlines=100,sendfields="S",filter01="detnumber:<:10100:"
Note that detnumber must be 5 digits.
I found that it works better to filter on the surname, the following filter worked well to get all accounts with a surname stating with an A (the filter seems case sensitive):
detsurname:=:A*:
Customer support service by UserEcho
As discovered with Jake, the "No connector provided for filter" is because a fourth operator to the filter is required, even if there is only one filter. The operator is AND or OR.
The Identity Broker for Frontier chris21 documentation will be updated to reflect this.
Thanks to Jake for working with us for an answer.