Description | Manage Service Product Valuations |
Name | ManageServiceProductValuationDataIn |
Namespace | http://sap.com/xi/A1S/Global |
Process Component Description | Financial Accounting Master Data Management |
Process Component Name | FinancialAccountingMasterDataManagement |
Process Component Namespace | http://sap.com/xi/AP/FinancialAccounting/Global |
Deployment Unit Description | Financials |
Endpoint Activation | By Scoping of Process Component | Operations |
Release Status | Released |
An interface to update service product valuation data from a source system or file.
The web service interface "Manage Service Product Valuation Data In" enables you to connect external applications to your SAP Business ByDesign system and edit service product valuation data in it.
The web service interface "Manage Service Product Valuation Data In" offers the operations "MaintainBundle" and "CheckMaintainBundle".
At the time the service is called, there must already be an existing service with a valuation maintained for some company. In that case this web service will work as expected for the service valuation data identified by the service ID & company ID pair.
The following guidelines must be followed while creating the request message structure:
1. Action codes must be provided for all the nodes in the request message structure.
2. Only action codes 04 (Save) and 06 (No Action) are allowed for "ServiceProductValuationData" node & "CostRate" node. Action codes 01 (Create), 02 (Change), 03 (Delete), 05 (Remove) are not allowed for these nodes.
3. Only action codes 02 (Update) and 06 (No Action) are allowed for the node "FinancialProcessInformation". Action codes 01 (Create), 03 (Delete), 04 (Save), 05 (Remove) are not allowed for this node.
4. LCTI(List Complete Transmission Indicator) is not supported and hence not present in any of the nodes of the request message structure.
5. Before insertion of a new cost rate through the service interface for a service ID and company ID pair, it must be ensured that the service exists and the company is maintained in the valuation of the service in the system.
6. Check in the system that the set of books provided in the request message is indeed assigned to the company used in the request message.
7. Account determination group is compulsory for the scenario in which there is no account determination group maintained in the system for a service product valuation and the service product valuation is to be activated.
8. Ensure that amount, quantity and start date are provided inside the "CostRate" block in the correct format. The "currencyCode" in amount and "unitCode" in quantity are derived from the set of books and valuation unit of measurement respectively. If we give a different value for these, they will get overridden by the values maintained in the system.
9. We can provide the "FinancialProcessInformation" block if we want to activate a valuation which is in preparation. Otherwise it is optional.
10. Inside the "FinancialProcessInformation" block make sure that life cycle status code provided is valid. Life cycle status codes 1(In Preparation) and 2(Active) are allowed. It is not allowed to change an active valuation back to in preparation.
11. It is also possible to use the interface to only activate a service product valuation by not providing the "CostRate" block.
The following request provides an example for a basic MaintainBundle operation where a new valuation price line item is created. The attribute action code is specified as "04" (save) for node ServiceProductValuationData as we want to update the account determination group for the service valuation data which is identified by service ID as "S001" and company ID as "MC10000". The section CostRate specifies the valuation price that shall be inserted by providing action code as "04" (save), start date of validity period as "2018-07-01", set of books as "0001" and finally the amount itself as 90000 USD relating to a price unit of 100 ea. The section FinancialProcessInformation is updated by action code "02" where LifecycleStatusCode is set to 2 which basically activates the service product valuation data identified by service ID as "S001" and company ID as "MC10000".
<n0:ServiceProductValuationDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1</ID> </BasicMessageHeader> <ServiceProductValuationData actionCode="04"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <ServiceProductInternalID >S001</ServiceProductInternalID> <CompanyID>MC10000</CompanyID> <AccountDeterminationGroupCode>5000</AccountDeterminationGroupCode> <CostRate actionCode="04"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <SetOfBooksID >0001</SetOfBooksID> <StartDate>2018-07-01</StartDate> <Amount currencyCode="USD">90000</Amount> <Quantity unitCode="EA">100</Quantity> </CostRate> <FinancialProcessInformation actionCode="02"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <LifeCycleStatusCode>2</LifeCycleStatusCode> </FinancialProcessInformation> </ServiceProductValuationData> </n0:ServiceProductValuationDataBundleMaintainRequest_sync>
The response for the above mentioned request provides the service ID (specified as ServiceProductInternalID) and the company ID (specified as CompanyID) of the service product valuation data. In case errors occur they are listed in the log section.
<?xml version="1.0"?> -<n0:ServiceProductValuationDataBundleMaintainConfirmation_sync xmlns:prx="urn:sap.com:proxy:ACL:/1SAI/TAS809A0233AD20E919C807:804" xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> -<ServiceProductValuationData> <ReferenceObjectNodeSenderTechnicalID>1</ReferenceObjectNodeSenderTechnicalID> <ChangeStateID> 20180228153020.2508890</ChangeStateID> <ServiceProductInternalID>S001</ServiceProductInternalID> <CompanyID>MC10000</CompanyID> </ServiceProductValuationData> <Log/> </n0:ServiceProductValuationDataBundleMaintainConfirmation_sync>
Description | Check service product valuations |
Name | CheckMaintainBundle |
Synchronous | yes |
Release Status | Released |
To check if service product valuation data 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 there can therefore also be applied to the CheckMaintainBundle operation.
Description | Maintain service product valuations |
Name | MaintainBundle |
Synchronous | yes |
Release Status | Released |
To update service product valuation data.
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as a ServiceProductValuationData node element that contains the service product valuation data to be updated. The detailed structure of the service product valuation data node will be explained in the following sub-chapters. The service product valuation data node can occur multiple times in the request message meaning that multiple service product valuation data can be updated by a single web service request.
The response message of the operation MaintainBundle contains log items, processing information and a service product valuation data specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as ServiceProductInternalID and CompanyID.
The ServiceProductValuationData node element contains information to identify the service product valuation data such as ServiceProductInternalID and CompanyID. It also provides information about the account determination group
Note: Even though the service product valuation data must be pre-existing (We can add or update cost rates in a pre existing service product valution via this service), action codes "06" (no action) and "04" (save) are allowed as the root node contains account determination group information as well which can be created or updated via this service. In case account determination group is already maintained for the Service Product Valuation and is not needed to be changed, it is recommended to keep the action code of the root node as "06" (no action).
Cost rates can be created or updated for a specific company maintained in the valuation of the service.
The action codes "06" (no action) and "04" (save) are allowed for this section. The "04" (save) operation automatically decides whether it is a create or an update operation.
The information that we need to provide includes the set of books ID denoting the set of books for which we are creating/updating the cost rate, the start date (the End Date is not needed as the system automatically determines it), the amount and the base quantity for which the amount is maintained.
The following example shows how to create a new cost rate by providing action code as "04" (save), start date of validity period as "2018-07-01", set of books as "0001" and finally the amount itself as 90000 USD relating to a price unit of 100 ea.
<CostRate actionCode="04"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <SetOfBooksID >0001</SetOfBooksID> <StartDate>2018-07-01</StartDate> <Amount currencyCode="USD">90000</Amount> <Quantity unitCode="EA">100</Quantity> </CostRate>
The financial process information node stores the life cycle status code of the service product valuation identified by a company id for a given service. Data for this node is automatically created when service product valuation data is created and hence only action codes "02" (Update) & "06"(No Action) are allowed
In the following example, the section financial process information is updated using action code "02" and LifecycleStatusCode is set to 2 which basically activates the service product valuation data. The service & company for which the activation is to be done is automatically derived from the data maintained in the Root Node
<FinancialProcessInformation actionCode="02"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <LifeCycleStatusCode>2</LifeCycleStatusCode> </FinancialProcessInformation>
The following request provides an example for a basic MaintainBundle operation where a new valuation price line item is created. The attribute action code is specified as "04" (save) for node ServiceProductValuationData as we want to update the account determination group for the service valuation data which is identified by service ID as "S001" and company ID as "MC10000". The section CostRate specifies the valuation price that shall be inserted by providing action code as "04" (save), start date of validity period as "2018-07-01", set of books as "0001" and finally the amount itself as 90000 USD relating to a price unit of 100 ea. The section financial process information is updated by action code "02" where LifecycleStatusCode is set to 2 which basically activates the service product valuation data identified by service ID as "S001" and company ID as "MC10000".
<n0:ServiceProductValuationDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1</ID> </BasicMessageHeader> <ServiceProductValuationData actionCode="04"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <ServiceProductInternalID >S001</ServiceProductInternalID> <CompanyID>MC10000</CompanyID> <AccountDeterminationGroupCode>5000</AccountDeterminationGroupCode> <CostRate actionCode="04"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <SetOfBooksID >0001</SetOfBooksID> <StartDate>2018-07-01</StartDate> <Amount currencyCode="USD">90000</Amount> <Quantity unitCode="EA">100</Quantity> </CostRate> <FinancialProcessInformation actionCode="02"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <LifeCycleStatusCode>2</LifeCycleStatusCode> </FinancialProcessInformation> </ServiceProductValuationData> </n0:ServiceProductValuationDataBundleMaintainRequest_sync>
The response for the above mentioned request provides the service ID (specified as ServiceProductInternalID) and the company ID (specified as CompanyID) of the service product valuation data. In case errors occur they are listed in the log section.
<?xml version="1.0"?> -<n0:ServiceProductValuationDataBundleMaintainConfirmation_sync xmlns:prx="urn:sap.com:proxy:ACL:/1SAI/TAS809A0233AD20E919C807:804" xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> -<ServiceProductValuationData> <ReferenceObjectNodeSenderTechnicalID>1</ReferenceObjectNodeSenderTechnicalID> <ChangeStateID> 20180228153020.2508890</ChangeStateID> <ServiceProductInternalID>S001</ServiceProductInternalID> <CompanyID>MC10000</CompanyID> </ServiceProductValuationData> <Log/> </n0:ServiceProductValuationDataBundleMaintainConfirmation_sync>