Description | Manage Object Identifier Mappings |
Name | CommunicationServicesManagementMaintainObjectIdentifierMappingIn |
Namespace | http://sap.com/xi/CommunicationServicesManagement/Global |
Process Component Description | Communication Services Management |
Process Component Name | CommunicationServicesManagement |
Process Component Namespace | http://sap.com/xi/CommunicationServicesManagement/Global |
Deployment Unit Description | Foundation |
Endpoint Activation | By Scoping of Process Component | Operations |
Release Status | Released |
The inbound maintain service OIM is a web-service interface for maintaining object-identifier mappings between objects in an SAP remote business system and a local SAP On-Demand system.
The web-service interface Maintain Object Identifier Mapping In enables you to connect external applications to your SAP On-Demand system and to maintain (create, update, or delete) object-identifier mappings between object identifiers in a remote business system, such as an SAP ERP or a SAP CRM suite system and object identifiers in the SAP On-Demand system.
The Maintain Object Identifier Mapping In web-service interface offers two operations, MAINTAIN_BUNDLE and CHECK_MAINTAIN_BUNDLE.
The web-service interface uses a remote object ID with its remote ID type and a local object ID with its local ID type. Remote objects are objects located in a business system. Local objects are objects located in an SAP On-Demand system.
A Web service handles an application-specific business document. "Business documents" used in the following descriptions are object-identifier mappings when dealing with the Maintain Object Identifier Mapping In web-service interface.
Remote and local objects used in a request message for maintaining object-identifier mappings must exist in the corresponding remote and local system. The request message only references these objects; therefore they will neither be created nor changed by this service operation.
The Maintain Bundle operation enables external applications to create, change, or delete one or more object-identifier mappings.
The Check Maintain Bundle operation enables external applications to simulate maintain bundle requests without changing object identifier mappings in the database. In particular, The Check Maintain Bundle operation returns system messages similar to the Maintain Bundle operation and provides the same message type as does the corresponding operation (Maintain Bundle).
Please check the documentations to those two operations for details.
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:
There is only one message node in a request message for maintaining object-identifier mappings.
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 (an external application) is responsible for providing correct business document IDs or UUIDs and for avoiding accidental creation of duplicate business documents.
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 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 must provide unique values for the elements ID or UUID of the "BasicMessageHeader" node element.
Request node elements with cardinality > 1 contain 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 only for 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, but returns them to the web service consumer instead in the ReferenceObjectNodeSenderTechnicalID elements.
Note: The ObjectNodeSenderTechnicalID is also used to identify failed business document modifications in a mass operation.
Example
Request:
<Root> <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:
An object-identifier mapping-specific part that contains information about remote and local object IDs and their ID types in the created and changed object-identifier mappings
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.
Description | Maintain object identifier mappings |
Name | MaintainBundle |
Synchronous | yes |
Release Status | Released |
To create, update, or delete Object Identifier Mappings
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as a ObjectIdentifierMapping node element that contains the object identifier mapping data to be created or updated. The detailed structure of the ObjectIdentifierMapping node will be explained in the following sub-chapters. The ObjectIdentifierMapping node can occur multiple times in the request message – this means that multiple object identifier mappings 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 an object identifier mapping specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as remote ID type, local ID type, remote object ID and local object ID.
When you create a request message for maintaining object-identifier mappings, you must provide both remote ID types and local ID types to specify object types in the corresponding systems.
The IF_AP_ID_DEFINING_SCHEME_COD_C code list for object-identifier mappings contains all ID types as interface constants that can be used for specifying types of objects located in the On-Demand system or in the remote business systems that are connected to that On-Demand system.
For the object-identifier mappings between an SAP ERP Suite system and a local On-Demand system, SAP recommends that you use following remote and local ID types:
Object Name | Remote ID type | Local ID type |
---|---|---|
Acccount | 918 | 888 |
Contact | 927 | 930 |
Material | 20 | 938 |
Product Category | 923 | 770 |
Sales Organization | 917 | 227 |
For the object-identifier mappings between an SAP CRM suite system and a local On-Demand system, SAP recommends that you use following remote and local ID types:
Object Name | Remote ID type | Local ID type |
---|---|---|
Business Partner | 888 | 888 |
Material | 935 | 938 |
Product Category | 936 | 770 |
CRM Organization & Unit | 227 | 227 |
Ensure that you use the object ID instead of the Universally Unique Identifier (UUID) object for both remote and local object IDs in a request message for maintaining object-identifier mappings.
You need to provide information about the remote business system, in which remote objects involved in the object-identifier mappings are located, in a request message for maintaining object-identifier mappings.
A remote business system can be established with one of the following identifiers used in a request message: ID, Intermediate Document Logical System ID, Business System ID, or UUID. When one (or more) identifiers of a remote business system is given, a query shall be run to find the remote business system and the result of that query is the UUID of the remote business system, which shall be used for maintaining the corresponding object-identifier mappings.
The Origin Type Code in a request message for maintaining object-identifier mappings tells the data source of object identifier mappings.
Following is the code list of Origin type codes. Depending on your data source for maintaing object identifer mappings, the corresponding one from following code list should be used for the request messsage.
Code Value | Description |
---|---|
1 | Initial Load (Data not Changed by User) |
2 | Initial Load (Data Changed by User) |
3 | Automatic Creation in Inbound |
4 | Identifier Assignment in Outbound |
5 | User |
6 | Central Master Data System |
Object-identifier mappings for product categories can be maintained by using local ID type 770 and local object IDs of product categories in On-Demand systems as described in section Remote and Local Object ID Types.
There is one limitation of using this operation for maintaining object-identifier mappings of product categories. There should exist only one product category hierarchy in the On-Demand system, so that local object IDs of product categories used in a request message of the operation are unique in the On-Demand system.
If there are more than one product category hierarchy in your On-Demand system, other alternatives for maintaining object-identifier mappings should be used such as using the user interface for object-identifier mappings or the corresponding Object ID Mapping API of the On-Demand system or using the migration workbench for object-identifier mappings.
Description | Check object identifier mappings |
Name | CheckMaintainBundle |
Synchronous | yes |
Release Status | Released |
To check if object identifier mappings can be created, updated, or deleted without errors.
The web service request- and response message types for the CheckMaintainBundle operation are the same as those of the Maintain Bundle operation. The explanations given can therefore also be applied to the CheckMaintainBundle operation.