|Description||Manage Sales Price Specifications|
|Process Component Description||Price Master Data Management|
|Process Component Name||PriceMasterDataManagement|
|Process Component Namespace||http://sap.com/xi/AP/FO/PriceAndTax/Global|
|Deployment Unit Description||Foundation|
|Endpoint Activation||By Scoping of Process Component||Operations|
An interface to create or update sales price specification, for example, surcharges, discounts or freights from a source system or file.
The Web service interface Manage Sales Price Specification In enables you to connect external applications to your SAP Business ByDesign system and to create and edit sales price specifications in your system.
The Web service interface Manage Sales Price Specification In offers the operations Maintain Bundle and Check Maintain Bundle.
Here is an example of a simple Web service request:
<n0:SalesPriceSpecificationBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>SPS1</ID> </BasicMessageHeader> <SalesPriceSpecification ActionCode="04"> <ObjectNodeSenderTechnicalID>SPS1</ObjectNodeSenderTechnicalID> <TypeCode>7PR8</TypeCode> <Description languageCode="EN">Freight</Description> <StartDate>2013-01-01</StartDate> <EndDate>2013-12-31</EndDate> <Amount currencyCode="EUR">5</Amount> <ProcessingTypeCode>AG</ProcessingTypeCode> <IncotermsClassificationCode>CFR</IncotermsClassificationCode> <IncotermsTransferLocationName>Hamburg</IncotermsTransferLocationName> <ScaleLine> <FirstDimensionScaleAxisStep> <ScaleAxisBaseCode>3</ScaleAxisBaseCode> <IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode> <Amount currencyCode="EUR">0</Amount> </FirstDimensionScaleAxisStep> <Amount currencyCode="EUR">5</Amount> </ScaleLine> <ScaleLine> <FirstDimensionScaleAxisStep> <ScaleAxisBaseCode>3</ScaleAxisBaseCode> <IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode> <Amount currencyCode="EUR">100</Amount> </FirstDimensionScaleAxisStep> <Amount currencyCode="EUR">0</Amount> </ScaleLine> </SalesPriceSpecification> </n0:SalesPriceSpecificationBundleMaintainRequest_sync>
It would create a single price specification (freight) valid throughout 2013 for sales orders with incoterms CFR Hamburg. A fixed freight of 5 EUR will be applied. No freight will be charged for sales orders with a net value above 100 EUR.
The following master data is only referenced and will not be created by the service operations. They must exist in the system when the Web service is called:
Products and Product Categories
Product Requirement Specifications
The Web service interface operations support action codes '01' and '04' only. Other action codes will not be accepted.
You can find general information about Web services, their structure and consumption in the Web Services documentation.
Possible scenarios include the following:
Create surcharges, discounts or freights
Update surcharges, discounts or freights
It is not possible to delete sales price specifications. It is only possible to change the validity period of a price specification in such a way that the surcharges, discounts or freights are not determined after a certain point in time.
|Description||Maintain sales price specifications|
To create and update sales price specifications, for example, surcharges, discounts or freights.
The request message of the operation Maintain Bundle contains a BasicMessageHeader node element as well as a SalesPriceSpecification node element that contains the sales price specification data to be created or updated. The detailed structure of the SalesPriceSpecification node will be explained in the following sub-chapters. The SalesPriceSpecification node can occur multiple times in the request message – this means that multiple sales price specifications can be created or updated through a single Web service request.
The response message type of the operation Maintain Bundle contains log items and a sales-price-specification-specific node.
The SalesPriceSpecification node has four different sets of elements:
Main price specification data
A set of elements describing the relevance of the price specification, that is, the context in which the price specification is applicable
A subnode to carry scale line information
The technical elements are SenderTechnicalID and ChangeStateID.
The main information of a price specification is its TypeCode, an amount (element Amount), or a percentage (element Percent). Either Amount needs to be filled or Percent depending on the configuration represented by the TypeCode. BaseQuantity and BaseQuantityTypeCode become relevant if the price or discount is defined for a certain quantity.
Elements AccountID to ProcessingTypeCode and all customer extension fields are the elements that describe the context in which a sales price specification is applicable.
Only a subset of these elements needs to be filled. Furthermore, the selection of such a subset is important since the Web service implementation will derive the target storage location in the context of the type of price list or the type of price specification.
Here is an example for price specifications:
The standard pricing procedure for SAP Business ByDesign contains a surcharge in percent. Technically, this surcharge is identified by a price specification type 7PR2. In order to automatically determine surcharges, this price specification type points to an access sequence where different combinations of elements are evaluated to check if surcharges have been maintained for a specific combination of elements.
At first, the system checks if there is a surcharge for a combination of sales organization, distribution channel, account, and product category. Then a combination of sales organization, distribution channel, customer group, and product category is being evaluated. Finally, the system checks for sales organization, distribution channel, and product category.
Each of these combinations requires a different storage location (pricing table). Hence, when the Web service requests the creation of surcharges of type 7PR2, the system needs to determine for which combination of elements the surcharge is supposed to be created.
If you want to create a surcharge for sales organization, distribution channel, and product category, your request needs to contain these and only these three pieces of information as tags in the XML. If you added the tag AccountID, the system would try to create a surcharge for the first combination of attributes. It would reject the creation if the AccountID tag is empty.
In the SalesPriceSpecification node, these elements are used to identify price specification instances. For example, for product-specific price specifications, the element ProductID identifies the price specification. When a value 'MCA-0001' is supplied in element ProductID, the system tries to find a price specification for that product.
If no sales price specification is found for a combination of values for these elements, the system will create an appropriate record. If a sales price specification is found it will be updated in case of action code '04'. With action code '01' the service implementation would reject the request.
Scale lines are identified by their axis. Currently, two-dimensional scales are supported. Therefore, either element FirstDimensionScaleAxisStep needs to be filled or both FirstDimensionScaleAxisStep and SecondDimensionScaleAxisStep are required.
The elements that need to be filled inside FirstDimensionScaleAxisStep or SecondDimensionScaleAxisStep depend on the configuration of the price specification type.
The elements Amount, BaseQuantity, BaseQuantityTypeCode and Percent are handled as described for the price specification data.
The values of the elements Amount, BaseQuantity, BaseQuantityTypeCode and Percent of the first scale line need to be equal to values of these elements in the price specification itself.
If a price specification is updated all scale lines will be deleted, and new scales lines are created based on the data in the Web service request. It is not possible to update single scale lines.
If a sales price specification is supposed to be updated, the following elements must not be changed:
Attribute CurrencyCode of element Amount
Attribute UnitCode of element BaseQuantity
If a product needs to be specified, the Web service request supports the identification by internal product IDs only. Therefore, the ProductID and the ProductTypeCode identify a product uniquely. If no ProductTypeCode is supplied, the service implementation will check if there is a unique product of type material with the given ProductID. If yes, this material will be used. Otherwise, the request will be rejected.
|Description||Check sales price specifications|
To check if sales price specifications can be created or updated without errors.
The Web service request and response message types for the Check Maintain Bundle operation are the same as those of the Maintain Bundle operation. The explanations given can therefore also be applied to the Check Maintain Bundle operation.