Die SAP-Daten-API ermöglicht das Hoch- und Herunterladen von Daten aus SAP. Die API ist für Evolve und für Studio Manager verfügbar. Die API macht die JSON-Nutzlast und andere Details (d. h. SAP, Ausführungseinstellungen usw.) für das Buchen von Daten in SAP verfügbar. Der ROI wird für alle Umgebungen (Entwicklung, QA und Produktion) synchronisiert, aber die Abrechnung erfolgt nur für das Produktionssystem.
Die SAP-Daten-API unterstützt keine verketteten Skripte und Mehrfach-Skripte. Die SAP-Daten-API unterstützt nur einzelne Transaktionen. Evolve Web und Service Worker unterstützen keine auf GUI-Skripten basierenden Transaktionen, daher wird es auch nicht für die SAP-Daten-API unterstützt. Abfragen mit IN-Kriterien unter Verwendung eines dynamischen Dateipfads für fest oder benutzerdefiniert werden nicht unterstützt.
Voraussetzungen
Im Folgenden werden die beiden Voraussetzungen für die Verwendung dieser Funktion aufgeführt.
-
Die Lizenz für die SAP-Daten-API muss auf dem Evolve System aktiviert werden.
-
Der Wert für den Schlüssel SapIntegrationAPIEnable sollte auf „Wahr“ gesetzt werden.
Sobald die Lizenz erfolgreich aktiviert wurde, konfiguriert die Anwendung auch die Systemvariable SapIntegrationAPIEnable und setzt sie in den erweiterten Einstellungen automatisch auf „Wahr“ ( „Verwaltung“ → „System“ → „Erweiterte Einstellungen“). Setzen Sie diesen Wert auf „Falsch“, um die SAP-Funktion zu deaktivieren.
Nur globale Administratoren dürfen Lizenzen hinzufügen und verwalten. Die SAP-Integrationslizenz ist die erforderliche Lizenz für die SAP-Daten-API. Beim Typ kann zwischen Abonnement (abgestuft – Tier-Band) und Abonnement (Volumen – Volumenband) gewählt werden. Der Schlüssel SapIntegrationAPIEnable für erweiterte Einstellungen kann nur aktiviert werden, wenn der Benutzer über einen gültigen Typ einer SAP-Integrationslizenz mit gleicher SKU verfügt. SapIntegrationApi ist mit dem API-Gateway und seinem unterstützten Authentifizierungsmechanismus gesichert.
Sie können über Evolve auf die SAP-Daten-API zugreifen. Einzelheiten zum Speichern von Lösungen von SAP-Daten-APIs auf Evolve, zu den Einstellungen für die SAP-API-Genehmigung sowie zum Hinzufügen und Aktualisieren der SAP-API über die Registerkarte „Lösungen“ finden Sie unter SAP-Daten-API mit Evolve.
Sie können Skripte für die SAP-Daten-API erstellen und die Skripte mit Studio an Evolve senden. Weitere Informationen hierzu finden Sie unter SAP-Daten-API mit Studio.
-
Verwenden Sie „ErrorCode“ aus der API-Antwort, anstelle des Felds „Message“. Bei einigen Fehlercodes können die Daten im Nachrichtenfeld in Englisch und bei einigen in der Standardsprache des Benutzers sein.
-
Gemäß JSON-Standard ist „\“ keine gültige Zeichenfolge, da der JSON-Validierer dieses Zeichen nicht unterstützt. Daher müssen Sie „\\“ hinzufügen, damit Daten mit „\“ erkannt werden.
-
Damit Escape-Zeichen für JSON unterstützt werden, müssen Sie „\“ vor dem Escape-Zeichen verwenden.
Beispiel: „\n“ und „\t“ passieren den JSON-Validierer, werden jedoch durch Leerzeichen ersetzt. Sie müssen die Zeichen „\\n“ und „\\t“ also erneut hinzufügen.
Für den Zugriff auf eine beliebige API ist ein Routenpräfix erforderlich. Bei einem Routenpräfix handelt es sich um eine Kombination aus Evolve URL und bestimmten Schlüsselwörtern.
Für die Evolve URL muss der Benutzer die Portnummer angeben, es sei denn, es handelt sich nicht um die Standardportnummer. Wenn wir beispielsweise eine Evolve Website am Standardport 80 haben, können wir beide der folgenden Evolve URLs für den Zugriff auf die API verwenden.
-
http://cha-de-vstpnx1.wsdt.local:80/svr/api/v1/Processextn/GetAllAssignments
-
http://cha-de-vstpnx1.wsdt.local/svr/api/v1/Processextn/GetAllAssignments.
Für die drei Sicherheitsoptionen gibt es die folgenden Routenpräfixe, die für den Zugriff auf die API verwendet werden müssen:
Geheimer Clientschlüssel: „<Evolve URL>/svr“
Sicherheitstoken: „<Evolve URL>/svr“
Zertifikat: „<Evolve URL>/svrc“
Wenn der Benutzer für die SAP-Daten-API eine Lösung auswählt, um die URL der SAP-Daten-API-Lösung anzuzeigen, wird sie wie folgt angezeigt: „<BaseURL/GatewayURL>/api/v1/SAPIS“
BaseURL/GatewayURL: Routenpräfix
BaseURL: Evolve URL
GatewayURL : „svr“ für „Geheimer Clientschlüssel & Sicherheitstoken“ und „svrc“ für „Zertifikat“.
Anforderungs- und Antworttext
Die Struktur des Anforderungs- und Antworttextes zum Hochladen und Herunterladen von Daten aus SAP mithilfe der SAP-Daten-API sieht wie folgt aus:
Anforderung:
Der Anforderungstext enthält Folgendes:
Name | Typ | Einschränkung | Beschreibung |
---|---|---|---|
SolutionDetail | JObject | Erforderlich |
Informationen zur Lösung mit folgenden Parametern:
|
RunParameter | JObject | Erforderlich | Definiert die Daten, die in SAP validiert/gebucht werden sollen. Felddetails finden Sie im Beispiel zur Eingabenutzlast. Welche Daten definiert werden müssen, hängt von der spezifischen Ausführung ab. |
SAPDetails | JObject | Erforderlich |
Enthält Informationen zur Lösung mit folgenden Parametern:
Es wird empfohlen, SAP-Anmeldedaten oder Windows-Anmeldedaten auf Evolve für Evolve Benutzer zu speichern, damit das Klartextkennwort beim Netzwerkaufruf nicht traversiert wird, während die API über einen Drittanbieter-Client ausgeführt wird. |
RequestParameter | JObject | - |
Enthält Informationen zu folgendem Parameter:
|
Antwort:
Der Anworttext enthält Folgendes:
Name | Typ | Einschränkung | Beschreibung |
---|---|---|---|
RunResponse | JObject | - |
Enthält Informationen zur erfolgten Ausführung mit folgenden Parametern:
|
Fehler:
Der Fehlertext enthält Folgendes:
Name | Typ | Einschränkung | Beschreibung |
---|---|---|---|
Festes Array für Fehlerspezifikationen | Jarray | - |
Enthält Informationen zur erfolgten Ausführung mit folgenden Parametern:
|
Anforderungs- und Antwortbeispiel
API-Spezifikation für Transaction
Die Nutzlast zeigt eine kombinierte Liste aus Eingabenutzlast, Ausgabenutzlast und Fehlernutzlast an.
Datums- und Zahlenformat
Das ISO-Datumsformat wird ausgewählt, da es bekannt und weit verbreitet ist. Es wird in verschiedenen Sprachen verwendet und eignet sich bestens zur Konvertierung in das SAP-Benutzerprofilformat.
Das folgende Datums- und Zahlenformat wird in der SAP-API-Nutzlast übergeben. Das Datums- und Zahlenformat wird überprüft.
Datumsformat („jjjj-MM-tt“), Beispiel: (2021-06-09)
Dezimalformat (99999999,999), Beispiel: (12345,678)
Nutzung der Eingabe- und Ausgabenutzlast: Für Transaction und BAPI muss der Benutzer die Eingabenutzlast auswählen, um die Daten in SAP zu buchen, und die Ausgabenutzlast, um die Daten aus SAP herunterzuladen.
Die Fehlernutzlast ist für Transaction/BAPI/Query üblich und zeigt dem Benutzer einen Fehler an.
Anforderungsbeispiel:
Anforderungsnutzlast
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "Material_Number": "string", "Material_Description__Short_Text_": "string", "Gross_Weight": "0.0", "Net_Weight": "0.0" } , "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "Validate": "bool" } }
Antwortbeispiel:
Antwortnutzlast
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RunResult": { "Base_Unit_of_Measure": "string", "Material_Group": "string", "Weight_Unit": "string" } } }
Fehlerbeispiel:
Fehlernutzlast
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]
API-Spezifikation für Query
Die Nutzlast zeigt eine kombinierte Liste aus Eingabenutzlast, Ausgabenutzlast und Fehlernutzlast an.
Nutzung der Eingabe- und Ausgabenutzlast: Für Query muss der Benutzer die Eingabenutzlast auswählen, um die Kriterienfelder des Klauselgenerators zu übergeben. Die Ausgabenutzlast wird verwendet, um Daten aus SAP herunterzuladen.
Die Fehlernutzlast ist für Transaction/BAPI/Query üblich und zeigt dem Benutzer einen Fehler an.
Anforderungsbeispiel:
Anforderungsnutzlast
{ "SolutionDetail": { "SolutionName": "string", "LibraryName": "string", "AppName": "string" }, "RunParameter": { "MAKT_Language_Key": { "EqualToOp1": "string" } }, "SapDetails": { "ConnectionName": "string", "EvolveUser": "string", "SAPUser": "string", "SAPPassword": "string", "SAPLanguage": "string", "WindowsCredentials": { "UserName": "string", "Password": "string" } }, "RequestParameter": { "RecordCount": "0", "GetRecordsCountOnly": "bool" } }
Antwortbeispiel:
Antwortnutzlast
{ "RunResponse":{ "Success": "bool", "LogField": "string", "RecordCount": "0", "RunResult": [{ "MARA_Material_Number": "string", "MAKT_Language_Key": "string", "MAKT_Material_Description__Short_Text_": "string", "MARA_Gross_Weight": "string", "MARA_Net_Weight": "string" }] } }
Fehlerbeispiel:
Fehlernutzlast
[ { "ErrorCode": "string", "Message": "string", "errorPrameters": [{"string"}] } ]