| Description | Manage Sales Orders |
| Name | CustomerOrderProcessingManageCustomerOrderIn |
| Namespace | http://sap.com/xi/A1S/Global |
| Process Component Description | Customer Quote Processing |
| Process Component Name | CustomerQuoteProcessing |
| Process Component Namespace | http://sap.com/xi/AP/CRM/Global |
| Deploymnent Unit Description | Customer Relationship Management |
| Endpoint Activation | By Scoping of Process Component | Operations |
| Release Status | Deprecated |
An interface to create, update or delete a customer order which can be used for customer order replication or migration.
The web service interface Manage Customer Order In enables you to connect external applications to your SAP system and to create and edit customer order within your system. The web service interface Manage Customer Order In is relevant if your company wants to access and manage customer order data from external applications.
The web service interface Manage Customer Order In offers the operations MaintainBundle and CheckMaintainBundle.
Existence of required master data and related business documents in the system, like:
Master data of MOM and BusinessPartner: SalesUnit, SalesOrganization, Employee, Customer, and so on.
Product Master data
Price Master data
Opportunity or other business documents to be related to the Customer Order in the BusinessTransactionDocumentReference
Maintain Bundle operations enable external applications to create and change business document data. Check Maintain Bundle operations enable external applications to simulate maintain bundle requests without changing business document data. In particular, Check Maintain Bundle operations have the following functions:
Return system messages similar to corresponding maintain bundle operations
Provide the same message type as the corresponding operation Maintain Bundle
Do not assign internal numbers from a productive number range interval (number range statuses are not increased)
Do not change business documents
Action codes represent an instruction to the recipient of the web service request to process transmitted message node elements.
| Action Code | Description |
|---|---|
| 01 | Create; the system returns an error message if the node element already exists. |
| 02 | Update; the system returns an error message if the node element does not exist. |
| 03 | Delete; the system returns an error message if the node element does not exist. |
| 04 | Save; the system creates or changes the node element data. |
Default action code: 04 (Save).
Note: Action code 04 (Save) creates business documents if the system cannot identify a matching target business document. This applies in particular if no business document ID or UUID is provided by the web service consumer. The web service consumer (external application) is responsible for providing correct business document IDs or UUIDs. This will avoid accidentally creating duplicate business documents.
The processing of node elements with cardinality > 1 (for example, a list of order items or contact of a Customer) can be controlled using List Complete Transmission Indicators (LCTI). The LCTI indicates whether a list of node elements is transmitted completely. The LCTI of a node element with cardinality > 1 is modeled as an attribute of its parent node element (attribute name: <name of child element>ListCompleteTransmissionIndicator).
| LCTI | Description |
|---|---|
| false | The list of node elements is not completely transmitted. Hence, all node elements that are not transmitted remain unchanged. If transmitted node elements in the list can be uniquely identified, the system processes the node elements according to the action code. If transmitted node elements in the list cannot be uniquely identified, the system appends the node element to the corresponding list of node elements in the target business document. |
| true | The list of elements is completely transmitted. Hence, all node elements that are not transmitted are deleted. If no node element is transmitted, all the node elements in the system will be removed. |
Default list complete transmission indicator: false.
Note: The LCTI refers to the completeness of the list of node elements and does not imply completeness of sub-elements.
Optional leaf elements in request messages that are not transmitted within a web service request are not changed in corresponding business documents.
Maintain bundle and check maintain bundle operations are mass-enabled stateless synchronous web service operations. Transferring or requesting amounts of data that are too large can cause communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Maintain bundle and check maintain bundle operations support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Using change state identifier (element name ChangeStateID), external applications can ensure that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an uninterpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Note: For this web service the change state ID does not apply to the ContactPerson, Relationship, CommunicationArrangement, DirectResponsibility, SalesArrangement, or PaymentData node elements.
Request node elements with cardinality > 1 contain an object node sender technical identifier to relate response message elements and log items to corresponding node elements in the request message.
The object node sender technical identifiers are provided as ObjectNodeSenderTechnicalID in request message types and referred to as ReferenceObjectNodeSenderTechnicalID in corresponding response message types.
If the object node sender technical ID is initial, the object node sender technical ID of the parent node element in the request is returned as the reference object node sender technical ID. If the object node sender technical IDs of all parent node elements are initial, the reference object node sender technical ID is returned as initial as well.
Note: The values specified in the ObjectNodeSenderTechnicalID are transient values that establish the correspondence between elements for only a single call. The web service consumer is not required to specify them or to use the same values for different calls. Also, the service provider does not interpret these values at all. Instead, the service provider returns them to the web service consumer in the ReferenceObjectNodeSenderTechnicalID elements.
Note: The ObjectNodeSenderTechnicalID is also used to identify failed business document modifications in a mass operation.
Example
Request:
<Child>
<ObjectNodeSenderTechnicalID>999_A<ObjectNodeSenderTechnicalID>
<Content>Child A: Some correct content</Content>
</Child>
<Child>
<ObjectNodeSenderTechnicalID>999_B<ObjectNodeSenderTechnicalID>
<Content>Child B: Some erroneous content</Content>
</Child>
Response:
<Log>
<Item>
<ReferenceObjectNodeSenderTechnicalID>999_B</ReferenceObjectNodeSenderTechnicalID>
<Note>Error message for Child B</Note>
</Item>
</Log>
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request
You can find general information about Web services, their structure and consumption in the Web Services documentation.
Possible scenarios include the following:
Create a Customer Order
The MaintainBundle operation is used to create a customer order
Update a customer order
The MaintainBundle operation is used to change, cancel or delete an existing customer order
Example to create a customer order:
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<CustomerOrder actionCode="01" >
<ProcessingTypeCode>OR</ProcessingTypeCode>
<PayerParty>
<BusinessPartnerInternalID>1001649</BusinessPartnerInternalID>
</PayerParty>
<EmployeeResponsibleParty>
<BusinessPartnerInternalID>8000002327</BusinessPartnerInternalID>
<EmployeeID>8000002327</EmployeeID>
</EmployeeResponsibleParty>
<ApproverParty>
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
<MainIndicator>true</MainIndicator>
</ApproverParty>
<Item actionCode="01">
<ID>10</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
<Item actionCode="01">
<ID>20</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
</CustomerOrder>
</n0:CustomerOrderBundleMaintainRequest_sync_V1>
Example to update a customer order:
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<CustomerOrder actionCode="02" >
<ID>9000003322</ID>
<UUID>00163E07-C272-1EE5-92DB-963D28346789</UUID>
<ProcessingTypeCode>OR</ProcessingTypeCode>
<Item actionCode="02">
<ID>10</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">100</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="02">
<TextTypeCode>10024</TextTypeCode>
<ContentText>Update Note</ContentText>
</ItemText>
</Item>
<Item actionCode="01">
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
</CustomerOrder>
</n0:CustomerOrderBundleMaintainRequest_sync_V1>
| Description | Check sales orders |
| Name | CheckMaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To check whether customer order can be maintained.
The web service request- and response message types for the CheckMaintainBundle operation are the same as those of the Maintain Bundle operation. The explanations given there can therefore also be applied to the CheckMaintainBundle operation.
| Description | Maintain sales orders |
| Name | MaintainBundle |
| Synchronous | yes |
| Release Status | Deprecated |
To create or update (change, cancel or delete) a customer order.
The request message of the operation MaintainBundle contains a BasicMessageHeader node element as well as a CustomerOrder node element that contains the customer order data to be created or updated. The Customer Order node can occur multiple times in the request message. This means that multiple orders can be created and updated through a single web service request.
The response message type of the operation MaintainBundle contains log items, processing information, and a order-specific node with ChangeStateID as well as ID and UUID of the customer order.
With this request message, both internal and intetnal & external customer order can be created or updated. For internal order, the attribue ViewObjectIndicator shall be set to 'false' while for external order it shall be set to 'true'. Within one request message, only the same kind of orders, either internal or external, are allowed.
The Customer Order node contains all relevant information which is required for creation or update of a customer order, such as
general information like identifications, name, posting date time
parties like buyer party, product recipient party
business terms for sales, pricing and delivery.
texts and attachments
item information like product and schedule line data.
The unique identifier of a customer order. In creation case, it is automatically generated by the system. In update case, the ID (or UUID) must be provided. Different (Custome) order ID can be provided for External Only order insted of generated by the system for internal and standard order order ID must be genrated by the system.
The universally unique identifier of a customer order. In creation case, it is automatically generated by the system. In update case, the UUID (or ID) must be provided.
The identifier of a customer order assigned by the Buyer (external reference).
The name of a customer order.
The processing type code is required only if a customer special processing type code is used (instead of the standard processing type code).
The special processing type code which is provided must be available in the system (configuration).
The posting date time of a customer order is optional. If it is not provided in creation case, it will be filled with the creation date time.
The DataOriginTypeCode which specifies the origin of the customer order can be provided with the following values:
| DataOriginTypeCode | Description |
|---|---|
| 1 | Manual data entry |
| 2 | B2B message |
| 3 | A2A message |
| 4 | Internet |
| 5 |
If it is not provided in order creation case, the default value 1 will be set by the system.
If CompleteSalesOrderIndicator is set to true, the action 'NotifyOfSalesOrderCreation' will be called to set the customer order to 'completed' (if possible).
RequestConfirmationIssueIndicator is relevant only for internal customer order.
If RequestConfirmationIssueIndicator is set to true, the action 'RequestConfirmationIssue' will be called to trigger automatically submit of the customer order.
For document types using external pricing, this Parameter can be used to trigger the retrieval of external pricing data
| PriceRecalculationTypeCode | Description |
|---|---|
| C | Keep Manually changed Rates |
Currently only Value 'C' is supported.
The requested fulfillment period is optional. If not provided it will be set by the system automatically in order creation case.
SalesAndServiceBusinessArea contains data such as sales organization, distribution channel, division and sales territory. These data are determined automatically if not provided in order creation case.
The BuyerParty is mandatory data of a customer order and shall be provided in order creation case.
In standard case, only the ID (BusinessPartnerInternalID) of the buyer party needs to be provided.
The AddressUUID is required if multiple addresses exist in the master data for the buyer party and if the default address is not used.
The Address data is required only if a document address has to be provided.
The ContactParty is optional. If not provided, the ContactParty will be determined automatically by the system.
Remark:
In order update case, the BuyerParty shall not be provided once the order has been submitted because change of the BuyerParty is then not allowed.
More than one ContactParty can be provided. In update case, all existing contact parties will be replaced by the provded contact parties if the contactPartyListCompleteTransmissionIndicator is set to true.
The EmployeeResponsibleParty can be specified either with the BusinessPartnerInternalID or the EmployeeID.
If the EmployeeResponsibleParty is not provided, it will be determined automatically by the system.
The ProductRecipientParty can be specified exactly like the BuyerParty. It needs to be provided only if it is different to the BuyerParty.
The BillToParty can be specified exactly like the BuyerParty. It needs to be provided only if it is different to the BuyerParty.
The BillToParty can be specified exactly like the BuyerParty. It needs to be provided only if it is different to the BuyerParty or the BillToParty.
The SalesEmployeeParty can be specified either with the BusinessPartnerInternalID or the EmployeeID.
More than one SalesEmployeeParty can be provided. If the salesEmployeePartyListCompleteTransmissionIndicator is set to true in order update case, the existing sales employee parties in the order will be replaced by the provided sales employee parties.
The SalesPartnerParty can be similarly specified like the BuyerParty (but without contact party).
The MainIndicator is to be set if the given Party shall be the main sales partner party.
If the salesPartnerListCompleteTransmissionIndicator is set to true in order update case, the existing sales partner parties in the order will be replaced by the given sales partner parties.
The salesUnitParty is specified by its OrganisationalCentreID. In standard case, the sales unit is determined automatically by the system and therefore does not need to be provided.
The CompetitorParty can be specified exactly like the SalesPartnerParty.
If the competitorPartyListCompleteTransmissionIndicator is set to true in order update case, the existing competitor parties in the order will be replaced by the given competitor parties.
ApproverParty can be specified by the BusinessPartnerInternalID together
with its party role code.
The AddressUUID is required if multiple addresses exist in the master data for the party and if the default address is not used.
The Address data is required only if a document address has to be provided.
If the ApproverPartyListCompleteTransmissionIndicator is set to true in order update case, the existing competitor parties in the order will be replaced by the given competitor parties.
OtherParty can be specified by the BusinessPartnerInternalID together with its party role code.
The AddressUUID is required if multiple addresses exist in the master data for the party and if the default address is not used.
The Address data is required only if a document address has to be provided.
More than one OtherParty can be provided. If the otherPartyListCompleteTransmissionIndicator is set to true in order update case, the existing other parties in the order will be replaced by the given other parties.
Remark: Z-party roles for the OtherParty need to be predefined in the system.
The SellerParty is a company and is specified with the OrganisationalCentreID. In standard case, the seller party is determined automatically by the system and therefore does not need to be provided.
With DeliveryTerms the delivery priority code and incoterms can be specified. If not provided, these will be determined automatically by the system.
With PricingTerms the currency code and price data time can be specified. If not provided, these will be determined automatically by the system.
With SalesTerms the cancellation reason code can be provided to cancel the customer order.
Remark: use only cancellation reason code values available in the system.
With CashDiscountTerms the code of the cash discount terms can be specified.
Remark: use only cash discount terms code values available in the system.
The BusinessTransactionDocumentReference is specified by ID, UUID, TypeCode and RoleCode of the referenced business document.
The ID and UUID do not need to be provided both. However one of them must be given.
Allowed values for the RoleCode are 1 (Predecessor) and 2 (Successor).
More than one BusinessTransactionDocumentReference can be provided. If the businessTransactionDocumentReferenceListCompleteTransmissionIndicator is set to true in order update case, the existing business transaction document references in the order will be replaced by the given business transaction document references.
For external references which are linked to an external business transaction documents, the schemeID of the ID/UUID for the referenced business document shall be filled with the name of the logical system where the external document is located. Currently only references to external sales orders as follow-up document of the customer order are supported. For internal references, the schemeID shall not be filled.
With Text, texts can be provided for specified TextTypeCode.
Allowed TextTypeCode values are '10024' (Customer Information) and '10011' (Internal Comment).
If the textListCompleteTransmissionIndicator is set to true in order update case, the existing texts in the order will be replaced by the given texts.
Additionally the text creation date time can be given. The TextID can also be provided in order update case, but is optional.
Example:
<Text actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>header customer information</ContentText>
<CreationDateTime>2015-09-01T12:00:00.1234567Z</CreationDateTime>
</Text>
With AttachmentFolder, attachments can be provided.
The allowed attachment TypeCode for customer order is '10001' (Standard attachment).
The allowed CategoryCode values are '2' (Document attachment) and '3' (Link attachment).
Multiple attachments can be provided within the AttachmentFolder. If the DocumentListCompleteTransmissionIndicator is set to true in order update case, the existing attachments in the order will be replaced by the given attachments.
The Document UUID can be provided in order update case, but is optional.
The Item node contains item special information such as product data, schedule line data, item texts and item attachments.
Example:
<Item actionCode="01">
<BuyerID>1</BuyerID>
<ItemProduct>
<ProductID>MCF-0001</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">10</Quantity>
<DateTimePeriod>
<StartDateTime timeZoneCode="UTC">2015-09-01T12:00:00.1234567Z</StartDateTime>
<EndDateTime timeZoneCode="UTC">2015-09-01T12:00:00.1234567Z</EndDateTime>
</DateTimePeriod>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>Item Text for item 1</ContentText>
<CreationDateTime>2015-09-01T12:00:00.1234567Z</CreationDateTime>
</ItemText>
</Item>
The item ID is required in update case of a order item. In creation case, it is automatically generated by the system if not provided.
The item BuyerID can be specified, but is optional.
The item PostingDateTime is optional. If not provided in item creation case, it will be generated by the system.
The ItemProduct can be specified by one of the following IDs: ProductInternalID, ProductBuyerID, ProductStandardID and ProductID.
ProductID is the so-called EnteredProductID which allows any of the IDs (ProductInternalID, ProductBuyerID or ProductStandardID).
If more than one IDs are provided, it shall be made sure that these IDs are available IDs of the same product.
With ItemRequestedScheduleLine the quantity and the requested schedule line date time can be provided.
In item creation case, if the quantity is not given, the quantity will be filled with minimum quantity defined in the product master data. If the DateTimePeriod is not given, it will be determined by the system.
The ID must be provided in item update case, but is optional in item creation case.
The ItemProductRecipientParty is required only if it is not the same as the ProductRecipientParty.
Specification of the ItemProductRecipientParty is the same as the ProductRecipientParty.
With ItemSalesTerms the cancellation reason code can be provided to cancel the customer order item.
Remark: the given cancellation reason code must be available in the system.
ItemTotalValues is not relevant for internal customer order. However it is mandatory for external customer order.
With the ItemTotalValues, the item NetAmount and the PricingSubtotals can be specified.
Multiple pricing subtotals can be given, however only TypeCodes with ListID '2' are allowed.
If the TotalValuesPricingSubtotalsCompleteTransmissionIndicator is set to true in item update case, the existing pricing subtotals in the order item will be replaced by the given pricing subtotals.
Remark: all total values shall be provided in the same currency.
ItemPriceCalculation is relevant only for the internal customer order.
With ItemPriceCalculation, the item main discount, main price and price components can be provided.
If the itemPriceComponentListCompleteTransmissionIndicator is set to true in item update case, the existing price components in the order will be replaced by the given price components.
Remark: ItemPriceCalculation is allowed only in update case. In creation case, prices are determined automatically. In case the ItemPriceCalculation is part of the payload in creation case the system will abort the processing and the error can be found in the Web Service error log.
The ItemBusinessTransactionDocumentReference is specified by ID, UUID, TypeCode, RoleCode and ItemID, ItemUUID of the referenced business document.
The ID and UUID donot need to be provided both. However one of them must be given. The same is for the ItemID and ItemUUID, one of them must be given (if relevant).
Allowed values for the RoleCode are 1 (Predecessor) and 2 (Successor).
More than one BusinessTransactionDocumentReference can be provided. If the itemBTDReferenceListCompleteTransmissionIndicator is set to true in item update case, the existing item business transaction document references in the order item will be replaced by the given item business transaction document references.
For external references which are linked to an external business transaction documents, the schemeID of the ID/UUID for the referenced business document shall be filled with the name of the logical system where the external document is located. Currently only references to external sales orders as follow-up document of the customer order are supported. For internal references, the schemeID shall not be filled.
Remark: if ItemBusinessTransactionDocumentReference is provided, the corresponding BusinessTransactionDocumentReference must also be provided.
Example for an internal reference (to opportunity)
<ItemBusinessTransactionDocumentReference>
<ID>4990</ID>
<TypeCode>72</TypeCode>
<ItemID>10</ItemID>
<ItemTypeCode>43</ItemTypeCode>
<RoleCode>1</RoleCode>
</ItemBusinessTransactionDocumentReference>
Example for an external reference (to sales order in the external system Q5ECLNT004)
<ItemBusinessTransactionDocumentReference>
<ID schemeID="Q5ECLNT004">4990</ID>
<TypeCode>114</TypeCode>
<ItemID>10</ItemID>
<ItemTypeCode>28</ItemTypeCode>
<RoleCode>2</RoleCode>
</ItemBusinessTransactionDocumentReference>
With ItemText, item texts can be provided for specified TextTypeCode.
Allowed TextTypeCode values are '10024' (Customer Information) and '10011' (Internal Comment).
If the textListCompleteTransmissionIndicator is set to true in order update case, the existing texts in the order will be replaced by the given texts.
Additionally the text creation date time can be given. The TextID can also be provided in order update case, but is optional.
With ItemAttachmentFolder, item attachments can be provided.
The allowed attachment TypeCode for customer order is '10001' (Standard attachment).
The allowed CategoryCode values are '2' (Document attachment) and '3' (Link attachment).
Multiple attachments can be provided within the AttachmentFolder. If the DocumentListCompleteTransmissionIndicator is set to true in item update case, the existing attachments in the order item will be replaced by the given attachments.
The Document UUID can be provided in item update case, but is optional.
The following xml message requests creation of a new order with one item.
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<CustomerOrder actionCode="01" >
<ProcessingTypeCode>OR</ProcessingTypeCode>
<PayerParty>
<BusinessPartnerInternalID>1001649</BusinessPartnerInternalID>
</PayerParty>
<EmployeeResponsibleParty>
<BusinessPartnerInternalID>8000002327</BusinessPartnerInternalID>
<EmployeeID>8000002327</EmployeeID>
</EmployeeResponsibleParty>
<ApproverParty>
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
<MainIndicator>true</MainIndicator>
</ApproverParty>
<Item actionCode="01">
<ID>10</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
<Item actionCode="01">
<ID>20</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
</CustomerOrder>
</n0:CustomerOrderBundleMaintainRequest_sync_V1>
This xml message requests update of the customer order 153 with the following changes:
change of the item 1 (ID 10) on Product quantity
creation of item 2
change of the item 1 Internal Note
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<CustomerOrder actionCode="02" >
<ID>9000003322</ID>
<UUID>00163E07-C272-1EE5-92DB-963D28346789</UUID>
<ProcessingTypeCode>OR</ProcessingTypeCode>
<Item actionCode="02">
<ID>10</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">100</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="02">
<TextTypeCode>10024</TextTypeCode>
<ContentText>Update Note</ContentText>
</ItemText>
</Item>
<Item actionCode="01">
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
<ItemText actionCode="01">
<TextTypeCode>10024</TextTypeCode>
<ContentText>item 1-1</ContentText>
</ItemText>
</Item>
</CustomerOrder>
</n0:CustomerOrderBundleMaintainRequest_sync_V1>
Step 1 : Create order with actionCode "01"
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<CustomerOrder actionCode="01" >
<ProcessingTypeCode>OR</ProcessingTypeCode>
<PayerParty>
<BusinessPartnerInternalID>1001649</BusinessPartnerInternalID>
</PayerParty>
<EmployeeResponsibleParty>
<BusinessPartnerInternalID>8000002327</BusinessPartnerInternalID>
<EmployeeID>8000002327</EmployeeID>
</EmployeeResponsibleParty>
<ApproverParty>
<BusinessPartnerInternalID>MC9785</BusinessPartnerInternalID>
<MainIndicator>true</MainIndicator>
</ApproverParty>
<Item actionCode="01">
<ID>10</ID>
<ItemProduct>
<ProductID>MCF-0036</ProductID>
</ItemProduct>
<ItemRequestedScheduleLine>
<Quantity unitCode="EA">11</Quantity>
</ItemRequestedScheduleLine>
</Item>
</CustomerOrder>
</n0:CustomerOrderBundleMaintainRequest_sync_V1>
Step 2: Provide price component detail in second request as save action
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder> <ProcessingTypeCode>OR</ProcessingTypeCode> <UUID>00163E12-BA40-1EE7-A58F-43B1CF08F77F</UUID> <ID>9000013346</ID> <Item actionCode="04"> <ID>10</ID> <ExternalPriceCalculationItem> <PriceComponent> <TypeCode>RA00</TypeCode> <Rate> <DecimalValue>2</DecimalValue> <CurrencyCode>EUR</CurrencyCode> </Rate> </PriceComponent> <UpdateEnabledIndicator>true</UpdateEnabledIndicator> </ExternalPriceCalculationItem> </Item> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
For external only order also steps are same but with external only ProcessingTypeCode
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder actionCode="02"> <ProcessingTypeCode>OR</ProcessingTypeCode> <ID>9000013346</ID> <UUID>00163E12-BA40-1EE7-A58F-43B1CF08F77F</UUID> <RequestExternalData> <PriceRecalculationTypeCode>C</PriceRecalculationTypeCode> </RequestExternalData> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder actionCode="02" > <ProcessingTypeCode>OR</ProcessingTypeCode> <ID>9000013346</ID> <UUID>00163E12-BA40-1EE7-A58F-43B1CF08F77F</UUID> <SubmitForApproval>true</SubmitForApproval> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder actionCode="02" > <ProcessingTypeCode>OR</ProcessingTypeCode> <ID>9000013346</ID> <UUID>00163E12-BA40-1EE7-A58F-43B1CF08F77F</UUID> <RequestSalesOrderRequest>true</RequestSalesOrderRequest> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder actionCode="02" > <ProcessingTypeCode>ZVB1</ProcessingTypeCode> <ID>9000013346</ID> <UUID>00163E12-BA40-1EE7-A58F-43B1CF08F77F</UUID> <FinishSalesOrder>true</FinishSalesOrder> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
<n0:CustomerOrderBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerOrder actionCode="02" otherPartyListCompleteTransmissionIndicator ="true"> <ID>9000003322</ID> <UUID>00163E07-C272-1EE5-92DB-963D28346789</UUID> <ProcessingTypeCode>OR</ProcessingTypeCode> <OtherParty> <BusinessPartnerInternalID>1001649</BusinessPartnerInternalID> <RoleCode>ZOTH</RoleCode> </OtherParty> </CustomerOrder> </n0:CustomerOrderBundleMaintainRequest_sync_V1>
There is a limitation on item parties data operation. Currently only create (actioncode="01") of new "Item Party" is allowed via A2X, all other operations can't be executed and return error.
Show full documentation