Overblog
Folge diesem Blog Administration + Create my blog
SAPManDoo - SAP Resource

Der vorliegende Blog enthält von mir im Laufe meiner beruflichen Tätigkeit als SAP-Berater zusammengetragene Informationen / Beispiel-Codings zum Themenkreis SAP, speziell FI/CO.

Buchungstext in Abgrenzungsbelege des Accruals Management einfügen

Veröffentlicht am 6. September 2019 von sapmandoo in ACAC, ACE, Accruals Management, Accrual Engine

Über das Customizing des Accruals Management hat man (abgesehen von der Belegart und natürlich der zu bebuchenden Konten) keinerlei weiteren Einfluß auf den Inhalt der erzeugten FI-Belege.

Typischerweise ist das ARAP-Konto jedoch mit Feldstatusgruppe „Text obligatorisch“ versehen, was meist auch nicht geändert werden soll. Dies führt unweigerlich zu einem Fehler in der Buchungsschnittstelle, da der Buchungstext im Standard nicht befüllt wird.

Damit die automatischen Buchungen aus der ACE trotzdem durchgehen, kann mithilfe einer Implementierung zum BadI BADI_ACE_DOCUMENT_SCHEMA_CUST ein Buchungstext zugeführt werden (s. auch Hinweis 2769936).

Im nachfolgenden Beispiel-Coding wird der Text aus dem Stammsatz des Abgrenzungsobjektes gelesen und in den Buchungstext eingefüllt.

METHOD if_ace_document_schema_badi~change_calculated_schema.

         “Subklasse zum IF_ACE_MDO_SUBOBJ
    DATA: lo_subobj_acac      TYPE REF TO cl_acac_mdo_subobj,          

          l_text              TYPE acac_text.

    
CHECK ct_schema_calculated[] IS NOT INITIAL.

*   Buchungstext aus Beschreibung des Abgrenzungsobjekts holen...
    
TRY.

        "Objekt erzeugen, Subklasse casten
        lo_subobj_acac ?= ct_schema_calculated[ 1 ]-o_item->mo_subobj. 

        "Entsprechendes Subklassen-Atrribut holen  

        l_text  = lo_subobj_acac->ms_acac_obj_header-text.                               

     
        "Text in die Buchungspos. einfüllen
        LOOP AT ct_schema_calculated

            ASSIGNING FIELD-SYMBOL(<lf_schema_calculated>).
          <lf_schema_calculated>-sgtxt = l_text.
        ENDLOOP.
      CATCH cx_root.
    
ENDTRY.

  ENDMETHOD.

Kommentare