Beispiel und Anforderung
Wie in Teil 1 des IDoc-Guides starten wir mit einem Beispiel, womit ich dir die erforderliche Konfiguration des SAP-Systems zeige:
Mit dem Kunden Müller hast du vereinbart, dass du ihm die Avisierung der Lieferung mittels IDocs in elektronischer Form zukommen lässt. Der Kunde (Kundenummer 59327) setzt auch SAP ein. Ihr verwendet den Nachrichtentypen DESADV.
Partnervereinbarungen & Ports
Für jeden Austauschpartner pflegst du eine entsprechende Partnervereinbarung. Rufe die Transaktion WE20 auf. In dieser Übersicht werden dir auf der linken Seite die unterschiedlichen Partnerarten in einer Baumstruktur aufgezeigt, wie bspw. die Kunden oder Lieferanten. Mit einem Doppelklick verzweigst du in die Detailansicht des Austauschpartners. Ob es sich um einen Eingangs- oder Ausgangsparameter handelt, wird immer aus der Sicht des SAP-Systems betrachtet.
Auf das oben genannte Beispiel bezogen versendest du ein Lieferavis. Pflege also den Ausgangsparameter für den Kunden 59327 mit dem Nachrichtentyp DESADV.
Die (Empfänger-)ports lassen sich mithilfe Transaktion WE21 pflegen. Für den Ausgabemodus gibt es zwei Optionen: IDoc sofort übergeben oder IDocs sammeln und übertragen. Die direkte Übertragung kann bei einer hohen Anzahl von Belegen zu Performanceproblemen führen. Für die zweite Option richtest du einen SAP-Job ein, der die gesammelten IDocs bspw. alle paar Minuten überträgt. Stimme dich hierbei am besten mit deiner Systemadministration ab.
Testwerkzeug für die IDoc-Verarbeitung
Die Partnervereinbarungen und Ports sind gepflegt. Jetzt kannst du dein erstes IDoc selber erstellen und testen. Wenn es bereits IDocs vom zu testenden Basistyp im SAP-System gibt, kannst du diese als Grundlage heranziehen, und lediglich die vorhandenen Inhalte verändern. Alternativ kannst du natürlich auch ein leeres IDoc von einem bestimmten Basistyp erzeugen.
- Rufe die Transaktion WE19 auf
- Wähle ein vorhandenes IDoc aus
- Führe diesen Schritt aus (F8)
- Verändere ausgewählte Inhalte des IDocs
- Drücke den Button Standard Eingang oder Standard Ausgang
- Die Partnervereinbarung sollte automatisch gefunden werden
- Bestätige: es wird ein neues IDoc mit einer neuen Nummer erzeugt
Zum Schluss kannst du den IDoc-Monitor WLF_IDOC aufrufen, um zu prüfen, ob es korrekt verarbeitet worden ist.
Manchmal ist es erforderlich, IDocs von demselben Basistyp voneinander zu unterscheiden. Hierzu kann das Feld Nachrichtenvariante (und ggf. zusätzlich das Feld Nachrichtenfunktion) gefüllt werden. Das Feld hat drei Stellen und kann beliebig definiert werden. In dem empfangenden System können dann entsprechenden Regeln für die Verarbeitung definiert oder entwickelt werden.
Hilfreiche Transaktionen & Reports
- IDoc löschen: WE11
- IDoc manuell verbuchen: BD20
- IDoc aus Änderungszeigern erzeugen: BD21
- Report, um Status umzusetzen: RC1_IDOC_SET_STATUS (Bspw. wieder auf 30 setzen, danach mittels BD87 erneut versenden)
- Report zur Erzeugung von IDocs: RSEOUT00
- Aufruf Verzeichnisstruktur mit EDI-spezifische Transaktionen: WEDI, BALE
Eine tolle Übersicht an Transaktionen findest du übrigens im Beitrag Über 50 Transaktionen, die dir dein SAP-Trainer nicht zeigt!
Umsetzungsregeln
Mithilfe von Umsetzungsregeln kannst du IDoc-Felder noch vor dem Ein- oder Ausgang verändern. Beispiel: die übertragenden Materialstammdaten an das externe Warehouse Management System sollen so verändert werden, dass anstatt der Materialart ZABC die Materialart ZDEF übertragen wird. Umsetzungsregeln kannst du mit der Transaktion BD79 einstellen.
Aber Achtung: Mit Umsetzungsregel werden mitunter Schwachstellen vom Anfang des Prozesses erst zum Schluss ausgebessert. Ab eine gewissen Anzahl von Umsetzungsregeln leidet zudem möglicherweise die Wartbarkeit des SAP-Systems. Was hast du für Erfahrungen mit den SAP-eigenen Testwerkzeugen gemacht?