Datei einlesen und als IDocs verarbeiten

Verwendung des IDoc als periodische Schnittstelle als Hintergrundjob einplanen.

Am Beispiel: Aus den Exportdaten eines Subsystems soll eine Bedarfsanforderung erstellt werden. Es ist eine eine Datei im Filesystem vorhanden die eingelesen und zu IDocs verarbeitet werden soll. Anschließend werden die erzeugten IDocs weiter verarbeitet.

TA: LSMW

Erstellen eines Projektes:

clip_image002

Objektattribute definieren:

Nachrichten- und Basistyp aus der Auswahlliste wählen.

clip_image004

Die beiden nächsten Arbeitsschritte ausführen. Die Quellstruktur ist in diesem Fall bereits angelegt.

clip_image006

image

image

Welche Strukturen sollen im Fieldmapping zur Verfügung stehen?

clip_image008

Das Fieldmapping

clip_image010

Den Feldern werden Konstanten oder Quellfelder zugeordnet. Zusätzlich wird hier eine eigne Routine eingebaut, die die Materialnummer rechtsbündig und mit führenden Nullen versorgt darstellt. Ohne diese Schreibweise würde es zu einer fehlerhaften Verarbeitung führen.

clip_image012

Diese Routine wird im nächsten Schritt ausprogrammiert.

clip_image014

Hier wird z.B. die Materialnummer so aufbereitet, dass sie rechtsbündig und mit führenden Nullen versorgt wird.

clip_image016

Dateien spezifizieren:

clip_image018

Wichtig für die Erstellung von IDocs ist noch die Einrichtung der Partnervereinbarung für den Nachrichtentyp. Hier wird der Nachrichtentyp PREQCR verwendet.

Screenshot aus dem Arbeitsschritt “Objektattribute pflegen”

clip_image020

Da eine Datei eingelesen und daraus die IDocs erzeugt werden, verwenden wir hier das eigene logische System.

clip_image022

In den Eingangsparametern müssen wir den Nachrichtentyp PREQCR hinzufügen.

clip_image024

clip_image026

Die nächsten Arbeitsschritte – wie gehabt.

clip_image028

An dieser Stelle folgt das Besondere der IDoc-Verarbeitung.

clip_image030

clip_image032

clip_image034

Das Selektionsbild schränkt die Auswahl der zu verarbeitenden IDocs ein. Wir wollen natürlich nur unsere gerade erzeugten IDocs verarbeiten.

clip_image036

Das Ergebnis sollte so aussehen:

clip_image038

Wenn hier jetzt eine rote Ampel auftaucht, dann muss man im Protokoll nachschauen wo der Fehler liegt. Zum Protokoll gelangt man entweder durch doppelklick auf die IDoc-Nummer oder mit der Transaktion BD87.

TA BD87

clip_image040

Es kann so aussehen:

clip_image042


Wir wollen an dieser Stelle mal Fehler analysieren. Die Knoten können aufgeklappt werden.

clip_image044

An diesem Beispiel wird ersichtlich, wie es sich mit der Materialnummer verhält. Im oberen Abschnitt habe ich erläutert, dass die in der richtigen Länge rechtsbündig und mit führenden Nullen vorliegen muss, sonst erscheinen diese Fehlermeldungen.

Mappe periodisch einplanen.

Um eine regelmäßig laufende Mappe zu erstellen, muss das Kennzeichen in den Objektattributen gesetzt werden.

clip_image046

Bei den Arbeitsschritten wird ein zusätzlicher Schritt eingeblendet.

clip_image048

clip_image050

clip_image052

Soll die eingelesene Datei im Dateisystem gelöscht oder umbenannt werden?

Sollen die IDoc sofort verarbeitet werden?

Das Programm wird für die Hintergrundverarbeitung eingeplant.

clip_image054

clip_image056

Dieser Eintrag wurde veröffentlicht in SAP/ABAP von . Setze ein Lesezeichen zum Permalink.

Schreibe einen Kommentar