Description | Manage Material Valuations |
Name | ManageMaterialValuationDataIn |
Namespace | http://sap.com/xi/A1S/Global |
Product | SAP Business ByDesign |
Process component | Financial Accounting Master Data Management |
Process component namespace | http://sap.com/xi/AP/FinancialAccounting/Global |
Deployment unit | Financials |
Endpoint Activation | By Scoping of Process Component | Operations |
|
Release Status | Released |
Technical documentation on the SAP API Business Hub | Manage Material Valuations |
General web service documentation | A2X Web Services (SOAP) |
An interface to replicate material valuation data from a source system or file.
The web service interface Manage Material Valuation Data In enables you to connect external applications to your SAP Business ByDesign system and to create and edit materials valuation data in your system.
The web service interface Manage Material Valuation Data In offers the operation MaintainBundle and CheckMaintainBundle.
The following request provides an example for a basic MaintainBundle operation where a valuation price of type standard cost is updated at permanent establishment level. The attribute action code is specified as "06" (no action) for node MaterialValuationData as there already exists an instance of material valuation data, which is identified by Material ID as "P100702" and Company ID as "1000". The section ValuationPrice specifies the valuation price of type standard cost that shall be updated by providing action code as "02", permanent establishment as "P1100", start date of validity period as "2013-01-01", end date of validity period as "2013-12-31", price type code as "2", set of books as "7000" and finally the valuation price itself as 115.75 USD relating to a price unit of 1 ea.
<n0:MaterialValuationDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1</ID> </BasicMessageHeader> <MaterialValuationData actionCode="06" valuationPriceListCompleteTransmissionIndicator="false"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <MaterialInternalID>P100702</MaterialInternalID> <CompanyID>1000</CompanyID> <ValuationPrice actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ValidityDatePeriod> <StartDate>2013-01-01</StartDate> <EndDate>2013-12-31</EndDate> </ValidityDatePeriod> <PriceTypeCode>2</PriceTypeCode> <SetOfBooksID>7000</SetOfBooksID> <LocalCurrencyValuationPrice> <Amount currencyCode="USD">115.75</Amount> <BaseQuantity unitCode="EA">1</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> </LocalCurrencyValuationPrice> </ValuationPrice> </MaterialValuationData> </n0:MaterialValuationDataBundleMaintainRequest_sync>
The response for the above mentioned request provides the Material ID (specified as MaterialInternalID) and the Company ID (specified as CompanyID) of the material valuation data. In case errors are occured they are listed in the log section.
<nm:MaterialValuationDataBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSC:/1SAI/TAE8DAFDDE4CC4BB635D2F8:804"> <MaterialValuationData> <ReferenceObjectNodeSenderTechnicalID>1</ReferenceObjectNodeSenderTechnicalID> <ChangeStateID>20130618105700.3336650</ChangeStateID> <MaterialInternalID>P100702</MaterialInternalID> <CompanyID>1000</CompanyID> </MaterialValuationData> <Log/> </nm:MaterialValuationDataBundleMaintainConfirmation_sync>
The following request provides an example for a MaintainBundle operation where valuation data of a material is updated at consignment level. The webservice creates the product valuation level for the mentioned consignee ID if it does not exist in the system. The attribute action code is specified as "06" (no action) for node MaterialValuationData as there already exists an instance of material valuation data, which is identified by Material ID as "P100703" and Company ID as "2000". The section ValuationPrice specifies the valuation price of type standard cost that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with consignee ID as "PC9785", product valuation level type as either "3" or "Consignee", start date of validity period as "2021-01-01", end date of validity period as "2021-12-31", price type code as "2", set of books as "7000" and finally the valuation price itself as 100 USD relating to a price unit of 1 ea. The section AccountDeterminationSpecification specifies the account determination material valuation data group code as "3010" that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with consignee ID as "PC9785", product valuation level type as either "3" or "Consignee". The section InventoryValuationSpecification specifies the perpetual inventory valuation procedure code as "1" that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with consignee ID as "PC9785", product valuation level type as either "3" or "Consignee".
The section MaterialFinancialProcessInfo is not relevant for updating valuation data at consignment level.
<n0:MaterialValuationDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1</ID> </BasicMessageHeader> <MaterialValuationData actionCode="06" valuationPriceListCompleteTransmissionIndicator="false"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <MaterialInternalID>P100703</MaterialInternalID> <CompanyID>2000</CompanyID> <ValuationPrice actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PC9785</ProductValuationLevelID> <ProductValuationLevelType>3</ProductValuationLevelType> <ValidityDatePeriod> <StartDate>2021-01-01</StartDate> <EndDate>2021-12-31</EndDate> </ValidityDatePeriod> <PriceTypeCode>2</PriceTypeCode> <SetOfBooksID>7000</SetOfBooksID> <LocalCurrencyValuationPrice> <Amount currencyCode="USD">100</Amount> <BaseQuantity unitCode="EA">1</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> </LocalCurrencyValuationPrice> </ValuationPrice> <AccountDeterminationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PC9785</ProductValuationLevelID> <ProductValuationLevelTypeCode>3</ProductValuationLevelTypeCode> <AccountDeterminationMaterialValuationDataGroupCode>3010</AccountDeterminationMaterialValuationDataGroupCode> </AccountDeterminationSpecification> <InventoryValuationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PC9785</ProductValuationLevelID> <ProductValuationLevelTypeCode>3</ProductValuationLevelTypeCode> <PerpetualInventoryValuationProcedureCode>1</PerpetualInventoryValuationProcedureCode> </InventoryValuationSpecification> </MaterialValuationData> </n0:MaterialValuationDataBundleMaintainRequest_sync>
The following request provides an example for a MaintainBundle operation where valuation data of a material is updated at product specification level. Check the prerequisites section before using this service operation. It is expected by the webservice that the product valuation level for product specification exists in the system. The attribute action code is specified as "06" (no action) for node MaterialValuationData as there already exists an instance of material valuation data, which is identified by Material ID as "P100704" and Company ID as "2000". The section ValuationPrice specifies the valuation price of type standard cost that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with product specification ID as "PRS12", product valuation level type as either "2" or "Product Specification", start date of validity period as "2021-01-01", end date of validity period as "2021-12-31", price type code as "2", set of books as "7000" and finally the valuation price itself as 100 USD relating to a price unit of 1 ea. The section AccountDeterminationSpecification specifies the account determination material valuation data group code as "3010" that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with product specification ID as "PRS12", product valuation level type as either "2" or "Product Specification". The section InventoryValuationSpecification specifies the perpetual inventory valuation procedure code as "1" that shall be updated by providing action code as "02", permanent establishment as "P1100", product valuation level ID with product specification ID as "PRS12", product valuation level type as either "2" or "Product Specification".
The section MaterialFinancialProcessInfo is not relevant for updating valuation data at product specification level.
<n0:MaterialValuationDataBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1</ID> </BasicMessageHeader> <MaterialValuationData actionCode="06" valuationPriceListCompleteTransmissionIndicator="false"> <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID> <MaterialInternalID>P100704</MaterialInternalID> <CompanyID>2000</CompanyID> <ValuationPrice actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PRS12</ProductValuationLevelID> <ProductValuationLevelType>2</ProductValuationLevelType> <ValidityDatePeriod> <StartDate>2021-01-01</StartDate> <EndDate>2021-12-31</EndDate> </ValidityDatePeriod> <PriceTypeCode>2</PriceTypeCode> <SetOfBooksID>7000</SetOfBooksID> <LocalCurrencyValuationPrice> <Amount currencyCode="USD">100</Amount> <BaseQuantity unitCode="EA">1</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> </LocalCurrencyValuationPrice> </ValuationPrice> <AccountDeterminationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PRS12</ProductValuationLevelID> <ProductValuationLevelTypeCode>2</ProductValuationLevelTypeCode> <AccountDeterminationMaterialValuationDataGroupCode>3010</AccountDeterminationMaterialValuationDataGroupCode> </AccountDeterminationSpecification> <InventoryValuationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ProductValuationLevelID>PRS12</ProductValuationLevelID> <ProductValuationLevelTypeCode>2</ProductValuationLevelTypeCode> <PerpetualInventoryValuationProcedureCode>1</PerpetualInventoryValuationProcedureCode> </InventoryValuationSpecification> </MaterialValuationData> </n0:MaterialValuationDataBundleMaintainRequest_sync>
The following business documents are only referenced and will not be created by the service operation. They must already exist in the system at the time the web service is called:
*Organizational Management Data (e.g. company, permanent establishment)
*Product Valuation Level for Product Specification
However, the Product Valuation Level referenced for Consignee will be created by the service operation if it does not exist in the system.
The service operation expects Valuation Level Type to be manually set to "2 – Product Specification" in the Material Master. Mass update is not supported for this field.
KBA: 2567270 - Mass Change of Material Valuation Level Type of Materials
You can find general information about Web services, their structure and consumption in the Web Services documentation. Please open the Web Services document in a new window.
Description | Maintain material valuations |
Name | MaintainBundle |
Synchronous | yes |
Release Status | Released |
To create or update material valuation data.
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as a MaterialValuationData node element that contains the material valuation data to be created or updated. The detailed structure of the material valuation data node will be explained in the following sub-chapters. The material valuation data node can occur multiple times in the request message meaning that multiple material valuation data can be created and updated by a single web service request.
The response message of the operation MaintainBundle contains log items, processing information and a material valuation data specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as MaterialInternalID and CompanyID.
The MaterialValuationData node element contains information to identify the material valuation data such as MaterialInternalID and CompanyID.
Note: The root node of material valuation data will be created implicitly by the service itself, if necessary. Hence the action code must be "06" (no action).
Valuation prices can be created or updated at a permanent establishment, product specification or consignment level.
Depending on the business configuration a subset of the following price type codes are available:
Price Type Code | Description |
---|---|
1 | Inventory Cost |
2 | Estimated Cost |
5 | Planned Cost |
6 | Book Value |
7 | Periodic FIFO Cost |
The following example updates valuation price of type standard cost by providing permanent establishment as "P1100", start date of validity period as "2013-01-01", end date of validity period as "2013-12-31", price type code as "2", set of books as "7000" and finally the valuation price itself as 115.75 USD relating to a price unit of 1 ea.
<ValuationPrice actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <ValidityDatePeriod> <StartDate>2013-01-01</StartDate> <EndDate>2013-12-31</EndDate> </ValidityDatePeriod> <PriceTypeCode>2</PriceTypeCode> <SetOfBooksID>7000</SetOfBooksID> <LocalCurrencyValuationPrice> <Amount currencyCode="USD">115.75</Amount> <BaseQuantity unitCode="EA">1</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> </LocalCurrencyValuationPrice> </ValuationPrice>
The account determination group code can be specified at a permanent establishment, product specification or consignment level.
Account determination group codes for materials itself are defined in business configuration.
The following example updates the account determination specification data by providing permanent establishment as "P1100" and account determination group code as "3010".
<AccountDeterminationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <AccountDeterminationMaterialValuationDataGroupCode>3010</AccountDeterminationMaterialValuationDataGroupCode> </AccountDeterminationSpecification>
The perpetual inventory valuation procedure code can be specified at a permanent establishment, product specification or consignment level.
The following inventory valuation procedure codes are available:
Inventory Valuation Procedure Code | Description |
---|---|
1 | Standard |
2 | Moving Average |
The following example updates the inventory valuation specification data by providing permanent establishment as "P1100" and perpetual inventory valuation procedure code as "1".
<InventoryValuationSpecification actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <PerpetualInventoryValuationProcedureCode>1</PerpetualInventoryValuationProcedureCode> </InventoryValuationSpecification>
Fill the fields Valuation Level ID and Valuation Level Type as per the table in the Valuation Price, Account Determination Specification and Inventory Valuation Specification structures:
Use Case | Valuation Level ID | Valuation Level Type |
---|---|---|
Migrating permanent establishment data | Not applicable | Not applicable |
Migrating product specification data | Product Specification ID | "2" or "Product Specification” |
Migrating consignment valuation data | Consignee ID | "3" or "Consignee" |
The financial process info in material master can be created or life cycle status code can be set to "Active" for a combination of permanent establishment and company.
This is not required when valuation data is already created at a permanent establishment level and the service operation is being used to update valuation data at either product specification or consignment level.
The following example updates the life cycle status code of financial process info to "Active" by providing permanent establishment as "P1100" and life cycle status code as "2".
<MaterialFinancialProcessInfo actionCode="02"> <PermanentEstablishmentID>P1100</PermanentEstablishmentID> <LifeCycleStatusCode>2</LifeCycleStatusCode> </MaterialFinancialProcessInfo>
Release | Change Description | Details |
2105 | New feature | The webservice now supports migration of consignment valuation data |
Description | Check material valuations |
Name | CheckMaintainBundle |
Synchronous | yes |
Release Status | Released |
To check if material 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.