IDoc-Verarbeitung 
Der Funktionsbaustein sollte die folgenden Schritte ausführen:
Prüfen Sie, ob das IDoc den richtigen Nachrichtentyp enthält (Feld Idoc_Contrl-Mestyp). Ist dies nicht der Fall, lösen Sie die Ausnahme Wrong_Function_Called mit der entsprechenden Meldung aus.
Wenn Sie einen Funktionsbaustein im Eingang für Stammdaten implementieren, die vom Kunden "reduziert" werden können, prüfen Sie nicht den Nachrichtentyp, sondern den Basis-IDoc-Typ (Feld Idoc_Contrl-Idoctp)
Initialisieren/aktualisieren Sie alle globalen Variablen bzw. Tabellen. Der Funktionsbaustein im Eingang kann mehrmals von einem Prozess aufgerufen werden. Die globalen Variablen sind daher beim zweiten Mal mit Werten versorgt.
Konvertieren Sie die Character-Daten in table Idoc_Data in ein internes Format in internen Tabellen. Sehen Sie im unten folgenden Beispiel nach, wie Sie dazu vorgehen müssen. Besondere Beachtung sollten Sie den Feldern schenken, die enthalten:
Maßeinheiten (ISO-Code im IDoc)
Währungscodes (ISO-Code im IDoc)
Ländercodes (ISO-Code im IDoc)
Versandvorschriften (ISO-Code im IDoc)
Geldbeträge (Konvertierungsfaktor erforderlich)
Datums- und Zeitangaben (siehe unten)
Felder mit Datums- und Zeitangaben können bei der Eingangsverarbeitung zu Fehlern führen, wenn das Feld im IDoc leer ist: wenn in ABAP ein leeres Zeichenfeld in ein Datenfeld übertragen wird, bleibt das Datenfeld leer, anstatt initial (nur Nullen), d.h., das Datenfeld hat schließlich einen ungültigen Wert. Die Fehler treten dann bei der nachfolgenden Verarbeitung auf, sobald das Datenfeld gegen den Initialwert if DateField is initial... geprüft wird. Um dies zu vermeiden, entfernen Sie den Wert im Datenfeld, wenn das IDoc-Feld leer ist, wie im Beispiel-Coding gezeigt.
Hinweis
Der Funktionsbaustein sollte nicht die Daten auf der Datenbank festschreiben (Commit Work).
Wenn Sie die Wahl haben, aktualisieren Sie die Datenbank nicht mit Call Function xxx In Update Task - dies ist für die ALE-Verarbeitung nicht erforderlich und erhöht nur die Last der Datenbank