Skip to Content
avatar image
Former Member

Issue in Process Controlled workflow for Shopping cart in Quality system.

Hello All,

I ahve configured a Process controlled workflow in SRM 7.0 with custom resolver, and I am facing an issue taht the Workflow works well in Development but in Quality the approvers are dropped after SC is ordered in Quality system.

The SC Workflow drops the approvers picked up from the Interface method /SAPSRM/IF_EX_WF_RESP_RESOLVERGET_AREA_TO_ITEM_MAP and IF_EX_WF_RESP_RESOLVERGET_APPROVERS_BY_AREA_GUID of BADI /SAPSRM/BD_WF_RESP_RESOLVER. The approvers can be seen in the shopping cart Approval preview Tab until the SC is ordered.

I have compared the OSS notes relevant for Workflow, all of them have been transported, Also I compared and checked general Workflow settings, BRF Config and Process level settings in Dev and Quality, everything is same.

Also while debugging; the approvers can be seen in the decision set table in the create_process_forecast method of class /SAPSRM/CL_WF_PROCESS_MANAGER.

Kindly let me know what else i can check to find the root cause.

Thank you in advance for help!

Regards

Prasuna.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Jul 13, 2011 at 04:15 PM

    Hi,

    for some reason system is not able to find the approver while you order the SC, what do you see in SLG1.. what is the workflow status now.. you can debug this issue through class /sapsrm/cl_wf_pdo_sc the method handle_process_finished..

    Saravanan

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      If I understand your issue correct, you can see the Agents are assigned properly in the "Approval Process Preview" before the document is SUBMITTED for order and when you go back to the document, the agents are gone ending up with the error "Strategy XXXXXX did not determine any approvers"

      Use SWI6, populate the fields and go to details and go to the "InProcess" task and go to "Details" and Check whether you receive the error as "EVALUATE_AGENT_VIA_RULE - Result of agent resolution does not agree with agent determination" (Agent determination for step '0000000293' failed).

      This may happen if you haven't GENERALIZE the tasks related to the workflow template.

      Generalize the tasks for WF template in your QA system using the following IMG path

      SAP Implementation Guide --> SAP Supplier Relationship Management --> SRM Server --> Cross-Application Basic Settings --> Business Workflow --> Process-Controlled Workflow --> Technical Configuration --> Generalize Tasks

      WF Task: WS40000014

  • avatar image
    Former Member
    Jul 19, 2013 at 09:58 PM

    Hello everyone;

    I have this exact same issue ( the approvers are dropped after SC is ordered). It not occurs with all my process level, so far only 1 approval level is giving me this error.

    Someone know how to solve it?

    Thank you in advance

    Kind Regards

    Cristian R.

    Add comment
    10|10000 characters needed characters exceeded

    • Hey Cristian

      Let me try adding more inputs and I would really apreciate if you can check this once and let me know ASAP .

      I have checked all the event linkages and since it works in few cases and not for others I am assuming it is fine .

      If you see below the issue is that in few cases eg as below the vuyer determnation step is visible and in others it is not visible .

      The user approved it here from what I see in the backend yet the Buyer dteermantion step is not refecletd in here .

      SC 2128

      From the SC 2128 in the backend I see the below Agents :

      and for 2085 I see the below :

      Can you please let me know on why in cases Jerry is missing as an agent ?

      pastedImage_0.png (120.1 kB)
      pastedImage_1.png (87.2 kB)
      pastedImage_2.png (12.9 kB)
      pastedImage_3.png (92.5 kB)
      pastedImage_4.png (13.2 kB)
  • Nov 25, 2013 at 05:39 AM

    Also I have prepared a doc if you can see the same as in the link below

    https://drive.google.com/file/d/0B_ROIRDr5-DSY2RHMkJyNFNINzQ/edit?usp=sharing

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hello Vinita;

      Thanks for the input and sorry for the not so "ASAP" reply;

      From what I'm seeing in from your 2 screenshot, i strongly believe that the problem is even before the Z implementation /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID (in which the FM i ZSRM_GET_USER_FROM_PGRP is called. I think the problem could be in the process level determination  ZSRM_WF_BRF_0EXP000_SC_APP100. Let me explain:

      In your  cases where not buyer is determined,  in the approval tab there is not even a process level for buyer approval. If the problem were indeed in the implementation  /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID  then the process level would be there, but the system will display, instead of the name of the buyer(if the buyer determination fails) a red label with the message:  "With the strategy "Buyer determination" an approver could not be determined (or something like that..please check the image at the end of the text)".

      I can propose a way to discard this: Implement the method /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_FALLBACK_AGENTS of class ZCL_BADI_SC_WC (in case you didn't know, in this method you can specify an "default" approver in case that the determination of approver in GET_APPROVERS_BY_AREA_GUID fails). The idea is to specify an default approval and see how it behaves:

      • If the user you indicated in the method GET_FALLBACK_AGENTS appears as approver, then yes, the problem is arises from implementation GET_APPROVERS_BY_AREA_GUID, in which case it could be a data problem (peharps in pposa_bbp?). You could also check in TX SU53 with the users with this problem to see if there's a missing authorization objetc.
      • If, in the other hand, the "default" approver is not shown, it means that the process level buyer determination is not even called, so you should check in more detail ZSRM_WF_BRF_0EXP000_SC_APP100 and /SAPSRM/CL_WF_PROCESS_MANAGER > Determine process restart –method ----- (i have never used this method, so i could not tell if  it could be the source of the problem).

      Also, you could implement the method GET_FALLBACK_AGENTS in this way so the default approver would be the WF administrator indicated in the customizing (or you could just append directly any user you want):

      METHOD /SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_FALLBACK_AGENTS.

         DATA: lv_admin_expr TYPE swd_shead-admin_expr,

               lv_admin      TYPE swd_shead-wfi_admin,

               lv_admin_type TYPE sy-input,

               ls_agent      TYPE  /sapsrm/s_wf_approver.

         CALL FUNCTION 'SWD_WF_DEFINITION_ADMIN_GET'

           IMPORTING

             default_admin_expr = lv_admin_expr

             default_admin      = lv_admin

             default_admin_type = lv_admin_type.

         ls_agent-approver_id = lv_admin.

         APPEND ls_agent TO rt_agent.

      ENDMETHOD.

      Error of agent determination:

      Please let me know the result of the test with the implementation of method GET_FALLBACK_AGENT. By doing this we could ensure if really the problem is in method GET_APPROVERS_BY_AREA_GUID or before.  I just made the test in our system and I'm almost sure that you wont get the default approver, but i could be wrong. 

      Any question please let me know.

      Best regards

      Cristian R.

      ERROR_WF.JPG (63.4 kB)