| Description | Manage Entitlement Products |
| Name | ManageEntitlementProductIn |
| Namespace | http://sap.com/xi/A1S/Global |
| Process Component Description | Product Data Maintenance |
| Process Component Name | ProductDataMaintenance |
| Process Component Namespace | http://sap.com/xi/AP/FO/Product/Global |
| Deploymnent Unit Description | Foundation |
| Endpoint Activation | By Scoping of Process Component | Operations |
| Release Status | Deprecated |
An interface to manage a bundle of entitlement products from an external application.
The web service interface Manage Entitlement Product In enables you to connect external applications to your solution and to create and edit entitlement products in your system. The web service interface Manage Entitlement Product In is relevant if your company wants to access and manage entitlement data from external applications.
The web service interface Manage Entitlement Product In offers the operations MaintainBundle and CheckMaintainBundle.
Example of a simple web service request, which creates a new entitlement product with the internal ID E100020:
<n0:EntitlementProductBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
<ID>1234567890ABCDEF0123456789ABCDEF</ID>
</BasicMessageHeader>
<EntitlementProduct actionCode="01">
<InternalID>E100020</InternalID>
<ProductCategoryID>200</ProductCategoryID>
<BaseMeasureUnitCode>EA</BaseMeasureUnitCode>
<Description actionCode="01">
<Description languageCode="EN">English description</Description>
</Description>
</EntitlementProduct>
</n0:EntitlementProductBundleMaintainRequest_sync>
The following example response returns the InternalID and the UUID of the created entitlement product:
<nm:EntitlementProductBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" >
<EntitlementProduct>
<ChangeStateID>20121121172707.6123160</ChangeStateID>
<InternalID>E100020</InternalID>
<UUID>00163e02-8b2e-1ee2-8d80-1578da024663</UUID>
</EntitlementProduct>
</nm:EntitlementProductBundleMaintainConfirmation_sync>
Existence of referenced business documents:
The following business documents are only referenced and will not be created by the service operations. They must already exist in the system at the time the web service is called:
Product Category Hierarchies
Organizational Management Data
Material Valuation Data
You can find general information about Web services, their structure and consumption in the Web Services documentation.
Possible scenarios include the following:
Create Entitlement Products: The MaintainBundle operation is used to create entitlement products.
Update Entitlement Products: The MaintainBundle Operation is used to update existing entitlement products.
Here is an example web service request:
<n0:EntitlementProductBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
<ID>1234567890ABCDEF0123456789ABCDEF</ID>
<UUID>12345678-90AB-CDEF-0123-456789ABCDEF</UUID>
</BasicMessageHeader>
<!--Create new entitlement product-->
<EntitlementProduct actionCode="01" descriptionListCompleteTransmissionIndicator="true" detailListCompleteTransmissionIndicator="true" quantityConversionListCompleteTransmissionIndicator="true" salesListCompleteTransmissionIndicator="true" deviantTaxClassificationListCompleteTransmissionIndicator="true" valuationListCompleteTransmissionIndicator="true" customerInformationListCompleteTransmissionIndicator="true">
<ObjectNodeSenderTechnicalID>001</ObjectNodeSenderTechnicalID>
<!-- ChangeStateID is only relevant for changing
<ChangeStateID>20101201082957.5189460</ChangeStateID> -->
<!--The UUID is read-only-->
<!--<UUID>12345678-90AB-CDEF-0123-456789ABCDEF</UUID>-->
<InternalID>E100020</InternalID>
<ProductCategoryID>200</ProductCategoryID>
<BaseMeasureUnitCode>EA</BaseMeasureUnitCode>
<ValuationMeasureUnitCode>KGM</ValuationMeasureUnitCode>
<!-- Create language dependent descriptions -->
<Description actionCode="01">
<ObjectNodeSenderTechnicalID>002</ObjectNodeSenderTechnicalID>
<Description languageCode="EN">English description</Description>
</Description>
<!-- Create language dependent detailed descriptions -->
<Detail actionCode="01">
<ObjectNodeSenderTechnicalID>003</ObjectNodeSenderTechnicalID>
<ContentText languageCode="EN">A detailed english description</ContentText>
</Detail>
<!-- Specify the equivalent measurement of one unit to another -->
<QuantityConversion actionCode="01">
<ObjectNodeSenderTechnicalID>004</ObjectNodeSenderTechnicalID>
<Quantity unitCode="EA">1</Quantity>
<CorrespondingQuantity unitCode="KGM">12.50</CorrespondingQuantity>
</QuantityConversion>
<!-- Specify information regarding sales processes -->
<Sales actionCode="01" internalNoteListCompleteTransmissionIndicator="false" salesNoteListCompleteTransmissionIndicator="true">
<ObjectNodeSenderTechnicalID>005</ObjectNodeSenderTechnicalID>
<SalesOrganisationID>A1110</SalesOrganisationID>
<DistributionChannelCode>01</DistributionChannelCode>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<SalesMeasureUnitCode>EA</SalesMeasureUnitCode>
<MinimumOrderQuantityValue>0</MinimumOrderQuantityValue>
<ItemGroupCode>NORM</ItemGroupCode>
<CashDiscountDeductibleIndicator>false </CashDiscountDeductibleIndicator>
<ReferencePriceEntitlementInternalID>E-100 </ReferencePriceEntitlementInternalID>
<InternalNote>
<ObjectNodeSenderTechnicalID>006</ObjectNodeSenderTechnicalID>
<ContentText>Internal sales note</ContentText>
</InternalNote>
<SalesNote actionCode="01">
<ObjectNodeSenderTechnicalID>007</ObjectNodeSenderTechnicalID>
<ContentText languageCode="EN">External sales note</ContentText>
</SalesNote>
</Sales>
<!-- Create tax information which differs from the default taxes -->
<DeviantTaxClassification actionCode="01">
<ObjectNodeSenderTechnicalID>008</ObjectNodeSenderTechnicalID>
<CountryCode>DE</CountryCode>
<RegionCode>08</RegionCode>
<TaxTypeCode listID="">1</TaxTypeCode>
<TaxRateTypeCode listID="">2</TaxRateTypeCode>
<TaxExemptionReasonCode listID="">1</TaxExemptionReasonCode>
<ServicePointTaxableIndicator>false</ServicePointTaxableIndicator>
</DeviantTaxClassification>
<!-- Material valuation can be defined for a specific company/business residence combination -->
<Valuation actionCode="01">
<ObjectNodeSenderTechnicalID>009</ObjectNodeSenderTechnicalID>
<CompanyID>1000</CompanyID>
<BusinessResidenceID>S1130</BusinessResidenceID>
<LifeCycleStatusCode>1</LifeCycleStatusCode>
</Valuation>
<!-- Maintain customer information for the service product-->
<CustomerInformation actionCode="01">
<ObjectNodeSenderTechnicalID>010</ObjectNodeSenderTechnicalID>
<CustomerInternalID>CP100110</CustomerInternalID>
<EntitlementCustomerID>CP100110-E1</EntitlementCustomerID>
</CustomerInformation>
<!-- Maintain material attachments like documents, images, links... -->
<AttachmentFolder DocumentListCompleteTransmissionIndicator="true" ActionCode="01">
<!--Link attachment-->
<Document ActionCode="01">
<VisibleIndicator>true</VisibleIndicator>
<CategoryCode>3</CategoryCode>
<TypeCode>10001</TypeCode>
<Name>SAP AG</Name>
<AlternativeName>SAP AG Homepage</AlternativeName>
<Description languageCode="EN">Hyperlink to SAP AG</Description>
<ExternalLinkWebURI>http://www.sap.com</ExternalLinkWebURI>
</Document>
<!--File attachment-->
<Document ActionCode="01">
<LinkInternalIndicator>true</LinkInternalIndicator>
<VisibleIndicator>true</VisibleIndicator>
<CategoryCode>2</CategoryCode>
<TypeCode>10011</TypeCode>
<MIMECode>image/jpg</MIMECode>
<Name>Image</Name>
<AlternativeName>Product Image</AlternativeName>
<Description languageCode="EN">Image of the product</Description>
<FileContent ActionCode="01">
<BinaryObject mimeCode="image/png" characterSetCode="" format="" fileName="" uri="">AQIDBAUGBwgJAA==</BinaryObject>
</FileContent>
</Document>
</AttachmentFolder>
<n1:IndiaServiceTypeCode xmlns:n1="http://sap.com/xi/AP/Globalization">1</n1:IndiaServiceTypeCode>
</EntitlementProduct>
</n0:EntitlementProductBundleMaintainRequest_sync>
| Description | Check entitlements products |
| Name | CheckMaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To check whether entitlement products can be created, updated, or deleted without errors.
The web service request and response message types of the CheckMaintainBundle operation are the same as those of the MaintainBundle operation.
The explanations given for the MaintainBundle can therefore also be applied to the CheckMaintainBundle operation.
| Description | Maintain entitlement products |
| Name | MaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To create, update, or delete entitlement products.
The request message of the MaintainBundle operation contains a BasicMessageHeader node element as well as an EntitlementProduct node element that contains the entitlement product data to be created or updated. The detailed structure of the entitlement product node will be explained in the following sub-chapters. The entitlement product node can occur multiple times in the request message meaning that multiple entitlement products can be created and updated by a single web service request.
The response message of the operation MaintainBundle contains log items, processing information, and an entitlement-specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as entitlement InternalID and entitlement UUID.
The EntitlementProduct node element contains all basic information about the entitlement product such as internal ID, product category, base unit of measure and valuation measure unit code. These fields can be found in the entitlement UI as General data. The internalID element corresponds to the Entitlement ID on the user interface - the UUID element is not visible on the UI, but can be retrieved via query and read web services.
Note: The entitlement UUID is read-only and cannot be set by external applications when creating entitlements.
A language-dependent description can be maintained with the Description node element.
Example:
<Description actionCode="01"> <Description languageCode="EN">A sample description</Description> </Description>
A language-dependent detailed description can be maintained with the Details node.
Example:
<Detail actionCode="01">
<ContentText languageCode="EN">
A more detailed description of the entitlement product
</ContentText>
</Detail>
The entitlement product supports quantity conversion between different units of measure. For example, if the base unit of measure is handled in "Each" but sold as "Boxes" then a conversion rule between these units is needed, as the following example shows.
Note: EA corresponds to Each and XBX to Box.
Example:
<QuantityConversion actionCode="01"> <Quantity unitCode="EA">10</Quantity> <CorrespondingQuantity unitCode="XBX">100</CorrespondingQuantity> </QuantityConversion>
The entitlement product valuation can be defined for a specific company/business residence combination. The financial data cannot be activated unless the material valuation data has been maintained in the system.
Example:
<Valuation actionCode="01"> <CompanyID>1000</CompanyID> <BusinessResidenceID>S1130</BusinessResidenceID> <LifeCycleStatusCode>1</LifeCycleStatusCode> </Valuation>
The Sales node contains all information regarding sales processes. Each sales process is defined by the SalesOrganisationID and the DistributionChannelCode which can be either Direct sales (01) or Indirect sales (02).
Furthermore, the LifeCycleStatusCode can be either In Preparation (1) or Active (2). The status must be set to Active to use the entitlement product in sales processes.
Sales notes can also be defined for each sales process definition.
The ItemGroupCode can contain the following values:
| Item Group Code | Description |
|---|---|
| ETCS | Entitlement - customer contract sale |
| ETFC | Entitlement - fixed price |
| ETFX | Entitlement - fixed price w/o actuals |
| ETTM | Entitlement - time and material |
Example:
<Sales actionCode="01">
<SalesOrganisationID>A1110</SalesOrganisationID>
<DistributionChannelCode>01</DistributionChannelCode>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<SalesMeasureUnitCode>EA</SalesMeasureUnitCode>
<MinimumOrderQuantityValue>0</MinimumOrderQuantityValue>
<ItemGroupCode>NORM</ItemGroupCode>
<CashDiscountDeductibleIndicator>false</CashDiscountDeductibleIndicator>
<ReferencePriceEntitlementInternalID>
E-100
</ReferencePriceEntitlementInternalID>
<InternalNote>
<ContentText>Internal sales note</ContentText>
</InternalNote>
<SalesNote actionCode="01">
<ContentText languageCode="EN">External sales note</ContentText>
</SalesNote>
</Sales>
The DeviantTaxClassification node contains tax information that differs from the default taxes. They are used for sales processes and can be found on the UI as Sales.
The listID attribute of the TaxTypeCode and TaxRateTypeCode elements is mandatory. However, the attribute value is not processed and the attribute might be removed in a future release of this web service.
Note: Tax Codes are dependent on the country and region.
Example
<DeviantTaxClassification actionCode="01"> <CountryCode>DE</CountryCode> <RegionCode>03</RegionCode> <TaxTypeCode listID="">1</TaxTypeCode> <TaxRateTypeCode listID="">2</TaxRateTypeCode> <TaxExemptionReasonCode listID="">1</TaxExemptionReasonCode> </DeviantTaxClassification>
The CustomerInformation node element can be used to create and change customer entitlement numbers.
The CustomerInternalID identifies an account. The EntitlementCustomerID contains the customer entitlement number.
Data for this node can be found as part of the Sales data in the Entitlement view.
Example:
<CustomerInformation actionCode="01"> <CustomerInternalID>CP100110</CustomerInternalID> <EntitlementCustomerID>CP100110-E1</EntitlementCustomerID> </CustomerInformation>
The AttachmentFolder node element can be used to add and remove entitlement attachments.
Data for this node can be found on the entitlement UI as Attachments. On the user interface, Files and Links can be created.
In the web service request, links and files are differentiated through the CategoryCode:
| Category code | Description |
|---|---|
| 1 | Folder |
| 2 | Document |
| 3 | Link |
The different types of attachments are differentiated through the TypeCode:
| Type code | Description |
|---|---|
| 10001 | Standard Attachment |
| 10011 | Product Image |
| 10015 | Technical Drawing |
| 10018 | Product Specification |
| 10043 | Details for Supplier |
Example
<AttachmentFolder ActionCode="01">
<Document ActionCode="01">
<VisibleIndicator>true</VisibleIndicator>
<CategoryCode>3</CategoryCode>
<TypeCode>10001</TypeCode>
<Name>SAP AG Link</Name>
<ExternalLinkWebURI>http://www.sap.com</ExternalLinkWebURI>
<AlternativeName>SAP AG URL</AlternativeName>
<Description languageCode="EN">A hyperlink to SAP AG</Description>
</Document>
</AttachmentFolder>
Show full documentation