Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo Zusammen,

ich habe mir eine Interne Tabelle erstellt (i_wip8).
Diese Tabelle ist folgendermaßen aufgebaut!

Code: Alles auswählen.


TYPES: BEGIN OF type_wip8,
        bldat TYPE bsis-bldat,
        blart TYPE bsis-blart,
        bukrs TYPE bsis-bukrs,
        date LIKE bsis-budat,
        waers type bsis-waers,
        wptxt LIKE bsis-sgtxt,
        wptext like bsis-sgtxt,
        bschl LIKE bsis-bschl,
        konto LIKE bsis-hkont,
        bwert(15) type c,
        deduction TYPE p DECIMALS 2,
        kst TYPE i,
        aufnr TYPE afko-aufnr,
        sgtxt TYPE bsis-sgtxt,
        END OF type_wip8.

Nun möchte ich gern mit dem SAP Buchungsbaustein "BAPI_ACC_DOCUMENT_POST" diese Datensätze verbuchen.

Kann mir jemand sagen wie ich am besten den Buchungsbaustein so deglarieren kann, damit ich die Werte aus meiner internen Tabellen verbuchen kann?

Vielen Dank im Voraus!

Gruß

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

also du hast erst einmal keine interne Tabelle deklariert sonder erst einmal eine Struktur und diese auch nur als Typ.
Also du müsstest eine interne Tabelle so definieren
data it_table type standard table of type_wip8.
... und wenn du Daten mit dem FUBA verbuchen willst - dann müsstest du dir die Docu dazu durchlesen - da steht drin wie die Verbuchung läuft - denn ohne das ich den FUBA im Detail kenne - nur deine interne Tabelle geht nicht und ausserdem hat diese eh nicht den gewünschten Aufbau - den das Interface - sprich der FUBA benötigt zum Verbuchen.
Auch dam die Docu zu den Parametern / Ta´bellen studieren - damit kommst du weiter.

Gruss
thanks Jens

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo,

danke erstmal für die schnelle Antwort.

Ich habe nicht nur die Struktur sondern auch eine Tabelle, hatte diese vergessen zu posten!
Die Doku habe ich mir schon einige Male angeschaut, doch werde ich daraus nicht ganz so schlau!

Gibt es irgendwo ein Beispiel oder sowas?

Gruß

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

die weiterführende Docu - wie im FUBA angegeben hast du auch schon studiert ? Beispiel - über den Verwendungsnachweis kommst du sicher an eine Transaktion die letztendlich diesen FUBA nutzt - und dann kannst im Debugger schauen, wie der Aufruf sich darstellt - wäre jetzt mein Ansatz !

Gruss

Folgende Benutzer bedankten sich beim Autor jensschladitz für den Beitrag:
SAP-Thomas

thanks Jens

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Das mit dem Verwendungsnachweis ist eine gute Idee, diese werde ich mal versuchen.

Was die Sache mit Funktionsbausteinen angeht, stehe ich noch ganz am Anfang!

Gruß

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo habe mal den Versuch über den Verwendungsnachweis gestartet, aber funktioniert so nicht, da es bisher nicht in Gebrauch ist.
Gibt es noch eine andere Möglichkeit?

Gruß

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Aber sicher!
Nachfolgend ein Beispiel wie der Baustein zu rufen ist:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZTEST_SR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report  ztest_sr.

  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   
        docnum type belnr_d.                    "Belegnummer

* Schnittstellendaten für Verbuchungs-BAPI
  data:
    l_documentheader type bapiache09,
    l_obj_type       type bapiache09-obj_type,
    l_obj_key        type bapiache09-obj_key,
    l_obj_sys        type bapiache09-obj_sys,
*   Sachkontenpositionen
    l_accountgl      type table of bapiacgl09 with header line,
*   Steuerzeilen (in vorliegendem Bsp. nicht relevant)
    l_accounttax     type table of bapiactx09 with header line,
*   Betragsinformationen
    l_currencyamount type table of bapiaccr09 with header line,
*   Meldungen des BAPI's
    l_return         type table of bapiret2   with header line.

  data:
    l_t001           type t001,
    l_itemno         type posnr_acc.
  
  constants:
    lc_doctype       type blart value 'SA'.    "<<<< ggf. anpassen

*-----------------------------------------------------------------------
* Initialisierung
*-----------------------------------------------------------------------
  refresh: l_accountgl,
           l_accounttax,
           l_currencyamount,
           l_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 l_documentheader.
  l_documentheader-bus_act    = 'RFBU'.     "Vorgang (fix)
  l_documentheader-username   = sy-uname.   "Belegerfasser
  l_documentheader-comp_code  = bukrs.      "Buchungskreis
  l_documentheader-doc_date   = sy-datum.   "Belegdatum
  l_documentheader-pstng_date = sy-datum.   "Buchungsdatum
  l_documentheader-ref_doc_no = 'REFERENZ'. "Referenznummer    
  l_documentheader-doc_type   = lc_doctype. "Belegart 

*-----------------------------------------------------------------------
* 1. Belegposition (Soll)
*-----------------------------------------------------------------------
  clear: l_accountgl, l_currencyamount.
  l_accountgl-itemno_acc      = l_itemno.   "Positionsidentifier
  l_accountgl-gl_account      = hkonts.     "Sachkonto (Soll)
  l_accountgl-item_text       = sgtxt.      "Belegtext
  l_accountgl-costcenter      = kostl.      "Kostenstelle
  l_accountgl-alloc_nmbr      = zuonr.      "Zuordnung

* Betragssegment zur Sachkontenposition 1 mit identischem Identifier: 
  l_currencyamount-itemno_acc = l_accountgl-itemno_acc.
  l_currencyamount-currency   = waers.
  l_currencyamount-amt_doccur = wrbtr.

  append: l_accountgl, l_currencyamount.

*-----------------------------------------------------------------------
* 2. Belegposition (Haben)
*-----------------------------------------------------------------------
  add 1 to l_itemno.
  clear: l_accountgl, l_currencyamount.
  l_accountgl-itemno_acc      = l_itemno.
  l_accountgl-gl_account      = hkonth.
  l_accountgl-item_text       = sgtxt.
  l_accountgl-alloc_nmbr      = zuonr.

* Betragssegment zur Sachkontenposition 2 mit identischem Identifier: 
  l_currencyamount-itemno_acc = l_accountgl-itemno_acc.
  l_currencyamount-currency   = waers.
  l_currencyamount-amt_doccur = wrbtr * -1.   "Haben --> Minus
  append: l_accountgl, l_currencyamount.


*-----------------------------------------------------------------------
* BAPI-Aufruf
*-----------------------------------------------------------------------
  call function 'BAPI_ACC_DOCUMENT_POST'
    exporting
      documentheader          = l_documentheader
    importing
      obj_type                = l_obj_type
      obj_key                 = l_obj_key
      obj_sys                 = l_obj_sys
    tables
      accountgl               = l_accountgl
*   ACCOUNTRECEIVABLE       =
*   ACCOUNTPAYABLE          =
*   accounttax              = l_accounttax
      currencyamount          = l_currencyamount
*   CRITERIA                =
*   VALUEFIELD              =
*   EXTENSION1              =
      return                  = l_return
*   PAYMENTCARD             =
*   CONTRACTITEM            =
*   EXTENSION2              =
*   REALESTATE              =
*   ACCOUNTWT               =
            .
  commit work.

  loop at l_return .
    write: / l_return-type,
             l_return-id,
             l_return-number,
             l_return-message,
             l_return-message_v1,
             l_return-message_v2,
             l_return-message_v3,
             l_return-message_v4.

  endloop.

* systemseitig vergebene Belegnummer kommt zurück!
  docnum = l_obj_key(10).

Folgende Benutzer bedankten sich beim Autor MrBojangles für den Beitrag:
SAP-Thomas

Weiterhin viel Freude mit SAP...
Cheers
MrB.

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo MrBojangles,

danke für deine Hilfe. Funktioniert sehr gut.
Eine Frage hätte ich da noch, braucht der Baustein unbedingt eine Angabe der Kostenstelle, oder könnte man das auch auf Profitcenter - Ebene buchen?

Danke!

Re: Funktionsbaustein BAPI_ACC_DOCUMENT_POST

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo,

habe gerade eine erfolgreiche Buchung durchgeführt!
Es geht auch auf Profit-Center Ebene!

Danke nochmals!

Gruß

Seite 1 von 1

Vergleichbare Themen

7
Antw.
10568
Views
Abrechnungsvorschrift PSP Funktionsbaustein/BAPI
von Thomas R. » 16.11.2007 16:05 • Verfasst in Financials
0
Antw.
1971
Views
Suche Funktionsbaustein/BAPI zur Konditionsänderung
von DeathAndPain » 05.05.2006 11:16 • Verfasst in ABAP® Core
4
Antw.
5340
Views
BAPI/Funktionsbaustein-stat. Kennzahlen (KB31N)
von Frank Meyer » 25.03.2009 11:29 • Verfasst in ABAP® für Anfänger
0
Antw.
1528
Views
3
Antw.
7439
Views
Post-Methode für API´s
von Bright4.5 » 29.01.2025 16:45 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 9 Stunden von ewx 2 / 1430
SELECT SUM CUST
vor 10 Stunden von wreichelt 4 / 1527
Banf anlegen
Gestern von IHe 3 / 12954
FS-CD schnellstmöglich lernen
vor 3 Tagen von waltersen 3 / 5602
Banf anlegen
vor einer Woche von wreichelt 2 / 13322

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 9 Stunden von ewx 2 / 1430
SELECT SUM CUST
vor 10 Stunden von wreichelt 4 / 1527
Banf anlegen
Gestern von IHe 3 / 12954
FS-CD schnellstmöglich lernen
vor 3 Tagen von waltersen 3 / 5602
Banf anlegen
vor einer Woche von wreichelt 2 / 13322