Description | Manage Materials |
Name | ManageMaterialIn |
Namespace | http://sap.com/xi/A1S/Global |
Product | SAP Business ByDesign |
Process component | Product Data Maintenance |
Process component namespace | http://sap.com/xi/AP/FO/Product/Global |
Deployment unit | Foundation |
Endpoint Activation | By Scoping of Process Component | Operations |
|
Release Status | Released |
Technical documentation on the SAP API Business Hub | Manage Materials |
General web service documentation | A2X Web Services (SOAP) |
An interface to migrate material master data from a source system or file.
The web service interface Manage Material In enables you to connect external applications to your SAP Business ByDesign system and to create and edit materials in your system. The web service interface Manage Material In is relevant if your company wants to access and manage material data from external applications.
The web service interface Manage Material In offers the operations MaintainBundle_V1 and CheckMaintainBundle_V1.
Example of a simple web service request:
The following request provides a basic MaintainBundle_V1 operation where a new material is created by specifying the attribute action code as "01" of Material node element. The new material above is created by specifying the Material ID as InternalID, Product Category as ProductCategoryID, Base UoM as BaseMeasureUnitCode and description of the material in english by specifying the language code as "EN".
<n0:MaterialBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1234567890ABCDEF0123456789ABCDEF</ID> </BasicMessageHeader> <Material actionCode="01"> <InternalID>P100702</InternalID> <ProductCategoryID>180</ProductCategoryID> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> <Description actionCode="01"> <Description languageCode="EN">Wooden Pallet</Description> </Description> </Material> </n0:MaterialBundleMaintainRequest_sync_V1>
Respone of the above request:
The response below provides the Material ID as InternalID and UUID of the material in case the material is created successfully.
<nm:MaterialBundleMaintainConfirmation_sync_V1 xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAEFC78A8519B7531E7D098:804"> <Material> <ReferenceObjectNodeSenderTechnicalID/> <ChangeStateID>20121222115503.1402520</ChangeStateID> <InternalID>P100702</InternalID> <UUID>00163e02-86fa-1ed2-9385-cd6806c81f95</UUID> </Material> <Log/> </nm:MaterialBundleMaintainConfirmation_sync_V1>
Example of material updation:
The following request updates the previously created material with Material ID P100702 by specifying the action code as "02". The new Product Category as 20 and BaseUom as act and material description in english is updated while a new description in german is created for the above material. An error is thrown in case the material doesn't have the description in the language for which the update is called or it already has the description in the language for which the creation is called.
<n0:MaterialBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <Material actionCode="02"> <InternalID>P100702</InternalID> <ProductCategoryID>20</ProductCategoryID> <BaseMeasureUnitCode>act</BaseMeasureUnitCode> <Description actionCode="02"> <Description languageCode="EN">Description in English</Description> </Description> <Description actionCode="01"> <Description languageCode="DE">Beschreibung in Deutsch</Description> </Description> </Material> </n0:MaterialBundleMaintainRequest_sync_V1>
Response:
Response for the update request is same as for the creation request specifying the Change State Id, Internal ID and UUID of the updated material.
<nm:MaterialBundleMaintainConfirmation_sync_V1 xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAEFC78A8519B7531E7D098:804"> <Material> <ReferenceObjectNodeSenderTechnicalID/> <ChangeStateID>20121222115503.1402520</ChangeStateID> <InternalID>P100702</InternalID> <UUID>00163e02-86fa-1ed2-9385-cd6806c81f95</UUID> </Material> <Log/> </nm:MaterialBundleMaintainConfirmation_sync_V1>
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
Supply Planning Areas
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.
Possible scenarios include the following:
Create Materials
Operation MaintainBundle_V1 is used to create materials.
Update Materials
Operation MaintainBundle_V1 is used to update existing materials.
Example web service request:
<n0:MaterialBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1234567890ABCDEF0123456789ABCDEF</ID> <UUID>12345678-90AB-CDEF-0123-456789ABCDEF</UUID> </BasicMessageHeader> <Material actionCode="01" descriptionListCompleteTransmissionIndicator="true" detailListCompleteTransmissionIndicator="true" quantityConversionListCompleteTransmissionIndicator="true" quantityCharacteristicListCompleteTransmissionIndicator="true" globalTradeItemNumberListCompleteTransmissionIndicator="true" availabilityConfirmationListCompleteTransmissionIndicator="true" salesListCompleteTransmissionIndicator="true" logisticsListCompleteTransmissionIndicator="true" valuationListCompleteTransmissionIndicator="true" deviantTaxClassificationListCompleteTransmissionIndicator="true" withholdingTaxClassificationListCompleteTransmissionIndicator="true" supplierPartNumberListCompleteTransmissionIndicator="true" customerPartNumberListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>001</ObjectNodeSenderTechnicalID> <!-- ChangeStateID is only relevant for changing <ChangeStateID>20101201082957.5189460</ChangeStateID> --> <!-- The UUID cannot be changed <UUID>12345678-90AB-CDEF-0123-456789ABCDEF</UUID> --> <InternalID>P100702</InternalID> <ProductCategoryID>180</ProductCategoryID> <IdentifiedStockTypeCode>03</IdentifiedStockTypeCode> <!-- 03 means "Optional Specified Stock" --> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> <InventoryValuationMeasureUnitCode>EA</InventoryValuationMeasureUnitCode> <PlanningMeasureUnitCode>EA</PlanningMeasureUnitCode> <!-- Create language dependent descriptions --> <Description actionCode="01"> <ObjectNodeSenderTechnicalID>002</ObjectNodeSenderTechnicalID> <Description languageCode="EN">Wooden Pallet (1200mmx1000mm)</Description> </Description> <!-- Create language dependent detailed descriptions --> <Detail actionCode="01"> <ObjectNodeSenderTechnicalID>003</ObjectNodeSenderTechnicalID> <ContentText languageCode="EN">Wooden Pallet (1200mmx1000mm)</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">14</CorrespondingQuantity> </QuantityConversion> <!-- Specify characteristics like the net weight or gross weight for each unit of measure --> <QuantityCharacteristic actionCode="01"> <ObjectNodeSenderTechnicalID>005</ObjectNodeSenderTechnicalID> <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode> <CharacteristicQuantity unitCode="GRM">10</CharacteristicQuantity> <CharacteristicQuantityTypeCode>NET_WT</CharacteristicQuantityTypeCode> <!-- NET_WT means "Net Weight" --> </QuantityCharacteristic> <QuantityCharacteristic actionCode="01"> <ObjectNodeSenderTechnicalID>006</ObjectNodeSenderTechnicalID> <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode> <CharacteristicQuantity unitCode="GRM">20</CharacteristicQuantity> <CharacteristicQuantityTypeCode>GROSS_WT</CharacteristicQuantityTypeCode> <!-- GROSS_WT means "Gross Weight" --> </QuantityCharacteristic> <!-- Specify GTIN for trading unit codes --> <GlobalTradeItemNumber actionCode="01"> <ObjectNodeSenderTechnicalID>007</ObjectNodeSenderTechnicalID> <TradingUnitCode>EA</TradingUnitCode> <GlobalTradeID>76457333</GlobalTradeID> <!-- The GTIN must conform to the standards defined at http://www.gs1.org --> </GlobalTradeItemNumber> <!-- Create purchasing information --> <Purchasing actionCode="01" internalNoteListCompleteTransmissionIndicator="true" purchasingNoteListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>008</ObjectNodeSenderTechnicalID> <LifeCycleStatusCode>1</LifeCycleStatusCode> <!-- 1 means "In Preparation" --> <PurchasingMeasureUnitCode>EA</PurchasingMeasureUnitCode> <InternalNote> <ObjectNodeSenderTechnicalID>009</ObjectNodeSenderTechnicalID> <ContentText>Internal Purchase Note</ContentText> </InternalNote> <PurchasingNote actionCode="01"> <ObjectNodeSenderTechnicalID>010</ObjectNodeSenderTechnicalID> <ContentText languageCode="EN">External Purchase Note</ContentText> </PurchasingNote> </Purchasing> <!-- Specify supply-planning relevant data --> <Planning actionCode="01" supplyPlanningListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>011</ObjectNodeSenderTechnicalID> <ForecastCategoryID>DP-FG-01</ForecastCategoryID> <SupplyPlanning actionCode="01"> <ObjectNodeSenderTechnicalID>012</ObjectNodeSenderTechnicalID> <SupplyPlanningCategoryID>C10</SupplyPlanningCategoryID> <SupplyPlanningAreaID>P1100</SupplyPlanningAreaID> <LifeCycleStatusCode>1</LifeCycleStatusCode> <!-- 1 means "In Preparation" --> <ProcurementTypeCode>2</ProcurementTypeCode> <!-- 2 means "External Procurement" --> <PlanningTimeFenceDuration>P3D</PlanningTimeFenceDuration> <PlanningProcedureCode>1</PlanningProcedureCode> <!-- 1 means "Demand-Driven Planning" --> <LotSizeProcedureCode>1</LotSizeProcedureCode> <!-- 1 means "Lot-for-Lot" --> <FixedLotSizeQuantityValue>1</FixedLotSizeQuantityValue> <PeriodTypeCode>ANN</PeriodTypeCode> <!-- ANN means "Year" --> <ReOrderQuantityValue>5</ReOrderQuantityValue> <TargetStockQuantityValue>5</TargetStockQuantityValue> <TargetDaysOfSupplyDuration>P3D</TargetDaysOfSupplyDuration> <SafetyStockQuantityValue>5</SafetyStockQuantityValue> <SafetyDaysOfSupplyDuration>P3D</SafetyDaysOfSupplyDuration> <LotSizeRoundingQuantityValue>2</LotSizeRoundingQuantityValue> <MinimumLotSizeQuantityValue>4</MinimumLotSizeQuantityValue> <MaximumLotSizeQuantityValue>8</MaximumLotSizeQuantityValue> <DemandManagementProcedureCode>ADRF</DemandManagementProcedureCode> <!-- ADRF means "All demand reduce forecast" --> <PlannedDeliveryDuration>P5D</PlannedDeliveryDuration> <GoodsReceiptProcessingDuration>PT5H0M0S</GoodsReceiptProcessingDuration> <MinimumDaysOfSupplyDuration>P5D</MinimumDaysOfSupplyDuration> <MinimumReceiptDaysOfSupplyDuration>P6D</MinimumReceiptDaysOfSupplyDuration> <MinShelfLifeDuration>P6D</MinShelfLifeDuration> </SupplyPlanning> </Planning> <!-- Specify availability confirmation related data for each planning area --> <AvailabilityConfirmation actionCode="01"> <ObjectNodeSenderTechnicalID>013</ObjectNodeSenderTechnicalID> <PlanningAreaID>P1100</PlanningAreaID> <LifeCycleStatusCode>2</LifeCycleStatusCode> <!-- 2 means "Active" --> <ReplenishmentLeadTimeDuration>P4D</ReplenishmentLeadTimeDuration> <AvailabilityCheckScopeCode>A22</AvailabilityCheckScopeCode> <!-- A22 means "Stock and released receipts in horizon" --> <GoodsIssueProcessingDuration>PT5H0M0S</GoodsIssueProcessingDuration> <AvailabilityCheckHorizonDuration>P3D</AvailabilityCheckHorizonDuration> <DisableAutomaticShipFromDeterminationIndicator>true</DisableAutomaticShipFromDeterminationIndicator> </AvailabilityConfirmation> <!-- Specify information regarding sales processes --> <Sales actionCode="01" warrantyListCompleteTransmissionIndicator="true" internalNoteListCompleteTransmissionIndicator="true" salesNoteListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>014</ObjectNodeSenderTechnicalID> <SalesOrganisationID>P1110</SalesOrganisationID> <DistributionChannelCode>01</DistributionChannelCode> <!-- 01 means "Direct sales" --> <LifeCycleStatusCode>1</LifeCycleStatusCode> <!-- 1 means "In Preparation" --> <SalesMeasureUnitCode>EA</SalesMeasureUnitCode> <MinimumOrderQuantityValue>1</MinimumOrderQuantityValue> <ItemGroupCode>NORM</ItemGroupCode> <!-- NORM means "Product - delivery-based" --> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <ReferencePriceMaterialInternalID>10000230</ReferencePriceMaterialInternalID> <Warranty actionCode="01"> <ObjectNodeSenderTechnicalID>015</ObjectNodeSenderTechnicalID> <ProductInternalID>P100702</ProductInternalID> <ValidityPeriod> <StartDate>2012-01-24</StartDate> <EndDate>9999-01-24</EndDate> </ValidityPeriod> </Warranty> <InternalNote> <ObjectNodeSenderTechnicalID>016</ObjectNodeSenderTechnicalID> <ContentText>Internal Comments</ContentText> </InternalNote> <SalesNote actionCode="01"> <ObjectNodeSenderTechnicalID>017</ObjectNodeSenderTechnicalID> <ContentText languageCode="EN">Sales Note</ContentText> </SalesNote> </Sales> <!-- Specify information that is relevant for the logistics processes --> <Logistics actionCode="01"> <ObjectNodeSenderTechnicalID>018</ObjectNodeSenderTechnicalID> <SiteID>A1100</SiteID> <LifeCycleStatusCode>2</LifeCycleStatusCode> <!-- means "active" --> <CycleCountPlannedDuration>P3D</CycleCountPlannedDuration> <ProductionCategoryID>100001</ProductionCategoryID> <StorageCategoryID>100002</StorageCategoryID> </Logistics> <!-- Create tax information which differs from the default taxes --> <DeviantTaxClassification actionCode="01"> <ObjectNodeSenderTechnicalID>019</ObjectNodeSenderTechnicalID> <CountryCode>DE</CountryCode> <RegionCode>03</RegionCode> <TaxTypeCode listID="">1</TaxTypeCode> <!-- 1 means "Value Added Tax" for the given country --> <TaxRateTypeCode listID="">2</TaxRateTypeCode> <!-- 2 means "Reduced" for the given country --> <TaxExemptionReasonCode listID="AT1||2|1">1</TaxExemptionReasonCode> <!-- 1 means "Tax Exempt According to §4, 2 - 6 UStG" for the given country. tax type and tax rate --> </DeviantTaxClassification> <!-- Withholding tax classifications are only relevant for purchasing processes --> <WithholdingTaxClassification actionCode="01"> <ObjectNodeSenderTechnicalID>020</ObjectNodeSenderTechnicalID> <CountryCode>CN</CountryCode> <TaxTypeCode listID="">2</TaxTypeCode> <!-- 2 means "Business Withholding Tax" for the given country --> <WithholdingTaxIncomeTypeCode>1</WithholdingTaxIncomeTypeCode> <!-- 1 means "Transportation" for the given country and tax type --> </WithholdingTaxClassification> <!-- Material valuation can be defined for a specific company/business residence combination --> <Valuation actionCode="01"> <ObjectNodeSenderTechnicalID>021</ObjectNodeSenderTechnicalID> <LifeCycleStatusCode>1</LifeCycleStatusCode> <!-- 1 means "In Preparation" --> <CompanyID>1000</CompanyID> <BusinessResidenceID>P1100</BusinessResidenceID> </Valuation> <!-- Maintain customer part numbers --> <CustomerPartNumber actionCode="01"> <ObjectNodeSenderTechnicalID>022</ObjectNodeSenderTechnicalID> <CustomerInternalID>CP100110</CustomerInternalID> <ProductCustomerID>CP100110-P100702</ProductCustomerID> </CustomerPartNumber> <!-- Maintain supplier part numbers used within purchasing processes --> <SupplierPartNumber actionCode="01"> <ObjectNodeSenderTechnicalID>023</ObjectNodeSenderTechnicalID> <SupplierInternalID>S100402</SupplierInternalID> <ProductSupplierID>S100402-M1</ProductSupplierID> <SupplierLeadTimeDuration>P10D</SupplierLeadTimeDuration> </SupplierPartNumber> <!-- 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>Material Image</AlternativeName> <Description languageCode="EN">Image of the material</Description> <FileContent ActionCode="01"> <BinaryObject mimeCode="image/png" characterSetCode="" format="" fileName="" uri="">AQIDBAUGBwgJAA==</BinaryObject> </FileContent> </Document> </AttachmentFolder> <n1:IndiaCostAuditingManufacteredProductIndicator xmlns:n1="http://sap.com/xi/AP/Globalization">true</n1:IndiaCostAuditingManufacteredProductIndicator> <n1:IndiaCostAuditingTradedProductIndicator xmlns:n1="http://sap.com/xi/AP/Globalization">true</n1:IndiaCostAuditingTradedProductIndicator> <n1:IndiaMaterialTypeCode xmlns:n1="http://sap.com/xi/AP/Globalization">1</n1:IndiaMaterialTypeCode> </Material> </n0:MaterialBundleMaintainRequest_sync_V1>
Description | Check materials |
Name | CheckMaintainBundle_V1 |
Synchronous | yes |
Release Status | Released |
To check if material master data can be created, updated, or deleted without errors.
The web service request and response message types of the CheckMaintainBundle_V1 operation are the same as those of the MaintainBundle_V1 operation.
The explanations given can therefore also be applied to the CheckMaintainBundle_V1 operation.
Description | Maintain materials |
Name | MaintainBundle_V1 |
Synchronous | yes |
Release Status | Released |
To create, update, or delete material master data.
The request message of the operation MaintainBundle_V1 contains a BasicMessageHeader node element as well as a Material node element that contains the material data to be created or updated. The detailed structure of the material node will be explained in the following sub-chapters. The material node can occur multiple times in the request message meaning that multiple materials can be created and updated by a single web service request.
The response message of the operation MaintainBundle_V1 contains log items, processing information and a material-specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as material InternalID and material UUID.
The Material node element contains all basic information about the material such as ID, product category,kit indicator and base unit of measure. These fields can be found in the material UI as General data. The InternalID element corresponds to the Material ID on the user interface - the UUID element is not visible on the UI, but can be retrieved via query and read web services.
Fields that are shared between several processes are also found on this level, for example, the InventoryValuationMeasureUnitCode, which is used in the logistics and financials processes.
Note: The material UUID is read-only and cannot be set by an external application when creating materials.
Example of a simple web service request:
The following request provides a basic MaintainBundle_V1 operation where a new material is created by specifying the attribute action code as "01" of Material node element. The new material above is created by specifying the Material ID as InternalID, Product Category as ProductCategoryID, Base UoM as BaseMeasureUnitCode and description of the material in english by specifying the language code as "EN".
<n0:MaterialBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>1234567890ABCDEF0123456789ABCDEF</ID> </BasicMessageHeader> <Material actionCode="01"> <InternalID>P100702</InternalID> <ProductCategoryID>180</ProductCategoryID> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> <Description actionCode="01"> <Description languageCode="EN">Wooden Pallet</Description> </Description> </Material> </n0:MaterialBundleMaintainRequest_sync_V1>
Respone of the above request:
The response below provides the Material ID as InternalID and UUID of the material in case the material is created successfully.
<nm:MaterialBundleMaintainConfirmation_sync_V1 xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAEFC78A8519B7531E7D098:804"> <Material> <ReferenceObjectNodeSenderTechnicalID/> <ChangeStateID>20121222115503.1402520</ChangeStateID> <InternalID>P100702</InternalID> <UUID>00163e02-86fa-1ed2-9385-cd6806c81f95</UUID> </Material> <Log/> </nm:MaterialBundleMaintainConfirmation_sync_V1>
A language-dependent description can be maintained with the Description node element.
Example
The following example creates a new description of a material in english by specifying the actionCode as "01" and languageCode as "EN".
<Description actionCode="01"> <Description languageCode="EN">A sample description</Description> </Description>
A language-dependent detailed description can be maintained with the Details node.
Example
The following example creates the detailed description of a material in english.
<Detail actionCode="01"> <ContentText languageCode="EN">A detailed description of the product</ContentText> </Detail>
This becomes a mandatory field if the item-group under sales tab is maintained as 'KIT' .
Hence if the item-group under sales tab is maitained as a 'KIT , the Kit indicator should be set to 'TRUE'.
<KitIndicator>true</KitIndicator>
An IdentifiedStock is a subset of a material that shares a set of common characteristics, is logistically handled separately from other subsets of the same material and is uniquely identified.
The IdentifiedStockTypeCode is used to assign an industry-specific name to the IdentifiedStock.
Identified Stock Type Codes:
Identified Stock Type Code | Description |
---|---|
01 | Batch |
02 | Lot |
03 | Optional Specified Stock |
04 | Mandatory Specified Stock |
Example
The following example provides the Identified Stock Type of the material as "Lot" by specifying the IdentifiedStockTypeCode as "02".
<IdentifiedStockTypeCode>02</IdentifiedStockTypeCode>
Materials support quantity conversion between different units of measure. For example, if the base unit of measure is handled in "Each" but sold as "Pallets", then a conversion rule between these units is needed, as the following example shows.
Note: XPX corresponds to Pallet and Ea to Each.
Example:
<QuantityConversion actionCode="01"> <Quantity unitCode="XPX">1</Quantity> <CorrespondingQuantity unitCode="Ea">100</CorrespondingQuantity> </QuantityConversion>
Quantity Unit Codes:
Quantity unit code | Description |
---|---|
XSX | Set |
XPX | Pallet |
XPK | Package |
XCT | Carton |
XCS | Case |
XCR | Crate |
XBX | Box |
XBG | Bag |
LPA | Liter of pure alcohol |
LTR | Liter |
GLL | Gallon (US) |
GLI | Gallon (UK) |
FTQ | Cubic foot |
MTQ | Cubic meter |
K6 | Kiloliter |
R9 | Thousand cubic meter |
CEN | Hundred |
SEC | Second |
MIN | Minute |
HUR | Hour(s) |
DAY | Day(s) |
WEE | Week |
MON | Month |
ANN | Year |
28 | Kilogram per square meter |
P1 | Percent |
PR | Pair |
MIL | Thousand |
NCL | Number of cells |
CTM | Metric carat |
GRM | Gram |
GFI | Gram of fissile isotope |
ONZ | Ounce |
LBR | Pound |
KUR | Kilogram of uranium |
KSH | Kilogram of caustic soda |
KCC | Kilogram of choline chloride |
KDW | Kilogram drained net weight |
KGM | Kilogram |
KHY | Kilogram of hydrogen peroxide |
KMA | Kilogram of methylamine |
KNI | Kilogram of nitrogen |
KPH | Kilogram of caustic potash |
KPO | Kilogram of potassium oxide |
KSD | Kilogram of substance 90 % dry |
KPP | Kilogram of phosphoric anhydride |
STN | Ton (US) or short ton (UK/US) |
TNE | Ton (metric ton) |
GT | Gross ton |
LTN | Tonne (UK) or long ton (US) |
MMT | Millimeter |
CMT | Centimeter |
INH | Inch |
FOT | Foot |
YRD | Yard |
MTR | Meter |
KMT | Kilometer |
SMI | Mile (statute mile) |
JOU | Joule |
KWH | Kilowatt hour |
MWH | Megawatt hour (1000 kW.h) |
D30 | Terajoule |
D50 | Volt per meter |
EA | Each |
E49 | Working day(s) |
DZN | Dozen |
CCT | Carrying capacity in metric ton |
MTK | Square meter |
ACT | Activity |
5B | Batch |
Materials support quantity characteristics specifying, for example, the net weight or gross weight for each unit of measure.
Example
In the following example, the net weight (12 kg) and the gross weight (13 kg) are specified.
<QuantityCharacteristic actionCode="01"> <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode> <CharacteristicQuantity unitCode="KGM">12</CharacteristicQuantity> <CharacteristicQuantityTypeCode>NET_WT</CharacteristicQuantityTypeCode> </QuantityCharacteristic> <QuantityCharacteristic actionCode="01"> <QuantityMeasureUnitCode>EA</QuantityMeasureUnitCode> <CharacteristicQuantity unitCode="KGM">13</CharacteristicQuantity> <CharacteristicQuantityTypeCode>GROSS_WT</CharacteristicQuantityTypeCode> </QuantityCharacteristic>
Quantity type codes:
Quantity type code | Description |
---|---|
NET_WT | Net Weight |
GROSS_WT | Gross Weight |
NET_VOL | Net Volume |
GROSS_VOL | Gross Volume |
DIM_LENGTH | Length |
BREADTH | Width |
HEIGHT | Height |
GTINs as EAN are supported for all trading unit codes. For example, this includes units as "Each" and "Boxes" but not physical units such as "KGM".
The GTIN must conform to the standards defined in http://www.gs1.org/.
Example:
<GlobalTradeItemNumber actionCode="01"> <TradingUnitCode>EA</TradingUnitCode> <GlobalTradeID>#GTIN8</GlobalTradeID> </GlobalTradeItemNumber>
The Purchasing node element is organization independent. Therefore, there can be just one Purchasing node within one material.
Purchasing information contains the PurchasingMeasureUnitCode, LifecycleStatusCode, and the purchasing text.
LifeCycleStatusCode
The LifeCycleStatus is a status that indicates the current stage in the life cycle of a material.
Three LifeCycleStatusCodes can exist, InPreparation, Active and Blocked.
When a material is created and exists in the system the status is InPreparation.
When the material is ready to be procured by the customers then the status is Active.
If the customer can no longer use the material the status is Blocked.
PurchasingMeasureUnitCode
By default, the base unit of measure is applied as the purchasing unit of measure. If necessary, a different Purchasing UoM can be selected.
If the purchasing UoM is different from the base UoM, you must maintain a quantity conversion between them.
PurchasingNote
Purchasing Notes are displayed on purchase orders created for the material. They contain additional product information from a purchasing point of view.
Example:
The following example creates the purchasing data for a material in "activation" mode by providing LifeCycleStatusCode as "2" and Purchasing UoM as "EA" and purchasing note in english.
<Purchasing actionCode="01"> <LifeCycleStatusCode>2</LifeCycleStatusCode> <PurchasingMeasureUnitCode>EA</PurchasingMeasureUnitCode> <PurchasingNote actionCode="01"> <ContentText languageCode="EN">Purchase Note</ContentText> </PurchasingNote> </Purchasing>
The material 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:
The following example creates the valuation data for a material in "in preparation" mode by providing LifeCycleStatusCode as "1", Company as "1000" and Business Residence as "P1100".
<Valuation actionCode="01"> <LifeCycleStatusCode>1</LifeCycleStatusCode> <CompanyID>1000</CompanyID> <BusinessResidenceID>P1100</BusinessResidenceID> </Valuation>
The planning node encapsulates all supply-planning relevant data. The forecast category is valid for all supply planning categories; therefore, it is part of the planning header.
For each supply planning node, which is identified by the SupplyPlanningAreaID, its own planning data can be maintained, which is similar to the corresponding material UI.
It consists of LifeCycleStatus and PlanningQuantity values. Their values always reference the PlanningMeasureUnitCode, which is part of the Material node.
The following code values can be used:
Procurement Type Code | Description |
---|---|
1 | In-house production |
2 | External procurement |
3 | Source of supply priority rule |
Demand Management Procedure Code | Description |
---|---|
ADRF | All demand reduce forecast |
ATOS_CPC | All demand consumes current forecasts |
ATOS_MPC | All demand consumes preceding forecasts |
ATOS_SPC | All demand consumes adjacent forecasts |
Lot Size Procedure Code | Description |
---|---|
1 | Lot-for-lot |
2 | Fixed lot size |
3 | Periodic lot size |
4 | Target stock level |
5 | Target days of supply |
Planning Procedure Code | Description |
---|---|
1 | Demand-driven Planning |
2 | Consumption-based planning |
3 | Manual planning |
The AvailabilityConfirmation node offers the maintenance of availability confirmation-related data for each planning area. The status must be set to Active before it can be used within its corresponding process.
AvailabilityCheckScopeCode
The AvailabilityConfirmationMode defines the basic methods of the availability check and the sequence of their execution. Basic methods are elementary methods for checking availability. Basic methods are:
· Product availability
· Check against product allocation
· Forecast check
Availability Check Scope Codes:
Availability Check Scope Code | Description |
---|---|
A11 | Stock |
A12 | Stock and released receipts |
A13 | All supply except unfirm receipts |
A14 | Stock and all receipts |
A21 | Stock within horizon |
A22 | Stock and released receipts in horizon |
A23 | Supply except unfirm receipts in horizon |
A24 | Stock and all receipts within horizon |
Example
The following example creates an Availability Confirmation data for a material in "activation" mode by specifying the LifeCycleStatusCode as "2" and Planning Area as "P1100", Replenishment Lead Time as "4 Days", Availability Check Scope as "A22" which means "Stock and released receipts in horizon" and Goods Issue Processing Time as "PT5H0M0S" which means "5 hours and 0 minutes and 0 seconds".
<AvailabilityConfirmation actionCode="01"> <PlanningAreaID>P1100</PlanningAreaID> <LifeCycleStatusCode>2</LifeCycleStatusCode> <!-- 2 means "Active" --> <ReplenishmentLeadTimeDuration>P4D</ReplenishmentLeadTimeDuration> <AvailabilityCheckScopeCode>A22</AvailabilityCheckScopeCode> <!-- A22 means "Stock and released receipts in horizon" --> <GoodsIssueProcessingDuration>PT5H0M0S</GoodsIssueProcessingDuration> <AvailabilityCheckHorizonDuration>P3D</AvailabilityCheckHorizonDuration> <DisableAutomaticShipFromDeterminationIndicator> true </DisableAutomaticShipFromDeterminationIndicator> </AvailabilityConfirmation>
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.
Warranties and sales notes can also be defined for each sales process definition.
The ItemGroupCode can contain the following values:
Item Group Code | Description |
---|---|
CONS | Spare part - consumable |
NORM | Product - delivery-based |
PICK | Spare part (engineer pick-up/sales) |
SHIP | Spare part (advanced ship/sales) |
KIT | Sales Kit |
Example
The following example creates the Sales data for a material by providing the Sales Organisation as "P1100" and Distribution Channel as "01" which means "Direct Sales", Sales UoM as "EA" for each, Minimum Order Quantity as "1", Item Group as "NORM" which means "Product - delivery-based" and the warranty data.
<Sales actionCode="01"> <SalesOrganisationID>P1110</SalesOrganisationID> <DistributionChannelCode>01</DistributionChannelCode> <!-- 01 means "Direct sales" --> <LifeCycleStatusCode>1</LifeCycleStatusCode> <!-- 1 means "In Preparation" --> <SalesMeasureUnitCode>EA</SalesMeasureUnitCode> <MinimumOrderQuantityValue>1</MinimumOrderQuantityValue> <ItemGroupCode>NORM</ItemGroupCode> <!-- NORM means "Product - delivery-based" --> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <ReferencePriceMaterialInternalID> 10000230 </ReferencePriceMaterialInternalID> <Warranty actionCode="01"> <ProductInternalID>P100702</ProductInternalID> <ValidityPeriod> <StartDate>2012-01-24</StartDate> <EndDate>9999-01-24</EndDate> </ValidityPeriod> </Warranty> <InternalNote> <ContentText>Internal Comments</ContentText> </InternalNote> <SalesNote actionCode="01"> <ContentText languageCode="EN">Sales Note</ContentText> </SalesNote> </Sales>
The Logistics node contains information that is relevant for logistics processes. The data of this node is displayed as Logistics data in the material UI. The data refers to a site and can be used in the respective process as soon as the LifeCycleStatus is "Active". Especially storage and production categories can be assigned to a site using this node.
Example
The following example creates the Logistics data for a material by providing Site as "A1100" in "activation" mode by specifying the LifeCycleStatusCode as "2", Cycle Count as "P3D" which means "3 Days", Production Group as "100001", Storage Group as "100002".
<Logistics actionCode="01"> <SiteID>A1100</SiteID> <LifeCycleStatusCode>2</LifeCycleStatusCode> <!-- means "active" --> <CycleCountPlannedDuration>P3D</CycleCountPlannedDuration> <ProductionCategoryID>100001</ProductionCategoryID> <StorageCategoryID>100002</StorageCategoryID> </Logistics>
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>
Withholding tax classifications are only relevant for purchasing processes. They are maintained similarly to the deviant taxes explained above.
Example
<WithholdingTaxClassification actionCode="01"> <CountryCode>CN</CountryCode> <TaxTypeCode listID="">2</TaxTypeCode> <WithholdingTaxIncomeTypeCode>1</WithholdingTaxIncomeTypeCode> </WithholdingTaxClassification>
The CustomerPartNumber node element can be used to create and change customer part numbers.
The CustomerInternalID identifies an account. The ProductCustomerID contains the customer part number.
Data of this node can be found as part of the Sales data on the material UI.
Example:
<CustomerPartNumber actionCode="01"> <CustomerInternalID>CP100110</CustomerInternalID> <ProductCustomerID>CP100110-P100702</ProductCustomerID> </CustomerPartNumber>
The SupplierPartNumber node element can be used to create and change supplier part numbers that are used within purchasing processes.
The SupplierInternalID identifies a supplier. The ProductSupplierID contains the supplier part number.
Example
<SupplierPartNumber actionCode="01"> <SupplierInternalID>S100402</SupplierInternalID> <ProductSupplierID>S100402-M1</ProductSupplierID> <SupplierLeadTimeDuration>P10D</SupplierLeadTimeDuration> </SupplierPartNumber>
The AttachmentFolder node element can be used to add and remove material attachments.
Data for this node can be found on the material 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 category codes are 2 and 3 are only supported.
The different types of attachments are differentiated by the TypeCode:
Type code | Description |
---|---|
10001 | Standard Attachment |
10011 | Product Image |
10015 | Technical Drawing |
10018 | Product Specification |
10043 | Details for Supplier |
Example
The following example creates an attachment for a material of Category "3" which means "Link" and of Type "10001" which means "Standard Attachment".
<AttachmentFolder ActionCode="04"> <Document ActionCode="04"> <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>
*ProductCategoryCode
These codes is included in the eInvoice.
Release | Change Description | Details |
2002 | Documentation change | Added MX Product Category Code in request message of MaintainBundle |