cancel
Showing results for 
Search instead for 
Did you mean: 

How to use AccountingEntryReplicationIn?

georgk
Participant
0 Kudos

Dear experts,

we would like to use the asynchronous SOAP webservice AccountingEntryReplication but are struggeling with some tricky error messages.

Currently, we are stuck with "Invalid Internal ID" error message. I'm not sure which internal ID this error message refers to. I hope you can help me out or provide an example that worked for you.

Do you know which ID the error message refers to?

Is there any documentation available for this webservice?

The one you get from the communication arrangement only contains the text "An interface to replicate accouting entries.".

We try to send the following request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
   <soapenv:Header/>
   <soapenv:Body>
      <glob:AccountingEntryBundleReplicateRequest>
         <MessageHeader>
         	  <CreationDateTime>2018-04-05T11:37:00Z</CreationDateTime>
         </MessageHeader>
         <!--1 or more repetitions:-->
         <AccountingEntry>
         
            <ObjectNodeSenderTechnicalID>1</ObjectNodeSenderTechnicalID>
            
            <ExternalID>470000000001</ExternalID>
            <!--Optional:-->
            <CompanyID>2423</CompanyID>
            <!--Optional:-->
            <Note languageCode="DE">GK1 header note</Note>
            
            <!-- 0047 = Manual Posting - Journal Entry Voucher -->
            <AccountingDocumentTypeCode>00047</AccountingDocumentTypeCode>
 
            <PostingDate>2018-04-05</PostingDate>
            
            <!-- 701 = General Ledger Posting from External System-->
            <BusinessTransactionTypeCode>701</BusinessTransactionTypeCode>
            <!--Optional:-->
            <TransactionCurrencyCode>EUR</TransactionCurrencyCode>


            <!--1 or more repetitions:-->
            <Item>
               <!--Optional:-->
               <ObjectNodeSenderTechnicalID>2</ObjectNodeSenderTechnicalID>
               <!-- 1 = Debit, 2 = Credit-->
               <DebitCreditCode>2</DebitCreditCode>
               <ChartOfAccountsItemCode listID="HSNL">09750</ChartOfAccountsItemCode>
               <Note languageCode="DE">TestGK - credit</Note>
               <SubledgerAccountTypeCode>10</SubledgerAccountTypeCode>
               <TransactionCurrencyAmount currencyCode="EUR">1000</TransactionCurrencyAmount>
            </Item>
            <Item>
               <!--Optional:-->
               <ObjectNodeSenderTechnicalID>3</ObjectNodeSenderTechnicalID>
               <!-- 1 = Debit, 2 = Credit-->
               <DebitCreditCode>1</DebitCreditCode>
               <ChartOfAccountsItemCode listID="HSNL">22343</ChartOfAccountsItemCode>
               <Note languageCode="DE">TestGK - debit</Note>
               <SubledgerAccountTypeCode>09</SubledgerAccountTypeCode>
               <TransactionCurrencyAmount currencyCode="EUR">1000</TransactionCurrencyAmount>
               <OverheadCostsLedgerAccountItem>
                  <CostCentreID>2423-01-07</CostCentreID>
               </OverheadCostsLedgerAccountItem>
            </Item>
            <SetOfBooks>
               <SetOfBooksID>8030</SetOfBooksID>
            </SetOfBooks>
         </AccountingEntry>
      </glob:AccountingEntryBundleReplicateRequest>
   </soapenv:Body>
</soapenv:Envelope>

Thanks and best regards,

Georg

Accepted Solutions (1)

Accepted Solutions (1)

knutheusermann
Product and Topic Expert
Product and Topic Expert

Hi Georg,

Basically, there are two interfaces which could be used for your purpose:

  • The interface AccountingEntryReplicationIn (communication scenario "Journal Entry Voucher Integration") creates journal entry vouchers.
  • The interface ManageJournalEntryIn can be used to create financial transactions of various types incl. the possibility to post journal entries with items on cost centers.

Using interface AccountingEntryReplicationIn you need to provide an A2A message header.

Please check the following example xml:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global">
	<soapenv:Header/>
	<soapenv:Body>
		<glob:AccountingEntryBundleReplicateRequest>
			<MessageHeader>
				<ID>KHAER201609</ID>
				<CreationDateTime>2016-09-30T12:00:00.000000Z</CreationDateTime>
				<SenderBusinessSystemID>_LOCAL_SYSTEM_ALIAS_SAP_INTERNAL_CONSTANT_VALUE_</SenderBusinessSystemID>
				<RecipientBusinessSystemID>_LOCAL_SYSTEM_ALIAS_SAP_INTERNAL_CONSTANT_VALUE_</RecipientBusinessSystemID>
				<BusinessScope>
					<TypeCode listID="25201" listAgencyID="310">2</TypeCode>
					<ID schemeID="10555" schemeAgencyID="310">16</ID>
				</BusinessScope>
				<BusinessScope>
					<TypeCode listID="25201" listAgencyID="310">3</TypeCode>
					<ID schemeID="10555" schemeAgencyID="310">264</ID>
				</BusinessScope>
			</MessageHeader>
			<AccountingEntry>
				<ExternalID>KH_EXT_20160930-6</ExternalID>
				<CompanyID>MC10000</CompanyID>
				<Note languageCode="EN">Header Note</Note>
				<AccountingDocumentTypeCode>00047</AccountingDocumentTypeCode>
				<EntryDate>2016-09-30</EntryDate>
				<PostingDate>2016-09-30</PostingDate>
				<CurrencyConversionDate>2016-09-30</CurrencyConversionDate>
				<AccountingClosingStepCode>10</AccountingClosingStepCode>
				<BusinessTransactionTypeCode>601</BusinessTransactionTypeCode>
				<TransactionCurrencyCode>USD</TransactionCurrencyCode>
				<DraftIndicator>false</DraftIndicator>
				<Item>
					<ObjectNodeSenderTechnicalID>I1</ObjectNodeSenderTechnicalID>
					<ItemGroupID>IG1</ItemGroupID>
					<DebitCreditCode>1</DebitCreditCode>
					<ChartOfAccountsItemCode>500300</ChartOfAccountsItemCode>
					<Note languageCode="EN">Item 10 note</Note>
					<TransactionCurrencyAmount currencyCode="USD">3</TransactionCurrencyAmount>
					<OverheadCostsLedgerAccountItem>
						<ObjectNodeSenderTechnicalID>O1</ObjectNodeSenderTechnicalID>
						<CostCentreID>MC41000</CostCentreID>
					</OverheadCostsLedgerAccountItem>
				</Item>
				<Item>
					<ObjectNodeSenderTechnicalID>I2</ObjectNodeSenderTechnicalID>
					<ItemGroupID>IG1</ItemGroupID>
					<DebitCreditCode>2</DebitCreditCode>
					<ChartOfAccountsItemCode>510000</ChartOfAccountsItemCode>
<!--					<ChartOfAccountsItemCode>117000</ChartOfAccountsItemCode> -->
					<Note languageCode="EN">Item 20 note</Note>
					<TransactionCurrencyAmount currencyCode="USD">3</TransactionCurrencyAmount>
					<OverheadCostsLedgerAccountItem>
						<ObjectNodeSenderTechnicalID>O1</ObjectNodeSenderTechnicalID>
						<CostCentreID>MC41000</CostCentreID>
					</OverheadCostsLedgerAccountItem>
				</Item>
				<SetOfBooks>
					<ObjectNodeSenderTechnicalID>SOB1</ObjectNodeSenderTechnicalID>
					<SetOfBooksID>0001</SetOfBooksID>
				</SetOfBooks>
			</AccountingEntry>
		</glob:AccountingEntryBundleReplicateRequest>
	</soapenv:Body>
</soapenv:Envelope>

Best regards,
Knut

former_member200567
Active Contributor
0 Kudos

Hi Knut,

We cannot find it in both Service Explorer and Communication Arrangement.

Any scoping needed to activate the service?

Best Regards,

Fred

knutheusermann
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Fred,

the communication scenario "Journal Entry Voucher Integration" and the interface ManageJournalEntryIn are available if you activated General Ledger in your solution scope.

Best regards,
Knut

Answers (1)

Answers (1)

georgk
Participant
0 Kudos

Thank you for your answer! The call goes through perfectly.

knut.heusermann do know any limitations of the interface? Our customer would like to transfer an AccountingEntry with roughly 50,000 lines and we seem to get out of memory errors such as: "Unable to fulfil request for 3488 bytes of memory space.".

Thanks and best regards,

Georg