SAP ALE (Eingangsagent)

Allgemeiner Ablauf


Der Eingangsagent SAP ALE realisiert die eingangsseitige Anbindung eines SAP-Systems über die SAP-ALE-Schnittstelle. Siehe auch Abschnitt SAP ALE.

Ein Profil, das den Eingangsagenten SAP ALE verwendet, verarbeitet selbst keine Daten, sondern übernimmt die Rolle eines "Dispatchers" (Verteiler), weswegen wir es im weiteren Verlauf das "Dispatcher-Profil" nennen. Das heißt, die entgegengenommenen Daten werden zur Verarbeitung an nachfolgende Verarbeitungs-Profile verteilt. Die folgende Abbildung zeigt das Prinzip der SAP-ALE-Anbindung.


images/download/attachments/137312427/SAP_ALE_1-version-1-modificationdate-1691031858128-api-v2.png


(1) SAP-System überträgt Daten, in denen ein oder mehrere IDocs enthalten sind.

(2) Die SAP-Schnittstelle prüft, ob die maximale Anzahl von IDocs pro Übertragung vom SAP-System (9) überschritten wird. Ist dies der Fall, dann wird die Verarbeitung der IDocs mit Rückmeldung an das SAP-System abgelehnt. Hinweis: Pro SAP-Übertragung gibt es eine TID.

(3) Die IDocs werden in Gruppen eingeteilt. Jede Gruppe enthält maximal die eingestellte Anzahl (8) von IDocs. Die einzelnen Gruppen werden als Ganzes an das Dispatcher-Profil übergeben. Hinweis: Die System-Variable VAR_SYS_MESSAGE_ID (sofern definiert) enthält <DOCNUM>@<TID>. Die DOCNUM ist dabei immer die des letzten IDocs der Gruppe. Die TID stammt aus (2).

(4) Das Dispatcher-Profil nimmt die Gruppen von IDocs entgegen und startet für jede Gruppe einen eigenen Job. Für jede Gruppe von IDocs als Ganzes wird dann ein IDoc-Kontrollsatz (EDI_DC40) zur Ermittlung des nachfolgenden Verarbeitungs-Profils herangezogen, siehe Punkte (11) - (16).

(5) Das ermittelte Verarbeitungs-Profil erhält per Message die ganze Gruppe von IDocs. Wichtiger Hinweis: Empfangene IDocs werden in des Encoding des vom Dispatcher-Profil ausgewählten Verarbeitungs-Profils konvertiert. Deshalb sollte vor dem Empfang der ersten IDocs das Encoding in den jeweiligen Verarbeitungs-Profilen so eingestellt werden, dass alle Zeichen darin abgebildet werden können. Unsere Empfehlung ist UTF8, weil darin praktisch alle relevanten Zeichen dargestellt werden können und auch die Datei vom SAP-Service aus in UTF8 kodiert kommt.

Einstellungen


(6) Nur auf IS starten: Nur relevant für das Zusatzmodul Load Balancing, um das Profil auf einem bestimmten Node zu starten. Hinweis: Siehe auch Abschnitt Dateinamen, Dateimuster, Pfade, System-Konstanten und Variablen.

(7) SAP Alias: Alias (aus ./etc/sap.xml) für das SAP-System, aus dem die Daten entgegengenommen werden. Wichtiger Hinweis: Wenn es mehrere Dispatcher-Profile mit dem selben SAP-Alias gibt, dann empfängt jeder Dispatcher die IDocs, unabhängig von den Einstellungen des anderen. Wir empfehlen das zu vermeiden.

(8) IDocs pro Konvertierung gruppieren: Maximale Anzahl von IDocs, die zu einer Gruppe zusammengefasst werden.

(9) Max. erlaubte Anzahl von IDocs pro Übertragung: Übertragungen mit mehr als der angegebenen Anzahl IDocs werden mit Rückmeldung an das SAP-System abgelehnt.

(10) Persistent: Wenn die Checkbox gesetzt ist, wird das Verarbeitungs-Profil asynchron mit persistenter Message aufgerufen. Die Verarbeitungsreihenfolge ist dann unbestimmt. Hinweis: Im Verarbeitungs-Profil darf nicht die Option Profil darf nur in einer Instanz laufen gesetzt sein.

Dispatch-Regeln


(11) Bedingungen für gleiche Profile mit UND verknüpfen: Diese Option hat nur Bedeutung, wenn mehrere Dispatch-Regeln auf dasselbe Verarbeitungs-Profil (16) verweisen. In diesem Fall werden die Regeln für das Verarbeitungs-Profil intern zusammengefasst, indem die angegebenen Werte für gleichnamige Spalten verodert und mit den restlichen Spalten verundet werden. Beispiel: Gehen wir von den zwei folgenden Regeln aus.

IDoc

CIM

DC40 Feld

Wert

Profil

ORDERS05


RCVPRN

0815

Profile_1

ORDERS05


RCVPRN

0816

Profile_1

Die intern zusammengefasste Regel für Profile_1 lautet dann (IDOC=ORDERS05) UND (RCVPRN=0815 ODER RCVPRN=0816).

(12) IDoc: Wert des Feldes IDOCTYP (Basistyp) des IDoc-Kontrollsatzes (EDI_DC40). In dieser Spalte muss der vollständige Name eines IDoc-Typs eingegeben werden. Groß-/Kleinschreibung wird nicht berücksichtigt. Hinweis: Ein eventuell vorhandener SAP-Namespace/SAP-Domänenname muss vorangestellt werden.

(13) CIM: Wert des Feldes CIMTYP (Erweiterungstyp) des IDoc-Kontrollsatzes (EDI_DC40). In dieser Spalte kann der vollständige Name eines Erweiterungstyps eingegeben werden. Groß-/Kleinschreibung wird nicht berücksichtigt. Hinweis: Ein eventuell vorhandener SAP-Namespace/SAP-Domänenname muss vorangestellt werden.

(14) DC40 Feld: Auswahl eines beliebigen weiteren Feldes des IDoc-Kontrollsatzes (EDI_DC40). Siehe auch (11).

(15) Wert: Hier kann ein Wert für das in (14) ausgewählte Feld eingetragen werden. Ist hier kein Wert eingetragen, dann wird der Wert des in (14) eingestellten Feldes nicht berücksichtigt.

(16) Profil: Verarbeitungs-Profil, das in Abhängigkeit von (11), (12), (13), (14) und (15) die Daten erhalten soll. Das Profil muss einen Eingangsagenten des Typs Message verwenden.

Default-Regel


IDocs, die keinem Profil zugeordnet werden können, werden ignoriert (diese IDocs sind zu finden im Bereich Unresolved). Bitte verwenden Sie eine Dispatch-Regel mit dem IDoc-Typ *, siehe (12), um diese IDocs einem Verarbeitungs-Profil zu übergeben, das dann entscheiden kann, was mit diesen geschehen soll. Die nachfolgenden Spalten (außer Spalte Profil) müssen leer bleiben. Der Stern * ist nur als unspezifischer IDoc-Typ verwendbar, aber nicht als Platzhalter für beliebige Zeichen.

Hinweis: Verwendet ein Profil diesen Eingangsagenten und genau eine (also keine weitere) Dispatch-Regel mit einem * im Feld IDOC, siehe (12), und ebenso genau einen (also keinen weiteren) Antwortweg des Typs Eigene Klasse mit einer der Klassen ContentInspectionResponse, ContentInspectionResponseAsync, ContentInspectionResponseUTF8 oder ContentInspectionResponseUTF8Async, dann werden die Daten an die Content Inspection übergeben, aber nicht an das Verarbeitungs-Profil, siehe (16), der Dispatch-Regel. Das spart einen Job (Backupdatei und Logs) für das Verarbeitungs-Profil, das ansonsten an die Content Inspection schicken würde. Es empfiehlt sich zudem für das Dispatch-Profile die Eigenschaft Vorhaltezeit der Daten-Backups auf 0 zu stellen, um weiteren Speicherplatz zu sparen.

Regel-Scoring


Können mehrere passende Regeln, also potentielle Verarbeitungs-Profile ermittelt werden, entscheidet ein Scoring, welche Regel und damit welches Verarbeitungs-Profil verwendet wird. Der Score ist umso höher, je mehr matchende Felder (12), (13) und (14)/(15) eine Regel hat, wobei (12) und (13) dabei höher priorisiert sind als (14)/(15). Zudem ist der Score auch höher, wenn in (14)/(15) mehr Felder verodert sind, siehe (11). Etwas anschaulicher in folgenden Beispielen. Die oberste Zeile hat den höchsten Score, danach abfallend.


IDOC

CIM

DC40 Feld

match

match

match, 5 Felder verodert

match

match

match, 3 Felder verodert

match

match

match, 1 Feld

match

leer

match, 3 Felder verodert

match

leer

match, 1 Feld

Manueller Upload und Neudurchlauf


Bei einem manuellen Upload verhalten sich SAP-Dispatcher-Profile exakt so, als ob die Daten über SAP kommen würden.

Bei einem Neudurchlauf eines SAP-Dispatcher-Profils werden die Regeln nicht mehr durchlaufen, da sie ja bereits durchlaufen wurden und die Backup-Dateien in den Jobs der jeweiligen Verarbeitungs-Profilen vorhanden sind. Es werden lediglich vorhandene Antwortwege des SAP-Dispatcher-Profils ausgeführt.