Tutorial zu SAP ABAP BDC (Batch Data Communication)

Inhaltsverzeichnis:

Anonim

Einführung in die Batch-Eingabe

Die Batch-Eingabe wird normalerweise verwendet, um Daten von Nicht-R / 3-Systemen zu R / 3-Systemen zu übertragen oder um Daten zwischen R / 3-Systemen zu übertragen.
Es handelt sich um eine Datenübertragungstechnik, mit der Sie Datensätze automatisch auf Bildschirme übertragen können, die zu Transaktionen und damit zu einem SAP-System gehören. Die Batch-Eingabe wird durch eine Batch-Eingabe-Sitzung gesteuert.

In diesem Tutorial lernen Sie:

  • Einführung in die Batch-Eingabe
  • Methoden der Batch-Eingabe
  • Batch-Input-Verfahren
  • BDC-Programm schreiben
  • Batch-Input-Sitzung erstellen
  • Batch Input Recorder
Batch-Input-SitzungGruppiert eine Reihe von Transaktionsaufrufen zusammen mit Eingabedaten und Benutzeraktionen. Eine Batch-Input-Sitzung kann verwendet werden, um eine Dialogtransaktion in der Batch-Eingabe auszuführen, bei der einige oder alle Bildschirme von der Sitzung verarbeitet werden. Batch-Input-Sitzungen werden in der Datenbank als Datenbanktabellen gespeichert und können beim Zugriff auf Transaktionen innerhalb eines Programms als interne Tabellen verwendet werden. Zu beachtende Punkte
  • BDI führt normale SAP-Transaktionen wie ein Benutzer aus, führt die Transaktion jedoch automatisch aus. Alle Bildschirmvalidierungen und die Validierung der Geschäftslogik werden unter Verwendung der Stapeldateneingabe durchgeführt.
  • Es eignet sich zur Eingabe großer Datenmengen.
  • Es ist keine manuelle Interaktion erforderlich

Methoden der Batch-Eingabe

SAP bietet zwei grundlegende Methoden zum Übertragen von Altdaten in das R / 3-System.

  1. Klassische Batch-Input-Methode.
  2. Rufen Sie die Transaktionsmethode auf.

Klassische Batch-Input-Methode
Bei dieser Methode liest ein ABAP / 4-Programm die externen Daten in das SAP-System und speichert sie in einer Batch-Input-Sitzung.
Nach dem Erstellen der Sitzung können Sie die Sitzung ausführen, um die darin enthaltene SAP-Transaktion auszuführen.
Diese Methode verwendet die Funktionsbausteine ​​BDC_OPEN, BDC_INSERT und BDC_CLOSE. Die
Batch-Input-Sitzung kann auf drei Arten verarbeitet werden

  1. Im Vordergrund
  2. Im Hintergrund
  3. Während der Verarbeitung mit Fehleranzeige

Sie sollten Batch-Input-Sitzungen im Vordergrund oder über die Fehleranzeige verarbeiten, wenn Sie die Datenübertragung testen möchten.
Wenn Sie die Datenübertragung ausführen oder ihre Leistung testen möchten, sollten Sie die Sitzungen im Hintergrund verarbeiten.
Zu beachtende Punkte zur klassischen Batch-Input-Methode

  • Synchrone Verarbeitung
  • Übertragen Sie Daten für mehrere Transaktionen.
  • Synchrone Datenbankaktualisierung.
  • Für jede Sitzung wird ein Batch-Input-Prozessprotokoll erstellt.
  • Sitzung kann nicht parallel generiert werden.

Rufen Sie die Transaktionsmethode auf.

Bei dieser Methode verwendet das ABAP / 4-Programm die Anweisung CALL TRANSACTION USING, um eine SAP-Transaktion auszuführen.
Der gesamte Batch-Input-Prozess findet online im Programm statt

Zu beachtende Punkte:

  • Schnellere Datenverarbeitung
  • Asynchrone Verarbeitung
  • Übertragen Sie Daten für eine einzelne Transaktion.
  • Es wird kein Batch-Input-Verarbeitungsprotokoll generiert.

Batch-Input-Verfahren


In der Regel werden Sie die folgenden Schritte ausführen, um die Batch-Eingabe für Ihre Organisation zu entwickeln

  1. Analyse der Altdaten. Legen Sie fest, wie die zu übertragenden Daten der SAP-Struktur zugeordnet werden sollen. Beachten Sie auch die erforderlichen Konvertierungen von Datentyp oder Datenlänge.
  2. Generieren Sie SAP-Datenstrukturen zur Verwendung in Exportprogrammen.
  3. Exportieren Sie die Daten in eine sequentielle Datei. Beachten Sie, dass das Zeichenformat für vordefinierte SAP-Batch-Input-Programme erforderlich ist.
  4. Wenn die von SAP bereitgestellten BDC-Programme nicht verwendet werden, codieren Sie Ihr eigenes Batch-Input-Programm. Wählen Sie je nach Situation eine geeignete Chargeneingabemethode.
  5. Verarbeiten Sie die Daten und fügen Sie sie dem SAP-System hinzu.
  6. Analysieren Sie das Prozessprotokoll. Verwenden Sie für die CALL TRANSACTION-Methode, bei der kein ordnungsgemäßes Protokoll erstellt wird, die von Ihrem Programm gesammelten Nachrichten.
  7. Korrigieren und verarbeiten Sie anhand der Ergebnisse der Prozessanalyse die fehlerhaften Daten erneut.

BDC-Programm schreiben

Sie können den folgenden Vorgang beobachten, um Ihr BDC-Programm zu schreiben

  1. Analysieren Sie die Transaktion (en), um Batch-Input-Daten zu verarbeiten.
  2. Entscheiden Sie sich für die Batch-Eingabemethode.
  3. Lesen Sie Daten aus einer sequentiellen Datei
  4. Führen Sie eine Datenkonvertierung oder Fehlerprüfung durch.
  5. Speichern der Daten in der Batch-Input-Struktur BDCDATA.
  6. Generieren Sie eine Batch-Input-Sitzung für die klassische Batch-Eingabe oder verarbeiten Sie die Daten direkt mit der Anweisung CALL TRANSACTION USING.

Batch-Input-Datenstruktur
Deklaration der Batch-Input-Datenstruktur

DATA: BEGIN OF OCCURS 
 auf.STRUKTUR BDCDATA EINSCHLIESSEN.DATA: END OF .
Feldname Art Länge Beschreibung
PROGRAMM VERKOHLEN 8 Modulpool
DYNPRO NUMC 4 Dynpro Nummer
DYNBEGIN VERKOHLEN 1 Dynpro starten
FNAM VERKOHLEN 35 Feldname
FVAL VERKOHLEN 80 Feldwert

Die Reihenfolge der Felder in den Daten für einen bestimmten Bildschirm ist nicht von Bedeutung.
Zu beachtende Punkte

  • Stellen Sie beim Auffüllen der BDC-Daten sicher, dass Sie die Benutzereinstellungen berücksichtigen. Dies ist besonders relevant für das Ausfüllen von Feldern mit Zahlen (wie Menge, Menge). Es ist die Benutzereinstellung, die über das Gruppierungszeichen für Zahlen entscheidet. Beispiel: Eine Zahl von fünfzigtausend kann basierend auf der Benutzereinstellung als 50.000,00 oder 50.000,00 geschrieben werden.
  • Verdichten Sie das FVAL-Feld für Mengen- und Mengenfelder so, dass sie linksbündig ausgerichtet sind.
  • Beachten Sie, dass alle Felder, die Sie über BDC ausfüllen, beim Auffüllen der BDC-Datentabelle als Zeichentypfelder behandelt werden sollten.
  • In einigen Bildschirmen müssen Sie beim Auffüllen von Werten in einem Tabellensteuerelement mit BDC notieren, wie viele Zeilen auf einer Standardgröße des Bildschirms vorhanden sind, und Code für so viele Zeilen. Wenn Sie mehr Zeilen füllen müssen, müssen Sie für die Funktion "Bild ab" codieren, wie Sie es tun würden, wenn Sie das Tabellensteuerelement manuell füllen.
  • Die Anzahl der Zeilen, die im obigen Szenario angezeigt werden, hängt von der vom Benutzer verwendeten Bildschirmgröße ab. Codieren Sie also immer die Standardbildschirmgröße und sorgen Sie dafür, dass Ihr BDC immer in der Standardbildschirmgröße funktioniert, unabhängig davon, wie der Benutzer seine Bildschirmgröße beibehält.

Batch-Input-Sitzung erstellen

  1. Öffnen Sie die Batch-Input-Session-Sitzung mit dem Funktionsbaustein BDC_OPEN_GROUP.
  2. Für jede Transaktion in der Sitzung:
    • Füllen Sie die BDCDATA mit Werten für alle in der Transaktion verarbeiteten Bildschirme und Felder.
    • Übertragen Sie die Transaktion mit BDC_INSERT in die Sitzung.
  3. Schließen Sie die Batch-Input-Sitzung mit BDC_CLOSE_GROUP

Batch Input Recorder

Der Batch-Input-Rekorder (System> Services> Batch-Input> Recorder) zeichnet manuell eingegebene Transaktionen auf und erstellt eine Batch-Input-Sitzung, die später mit SM35 ausgeführt werden kann.

  • Starten Sie den Batch-Input-Rekorder, indem Sie im Startbildschirm für die Batch-Eingabe die Drucktaste Aufnahme auswählen.
  • Der Aufzeichnungsname ist ein benutzerdefinierter Name und kann mit dem Namen der Batch-Input-Sitzung übereinstimmen, der aus der Aufzeichnung erstellt werden kann.
  • Geben Sie eine SAP-Transaktion ein und beginnen Sie mit der Buchung der Transaktion.
  • Nachdem Sie eine SAP-Transaktion gebucht haben, wählen Sie entweder Transaktion abrufen und speichern, um die Aufzeichnung zu beenden, oder Nächste Transaktion und buchen Sie eine andere Transaktion.
  • Nachdem Sie die Aufzeichnung gespeichert haben, können Sie aus der Aufzeichnung eine Batch-Input-Sitzung erstellen und / oder aus der Aufnahme ein Batch-Input-Programm generieren.
  • Die von Ihnen erstellte Batch-Input-Sitzung kann jetzt wie jede andere Batch-Input-Sitzung analysiert werden.
  • Das Programm, das von der Funktion des Batch-Input-Recorders generiert wird, ist ein leistungsstarkes Werkzeug für den Datenschnittstellenprogrammierer. Es bietet eine solide Basis, die dann nach Kundenwunsch geändert werden kann.