SAP ABAP BDC (Batch-Datenkommunikation) Tutorial

Einführung in den Batch-Input

Batch-Input wird typischerweise zur Übertragung von Daten von Nicht-R/3-Systemen in R/3-Systeme oder zur Übertragung von Daten zwischen R/3-Systemen verwendet.

Es handelt sich um eine Datenübertragungstechnik, die es Ihnen ermöglicht, Datensätze automatisch auf die zu Transaktionen gehörenden Bilder und damit in eine SAP Die Batch-Eingabe wird über eine Batch-Input-Mappe gesteuert.

Batch-Input-Sitzung

Gruppiert eine Reihe von Transaktionsaufrufen zusammen mit Eingabedaten und Benutzeraktionen. Mit einer Batch-Input-Mappe kann eine Dialogtransaktion im Batch-Input ausgeführt werden, wobei einige oder alle Dynpros von der Mappe bearbeitet werden. Batch-Input-Mappen werden als Datenbanktabellen in der Datenbank abgelegt und können innerhalb eines Programms als interne Tabellen beim Zugriff auf Transaktionen verwendet werden.

Punkte zu beachten

  • BDI arbeitet durch die Durchführung normaler SAP Transaktionen genauso wie ein Benutzer, die Transaktion wird jedoch automatisch ausgeführt.Alle Bildschirmvalidierungen und die Validierung der Geschäftslogik werden unter Verwendung der Batch-Dateneingabe durchgeführt.
  • Es eignet sich für die Eingabe großer Datenmengen.
  • Es ist keine manuelle Interaktion erforderlich

Methoden des Batch-Inputs

SAP bieten zwei grundlegende Methoden zur Übertragung von Altdaten in das R/3-System.

  1. Klassische Batch-Input-Methode.
  2. Transaktionsmethode aufrufen.

Klassische Batch-Input-Methode

Bei dieser Methode liest ein ABAP/4-Programm die externen Daten in den SAP System und speichert in einer Batch-Input-Mappe.

Nachdem Sie die Sitzung erstellt haben, können Sie sie ausführen, um die SAP Transaktion darin.

Diese Methode verwendet die Funktionsbausteine ​​BDC_OPEN, BDC_INSERT und BDC_CLOSE

Eine Batch-Input-Sitzung kann auf drei Arten verarbeitet werden

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

Sie sollten Batch-Input-Mappen im Vordergrund bearbeiten oder die Fehleranzeige verwenden, wenn Sie die Datenübertragung testen möchten.

Wenn Sie die Datenübertragung durchführen oder deren Leistung testen möchten, sollten Sie die Sitzungen im Hintergrund verarbeiten.

Wichtige Hinweise zur klassischen Batch-Input-Methode

  • Syncchronologische Verarbeitung
  • Übertragen Sie Daten für mehrere Transaktionen.
  • SyncAktualisierung der chronischen Datenbank.
  • Für jede Sitzung wird ein Batch-Input-Prozessprotokoll erstellt.
  • Sitzung kann nicht parallel generiert werden.

Transaktionsmethode aufrufen.

Bei dieser Methode ABAP/4 Programm verwendet CALL TRANSACTION USING Anweisung zum Ausführen einer SAP Transaktion.

Der gesamte Batch-Input-Prozess erfolgt online im Programm

Transaktionsmethode aufrufen

Punkte zu beachten:

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

Batch-Input-Verfahren

Batch-Input-Verfahren

Normalerweise werden Sie bei der Entwicklung von Batch Input für Ihr Unternehmen die folgende Schrittfolge beachten müssen.

  1. Analyse der Altdaten. Bestimmen Sie, wie die zu übernehmenden Daten in die SAP Struktur. Beachten Sie auch notwendige Datentyp- bzw. Datenlängenkonvertierungen.
  2. Generieren SAP Datenstrukturen zur Verwendung in Exportprogrammen.
  3. Exportieren Sie die Daten in eine sequentielle Datei. Beachten Sie, dass das Zeichenformat von vordefinierten SAP Batch-Input-Programme.
  4. Besitzt das SAP Wenn die mitgelieferten BDC-Programme nicht verwendet werden, programmieren Sie Ihr eigenes Batch-Input-Programm. Wählen Sie je nach Situation eine geeignete Batch-Input-Methode.
  5. Verarbeiten Sie die Daten und fügen Sie sie dem hinzu SAP System.
  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. Auf Grundlage der Ergebnisse der Prozessanalyse können die fehlerhaften Daten korrigiert und erneut verarbeitet werden.

BDC-Programm schreiben

Beim Schreiben Ihres BDC-Programms können Sie den folgenden Prozess beobachten

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

Batch-Input-Datenstruktur

Deklaration der Batch-Input-Datenstruktur

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.
Feldname Typ Länge Beschreibung
PRO BONO VERKOHLEN 8 Modulpool
DYNPRO NUMC 4 Dynpro-Nummer
DYNBEGIN VERKOHLEN 1 Starten eines Dynpros
FNAM VERKOHLEN 35 Feldname
FVAL VERKOHLEN 80 Feldwert

Die Reihenfolge der Felder innerhalb der Daten für einen bestimmten Bildschirm ist nicht von Bedeutung

Punkte zu beachten

  • Achten Sie beim Ausfüllen der BDC-Daten darauf, dass Sie die Benutzereinstellungen berücksichtigen. Dies ist insbesondere beim Ausfüllen von Feldern relevant, die Zahlen enthalten (wie Menge, Betrag). Die Benutzereinstellung entscheidet über das Gruppierungszeichen für Zahlen. Beispiel: Eine Zahl von fünfzigtausend kann je nach Benutzereinstellung als 50,000.00 oder 50.000,00 geschrieben werden.
  • Komprimieren Sie das FVAL-Feld für Betrags- und Mengenfelder, sodass diese linksbündig ausgerichtet sind.
  • Beachten Sie, dass alle Felder, die Sie über BDC füllen, beim Füllen der BDC-Datentabelle als Zeichentypfelder behandelt werden sollten.
  • Wenn Sie in einigen Bildschirmen mithilfe von BDC Werte in ein Tabellensteuerelement füllen, müssen Sie notieren, wie viele Zeilen auf einer Standardgröße des Bildschirms vorhanden sind, und für so viele Zeilen codieren. Wenn Sie mehr Zeilen füllen müssen, müssen Sie die Funktion „Bild nach unten“ codieren, wie Sie es tun würden, wenn Sie das Tabellensteuerelement manuell füllen.
  • Die Anzahl der Zeilen, die im obigen Szenario erscheinen würden, hängt von der Bildschirmgröße ab, die der Benutzer verwendet. Codieren Sie also immer für die Standardbildschirmgröße und sorgen Sie dafür, dass Ihr BDC immer in der Standardbildschirmgröße arbeitet, unabhängig davon, welche Bildschirmgröße der Benutzer beibehält.

Erstellen einer Batch-Input-Sitzung

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

Batch-Input-Recorder

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

Batch-Input-Recorder

  • Starten Sie den Batch-Input-Recorder, indem Sie im Batch-Input-Einstiegsbild die Drucktaste Aufzeichnung wählen.
  • Der Aufzeichnungsname ist ein benutzerdefinierter Name und kann mit dem Namen der Batch-Input-Sitzung übereinstimmen, die aus der Aufzeichnung erstellt werden kann.
  • Geben Sie ein SAP Transaktion und beginnen Sie mit der Buchung der Transaktion.
  • Nachdem Sie die Buchung abgeschlossen haben, SAP Transaktion wählen Sie entweder „Transaktion abrufen und speichern“, um die Aufzeichnung zu beenden, oder „Nächste Transaktion“ und buchen eine weitere Transaktion.
  • Nachdem Sie die Aufzeichnung gespeichert haben, können Sie aus der Aufzeichnung eine Batch-Input-Mappe erstellen und/oder aus der Aufzeichnung ein Batch-Input-Programm generieren.
  • Die von Ihnen erstellte Batch-Input-Mappe kann nun wie jede andere Batch-Input-Mappe analysiert werden.
  • Das durch die Funktion des Batch-Input-Recorders erzeugte Programm ist ein leistungsstarkes Werkzeug für den Datenschnittstellenprogrammierer. Es bietet eine solide Basis, die dann je nach Kundenwunsch verändert werden kann.