Agent determination

I need to determine the agent for the approval of employees change in pay.
First of all the workflow will be tiggered from a transcation. As soon as it is triggred it should go to the HR Manager for approval, who is not neccesarily the superior of the person whoes salary is being increased, after that it should go to the persons division head. Now what is the best way to do it. I am thinking of attaching position for HR manager as an agent but since the position id is generated and it will also have a different number in QA and in production so... what should i do, rest for the departmental head shall i develop a rule...

If you have two approvals with different business functions then it is a very good idea to have two separate tasks for it. This allows not only different descriptions, but also separates them for reporting purposes (e.g. how long do approvals take).
If you do this, you can use Ameekar's suggestion and create a rule, or leave the agent assignment blank and assign the HR manager as a possible agent to the task (if no agent is assigned, it goes to all possible agents). This assignment can then be changed/maintained independently in each system.
Cheers
Mike

Similar Messages

  • 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

  • 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

  • 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

  • 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.

  • Agent determination best practices

    Hi, workflow dev team!
    Another question about workflow best practices.
    I build a workflow, the first step of each workflow, at least as I see it, is to determine agents for all steps in the workflow and store it in multiline WF-container. After that, to use this WF-container data to execute a step inside of workflow.
    The questions are:
    1. Suppose, I filled a WF-container with a list of all possible agents and their position (in order to supply more user-friendly approve/decline notifications) for the different steps inside of this workflow (username & position). As I understand, I can access to specific line of multiline container with &AGENTS[&INDEX&]& inside of EXPRESSION field (not via ABAP-code in method of class), but how can I access specific column of the WF-container? E.g. &AGENTS[1]& will return «USJOHN — Junior Manager», is it possible to retrieve username and position from multi line and pass it to the task as two separate container elements?
    2. Is it possible to query specific line of multiline container element according to some logical condition inside of EXPRESSION field (not via ABAP-code in method of class) or in order to do this I have to implement that logic inside of ABAP class method?
    And the last question, probably, less connected to the questions asked above.
    3. If I need to define agents for the task, what is the best approach to do that:
    — define the task as General Task and insert the relevant agents as multiline container element via EXPRESSION field;
    — to play with Agent Assignment (try to implement agent determination logic there) and not to define the task as general one.
    Thanks.

    Ronen already had great input, but here are some additional points:
    -In general I would try to avoid some kind of "Let's get all the agents at the beginning of the workflow into a multiline container, and try to pick up the correct ones for the individual steps" approach. Of course if your aim is just to display the list of agents somewhere (task description etc.,), then this might be OK approach.
    -Rules are better than expressions in agent determination (at least in most cases). If the approvers change during the process, you can (as an WF admin) just click the "Execute agent rule again" functionality, and the system will find the correct new approver for the work item. Otherwise you need to go to manipulate the container element(s) (and first figure out that who is the approver).
    Answer for 3: You don't need to use only expressions/container elements. Try to check if you can use rules. In some rare cases you might consider of using the tasks' agent assignment (the same place where you set the task as general task). Let's say that you want to send the work item to all users that have certain authorization role. Now you can set the role as a "restricting entity" at the task level (=same place where you set the general task). This will mean that only the users who have the role are the possible agents for the task. And now if you leave the agent determination part at the workflow template empty (no expressions, no rules etc), you are done!
    Regards,
    Karri

  • Agent Determination Organizational Data

    Hi Experts,
    Good Day!
    I would like to ask some help regarding a workflow the problem is the "user received the workitem however user claimed that he is not supposed to receive"  that is why i would like to know who are the agents dedicated for these tasks. we are able to find the step it is a user decision where the agent is the Rule "0090010" for purchasing group. In transaction PFAC we entered the rule "0090010" the information regarding the rule below:
    Transaction: PFAC
    Rule Display:
          Basic data:
                   Abbr: Purch. group
                   Name: Purchasing Group
    Rule Definition:
          Category: Agent Determination: Organizational Data
          OrgObj type: T024
    We would like to know:
    1. How does it determine the Agent who is supposed to receive mail using the "Category: Agent Determination: Organizational Data"? Where can we find the agent that is configured on the workflow using the rule?
    2.Is there a standard rule for agent determination: Organizational Data  for this workflow?
    Answer's will be a great help.
    ~Thank You,
    Junne Ray

    got it now! sorry, i am a bit dumb today.
    o.k. here is what you have to check:
    transaction PFOM - relationship between the purchasing group (which will be the one of the PO and therefore and object of table T024) and your organizational structure. check the relationship.
    documentation:
    Data basis for role resolution
    For role resolution, the link between the objects of type
    T024 (individual purchasing groups) and the organization
    objects (position, organizational unit, ...) is evaluated.
    Required settings and Customizing
    The linkages between the various purchasing groups and the relevant
    organizational objects must first be maintained using
    transaction PFOM.
    Procedure for errors
    If the role resolution delivers no result, the work item for which the
    role resolution was carried out is not faulty but addressed to all
    possible processors (flag "abend in role resolution without result"
    is not set).

  • Agent determination error

    Hi all
    I am trying to configure a workflow for PO release , the Business object am using is BUS2012 in ECC6.0
    Whenever a PO is rejected i need to send the work item to the user(Workflow initiator)  who created the PO .
    I created a standard task and i am using it in the work flow, where the agent is determined using expression (WF initiator) . The standard task is set to general task.
    But the worflow fails at this step due to this error "Agent determination for step failed" and details say "Result of agent resolution does not agree with agents of task" which is SWF_RUN 544
    I did refresh the worflow buffer using tcode SWU_OBUF and also refreshed organizational settings in SBWP.
    Is there something which is still missing.
    appreciate your help.. Thanks
    Nataraju

    Hi Nataraju,
    Select the WF initiator from agent dropdown in standard task as shown in screenshot below
    Make sure you activate the WF template and Use transaction SWU_OBUF before you trigger the WF.
    It is good to execute Transaction SWU_OBUF after you make changes and activate the WF
    Regards
    Sandy
    Message was edited by: Sandy Singh

  • Agent determination in price variance workflow

    Hi all,
    I am facing some problem in workflow, can any one help me.
    for determing the agent in case of price variance in invoice we are using the rule 009000010(object type T024 is assigned). Can any one tell me how this determines the agent based on purchase group?
    now we have a requirement to change the behavior of determining the agent. If the Purchase order is crated by the temporary user(we have some temporary users), the agent determination should be like standard (like 009000010 rule), and for all other users we have to assign the agent name as same as user name.
    now for solving this i am planning to create a new rule of type "F"(Agent determination :function to be executed) and assigning a new function module.
    Function module will have two import parameters "puthcase group" "purchase order number". Using the purchase order number i will get the user, after that i will find the user type. If the user is temprory i have to determine the agent like standard way (like rule 009000010(object typeT024). Can any one please tell me how the rule 009000010 will determine the agent for the purchase group.
    Thanks & Regards,
    Raghu

    That rule is not available in the sandbox system I have access to, so it can't be a basic rule. Either it is customer-specific, or it belongs to some industry solution or add-on package.
    Generic advice: why don't you simply investigate how this rule solves its task? You can even copy it as a starting point for your own rule.

  • Agent determination failed

    HI
    I am using a rule with responsibilities created through PFAC in the loans workflow.
    We upgrading are from 4.6c to ECC.6
    The workflow and rule use to work well in 4.6c.
    In ECC 6 ,Simulating the rule works fine,but when running the workflow an error occurs.
    The workflow runs well in Delopment box and the error is only on production box
    I get the error  "Agent determination failed" but when i restart the workflow manually through 'SWIA' the worklow complete succefully.
    Thanks
    Rendani

    HI,
    What points I could think of is:
    1. Check if task agent assignment atributes ae maintained properly e.g. General Task etc in PRD system.
    2. Responsibilities are in place in PRD system same as Development system.
    3. Check if any authorization differerence from DEV system , i.e. Responsibility rule might faile due to lack of authorization to certain user ID.
    Regards,
    Akshay

  • Agent Determination - PR Item Release

    Hi All,
    I'm trying to set up standard workflow WS00000038 for purchase requisition release notifications.  I'm having a problem with determining the correct agents.  I receive the following error in the log when the workflow runs:
    Agent determination for step '0000000003' failed
    Error in resolution of rule 'AC00000148' for step '0000000003'
    I am using standard task TS00007986, and rule 00000148.  The configuration for the release procedure is complete and working.  I have maintained values for users in T16FW, and set the release codes to '1' for workflow.  When I try simulating rule 148 in PFAC, I see that it is pulling from table T161E - and the only release code maintained there is a default 01 in german.  I tried creating a custom rule that referenced T16FW, but the simulation failed for it as well.
    I am very new to workflow.  What do I need to do in order to have this event notify the correct user defined in customizing? 
    Thanks,
    J

    Hi,
    The entries in table T16FW are made via customizing for the PR release.  View V_T16FW is empty... I tried entering manually through SE16 and saving, but it would be blank if I looked at it again. 
    However, I don't know if that is the problem.  I cannot get the rule to determine an agent in PFAC.  Currently I have modified rule 00000148 to have the container ReleaseCode look at table T16FW, field FRGCO.  It is also still getting requisition from BUS2009.  When I simulate in PFAC, I cannot get an agent to be determined. 
    T16FW contains a link to usernames which are maintained.  Why is this rule not determining an agent during simulation?  
    Thanks

Maybe you are looking for