| Description | Manage Product Business Partner Relation |
| Name | ManageProductBusinessPartnerRelationIn |
| Namespace | http://sap.com/xi/A1S/Global |
| Process Component Description | Product Business Partner Relation Management |
| Process Component Name | ProductBusinessPartnerRelationManagement |
| Process Component Namespace | http://sap.com/xi/AP/FO/ProductBusinessPartnerRelationManagement/Global |
| Deploymnent Unit Description | Foundation |
| Endpoint Activation | By Scoping of Process Component | Operations |
| Release Status | Deprecated |
An interface to maintain the relation between a product and a business partner. This relation is required to have a product list for a specific business partner.
The web service interface ManageProductBusinessPartnerRelationIn enables you to connect external applications to your SAP system and to maintain data of BO Product Business Partner Relation within your system. The web service interface is relevant if your company wants to maintain the Product Business Partner Relation data from external applications.
The web service interface ManageProductBusinessPartnerRelationIn offers the operations MaintainBundle and CheckMaintainBundle.
An example of a simple web service request:
<n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
<ID>00000000000102dcade9bcb0aa000c68</ID>
</BasicMessageHeader>
<ProductBusinessPartnerRelationMaintainRequestBundle actionCode="01">
<Description languageCode="EN">Test Product Business Partner Relation</Description>
<ValidFromDate>2014-10-24</ValidFromDate>
<ValidToDate>2015-10-23</ValidToDate>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<TypeCode>1</TypeCode>
<Product actionCode="01">
<ProductKey>
<ProductID>12345678</ProductID>
</ProductKey>
</Product>
<BusinessPartner actionCode="01">
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
</BusinessPartner>
</ProductBusinessPartnerRelationMaintainRequestBundle>
</n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync>
Existence of referenced master data:
Products
Business Partners
Maintain Bundle operations enable external applications to create and change business document data. Check Maintain Bundle operations enable external applications to simulate maintain bundle requests without changing business document data. In particular, Check Maintain Bundle operations have the following functions:
Return system messages similar to corresponding maintain bundle operations
Provide the same message type as the corresponding operation Maintain Bundle
Do not assign internal numbers from a productive number range interval (number range statuses are not increased)
Do not change business documents
Action codes represent an instruction to the recipient of the web service request to process transmitted message node elements.
| Action Code | Description |
|---|---|
| 01 | Create; the system returns an error message if the node element already exists. |
| 02 | Update; the system returns an error message if the node element does not exist. |
| 03 | Delete; the system returns an error message if the node element does not exist. |
| 04 | Save; the system creates or changes the node element data. |
| 05 | Remove; the system deletes the node element. If the node element does not exist, the system does not send an error message. |
| 06 | No Action; the system does not change the node element. |
Default action code: 04 (Save).
Note: Action code 04 (Save) creates business documents if the system could not identify a matching target business document. This applies in particular if no business document ID or UUID is provided by the web service consumer. The web service consumer (external application) is responsible for providing correct business document IDs or UUIDs, in order to avoid accidental creation of duplicate business documents.
The processing of node elements with cardinality > 1 (for example a list of descriptions in different languages or a list of telephone numbers) can be controlled using List Complete Transmission Indicators (LCTI). The LCTI indicates whether a list of node elements is transmitted completely. The LCTI of a node element with cardinality > 1 is modeled as an attribute of its parent node element (attribute name: <name of child element>ListCompleteTransmissionIndicator).
| LCTI | Description |
|---|---|
| false | The list of node elements is not completely transmitted. Hence, all node elements that are not transmitted remain unchanged. If transmitted node elements in the list can be uniquely identified, the system processes the node elements according the action code. If transmitted node elements in the list cannot be uniquely identified, the system appends the node element to the corresponding list of node elements in the target business document. |
| true | The list of elements is completely transmitted. Hence, all node elements that are not transmitted are removed. If no node element is transmitted, the complete list is removed. |
Default list complete transmission indicator: false.
Note: The LCTI refers to the completeness of the list of node elements and does not imply completeness of sub-elements.
Optional leaf elements in request messages that are not transmitted within a web service request are not changed in corresponding business documents.
Example
When updating a product business partner relation, the request updates the name. The priority code remains unchanged, as the PriorityCode element is not contained in the XML document (commented out).
<ProductBusinessPartnerRelationMaintainRequestBundle actionCode="02"> <ID>815</ID> <LifeCycleStatusCode>3</LifeCycleStatusCode> </ProductBusinessPartnerRelationMaintainRequestBundle>
Note: The request tries to set the life cycle status of a product business partner relation.
Maintain bundle and check maintain bundle operations are mass-enabled stateless synchronous web service operations. Transferring or requesting amounts of data that are too large causes communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Maintain bundle and check maintain bundle operations support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Using change state identifier (element name ChangeStateID), external applications can enforce that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an uninterpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, then the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Request node elements with cardinality > 1 contain an object node sender technical identifier to relate response message elements and log items to corresponding node elements in the request message.
The object node sender technical identifiers are provided as ObjectNodeSenderTechnicalID in request message types and referred to as ReferenceObjectNodeSenderTechnicalID in corresponding response message types.
If the object node sender technical ID is initial, the object node sender technical ID of the parent node element in the request is returned as the reference object node sender technical ID. If the object node sender technical IDs of all parent node elements are initial, the reference object node sender technical ID is returned as initial as well.
Note: The values specified in the ObjectNodeSenderTechnicalID are transient values that establish the correspondence between elements for only a single call. The web service consumer is not required to specify them or to use the same values for different calls. Also, the service provider does not interpret these values at all. Instead, the service provider returns them to the web service consumer in the ReferenceObjectNodeSenderTechnicalID elements.
Note: The ObjectNodeSenderTechnicalID is also used to identify failed business document modifications in a mass operation.
Example
Request:
<Child>
<ObjectNodeSenderTechnicalID>999_A<ObjectNodeSenderTechnicalID>
<Content>Child A: Some correct content</Content>
</Child>
<Child>
<ObjectNodeSenderTechnicalID>999_B<ObjectNodeSenderTechnicalID>
<Content>Child B: Some erroneous content</Content>
</Child>
Response:
<Log>
<Item>
<ReferenceObjectNodeSenderTechnicalID>999_B </ReferenceObjectNodeSenderTechnicalID>
<Note>Error message for Child B</Note>
</Item>
</Log>
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request
You can find general information about Web services, their structure and consumption in the Web Services documentation.
Possible scenarios are:
Create a product busines partner relation
Adopt a product busines partner relation
Block a product busines partner relation
Create a product busines partner relation
<n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader/>
<ProductBusinessPartnerRelationMaintainRequestBundle actionCode="01">
<Description languageCode="EN">VS A2X Test</Description>
<ValidFromDate>2014-07-01</ValidFromDate>
<ValidToDate>2014-07-31</ValidToDate>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<TypeCode>1</TypeCode>
<Product actionCode="01">
<ProductKey>
<ProductID>MCF-0001</ProductID>
</ProductKey>
</Product>
<Product actionCode="01">
<ProductKey>
<ProductID>MCF-0036</ProductID>
</ProductKey>
</Product>
<BusinessPartner actionCode="01">
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
</BusinessPartner>
</ProductBusinessPartnerRelationMaintainRequestBundle>
</n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync>
Adopt a product busines partner relation (deletion of a Product)
<n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader/>
<ProductBusinessPartnerRelationMaintainRequestBundle actionCode="02">
<ID>101</ID>
<Product actionCode="03">
<ProductKey>
<ProductTypeCode>1</ProductTypeCode>
<ProductIdentifierTypeCode>1</ProductIdentifierTypeCode>
<ProductID>MCF-0001</ProductID>
</ProductKey>
</Product>
</ProductBusinessPartnerRelationMaintainRequestBundle>
</n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync>
Block a product busines partner relation
<n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <ProductBusinessPartnerRelationMaintainRequestBundle actionCode="02"> <ID>101</ID> <LifeCycleStatusCode>3</LifeCycleStatusCode> </ProductBusinessPartnerRelationMaintainRequestBundle> </n0:ProductBusinessPartnerRelationBundleMaintainRequest_sync>
| Description | Check maintain product list |
| Name | CheckMaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To check the create, update, or delete product business partner relations (product list).
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as an ProductBupaRelation node element that contains the data to be created or updated. The data node can occur multiple times in the request message. This means that multiple product business partner relations can be created and updated through a single web service request.
The response message type of the operation MaintainBundle contains log items, processing information, and a ProductBupaRelation-specific node with ReferenceObjectNodeSenderTecnicalID, ChangeStateID. In addition, as product business partner relation InternalID is also listed.
The product business partner relation node element contains all general information such as ID, validity, name.
The data for this node is related to general data on the product business partner relation (Product List) UI.
The ID is a unique identifier of the product business partner relation . It is typically not set but generated by the system.
The dates indicate the validity period of the product business partner relation . Dates are expected in the format YYYY-MM-DD.
The LifeCycleStatusCode represents the usability of the product business partner relation within document processing:
| LifeCycleStatusCode | Description |
|---|---|
| 1 | In Preparation |
| 2 | Active |
| 3 | Blocked |
The TypeCode indicated the usage of the product business partner relation .
| LifeCycleStatusCode | Description |
|---|---|
| 1 | Product Proposal |
The Description of the product business partner relation used in the UI.
The Subnode Product can be used with an own ActionCode to create, update and delete products assigned to the product business partner relation . Within the node the following data is used.
The ProductKey identifies the product itself and consists of 3 fields:
| Description | |
|---|---|
| ProductTypeCode | (1) Material, (2) Service, (3) Individual Product, (4) Warranty, (6) Entitlement (optional) |
| ProductIdentifierTypeCode | value 1-3 (optional) |
| ProductID | Internal ID of the Product (mandatory) |
The validity period of a concrete product. The validity has to be within the range of the validity of the product business partner relation itself.
The sub-node BusinessPartner can be used with an own action code to create, update and delete business partners assigned to the product business partner relation . Within the node, the following data is used.
The internal ID of a business partner.
| Description | Maintain product list |
| Name | MaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To create, update, or delete product business partner relations (product list).
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as an ProductBupaRelation node element that contains the data to be created or updated. The data node can occur multiple times in the request message. This means that multiple product business partner relations can be created and updated through a single web service request.
The response message type of the operation MaintainBundle contains log items, processing information, and a ProductBupaRelation-specific node with ReferenceObjectNodeSenderTecnicalID, ChangeStateID. In addition, a product business partner relation Internal ID is also listed.
The ProductBupaRelation node element contains all general information such as ID, validity, name.
The data for this node is related to general data on the product business partner relation (Product List) UI.
The ID is a unique identifier of the product business partner relation. It is typically not set but generated by the system.
The dates indicate the validity period of the product business partner relation. Dates are expected in the format YYYY-MM-DD.
The LifeCycleStatusCode represents the status of the product business partner relation within document processing:
| LifeCycleStatusCode | Description |
|---|---|
| 1 | In Preparation |
| 2 | Active |
| 3 | Blocked |
The TypeCode indicates the usage of the product business partner relation.
| LifeCycleStatusCode | Description |
|---|---|
| 1 | Product Proposal |
The Description of the product business partner relation used in the UI.
The sub-node Product can be used with an own action code to create, update and delete products assigned to the product business partner relation. Within the node the following data is used.
The ProductKey identifies the product itself and consists of 3 fields:
| Description | |
|---|---|
| ProductTypeCode | (1) Material, (2) Service, (3) Individual Product, (4) Warranty, (6) Entitlement (optional) |
| ProductIdentifierTypeCode | value 1-3 (optional) |
| ProductID | Internal ID of the product (mandatory) |
The validity period of a concrete product. The validity has to be within the range of the validity of the product business partner relation itself.
The sub-node BusinessPartner can be used with an own action code to create, update and delete business partners assigned to the product business partner relation. Within the node, the following data is used.
The internal ID of a business partner.
Show full documentation