Buchen Beleg per BAPI BAPI_ACC_DOCUMENT_POST
Das nachfolgende Coding dient als Hilfestellung, wie der BAPI BAPI_ACC_DOCUMENT_POST mit Daten zu versorgen ist, damit er funzt. Hier haben sich nämlich schon etliche nicht-FI-kundige Entwickler die Ohren gebrochen...
Weiter unten sind 4 Beispielcodings zu diesem Themenkomplex aufgeführt:
- Einfache Sachkontenbuchung ohne Steuer.
- Debitorische Buchung mit normaler Ausgangssteuer
- Kreditorische Buchung mit Reverse Charge-Steuer, also mit zwei Steuerzeilen (Stichwort ESE/ESA).
- Erhaltene Anzahlung (debitorisch) mit Steuer und separater Übergabe in Beleg- und Hauswährung
UPDATE: Im Beratungshinweis "2083799 - Sammelhinweis: Buchungen mit Rechnungswesen-BAPIs" finden sich über das unten beschriebene hinaus wertvolle Informationen und weitere Beispiele.
*&---------------------------------------------------------------------*
*& Report YTEST_SIMPLE_POST
*&
*&---------------------------------------------------------------------*
*& Demoprogramm zur Erläuterung der Aufrufparameter für das BAPI
*& BAPI_ACC_DOCUMENT_POST
*&---------------------------------------------------------------------*
REPORT ytest_simple_post.
* Beispieldaten für Beleginhalte
DATA: bukrs TYPE bukrs VALUE '1000', "Buchungskreis
hkonts TYPE hkont VALUE '0000047011', "Konto Soll
hkonth TYPE hkont VALUE '0000047012', "Konto Haben
waers TYPE waers VALUE 'EUR', "Belegwährung
wrbtr TYPE wrbtr VALUE 100, "Betrag
sgtxt TYPE sgtxt VALUE 'Test', "Belegpos.text
kostl TYPE kostl VALUE '0000001000', "Kostenstelle
zuonr TYPE dzuonr VALUE '23456', "Zuordnung
xblnr TYPE xblnr VALUE 'REFERENZ', "Referenznummer
blart type blart value 'SA', "Belegart
docnum TYPE belnr_d. "Belegnummer
* Schnittstellendaten für Verbuchungs-BAPI
DATA:
* Returnparameter des BAPIs
l_obj_type TYPE bapiache09-obj_type, "Objekttyp
* Objejktschlüssel erhält vom BAPI die Belegidentifikation:
* NNNNNNNNNNYYYYBBBB N = Belegnummer, Y = GJahr, B = Buchungskreis
l_obj_key TYPE bapiache09-obj_key, "Objektschlüssel
l_obj_sys TYPE bapiache09-obj_sys, "log. System
* Belegkopf
ls_documentheader TYPE bapiache09,
* Sachkontenpositionen
lit_accountgl TYPE TABLE OF bapiacgl09,
ls_accountgl TYPE bapiacgl09,
* Steuerzeilen (in vorliegendem Bsp. nicht relevant)
lit_accounttax TYPE TABLE OF bapiactx09,
ls_accounttax TYPE bapiactx09,
* Betragsinformationen
lit_currencyamount TYPE TABLE OF bapiaccr09,
ls_currencyamount TYPE bapiaccr09,
* Meldungen des BAPI's
lit_return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2.
DATA:
l_itemno TYPE posnr_acc. "Postionsnummer (s.u.)
*-----------------------------------------------------------------------
* Initialisierung
*-----------------------------------------------------------------------
CLEAR: lit_accountgl[],
lit_accounttax[],
lit_currencyamount[],
lit_return[].
*-----------------------------------------------------------------------
* Positionsnummer (fängt bei 1 an und wird pro Belegpos. um 1 inkr.)
* Hinweis: Es können auch 10er Schritte verwendet werden, wichtig ist
* nur eins: Die Einträge der Tabellen l_accountgl und
* l_currencyamount finden über den jeweiligen Inhalt des Felds
* itemno_acc 'zueinander', d.h. anders ausgedrückt:
* Für jede Belegposition muss jeweils ein Eintrag in den
* genannten Tabellen mit identischer itemno_acc aufgenommen
* werden.
*-----------------------------------------------------------------------
l_itemno = 1.
*-----------------------------------------------------------------------
* Belegkopf
*-----------------------------------------------------------------------
CLEAR ls_documentheader.
ls_documentheader-bus_act = 'RFBU'. "Vorgang (fix)
ls_documentheader-username = sy-uname. "Belegerfasser
ls_documentheader-comp_code = bukrs. "Buchungskreis
ls_documentheader-doc_date = sy-datum. "Belegdatum
ls_documentheader-pstng_date = sy-datum. "Buchungsdatum
ls_documentheader-ref_doc_no = xblnr. "Referenznummer
ls_documentheader-doc_type = blart. "Belegart
*-----------------------------------------------------------------------
* 1. Belegposition (Soll)
*-----------------------------------------------------------------------
CLEAR: ls_accountgl, ls_currencyamount.
ls_accountgl-itemno_acc = l_itemno. "Positionsidentifier
ls_accountgl-gl_account = hkonts. "Sachkonto (Soll)
ls_accountgl-item_text = sgtxt. "Belegtext
ls_accountgl-costcenter = kostl. "Kostenstelle
ls_accountgl-alloc_nmbr = zuonr. "Zuordnung
* Betragssegment zur Sachkontenposition 1 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountgl-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = wrbtr. "positiver Betrag = Soll
APPEND: ls_accountgl TO lit_accountgl,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* 2. Belegposition (Haben)
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accountgl, ls_currencyamount.
ls_accountgl-itemno_acc = l_itemno.
ls_accountgl-gl_account = hkonth.
ls_accountgl-item_text = sgtxt.
ls_accountgl-alloc_nmbr = zuonr.
* Betragssegment zur Sachkontenposition 2 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountgl-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = wrbtr * -1. "Haben --> Minus
APPEND: ls_accountgl TO lit_accountgl,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* BAPI-Aufruf
*-----------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = ls_documentheader
IMPORTING
obj_type = l_obj_type
obj_key = l_obj_key
obj_sys = l_obj_sys
TABLES
accountgl = lit_accountgl
* ACCOUNTRECEIVABLE =
* ACCOUNTPAYABLE =
* accounttax =
currencyamount = lit_currencyamount
* CRITERIA =
* VALUEFIELD =
* EXTENSION1 =
return = lit_return
* PAYMENTCARD =
* CONTRACTITEM =
* EXTENSION2 =
* REALESTATE =
* ACCOUNTWT =
.
COMMIT WORK.
*-----------------------------------------------------------------------
* BAPI Meldungen ausgeben
*-----------------------------------------------------------------------
IF NOT lit_return[] IS INITIAL.
CALL FUNCTION 'C14ALD_BAPIRET2_SHOW'
TABLES
i_bapiret2_tab = lit_return.
ENDIF.
* systemseitig vergebene Belegnummer kommt zurück!
docnum = l_obj_key(10).
...und weil' so schön war, das gleiche nochmal als debitorische Buchung:
per Debitor 119,-- an Sachkonto 100,--, Steuer 19,--
*&---------------------------------------------------------------------*
*& Report YTEST_SIMPLE_POST
*&
*&---------------------------------------------------------------------*
*& Demoprogramm zur Erläuterung der Aufrufparameter für das BAPI
*& BAPI_ACC_DOCUMENT_POST
*&---------------------------------------------------------------------*
REPORT ytest_simple_post.
* Beispieldaten für Beleginhalte
DATA: bukrs TYPE bukrs VALUE '1002', "Buchungskreis
kunnr TYPE kunnr VALUE '0000064756', "Debitor Soll
hkonth TYPE hkont VALUE '0000331000', "Konto Haben
waers TYPE waers VALUE 'EUR', "Belegwährung
wrbtr TYPE wrbtr VALUE 119, "Betrag
sgtxt TYPE sgtxt VALUE 'Test', "Belegpos.text
kostl TYPE kostl VALUE '0000102719', "Kostenstelle
zuonr TYPE dzuonr VALUE '23456', "Zuordnung
xblnr TYPE xblnr VALUE 'REFERENZ', "Referenznummer
blart TYPE blart VALUE 'DR', "Belegart
mwskz TYPE mwskz VALUE 'A1', "Steuerkennzeichen
docnum TYPE belnr_d. "Belegnummer
* Schnittstellendaten für Verbuchungs-BAPI
DATA:
* Returnparameter des BAPIs
l_obj_type TYPE bapiache09-obj_type, "Objekttyp
* Objektschlüssel erhält vom BAPI die Belegidentifikation:
* NNNNNNNNNNYYYYBBBB N = Belegnummer, Y = GJahr, B = Buchungskreis
l_obj_key TYPE bapiache09-obj_key, "Objektschlüssel
l_obj_sys TYPE bapiache09-obj_sys, "log. System
* Belegkopf
ls_documentheader TYPE bapiache09,
* Sachkontenpositionen
lit_accountgl TYPE TABLE OF bapiacgl09,
ls_accountgl TYPE bapiacgl09,
* Debitorenposition
lit_accountrec TYPE TABLE OF bapiacar09,
ls_accountrec TYPE bapiacar09,
* Steuerzeilen
lit_accounttax TYPE TABLE OF bapiactx09,
ls_accounttax TYPE bapiactx09,
* Betragsinformationen
lit_currencyamount TYPE TABLE OF bapiaccr09,
ls_currencyamount TYPE bapiaccr09,
* Meldungen des BAPI's
lit_return TYPE TABLE OF bapiret2.
DATA:
l_itemno TYPE posnr_acc. "Postionsnummer (s.u.)
* Steuerdaten
DATA:
lit_mwdat TYPE TABLE OF rtax1u15,
ls_mwdat TYPE rtax1u15.
*-----------------------------------------------------------------------
* Initialisierung
*-----------------------------------------------------------------------
CLEAR: lit_accountgl[],
lit_accounttax[],
lit_accountrec[],
lit_currencyamount[],
lit_return[].
*-----------------------------------------------------------------------
* Steuerdaten holen
*-----------------------------------------------------------------------
CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT'
EXPORTING
i_bukrs = bukrs
i_mwskz = mwskz
i_waers = waers
i_wrbtr = wrbtr
TABLES
t_mwdat = lit_mwdat
EXCEPTIONS
OTHERS = 16.
IF sy-subrc NE 0.
* Fehlerbehandlung
ELSE.
READ TABLE lit_mwdat INTO ls_mwdat INDEX 1.
ENDIF.
*-----------------------------------------------------------------------
* Positionsnummer (fängt bei 1 an und wird pro Belegpos. um 1 inkr.)
* Hinweis: Es können auch 10er Schritte verwendet werden, wichtig ist
* nur eins: Die Einträge der Tabellen l_accountgl und
* l_currencyamount finden über den jeweiligen Inhalt des Felds
* itemno_acc 'zueinander', d.h. anders ausgedrückt:
* Für jede Belegposition muss jeweils ein Eintrag in den
* genannten Tabellen mit identischer itemno_acc aufgenommen
* werden.
*-----------------------------------------------------------------------
l_itemno = 1.
*-----------------------------------------------------------------------
* Belegkopf
*-----------------------------------------------------------------------
CLEAR ls_documentheader.
ls_documentheader-bus_act = 'RFBU'. "Vorgang (fix)
ls_documentheader-username = sy-uname. "Belegerfasser
ls_documentheader-comp_code = bukrs. "Buchungskreis
ls_documentheader-doc_date = sy-datum. "Belegdatum
ls_documentheader-pstng_date = sy-datum. "Buchungsdatum
ls_documentheader-ref_doc_no = xblnr. "Referenznummer
ls_documentheader-doc_type = blart. "Belegart
*-----------------------------------------------------------------------
* 1. Belegposition (Soll - Debitor)
*-----------------------------------------------------------------------
CLEAR: ls_accountrec, ls_currencyamount.
ls_accountrec-itemno_acc = l_itemno. "Positionsidentifier
ls_accountrec-customer = kunnr. "Debitor (Soll)
ls_accountrec-item_text = sgtxt. "Belegtext
ls_accountrec-alloc_nmbr = zuonr. "Zuordnung
* Betragssegment zur Sachkontenposition 1 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountrec-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = wrbtr. "positiver Betrag = Soll
APPEND: ls_accountrec TO lit_accountrec,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* 2. Belegposition (Haben - Sachkonto)
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accountgl, ls_currencyamount.
ls_accountgl-itemno_acc = l_itemno.
ls_accountgl-gl_account = hkonth.
ls_accountgl-costcenter = kostl.
ls_accountgl-item_text = sgtxt.
ls_accountgl-tax_code = mwskz.
ls_accountgl-alloc_nmbr = zuonr.
* Betragssegment zur Sachkontenposition 2 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountgl-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = ls_mwdat-kawrt * -1. "Nettobetrag / Haben --> Minus
APPEND: ls_accountgl TO lit_accountgl,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* Steuerzeile (Haben)
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accounttax, ls_currencyamount.
ls_accounttax-itemno_acc = l_itemno.
ls_accounttax-tax_code = mwskz.
ls_currencyamount-itemno_acc = ls_accounttax-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = ls_mwdat-wmwst * -1.
ls_currencyamount-amt_base = ls_mwdat-kawrt * -1.
APPEND: ls_accounttax TO lit_accounttax,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* BAPI-Aufruf
*-----------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = ls_documentheader
IMPORTING
obj_type = l_obj_type
obj_key = l_obj_key
obj_sys = l_obj_sys
TABLES
accountgl = lit_accountgl
accountreceivable = lit_accountrec
* ACCOUNTPAYABLE =
accounttax = lit_accounttax
currencyamount = lit_currencyamount
* CRITERIA =
* VALUEFIELD =
* EXTENSION1 =
return = lit_return
* PAYMENTCARD =
* CONTRACTITEM =
* EXTENSION2 =
* REALESTATE =
* ACCOUNTWT =
.
COMMIT WORK.
*-----------------------------------------------------------------------
* BAPI Meldungen ausgeben
*-----------------------------------------------------------------------
IF NOT lit_return[] IS INITIAL.
CALL FUNCTION 'C14ALD_BAPIRET2_SHOW'
TABLES
i_bapiret2_tab = lit_return.
ENDIF.
* systemseitig vergebene Belegnummer kommt zurück!
docnum = l_obj_key(10).
*&---------------------------------------------------------------------*
*& Report ZTESTBAPI
*&---------------------------------------------------------------------*
*& kreditorische Buchung mit E1 (Reverse Charge, ESA/ESE)
*&---------------------------------------------------------------------*
REPORT ztestbapi.
* Beispieldaten für Beleginhalte
DATA: bukrs TYPE bukrs VALUE '9000', "Buchungskreis
lifnr TYPE lifnr VALUE '0000000117', "Kreditor Haben
hkonts TYPE hkont VALUE '0000688000', "Konto soll
waers TYPE waers VALUE 'EUR', "Belegwährung
wrbtr TYPE wrbtr VALUE 100, "Betrag
sgtxt TYPE sgtxt VALUE 'Test', "Belegpos.text
kostl TYPE kostl VALUE '9000000000', "Kostenstelle
zuonr TYPE dzuonr VALUE '23456', "Zuordnung
xblnr TYPE xblnr VALUE '4711-001', "Referenznummer
blart TYPE blart VALUE 'KR', "Belegart
mwskz TYPE mwskz VALUE 'E1', "Steuerkennzeichen
docnum TYPE belnr_d. "Belegnummer
* Schnittstellendaten für Verbuchungs-BAPI
DATA:
* Returnparameter des BAPIs
l_obj_type TYPE bapiache09-obj_type, "Objekttyp
* Objektschlüssel erhält vom BAPI die Belegidentifikation:
* NNNNNNNNNNYYYYBBBB N = Belegnummer, Y = GJahr, B = Buchungskreis
l_obj_key TYPE bapiache09-obj_key, "Objektschlüssel
l_obj_sys TYPE bapiache09-obj_sys, "log. System
* Belegkopf
ls_documentheader TYPE bapiache09,
* Sachkontenpositionen
lit_accountgl TYPE TABLE OF bapiacgl09,
ls_accountgl TYPE bapiacgl09,
* Kreditorenposition
lit_accountpay TYPE TABLE OF bapiacap09,
ls_accountpay TYPE bapiacap09,
* Steuerzeilen
lit_accounttax TYPE TABLE OF bapiactx09,
ls_accounttax TYPE bapiactx09,
* Betragsinformationen
lit_currencyamount TYPE TABLE OF bapiaccr09,
ls_currencyamount TYPE bapiaccr09,
* Meldungen des BAPI's
lit_return TYPE TABLE OF bapiret2.
DATA:
l_itemno TYPE posnr_acc. "Postionsnummer (s.u.)
* Steuerdaten
DATA:
lit_mwdat TYPE TABLE OF rtax1u15,
ls_mwdat TYPE rtax1u15.
*-----------------------------------------------------------------------
* Initialisierung
*-----------------------------------------------------------------------
CLEAR: lit_accountgl[],
lit_accounttax[],
lit_accountpay[],
lit_currencyamount[],
lit_return[].
*-----------------------------------------------------------------------
* Steuerdaten holen
*-----------------------------------------------------------------------
CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT'
EXPORTING
i_bukrs = bukrs
i_mwskz = mwskz
i_waers = waers
i_wrbtr = wrbtr
TABLES
t_mwdat = lit_mwdat
EXCEPTIONS
OTHERS = 16.
IF sy-subrc NE 0.
* Fehlerbehandlung
ELSE.
break srohde.
ENDIF.
*-----------------------------------------------------------------------
* Positionsnummer (fängt bei 1 an und wird pro Belegpos. um 1 inkr.)
* Hinweis: Es können auch 10er Schritte verwendet werden, wichtig ist
* nur eins: Die Einträge der Tabellen l_accountgl und
* l_currencyamount finden über den jeweiligen Inhalt des Felds
* itemno_acc 'zueinander', d.h. anders ausgedrückt:
* Für jede Belegposition muss jeweils ein Eintrag in den
* genannten Tabellen mit identischer itemno_acc aufgenommen
* werden.
*-----------------------------------------------------------------------
l_itemno = 1.
*-----------------------------------------------------------------------
* Belegkopf
*-----------------------------------------------------------------------
CLEAR ls_documentheader.
ls_documentheader-bus_act = 'RFBU'. "Vorgang (fix)
ls_documentheader-username = sy-uname. "Belegerfasser
ls_documentheader-comp_code = bukrs. "Buchungskreis
ls_documentheader-doc_date = sy-datum. "Belegdatum
ls_documentheader-pstng_date = sy-datum. "Buchungsdatum
ls_documentheader-ref_doc_no = xblnr. "Referenznummer
ls_documentheader-doc_type = blart. "Belegart
*-----------------------------------------------------------------------
* 1. Belegposition (Haben - Kreditor)
*-----------------------------------------------------------------------
CLEAR: ls_accountpay, ls_currencyamount.
ls_accountpay-itemno_acc = l_itemno. "Positionsidentifier
ls_accountpay-vendor_no = lifnr. "Kreditor
ls_accountpay-item_text = sgtxt. "Belegtext
ls_accountpay-alloc_nmbr = zuonr. "Zuordnung
* Betragssegment zur Sachkontenposition 1 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountpay-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = wrbtr * -1. "negativer Betrag = Haben
APPEND: ls_accountpay TO lit_accountpay,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* 2. Belegposition (Soll - Sachkonto)
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accountgl, ls_currencyamount.
ls_accountgl-itemno_acc = l_itemno.
ls_accountgl-gl_account = hkonts.
ls_accountgl-costcenter = kostl.
ls_accountgl-item_text = sgtxt.
ls_accountgl-tax_code = mwskz.
ls_accountgl-alloc_nmbr = zuonr.
* Betragssegment zur Sachkontenposition 2 mit identischem Identifier:
ls_currencyamount-itemno_acc = ls_accountgl-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = wrbtr. "Soll
APPEND: ls_accountgl TO lit_accountgl,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* Steuerzeile 1 (HABEN) - ESA
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accounttax, ls_currencyamount.
ls_accounttax-itemno_acc = l_itemno.
ls_accounttax-tax_code = mwskz.
read table lit_mwdat index 1 into ls_mwdat.
ls_accounttax-acct_key = ls_mwdat-ktosl.
ls_currencyamount-itemno_acc = ls_accounttax-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = ls_mwdat-wmwst.
ls_currencyamount-amt_base = ls_mwdat-kawrt * -1. "Steuerbasis VZ drehen
APPEND: ls_accounttax TO lit_accounttax,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* Steuerzeile 2 (Haben) - ESE
*-----------------------------------------------------------------------
ADD 1 TO l_itemno.
CLEAR: ls_accounttax, ls_currencyamount.
ls_accounttax-itemno_acc = l_itemno.
ls_accounttax-tax_code = mwskz.
read table lit_mwdat index 2 into ls_mwdat.
ls_accounttax-acct_key = ls_mwdat-ktosl.
ls_currencyamount-itemno_acc = ls_accounttax-itemno_acc.
ls_currencyamount-currency = waers.
ls_currencyamount-amt_doccur = ls_mwdat-wmwst.
ls_currencyamount-amt_base = ls_mwdat-kawrt * -1.
APPEND: ls_accounttax TO lit_accounttax,
ls_currencyamount TO lit_currencyamount.
*-----------------------------------------------------------------------
* BAPI-Aufruf
*-----------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = ls_documentheader
IMPORTING
obj_type = l_obj_type
obj_key = l_obj_key
obj_sys = l_obj_sys
TABLES
accountgl = lit_accountgl
accountpayable = lit_accountpay
accounttax = lit_accounttax
currencyamount = lit_currencyamount
* CRITERIA =
* VALUEFIELD =
* EXTENSION1 =
return = lit_return
* PAYMENTCARD =
* CONTRACTITEM =
* EXTENSION2 =
* REALESTATE =
* ACCOUNTWT =
.
COMMIT WORK.
*-----------------------------------------------------------------------
* BAPI Meldungen ausgeben
*-----------------------------------------------------------------------
IF NOT lit_return[] IS INITIAL.
CALL FUNCTION 'C14ALD_BAPIRET2_SHOW'
TABLES
i_bapiret2_tab = lit_return.
ENDIF.
* systemseitig vergebene Belegnummer kommt zurück!
docnum = l_obj_key(10). Mein Kollege Markus hatte mal einen Fall im Rahmen einer Migration, dass erhaltene (debitorische) Anzahlungen (Sonderhauptbuch "A") inkl. Steuerzeile übernommen werden sollten. Zudem wurden hier beispielhaft Beträge sowohl in Transaktions- als auch Hauswährung übergeben. Folgender Beleg wird exemplarisch mit dem weiter unten aufgeführten Coding Snippet gebucht:
*&---------------------------------------------------------------------*
*& Report YTEST_MALA
*&---------------------------------------------------------------------*
*& erhaltene Anzahlungen (SHB-Kz.) und Betragsübergabe in Haus- und Belegwährung
*&---------------------------------------------------------------------*
REPORT ytest_mala.
/image%2F1473637%2F20170207%2Fob_adae32_profilbild.png)
/image%2F1473637%2F20251029%2Fob_c3febb_screenshot-2025-10-29-084043.png)