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 = text-005. >> PUT YOUR OWN TEXT HERE
ELSE.
<fs_cll_search_result_enh>-status = text-005.
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_requirements -stat EQ 'I1129' AND ls_requirements -inact = abap_false.
CLEAR lv_flag.
lv_flag = 'X'.
ELSEIF ls_requirements -stat EQ 'I1015' AND ls_requirements -inact = 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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.