CA Service Management

 View Only
  • 1.  Auto Assigns Workflow Tasks by location

    Posted Apr 06, 2016 07:49 AM

    Hello Team,

     

    Do you know, How to Auto Assigns Workflow Tasks by location as affected customer location.

     

    Please help advice for this case.

     

    Thanks,

     

    TK



  • 2.  Re: Auto Assigns Workflow Tasks by location

    Broadcom Employee
    Posted Apr 06, 2016 02:33 PM

    Perhaps it may be possible to accomplish this with Process Automation, I'm fairly certain this level of configuration doesn't exist using "Classic Workflow" though.



  • 3.  Re: Auto Assigns Workflow Tasks by location

    Broadcom Employee
    Posted Apr 07, 2016 02:03 AM

    Hi Komgrit,

    With existing Classic work flow, you dont have scope to set autoassignment on work flow task. Perhaps you can check with ITPAM.

    ~Vinod.



  • 4.  Re: Auto Assigns Workflow Tasks by location

    Broadcom Employee
    Posted Apr 07, 2016 05:18 AM

    Hi Komgrit,

    As per my internal discussion, There is no feasibility to auto assign workflow task based on location.

     

     

     

     

     

    assignees and delegates are given during the content definition itself.

    Lets wait if there are other answers or work arround. However you may raise an Enhancement request by creating an IDEA in this communities.

    ~Vinod.

     



  • 5.  Re: Auto Assigns Workflow Tasks by location

    Posted Apr 07, 2016 05:44 AM
      |   view attached

    Hi support922.922,

     

    Yes It is possible with a action macro in pending status task. You must to select the groups in the auto assignment tab. It's important that you have only one group by location no more. I've attached the macro. This macro works in 12.x or up. It doesn't works in r11.x. For R11.x is other macro.

     

    Regards.

    Attachment(s)

    zip
    Action macro.txt.zip   871 B 1 version


  • 6.  Re: Auto Assigns Workflow Tasks by location

    Posted Apr 07, 2016 08:38 PM

    Hi SoporteCAcma ,

     

    Thank you for your reply. Please share your macro.

     

    Thanks in advance,



  • 7.  Re: Auto Assigns Workflow Tasks by location

    Posted Apr 08, 2016 02:29 AM

    Hi Support922.922,

     

    the macro is attached in my reply. Can not you see it?

     

    Regards.



  • 8.  Re: Auto Assigns Workflow Tasks by location

    Posted Apr 08, 2016 03:56 AM

    Hi SuporteCAcma,

     

    Yes i can not see it.

     

    TK



  • 9.  Re: Auto Assigns Workflow Tasks by location

    Posted Apr 08, 2016 04:10 AM

    _______________________________________________________________________________________________________________________

    string wc;

    string location;

    string contacto;

    string contacto_final;

    int thelength;

    location = format("%s",chg.affected_contact.location);

    wc = format("wftpl=%d",wf_template.id);

    if (wf_template.auto_assign == 1) {

    send_wait(0,top_object(), "call_attr", "lrel_svc_grps_svc_wftpl", "sync_fetch","DYNAMIC", wc, -1, 0);

    if (msg_error()) {

    logf(ERROR, "Autoasignacion: '%s'", msg[0]);

    }

    thelength = msg[1];

    object workflow;

    workflow=msg[0];

    int i;

    i=0;

    for (i; i<thelength; i++) {

    send_wait(0, top_object(), "get_co_group");

    send_wait(0, workflow, "dob_by_index", "DEFAULT", i, i);

    send_wait(0, msg[0], "call_attr", "cnt", "get_val");

    contacto=format("%s",substr(msg[0],0,32));

    wc = format("id=U'%s'",substr(msg[0],0,32));

    send_wait(0,top_object(), "call_attr", "cnt", "sync_fetch","DYNAMIC", wc, -1, 0);

    send_wait(0, msg[0], "dob_by_index", "DEFAULT", 0, 0);

    send_wait(0, msg[0], "call_attr", "location", "get_val");

    if (location == format ("%s",msg[0])) { contacto_final = format("%s",contacto); }

    }

    object group_lead;

    send_wait(0, top_object(), "get_co_group");

    if (msg_error()) {

    errmsg = format("AI SPELL :: get_co_group error: '%s'", msg[0]);

    logf(ERROR, errmsg);

    return;

    }

    group_lead = msg[0];

    int err_stat;

    err_stat = 1;

    while (err_stat) {

    send_wait(0, group_lead, "checkout", this);

    if (!msg_error()) {

    err_stat = 0;

    } else {

    sleep(1);

    }

    }

     

     

    send_wait(1, this, "call_attr", "group", "set_val", (uuid)contacto_final, "SURE_SET");

    send_wait(1, this, "call_attr", "assignee", "set_val", "NULL", "SURE_SET");

    if (msg_error()) {

    logf(ERROR, "AI SPELL :: call_attr.set_val error: %s", msg[0]);

    return;

    }

    else {

    if(is_null(group)){

    send_wait(1, this, "call_attr", "group", "set_val", "31B1BC7F0E4C6A4B92C08AFB267232AD", "SURE_SET");

    }

    send_wait(0, group_lead, "checkin");

    if (msg_error()) {

    logf(ERROR, "AI SPELL :: group_leader checkin to %s error: %s", cnt_dob.sym, msg[0]);

    send_wait(0, group_lead, "uncheck");

    }

    }

    }

    ________________________________________________________________________________________________________________________

    enjoy it!!!!!