Skip to Content

I have been trying to work on Purchasing group assignment in SC and would like to share some information ..

I would try to summarize all the options available with the  focus on using the workload redistribution functionality and trying to

do custom changes to be able to modify as per your custom requirement .


Check these links by SAP for a more standard definition :

http://help.sap.com/saphelp_srm70/helpdata/en/45/f12b3c7e4b60d4e10000000a11466f/content.htm

http://help.sap.com/saphelp_srm70/helpdata/en/45/f0ee2300b404abe10000000a114a6b/content.htm


From what I understand we have 2 Broad Options of assigning Pur grp

I . Automatic way of assigning Pur grp :

If you want to have the system automatically reassign documents that were assigned to the standard purchasing group as defined in the organizational plan, you must have maintained — or re-maintained, as necessary — the assignment in the Business Add-In

(1) BBP_PGRP_ASSIGN_BADI – To assign the Purchasing Group for  External Requirement / Shopping Cart , Purchase Order , Contract , Bid Invitation

Sample implementation.

loop at it_sc_item into ls_item .

ls_ct_pgrp-P_GUID = ls_item-GUID .
ls_ct_pgrp-PROC_GROUP_OT = ‘O’.
ls_ct_pgrp-PROC_GROUP_ID = ‘500****8’.
append ls_ct_pgrp to ct_pd_pgrp.

ENDLOOP .

(2) BBP_PGRP_FIND – This BADI will be used to change the Purchasing Group based on some logic in the Shopping cart itself.

(3)Org attributes If you have not defined rules and you have not activated the BAdI, the system uses a standard procedure to assign purchasing groups and purchasing organizations to all documents. This takes into account the organizational responsibility (responsibility for departments) and the subject-area responsibility (responsibility for product categories) of the purchasing groups. These are defined on the Responsibilities tab page in Pur grp in  transaction PPOMA_BBP .

II. Manual assignment : If you plan to assign manually we have another option which is

” Workload redistribution” .So basically ,it means the  Pur grp can be changed using this functionality and since each pur grp should ideally belong to a particular user or group of user they would be considered responsible

    

**** Workload redistribution

We only have 2 status in Workload redistribution which are “In Process” and “Complete”

In  case the requirement is in the sourcing cockpit, the workload status will be set as “Complete” . However if the requirement is not in the sourcing cockpit anymore, this means that the system will display all requirements which are on hold or with a sourcing indicator blank which means

SC in awaiting approval , held status as “In process”

Note :In workload reassignment the status is a little confusing and is different from the status of the requirement itself.

Custom Points:

1. Change text for the status in workload redistribution

If you want to change the text based on having SC in draft status be shown as DRAFT and SC in awaiting approval to be shown similarly in their own status below is the point where you could do your customization or add new status  ..


/SAPSRM/CL_CH_WD_DOTM_WKL_RES   Method : REFRESH_ROWS

Sample code :

   IF <fs_cll_search_result_enh>incomplete EQ abap_true.
<fs_cll_search_result_enh>
status = text005. >> PUT YOUR OWN TEXT HERE
ELSE.
<fs_cll_search_result_enh>
status = text005.
ENDIF.
ENDIF.

2. As per customer requirement Filter carts in the workload redistribution

We had a requirement to not show the carts which are in DRAFT status or where the follow on Document is created .. To filter those carts create an enhancement implementation here

Class: /SAPSRM/CL_PDO_AO_WKL Method :  SEARCH_REQUIREMENTS

You can try to put your code in ET_requirement which displays the list of all carts

here I am trying to read ALL the status for all carts and display only if they are Awaiting approval or approved ELSE deleting them.

Sample implementation :

     LOOP AT et_requirements INTO ls_requirements.

IF ls_requirementsstat EQ ‘I1129’ AND ls_requirementsinact = abap_false.
CLEAR lv_flag.
lv_flag
= ‘X’.

  ELSEIF ls_requirementsstat EQ ‘I1015’ AND ls_requirementsinact = abap_false.
CLEAR lv_flag.
lv_flag
= ‘X’.
ENDIF.
CLEAR ls_crmjest1.
ENDIF.

      DELETE et_requirements INDEX lv_index.
ENDIF

               ENDLOOP.

Still if you face some issues with the standard behavior of workload redistribution try to see if these notes can be of some help ..

Some useful notes:

1826834 – WKL: Wrong listing order and sort in reverse order
1832050 – WKL: No documents found for a specific delivery date
2025695 – Workload Redistribution: Wrong search list for status ‘In Process’
1893610 – Workload Redistribution in Sourcing Application
1985024 – Issues with Workload Redistribution in Sourcing Application

2128641 – Changes in purchasing organization not reflected immediately

1669560 – Workload Redistribution: Not all subitems are redistributed

1912629- WKL: No authorization check when updating business documents
1610669 – Performance issue in Work Load Distribution
1164862 – Wrong Shopping Cart Status in ‘Redistribute Workload’

2025695 – Workload Redistribution: Wrong search list for status ‘In Process’


Do let me know if the document helps !!


Regards

Vinita


To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply