Here is the current Landmark transaction node: it returns no data
_dataArea="LSAPPS" & _module="pfi" & _objectName="PfiUserCategory" & _actionName="Find" & _actionOperator="NONE" & _actionType="MultipleRecordQuery" & _runAsUser="" & _setName="ByTaskCategoryValueUser" & PfiUserProfile & PfiTask.TaskName="Level1;Level2;Level3" & PfiFilterKey="Req Loc" & PfiUserCategory="<!--RQH_REQ_LOCATION-->"
and here is our PFI query
We are trying to determine what levels of approval are valid for a requisition. Based on the query we set flags to let us know which levels will need to approve.
Any help is appreciated.
Daniel Burrus, PMP
Project Manager, Technology Services
Special School District of St. Louis County
Hi Daniel,
It appears that you (or whoever built the call) are making some assumptions in your query that are not correct. Landmark is pretty finicky about how data selection and filtering are done.
You can't do multi-select within a field. In query mode, Landmark expects data fields with an "=" to be key fields, and to have a single value passed in. It won't understand "Level1;Level2;Level3" as an "or" statement. I've never been able to get filters to do that either.
Key fields must be queried in Index order without skipping fields. If you only have values for the first and third keys, use the first one and then filter or manage within the loop.
NOTE: Landmark Filters SUCK!!! - they are very difficult to do correctly and there is no documentation that I've found. In many cases you are better off to do a wide-open query and then filter via JavaScript or a branch.
Since I don't know your data, and don't use reqs, I can't tell exactly what you are trying to do, but I'd recommend doing something like this instead:
_dataArea="prodhcm" & _module="pfi" & _objectName="PfiUserCategory" & _actionName="Find" & _actionOperator="NONE" & _actionType="MultipleRecordQuery" & _runAsUser="" & _pageSize="30" & _filterString="PfiFilterKey=\"Req Loc\" & PfiUserCategory=\"<!--RQH_REQ_LOCATION-->\"" & _relationName="" & _setName="ByTaskCategoryValueUser" & _asOfDate="" & _effectiveDate="" & PfiUserProfile & PfiTask.TaskName & PfiFilterKey & PfiUserCategory
Then use Javascript or a branch to include/exclude PfiTask.TaskName records. It's not pretty, but it may get the job done (though my filter may not work - because filters SUCK!...see above)
Basically, limit it as much as you can with keys, then add a filter if you must, then handle the remainder record-by-record in the return loop.
If it is at all possible, use a SQL query instead. Then you can regular SQL syntax and get exactly what you need in a jiffy. However, if you are cloud/multi-tenant this likely isn't an option, unfortunately.
Sorry I can't help more!
Kelly