Exceptions und Export-Parameter von master_idoc_distribute 
Über den Tabellen-Parameter communication_idoc_control gibt der Baustein die Kontrollsätze der IDocs zurück, die auf der Datenbank angelegt wurden. Man kann z. B. über die Felder docnum und status die IDoc-Nummer und den aktuellen Status erfahren. Im allgemeinen ist diese Tabelle für die rufende Anwendung nicht von Interesse.
Wenn der Empfänger des IDocs im Kontrollsatz beim Aufruf von master_idoc_distribute mit übergeben wurde, er aber laut Verteilungsmodell dieses IDoc nicht empfangen darf, wird die Exception error_in_idoc_control mit einer entsprechenden Fehlermeldung ausgegeben.
Wenn kein Empfänger im Kontrollsatz mitgegeben wurde und ALE keinen Empfänger im Verteilungsmodell findet, wird keine Exception ausgeworfen. Wenn man auf diesen Fall reagieren will, muss man die Rückgabe-Tabelle communication_idoc_control abfragen. Ist diese Tabelle leer, wurde kein IDoc erzeugt.
Dieses unterschiedliche Verhalten bei initialem und nicht initialem Empfänger ist historisch bedingt. Der initiale Empfänger ist der Standardfall für die Stammdatenreplikation, wo es nicht weiter interessiert, ob tatsächlich ein IDoc angelegt wurde. Der vorgegebene Empfänger ist der Standard für das Versenden von Bewegungsdaten, wo das Nichterstellen eines IDocs als Fehler interpretiert wird.
Exception |
Auftreten |
|
Kein oder falscher Nachrichtentyp angegeben. Kein oder falscher IDoc-Typ angegeben. Kein IDoc erzeugt, obwohl Empfänger durch Anwendung vorgegeben. |
|
Keine Datensätze übergeben |
|
Technische Probleme beim Schreiben der Status-Sätze. |
|
Das eigene logische System konnte nicht ermittelt werden. |