Allgemeine Konfiguration
Im Folgenden werden die Schritte zur Konfiguration der B2BbP beschrieben, die notwendig sind, um das SAP ISU mit der B2BbP zu verbinden. Grundlage für diese Beschreibung ist die B2BbP-Konfiguration.
Aktualisieren Sie die B2BbP auf mindestens auf das B2B Release 2025-KW3.
In dieser Dokumentation werden standardmäßig die neu anzulegenden Channel OUT_API_REQUEST
und IN_API-REQUEST
verwendet.
Verarbeitung ausgehender API-Anfragen
Konfiguration SAP ECC / ISU http-Destination (SM59) (optional - empfohlen)
Diese Konfiguration bezieht sich auf die Dokumentation zur Anbindung von SAP IS-U.
Mit den folgenden Einstellungen haben Sie die Möglichkeit, den Ausgangschannel direkt aus dem SAP-System zu steuern. Diese Konfiguration ist optional, ist aber aktuell unsere Empfehlung. Alternativ können Sie auch die bestehenden SAP-Konfigurationen nutzen und das Routing wie im Kapitel “Routing in ausgehenden Channel” in den richtigen Ausgangschannel lenken.
- Erstellen Sie in der Transaktion SM59 eine neue “http-Verbindung zu ext. Systemen” mit dem Namen
B2BBP_API
- Tragen Sie in den “Technischen Einstellungen” in host den Hostnamen oder die IP Ihrer B2BbP ein.
- Unter Port tragen Sie den Port ein, unter dem Ihre B2BbP erreichbar ist ein
- Als Pfadpräfix nutzen Sie
/b2bbp-engine/StartupEngine?encoding=UTF-8&channel=OUT_API_REQUEST
- Tragen Sie unter “Anmeldung & Sicherheit” die entsprechenden B2BbP Anmeldedaten ein
Mit einem Verbindungstest können Sie die korrekte Konfiguration überprüfen:
Weitere Informationen zu SAP-Konfigurationen finden Sie in der SAP-Dokumentation, die im Rahmen des SAP ECC Projektbeschleunigers bereitgestellt wurde.
Konfiguration der IDOC-XML Formaterkennung
Die Formaterkennung für das IDOC-XML erfolgt über die Extension DIALECT. Erweitern Sie die bestehende Extension mit der von uns bereitgestellten DIALECT-Erweiterung.
Kontaktieren Sie hierfür unseren Support oder benannten Ansprechpartner. (Hinweis an den Support: die DIALECT findet sich hier).
Routing in ausgehenden Channel (optional)
Diese Konfiguration ist optional. Wenn Sie eine HTTP-Destination verwenden, die direkt an den Channel OUT_API_REQUEST
sendet, können Sie diesen Schritt überspringen.
Das Routing kann beispielsweise unter Verwendung der ChannelDistribution EdiConditionDistributorAllPresentations mit folgendem Eintrag in der Extension GENERIC_EDICONDITION_DISTRIBUTION erfolgen:
"OUT_API_REQUEST" <== $messagecontext.FORMAT.type== "API00003";
In einigen Systemen kann auch eine EdiConditionDistributorAllPresentationsOutbound vorhanden sein. In diesem Fall muss der entsprechende Eintrag in der Extension GENERIC_EDICONDITION_DISTRIBUTION_OUT konfiguriert werden.
Ausgehender Channel und Action Konfiguration
Im Standard nutzen wir den neuen Channel OUT_API_REQUEST
.
Die folgenden Actions müssen in der angegebenen Reihenfolge aktiviert werden, um einen API-Request an das AEP.API-System zu senden. Diese Nachricht enthält alle erforderlichen Informationen, damit das AEP.API-System die API-Nachricht über die Webservices versenden kann.
Actions:
- IndexAction (Volltextindexierung BASE_MASSAGE) (optional)
- XslTransformationAction (“API - Transform IDOCXML 2 API”)
- Send API WithOut API Product (optional)
- Outbox Action
- ErrorMailHandler-Action
Indexierung für die Volltextsuche (Optional)
Möglicherweise benötigt Ihr System die IndexAction für eine Volltextindizierung. Vergleichen Sie dazu Ihre anderen Kanäle. Falls Sie bereits unsere AEP.AS4-Lösung verwenden, können Sie eventuell die bestehende Action wiederverwenden.
Für die Volltextindizierung der API-Nachrichten kann nicht dieselbe Action verwendet werden wie für die EDIFACT-Volltextindizierung. Es wird eine separate Action mit den folgenden Eigenschaften benötigt:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
Volltextindexierung BASE_MASSAGE | java | org.b2bbp.channels.extension.IndexingService | Volltextindexierung, der BASE_MASSAGE | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
TARGET_INDEX_ENTRY | B3P_BASE_MESSAGE | Ja |
Mapping des IDOC-XML in die API-Anfrage Information Ziel-Struktur
Die Transformation erfolgt über XSLT mit der entsprechenden XslTransformationAction:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
API - Transform IDOCXML 2 API | java | org.b2bbp.eai.actions.XslTransformationAction | Mapping IDoc-XML zu API-JSON | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
EAI_ORIGINAL_XML | ${var(B3P_BASE_MESSAGE)} | Ja | (technisch) |
EAI_TRANSFORMATION_RESULT_PROP | CURRENT_PAYLOAD | Nein | |
EAI_XSL_EXTENSION_NAME | API_MAPPING_ZASP_API_MALO_01_2_API | Ja | |
TRANSFORMER_FACTORY_CLASSNAME | net.sf.saxon.TransformerFactoryImpl | Ja |
Die XSLT muss in der Extension API_MAPPING_ZASP_API_MALO_01_2_API
gespeichert werden. Kontaktieren Sie hierfür den Support oder Ihren benannten Ansprechpartner. (Hinweis an den Support: das Mapping findet sich hier).
Für Testumgebung noch ohne AEP.API-Produktanbindung (Optional)
Um Tests zwischen Ihren ERP-Systemen zu ermöglichen und somit eine Kommunikation zwischen beispielsweise Ihrem Verteilnetzbetreiber und Ihren Lieferanten zu gewährleisten, können Sie dieselbe oder eine andere B2BbP direkt mit folgender Konfiguration verbinden. Diese Konfiguration ermöglicht Ihnen einen Test, ohne das API-Produkt direkt angeschlossen zu haben. Sollten Sie bereits Zugriff auf unser API-Produkt haben, empfehlen wir Ihnen, die folgende Konfiguration zu überspringen und direkt mit der Einrichtung zur „Übergabe an die AEP.API-Queue“ zu beginnen.
Richten Sie folgende Action ein:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
Send API WithOut API Product | java | org.b2bbp.runtime.actions.internal.SetPropertyAction | Sendet den API Request an die B2BbP Testinstanz | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
B3P_USED_SERVICE_ID | ApiSenderServiceTest | nein | nein |
CURRENT_PAYLOAD | {"id":"TestDummy", "majorVersion": 1, "b2bMessageId":"${template(&(this.B3P_OBJ_MESSAGE.messageId))}","isResend":${if(${equals(${var(MESSAGE_IS_RESTARTED)},true)},true,false)},${stringsplit(${var(CURRENT_PAYLOAD)},^\s*\{,1)} |
nein |
Damit die Action und der Test funktionieren, richten Sie folgenden Service ein. Geben Sie bei IP
und Port
die B2BbP-Verbindung ein, an die Sie den API-Request für Tests senden möchten.
Id | Name | Typ | Klasse | Channel | Richtung | Urheber | Optionen |
---|---|---|---|---|---|---|---|
ApiSenderServiceTest | Sende API Request to Testsystem | HTTP | org.b2bbp.services.outbound.http.HttpPlainService2 | Nach Welt | b2bbp | nicht aktiv |
Serviceeigenschaft | Wert | Kontext überschreiben |
---|---|---|
HTTP_PASSWORD | Passwort der empfangenen B2BbP | Nein |
HTTP_URL | http://ip:port/b2bbp-engine/StartupEngine?channel=IN_API_REQUEST | Nein |
HTTP_USER | User der empfangenen B2BbP | Nein |
Übergabe an die AEP.API-Queue / AEP.API (Outbox Action)
Folgen Sie bitte ab hier der Standard B2B-Konfiguration.
Verarbeitung eingehender API-Anfragen
Konfiguration der API.JSON Formaterkennung
Bitte folgen Sie der Standardkonfiguration.
OUT_API_REQUEST
die System- und Partnerkonfiguration in der Extension B3P_FORMAT_RECOGNITION_JSON_PATHS
gedreht werden müssen. Bei der Anbindung der AEP.API und Deaktivierung der testkonfiguration muss wieder die Originalkonfiguration wiederhergestellt werden.Eingehender Channel und Action Konfiguration
Im Standard nutzen wir den neu anzulegenden Channel IN_API_REQUEST
.
Die nachfolgenden Actions müssen in derselben Reihenfolge in einem Channel aktiviert sein. Zusammen konvertieren sie den API-Request in ein IDOC-XML und senden dieses an das SAP ISU.
Actions:
- optional - IndexAction (Volltextindexierung BASE_MASSAGE)
- TransformJsonToXmlAction (“API - Convert JSON 2 XML”)
- XslTransformationAction (“API - Transform XML-JSON 2 IDOCXML”)
- Send To SAP ISU
- ErrorMailHandler-Action
Indexierung für die Volltextsuche (Optional)
"Volltextindexierung BASE_MASSAGE"
wiederverwenden.Möglicherweise benötigt Ihr System die IndexAction für eine Volltextindizierung. Vergleichen Sie dazu Ihre anderen Kanäle. Falls Sie bereits unsere AEP.AS4-Lösung verwenden, können Sie eventuell die bestehende Action wiederverwenden.
Für die Volltextindizierung der API-Nachrichten kann nicht dieselbe Action verwendet werden wie für die EDIFACT-Volltextindizierung. Es wird eine separate Action mit den folgenden Eigenschaften benötigt:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
Volltextindexierung BASE_MASSAGE | java | org.b2bbp.channels.extension.IndexingService | Volltextindexierung, der BASE_MASSAGE | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
TARGET_INDEX_ENTRY | B3P_BASE_MESSAGE | Ja |
Mapping der API-Anfrage Information Struktur auf IDOC-XML
Die Transformation API-JSON zu IDOC-XML erfolgt in 2 Schritten. Zunächst wird das JSON in eine JSON-XML Representation konvertiert. Anschließend erfolgt ein Mapping per XSLT zu IDOC-XML.
Der erste Schritt, die Konvertierung nach XML erfolgt mittels der Action org.b2bbp.eai.actions.TransformJsonToXmlAction
:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
API - Convert JSON 2 XML | java | org.b2bbp.eai.actions.TransformJsonToXmlAction | Transformation API-JSON zu XML-JSON Representation | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
JSONPATH_FOR_ELEMENTS_TO_UNESCAPE | $.body | Nein |
Im zweiten Schritt erfolgt das Mapping nach IDOC-XML über die XslTransformationAction:
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
API - Transform XML-JSON 2 IDOCXML | java | org.b2bbp.eai.actions.XslTransformationAction | Transformation XML-JSON zu IDOC-XML | b2bbp.org |
B3P_PARAM_MANDT
, B3P_PARAM_RCVPOR
, B3P_PARAM_RCVPRN
, B3P_PARAM_RCVPRT
) aus Ihrer bestehenden NLCAction2 bzw. stimmen Sie sich mit Ihrem zuständigen SAP Berater ab.Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
EAI_ORIGINAL_XML | ${var(JSON_XML)} | Ja | (technisch) |
EAI_TRANSFORMATION_RESULT_PROP | CURRENT_PAYLOAD | Nein | |
EAI_XSL_EXTENSION_NAME | API_MAPPING_API_2_ZASP_API_MALO_01 | Ja | |
TRANSFORMER_FACTORY_CLASSNAME | net.sf.saxon.TransformerFactoryImpl | Ja | |
B3P_PARAM_RCVPOR | SAP-RCVPOR | Nein | (technisch) |
B3P_PARAM_RCVPRN | SAP-RCVPRN | Nein | (technisch) |
B3P_PARAM_RCVPRT | SAP-RCVPRT | Nein | (technisch) |
B3P_PARAM_NODEID | ${var(B3P_ACTIVE_SERVER_NODE)} | Nein | (technisch) |
Das Mapping erfolgt mittels XSL-Transformation. Die XSLT muss in der Extension API_MAPPING_API_2_ZASP_API_MALO_01
gespeichert werden. Kontaktieren Sie
hierfür den Support oser Ihren benannten Ansprechpartner. (Hinweis an den Support: die XslTransformation findet sich hier).
Übergabe an SAP ISU
Beachten Sie, dass diese Konfiguration eventuell bereits in Ihrem System existiert. Aus Gründen der Vollständigkeit ist sie hier aufgeführt. Stellen Sie sicher, dass der Aufruf des SAP ISU in der IN_API_REQUEST
-Channelkonfiguration hinterlegt ist.
Die folgende Action ruft den Service SendIdoc2Sap
auf.
Name | Typ | Klasse | Beschreibung | Urheber |
---|---|---|---|---|
Send IDoc-XML to SAP | java | org.b2bbp.runtime.actions.internal.SetPropertyAction | Aufruf der Service Property für ICOC-XML zu SAP | b2bbp.org |
Aktionseigenschaft | Wert | Kontext überschreiben | Optionen |
---|---|---|---|
B3P_USED_SERVICE_ID | SendIdoc2Sap | ja |
In dem Service SendIdoc2Sap
müssen die entsprechenden Anmeldedaten und URL Parameter hinterlegt werden. Beachten Sie bitte die Hinweise in der Dokumentation des HttpPlainService
Id | Name | Typ | Klasse | Channel | Richtung | Urheber | Optionen |
---|---|---|---|---|---|---|---|
SendIdoc2Sap | Send IDOC-XML per Http to SAP | HTTP | org.b2bbp.services.outbound.http.HttpPlainService | Nach Welt | b2bbp | nicht aktiv |
In der HTTP_URL
ersetzen Sie bitte die IP mit dem Hostnamen oder IP des SAP-Systems, ergänzen Sie den Port abhängig zu Ihrer Systemnummer und ersetzen bitte mandant
mit der entsprechend benötigten Mandanten-Nummer.
Serviceeigenschaft | Wert | Kontext überschreiben |
---|---|---|
B3P_ENCODING | UTF-8 | Ja |
HTTP_PASSWORD | Password mit dem B2B-Base64-Tool kodiert | Nein |
HTTP_URL | http://ip :port /sap/bc/idoc_xml?sap-client=mandant |
Nein |
HTTP_USER | User des empfangenen SAP | Nein |
Statussynchronsiation
Konfigurationsbeschreibung folgt.
View Me Edit Me