This article applies to SAP ECC6.0 and SAP R/3 4.7. Valid for release from 600 to 606.
When creating Scheduling agreement via LSMW IDOC method (Message type - PURSAG_CREATE and Basic Type - PURSAG_CREATE01) you get an error "Mandatory OA , PI partner role missing" if SA is being created with reference to a Contract which has more than one OA or PI partner roles. Same issue occurs if you are creating SA without referring to a contract but vendor in SA has multiple partner functions.
Created on: 12 Jan 2012
Author(s) : Yogesh
Consider a scenario where your organization is upgrading from old SAP version (SAP R/3 4.7) to SAP ECC and as part of data migration activities your are assigned role of migrating open scheduling agreement to new SAP ECC client. Also all your SAs need to be created against contract and these contracts have multiple OA and PI partner roles. So while creating SA you need to pass one of the OA or PI from multiple values avaialble in contract.
To pass OA or PI partner roles (LSMW method - Message type - PURSAG_CREATE and Basic Type - PURSAG_CREATE01) or (BAPI - BAP_SAG_CREATE) has a segment
E1BPMEOUTPARTNER Partner Information for Outline Agreement
PARTN_ROLE Partner Function
SUBRANGE_TX Description of Vendor Subrange
LANGU Language Key
LANGU_ISO Language according to ISO 639
PARTNR Reference to other vendor
DEF_PARTNR Default Partner
Based on description of the field under above segment it is clear that to pass unique OA or PI you need to pass:
# Partner role = BA (for OA) or RS (for PI) against field PARTN_ROLE
# PLANT = Plant number for which you are creating SA against field PLANT
# OA or PI vendor ID against field PARTNR
Once you pass values against these fields as mentioned below we should get unique OA or PI in SA according to values passed but system does not accept partner role values according to above rules as there is a program error and throws error as mandatory role OA,PI missing.To rectify that you need to implement OSS note - 1610959 (link given below)
Once you implement above OSS note you will able to upload/create SA with OA/PI value passed as mentioned above.
Similar to SA scenario mentioned above for Purchase order also you get Partner role missing error while using LSMW IDOC method (Message type - PORDCR1 and Basic type - PORDCR101) or BAPI - BAPI_PO_CREATE.
For Purchase order you have below segment for passing unique OA or PI
E1BPEKKOP Transfer Structure for Partner Roles in BAPI_PO_CREATE
PARTNERDESC Language-specific description of partner function
LANGU Language Key
BUSPARTNO Number of a Business Partner in Vendor Master Record
DELETE_IND Deletion Indicator
Here no OSS note needed but following rule needs to be followed for LANGU field;
# You must pass value against LANGU field as described below:
If passing value as “OA” and “PI” (against PARTNERDESC field) then language key (LANGU field) need to be passed as EN (system will automatically makes it E)
If passing value as “BA” and “RS” (against PARTNERDESC field) then language key (LANGU field) need to be passed as DE (system will automatically makes it D)
Note: You still have to pass OA or PI vendor ID against BUSPARTNO.