bapi_acc_document_post Fremdwährung

SAP R/3 Finanzwesen: Hauptbuchhaltung; Kreditorenbuchhaltung; Debitorenbuchhaltung; Bankbuchhaltung; Anlagenbuchhaltung; ...
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

bapi_acc_document_post Fremdwährung

Beitrag von roja (ForumUser / 1 / 0 / 0 ) »
Hallo,
per bapi_acc_document_post buche ich Belege in Fremdwährung, wobei das Programm sich den jeweiligen Kurs aus dem System zieht und damit umrechnet. Dadurch kommt es immer mal wieder zu unerwünschten Abweichungen zu einem Vorsystem. Was ich suche ist die Möglichkeit anlog zu FB01 zu buchen, wo man einfach nur die Beträge in Hauswährung und Fremdwährung angibt und der Kurs daraus errechnet wird. Geht das mit diesem BAPI überhaupt? Wenn ja, welche Parameter muss ich wie füttern?

Vielen Dank im Voraus.
Roland

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


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hallo Roland,

wenn ich die Hilfe zu dem BAPI richtig verstanden habe, kannst du den Umrechnungskurs mitgeben. Hierzu bin ich letzte Woche auch über einen Hinweis im OSS gestolpert. Schau doch dort mal nach, denn wie er genau hies weiß ich leider nicht mehr.

MfG

Thomas

Beitrag von RSK6 (ForumUser / 2 / 0 / 0 ) »
Hallo,

ich versuche das "Teil" erstmalig zum fliegen zu bringen.
als Ersatz zum BIBL

Aber schon im Haeder gibts Problem:
AWTYP
AWKEY
Der BAPI gibt zurück dass 'xxxx'' nicht erlaubt sei?
Wie wird das im Zusammenhang mit der Tabelle TTYP gefüllt?
Verstehe die Doku nicht. Welches Customizing muß ich noch machen?

Ausserdem finde ich keine Buchungsschlüssel in den BAPI-Tabellen?
Wie wird denn eine z. B. Sachkontenbuchung Soll/Haben durchgeführt?

Ein Ratloser am Vorabend zum Wochende.

Gruß
RS

Beitrag von scsaba (ForumUser / 15 / 0 / 0 ) »
Hallo,

xxxx ist doch kein gueltiger AWTYP :) Im Beleg wirst Du BBKPF sehen nachdem der endlich gebucht ist. Ich habe im Moment keinen Systemzugriff, aber ich glaube Du musst im AWTYP entweder gar nichts, oder eben BBKPF eingeben. Die Felder dienen ja dafuer, eine Referenz zu einem anderen Beleg (etwa eine Faktura aus SD) herzustellen, in dem Fall waere etwa AWTYP = VBRK und AWKEY = Fakturanummer. Am besten das Feld leer lassen.

Buchungsschluessel kannst Du nicht mitgeben. Kontoart (bzw. die Schnittstellentabelle fuer Sachkonten, Debitoren bzw. Kreditorenposten) und Vorzeichen der Betraege bestimmen die Standard-BS die hardcoded sind:
40/50
31/21
01/11

Viel Spass dabei :)

Csaba[/quote]

Danke

Beitrag von RSK6 (ForumUser / 2 / 0 / 0 ) »
Hallo scsaba,

vielen Dank für Deine Nachricht. Bin wohl noch zu nahe an BIBL.
Dort geht nix ohne Buchungsschlüssel. :-)

Aber darf ich nochmals zu den beiden Feldern obj_type und obj_key nachfragen :-)) Mit xxxx meinte ich einen Platzhalter (Sorry dafür):

Die zwei Felder sind leider MUSSFELDER:
E |RW |602 |Im Parameter DOCUMENTHEADER wurde das Muß<
E |RW |602 |Im Parameter DOCUMENTHEADER wurde das Muß<

Gruß
RSK6

Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Hallo RSK6,
lass die Felder AWKEY usw. im DOCUMENTHEADER leer. Das Feld, was gefüllt werden muss ist BUS_ACT (Vorgang) und zwar i.d.R. mit RFBU (vgl. Doku des Parameters DOCUMENTHEADER). Anbei hab ich Dir mal ein Mustercoding zum Aufruf des BAPIS beigefügt

Code: Alles auswählen.

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

report  ztest_sr.

  data: bukrs type bukrs value '1000',
        hkonts type hkont value '0000415000',
        hkonth type hkont value '0000100000',
        waers type waers value 'EUR',
        wrbtr type wrbtr value 100,
        sgtxt type sgtxt value 'Test',
        kostl type kostl value '0000001000',
        gutnr type dzuonr value '23456',
        docnum type belnr_d.

* 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,
    l_accountgl      type table of bapiacgl09 with header line,
    l_accounttax     type table of bapiactx09 with header line,
    l_currencyamount type table of bapiaccr09 with header line,
    l_return         type table of bapiret2   with header line.

  data:
    l_t001           type t001,
    l_itemno         type posnr_acc,
    l_xkostl,
    lt_mwdat type table of rtax1u15 with header line.

  constants:
    lc_doctype       type blart value 'SA',    "<<<< ggf. anpassen
    lc_taxcode       type mwskz value 'XX'.   "<<<< ggf. anpassen

*-----------------------------------------------------------------------
* Initialisierung
*-----------------------------------------------------------------------
  refresh: l_accountgl,
           l_accounttax,
           l_currencyamount,
           l_return.

  l_itemno = 1.

* Steuerinformationen versorgen
  call function 'CALCULATE_TAX_FROM_GROSSAMOUNT'
    exporting
      i_bukrs = bukrs
      i_mwskz = lc_taxcode
      i_waers = waers
      i_wrbtr = wrbtr
    tables
      t_mwdat = lt_mwdat
    exceptions
      others  = 16.

  if sy-subrc ne 0.
    raise tax_error.
  else.
    read table lt_mwdat index 1.
  endif.


*-----------------------------------------------------------------------
* Belegkopf
*-----------------------------------------------------------------------
  clear l_documentheader.
  l_documentheader-bus_act    = 'RFBU'.
  l_documentheader-username   = sy-uname.
  l_documentheader-comp_code  = bukrs.
  l_documentheader-doc_date   = sy-datum.
  l_documentheader-pstng_date = sy-datum.
  l_documentheader-ref_doc_no = 'RFC'.
  l_documentheader-doc_type   = lc_doctype.

*-----------------------------------------------------------------------
* 1. Belegposition (Soll)
*-----------------------------------------------------------------------
  clear: l_accountgl, l_currencyamount.
  l_accountgl-itemno_acc      = l_itemno.
  l_accountgl-gl_account      = hkonts.
  l_accountgl-item_text       = sgtxt.
  l_accountgl-tax_code        = lc_taxcode.
  perform check_kostl_needed using bukrs
                                   hkonts
                             changing l_xkostl.
  if l_xkostl = 'X'.
    l_accountgl-costcenter      = kostl.
  endif.
  l_accountgl-alloc_nmbr      = gutnr.
  l_currencyamount-itemno_acc = l_accountgl-itemno_acc.
  l_currencyamount-currency   = waers.
  l_currencyamount-amt_doccur = lt_mwdat-kawrt + lt_mwdat-wmwst.
  l_currencyamount-amt_base   = lt_mwdat-kawrt.


  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.
  perform check_kostl_needed using bukrs
                                   hkonth
                             changing l_xkostl.
  if l_xkostl = 'X'.
    l_accountgl-costcenter      = kostl.
  endif.
  l_accountgl-alloc_nmbr      = gutnr.
  l_currencyamount-itemno_acc = l_accountgl-itemno_acc.
  l_currencyamount-currency   = waers.
  l_currencyamount-amt_doccur = wrbtr * -1.
  append: l_accountgl, l_currencyamount.

*-----------------------------------------------------------------------
* Steuerzeile
*-----------------------------------------------------------------------
  add 1 to l_itemno.
  clear: l_accounttax, l_currencyamount.
  l_accounttax-itemno_acc     = l_itemno.
  l_accounttax-tax_code       = lc_taxcode.
  l_accounttax-tax_rate       = lt_mwdat-msatz.
  l_currencyamount-itemno_acc = l_accounttax-itemno_acc.
  l_currencyamount-currency   = waers.
  l_currencyamount-amt_doccur = lt_mwdat-wmwst.
  l_currencyamount-amt_base   = lt_mwdat-kawrt.
  append: l_accounttax, 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.

  docnum = l_obj_key(10).

*
*&---------------------------------------------------------------------*
*&      Form  check_kostl_needed
*&---------------------------------------------------------------------*
*       Prüft, ob das Sachkonto eine Kostenart ist und ob darum
*       ggf. eine Kostenstelle mitkontiert werden muss
*----------------------------------------------------------------------*
*      -->P_BUKRS     Buchungskreis
*      -->P_hkont     Sachkonto
*      <--P_XKOSTL    SPACE = keine Kostenstelle, X = Kostenst. nötig
*----------------------------------------------------------------------*
form check_kostl_needed  using    p_bukrs type bukrs
                                  p_hkont type hkont
                         changing p_xkostl.

  data: l_kokrs type kokrs,
        l_hkont type hkont,
        l_numko(10) type n.

  if p_hkont co '0123456789 '.
    l_hkont = l_numko = p_hkont.
  else.
    l_hkont = p_hkont.
  endif.

  call function 'KOKRS_GET_FROM_BUKRS'
    exporting
      i_bukrs = p_bukrs
    importing
      e_kokrs = l_kokrs.

  call function 'RK_KSTAR_READ'
    exporting
      datum           = sy-datum
      kokrs           = l_kokrs
      kstar           = l_hkont
    exceptions
      kstar_not_found = 1
      others          = 2.

  if sy-subrc = 0.
    p_xkostl = 'X'.
  else.
    p_xkostl = space.
  endif.

endform.                    " check_kostl_needed
Weiterhin viel Freude mit SAP...
Cheers
MrB.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
781
Views
ME12 Betragsfeld bei Fremdwährung
von Bitfummler » 17.07.2006 11:01 • Verfasst in ABAP® Core
0
Antw.
1681
Views
Zahlen in Fremdwährung USD nicht möglich
von masoud100 » 29.06.2013 17:33 • Verfasst in Financials
0
Antw.
1122
Views
ME12 Preiskonditionen Anzeige Fremdwährung ohne Nachkomma (J
von Bitfummler » 17.07.2006 10:43 • Verfasst in Basis
2
Antw.
4249
Views
HTTP-Post von Dateien in ABAP
von Abrissbirne » 17.09.2012 01:44 • Verfasst in ABAP® Core
0
Antw.
1181
Views

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2450
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9036