Description | Manage Sales Orders |
Name | ManageSalesOrderIn |
Namespace | http://sap.com/xi/A1S/Global |
Product | SAP Business ByDesign |
Process component | Sales Order Processing |
Process component namespace | http://sap.com/xi/AP/CRM/Global |
Deployment unit | Customer Relationship Management |
Endpoint Activation | By Scoping of Process Component | Operations |
|
Release Status | Released |
Technical documentation on the SAP API Business Hub | Manage Sales Orders |
General web service documentation | A2X Web Services (SOAP) |
An interface to replicate or create sales orders from a source system or file, to a target system.
This web-service is used to create or modify existing sales orders.
It consists of the MaintainBundle and the CheckMaintainBundle operations. MaintainBundle is used to create or update one or more instances of the sales order. CheckMaintainBundle is used to check if one or more instances of the sales order can be maintained.
For an Account that is used in a Sales Order, you must define the Sales Arrangement. Otherwise the currency cannot be determined.
To provide PaymentCard (CreditCardPayment/ExternalPayment) information, the respective PaymentCardKey (CreditCardPayment) / HouseBankAccountKeyInternalID (ExternalPayment) information needs to be maintained in the system.
To create a simple, consistent SalesOrder, the consumer has to provide the Account Party information, and information for one or more Items.
Example
The request below will create a sales order with the following information:
Sales order ID as 10,
Buyer ID as PSM CRM ABSL Test - Example_01,
Posting date as 2006-03-28T12:00:00.1234567Z,
Sales order name as PSM CRM ABSL Test - CallSalesOrderExample1,
Item ID as 10,
Item date as 2006-03-28T12:00:00.1234567Z,
Item product as MCF-0001,
Buyer party as MC9785.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>PSM CRM ABSL Test - Example_01</BuyerID> <DateTime>2006-03-28T12:00:00.1234567Z</DateTime> <Name languageCode="EN">PSM CRM ABSL Test - CallSalesOrderExample1</Name> <Item> <ID>10</ID> <DateTime>2006-03-28T12:00:00.1234567Z</DateTime> <ItemProduct> <ProductTypeCode>1</ProductTypeCode> <ProductID>MCF-0001</ProductID> </ItemProduct> </Item> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The response contains the result of the above operation.
In case of successful execution, the response will contain the Sales order ID and UUID.
The following is the response for successful execution of the above request.
Response
<nm:SalesOrderBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSC:/1SAI/TAE88DF3AA925C3E49C60CC:804"> <SalesOrder> <ChangeStateID>20121126052855.4860440</ChangeStateID> <UUID>00163e02-9074-1ee2-8df1-455fe9222356</UUID> <ID>3276</ID> </SalesOrder> </nm:SalesOrderBundleMaintainConfirmation_sync>
In case of a failed execution, the response will contain an error message(s).
The following is a sample XML for creating a simple, consistent Sales Order with two Item, Account, BillTo, and Sales Unit information.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following is a sample XML request to call upon the actions ReleaseCustomerRequest, and ReleaseAllItemsToExecution.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlo bal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <ReleaseAllItemsToExecution>true</ReleaseAllItemsToExecution> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Elements | Description |
---|---|
DistributionChannelCode | A distribution channel is a channel via which goods or services reach the customer. |
Code Value Description | |
01 Direct sales | |
02 Indirect sales |
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>ExternalReference_ID</BuyerID> <DataOriginTypeCode>4</DataOriginTypeCode> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <SalesAndServiceBusinessArea actionCode="01"> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
PricingTerms are characteristics that are used for the pricing and valuation of goods and services in the Sales
Order.
Elements | Description |
---|---|
CurrencyCode | Currency for the valuation of goods and services ordered (document currency). |
PriceDateTime | Price date at which price specifications are determined using a rule for automatic scheduling. |
GrossAmountIndicator | An indicator that specifies whether or not price and/or value is given |
as gross amount (including taxes). |
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <PricingTerms> <CurrencyCode>EUR</CurrencyCode> <PriceDateTime timeZoneCode="DFT">2011-10- 28T12:00:00.0000000Z</PriceDateTime> <GrossAmountIndicator>true</GrossAmountIndicator> </PricingTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Price and tax calculation is the summary of the determined price and tax components for a business case. A specification of the general procedure for price and tax determination and valuation using
attributes those are characteristic or relevant for the whole object.
Note: PriceAndTaxCalculation cannot be created but can only be modified. If you want to change the ‘Discount’ or ‘Freight’ charge, you must create the order first, and then make a second web-service request to update the sales order with the pricing information that is to be changed.
If you want to change the price components for a sales order with external payment, you must update the payment information with the pricing changes in second web-service request.
The two types of freights charges are
TypeCode – 7PR8 – An absolute amount which is maintained at the sales order document level.
TypeCode – 7PRD – A net-weight dependent amount, which is determined automatically on item
level (sample xml).
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>72</ObjectNodeSenderTechnicalID> <ChangeStateID>20111011112138.8012470</ChangeStateID> <ID>127213</ID> <PriceAndTaxCalculation> <MainDiscount actionCode="04"> <Rate> <DecimalValue>25</DecimalValue> </Rate> </MainDiscount> <PriceComponent> <UUID>00163e01-2e13-1ee0-bcff-65cddc6b117f</UUID> <Rate> <DecimalValue>70</DecimalValue> </Rate> </PriceComponent> © SAP AG 2011 35 <PriceComponent> <TypeCode>7PRB</TypeCode> <Rate> <DecimalValue>7</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
TextCollection is a collection of all textual descriptions, which are related to a Sales Order.
Elements | Description |
---|---|
TypeCode | Defines the text type and the main settings for the text. |
10011 Internal Comment | |
10014 Remark for Supplier | |
10024 Customer Information |
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>72</ObjectNodeSenderTechnicalID> <ID>127213</ID> <TextCollection> <Text> <ObjectNodeSenderTechnicalID>9518</ObjectNodeSenderTechnicalID> <TypeCode>10024</TypeCode> <ContentText>This information is for the Customer</ContentText> </Text> </TextCollection> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
An Attachment Folder is the collection of all documents attached to a Sales Order.
Elements | Description |
---|---|
TypeCode | Coded representation of the document category, such as Folder, File, or Link. |
Code Value Description | |
1 Folder | |
2 Document | |
3 Link |
*Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>new_test</BuyerID> <Name languageCode="EN">new_test</Name> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <Item> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <AttachmentFolder> <Document> <VisibleIndicator>true</VisibleIndicator> <CategoryCode>2</CategoryCode> <TypeCode>10001</TypeCode> <MIMECode>text/plain</MIMECode> <Name>New Text Document(2).txt</Name> <AlternativeName>Test Document (txt)</AlternativeName> <Description>This is a file attachment</Description> <FileContent ActionCode="01"> <BinaryObject mimeCode="text/plain">VGhpcyBpcyBhIHRlc3QgZG9jdW1lbnQu</BinaryObject> </FileContent> </Document> <Document> <VisibleIndicator>true</VisibleIndicator> <CategoryCode>3</CategoryCode> <TypeCode>10001</TypeCode> <Name>www.testlink.com</Name> <AlternativeName>Test Link</AlternativeName> <Description>This is atest Link</Description> <ExternalLinkWebURI>http://www.testlink.com</ExternalLinkWebURI> <FileContentURI>http://www.testlink.com</FileContentURI> </Document> </AttachmentFolder> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Using this you can create/update/delete customer contract reference at item level.
Elements | Description |
---|---|
ID | Customer Contract ID |
UUID | Customer Contract UUID (can be obtained using the query web service for customer contract) |
TypeCode | Customer Contract type code = 1092 (only this can be used) |
ItemID | The item ID of the contract to which the reference has to be done |
ItemUUID | The respective UUID of the contract item (can be obtained using the query web service for customer contract) |
ItemTypeCode | The respective item type code |
BusinessTransactionDocumentRelationshipRoleCode | Should be predecessor - 1 |
DataProviderIndicator | should be - false |
*Request - create
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>111700</ID> <Item> <ID>10</ID> <ItemBusinessTransactionDocumentReference actionCode="01"> <BusinessTransactionDocumentReference> <ID>XXXX</ID> <UUID>00163E94-2A34-1EEA-9186-63946F3185AC</UUID> <TypeCode>1092</TypeCode> <ItemID>XX</ItemID> <ItemUUID>00163E94-2A34-1EEA-9186-63946F3225AC</ItemUUID> <ItemTypeCode>XXX</ItemTypeCode> </BusinessTransactionDocumentReference> <BusinessTransactionDocumentRelationshipRoleCode>1</BusinessTransactionDocumentRelationshipRoleCode> <DataProviderIndicator>false</DataProviderIndicator> </ItemBusinessTransactionDocumentReference> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
*Request - update
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>111700</ID> <Item> <ID>10</ID> <ItemBusinessTransactionDocumentReference actionCode="02"> <BusinessTransactionDocumentReference> <ID>XXX</ID> <UUID>00163E94-2A34-1EEA-9186-63946F3185AC</UUID> <TypeCode>1092</TypeCode> <ItemID>XX</ItemID> <ItemUUID>00163E94-2A34-1EEA-9186-63946F3225AC</ItemUUID> <ItemTypeCode>XXX</ItemTypeCode> </BusinessTransactionDocumentReference> <BusinessTransactionDocumentRelationshipRoleCode>1</BusinessTransactionDocumentRelationshipRoleCode> <DataProviderIndicator>false</DataProviderIndicator> </ItemBusinessTransactionDocumentReference> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
*Request - delete
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>111700</ID> <Item> <ID>10</ID> <ItemBusinessTransactionDocumentReference actionCode="03"> <BusinessTransactionDocumentReference> <ID>XXXX</ID> <UUID>00163E94-2A34-1EEA-9186-63946F3185AC</UUID> <TypeCode>1092</TypeCode> <ItemID>XX</ItemID> <ItemUUID>00163E94-2A34-1EEA-9186-63946F3225AC</ItemUUID> <ItemTypeCode>XXX</ItemTypeCode> </BusinessTransactionDocumentReference> <BusinessTransactionDocumentRelationshipRoleCode>1</BusinessTransactionDocumentRelationshipRoleCode> <DataProviderIndicator>false</DataProviderIndicator> </ItemBusinessTransactionDocumentReference> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
*Response
<n0:SalesOrderBundleMaintainConfirmation_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSC:/1SAI/TAE88DF3AA925C3E49C60CC:804"> <SalesOrder> <ChangeStateID>20121126052855.4860440</ChangeStateID> <UUID>00163e02-9074-1ee2-8df1-455fe9222356</UUID> <ID>111700</ID> </SalesOrder> </n0:SalesOrderBundleMaintainConfirmation_sync>
PeriodTerms is a collection of all date relevant data, which are related to a Sales Order.
RequestedFulfillmentPeriodPeriodTerms - This date indicates the requested delivery date from customer and is used to determine product availability.
IssueDatePeriod - This date refers to the date on which the consignment items are used by the consignee. The date is automatically updated as the invoice date and is used as the shipment date in issue delivery
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>PSM CRM ABSL Test - Example_01</BuyerID> <DateTime>2021-05-20T12:00:00.1234567Z</DateTime> <Name languageCode="EN">PSM CRM ABSL Test - CallSalesOrderExample1</Name> <Item> <ID>10</ID> <DateTime>2021-05-20T12:00:00.1234567Z</DateTime> <ItemProduct> <ProductTypeCode>1</ProductTypeCode> <ProductID>MCF-0001</ProductID> </ItemProduct> </Item> <Item> <ID>20</ID> <ProcessingTypeCode>TACI</ProcessingTypeCode> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2021-05-25T13:20:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> <IssueDatePeriod> <StartDateTime timeZoneCode="UTC">2021-05-30T13:20:00Z</StartDateTime> </IssueDatePeriod> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Additonally if Customer wants to pass the issue date for each consignment item, it needs to be passed using <ItemScheduleLine>-<DateTimePeriod> as shown in code snippet below.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <Name>Header Issue Date Plus Item Issue Date</Name> <PostingDate>2021-05-13T15:30:00Z</PostingDate> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="EST">2021-05-20T04:30:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> <IssueDatePeriod> <StartDateTime timeZoneCode="EST">2021-05-21T04:30:00Z</StartDateTime> </IssueDatePeriod> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001-TACF</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ProcessingTypeCode>TACI</ProcessingTypeCode> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> <DateTimePeriod> <StartDateTime>2021-05-30T07:00:00Z</StartDateTime> </DateTimePeriod> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Update scenario:
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder ActionCode="02"> <ID>20342</ID> <IssueDatePeriod actionCode="02"> <StartDateTime timeZoneCode="EST">2021-05-30T04:30:00Z</StartDateTime> </IssueDatePeriod> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>20</ID> <ItemScheduleLine> <ID>1</ID> <Quantity unitCode="EA">5</Quantity> <DateTimePeriod> <StartDateTime>2021-07-30T04:30:00Z</StartDateTime> </DateTimePeriod> </ItemScheduleLine> </Item> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>10</ID> <ItemScheduleLine> <ID>1</ID> <Quantity unitCode="EA">7</Quantity> <DateTimePeriod> <StartDateTime>2021-07-10T04:30:00Z</StartDateTime> </DateTimePeriod> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Providing item id for items in a request containing kit items is not supported via this service.
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.
In the following scenario, two sales orders are created in one request. For one sales order the ProductRecepient (ShipTo) address is modified, which leads to a change in the freight charge. In the second order, additional items are added along with a discount level, and a different service performer.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <Item> <ID>40</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCD-0451</ProductInternalID> </ItemProduct> </Item> <Item> <ID>30</ID> <ItemProduct> <ProductInternalID>MCD-0498</ProductInternalID> </ItemProduct> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Response
<nm:SalesOrderBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QKA:/1SAI/TAE88DF3AA925C3E49C60CC:803"> <SalesOrder> <ChangeStateID>20111104081241.1792830</ChangeStateID> <UUID>00163e01-2e13-1ee1-81d7-975290b6d51b</UUID> <ID>128435</ID> </SalesOrder> <SalesOrder> <ChangeStateID>20111104081241.1792830</ChangeStateID> <UUID>00163e01-2e13-1ee1-81d7-975290b7351b</UUID> <ID>128436</ID> </SalesOrder> <Log> <MaximumLogItemSeverityCode>2</MaximumLogItemSeverityCode> <Item> <TypeID>153(/CL_CDA_DOCIT/) </TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <Note>Gross weight for product missing</Note> </Item> <Item> <TypeID>152(/CL_CDA_DOCIT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <Note>Net weight for product missing</Note> </Item> <Item> <TypeID>151(/CL_CDA_DOCIT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <Note>Net volume for product missing</Note> </Item> </Log> </nm:SalesOrderBundleMaintainConfirmation_sync>
Note: The messages in the log vary from system to system based on the configuration. In this particular test system, the net volume and gross weight of the products are not maintained. Hence, the warning messages related to this information are visible in the response.
At this stage, you can add 2 more items, update the shipping address of the first order, and change or create the freight charges in the order. To determine if the freight charges are defaulted by the system, or if a new one needs to be created, you can check the PriceAndTaxCalculation node for PriceComponents with freight charge information in the existing sales order. This query call is part of A2X QuerySalesOrderIn (operation: FindByElements).
<n0:SalesOrderByElementsQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrderSelectionByElements> <SelectionByID> <InclusionExclusionCode>I</InclusionExclusionCode> <IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode> <LowerBoundaryID>128435</LowerBoundaryID> </SelectionByID> </SalesOrderSelectionByElements> <ProcessingConditions> <QueryHitsUnlimitedIndicator>true</QueryHitsUnlimitedIndicator> </ProcessingConditions> </n0:SalesOrderByElementsQuery_sync>
From the response, you can conclude that there is no price component for "Freight" charges.
So in the next call, you must create the freight charges, and mention that this particular sales order has been finalized and can be released.
Meanwhile, the customer has requested the addition of a material item to the second order along with the existing service items, and to initiate the release of the complete order.
So in our next request, the following is performed:
Order 128435:
2 more items are added
A new shipping address
Freight charge of 47 USD due to change in address and additional items
Release of the order from the customer
Order 128436:
An additional material item
Change of service performer
Release of the order from the customer
Release of the service items for execution
Release of service item(s) which can be fulfillment.
Note: In the following request, as you are creating additional items with ItemScheduleLine information, the attribute itemScheduleLineListCompleteTransmissionIndicator at Item node has to be set to true. Please refer to the Child Node – ItemScheduleLine (multiple cardinality) for more details.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>006</ObjectNodeSenderTechnicalID> <ChangeStateID>20111104081241.1792830</ChangeStateID> <ID>128435</ID> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <ProductRecipientParty partyContactPartyListCompleteTransmissionIndicator="true"> <PartyID>MC6049</PartyID> <Address> <CorrespondenceLanguageCode>EN</CorrespondenceLanguageCode> <Email> <URI>email2.test@testdata.com</URI> <UsageDeniedIndicator>true</UsageDeniedIndicator> </Email> <Telephone> <Number> <AreaID>0518</AreaID> <SubscriberID>482</SubscriberID> <ExtensionID>4812</ExtensionID> <CountryCode>US</CountryCode> </Number> <FormattedNumberDescription>+1 (518) 482-4812</FormattedNumberDescription> <DefaultConventionalPhoneNumberIndicator>true </DefaultConventionalPhoneNumberIndicator> <DefaultMobilePhoneNumberIndicator>true</DefaultMobilePhoneNumberIndicator> <UsageDeniedIndicator>false</UsageDeniedIndicator> <MobilePhoneNumberIndicator>true</MobilePhoneNumberIndicator> <SMSEnabledIndicator>false</SMSEnabledIndicator> </Telephone> <DisplayName> <FormattedName languageCode="EN">Josep King</FormattedName> </DisplayName> <Name> <Name> <FormOfAddressCode>0001</FormOfAddressCode> <FirstLineName>Josep</FirstLineName> <SecondLineName>Steven</SecondLineName> <ThirdLineName>King</ThirdLineName> </Name> </Name> <PostalAddress> <CountryCode>US</CountryCode> <RegionCode>NY</RegionCode> <CountyName>USA</CountyName> <CityName>Albany</CityName> <StreetPostalCode>12205</StreetPostalCode> <StreetPrefixName>M3 Samson Court</StreetPrefixName> <AdditionalStreetPrefixName>Pacific Coast Region</AdditionalStreetPrefixName> <StreetName>Wolf Rd</StreetName> <StreetSuffixName>Atlantis</StreetSuffixName> <CareOfName>Wayne Josep.</CareOfName> <TaxJurisdictionCode>NYAL0181</TaxJurisdictionCode> <TimeZoneCode>EST</TimeZoneCode> </PostalAddress> </Address> </ProductRecipientParty> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0002</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>28</Quantity> </ItemScheduleLine> </Item> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>30</ID> <ItemProduct> < ProductInternalID>MCF-0005</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>8</Quantity> </ItemScheduleLine> </Item> <PriceAndTaxCalculation> <PriceComponent actionCode="01"> <TypeCode>7PR8</TypeCode> <Rate> <DecimalValue>47</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> <SalesOrder> <ObjectNodeSenderTechnicalID>007</ObjectNodeSenderTechnicalID> <ChangeStateID>20111104082114.6230540</ChangeStateID> <ID>128436</ID> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <ReleaseAllItemsToExecution>true</ReleaseAllItemsToExecution> <FinishFulfilmentProcessingOfAllItems>true</FinishFulfilmentProcessingOfAllItems> <ServicePerformerParty> <PartyID>MC0377</PartyID> </ServicePerformerParty> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>30</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>13</Quantity> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Response
<nm:SalesOrderBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QKA:/1SAI/TAE88DF3AA925C3E49C60CC:803"> <SalesOrder> <ChangeStateID>20111104134249.0253500</ChangeStateID> <ReferenceObjectNodeSenderTechnicalID>007</ReferenceObjectNodeSenderTechnicalID> <UUID>00163e01-2e13-1ee1-81d7-975290b7351b</UUID> <ID>128436</ID> </SalesOrder> <SalesOrder> <ChangeStateID>20111104134249.0253500</ChangeStateID> <ReferenceObjectNodeSenderTechnicalID>006</ReferenceObjectNodeSenderTechnicalID> <UUID>00163e01-2e13-1ee1-81d7-975290b6d51b</UUID> <ID>128435</ID> </SalesOrder> <Log> <MaximumLogItemSeverityCode>2</MaximumLogItemSeverityCode> <Item> <TypeID>153(/CL_CDA_DOCIT/) </TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <ReferenceObjectNodeSenderTechnicalID>006</ReferenceObjectNodeSenderTechnicalID> <Note>Gross weight for product missing</Note> </Item> <Item> <TypeID>152(/CL_CDA_DOCIT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <ReferenceObjectNodeSenderTechnicalID>006</ReferenceObjectNodeSenderTechnicalID> <Note>Net weight for product missing</Note> </Item> <Item> <TypeID>151(/CL_CDA_DOCIT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <ReferenceObjectNodeSenderTechnicalID>006</ReferenceObjectNodeSenderTechnicalID> <Note>Net volume for product missing</Note> </Item> <Item> <TypeID>188(/CL_CDA_DOCIT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <Note>The sales organization and distribution channel in the document do not match with the product master sales data. Check your entries in the document or the product master.</Note> </Item> </Log> </nm:SalesOrderBundleMaintainConfirmation_sync>
This interface supports extensibility.
Example
The following XML tag could be used to create (a) sales order with the extension field value 'EXT...' as 'ABC'.
This extension field would also (return) as part of the response to the query operation.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>PSM CRM ABSL Test - Example_01</BuyerID> <DateTime>2006-03-28T12:00:00.1234567Z</DateTime> <Name languageCode="EN">PSM CRM ABSL Test - CallSalesOrderExample1</Name> <Item> <ID>10</ID> <DateTime>2006-03-28T12:00:00.1234567Z</DateTime> <ItemProduct> <ProductTypeCode>1</ProductTypeCode> <ProductID>MCF-0001</ProductID> </ItemProduct> <FirstRequestedItemScheduleLine> <Quantity unitCode="EA">2</Quantity> </FirstRequestedItemScheduleLine> </Item> <BuyerParty> <PartyKey> <PartyID>MC9785</PartyID> </PartyKey> </BuyerParty> <n1:EXTExt100163E02E6621ED1BCCD562E23AE156C xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/ZZZZZ">ABC</n1:EXTExt100163E02E6621ED1BCCD562E23AE156C> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
In the following scenario, user sets Item Main Discount which leads to only one discount at the item level that is being sent in request. Even if the discounts are determined from master data / manually overwritten discounts at item, if user passes ItemMainDiscount in request, then Main Discount takes priority over all discounts at item level, both in case of create and update of sales order.
Usecase: Item Main Discount as the only discount at item level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> <PriceAndTaxCalculationItem> <ItemMainDiscount> <Rate> <DecimalValue>-1</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: The messages in the log vary based on discount master data that exists in system.
Create Use Case:
Case 1: In case if there is no discount master data which is determined at item level, then no message is sent in response and main discount is set as in ItemMainDiscount.
Case 2: In case if there is single discount determined from master data at item level, then determined discount is discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response . Note: ItemMainDiscount takes priority over determined discount from masterdata
Case 3: In case if there is multiple discount determined from master data at item level, then determined discounts are discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response . Note: ItemMainDiscount takes priority over determined discount from masterdata
Case 4: In case if discount sent via ItemMainDiscount and ItemPriceComponent, then ItemMainDiscount takes priority over ItemPriceComponent discount.
Update Use Case:
Case 1: In case if there is no discount at item level, then no message is sent in response and main discount is set as in ItemMainDiscount.
Case 2: In case if there are multiple discount exist at item level (determined from master data / manually entered discounts) , then all discounts are discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response . Note: ItemMainDiscount takes priority over existing discounts.
Usecase: Item Discount to be added along with determined / manually overwritten discount at item level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> <PriceAndTaxCalculationItem> <ItemPriceComponent> <TypeCode listID="2">7PR6</TypeCode> <Rate> <DecimalValue>10</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: The discount at item level is added to existing determined / manually added discounts.
Create Use Case:
Case 1: In case if there is no discount master data which is determined at item level, then discount is added as in ItemPriceComponent.
Case 2: In case if there is single discount determined from master data at item level, then determined discount is kept as is and new discount entry created with discount value sent via ItemPriceComponent. Note: ItemPriceComponent adds new discount entry at item level.
Case 3: In case if there are multiple discount determined from master data at item level, then determined discounts are kept as is and new discount entry created with discount value sent via ItemPriceComponent. Note: ItemPriceComponent adds new discount entry at item level.
Update Use Case: List Complete Transmission Indicatory (LCTI) is set for <ItemPriceComponent> and update of single price component like discount is not possible.
Usecase: Pricing In Gross: Item Discount to be added along with determined / manually overwritten discount at item level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> <PriceAndTaxCalculationItem> <ItemPriceComponent> <TypeCode listID="2">8PR6</TypeCode> <Rate> <DecimalValue>10</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: The discount at item level is added to existing determined / manually added discounts.
Create Use Case:
Case 1: In case if there is no discount master data which is determined at item level, then discount is added as in ItemPriceComponent.
Case 2: In case if there is single discount determined from master data at item level, then determined discount is kept as is and new discount entry created with discount value sent via ItemPriceComponent. Note: ItemPriceComponent adds new discount entry at item level.
Case 3: In case if there are multiple discount determined from master data at item level, then determined discounts are kept as is and new discount entry created with discount value sent via ItemPriceComponent. Note: ItemPriceComponent adds new discount entry at item level.
Update Use Case: List Complete Transmission Indicatory (LCTI) is set for <ItemPriceComponent> and update of single price component like discount is not possible.
In the following scenario, user sets Overall Discount at order level, which leads to only one header discount at order level. This will be sent in request even if there are multiple overall discounts in the order. If user passes header level Main Discount in request, then Main Discount takes priority over all existing discounts at order level, both in case of create and update of sales order.
Usecase: One Overall Discount(%) at order level (percentage based discount).
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> </Item> <PriceAndTaxCalculation> <MainDiscount> <Rate> <DecimalValue>-1</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </MainDiscount> <PriceComponent> <TypeCode listID="2">0007</TypeCode> <Rate> <DecimalValue>10</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: The messages in the log vary based on existing overall discounts in the order document.
Create Use Case:
Case 1: In case if user passes MainDiscount at order level, then no message is sent in response and overall discount is set as in MainDiscount.
Case 2: In case if discount sent via MainDiscount and PriceComponent, then MainDiscount takes priority over PriceComponent discount.
Update Use Case:
Case 1: In case if there are no overall discounts at order level, then no message is sent in response and overall discount is set as in MainDiscount.
Case 2: In case if is one overall discounts at order level, then overall discount is set as in MainDiscount.
Case 3: In case if there are multiple overall discount exist at order level, then all overall discounts are discarded and discount sent in MainDiscount is set as overall discount, and then a warning message is sent in response . Note: MainDiscount takes priority over existing overall discounts.
Usecase: Multiple Overall Discount(%) at order level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> </Item> <PriceAndTaxCalculation> <PriceComponent> <TypeCode listID="2">0007</TypeCode> <Rate> <DecimalValue>10</DecimalValue> </Rate> </PriceComponent> <PriceComponent> <TypeCode listID="2">0007</TypeCode> <Rate> <DecimalValue>20</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: Multiple overall discounts created in the order document.
Create Use Case:
Case 1: In case if user passes discount via PriceComponent at order level, multiple overall discounts gets created at order level.
Update Use Case:
Update Use Case: List Complete Transmission Indicatory (LCTI) is set for <PriceComponent> and update of price component such as overall discount is not possible.
Usecase: Overall Discount($) at order level (absolute value based discount).
Note: In business configuration, the overall discount should be set as an absolute value based discount, otherwise by default it will be percentage based overall discount at order level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> </Item> <PriceAndTaxCalculation> <MainDiscount> <Rate> <DecimalValue>50</DecimalValue> <CurrencyCode>USD</CurrencyCode> </Rate> </MainDiscount> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Usecase: Pricing In Gross: One Overall Discount(%) at order level (percentage based discount).
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>MC9785</BuyerID> <PostingDate>2018-10-20T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>MC9785</PartyID> </BillToParty> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>MC9785</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>true</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> </Item> <PriceAndTaxCalculation> <PriceComponent> <TypeCode listID="2">1007</TypeCode> <Rate> <DecimalValue>10</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
In the following scenario, user sets Standalone Selling Price(SSP) of product, which leads to overwriting of system determined standalone selling price of product at the item level of a specific order.
Note: Standalone Selling Price is applicable in case of accounting standard IFRS 15 / ASC 606 Revenue from Contracts with Customers.
Usecase: Overwrite Standalone Selling Price.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <SalesOrder> <BuyerID>STB01</BuyerID> <PostingDate>2018-09-14T14:39:04Z</PostingDate> <SalesAndServiceBusinessArea> <DistributionChannelCode>01</DistributionChannelCode> </SalesAndServiceBusinessArea> <BillToParty> <PartyID>STB01</PartyID> </BillToParty> <AccountParty> <PartyID>STB01</PartyID> </AccountParty> <ProductRecipientParty> <PartyID>STB01</PartyID> </ProductRecipientParty> <DeliveryTerms actionCode="01"> <DeliveryPriorityCode>3</DeliveryPriorityCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> <PricingTerms actionCode="01"> <CurrencyCode>USD</CurrencyCode> <GrossAmountIndicator>false</GrossAmountIndicator> </PricingTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>STP102</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>1.0000</Quantity> </ItemScheduleLine> <PriceAndTaxCalculationItem> <ItemPriceComponent> <TypeCode listID="2">9PR1</TypeCode> <Rate> <DecimalValue>500</DecimalValue> <CurrencyCode>USD</CurrencyCode> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Note: <ItemPriceComponent> TypeCode is 9PR1 for overwriting Net Pricing Standalone Selling Price and Gross Standalone Selling Price cannot be overwritten.
The following request xml creates price components for the Sales Order on the header level.
Note: When creating the price component, the corresponding price component should be scoped in the system
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="02"> <ID>111191</ID> <PriceAndTaxCalculation> <!-- Over All Discount(%)--> <PriceComponent actionCode="01"> <TypeCode>0007</TypeCode> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </PriceComponent> <!-- Additional Over All Discount(%)--> <PriceComponent actionCode="01"> <TypeCode>2007</TypeCode> <Rate> <DecimalValue>-1</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </PriceComponent> <!-- Additional Over All Discount--> <PriceComponent actionCode="01"> <TypeCode>3007</TypeCode> <Rate> <DecimalValue>-3</DecimalValue> </Rate> </PriceComponent> <!-- Restocking Fee--> <PriceComponent actionCode="01"> <TypeCode>7PRB</TypeCode> <Rate> <DecimalValue>-4</DecimalValue> </Rate> </PriceComponent> <!-- Freight --> <PriceComponent actionCode="01"> <TypeCode>7PRD</TypeCode> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml update price components for the Sales Order on the header level. For updating the price component we should provide the UUID for the corresponding price component for the web srevice to identify the right price component. We can get the UUID by executing the QuerySalesOrderIn service.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111191</ID> <PriceAndTaxCalculation actionCode="02"> <PriceComponent actionCode="02"> <UUID>00163e94-2a34-1eea-9bfb-ddaa50ec058d</UUID> <Rate> <DecimalValue>-3</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml delete price components for the Sales Order on the header level. For deleting the price component we should provide the UUID for the corresponding price component for the web srevice to identify the right price component. We can get the UUID by executing the QuerySalesOrderIn service.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111191</ID> <PriceAndTaxCalculation actionCode="02"> <PriceComponent actionCode="03"> <UUID>00163e94-2a34-1eea-9bfb-ddaa50eba58d</UUID> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml creates price components for the Sales Order on the item level.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111191</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTaxCalculationItem> <!-- GoodWill--> <ItemPriceComponent actionCode="01"> <TypeCode>7PRC</TypeCode> <Description>GoodWill</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Warranty --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR9</TypeCode> <Description>Warranty</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Quality Loss Fee--> <ItemPriceComponent actionCode="01"> <TypeCode>7PRA</TypeCode> <Description>Quality Loss Fee</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Surcharge(%)--> <ItemPriceComponent actionCode="01"> <TypeCode>7PR2</TypeCode> <Description>Surcharge %</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Surcharge --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR3</TypeCode> <Description>Surcharge</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Working Condition --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR7</TypeCode> <Description>Working Condtion</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Product Discount --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR6</TypeCode> <Description>Discount</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> <DataOriginTypeCode>4</DataOriginTypeCode> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml update price components for the Sales Order on the item level. For updating the item price component we should provide the UUID for the corresponding item price component for the web srevice to identify the right price component. We can get the UUID by executing the QuerySalesOrderIn service.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111191</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTaxCalculationItem actionCode="02"> <!-- GoodWill--> <ItemPriceComponent actionCode="02"> <UUID>00163e94-2a34-1eea-9bfc-0dc78dd5e608</UUID> <Rate> <DecimalValue>-3</DecimalValue> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml delete price components for the Sales Order on the item level. For deleting the item price component we should provide the UUID for the corresponding item price component for the web srevice to identify the right price component. We can get the UUID by executing the QuerySalesOrderIn service.
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111191</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTaxCalculationItem actionCode="02"> <ItemPriceComponent actionCode="03"> <UUID>00163e94-2a34-1eea-9bfc-0dc78dd60608</UUID> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The following request xml creates price components for the Contract on the item level when pricing strategy is based on gross price procedure
Request
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="04"> <ID>111186</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTaxCalculationItem> <!-- Gross Freight --> <ItemPriceComponent actionCode="01"> <TypeCode>8PRD</TypeCode> <Description>Gross Freight</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Quality Loss Fee--> <ItemPriceComponent actionCode="01"> <TypeCode>8PRA</TypeCode> <Description>Gross Quality Loss Fee</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Surcharge(%)--> <ItemPriceComponent actionCode="01"> <TypeCode>8PR2</TypeCode> <Description>Gross Surcharge %</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Gros Surcharge --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR3</TypeCode> <Description>Gross Surcharge</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Working Condition --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR7</TypeCode> <Description>Gros Working Condtion</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Gross Discount --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR6</TypeCode> <Description>Discount</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Description | Check sales orders |
Name | CheckMaintainBundle |
Synchronous | yes |
Release Status | Released |
To check whether one or more sales orders can be maintained using imported structured data.
The web service request and response message types of the CheckMaintainBundle operation are the same as those of the MaintainBundle operation. The explanations given can therefore also be applied to the CheckMaintainBundle operation.
Description | Maintain sales orders |
Name | MaintainBundle |
Synchronous | yes |
Release Status | Released |
To maintain one or more sales orders using imported structured data.
The MaintainBundle operation is used to maintain one or more sales orders using imported structured data.
To create a simple, consistent SalesOrder, the consumer has to provide the Account Party information, and information for one or more Items.
This is the root node for each order data being passed in the request. The following are the attributes and elements of this node.
Attributes | Description |
---|---|
itemListCompleteTransmissionIndicator | As mentioned above, ListCompleteTransmissionIndicator is available for child nodes with multiple cardinality and Item is one such child node of SalesOrder node. Values can be either true or false. |
actionCode | Refer to General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ID | The identifier for a specific sales order (mandatory during modification of an existing sales order). |
BuyerID | External Reference ID |
PostingDate | Posting Date of a sales order |
Name | Description for an Order |
UUID | Universally Unique Identifier (optional) |
DataOriginTypeCode | A coded representation of where the customer specific transaction document data originates. Code Value Description: 1 Manual data entry; 2 B2B message; 3 A2A message; 4 Internet; 5 E-Mail; For eCommerce scenario, only code 4 should be utilized. |
FulfillmentBlockingReasonCode | A coded representation of the reason for blocking a fulfillment process for a sales order document. Code Value Description: 01 Credit limit; 02 Political reason; 03 Bottleneck product; 04 Down payment required; 91 Customer request. |
ReleaseCustomerRequest | An action call to invoke release of the sales order from the customer side. It will be invoked when the value is set to true. Note: This action call is not related to the Release action on the Sales Order UI. |
ReleaseAllItemsToExecution | An action call to release all service related items to execution. It will be invoked when the value is set to true. |
FinishFulfilmentProcessingOfAllItems | An action call to fulfill the processing of all service related items. It will be invoked when the value is set to true. |
CroatiaBusinessSpaceID | Identifier of the business space from which customer invoices are issued. |
CroatiaBillingMachineID | Identifier of the device used for billing or generating customer invoice. |
CroatiaPaymentMethodCode | Represents the payment method supported by the legal authorization process. Code Value Description: C Check; G Cash; K Credit Card; O Other; T Bank Transfer. |
CroatiaPartyTaxID | This field represents the OIB or tax number of the operator who issues the customer invoice. |
CroatiaParagonBillMark | It is the invoice number as in the pre-printed paper invoice. In case, the billing system is completely down, the company can issue invoices through pre-printed paper invoices. However, these details must be transferred to the tax authority CIS system later. |
CroatiaSpecialNote | If it was necessary to issue and send the customer invoice to the legal authority in paper form, for example, due to technical reasons, enter the invoice number printed on the paper invoice when resending the electronic version. |
SendConfirmationIndicator | If the field is set to true, order confirmation is sent to account automatically when approval status changes to approved or approval not necessary. |
This option is relevant only when sales order approval is in scope. |
Example
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <ReleaseAllItemsToExecution>true</ReleaseAllItemsToExecution> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Example
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <SendConfirmationIndicator>true</SendConfirmationIndicator> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <ReleaseAllItemsToExecution>true</ReleaseAllItemsToExecution> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
A SalesAndServiceBusinessArea is the business or service specific area within an enterprise that is valid for a Sales Order, for example, sales organization, service organization, distribution channel, division and so on. These elements are derived from the organizational unit Sales Unit or Service Unit (see Party) responsible for the Sales Order, and can be overwritten manually.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
DistributionChannelCode | A distribution channel is a channel via which goods or services reach the customer. Code Value Description: 01 Direct sales; 02 Indirect sales |
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>ExternalReference_ID</BuyerID> <DataOriginTypeCode>4</DataOriginTypeCode> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <SalesAndServiceBusinessArea actionCode="01"> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
A Party is a natural or legal person, organization, organizational unit or group that is involved in a transaction, and a reference to a business partner or one of its specializations (such as Customer, Supplier, Employee, and so on).
Party occurs in the following incomplete and disjoint specializations:
Party | Description |
---|---|
BillToParty | A BillToParty is a party (Customer) to whom the invoice for goods or services is sent. |
AccountParty | An AccountParty is a party (Customer) that purchases a product or service. It occurs in the role of the buyer or ordering party with whom the contractual agreement is concluded. |
PayerParty | A PayerParty is a party (Customer) that pays for a product or a service. |
ProductRecipientParty | A ProductRecipientParty is a party (Customer, Supplier, Company) to whom goods are delivered or services are provided. It fulfills the role of the customer who receives the goods or, in case of returns, the vendor or supplying company. |
SalesPartnerParty | A SalesPartnerParty is a party that initiates and implements business transactions for another company. |
FreightForwarderParty | A Freight ForwarderParty is a party (Business Partner) that supplements their own service by subcontracting transportation and other associated services. |
EmployeeResponsibleParty | An EmployeeResponsibleParty is a party (Employee), that is responsible for the processing of sales or services. |
SellerParty | A SellerParty is a party that sells goods or services. It represents the selling company that has a contractual agreement with the BuyerParty. |
SalesUnitParty | A SalesUnitParty is a party (Sales Unit) that is responsible for the sales of goods and services. |
ServiceExecutionTeamParty | A ServiceExecutionTeamParty is a party (Service Unit) that is responsible for executing the service orders. |
ServicePerformerParty | A ServicePerformerParty is a party (Employee) that provides services for a company. |
SalesEmployeeParty | |
BillFromParty | A BillFromParty is a party (Supplier, Company) from whom the invoice for goods or services is sent. |
ProductRecipientItemParty (on Item child node) | A ProductRecipientItemParty is a party (Customer, Supplier or Company) to whom the item-specific goods are delivered or service are provided. |
VendorItemParty (on Item child node) | A VendorItemParty is a party (Company, Customer or Supplier) who delivers goods or provides services. It performs the role of the delivering enterprise or of the external vendor or, in the case of returns, the customer. |
ServicePerformerItemParty (on Item child node) | A ServicePerformerItemParty is a party (Employee) that provides services for a company. |
The Party with the following specializations that are related to the company (seller) cannot have a change in address except for the respective contact party of these parties.
EmployeeResponsibleParty
SellerParty
SalesUnitParty
ServiceExecutionTeamParty
ServicePerformerParty
SalesEmployeeParty
BillFromParty
VendorItemParty
ServicePerformerItemParty
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
partyContactPartyListCompleteTransmissionIndicator | The ContactParty child node is of multiple cardinality, hence there is a ListCompleteTransmissionIndicator to handle this. |
Elements | Description |
---|---|
PartyID | An identifier for a party |
This node is used to maintain the address data for persons or organizations (including the postal address and communication data). It can also be used to maintain other address-specific information, such as the preferred method of communication, or a formatted address, display names in the user interfaces.
An address that is maintained via the web-service becomes a document address, that is, an address that is valid only for that sales order document. An address in a document cannot be changed, but a new one can be created which will overwrite the previous document address. This would be mean that if the customer wants to change, for example, an email ID, the customer would have to read all information present in the current address and send it back along with the new email ID as an update request.
Attributes | Description |
---|---|
CorrespondenceLanguageCode | Communication preference language code |
Child Nodes:
Facsimile
Telephone
Web
DisplayName
Name
PostalAddress
The structure for this node is similar to its parent party node. Since a party could have multiple contact parties, there is an additional element to identify the main contact party.
Elements | Description |
---|---|
MainIndicator | An indicator to identify one of the many contact parties as the main contact party. |
The structure for this node is similar to its parent Party node. Since a Party could have multiple contact parties, there is an additional element to identify the main contact party.
Elements | Description |
---|---|
MainIndicator | An indicator to identify one of the many contact parties as the main contact party. |
Child Nodes:
Address (same as in section 4.3.1)
Details of sample XML:
In this request message, the customer is creating a new address for the ProductRecipentParty (Ship-To) and two contact party information.
The system automatically determines the preconfigured contact parties for the product recipient party. If the customer does not wish this happen and rather accept only the ones passed in the xml message, then the partyContactPartyListCompleteTransmissionIndicator should be set to true as shown below partyContactPartyListCompleteTransmissionIndicator="true"
This follows the ListCompleteTransmissionIndicator principle mentioned in the General Rules for using this Web Service section.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>21</ObjectNodeSenderTechnicalID> <BuyerID>ExternalReference_ID</BuyerID> <DataOriginTypeCode>4</DataOriginTypeCode> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <ProductRecipientParty partyContactPartyListCompleteTransmissionIndicator="true"> <PartyID>MC6049</PartyID> <Address> <CorrespondenceLanguageCode>EN</CorrespondenceLanguageCode> <Email> <URI>email.test@testdata.com</URI> <DefaultIndicator>true</DefaultIndicator> <UsageDeniedIndicator>false</UsageDeniedIndicator> </Email> <Email> <URI>email2.test@testdata.com</URI> <UsageDeniedIndicator>true</UsageDeniedIndicator> </Email> <Facsimile> <Number> <AreaID>0518</AreaID> <SubscriberID>482</SubscriberID> <ExtensionID>4801</ExtensionID> <CountryCode>US</CountryCode> </Number> <FormattedNumberDescription>+1 (518) 482-4801</FormattedNumberDescription> <DefaultIndicator>true</DefaultIndicator> </Facsimile> <Telephone> <Number> <AreaID>0518</AreaID> <SubscriberID>482</SubscriberID> <ExtensionID>4811</ExtensionID> <CountryCode>US</CountryCode> </Number> <FormattedNumberDescription>+1 (518) 482-4811</FormattedNumberDescription> <DefaultConventionalPhoneNumberIndicator>false</DefaultConventionalPhoneNumberIndicator> <DefaultMobilePhoneNumberIndicator>false</DefaultMobilePhoneNumberIndicator> <UsageDeniedIndicator>true</UsageDeniedIndicator> <MobilePhoneNumberIndicator>true</MobilePhoneNumberIndicator> <SMSEnabledIndicator>true</SMSEnabledIndicator> </Telephone> <Telephone> <Number> <AreaID>0518</AreaID> <SubscriberID>482</SubscriberID> <ExtensionID>4812</ExtensionID> <CountryCode>US</CountryCode> </Number> <FormattedNumberDescription>+1 (518) 482-4812</FormattedNumberDescription> <DefaultConventionalPhoneNumberIndicator>true</DefaultConventionalPhoneNumberIndicator> <DefaultMobilePhoneNumberIndicator>true</DefaultMobilePhoneNumberIndicator> <UsageDeniedIndicator>false</UsageDeniedIndicator> <MobilePhoneNumberIndicator>true</MobilePhoneNumberIndicator> <SMSEnabledIndicator>false</SMSEnabledIndicator> </Telephone> <Web> <URI>http://sap.com/anyURI</URI> <DefaultIndicator>true</DefaultIndicator> <UsageDeniedIndicator>true</UsageDeniedIndicator> </Web> <Web> <URI>http://sap.com/anyURI2</URI> <DefaultIndicator>false</DefaultIndicator> <UsageDeniedIndicator>false</UsageDeniedIndicator> </Web> <DisplayName> <FormattedName languageCode="EN">Josep King</FormattedName> </DisplayName> <Name> <Name> <FormOfAddressCode>0001</FormOfAddressCode> <FirstLineName>Josep</FirstLineName> <SecondLineName>Steven</SecondLineName> <ThirdLineName>King</ThirdLineName> <FourthLineName>Jr.</FourthLineName> </Name> </Name> <PostalAddress> <CountryCode>US</CountryCode> <RegionCode>NY</RegionCode> <CountyName>USA</CountyName> <CityName>Albany</CityName> <StreetPostalCode>12205</StreetPostalCode> <StreetPrefixName>M3 Samson Court</StreetPrefixName> <AdditionalStreetPrefixName>Pacific Coast Region</AdditionalStreetPrefixName> <StreetName>Wolf Rd</StreetName> <StreetSuffixName>Atlantis</StreetSuffixName> <AdditionalStreetSuffixName>South Pier</AdditionalStreetSuffixName> <CareOfName>Wayne Josep.</CareOfName> <TaxJurisdictionCode>NYAL0181</TaxJurisdictionCode> <TimeZoneCode>EST</TimeZoneCode> </PostalAddress> </Address> <ContactParty actionCode="04"> <ObjectNodeSenderTechnicalID>1621</ObjectNodeSenderTechnicalID> <PartyID>MCP6049</PartyID> <MainIndicator>true</MainIndicator> </ContactParty> <ContactParty actionCode="04"> <ObjectNodeSenderTechnicalID>1622</ObjectNodeSenderTechnicalID> <PartyID>MCP9785</PartyID> <MainIndicator>true</MainIndicator> </ContactParty> </ProductRecipientParty> <SalesAndServiceBusinessArea actionCode="01"> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
RequestedFulfilmentPeriod is the period in which the delivery of goods or the provision of services is requested.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
StartDateTime | To set the requested start date time. |
EndDateTime (optional) | To set the requested end date time. If not provided, it is filled by the system based on the start date time. |
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
DeliveryTerms are agreements that apply for the delivery of goods and provision of services in the Sales Order.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
DeliveryPriorityCode | Coded representation of priority/urgency of delivery. Code Value Description: 1 Immediate; 2 Urgent; 3 Normal; 7 Low |
Incoterms | Incoterms are typical contract formulations for delivery conditions that correspond to the rules defined by the International Chamber of Commerce (ICC). |
PartialDeliveryControlCode | The partial delivery control specifies whether and in which form a customer allows partial deliveries. Code Value Description: 1 Multiple Deliveries; 2 Single on-time delivery; 3 Single delivery - full quantity; 4 Single delivery - full quantity of order; 5 Single on-time delivery of order; 6 Single on-time delivery of item; 7 Single delivery - full quantity of item; 8 Single on-time delivery - full quantity; 9 Single delivery |
CompleteDeliveryRequestedIndicator | An indicator that signifies if the complete delivery of all the items in the order is requested or not. |
Note: If PartialDeliveryControlCode is set to 1 then CompleteDeliveryRequestedIndicator cannot be set to true and vice versa.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <DeliveryTerms> <DeliveryPriorityCode>1</DeliveryPriorityCode> <Incoterms> <ClassificationCode>CIP</ClassificationCode> <TransferLocationName>Los Angeles</TransferLocationName> </Incoterms> <PartialDeliveryControlCode>1</PartialDeliveryControlCode> </DeliveryTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
or
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <DeliveryTerms> <DeliveryPriorityCode>3</DeliveryPriorityCode> <Incoterms> <ClassificationCode>CIP</ClassificationCode> <TransferLocationName>Los Angeles</TransferLocationName> </Incoterms> <PartialDeliveryControlCode>3</PartialDeliveryControlCode> <CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator> </DeliveryTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
PricingTerms are the characteristics used for pricing and valuation of goods and services in the Sales Order.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
CurrencyCode | Currency for the valuation of the goods and services ordered (document currency). |
PriceDateTime | Price date at which price specifications are determined using a rule for automatic scheduling. |
GrossAmountIndicator | An indicator that specifies whether or not price and/or value is given as gross amount (including taxes). |
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <PricingTerms> <CurrencyCode>EUR</CurrencyCode> <PriceDateTime timeZoneCode="DFT">2011-10-28T12:00:00.0000000Z</PriceDateTime> <GrossAmountIndicator>true</GrossAmountIndicator> </PricingTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
SalesTerms are the agreements and conditions applicable for the sale of goods and services in the Sales Order.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
CancellationReasonCode | CancellationReasonCode Reason for canceling a sales transaction. Can be set by both the buyer and seller. Code Value Description: 01 Delivery too late; 02 Quality issues; 03 Too expensive; 04 Competitor cheaper; 05 Competitor better quality; 06 Customer to receive replacement; 07 Warranty; 08 Other reason; 97 Cancellation from inbound delivery; 98 Customer cancellation by XI message; 99 Cancellation by system (obsolete) |
In this example, the request is to update an existing sales order by cancelling it. The actionCode attribute on SalesTerms node and ChangeStateID element are optional.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>127147</ID> <SalesTerms actionCode="04"> <CancellationReasonCode>01</CancellationReasonCode> </SalesTerms> <ChangeStateID>20111010113551.2609020</ChangeStateID> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
InvoiceTerms are the agreements that apply for invoicing goods and services in the Sales Order.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ProposedInvoiceDate | Date on which the invoice is proposed to be created, with a rule for automatic scheduling. |
InvoicingBlockingReasonCode | Specifies why processing of invoicing documents is blocked for the business transaction item. Code Value Description: 01 Calculation missing; 02 Confirmation still open; 03 Pricing incomplete; 90 Default invoice block reason for returns |
In the following example, the customer creates a sales order and at a later time due to certain issue in pricing decides to block the invoicing.
Request 1:
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <InvoiceTerms> <ProposedInvoiceDate>2011-11-24</ProposedInvoiceDate> </InvoiceTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Response 1:
<nm:SalesOrderBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QKA:/1SAI/TAE88DF3AA925C3E49C60CC:803"> <SalesOrder> <ChangeStateID>20111011050755.7665890</ChangeStateID> <UUID>00163e01-2e13-1ee0-bcf8-d582264241b9</UUID> <ID>127171</ID> </SalesOrder> <Log/> </nm:SalesOrderBundleMaintainConfirmation_sync>
Request 2:
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>127171</ID> <InvoiceTerms> <InvoicingBlockingReasonCode>03</InvoicingBlockingReasonCode> </InvoiceTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Response 2:
<nm:SalesOrderBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QKA:/1SAI/TAE88DF3AA925C3E49C60CC:803"> <SalesOrder> <ChangeStateID>20111011050755.7665890</ChangeStateID> <UUID>00163e01-2e13-1ee0-bcf8-d582264241b9</UUID> <ID>127171</ID> </SalesOrder> <Log> <MaximumLogItemSeverityCode>2</MaximumLogItemSeverityCode> <Item> <TypeID>093(/CL_CDA_BUSDT/)</TypeID> <CategoryCode>ENV.CBM</CategoryCode> <SeverityCode>2</SeverityCode> <Note>Document blocked for invoicing</Note> </Item> </Log> </nm:SalesOrderBundleMaintainConfirmation_sync>
The terms and conditions agreed on by business partners for the payment of goods delivered or services provided. These terms and conditions consist of incremental payment periods and the cash discounts that are allowed when payment is made within one of these periods.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
Code | Coded representation of the terms of payment. |
PaymentBaselineDate | Baseline date for payment that is used for calculating the payment period dates. |
In the following sample xml, code 10025 represents payment term 'Before 15 of next month 2% cash, before end of next month due net'
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <CashDiscountTerms> <Code>1025</Code> <PaymentBaselineDate>2011-11-24</PaymentBaselineDate> </CashDiscountTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
An agreement between a company and a business partner on processing payments for an individual business transaction. Credit card payment and external payment are the two types of payment processes supported for the sales scenario.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
externalPaymentListCompleteTransmissionIndicator | ExternalPayment sub-node is of multiple cardinality. |
creditCardPaymentListCompleteTransmissionIndicator | CreditCardPayment sub-node is of multiple cardinality. |
Elements | Description |
---|---|
PaymentProcessingCompanyUUID | Company that is involved in the payment. |
PaymentProcessingCompanyID | Internal identification of the Company that is involved in the payment. |
PaymentProcessingBusinessPartnerUUID | Unique identifier of the Business Partner that is involved in the payment. |
PaymentProcessingBusinessPartnerID | Unique identifier of the Business Partner that is involved in the payment. |
ResponsibleEmployeeUUID | Contact person for questions about payment in the company that initiated the payment. |
ResponsibleEmployeeID | Contact person for questions about payment in the company that initiated the payment. |
PropertyMovementDirectionCode | Coded representation of the property change type from the view of the company (decrease or increase of means of payment). Code Value Description: 1 Decrease; 2 Increase |
PaymentFormCode | Coded representation of the payment form. The payment form is the way a product or service is paid for. Code Value Description: 02Credit Card; 04 Direct Debit; 05 Bank Transfer; 06 Check; 07 Bill of change Payable Without Acceptance; 08 Bill of Exchange Payable with Acceptance; 09 Cash; 12 Wire Transfer; 13 Direct Debit (Authorization for Payer‟s Bank); 14 Bill of Exchange Payable Sole Bill; 15 Bill of Exchange Payable Commercial Transfer; 16 Bill of Exchange Receivable Without Acceptance; 17 Bill of Exchange Receivable with Acceptance; 18 Bill of Exchange Receivable Sole Bill; 19 Bill of Exchange Receivable Commercial Transfer; 20 External Payment; 21 Cash Outpayment |
PaymentAmount | Payment amount in payment currency. |
ExchangeRate | ExchangeRate is the representation of an exchange rate between two currencies, that is, the relationship in which one currency can be exchanged for another currency. |
PaymentBlock | A PaymentBlock specifies the reason and time for a business document block in payment transactions. The PaymentBlock has the following sub-elements: PaymentBlockingReasonCode Code Value Description: 1 To be clarified with payer; 2 Complaint; 3 Payment method changed; 4 Other reason; ExpirationDateTime (mandatory element if PaymentBlock information is maintained) *CreationIdentityUUID *CreationDateTime |
FirstPaymentInstructionTypeCode | First instruction key used for instructions for a payment. |
SecondPaymentInstructionTypeCode | Second instruction key used for instructions for a payment. |
ThirdPaymentInstructionTypeCode | Third instruction key used for instructions for a payment. |
FourthPaymentInstructionTypeCode | Fourth instruction key used for instructions for a payment. |
BankChargeBearerCode | The BankChargeBearerCode can be used to describe the distribution of costs between the initiator and the recipient of a payment transaction. Code Value Description: BEN Benificiary; OUR Initiator; SHA Sharing of costs |
PaymentPriorityCode | Specifies that bank transactions of this business partner have priority. Code Value Description: 2 Urgent; 3 Normal |
SinglePaymentIndicator | Indicator whether a payment request can be grouped together with another payment request. |
DebitValueDate | Due date of the payment amount in the bank account of the party that initiated the payment. |
CreditValueDate | Due date of the payment amount in the bank account of the party that received the payment. |
PaymentReceivablesPayablesGroupID | Affiliation to a group of receivables or payables that are in relationship with each other for the purpose of common payment. |
PaymentReferenceID | A PaymentReferenceID is assigned by a bank or a party to uniquely identify a transaction in the payment transaction. It is only unique in the context of the assigning bank or party and is only interpreted by them. Letters have to be in uppercase. |
PaymentReferenceTypeCode | The PaymentReferenceTypeCode is used for specifying the type of a Payment Reference that is used for transferring a unique identification in payment processes. Code Value Description: 5 Transaction Reference Number of externally paid e- commerce order |
Note | User-defined text that explains the payment. |
The ExternalPayment node holds the details about processing a payment which has been executed externally.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the external payment node |
HouseBankAccountUUID | A universally unique identifier of a house bank account that is involved in the payment on the company's side. |
HouseBankAccountKeyInternalID | An internal identifier of a house bank account that is involved in a payment on the company's side. |
PaymentTransactionReferenceID | A reference number for an external payment transaction. |
DocumentDate | The document date of the external payment. |
ValueDate | The value date of the external payment. |
Amount | The amount paid in payment currency by the external payment. |
The elements in the following sample xml are the minimal elements required while creating external payment information for a sales order.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder actionCode="01"> <BuyerID>101012AB</BuyerID> <Name languageCode="EN">External_pay_test</Name> <AccountParty actionCode="01"> <PartyID>MC9785</PartyID> </AccountParty> <Item> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <DataOriginTypeCode>4</DataOriginTypeCode> <PaymentControl actionCode="01"> <PaymentProcessingCompanyID>MC10000</PaymentProcessingCompanyID> <PaymentProcessingBusinessPartnerID>MC9785</PaymentProcessingBusinessPartnerID> <PaymentReferenceID>test-1</PaymentReferenceID> <PaymentReferenceTypeCode>5</PaymentReferenceTypeCode> <PropertyMovementDirectionCode>2</PropertyMovementDirectionCode> <PaymentFormCode>20</PaymentFormCode> <PaymentAmount currencyCode="USD">2000</PaymentAmount> <ExternalPayment actionCode="01"> <HouseBankAccountKeyInternalID>BOA CONCENTRATION</HouseBankAccountKeyInternalID> <PaymentTransactionReferenceID>52786878234</PaymentTransactionReferenceID> <DocumentDate>2011-11-10</DocumentDate> <ValueDate>2011-11-13</ValueDate> <Amount currencyCode="USD">2000</Amount> </ExternalPayment> </PaymentControl> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The CreditCardPayment node holds the Details about processing a payment with the payment procedure credit card.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
creditCardPaymentAuthorisationListCompleteTransmissionIndicator | CreditCardPaymentAuthorisation sub-node is of multiple cardinality. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the credit card payment node |
PaymentCardUUID | Universally unique identifier of a Payment Card. |
PaymentCardKey | Key of a payment card and has the following sub-elements:ID - PaymentCardID is a unique identifier of a payment card that is assigned by the issuer of the payment card. TypeCode - A coded representation of the type of payment card. Code Value Description: 1 American Express; 2 VISA; 3 MasterCard; 4 Diners Club |
BusinessPartnerPaymentCardDetailsKeyID | An identifier for the business partner payment card details. |
PaymentCardDataOriginTypeCode | Information about the origin of the payment card data (manual entry, card reader). |
PaymentCardAutomaticallyGeneratedIndicator | Indicates whether the payment card data was entered automatically or manually. |
DeviceID | Identifier of the card reading device |
LocationInternalID | Identifier of the location where the payment card was read |
ClearingHouseAccountUUID | Universally unique identifier of the involved Clearing House Account |
ClearingHouseAccountKeyID | Identifier of the involved Clearing House Account. |
PaymentCardVerificationValueText | PaymentCardVerificationValueText is the verification code of payment cards. A verification code of a payment card is a security feature and is used for the authorization of payments with the payment card. |
PaymentCardVerificationValueAvailabilityCode | A coded representation of the availability of a verification code on a payment card. Code Value Description: 0 Unknown; 1 Available; 2 Not readable; 9 Without |
PaymentCardVerificationValueCheckRequiredIndicator | |
AuthorisationRequiredIndicator | Indicator whether or not an authorization should take place. |
AuthorisationLimitAmount | Maximum amount that can be authorized for the card. |
AuthorisationValueUnlimitedIndicator | Indicator whether the authorization amount is not fixed. |
Amount | The amount paid in payment currency by payment card. |
PaymentAuthorisedAmount | |
CompanyClearingHouseID | Identifier of the Company at the clearing house. |
A PaymentControlCreditCardPaymentAuthorisation are the authorization details of a Payment Control Credit Card Payment.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the credit card payment authorization node |
ID | Identifier for an authorization of a card payment that is assigned by the payee. |
ClearingHouseID | Identifier for an authorization of a card payment that is assigned by a clearing house for card payments. |
ProviderID | Identifier for an authorization of a card payment that is assigned by a service provider for card payments. A service provider serves as a central entry point for credit card authorizations and settlements, possibly affecting multiple clearing houses or card issuers. |
PaymentCardHolderAuthenticationID | Identifier set by the merchant during a payer authentication request. The number is used by issuers, acquirers and merchants in the resolution of disputes. |
PaymentCardAutomaticallyGeneratedIndicator | |
PaymentCardHolderAuthenticationResultCode | Result of a card holder authentication. |
PaymentCardHolderAuthenticationTokenText | Encrypted token concerning the PaymentCardHolder authentication check which is transferred from the Interoperability Domain to the clearing house or bank. This data must not be decrypted or changed in any way, as it is only transferred during the authorisation process. |
DateTime | Date and time on which the authorization was carried out. |
PaymentCardTransactionTypeCode | Type of a payment card transaction. Code Value Description: 1 Authorization; 2 Cancellation of Authorization; 3 Single Settlement; 4 Cancellation of Single Settlement; 5 Single Settlement of Payment Card Credit Memo; 6 Mass Settlement; 7 Mass Cancellation of Settlements; 8 Mass Settlement of Payment Card Credit Memos |
PreAuthorisationIndicator | Specifies whether or not it is a preauthorization. |
Amount | Amount that can be taken from the credit card in TransactionCurrency |
ExpirationDateTime | Date and time until which the authorization is valid. |
ActiveIndicator | Specifies whether or not the authorization can be used. |
AppliedIndicator | Indicator whether or not this authorization was already used in the settlement. |
ResultCode | Result of the authorization message to the clearing ouse. Code Value Description: 1 Successful; 2 Unsuccessful; 3 Not determined |
PaymentCardAddressVerificationResultCode | Result of the address check during authorization (address result). Code Value Description: 1 Address and postal code check successful; 2 Address check successful, postal code check unsuccessful; 3 Address check unsuccessful, postal code check successful; 4 Address and postal code check unsuccessful; 5 Not determined |
ProductRecipientPartyPaymentCardAddressVerificationResultCode | Result of the address check for the product recipient party |
PaymentCardVerificationResultCode | Result of the card number check during authorization (response code). Code Value Description: 1 Card data check successful; 2 Card rejected, card data blocked; 3 Card rejected, call clearing house; 4 Card rejected, confiscate card; 5 Not determined |
PaymentCardVerificationValueVerificationResultCode | Result of the card verification value check (CVV) during authorization. Code Value description: 1 Successful; 2 Unsuccessful; 3 Not determined |
ResultDescription | Result text of the authorization. |
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>new_Bundle_test</BuyerID> <Name languageCode="EN">new_Bundle_test</Name> <AccountParty actionCode="01"> <PartyID>MC9785</PartyID> </AccountParty> <Item actionCode="04"> <ItemProduct actionCode="01"> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <PaymentControl actionCode="04"> <PaymentProcessingCompanyID>MC10000</PaymentProcessingCompanyID> <PaymentProcessingBusinessPartnerID>MC9785</PaymentProcessingBusinessPartnerID> <PaymentFormCode>02</PaymentFormCode> <PaymentAmount currencyCode="USD">346.51</PaymentAmount> <CreditCardPayment> <PaymentCardKey> <ID>4111111111111111</ID> <TypeCode>2</TypeCode> </PaymentCardKey> <ClearingHouseAccountKeyID>FOP_CHA1200</ClearingHouseAccountKeyID> <Amount currencyCode="USD">2000</Amount> <CreditCardPaymentAuthorisation ActionCode="04"> <ID>100075</ID> <ClearingHouseID>TAS556</ClearingHouseID> <Amount currencyCode="USD">2000</Amount> <DateTime>2010-09-29T17:59:03.310+02:00</DateTime> <ExpirationDateTime>2012-10-12T17:59:03.310+02:00</ExpirationDateTime> <ResultCode>1</ResultCode> <PaymentCardAddressVerificationResultCode>5</PaymentCardAddressVerificationResultCode> <ProductRecipientPartyPaymentCardAddressVerificationResultCode>5</ProductRecipientPartyPaymentCardAddressVerificationResultCode> <PaymentCardVerificationResultCode>5</PaymentCardVerificationResultCode> <PaymentCardVerificationValueVerificationResultCode>3</PaymentCardVerificationValueVerificationResultCode> <ResultDescription>APPROVAL TAS556</ResultDescription> </CreditCardPaymentAuthorisation> </CreditCardPayment> </PaymentControl> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
A price and tax calculation is the summary of the determined price and tax components for a business case. A specification of the general procedure for price and tax determination and valuation using attributes those are characteristic or relevant for the whole object.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
priceComponentListCompleteTransmissionIndicator | PriceComponent sub-node is of multiple cardinality. |
productTaxDetailsListCompleteTransmissionIndicator | ProductTaxDetails sub-node is of multiple cardinality. |
withholdingTaxDetailsListCompleteTransmissionIndicator | WithholdingTaxDetails sub-node is of multiple cardinality. |
A cumulated price element for the entire document from a manually created price specification, or from the items of a cumulated price element.
Note: Price components under the PriceAndTaxCalculation can be created , modified and deleted. Details on how to create a sample update request is mentioned below.
The pricing elements are structured and build on each other.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the price component node |
TypeCode | The type of price element (component). The list of types depends on PricingProcedure chosen or configured for customer. Note: The customer needs to be well versed in the TypeCodes available for a system (based on configuration) to make corresponding pricing changes to the order(s). |
Rate | The monetary rate for a price, discount or surcharge of the price element. |
RateBaseQuantityTypeCode | The type of the base quantity of the rate. |
Note: If any element that affects the pricing is changed, such as product or quantity, then the identifier UUID will be changed as well. In this case the customer has to read the sales order and retrieve the updated UUID of the respective PriceComponent that the customer wishes to change. It’s a recommendation that the customer reads the order for the PriceComponent UUIDs before making the request to update the PriceComponent(s). And if an PriceComponentdoes not exist, then it can be created by passing the respective TypeCode for it (as shown in the xml below).
In the following sample xml, the request is to modify the freight charges of the sales order document.
Note: In scoping under „General Business Data – Product and Service Pricing – Sales Price and Discount Lists‟, two different types of freights are offered. The customer has to decide one of them or none.
The two types of freights charges are:
TypeCode – 7PR8 – An absolute amount which is maintained at the sales order document level.
TypeCode – 7PRD – A net-weight depenedent amount which is deteremined automatically on item level (sample xml)
MainDiscount node can be utilized to maintain the discount value for the whole sales order document. A specialized node to maintain the PriceComponent of type 0007 - Main Discount.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
Rate | The monetary rate for a price, discount or surcharge of the price element. |
RateBaseQuantityTypeCode | The type of the base quantity of the rate. |
In this sample xml, the request is to update (or create) the discount for the whole sales order, change the freight charge and create a new price element for Restocking fees (7PRB), an absolute amount.
In this example, to realize if the freight charge and restocking fees needs to be created or updated, the customer has to first read the order check for the types (TypeCode) of price element that exists and if the desired price element exist then the corresponding UUID needs to be buffered else create the price element as shown below for 7PRB.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>72</ObjectNodeSenderTechnicalID> <ChangeStateID>20111011112138.8012470</ChangeStateID> <ID>127213</ID> <PriceAndTaxCalculation> <MainDiscount actionCode="04"> <Rate> <DecimalValue>25</DecimalValue> </Rate> </MainDiscount> <PriceComponent> <UUID>00163e01-2e13-1ee0-bcff-65cddc6b117f</UUID> <Rate> <DecimalValue>70</DecimalValue> </Rate> </PriceComponent> <PriceComponent> <TypeCode>7PRB</TypeCode> <Rate> <DecimalValue>7</DecimalValue> </Rate> </PriceComponent> </PriceAndTaxCalculation> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
The details determined for a specific type of product tax for the entire document.
Product taxes are taxes that are incurred for product-related business cases, such as purchasing, sales or consumption.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the product tax details node |
TaxationCharacteristicsCode | The coded representation of basic characteristics upon which the taxation of products is based. |
TransactionCurrencyProductTax | The determined parts of product tax in document currency |
A TextCollection is a collection of all textual descriptions which are related to a Sales Order. Each text can include formatting information.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
textListCompleteTransmissionIndicator | Text sub-node is of multiple cardinality. |
A Text is unstructured, readable information that contains additional formatting information within TextCollection. The type of type can be specified via the TypeCode.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
TypeCode | Defines the text type and thus main settings for the text. Code Value Description: 10011 Internal Comment; 10014 Remark for Supplier; 10024 Customer Information |
ContentText | Describes the unstructured data of the text. |
Note: A sales order can multiple text of different types but can have only one text of one type.
In this sample xml, the request is to add a customer comment via the TextCollection to an existing sales order.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ObjectNodeSenderTechnicalID>72</ObjectNodeSenderTechnicalID> <ID>127213</ID> <TextCollection> <Text> <ObjectNodeSenderTechnicalID>9518</ObjectNodeSenderTechnicalID> <TypeCode>10024</TypeCode> <ContentText>This information is for the Customer</ContentText> </Text> </TextCollection> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
An Attachment Folder is the collection of all documents attached to a Sales Order.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the attachment folder node |
A document is an attachment that was assigned to the Attachment Folder and contains unstructured in-formation and additional control and monitoring information.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
VisibleIndicator | Specifies whether a document is visible or not. |
CategoryCode | Coded representation of the document category, such as Folder, File or Link. Code Value Description: 1 Folder; 2 Document; 3 Link |
TypeCode | Coded representation of the document type. Most general attachments are of type '10001'. |
MIMECode | Coded representation of the MIMECode of a document. |
Name | Name of a document that identifies the document within its higher-level folder The Name is the same as the last component of the DocumentPathName. All characters (apart from the separator “/”) are allowed in the name. |
AlternativeName | Language-independent name of a document |
Description | Language-independent description of a document |
ExternalLinkWebURI | Destination URI (if the link is external) |
Sub-Node: (only relevant when the document is a file) FileContent-BinaryContent | Describes the unstructured data in binary form |
In the following sample xml, the request is to create a new sales order with two attachments, a file and a link.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>new_test</BuyerID> <Name languageCode="EN">new_test</Name> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <Item> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> </Item> <AttachmentFolder> <Document> <VisibleIndicator>true</VisibleIndicator> <CategoryCode>2</CategoryCode> <TypeCode>10001</TypeCode> <MIMECode>text/plain</MIMECode> <Name>New Text Document(2).txt</Name> <AlternativeName>Test Document (txt)</AlternativeName> <Description>This is a file attachment</Description> <FileContent ActionCode="01"> <BinaryObject mimeCode="text/plain">VGhpcyBpcyBhIHRlc3QgZG9jdW1lbnQu</BinaryObject> </FileContent> </Document> <Document> <VisibleIndicator>true</VisibleIndicator> <CategoryCode>3</CategoryCode> <TypeCode>10001</TypeCode> <Name>www.testlink.com</Name> <AlternativeName>Test Link</AlternativeName> <Description>This is atest Link</Description> <ExternalLinkWebURI>http://www.testlink.com</ExternalLinkWebURI> <FileContentURI>http://www.testlink.com</FileContentURI> </Document> </AttachmentFolder> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
And this is the request to update an existing attachment (file) by just changing the binary content.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>127454</ID> <AttachmentFolder> <UUID>00163e01-277c-1ee0-bdb1-969f6a3a905e</UUID> <Document> <UUID>00163e01-277c-1ee0-bdb1-969f6a3b105e</UUID> <FileContent> <BinaryObject mimeCode="text/plain">VGhpcyBpcyBhIHRlc3QgZG9jdW1lbnQuDQp0aGlzIGEgYSB1cGRhdGVkIHRleHQu</BinaryObject> </FileContent> </Document> </AttachmentFolder> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Item of a customer-specific business transaction that focuses on delivering goods or providing a service, on the prices and on preparing the invoice. Item is the identifying and administrative item information in a Sales Order which, in addition to the schedule lines, contains all the data that applies to the item, for example, the product information, the parties involved, the sales/delivery/Customer Invoicing-specific agreements, status and references, and so on.
Attributes | Description |
---|---|
itemScheduleLineListCompleteTransmissionIndicator | Sub-node ItemScheduleLine is of multiple cardinality. |
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ID | The identifier for a specific sales order item (mandatory during modification of an existing item). |
BuyerID | Unique identifier for a sales order item assigned by the buyer. |
ProcessingTypeCode | Coded representation of item processing of the Customer Transaction Document in the process component. |
PostingDate | The creation time (posting time) of a Customer Transaction Document item from a business perspective. |
Description | Short description of the item. |
FulfilmentPartyCategoryCode | Party category of the fulfilment of a sales order item. Code Value Description: 1 Internal; 2 External |
ReleaseToExecute | An action call to release the items to execution. It will be invoked when the value is set to true. |
FinishFulfilmentProcessing | An action call to fulfill the processing of the item. It will be invoked when the value is set to true. |
ItemProduct is the identification, description and classification of the product (material or ServiceProduct) in the item.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ProductID | An identifier for a product. |
ProductInternalID | Internal identifier of the product |
ProductStandardID | A standardized identifier for a product, and the identification scheme is managed by an agency from the code list DE 3055. "schemeAgencyID " identifies the agency that manages an identification scheme. The agencies from DE 3055 are used as the default, but the roles defined in DE 3055 cannot be used. The following codes are supported: 9 (EAN.UCC, International Numbering Association) for the GTIN (Global Trade Item Number), which can have up to 14 characters 5 (ISO, International Organization for Standardization) for the 13-character ISBN (International Standard Book Number).63 (NATO, North Atlantic Treaty Organization) for the NSN (NATO Stock Number) which has 13 characters (further information:http://www.nato.int/structur/AC/135/ncs_brochure/ncs_brochure_e/index.htm" Comment : For ISBN, the code "5" (ISO) is entered for schemeAgencyID along with the schemeID "ISO 2108: 1992", which indicates that it is an ISBN. The ISBN scheme is managed by http://isbn-international.org/ . Specifying a schemeID is not necessary if only one scheme exists for an agency. Another standardized identification scheme is the pharmaceutical central number. There is no SchemeAgencyID for this in the code list DE 3055. How this will be represented must still be clarified. Letters have to be in uppercase. |
ProductBuyerID | Unique identifier for the product assigned by the buyer. |
ProductTypeCode | A Product Type Code is used to diffrentiate a product type as material, service, entitlement etc. Code Value Description: 1 Material; 2 Service; 3 Individual Product; 4 Warranty; 5 Entitlement |
UnitOfMeasure | Unit of measure in which quantities are used for the product in the sales order. |
ProductRequirementSpecificationKey | To identify a product requirement specification.It describes the collection of requirements for a corresponding product used in the item. It also contains the corresponding specifications for fulfilling these requirements. The product requirement specification must belong to the corresponding product in the item. |
In this sample xml, the request is to create a sales order with one product but with a different unit of measure (UoM) than of the default UoM.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <BuyerID>new_test</BuyerID> <Name languageCode="EN">new_test</Name> <DataOriginTypeCode>4</DataOriginTypeCode> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <Item> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> <UnitOfMeasure>XPX</UnitOfMeasure> </ItemProduct> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
An ItemScheduleLine is an agreement regarding when products of an item are requested or provided and in what amount.
Elements | Description |
---|---|
ID (mandatory during update if itemScheduleLineListCompleteTransmissionIndicator is false) | Unique identifier for an ItemScheduleLine assigned by the seller |
TypeCode (mandatory during update if itemScheduleLineListCompleteTransmissionIndicator is false) | Coded representation of the type of an ItemScheduleLine such as RequestedScheduleLine. Code Value Description: 1 Requested; 2 Confirmed; 3 Promised; 4 Planned; 5 Fulfilled; 6 Released; 7 Not Confirmed; 8 Simulated |
Quantity | Quantity with reference to TypeCode |
DateTimePeriod | Time period with reference to TypeCode. This element can be used to provide a requested start and end date time for the item. |
There are two ways to update an ItemScheduleLine. If the attribute itemScheduleLineListCompleteTransmissionIndicator is set as true at Item node, then the scheduleLine information can be very basic (that is, just the Quantity data). On setting this attribute, all existing ItemScheduleLine information are deleted and the ones passed in the requested are created.
Note: If the ItemScheduleLine information is passed for an item during the creation of the order, then the attribute itemScheduleLineListCompleteTransmissionIndicator of the parent node Item has to be set to true. This itemScheduleLine by default is created for TypeCode 1 (requested). The system always by default creates this node when the customer does not pass this information in the request. If this information is passed in the request, then by setting the said attribute to true, the when the order is created, the default node created by the system is deleted and replaced with the information passed in the request xml. <Item itemScheduleLineListCompleteTransmissionIndicator="true">
xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <ID>127369</ID> <Item itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>10</ID> <ItemScheduleLine> <Quantity>28</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemScheduleLine> <ID>1</ID> <TypeCode>1</TypeCode> <Quantity>18</Quantity> </ItemScheduleLine> </Item> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
ItemDeliveryTerms are item-specific agreements that apply for the delivery of goods and provision of services in the sales order.
This node follows the same consumption pattern as the sub-node DeliveryTerms of node SalesOrder.
Refer to Node - Delivery Terms for more information.
Attributes | Description |
---|---|
Action Code | Refer to the General section for more details |
Elements | Description |
---|---|
DeliveryPriorityCode | A coded representation of priority/urgency of delivery. Allowed Code Values: 1 Immediate; 2 Urgent; 3 Normal; 7 Low |
Incoterms | Incoterms are typical contract formulations for delivery conditions that correspond to the rules defined by the International Chamber of Commerce (ICC). |
PartialDeliveryControlCode | The partial delivery control specifies whether and in which form a customer allows partial deliveries. Allowed code values: 1 Multiple Deliveries; 2 Single on-time delivery; 3 Single delivery - full quantity; 4 Single delivery - full quantity of order; 5 Single on-time delivery of order; 6 Single on-time delivery of item; 7 Single delivery - full quantity of item; 8 Single on-time delivery - full quantity; 9 Single delivery |
ItemSalesTerms are item-specific agreements and conditions that apply for selling goods and services in the sales order.
This node follows the same structure and consumption pattern as the sub-node SalesTerms of node SalesOrder. Please refer to Node – SalesTerms for more details.
ItemServiceTerms are the item-specific conditions and agreements that apply for the execution of a service.
Elements | Description |
---|---|
ConfirmationRelevanceIndicator | Indicates whether this item is relevant for confirmation or not. |
EmployeeTimeConfirmationRelevanceIndicator | Indicates whether this item is relevant for employee time confirmation. |
ExpenseReportingConfirmationRelevanceIndicator | Indicates whether this item is relevant for confirmation via expense reporting. |
ServiceWorkingConditionsCode | The working conditions under which a service is to be provided. |
ServicePlannedDuration | Planned duration of service. |
ResourceID | Unique identification of the resource providing the service product. |
ProjectTaskID | Identifier of the project task the customer transaction document item is assigned to. The project task represents the task by which the service is executed. |
Ship from item location represents the location from which goods are supplied or a service is provided.
Elements | Description |
---|---|
LocationID | Identifier of the Location. |
An Accounting Coding Block Distribution is the distribution of coding blocks to enterprise resources changes, such as expenses or material movements. A coding block is a set of accounting objects to which an enterprise resource change is assigned. The resource change is ultimately valued in Accounting.
The assignment of a project task for an Accounting Coding Block Distribution to a coding block. In this way, it is a single value of the distribution.
Elements | Description |
---|---|
ProjectTaskKey | Unique identifier of the project task |
PriceAndTaxCalculationItem is the specification for price and tax determination and valuation using attributes that are characteristic or relevant for the Sales Order item.
This node follows the same structure and consumption pattern as the child-node PriceAndTaxCalculation of node SalesOrder. Please refer Node – PriceAndTaxCalculation for more details.
In addition to the structure of PriceAndTaxCalculation, PriceAndTaxCalculationItem has the following specialization
ItemMainDiscount (main discount value for the item)
ItemMainPrice (main price for the item)
A ItemTextCollection is a collection of all textual descriptions which are related to a Sales Order item. Each text can include formatting information.
This node follows the same structure and consumption pattern as the child-node TextCollection of node SalesOrder. Please refer Node – TextCollection for more details.
An ItemAttachmentFolder is the collection of all documents attached to a Sales Order item.
This node follows the same structure and consumption pattern as the child-node AttachmentFolder of node SalesOrder. Please refer to Node – AttachmentFolder for more details.
Using this you can create/update/delete customer contract reference at item level.
Attributes | Description |
---|---|
itemBusinessTransactionDocumentReferenceListCompleteTransmissionIndicator | Sub-node ItemBusinessTransactionDocumentReference is of multiple cardinality(but only contract reference is allowed) |
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ID | Customer Contract ID |
UUID | Customer Contract UUID (can be obtained using the query web service for customer contract) |
TypeCode | Customer Contract type code = 1092 (only this can be used) |
ItemID | The item ID of the contract to which the reference has to be done |
ItemUUID | The respective UUID of the contract item (can be obtained using the query web service for customer contract) |
ItemTypeCode | The respective item type code |
BusinessTransactionDocumentRelationshipRoleCode | Should be predecessor - 1 |
DataProviderIndicator | should be - false |
CroatiaBusinessSpaceID
Identifier of the business space from which customer invoices are issued.
CroatiaBillingMachineID
Identifier of the device used for billing or generating customer invoice.
CroatiaPaymentMethodCode
Represents the payment method supported by the legal authorization process.
Code Value | Description |
---|---|
C | Check |
G | Cash |
K | Credit Card |
O | Other |
T | Bank Transfer |
CroatiaPartyTaxID
This field represents the OIB or tax number of the operator who issues the customer invoice.
CroatiaParagonBillMark
It is the invoice number as in the pre-printed paper invoice. In case, the billing system is completely down, the company can issue invoices through pre-printed paper invoices. However, these details must be transferred to the tax authority CIS system later.
CroatiaSpecialNote
If it was necessary to issue and send the customer invoice to the legal authority in paper form, for example, due to technical reasons, enter the invoice number printed on the paper invoice when resending the electronic version.
The following is a sample XML for creating a simple consistent Sales Order with two Items, Account, BillTo and SalesUnit information.
<n0:SalesOrderBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <SalesOrder> <AccountParty> <PartyID>MC9785</PartyID> </AccountParty> <BillToParty> <PartyID>MC6049</PartyID> </BillToParty> <BuyerID>ExternalReference_101</BuyerID> <Name>SalesOrder_Description_test</Name> <ReleaseCustomerRequest>true</ReleaseCustomerRequest> <PostingDate>2011-10-13T15:30:00Z</PostingDate> <DataOriginTypeCode>4</DataOriginTypeCode> <Item> <ID>10</ID> <ItemProduct> <ProductInternalID>MCF-0001</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <Item> <ID>20</ID> <ItemProduct> <ProductInternalID>MCF-0036</ProductInternalID> </ItemProduct> <ItemScheduleLine> <Quantity>5</Quantity> </ItemScheduleLine> </Item> <RequestedFulfillmentPeriodPeriodTerms> <StartDateTime timeZoneCode="UTC">2011-11-20T00:00:00Z</StartDateTime> </RequestedFulfillmentPeriodPeriodTerms> </SalesOrder> </n0:SalesOrderBundleMaintainRequest_sync>
Release | Change Description | Details |
1908 | Documentation change | Added Croatia Legal Authorization Fields to request message of MaintainBundle and CheckMaintainBundle |
2005 | Request Payload updated | Added "ProductTypeCode" tag under ItemProduct field to request message of MaintainBundle and CheckMaintainBundle |
2005 | Request Payload updated | Added "SendConfirmationIndicator" tag |
2005 | Price Component CRUD operations | Enhanced the functioanliy at document and item level to perform Create, update and delete operations on the price components |
2008 | Request payload update | Contract reference for sales order item can be created/updated/deleted |