Agent determination issue

Hello Experts,
  We have developed one custom workflow a year back and last two months we are seeing the issue with Agent Determination randomly.  We created a position with 3 users and assigned the Position to the Agent Assignment.  Some times the work item sent to other users other than 3 users assigned to the position.  We are not able to trace it, why it's behaving like this.  Any help would be appreciated.
with best regards
K. Mohan Reddy

If this happens randomely then we can only assume
Please check the wflow log from SWIA whether someone has forwarded the workitem?
There can be also change in Position assignment, Substitute getting maintained.
Also check whether the users are maintained in the Task level if it is General forwarding Not allowed task from the task attribute.
Thanks
Arghadip

Similar Messages

  • Agent determination issue with no error, cant use SWPR?

    Hello gurus.
    We currently have 81 invoices that have workflow status "in process". However, the last line of this status is "agent determination issue". I've assigned the appropriate user in PFOM and i want to restart the workflow item, but i cannot use SWPR.
    Normally it should be in error and you can use SWPR, and that fixes everything- however why is the workflow still "in process" and not in error? and how can i complete the workflow item now that the agent has been assigned? do i just create a new workflow using SWUE and delete the old one? Many thanks.

    Hi,
    OK then try like this , as you said you do not have authorizations to SWI1_RULE right so do teh below steps,
    1. Execute SE37 and execute the fucntion module ALINK_CALL_TRANSACTION.
    2. Now mention the txn name as SWI1_RULE.
    3. Now you should be able to see teh initial screen of the txn.
    4. Now enter teh workitem ID which is in ready state not the top workitem ID, the workitem for which the agent is not assigned. Click F8.
    5. Now choose that workitem ID and click CTRL + SHIFT + F11.
    it should re evalutae the agents, if this is also not determing then make a note of the RULE ID from activity step and open the txn by using the above function module and try to simulate the rule or please let us know what is the rule type.
    Regards
    Pavan

  • Agent determination issue in a workflow

    Greetings everyone!
    I'm configuring some business scenario with the help of a business workflow in SAP CRM 7.0 I'm using activity step and want to determine agents using standard SAP rule 10000162 ("Employees for responsible org. unit"). I've tested the rule outside of the workflow and it's working fine, but  in workflow it fails to determine an agent.
    In a log I see following errors:
    Agent determination for step '0000000023' failed;
    Result of agent resolution does not agree with agents of task;
    I've made some tests depending on what assignment task has:
    1. When it is a general task, work item was created for a workflow initiator even though rule failed to determine an agent.
    2. When it is a task with general forwarding with assigned position(s), which rule will never determine, work item was created for holder(s) of that position(s).
    3. When it is a task with general forwarding with no assignments, workflow could not determine an agent as expected.
    I've also debugged functional module for that rule and it determines appropriate agent but then do some check with the help of RH_TASK_AGENT_CHECK function and returns an error.
    Can someone help me with this problem? Is it some standard expected behavior or not?
    Maybe something wrong with the org. plan?
    All answers are appreciated.
    Thanks in advance,
    Alex.

    Hello Rick and Eddie.
    I've tried to assign user directly instead of position to a task with no help. I get the same result.
    I've tried to set a task as a general task and made the rule to fail if there is no resolution and it fails.
    I've tried to assign position or user directly to activity in a workflow and it does work but that's not what I need in my scenario.
    As I said earlier I've tried to debug that rule invoked from a workflow. I will post some screenshots for you.
    I set a task as a general task and assigned rule 10000162 (ABBR="PARTNER_1", Name="Employees for responsible org. unit") to activity step in a workflow and here is what I get:
    1. Function CRM_ORGMAN_ORGOBJECTS_FIND_2 gets called by the rule and resp. sales org. unit is passed there ([screenshot1|http://www.picdrop.net/?v=debug1.png])
    2. Next function CRM_ORGUNIT_GETEMPLOYEES gets called passing id of a resp. sales org.unit without a type.
    3. Next RH_STRUC_GET gets called and returns result table with position and central person for that position ([screenshot2|http://www.picdrop.net/?v=debug2.png])
    4. In the end of CRM_ORGMAN_ORGOBJECTS_FIND_2 function only central person in inserted to the actor_tab ([screenshot3|http://www.picdrop.net/?v=debug3.png])
    5. After CRM_ORGMAN_ORGOBJECTS_FIND_2 ends we appear in a RH_GET_ACTORS function where we can see that agent check is performed if act_task is not initial. I assume that check is not performed if we do a simulation of a rule ([screenshot4|http://www.picdrop.net/?v=debug4.png])
    6. Then RH_TASK_AGENT_CHECK function gets called for every record in a actor_tab. In out particular case it's one record. ([screenshot5|http://www.picdrop.net/?v=debug5.png])
    7. Inside that function checks act_wi_id (activity work item id?) if it's initial and get exluded agents. It is initial in my case ([screenshot6|http://www.picdrop.net/?v=debug6.png])
    8. Then function tries to read table with keys equal to type and id of found agent and errors there, perhaps because there is no record in that table ([screenshot7|http://www.picdrop.net/?v=debug7.png])
    That error results in overall agent determination failure.
    Hope this screenshots will help to identify a problem.
    Why read table results in an error and because of that all rule fails?
    Regards,
    Alex.

  • Purchase Requistion - Agent Determination using responsibilities - Issue

    Hi Everyone,
    I am new to workflow. I am having an issue wrt Purchase Requistion - Agent Determination using responsibilities.
    Created some 30 to 40 resposibilities with combination of inputs - R1, P1 & Cost Center
    Checked rule with responsibilities in Simulation mode and for the given inputs shows correct output.
    Same config is present both in DEV and ACP. Simulation works fine in both systems.
    But when I created Purchase Req. in DEV and save it. Workitem is generated for the correct agent. But when I do the same test in Quality, it fails and created Workitems for several agents.
    Checked container info. in both systems,no.of agents is the ONLY difference (i.e. 1 in DEV and 30+ agents in Quality).
    Put shred some light on this issue.
    Workflow Used: BUS2009
    Task : TS00007986
    Thanks a ton in advance.
    Regards,
    Krishna

    Hi,
    Open the workflow (WS*******) with SWDD and see the bindings for the rule in the approval step (using TS00007986). Do they look the same in both environments? Are you passing the same parameters for the rule?
    Another thing that you should check is a possible authorisation error. Maybe the users are not authorised to execute the needed functions for finding the agent inside the rule (common problem).
    Also try to read the technical workflow log (Start a workflow, open SWI1 and drill-down to the workflow log). Can you see some error messages there? You will probably find a message saying that "cannot execute agent rule" or something like that. It is WF behaviour that if it cannot find an agent it will send the work item to all possible agents (unless otherwise configured).
    Regards,
    Karri

  • Error in resolution of rule ... for step - Agent determination for failed

    Dear Experts,
    in SRM 7.0 CS, i have come accross the following workflow error:
    I have extended my existing organizational plan for a new site (new CoCo, Plant, Purch Org and Purch Gr). But when i use my test users with this site, i receive a workflow error, that has the following wording in SWI2_DIAG:
    Error handling for work item 000000055347
    No links corresponding to the specified data could be determined
    Error in resolution of rule 'AC40000138' for step '0000000293'
    Agent determination for step '0000000293' failed
    Error during result processing of work item 000000055357
    Error when processing node '0000000293' (ParForEach index 000000)
    Error when creating a component of type 'Step'
    Error when creating a work item
    Error when processing node '0000000293' (ParForEach index 000000)
    Work item 000000055356: Object FLOWITEM method EXECUTE cannot be executed
    Error handling for work item 000000055355
    Can you maybe help me understand, what this error means and how to resolve it?
    Thank you very much!
    P.S. my test users work fine if i drag them to another location in my organizational plan. And also if i take other test user from locations where everything works fine and drag them to this "problem" location, than the same workflow error occures.

    Remove the user from the PPOMA node and add him again.. Sometimes this will solve the issue..
    Thanks!!
    Bharath

  • Agent determination problem

    I have a workflow that has been in production for almost a year.  We are in the middle of integration testing for another rollout and I'm getting agent determination errors in this workflow.  There are three steps involved.  The first two use the exact same rule.  The first of these two works fine.  When it tries to run the rule again for the second step, it gets no agent found.  If I test the rule it works.  If I restart the workflow, it works.  When it moves on to the third work item using a different rule, it errors out no agent found.  When I test this rule, it works.  When I restart at this step, it also works.
    This is a new integration client that was copied from production.  I've performed the standard workflow customization like I always do.  I've run several other workflows and only notice the agent determination problems in this one.  The workflow hasn't changed in months although there have been some user security changes...I'm not sure how that could really affect the agent determination during the creation of work items. 
    One thing that might be important...userA created the first workitem and the agent determination resolves to userB.  When userB executes the first work item and completes, the second work item should also resolve to userB using the exact same rule.  This fails.  I restarted it using my account and it resolves to userB.  UserB executes work item #2 and work item #3 should resolve to userC but the agent determation fails again.  I don't know whether the work item agent is "used" to perform the creation of the next workitem or not but this is the only difference between the first two work items and one works while the other does not.
    It's almost like userA can perform the agent determination but userB cannot.  I can't manually execute the agent determination as userB so I ran se37 as myself in debug and changed SYST-UNAME to userB and it worked fine and returned userB as the agent.  That would seem to eliminate security as an issue with the agent determination.

    Hi,
    Are you absolutely sure that it is not an authorisation issue? Can you give SAP_ALL (and the possible structural authorisations) to all the users that are involved in the process? (I don't think that changing sy-uname in debug mode to another user really is a correct way to try to prove whether this is an authorisation issue.)
    The agent determination of the following step is executed by the previous WF agent, if there is no background steps between. So if the previous agent doesn't have enought authorisations, the agent determination will fail.
    Regards,
    Karri

  • Agent Determination for Service Entry (BO-BUS2091)

    HI,
    I am new to workflow and facing below issue.
    I have created a workflow for Service entry sheet approval (BO- BUS2901) and I am having an issue with the agent determination. I am using my own Ztable to determine the possible agents.
    I am using the following code in the FM of the rule I created for determining the agent:
    FUNCTION ZME_SRV_REL_GET_RESPONSIBLE.
    *"*"Local Interface:
    *"  TABLES
    *"      ACTOR_TAB STRUCTURE  SWHACTOR
    *"      AC_CONTAINER STRUCTURE  SWCONT
    *"  EXCEPTIONS
    *"      NOBODY_FOUND
    INCLUDE <cntain>.
    TABLES: essr_rel, essr,zmm_service_mail.
    DATA: object TYPE swc_object.
    DATA: BEGIN OF essrkey,
    lblni LIKE essr-lblni,
    END OF essrkey.
    DATA: verak_user TYPE csks-verak_user.
    REFRESH actor_tab.
    CLEAR actor_tab.
    swc_get_element ac_container 'service' object.
    if sy-subrc eq space.
    essrkey-lblni = object-objkey(10).
    select single * from essr where lblni = essrkey-lblni.
    select single * from zmm_service_mail
    where frggr = essr-frggr
    and frgsx = essr-frgsx.
    if essr-frgzu eq ' '.
    verak_user = zmm_service_mail-pernr1.
    elseif essr-frgzu eq 'x'.
    verak_user = zmm_service_mail-pernr2.
    endif.
    actor_tab-otype = 'us'.
    actor_tab-objid = verak_user.
    append actor_tab.
    endif.
    ENDFUNCTION.
    When I debug, sy-subrc = 8 at swc_get_element ac_container 'service' object.
    What could be the problem?
    Note- I have gone thru below thread but still I am unable to find the error.
    http://scn.sap.com/thread/2017416

    Hi,
    You should re-read the thread that you quoted above. The mighty Sue Keohan suggested a solution.
    Instead of trying to pass a service *object*, and then extracting the key, you can just pass the key itself.  It has type EESSR-LBLN1.
    swc_get_element ac_container 'service_key' lv_service_key.
    if sy-subrc eq 0.
      essrkey-lblni = lv_service_key.
    (etc)
    cheers
    Paul

  • Agent Determination for Service Entry

    Hi Guys,
    I created a workflow based on BO BUS2901 to send approval notification to an approver and I am having an issue with the agent determination. I am using the cost centre owner from the PR associated with the PO for the service entry as the approver.
    I am using the following code in the FM of the rule I created for determining the agent:
    FUNCTION ZME_REL_GET_RESPONSIBLE.
    *"*"Local Interface:
    *"  TABLES
    *"      ACTOR_TAB STRUCTURE  SWHACTOR
    *"      AC_CONTAINER STRUCTURE  SWCONT
    *"  EXCEPTIONS
    *"      NOBODY_FOUND
      INCLUDE <cntain>.
      TABLES: eban, essr_rel, essr, ekpo, ebkn, csks.
      DATA: object TYPE swc_object.
      DATA: BEGIN OF essrkey,
               lblni LIKE essr-lblni,
               ebeln LIKE essr-ebeln,
            END OF essrkey.
      DATA: verak_user TYPE csks-verak_user, kostl TYPE ebkn-kostl.
      REFRESH actor_tab.
      CLEAR actor_tab.
      swc_get_element ac_container 'ServiceEntry' object.
      IF sy-subrc EQ space.
        essrkey-lblni = object-objkey(10).
        essrkey-ebeln = object-objkey+10(10).
          select * from ekpo where ebeln = essrkey-ebeln.
            select single * from ebkn where banfn = ekpo-banfn.
              kostl = ebkn-kostl.
          endselect.
        select * from csks where kostl = kostl.
          verak_user = csks-verak_user.
        endselect.
        actor_tab-otype = 'US'.
        actor_tab-objid = verak_user.
        APPEND actor_tab.
      endif.
    ENDFUNCTION.
    When I debug, sy-subrc = 8 at swc_get_element ac_container 'ServiceEntry' object.
    What could be the problem?
    Thanks
    Regards

    Hi Sarvesh, T
    This thread was already answered some time ago.  Please open a new Discussion marked as a question.  If the thread you originally posted to has material related to your question, include a link.  Your content is attached below to make it easy for you to simply paste it into the new Discussion.  It is recommended to read the Rules of Engagement and other documents in the Getting Started link at the top right.   If you have any questions, feel free to respond to this DM (Direct Message) and I will be happy to try to assist.
    Rgds,
    Jocelyn (SCN moderator)

  • Responsibility rules : Agent determination only works after restarting the WF

    Hi Experts,
    We are facing a very strange issue related to agent determination in one of our custom workflow:
    For agent determination we are using a responsibility rule with two parameters "Company code" and "Plant".
    The responsibility rule works well and returns the agents for all the company code.
    Recently I have added few company codes to this responsibility rule in the same way we used to maintain and simulate it . It returns the correct agent for newly added company codes but at run time the agent determination is getting failed and the WF goes into an error because of it. However when i restart the WF via SWPR it works well and the agent determination works well either.
    This is only happening for newly added company codes the old ones agent determination work well at the run-time.
    Pls suggest what could cause this problem. If there is a problem in responsibility rule then why it works after restarting from SWPR.
    Thanks in advance. The helpful/correct answers will be rewarded.
    Regards,
    Him

    Hi Rick,
    Thanks for replying.
    1. Can you replicate this problem in the test system?
    Yes I could replicate this issue in test system and it works fine there.
    2. Is this a true responsibility rule or does e.g. a function module get called?
    We have a responsibility where several responsibilities have been added with two parameters "company codes" and "plant". Every responsibility has a POSITION assigned into it and this position contains the related users.
    This responsibility rule is getting called in one other rule with FM. Here in this another rule we are calling the responsibility rule by using the standard FM  RH_GET_ACTORS to fill the ACTOR_TAB.
    I have tried to simulate both the rules and it returned correct agents but failing at run time.
    Regards,
    Him

  • Agent determination for workflow

    Hi everyone,
    I have a classic issue: I'm trying to assign a workflow task to an agent. The agent should be determined from the container element "APPROVER". In the task I've entered the expression &APPROVER&; however, I'm receiving error "Agent determintaion for step 4 failed..." "Result of agent determination does not agree with agents of task". And, yes, I've made sure the APPROVER element is of type Import and has a proper value.
    I don't get this; I thought setting the agent to the value of the container element should do the job? After all, the container element "APPROVER" comes up in the F4 search help under the Decision tab of the task... what's wrong here?
    The WF works fine if I set the "WF_Initiator" as the agent, however. But, this is a bit limiting in the long run...
    Regards,
    Trond

    Hi Ravi,
    this is what I actually did... but I found another post, with a reply from Ramki Maley, advising me to make the APPROVER of type SWHACTOR. That helped!
    Thanks anyway,
    Trond

  • Agent Determination using a Rule

    Hi All,
    I tried finding related threads, but was not able to find anything that exactly matches this issue.
    I have an Activity type task to which I have assigne a rule for agent determination. I am assigning the SAP userid to the actor_tab in the function module. This is the code I am using:
      ACTOR_TAB-OTYPE = 'US'.
      ACTOR_TAB-OBJID = 'AJOHN'.
      APPEND ACTOR_TAB.
    But, when I try to simulate the rule in PFAC, it says "no agent found". What am I doing wrong?

    I created a function module called ztest_rule in se37 and put your exact code.  I then created a rule called ztest_rule in PFAC and chose Agent Determination: Function to be executed and entered ztest_rule as my function module.  When I hit the little abacus and then the wrench in PFAC to test, it returns  US  AJOHN.

  • Runtime Agent Determination

    Hi
    Still having problems with my workflows.
    I need to get agents from a Ztable at runtime. I have gone through this blog entry :/people/ravishankar.rajan/blog/2006/12/26/agent-determination-in-workflow-using-custom-table
    I have ztable with user names and their managers.
    I have attached this workflow to the customer Master. Created an entry related to DEBI ni change documents
    I have created a copy of the zsystem and made a method- Get agent-
    This is my code for the method
    begin_method get_manager changing container.
    data:
          actuallyprocby type wfsyst-act_agent,
          appl type zagents-applt,
          mngr type zagents-manager.
      swc_get_element container 'ActuallyProcBy' actuallyprocby.
      swc_get_element container 'Appl' appl.
    clear mngr.
    select single manager from zagents into mngr
    where agent = actuallyprocby and applt = appl.
    concatenate 'US' mngr into mngr.
      swc_set_element container 'Mngr' mngr.
    end_method.
    In the container of the task i have placed the import parameters- actuallyprocby and appl
    these are passed during the binding
    according to the tutorial, i can pass parameters that way, create the parameters in the method and use it to retrieve the manager of a user.
    finally i set the element in the container to the returned value -
    the breakpoint i use doesnt get activated
    and finally---
    the workflow stops at this task with the status ready and with no agent assigned.
    How to pass the parameters properly and resolve this issue
    Thank you all very much
    Points will be rewarded
    Regards.
    Edited by: Zeeshan Shah on Apr 14, 2008 4:03 PM
    I have checked the tech details for the workflow in my outbox
    ---error
    Result of agent resolution does not agree with agents of task
    This error goes on the first activity-- i have used expression: initiator at it--

    Hi Zeeshan,
    I think the question is still not solved.
    I have implemnetd a scenario exatcly like this but there I have implemented a RULE.
    The method that you have created is exactly correct.
    But there is a simple thing that you need to implement more.
    As per the method,
    begin_method get_manager changing container.
    data:
    actuallyprocby type wfsyst-act_agent,
    appl type zagents-applt,
    mngr type zagents-manager.
    swc_get_element container 'ActuallyProcBy' actuallyprocby.
    swc_get_element container 'Appl' appl.
    clear mngr.
    select single manager from zagents into mngr
    where agent = actuallyprocby and applt = appl.
    concatenate 'US' mngr into mngr.
    swc_set_element container 'Mngr' mngr.
    end_method.
    When you are passing the workflow initiator here, the workflow initiator will have the value like USADAPTARY. Here you have to seperate the US value. So from here you have to remove the value of US from the actuallyprocby and appl variables. Then only the select will work. Here I am assming that the table does not contain the US with the agent ID.
    After that you have to call the method into a task with a custome task container element like that of the Workflow initiator. The value that the method would return map it to the custom variable of the task container.
    Now, in the workflow container also, create another element with the same type like that of the workflow initiator. Get the task within an activity with background properties and in the Misc. Priority as 1.
    That activity will get the name of the ActuallyProcBy and Appl and give the name of the agent with the word US added into the custom variable like that of the workflow initiator.
    Pass that variable in the activity that you like to do, with the agent assignment properly for that activity and for the agent assignment choos the User and the variable name of the workflow container like that of the workflow initiator.
    Please reply if this does not work.
    Rewards points if found useful.
    Regards.
    Abhijit.

  • PO release - Wrong agent assignment issue

    Hello friends,
    i have a strange issue with PO release strategy . A particular PO has been assigned to release group EG and release code F2 .
    But F2 has no agent assignment defined . However , The PO approval is going for another agent belonging to release code F1 . there are no user exist or BADI defined .
    Please assist me what could be the issue ?  i do not have debug access and the data is not consistent on test system .
    thanks
    Raghu V

    Hi,
    Which Workflow is used?
    If it is the standard one then rule 20000027 is used for agent determination.
    Kind regards, Rob Dielemans

  • PR Overall Release Workflow - Agents Determination Failed

    Dear All WF Experts,
    I have used the standard workflow WS20000077 for PR Overall Release. I have assigned the agents to the task TS20000159 by position maintained in the Workflow Organizational Management Structure. The agents' names are showing correctly in the task's agent settings.
    However,  when I execute the workflow, the error 'Agent Determination Failed' for that step (TS20000159). I have checked the agent settings in workflow and SPRO, they look fine. Could anyone please kindly give me advices how to solve this error? Thank you so much.

    Hi, to all the experts who have helped me all these while,
    Thank you very much for spending time helping me to go through this issue.
    Yesterday, I ran through the coding for the function module for the rule AC20000026 again. I found out that there is one part of the coding which is causing the failure of determining an agent. The code disregard the company code for overall release of Purchase Requisition while the business requirement involves company codes in every PR created. Thus, by changing that code, the problem is solved.
    The snippet of code of function module (ME_REL_GET_RESPONSIBLE):
       CASE t16fc-frgwf.
    * keine Ermittlung
          WHEN space.
            RAISE nobody_found.
    * Ermittlung ¨¹ber T16fW
          WHEN '1'.
            IF eban-gsfrg EQ space.
    *     Einzelpositionsfreigabe Banf
              SELECT SINGLE * FROM t16fw WHERE frggr = eban-frggr
                                           AND frgco = rm06b-frgab
                                           AND werks = eban-werks.
            ELSE.
    *     Gesamtfreigabe Banf
              SELECT SINGLE * FROM t16fw WHERE frggr = eban-frggr
                                           AND frgco = rm06b-frgab
                                           AND werks = space.
    There is always a value in werks in my business scenario...
    SELECT SINGLE * FROM t16fw WHERE frggr = eban-frggr
                                           AND frgco = rm06b-frgab
                                           AND werks = space.
    So, by changing it to
    AND werks = eban-werks
    it will work, however, I think it's better to just remove the If statement
    IF eban-gsfrg EQ space.
    , since it has no effect anymore.
    I hope this would give a hint to all the rest who might be facing the same problem as well.
    Thank you very much,
    YL

  • In agent determination

    what is the use of  a red color button 'Update Index' in agent assignment?
    regards,
    divya.s

    > I have never used it and adding an agent has always make my new agents turn up in agent determination
    >
    I believe it just updates one of the indices that are always refreshed at midnight (application server time). So if it is an urgent issue of adding a new agent specification because someone has to process a work item you can use it to allow the agent to take action immediately, and if there is no urgency you can just wait for the daily refresh.

Maybe you are looking for