Arbeiten mit SAP-Ariba-Procurement-Transaktionsdaten
Konfigurieren der Bestellauftragsintegration in SAP-Ariba-Procurement-Lösungen
Konfigurieren der Bestellauftragsintegration im Portal des verwalteten Gateways für Spend Management und SAP Business Network
Bestellintegration im SAP-System konfigurieren
Konfigurieren der Wareneingangsintegration
Konfigurieren der Rechnungsintegration in SAP-Ariba-Procurement-Lösungen
Konfigurieren der Rechnungsintegration im Portal des verwalteten Gateways für Spend Management und SAP Business Network
Rechnungsintegration im SAP-System konfigurieren

Implementieren des Customer-Exits für Rechnungen ohne Bestellauftrag (FI)

Objective

After completing this lesson, you will be able to implementieren Sie Customer-Exits, um die Verarbeitung von Rechnungen ohne Bestellauftrag (FI) zu erweitern.

Implementieren des Customer-Exits für Rechnungen ohne Bestellauftrag (FI)

Der Customer-Exit-Mechanismus in SAP ABAP ermöglicht die Anpassung der SAP-Standardfunktionen, ohne den Kernquelltext zu modifizieren. Dadurch wird sichergestellt, dass Erweiterungen upgradesicher, wartbar und geschäftsspezifisch sind.

Customer-Exits können benutzerdefinierte Geschäftsregeln, Validierungen oder Berechnungen enthalten. Sie bleiben bei Upgrades intakt, da sie in dedizierten Includes oder Funktionsbausteinen isoliert sind. Sie unterstützen verschiedene Anwendungsfälle, z.B. Menü, Bild, Funktionsbaustein und Feld-Exits.

Customer-Exits sind Teil des SAP-Erweiterungskonzepts, einschließlich BAdIs (Business Add-Ins) und Erweiterungsoptionen. Sie bieten Entwicklern Flexibilität bei gleichzeitiger Einhaltung von Systemstandards. Customer-Exits befinden sich in eigenen Namensräumen (z.B. ZX*, Z*), wodurch sie einfach zu dokumentieren, zu prüfen und zu transportieren sind.

In SAP wird ein INCLUDE in einem Customer-Exit ausgeliefert, um Kunden einen sicheren, strukturierten Ort zum Schreiben von Eigenentwicklungen zu bieten, ohne SAP-Standardprogramme direkt zu modifizieren. Die INCLUDEs fungieren als sichere Sandboxen für benutzerdefinierte Logik, die vor Zerstörung von Standardcode und vollständigem Schutz bei Upgrades schützen.

Die INCLUDE-Anweisung modularisiert Code, indem sie den Inhalt eines ABAP-Programms oder Quelltextblocks in ein anderes einfügt. Sie dient als wiederverwendbarer Container für Code und ist besonders nützlich für die Organisation großer Programme.

Die Anweisung INCLUDE weist die ABAP-Laufzeit an, während der Kompilierung den Quelltext aus dem angegebenen Include-Programm einzufügen.

Vorteile von INCLUDE-Anweisungen:

  • Modularität: Zerlegt große Programme in kleinere, logische Blöcke und erleichtert so das Verständnis und die Verwaltung von Code.
  • Wiederverwendbarkeit: Gemeinsame Logik, Deklarationen und Routinen können einmal in einem Include geschrieben und über mehrere Programme oder Funktionsbausteine hinweg wiederverwendet werden.
  • Wartbarkeit: Isoliert bestimmte Funktionen und ermöglicht Aktualisierungen oder Fehlerkorrekturen an einem Ort, ohne dass sich dies auf nicht zugehörigen Code auswirkt.
  • Erweiterungsunterstützung: SAP fügt häufig Erweiterungspunkte in INCLUDES ein, sodass sie sich ideal für kundenspezifische Erweiterungen eignen.
  • Versionskontrolle und Transportvereinfachung: Kleinere INCLUDE-Dateien vereinfachen die Nachverfolgung von Änderungen und die Verwaltung von Transporten.

Das Add-On für das verwaltete Gateway für Spend Management und SAP Business Network bietet benutzerspezifische Logik, um bestimmte Integrationsanforderungen zwischen SAP-Ariba-Procurement-Lösungen und dem SAP-Backend-System zu erfüllen.

In diesem Customer-Exit gibt es 1 INCLUDE-Anweisung für die FI-Rechnung ohne Bestellauftrag, die Sie implementieren müssen.

INCLUDE ARBCIG_FILL_MISS_FI_NONPO IF FOUND: verfügt über eine Logik für die Behandlung von Quellensteuer und Anlagenbuchhaltung für Rechnungen ohne Bestellauftrag. Käufer müssen sicherstellen, dass der Parameter P2P_INVOICE_ENABLED aktiviert ist.

Während der Integration von FI-Rechnungen ohne Bestellauftrag aus SAP-Ariba-Procurement-Lösungen in das SAP-Backend-System werden Rechnungen über die Rechnungswesen-BAPIs gebucht. FI-Rechnungen ohne Bestellauftrag, die von SAP-Ariba-Procurement-Lösungen empfangen wurden, enthalten Felder wie Quellensteuertyp, Quellensteuerkennzeichen, Anlagennummer, Anlagenunternummer und Anlagenbewegungsart. Diese Felder sind nicht in den Standard-BAPI-Schnittstellen enthalten. SAP fügt seinen Importstrukturen keine neuen Felder hinzu. Stattdessen stellt SAP einen Erweiterungsmechanismus über EXTENSION1 zusammen mit einem Customer-Exit zur Verfügung. Anstatt also die BAPI-Schnittstelle zu modifizieren, werden die erforderlichen Werte in EXTENSION1 übergeben und über einen Customer-Exit verarbeitet.

Die INCLUDE-Anweisung im Customer-Exit verfügt über eine Logik, die die Daten liest und die erforderlichen SAP-Buchhaltungsstrukturen füllt, bevor die FI-Rechnung ohne Bestellung gebucht wird. Konfigurieren Sie den Customer-Exit für FI-Rechnungen ohne Bestellauftrag, und führen Sie die in den SAP-Hinweisen 556311 (für Quellensteuer) und 487722 (für Anlagenkontierung) beschriebenen Schritte aus.

Der SAP-Hinweis 556311 stellt das Framework bereit und erläutert, wie Sie den Parameter EXTENSION1 verwenden, um zusätzliche Buchhaltungsinformationen über Rechnungswesen-BAPIs zu übertragen.

Der SAP-Hinweis 487722 stellt die spezifische Implementierung bereit und erläutert, wie EXTENSION1 speziell verwendet werden kann, um die erweiterte Quellensteuer mit BAPI_ACC_INVOICE_RECEIPT_POST zu unterstützen, einschließlich der erforderlichen Customer-Exit-Logik (EXIT_SAPLACC4_001).

Führen Sie die folgenden Schritte aus, um den Customer-Exit für Rechnungen ohne Bestellauftrag im Add-on für das verwaltete Gateway für Spend Management und SAP Business Network SPRO zu implementieren:

  1. Navigieren Sie über den Transaktionscode SPRO zu Integration mit anderen SAP-Komponenten>Verwaltetes Gateway für Spend Management und SAP Business Network für Käufer>Integration von SAP Ariba Procurement>Anwendungsspezifische Einstellungen>Rechnung>Customer-Exit für FI-Rechnung ohne Bestellauftrag implementieren. Schritt 1:
  2. Geben Sie auf der Seite Projektmanagement von SAP-Erweiterungen den Wert oder den Namen in das Feld Projekt ein, z.B. ZNONPOFIINV, und wählen Sie die Drucktaste Anlegen. Schritt 2:
  3. Geben Sie auf der Seite Attribute des Erweiterungsprojekts ZNONPOFI im Feld Kurztext eine aussagekräftige Beschreibung ein, und wählen Sie die Drucktaste Erweiterungszuordnungen.
  4. Wählen Sie im Dialogfenster Attributbearbeitung beenden die Option Ja für Daten zuerst sichern?. Schritt 3 und 4.
  5. Geben Sie auf der Seite SAP-Erweiterungen im Erweiterungsprojekt ZNONPOFI den Erweiterungsnamen ACBAPI01 ein, und drücken Sie die Eingabetaste. Die Erweiterungsbeschreibung wird in der Spalte Text angezeigt.
  6. Wählen Sie die Drucktaste Komponenten, und wählen Sie im Dialogfenster Komponentenbearbeitung beenden die Option Ja für Daten zuerst sichern?.Schritte 5 und 6.
  7. Doppelklicken Sie auf der Seite Ändern ZNONPOFI auf den User-Exit EXIT_SAPLACC4_001.Schritt 7:
  8. Suchen Sie auf der Seite Function Builder: Anzeigen EXIT_SAPLACC4_001den Eintrag INCLUDE ZXACCU15, positionieren Sie den Cursor auf ZXACCU15, und doppelklicken Sie darauf. Schritt 8:
  9. Wählen Sie auf der Seite ABAP Editor: Include ZXACCU15 anzeigen in der Menüleiste oben das Symbol Anzeigen <-> Ändern. Schritt 9:
  10. Geben Sie auf der Seite ABAP Editor: Include ZXACCU15 ändern die INCLUDE-Anweisung INCLUDE ARBCIG_FILL_MISS_FI_NONPO IF FOUND ein, und wählen Sie Sichern.
  11. Wählen Sie oben in der Menüleiste die Drucktaste Aktivieren. Schritte 10 und 11.
  12. Kehren Sie zur Seite Projektverwaltung von SAP-Erweiterungen zurück, und wählen Sie das Symbol Projekt aktivieren.Schritt 12:

Zusammenfassung

In dieser Lektion wird erläutert, wie Sie einen Customer-Exit implementieren, um die Verarbeitung von Rechnungen ohne Bestellung (FI) im SAP-Backend-System zu erweitern. Der Hauptfokus liegt auf der Verwendung von SAP Integration Suite, verwaltetes Gateway für Spend Management und SAP Business Network Add-On, um Datenfelder zu verarbeiten, die von Standard-BAPI-Schnittstellen wie Quellensteuer- und Anlagenbuchhaltungsdetails nicht unterstützt werden.

Lerner verstehen die Rolle der INCLUDE-Anweisung als sichere "Sandbox" für benutzerdefinierte Logik und stellen sicher, dass Erweiterungen upgradesicher und wartbar bleiben. Die Lektion bietet einen schrittweisen technischen Leitfaden zur Konfiguration des User-Exits EXIT_SAPLACC4_001 durch Einfügen des Includes ARBCIG_FILL_MISS_FI_NONPO, das die erforderlichen SAP-Buchhaltungsstrukturen füllt, bevor eine Rechnung gebucht wird.