Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Authentifizierung

...

Introduction

  • The JITL SAPS4HANAJob implements an interface to the SAP Job Scheduling Service REST API.

Authentication and Authorization

  • The JITL job makes use of token based SAP authentication with XSUAA.
  • This includes that the tokens generated cover the required scope to call individual application endpoints. 
    • Required permissions and roles are determined by the application.
    • Calls to different applications and endpoints can require different accounts and credential sets.

...

Generelle Verarbeitung

  • Gemäß den übergebenen Parametern wird ein SAP-Hana-Job mit genau einem Schedule zur sofortigen Ausführung angelegt.
    • Der im Action Endpoint angegebene SAP-Job kann synchron oder asynchron von SAP gestartet werden, wobei der JITL Job darüber keine Kenntnis hat. Ist aber auch nicht relevant, da JITL Job sowieso nicht weiß, wieviel Zeit der SAP-Job benötigt.
    • Der REST APIAufruf POST /scheduler/jobs liefert "jobId" und "scheduleId"
  • EIne Datei "jobName.json" wird im Dateisystem des Agenten angelegt, in dem "jobId" und "scheduleId" gespeichert sind.
    • Ein weiterer JILT Job SAPS4HANARetrieve, der regelmäßig laufen sollte, prüft anhand dieser Dateien die (noch offenen) SAP Job Execution Status zu einem späteren Zeitpunkt, falls die SAP-Jobs langlaufend sind.

      Note

      Wie Historie aktualisieren?

  • Es wird der SAP Job Execution Status (wiederholt) geprüft.
    • Anzahl und Interval der Prüfungen sind konfigurierbar.
    • Die Prüfung erfolgt mit REST API Aufruf GET /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs
      • Die Prüfung endet spätestens, wenn HTTP 404 geliefert wird oder wenn der "runStatus" gleich "COMPLETED" oder "UNKNOWN" ist. Dann wird ...
        • Ergebnis wird in das Job-Protokoll geschrieben.
        • SAP-Hana-Job wird gelöscht (mit DELETE /scheduler/jobs/{jobId}), wenn zuvor HTTP 200
        • "jobName.json" aus Dateisystem des Agenten gelöscht
  • Der Job endet mit "returnCode" = 0, es sei denn
    • POST /scheduler/jobs liefert ungleich HTTP 201
    • POST /scheduler/jobs läuft auf Connection-/Socket-Timeout.

...


Parameterization

Die Parameter sind dreieiteilig. Die Parameter unter 1. und 2. bekommen den Präfix "js7", um sich von den Parameter unter 3. zu unterscheiden.

...