Show TOC Anfang des Inhaltsbereichs

FunktionsdokumentationModifikationskonzepte: IDoc-Eingang  Dokument im Navigationsbaum lokalisieren

Verwendung

Es stehen Ihnen die folgenden Modifikationsszenarien zur Verfügung:

·        Sie verwenden das Standard-IDoc, wollen aber die Verarbeitung des IDocs selbst realisieren.

Sie erzeugen einen eigenen Verarbeitungsbaustein, den Sie aus dem Standardfunktionsbaustein des jeweiligen Nachrichtentyps kopieren und anpassen.

·        Sie verwenden das Standard-IDoc, wollen aber die Standard-IDoc-Verarbeitung beeinflussen, d. h., Sie wollen die Fehlerbearbeitung modifizieren oder den Inhalt der IDocs kundenindividuell interpretieren.

Sie implementieren das Business Add-In (BAdI) im Standardfunktionsbaustein:

¡        Wenn Sie die Fehlerbearbeitung beeinflussen wollen, implementieren Sie das BAdI /SCWM/WMIDOC mit der Methode Error_Inbound.

¡        Wenn Sie die IDoc-Verarbeitung beeinflussen wollen, implementieren Sie das BAdI /SCWM/WMIDOC mit den folgenden Methoden

§         WMTORD_INBOUND

§         WMTOCO_INBOUND

§         WMCATO_INBOUND

§         WMSUMO_INBOUND

§         WMBBIN_INBOUND

Weitere Informationen zu den BAdI-Methoden finden Sie unter BAdI-Methoden der Schnittstelle.

·        Sie verwenden ein modifiziertes IDoc mit eigenen Segmenten, und Sie wollen für die Daten aus diesen Segmenten eine bestimmte Verarbeitung durchführen.

Sie definieren im Standard-IDoc eigene IDoc-Segmente und verwenden das BAdI /SCWM/WMIDOC mit der Methode Error_Inbound., um die Daten aus den eigenen Segmenten zu verarbeiten.

·        Sie verwenden ein modifiziertes IDoc mit eigenen Segmenten und wollen die Verarbeitung des IDocs selbst realisieren.

Sie definieren im Standard-IDoc eigene IDoc-Segmente und erzeugen einen eigenen Verarbeitungsfunktionsbaustein.

·        Sie benutzen ein eigenes IDoc mit einem neuen Nachrichtentyp und müssen die Verarbeitung des IDocs in eigener Regie realisieren.

Sie definieren ein eigenes IDoc und erzeugen einen eigenen Verarbeitungsfunktionsbaustein. Wenn Sie den Funktionsbaustein erstellen, können Sie die Standard-Hilfsfunktionsbausteine verwenden.

Funktionsumfang

Anpassung des Standardfunktionsbausteins

Sobald das SAP-System das IDoc empfangen und gesichert hat, ruft das System einen Rahmenfunktionsbaustein der Anwendung auf, der die Verarbeitung des IDocs übernimmt.

An diesem Punkt haben Sie die erste Möglichkeit, in die IDoc-Verarbeitung einzugreifen, indem Sie einen eigenen Verarbeitungsfunktionsbaustein erzeugen.

Sie tragen diesen Funktionsbaustein im Bild SAP Easy Access unter Werkzeuge   ALE   ALE-Entwicklung   IDoc   Eingangsverarbeitung   Funktionsbaustein IDoc- und Nachrichtentyp zuordnen ein.

Sie können dort auch eine zusätzliche Partnervereinbarung für eine bestimmte Nachrichtenvariante oder –funktion aus dem Fremdsystem treffen, um die Verarbeitung im SAP-System zu differenzieren.

Rahmenfunktionsbausteine für IDoc-Eingang

Nachrichtentyp

Funktionsbaustein

Verwendung

/SCWM/WMBBIN

/SCWM/IDOC_INPUT_WMBBIN

Lagerplätze sperren

/SCWM/WMCATO

/SCWM/IDOC_INPUT_WMCATO

Storno LB

/SCWM/WMSUMO

/SCWM/IDOC_INPUT_WMSUMO

Handling Unit bewegen

/SCWM/WMTOCO

/SCWM/IDOC_INPUT_WMTOCO

Quittieren LB

/SCWM/WMTORD

/SCWM/IDOC_INPUT_WMTORD_MULTIPLE

Lageraufgaben (LB)

Der Rahmenfunktionsbaustein filtert die Nutzdaten pro IDoc heraus und ruft seinerseits in einer Schleife den eigentlichen Verarbeitungsfunktionsbaustein der Anwendung auf.

Implementieren von BAdIs

Jeweils vor dem Aufruf dieses Funktionsbausteins als auch danach ist eine BAdI-Methode implementiert:

·        Die BAdI-Methode nach dem Aufruf des Funktionsbausteins können Sie nutzen, um eigene Fehlerstatus fortzuschreiben oder die gesetzten Fehlerstatus zu ändern.

·        Die BAdI-Methode vor dem Aufruf des Funktionsbausteins können Sie nutzen, um z. B. eigene Fortschreibungen durchzuführen oder um eigene Segmente (die Sie in der IDoc-Definition angehängt haben) auszuwerten.

Hinweis

Die Namen der BAdI-Methode entnehmen Sie dem Quellcode der Rahmenfunktionsbausteine.

Wenn Sie einen eigenen Funktionsbaustein erstellen oder BAdIs nutzen, achten Sie darauf, dass Sie keinen COMMIT-WORK-Befehl absetzen, da es sonst zu Fehlern bei der IDoc-Verarbeitung und zu Inkonsistenzen in der Fehlerbearbeitung kommen kann. Das System kehrt nach der Bearbeitung zurück in die ALE-Schicht, wo das System auftretende Anwendungsfehler fortschreibt, die IDoc-Status setzt und eventuell sogar Datenbank-Rollbacks ausführt.

Hinweis

Beachten Sie, dass weitere I/Os in den BAdIs die Performance beeinträchtigen können.

Definition eigener IDoc-Segmente

Eigene IDoc-Segmente definieren Sie, indem Sie im Bild SAP Easy Access Werkzeuge ALE   ALE-Entwicklung IDoc IDoctyp-Entwicklung  IDoctypen wählen. Weitere Informationen finden Sie unter Segmenteditor.

Erzeugung eigener Verarbeitungsfunktionsbausteine

Das SAP-System bietet allgemein verwendbare Funktionsbausteine zu den folgenden Aufgaben an für die Nutzung eigener Rahmenfunktionsbausteine:

Hilfsfunktionsbausteine für den IDoc-Eingang

Funktionsbaustein

Aufgabe

/SCWM/IDOC_CREATED_OBJECTS_SAVE

Die aus einem IDoc erstellten Belege zwischensichern

/SCWM/IDOC_ERROR_SAVE

Fehlerhafte IDocs zwischensichern

/SCWM/IDOC_INPUT_REFRESH

Initialisierung für die IDoc-Verarbeitung (Tabellen-Refresh)

/SCWM/IDOC_OK_SAVE

Verarbeitete IDocs zwischensichern

/SCWM/IDOC_RETURN_CREATE

Statussatz des IDocs ermitteln und aufbauen

/SCWM/IDOC_ROLLBACK_SAVE

IDoc-Tabellen nach notwendigem Rollback aktualisieren

/SCWM/IDOC_STATUS_CREATE

Statussatz des IDocs ermitteln und aufbauen

/SCWM/IDOC_TIDOC_FETCH

Holen der internen Tabelle zwecks Statusfortschreibung

Definition eigener IDocs

Wenn Sie eigene IDocs (Zwischenstruktur) definieren, ordnen Sie dieses IDoc einem neuen Nachrichtentyp zu. Wählen Sie dazu im Bild SAP Easy Access Werkzeuge ALE   ALE-Entwicklung IDoc IDoctyp-Entwicklung  IDoctypen. Weitere Informationen finden Sie unter Neue IDoc-Typen definieren.

Sie treffen eine Partnervereinbarung für diesen Nachrichtentyp.

Sie definieren für dieses IDoc die Tabellen für die Eingangsverarbeitung unter Werkzeuge ALE ALE-Entwicklung IDoc Eingangsverarbeitung.

Für die Fehlerbearbeitung steht Ihnen die Standardaufgabe TS00008099 zur Verfügung.

 

Ende des Inhaltsbereichs