BPM, Workflow, and Case

 View Only
  • 1.  Dynamic Filter in BAW for BPM workflows

    Posted Mon January 03, 2022 04:10 PM
    Edited by Stephanie Wilkerson Mon January 03, 2022 04:11 PM
    Hi,

    We are using BPM workflows in BAW. we have a requirement to dynamically apply the filter on inbaskets.

    ------------------------------
    Gaurav Arora
    ------------------------------


  • 2.  RE: Dynamic Filter in BAW for BPM workflows

    IBM TechXchange Speaker
    Posted Thu January 20, 2022 10:53 AM

    Gaurav, I'm asking the BAW team to review all requests - but I don't see a question in your thread. Do you have a question you'd like addressed?

    Thanks

    David



    ------------------------------
    DAVID Jenness
    ------------------------------



  • 3.  RE: Dynamic Filter in BAW for BPM workflows

    Posted Fri February 11, 2022 01:47 PM
    Hi David,

    I am using BPM workflows in BAW Case Manager. When we are applying dynamic filter then it is not working on bpm workflows but it is working on FileNet work-items, Is there any code reference which i can use to apply dynamic filters on the BPM workflows.

    ------------------------------
    Gaurav Arora
    ------------------------------



  • 4.  RE: Dynamic Filter in BAW for BPM workflows

    Posted Mon February 14, 2022 01:43 PM
    Hi Gaurav,

    Can you explain more how dynamic filter doesn't work on BAW workflows please?


    ------------------------------
    Ahmed Ibrahim
    ------------------------------



  • 5.  RE: Dynamic Filter in BAW for BPM workflows

    Posted Tue March 01, 2022 09:55 AM
    For example, if we use following code snippet then it does not reflect on in-basket as we are using BPM workflows but it is working for FileNet Workflows.
    var myUser = ecm.model.desktop.userDisplayName

    var data = {
    "queueName":"ABC_Offr",
    "inbasketName":"Offr",
    "hideFilterUI":false,
    "queryFilter":"(ABC_OffrName = :A)",
    "queryFields":[
    {
    "name":"Offr Name",
    "type":"xs:string",
    "value":"*"
    }
    ],
    "hideLockedByOther":"true"
    };
    data.queryFields[0].value = myUser;
    var model = icm.model.InbasketDynamicFilter.fromJSON(data);
    console.log(model);
    var modelArray = [];
    modelArray.push(model);
    return {"dynamicFilters":modelArray};

    ------------------------------
    Gaurav Arora
    ------------------------------



  • 6.  RE: Dynamic Filter in BAW for BPM workflows

    Posted Mon March 28, 2022 03:50 PM
    For the support of process work items, as a work around an additional parameter needs to be passed
    query_bpmVars. The following is the sample how to pass the additional param

    "query_bpmVars":[{"name":"TD_testp1","value":["orange"],"type":"xs:string","operator":"equals","fieldWhereQuery":"( ([TD_testp1] = 'orange'))"},{"name":"TD_testint1","value":50,"type":"xs:integer","operator":"is greater than","fieldWhereQuery":" [TD_testint1] > 50"}],


    var filterJSON = {
    "queueName":"Inbox",
    "inbasketName":"TD_My Work",
    "hideFilterUI":false,
    "queryFilter":"(TD_testp1 = :A OR TD_testp1 = :A)",
    "queryFields": [{"name":"TD_testp1","value":["mango","apple"],"type":"xs:string"}],
    "query_bpmVars":[{"name":"TD_testp1","value":["orange"],"type":"xs:string","operator":"equals","fieldWhereQuery":"( ([TD_testp1] = 'orange'))"},{"name":"TD_testint1","value":50,"type":"xs:integer","operator":"is greater than","fieldWhereQuery":" [TD_testint1] > 50"}],
    "hideLockedByOther":true
    };

    This is not officially published but u can use the above workaround to apply the dynamic filter for the process work items.

    if you find difficulty in forming the query_bpmVars, u can use alternate method:
    - Have the required Filter properties exposed in the filter UI in the case builder solution in-baskets
    - In the run time case client UI, u can run the ui filter with sample values and view the network tab of the browser developer tools
    - You can view one of the services "GetMergedWorkListService", you can get the string format from the payload for query_bpmVars
    - You have to URLdecode the string and
    query_bpmVars: {"bpmFilterFields":[{"name":"TD_testp1","value":["orange"],"type":"xs:string","operator":"equals","fieldWhereQuery":"( ([TD_testp1] = 'orange'))"},{"name":"TD_testint1","value":50,"type":"xs:integer","operator":"is greater than","fieldWhereQuery":" [TD_testint1] > 50"}]} take the jsonObject of bpmFilterFields and pass the same in script.

    ------------------------------
    SUNIL SATTI
    ------------------------------