Connect Solutions - REST API für den SAP Solution Manager
Mapping von Geschäftspartnern (REST API für den Solution Manager)
Bei der Anlage oder Aktualisierung eines ChaRM Objekts über die REST API können Geschäftspartner und dessen Rollen im Request in der folgenden Form angegeben werden, siehe https://galileogroup.atlassian.net/wiki/spaces/CONNECTDOCDE/pages/622428169/Endpunkte+REST+API+f+r+den+SAP+Solution+Manager#Business-Partner .
In der Eigenschaft “partnerLookup” ist üblicherweise die Geschäftspartnernummer anzugeben, die mithilfe der REST API anhand der Email ermittelt werden kann, siehe https://galileogroup.atlassian.net/wiki/spaces/CONNECTDOCDE/pages/622428169/Endpunkte+REST+API+f+r+den+SAP+Solution+Manager#GET-%2Fdata%2Fpartner%3Femail%3D%7BemailAddress) . Sofern die Email-Adresse nicht eindeutig ist oder im Quellsystem, z. B. ServiceNow, nicht existiert, besteht die Möglichkeit ein kundenspezifisches Mapping für die Ermittlung von Geschäftspartner zu implementieren. Die Voraussetzung ist, dass ein eindeutiges Merkmal zur Bestimmung eines Geschäftspartners existiert, welches im Quellsystem und im Solution Manager zur Verfügung steht.
In folgendem Beispiel ist ein solches eindeutiges Merkmal als Suchbegriff im Geschäftspartnerstammsatz hinterlegt.
Für die Implementierung eines Geschäftspartner-Mappings wird im Addon ein Enhancement Spot mit Namen /GAL/SM_CHARM ausgeliefert. Zur Anlage einer Implementierung, gehen Sie wie folgt vor.
Rufen Sie die Transaktion SE19 auf.
Tragen Sie im Feld Erweiterungsspot den Namen /GAL/SM_CHARM ein und klicken auf die Schaltfläche “Impl. anlegen”.
Im eingeblendeten Popup hinterlegen Sie einen Namen für die Enhancement Implementierung gemäß den Namenskonventionen Ihres Unternehmens und bestätigen die Eingabe mit der entsprechenden Schaltfläche
Im nächsten Popup erfolgt die Paketzuordnung und die Abfrage eines Transportauftrags. Wählen Sie ein geeignetes Paket und Transportauftrag oder legen Sie einen neuen an.
In einem weiteren Popup muss der Name der BAdI Implementierung und der Name der Implementierenden Klasse angegeben werden. Wählen Sie einen geeigneten Namen anhand Ihrer Namenskonvention und wählen Sie als BAdI Defintion aus der Wertehilfe den Eintrag /GAL/SM_CHARM_PARTNER_BADI aus und bestätigen die Eingabe mit der entsprechenden Schaltfläche im Dialog
Ein weiteres Popup für die Paketzuordnung wird angezeigt. Wählen Sie hier das selbe Paket wie im vorherigen Popup und einen entsprechenden Transportauftrag aus.
Nach der erfolgreichen Eingabe aller relevanten Daten, wird die neu angelegte Erweiterungsimplementierung angezeigt.
Um die Programmierung in der Implementierenden Klasse vorzunehmen, klicken Sie in der linken Baumstruktur doppelt auf den Knoten “Implementierende Klasse” und danach in der rechten Bildhälfte via Doppelklick auf den Link zur Implementierenden Klasse, um zum SAP Class Builder zu navigieren. In der Methode /GAL/IF_EX_CHARM_PARTNER_BADI~ASSIGN_PARTNER können Sie die kundeneigene Logik für ein Geschäftspartner-Mapping implementieren. Die Methode enthält folgende Definition.
Parameter | Art | Datentyp | Beschreibung |
---|---|---|---|
PROCESS_TYPE | Importing | CRMT_PROCESS_TYPE | Die Geschäftsvorgangsart des aktuellen ChaRM Objekts für die ein Partner-Mapping durchgeführt werden soll. |
PARTNER_FCT | Importing | CRMT_PARTNER_FCT | Die Rolle des Partners im ChaRM Objekt, z. B. Entwickler oder Change Manager. |
PARTNER_PFT | Importing | CRMT_PARTNER_PFT | Die Kategorie der Partnerrolle im ChaRM Objekt, z. B. Mitarbeiter oder Lieferant. |
LOOKUP_TEXT | Changing | STRING | Der Wert “partnerLookup” aus dem REST Request. |
Die drei Importparameter können für komplexere Mappings verwendet werden, wenn z. B. das Mapping abhängig von der Partnerrolle oder der Geschäftsvorgangsart sein sollte.
In unserem Beispiel benötigen wir nur den Wert aus dem Changing-Parameter LOOKUP_TEXT. Die folgende Beispiel-Implementierung zeigt wie ein Geschäftspartner anhand des zweiten Suchbegriffs ermittelt und der gefundene Wert zurückgeben wird.