on 05-19-2009 11:15 AM
Hi Guru,
The error message had appeared but the user still can choose to hold the PO even though there is an error.
They do not want to let the user to have a choice to save the PO once there is an error.
Please advice where i can out this checking in.
please see OSS Note 390117 - ME21N: Prevent holding of purchase orders
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sally,
In IMG under Purchasing there is a BADI - "Deactivate 'Hold' Function for Enjoy Purchase Order", i think this should resolve your issue.
Regards
Reeves.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't think there is any ready configuration available to remove the option creating a PO in Held status. I am curious to know the logical business reason that made your customer to make this request. Knowing that may be a different solution can be thought of rather than disturbing this fundamental SAP PO functionality.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If there are any warnig messages occured you can ignore them(you can bypass them by pressing Enter key).
If it is a error message check your inputs and any other data is required by the system.
If you want to change catagory of system message for warning to Error OR Error to Warning, check the messge no. note down the message no.
Go to this path: SPRO: MM>purchasing>Environment data ---> Default attributes to system messages, select system messges, go to the messasge and change the category as required.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Holding PO is different. The document will be maintained in hold status till the error is rectified. The system will not allow further processing of the document like creating GR or inovice in hold stage.
regards
alexandro
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
We can save PO only when the system doesnt issues any message. PO hold doesnt mean that the PO is saved.It is only put on hold when the error occurs and it gives chance to rectify the error occured. so that the PO can be saved. And also it does not allow the PO for further processing.
Regards
Siva
Dear Sally,
As per OSS: Note 606728 - Hold Functionality of the PR & PO - Gaps.
The only way you can stop the hold functionality is by implementing the BADI: ME_PROCESS_PO_CUST.
I am copying the OSS text for your reference.
***************************
Summary
Symptom
It is possible in the system to create/hold a purchase order (PO) referencing a held purchase requisition (PR), but your business process requires that this not be possible in your installation.
Other terms
Hold, ME21N, ME52N, Parking, Save without Check, Held PR, PO referencing a held PR, Commitments, reduction of PR by a held PO
Reason and Prerequisites
Cause: The functionality is not provided in EA-PS 110.
Prerequisites : You must be on EA-PS 110 to implement this note
Solution
You can implement some customer BAdI's provided by SAP to get this functionality. Note that customer implementations of the BAdI's provided by SAP are upwardly compatible. The text that follows gives details of how to implement the customer BAdI's to accomplish this functionality.
This functionality might be provided in future releases. However, we cannot make any binding statements at this time in regard to the scope of this development and when it will become available.
The following are the steps required to implement the customer BAdI to give an error message when a user tries to create a PO referencing a held PR.
1. Go to transaction SE18. Enter the definition name as ME_PROCESS_PO_CUST. Select the push button display.
a) Choose Implementation -> Create.
b) Enter an implementation name. Choose Enter.
c) Enter a short text to describe the purpose of the implementation, then save the implementation.
d) Select the tab interface, then double-click the method "process_item".
e) Create a message to issue a message that the PR is on hold.
f) Enter the following code in the method:
DATA: LS_MEPOITEM TYPE MEPOITEM.
DATA : MEMORY TYPE EBAN-MEMORY.
get current data from business object
LS_MEPOITEM = IM_ITEM->GET_DATA( ).
Check if the PO references a PR and check if the PR is not on hold
If the PR is on hold give an error message
IF NOT LS_MEPOITEM-BANFN IS INITIAL.
SELECT SINGLE MEMORY INTO MEMORY
FROM EBAN WHERE BANFN = LS_MEPOITEM-BANFN
AND BNFPO = LS_MEPOITEM-BNFPO.
IF MEMORY = 'X'.
MESSAGE E900(ZM). "The message that you have created in step 6
ENDIF.
ENDIF.
g) Activate the implementation.
2. If you do not want to let the user put the PO referencing a held PR on hold, you have to also implement the BAdI ME_HOLD_PO. The following are the steps to implement the BAdI.
a) Go to transaction SE18.Enter the definition name as ME_HOLD_PO and click on the 'DISPLAY' button.
b) Go to Implementation -> Create.
c) Enter an implementation name, then choose Enter.
d) Give some short text to describe the purpose of the implementation, then save the implementation.
e) Select the tab interface. Double-click the method IS_ALLOWED.
f) Enter the following code in the method:
DATA : IM_BEKPO_WA TYPE BEKPO.
DATA : MEMORY TYPE EBAN-MEMORY.
*-Look if the PO refers to a Held PR
LOOP AT IM_BEKPO INTO IM_BEKPO_WA
WHERE NOT BANFN IS INITIAL.
SELECT SINGLE MEMORY INTO MEMORY
FROM EBAN WHERE BANFN = IM_BEKPO_WA-BANFN
AND BNFPO = IM_BEKPO_WA-BNFPO.
IF MEMORY = 'X'.
*-Do not allow the PO to be kept on hold
*-if the PO is refering a held PR
CH_ALLOWED = ' '.
ENDIF.
ENDLOOP.
g) Activate the implementation.
*****************************
I hope it helps.
Kind Regards,
Prakash
| User | Count |
|---|---|
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.