
Der SAP Business Connector-Sender-Adapter bietet die Möglichkeit, Daten aus einem externen Message-Protokoll zu extrahieren und damit den Header der XI-Message aufzubauen. Dieser Vorgang wird als Normalisierung oder auch als Partnerumschlüsselung bezeichnet. Der Aufbau des XI-Message-Header hängt vom gewählten Message-Protokoll ab.
Nach erfolgreichem Aufbau des XI-Message-Headers wird eine Sendervereinbarung gesucht, die diesem XI-Header entspricht. Die gefundene Sendervereinbarung verweist auf einen Kommunikationskanal, der weitere Informationen für die Verarbeitung der Message im SAP Business-Connector-Adapter enthält.
Aufbau des Message-Header bei Message-Protokoll RFC-XML mit Umschlag
Die Felder des XI-Message-Header werden in der Reihenfolge aufgebaut, in der sie angegeben sind.
Es wird der Name des RFC-fähigen Funktionsbausteins verwendet. Das ist der Name des ersten XML-Tags, das nach dem Body-Tag des RFC-XML-Umschlags folgt. Dieses Tag muss im XML-Namensraum urn:sap-com:document:sap:rfc:functions liegen.
Da die ABAP-Namensraum-Bezeichner /namensraum/ in XML unzulässig sind, werden sie vom Sender in XML folgendermaßen abgebildet:
_-namensraum_-
Diese Abbildung wird, wenn vorhanden, wieder rückgängig gemacht.
Es wird der feste Namensraum urn:sap-com:document:sap:rfc:functions verwendet.
Besteht das Feld From im RFC-XML-Umschlag aus sechs Zeichen, werden diese Zeichen als SAP System-ID und Mandant angesehen. Es wird ein partnerloser Service gesucht, der als adapterspezifische Identifikatoren diese System-ID und den Mandant enthält.
Weitere Informationen: SAP-NetWeaver-Bibliothek unter SAP NetWeaver Process Integration → Spezielle Entwicklungsaufgaben → Erweiterte Routing-Techniken anwenden → Adapterspezifische Message-Attribute im Message-Header verwenden
Der gefundene partnerlose Service wird als Sender-Service verwendet.
Hat das Feld eine andere Länge als sechs Zeichen oder war die Suche nach dem Service erfolglos, wird der Inhalt des Feldes From aus dem RFC-XML-Umschlag selbst als Sender-Service verwendet.
Diese Felder bleiben leer.
Aufbau des Message-Header bei Message-Protokoll IDoc-XML
Der Sender-Adapter bildet den XI-Message Header anhand folgender Regeln ab. Zur Erklärung werden folgende Begriffe verwendet:
+
Die Felder des XI-Message-Header werden in der Reihenfolge aufgebaut, in der sie angegeben sind.
MESTYP + "."+ IDOCTYP
Wenn das Feld CMITYP vorhanden ist, wird noch Folgendes an den Interfacenamen angehängt: "." + CMITYP
Hier wird der feste Namensraum urn:sap-com:document:sap:idoc:messages verwendet.
Hat das Feld SNDPOR den Inhalt "SAP" gefolgt von einer dreistelligen System-ID, dann wird versucht, einen partnerlosen Service zu finden, der als adapterspezifische Identifikatoren diese SAP-System-ID und den Wert des Feldes MANDT enthält.
Beginnt der Inhalt des Feldes SNDPOR nicht mit "SAP", wird versucht einen partnerlosen Service zu finden, der als adapterspezifische Identifikatoren (IDoc-Adapter) den Inhalt des Feldes SNDPOR hat.
Der gefundene partnerlose Service wird als Sender-Service verwendet.
Enthält das Feld SNDPRT LS, handelt es sich bei dem Service um ein logisches System und der Sender-Partner bleibt leer.
Handelt es sich um kein logisches System, wird ein Partner mit Hilfe der alternativen Identifikatoren (beim Kommunikationspartner) ermittelt. Als Identifikatoren werden hierbei verwendet:
Mit diesen Werten wird über alle Partner gesucht. Der gefundene Partner wird als Sender-Partner verwendet.
Dieses Feld bleibt immer leer.
Enthält das Feld RCVPRT LS, handelt es sich bei dem Service um ein logisches System und der Empfänger-Partner bleibt leer.
Handelt es sich um kein logisches System, wird versucht einen Partner anhand der alternativen Identifikatoren (beim Kommunikationspartner) zu ermitteln. Als Identifikatoren werden hierbei verwendet:
Der gefundene Partner wird als Empfänger-Partner verwendet.
Der Empfänger-Adapter wertet den Header der XI-Message nicht für die Partnerumschlüsselung aus. Die XI-Message-Payload wird direkt an den empfangenden SAP Business Connector geschickt. Die Message muss also schon das korrekte IDoc-XML-Dokument inklusive IDoc-Kontrollsatz enthalten.