Introduction:
I am really happy to create my first document.In this document I would like to enlist the different conditions of partner function validations and how it can be achieved. Initially when I started this enhancement I found many threads which includes threads created by me also, I found so many answers mentioning about more number of user exits, BADIs etc. But all of them will not suit validation conditions. So In this document I would like to enlist and summarize about the user exits and the enhancement spots that will suit to validate the partner functions.
Condition for partner function validation:
The following are the conditions on which usually the client expect to validate the partner functions:
è Validation on enter condition at header level.
è Validation on save condition at header level.
è Validation on enter condition at item level.
è Validation on save condition at item level.
Related Transactions:
1) Sales order document transactions (VA01,VA02,VA03)
2) Contract Document transactions (VA41,VA42,VA43)
3) Service order transactions(IW31.IW32,IW33)
Scenario 1: Validation on enter condition at header level
This requirement can be achieved by coding in the user exit point
USEREXIT_MOVE_FIELD_TO_VBKD in the Include MV45AFZZ of the standard program SAPMV45A.
Parameters that holds the value in the exit points are:
è Runtime internal table that holds the runtime value along with the partner function is XVBPA.
Note: The above exit point will suit only for Sales orders and contract documents.
Scenario 2: Validation on save condition at header level and at item level
This requirement can be achieved by coding in the user exit point
USEREXIT_SAVE_DOCUMENT_PREPARE in the Include MV45AFZZ of the standard program SAPMV45A.
Parameters that holds the value in the exit points are:
è Runtime internal table that holds the runtime value along with the partner function is XVBPA.
Note: The above exit point will suit only for Sales orders and contract documents.
Scenario 3: Validation on Enter condition at item level:
This requirement can be achieved by coding in the Enhancement point that can be created as mentioned below,
We can create an enhancement point in
INCLUDE LV09CF66 of main program
SAPLV09C. In this include we have to code inside the form
CHECK_AND_SEARCH_PARTNER which is present inside
ON_REQUEST_1000.
Parameters that holds the value in the exit points are:
è Runtime internal table that holds the runtime value along with the partner function is GT_XVBPA.
è Here values of sales organization, distribution channel, division are all concatenated in a single variable gvs_tc_parameters-sdorgdata, we have to truncate the values from these variable.
Note: The above exit point will suit only for Sales orders and contract documents.
Scenario 4: Validation on save and enter condition at both header level and at item level
This requirement can be achieved by coding in the Enhancement point that can be created as mentioned below,
We can create an enhancement point in
INCLUDE LIPARF00 of main program SAPLIPAR.
Parameters that holds the value in the exit points are:
è Runtime internal table that holds the runtime value along with the partner function is XIHPA.
Note: The above exit point will suit only for Service order documents.
Conclusion:
Please note that apart from all the exit points and enhancement points that have been mentioned above there may also be other user exits and enhancement points. I have just enlisted these spots because it worked for me. If you also know few other exit points apart from which I mentioned above please mention the exit point and also the condition on which its gets triggered.
Thanks for reading my document.
Lets collaborate, share and learn in SCN !!!
Thanks and Regards,
Satish Kumar Balasubramanian.