Description | Manage Customer Invoice Requests (Deprecated) |
Name | ManageCustomerInvoiceRequestIn |
Namespace | http://sap.com/xi/AP/CustomerInvoicing/Global |
Process Component Description | Customer Invoice Processing |
Process Component Name | CustomerInvoiceProcessing |
Process Component Namespace | http://sap.com/xi/AP/CustomerInvoicing/Global |
Deployment Unit Description | Customer Invoicing |
Endpoint Activation | By Scoping of Process Component | Operations |
Release Status | Deprecated |
An interface to replicate or create customer invoice requests from a source system or file to a target system.
This web-service is used to create or modify existing Customer Invoice Requests.
It has the MaintainBundle and the CheckMaintainBundle operations. The MaintainBundle is used to create or update one or more instances of the Customer Invoice Request. The CheckMaintainBundle is used to check if the one or more instances of the Customer Invoice Request can be maintained.
Example
<n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221317</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-INVREQ-001</BaseBusinessTransactionDocumentID> <Name>FirstInvoice</Name> <ProposedInvoiceDate>2012-09-09</ProposedInvoiceDate> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> <Product> <InternalID>MCF-0001</InternalID> <TypeCode>1</TypeCode> </Product> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTax> <PriceComponent> <TypeCode listID="2">7PR1</TypeCode> <CategoryCode>1</CategoryCode> <PurposeCode>1000</PurposeCode> <MajorLevelOrdinalNumberValue>10</MajorLevelOrdinalNumberValue> <MinorLevelOrdinalNumberValue>1</MinorLevelOrdinalNumberValue> <Rate> <DecimalValue>100</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> <CalculationBasis> <BaseCode>3</BaseCode> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <Amount currencyCode="USD">0</Amount> </CalculationBasis> <CalculatedAmount currencyCode="USD">0</CalculatedAmount> <RoundingDifferenceAmount currencyCode="USD">0</RoundingDifferenceAmount> <EffectiveIndicator>true</EffectiveIndicator> <ManuallyChangedIndicator>true</ManuallyChangedIndicator> <GroupedIndicator/> <OriginCode>2</OriginCode> <PriceSpecificationUUID/> <PriceSpecificationDeterminationTimePoint> <TypeCode>1</TypeCode> <Date>2010-09-02</Date> </PriceSpecificationDeterminationTimePoint> </PriceComponent> </PriceAndTax> <ProductTaxDetails> <ProductTaxationCharacteristicsCode listID="US">501</ProductTaxationCharacteristicsCode> <ProductTax> <CountryCode>US</CountryCode> </ProductTax> <TransactionCurrencyProductTax> <CountryCode>US</CountryCode> </TransactionCurrencyProductTax> </ProductTaxDetails> <TaxationTerms> <TaxDate>2010-09-20</TaxDate> </TaxationTerms> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1600</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </Item> </CustomerInvoiceRequest> </n0:CustomerInvoiceRequsetBundleMaintainRequest_sync>
For an account to be used in a Customer Invoice Request the Sales Arrangement needs to be maintained otherwise currency will not be determined.
Due to the stateless behavior of the A2X service operations there is no possibility of enforcing any kind of transactional or logical locking. Despite that, clients may require to at least enforce a modifying operation that is not executed because the state of the underlying business object instance in the database has changed ever since the client read its data. To this end, the notion of the change state identifier (ChangeStateID) has been introduced. From the point of view of the client, is it an uninterpretable string that is provided by all operations and may be consumed by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business object instance in the database has changed ever since the change state identifier was computed. That means specifying the change state identifier enables the client to implement optimistic locking. The only thing that is guaranteed is that the content of the string changes when the content of the business object changes. The reverse is not necessarily true and must not be accounted on.
If the change state identifier is specified and the specified value for a business object instance is different from the actual value computed from the database, and error message with the value SBM.SBM.CSM (change state mismatch, defined by the constant IF_ESI_MESSAGE_SYMPTOMS=> CO_SRVC_BO_CHNG_STATE_MISMATCH) in the element LogItem.LogItemCategoryCode shall be returned for that business object instance.
Action Code is a coded representation of an instruction to the recipient of a message telling it how to process a transmitted node/element. It is modeled as an attribute (Attribute name: actionCode) in every structure element of the message payload.
List of available action codes
ActionCode | Description |
---|---|
04 | Save - Create/Update |
05 | Remove |
06 | No action (check) |
Using strict semantics, therefore, requires that the sender has and uses information about the messages it has already sent.
The ActionCodes 04 (Save) and 05 (Remove) model soft semantics that do not lead to errors if the respective nodes/elements do not exist at the recipient. These soft semantics, therefore, do not require that the sender has and uses information about the messages it has already sent.
Note: If no ActionCode is provided for a respective node, the system defaults to value 04.
A technical node identifier of an object or object node, is assigned by a party. The ObjectNodeSenderTechnicalID is used as a generic identifier to any object or object node, even if the technical node identifier is the only available identifier. The ObjectNodeSenderTechnicalID is used for certains where the cardinality is 0 - *. For example, Item node cardinality is from 0 - *, for each individual item node the consumer can provide a unique ObjectNodeSenderTechnicalID to identify that item node and read its specific error or warning messages from the response message.
For certain nodes with cardinality from 0 - *, the UUID / TechnicalIDs are used as identifier for each of the respective nodes.
For an element, to indicate whether it has been transmitted completely.The ListCompleteTransmissionIndicator is an attribute of the element.If set to true, all the child elements of this element are transferred. Child elements that are not transferred in the message are implicitly regarded at the recipient as deleted.
If it is set to false, child elements that are not transferred are regarded as unchanged. In this case, child elements can be deleted only with an appropriate ActionCode. Deleting child elements by transferring empty tags <TagName/> or initial values <TagName>0.0</TagName> is expressly not allowed. A sender should not send empty or initial tags and a receiver must process empty or initial tags as if the tags had not been transferred.
For example: The Customer Invoice Request node has an itemListCompleteTransmissionIndicator. If Customer Invoice Request has 100 items in the system and the consumer is trying to update only two items and sets this attribute to true. Then the system will only update those two items present in the request and delete the rest 98 items in the Invoice Request.
Note: The ListCompleteTransmissionIndicator is available only for child nodes with cardinality 0 - * (multiple). And if there such a child node, then that child node‟s name will preceed the ListCompleteTransmissionIndicator name and be added as an attribute to the parent node.
For example, Customer Invoice Request node has the attribute itemListCompleteTransmissionIndicator as the child node Item has multiple cardinality.
Items of type kit are currently not supported via this service.
You can find general information about Web services, their structure and consumption in the Web Services documentation.
In the following scenario, we are creating two (i.e. multiple)Customer Invoice Requests in one request. The values like proposed Invoice Date , Description and External Reference (Reference Business Transaction ID) entered in the XML can be found in the General Information of Invoice Request on UI.
Request
<n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-FIRSTINV-001</BaseBusinessTransactionDocumentID> <Name>Arjun</Name> <ProposedInvoiceDate>2012-11-11</ProposedInvoiceDate> <ReferenceBusinessTransactionDocumentID>EXTREF1</ReferenceBusinessTransactionDocumentID> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> <Product> <InternalID>MCF-0001</InternalID> <TypeCode>1</TypeCode> </Product> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTax> <PriceComponent> <TypeCode listID="2">7PR1</TypeCode> <CategoryCode>1</CategoryCode> <PurposeCode>1000</PurposeCode> <MajorLevelOrdinalNumberValue>10</MajorLevelOrdinalNumberValue> <MinorLevelOrdinalNumberValue>1</MinorLevelOrdinalNumberValue> <Rate> <DecimalValue>100</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> <CalculationBasis> <BaseCode>3</BaseCode> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <Amount currencyCode="USD">0</Amount> </CalculationBasis> <CalculatedAmount currencyCode="USD">0</CalculatedAmount> <RoundingDifferenceAmount currencyCode="USD">0</RoundingDifferenceAmount> <EffectiveIndicator>true</EffectiveIndicator> <ManuallyChangedIndicator>true</ManuallyChangedIndicator> <GroupedIndicator/> <OriginCode>2</OriginCode> <PriceSpecificationUUID/> <PriceSpecificationDeterminationTimePoint> <TypeCode>1</TypeCode> <Date>2010-09-02</Date> </PriceSpecificationDeterminationTimePoint> </PriceComponent> </PriceAndTax> <ProductTaxDetails> <ProductTaxationCharacteristicsCode listID="US">501</ProductTaxationCharacteristicsCode> <ProductTax> <CountryCode>US</CountryCode> </ProductTax> <TransactionCurrencyProductTax> <CountryCode>US</CountryCode> </TransactionCurrencyProductTax> </ProductTaxDetails> <TaxationTerms> <TaxDate>2010-09-20</TaxDate> </TaxationTerms> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1600</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </Item> </CustomerInvoiceRequest> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-SECONDINV-002</BaseBusinessTransactionDocumentID> <Name>Suresh</Name> <ProposedInvoiceDate>2012-09-09</ProposedInvoiceDate> <ReferenceBusinessTransactionDocumentID>EXTREF2</ReferenceBusinessTransactionDocumentID> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> <Product> <InternalID>MCF-0001</InternalID> <TypeCode>1</TypeCode> </Product> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTax> <PriceComponent> <TypeCode listID="2">7PR1</TypeCode> <CategoryCode>1</CategoryCode> <PurposeCode>1000</PurposeCode> <MajorLevelOrdinalNumberValue>10</MajorLevelOrdinalNumberValue> <MinorLevelOrdinalNumberValue>1</MinorLevelOrdinalNumberValue> <Rate> <DecimalValue>100</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> <CalculationBasis> <BaseCode>3</BaseCode> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <Amount currencyCode="USD">0</Amount> </CalculationBasis> <CalculatedAmount currencyCode="USD">0</CalculatedAmount> <RoundingDifferenceAmount currencyCode="USD">0</RoundingDifferenceAmount> <EffectiveIndicator>true</EffectiveIndicator> <ManuallyChangedIndicator>true</ManuallyChangedIndicator> <GroupedIndicator/> <OriginCode>2</OriginCode> <PriceSpecificationUUID/> <PriceSpecificationDeterminationTimePoint> <TypeCode>1</TypeCode> <Date>2010-09-02</Date> </PriceSpecificationDeterminationTimePoint> </PriceComponent> </PriceAndTax> <ProductTaxDetails> <ProductTaxationCharacteristicsCode listID="US">501</ProductTaxationCharacteristicsCode> <ProductTax> <CountryCode>US</CountryCode> </ProductTax> <TransactionCurrencyProductTax> <CountryCode>US</CountryCode> </TransactionCurrencyProductTax> </ProductTaxDetails> <TaxationTerms> <TaxDate>2010-09-20</TaxDate> </TaxationTerms> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1600</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </Item> </CustomerInvoiceRequest> </n0:CustomerInvoiceRequsetBundleMaintainRequest_sync>
Response
<nm:CustomerInvoiceRequestBundleMaintainConfirmation_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSC:/1SAI/TAS109EC4EBEFCF027BC4C1:804"> <CustomerInvoiceRequestMaintainConfirmationBundleInvoiceReq> <ReferenceObjectNodeSenderTechnicalID>13221314</ReferenceObjectNodeSenderTechnicalID> <ChangeStateID>20121125083607.0000000</ChangeStateID> <UUID>00163e02-9074-1ee2-8dda-ceaf1da6aefd</UUID> <BaseBusinessTransactionDocumentID>SKR-SECONDINV-002</BaseBusinessTransactionDocumentID> </CustomerInvoiceRequestMaintainConfirmationBundleInvoiceReq> <CustomerInvoiceRequestMaintainConfirmationBundleInvoiceReq> <ReferenceObjectNodeSenderTechnicalID>13221314</ReferenceObjectNodeSenderTechnicalID> <ChangeStateID>20121125083607.0000000</ChangeStateID> <UUID>00163e02-9074-1ee2-8dda-ceaf1da6cefd</UUID> <BaseBusinessTransactionDocumentID>SKR-FIRSTINV-001</BaseBusinessTransactionDocumentID> </CustomerInvoiceRequestMaintainConfirmationBundleInvoiceReq> <Log> <MaximumLogItemSeverityCode>2</MaximumLogItemSeverityCode> <Item> <TypeID>803(/APCI_BO_CUST_INV_REQ/)</TypeID> <CategoryCode>INC.BOI</CategoryCode> <SeverityCode>2</SeverityCode> <ReferenceObjectNodeSenderTechnicalID>13221314</ReferenceObjectNodeSenderTechnicalID> <Note>Project assignment already existing. Cannot create a second one</Note> </Item> <Item> <TypeID>351(/APCI_BO_CUST_INV_REQ/)</TypeID> <CategoryCode>INC.BOI</CategoryCode> <SeverityCode>1</SeverityCode> <ReferenceObjectNodeSenderTechnicalID>13221314</ReferenceObjectNodeSenderTechnicalID> <Note>Payment terms not determined; maintain sales arrangement</Note> </Item> </Log> </nm:CustomerInvoiceRequestBundleMaintainConfirmation_sync>
In the following scenario, we are creating one Customer Invoice Request with one item and then updating the same customer invoice request with the Quantity, Price information (Rate of Items) and Tax information ( Tax type Code and Tax Date).
The Quantity and Price update can be found in the items tab for the item. The tax code update and tax date update can be found in the tax tab(sub tab) under that item in the items tab.
NOTE : The price and tax information can be only updated for the products for those price & tax information is not maintained in master data. If they are maintained, we can only change the Quantity for that item. Even if the customer enters a price value of item for which master data is maintained , value in xml is not considered , the value in master data is considered for price calculations.
Request- Create
<n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-CREATEONE-05</BaseBusinessTransactionDocumentID> <Name>Shankar</Name> <ProposedInvoiceDate>2012-05-05</ProposedInvoiceDate> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> <Product> <InternalID>MCF-0001-MIN</InternalID> <TypeCode>1</TypeCode> </Product> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTax> <PriceComponent> <TypeCode listID="2">7PR1</TypeCode> <CategoryCode>1</CategoryCode> <PurposeCode>1000</PurposeCode> <MajorLevelOrdinalNumberValue>10</MajorLevelOrdinalNumberValue> <MinorLevelOrdinalNumberValue>1</MinorLevelOrdinalNumberValue> <Rate> <DecimalValue>100</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> <CalculationBasis> <BaseCode>3</BaseCode> <Quantity unitCode="EA">5.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <Amount currencyCode="USD">0</Amount> </CalculationBasis> <CalculatedAmount currencyCode="USD">0</CalculatedAmount> <RoundingDifferenceAmount currencyCode="USD">0</RoundingDifferenceAmount> <EffectiveIndicator>true</EffectiveIndicator> <ManuallyChangedIndicator>true</ManuallyChangedIndicator> <GroupedIndicator/> <OriginCode>2</OriginCode> <PriceSpecificationUUID/> <PriceSpecificationDeterminationTimePoint> <TypeCode>1</TypeCode> <Date>2010-09-02</Date> </PriceSpecificationDeterminationTimePoint> </PriceComponent> </PriceAndTax> <ProductTaxDetails> <ProductTaxationCharacteristicsCode listID="US">501</ProductTaxationCharacteristicsCode> <ProductTax> <CountryCode>US</CountryCode> </ProductTax> <TransactionCurrencyProductTax> <CountryCode>US</CountryCode> </TransactionCurrencyProductTax> </ProductTaxDetails> <TaxationTerms> <TaxDate>2010-09-20</TaxDate> </TaxationTerms> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1600</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </Item> </CustomerInvoiceRequest> </n0:CustomerInvoiceRequsetBundleMaintainRequest_sync>
Request - Update
<n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-CREATEONE-05</BaseBusinessTransactionDocumentID> <Name>Shankar</Name> <ProposedInvoiceDate>2012-05-05</ProposedInvoiceDate> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> <Product> <InternalID>MCF-0001-MIN</InternalID> <TypeCode>1</TypeCode> </Product> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <!--Quantity Update change in calculation basis --> <Quantity unitCode="EA">8.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTax> <PriceComponent> <TypeCode listID="2">7PR1</TypeCode> <CategoryCode>1</CategoryCode> <PurposeCode>1000</PurposeCode> <MajorLevelOrdinalNumberValue>10</MajorLevelOrdinalNumberValue> <MinorLevelOrdinalNumberValue>1</MinorLevelOrdinalNumberValue> <Rate> <!--Price Change for the item--> <DecimalValue>250</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> <CalculationBasis> <BaseCode>3</BaseCode> <!--Quantity Update change in calculation basis --> <Quantity unitCode="EA">8.5</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <Amount currencyCode="USD">0</Amount> </CalculationBasis> <CalculatedAmount currencyCode="USD">0</CalculatedAmount> <RoundingDifferenceAmount currencyCode="USD">0</RoundingDifferenceAmount> <EffectiveIndicator>true</EffectiveIndicator> <ManuallyChangedIndicator>true</ManuallyChangedIndicator> <GroupedIndicator/> <OriginCode>2</OriginCode> <PriceSpecificationUUID/> <PriceSpecificationDeterminationTimePoint> <TypeCode>1</TypeCode> <Date>2010-09-02</Date> </PriceSpecificationDeterminationTimePoint> </PriceComponent> </PriceAndTax> <ProductTaxDetails> <!-- Tax Code Update --> <ProductTaxationCharacteristicsCode listID="US">502</ProductTaxationCharacteristicsCode> <ProductTax> <CountryCode>US</CountryCode> </ProductTax> <TransactionCurrencyProductTax> <CountryCode>US</CountryCode> </TransactionCurrencyProductTax> </ProductTaxDetails> <TaxationTerms> <!--This is the tax date update--> <TaxDate>2011-05-15</TaxDate> </TaxationTerms> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1600</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </Item> </CustomerInvoiceRequest> </n0:CustomerInvoiceRequsetBundleMaintainRequest_sync>
In the following scenario, we show sample requests of how a customer invoice request can be cancelled / blocked / uncancelled / unblocked or how an item in Invoice Request can be cancelled / blocked / uncancelled / unblocked.
Request- Cancel/Uncancel the CIR
<!-- This is only part of xml explaining the indicator --> <n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-CREATEONE-05</BaseBusinessTransactionDocumentID> <Name>Shankar</Name> <!--If this indicator is set to true, items will be cancelled and CIR will be in processed state --> <!--If this indicator is set to false for a CIR with items that is cancelled both items and CIR will be back to 'To Be Invoiced' state--> <BaseCancelledIndicator>true</BaseCancelledIndicator> <ProposedInvoiceDate>2012-05-05</ProposedInvoiceDate> <Item> </Item> </CustomerInvoiceRequest>
Request - Block / UnBlock the CIR
<!-- This is only part of xml explaining the indicator --> <n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-CREATEONE-05</BaseBusinessTransactionDocumentID> <Name>Shankar</Name> <!--If this indicator is set to true, items will be blocked and CIR will be in blocked state --> <!--If this indicator is set to false for a blocked CIR, both items and CIR will be back to 'To Be Invoiced' state--> <SettlementBlockedIndicator>true</SettlementBlockedIndicator> <BaseCancelledIndicator>false</BaseCancelledIndicator> <ProposedInvoiceDate>2012-05-05</ProposedInvoiceDate> <Item> </Item> </CustomerInvoiceRequest>
Request - Cancel/Block/Uncancel/Unblock Item in CIR
<!-- This is only part of xml explaining the indicator --> <n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221314</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-CREATEONE-05</BaseBusinessTransactionDocumentID> <Name>Shankar</Name> <SettlementBlockedIndicator>false</SettlementBlockedIndicator> <BaseCancelledIndicator>false</BaseCancelledIndicator> <ProposedInvoiceDate>2012-05-05</ProposedInvoiceDate> <BuyerParty> <InternalID>MC9785</InternalID> </BuyerParty> <SalesUnitParty> <InternalID>MC45000</InternalID> </SalesUnitParty> <SalesAndServiceBusinessArea> <DistributionChannelCode>02</DistributionChannelCode> </SalesAndServiceBusinessArea> <EmployeeResponsibleParty> <InternalID>MC2471</InternalID> </EmployeeResponsibleParty> <PricingTerms> <PricingProcedureCode listID = "2">PPSTD1</PricingProcedureCode> <CurrencyCode>USD</CurrencyCode> </PricingTerms> <Item actionCode="04"> <BaseBusinessTransactionDocumentItemID>10</BaseBusinessTransactionDocumentItemID> <BaseBusinessTransactionDocumentItemTypeCode>002</BaseBusinessTransactionDocumentItemTypeCode> <SettlementRelevanceIndicator>true</SettlementRelevanceIndicator> <!-- If this indicator is set to true, Item will be cancelled , if there are other items to be invoiced,header will be in to be invoiced state--> <!-- If this indicator is set to false, Item will be uncancelled , depending on other items header status will be recalculated --> <BaseItemCancelledIndicator>false</BaseItemCancelledIndicator> <!-- If this indicator is set to true, Item will be blocked , even if there are other items to be invoiced,header will be in to be partially blocked state--> <!-- If this indicator is set to false, Item will be unblocked , depending on other items header status will be recalculated --> <SettlementBlockedIndicator>false</SettlementBlockedIndicator> <ReceivablesPropertyMovementDirectionCode>2</ReceivablesPropertyMovementDirectionCode> </Item> </CustomerInvoiceRequest>
This interface supports extensibility
Example
The interface supports extensibility at the header level and at the item level. Once the extension fields exist in the BO then values for those fields can be passed in the xml.
If new extension fields are added and values for them also have to be passed via the request xml , download the WSDL file which gives clear example of how to add extensible field tags in the xml.
Request - Extension Fields
<!-- This is only part of xml explaining the extesnion field tags --> <n0:CustomerInvoiceRequsetBundleMaintainRequest_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BusinessDocumentBasicMessageHeader/> <CustomerInvoiceRequest actionCode="04" itemListCompleteTransmissionIndicator="true"> <ObjectNodeSenderTechnicalID>13221476</ObjectNodeSenderTechnicalID> <BaseBusinessTransactionDocumentID >SKR-NSWTEST-001</BaseBusinessTransactionDocumentID> <Name>IndrakantiKamesh</Name> <ProposedInvoiceDate>2012-09-09</ProposedInvoiceDate> <Item> <n1:EXTAJ00163E02E6641EE28AABFEC5B3C4CB4A xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/ZZZZZ">Arjun</n1:EXTAJ00163E02E6641EE28AABFEC5B3C4CB4A> </Item> <n1:EXTDemoExtensionField00163E02E6621EE1BEE5F9C5D314424E xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/ZZZZZ">Aravinda</n1:EXTDemoExtensionField00163E02E6621EE1BEE5F9C5D314424E> </CustomerInvoiceRequest> </n0:CustomerInvoiceRequsetBundleMaintainRequest_sync>
Description | Check customer invoice requests (deprecated) |
Name | CheckBundleMaintenance |
Synchronous | yes |
Release Status | Deprecated |
To check whether one or more customer invoice requests can be maintained using imported structured data.
The Manage Customer Invoice Request In Check Maintain Bundle inbound operation checks whether one or more invoice requests can be maintained in the target system.
Description | Maintain customer invoice requests (deprecated) |
Name | MaintainAsBundle |
Synchronous | yes |
Release Status | Deprecated |
To maintain one or more customer invoice requests using imported structured data.