

AWS Der Mainframe Modernization Service (Managed Runtime Environment Experience) steht Neukunden nicht mehr zur Verfügung. Funktionen, die dem AWS Mainframe Modernization Service (Managed Runtime Environment-Erfahrung) ähneln, finden Sie unter AWS Mainframe Modernization Service (Self-Managed Experience). Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Änderung der Verfügbarkeit von [AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS Transformation für Mainframe-Runtime APIs
<a name="ba-runtime-endpoints"></a>

 AWS Transform for Mainframe Runtime verwendet mehrere Webanwendungen, um REST-Endpunkte verfügbar zu machen, und bietet so Möglichkeiten, mithilfe von REST-Clients mit den modernisierten Anwendungen zu interagieren (z. B. das Aufrufen von Jobs mithilfe eines Schedulers).

Der Zweck dieses Dokuments besteht darin, die verfügbaren REST-Endpunkte aufzulisten und Einzelheiten zu folgenden Themen zu enthalten:
+ Ihre Rolle
+ Die Art, sie richtig zu benutzen 

Die Liste der Endgeräte ist je nach Art des bereitgestellten Dienstes und der Webanwendung, die die Endpunkte verfügbar macht, in Kategorien unterteilt.

Wir gehen davon aus, dass Sie bereits über Grundkenntnisse in der Verwendung von REST-Endpunkten mit speziellen Tools wie [POSTMAN](https://www.postman.com/), [Thunder Client](https://www.thunderclient.com/), [CURL](https://curl.se/), Webbrowsern usw. verfügen. oder schreiben Sie Ihren eigenen Code, um einen API-Aufruf zu tätigen.

**Topics**
+ [Verfügbare Endpunkte für Benutzer beim Erstellen URLs](ba-endpoints-build-urls.md)
+ [Endpunkte für die Gapwalk-Anwendung in AWS Transform für Mainframe](ba-endpoints-gapwalk.md)
+ [BlusamREST-Endpunkte der Anwendungskonsole](ba-endpoints-bac.md)
+ [Verwaltung der JICS-Anwendungskonsole in AWS Transform für Mainframe](ba-endpoints-jac.md)
+ [Datenstrukturen für AWS Transform für Mainframe-Benutzer](ba-endpoints-apx.md)

# Verfügbare Endpunkte für Benutzer beim Erstellen URLs
<a name="ba-endpoints-build-urls"></a>

In diesem Thema werden die URLs mit Root-Pfaden für Endgeräte aufgeführt. Jede der unten aufgeführten Webanwendungen definiert einen **Stammpfad**, der von allen Endpunkten gemeinsam genutzt wird. **Jeder Endpunkt fügt dann seinen eigenen dedizierten Pfad** hinzu. Die resultierende URL, die verwendet werden soll, ist das Ergebnis der Verkettung der Pfade. Wenn wir zum Beispiel den ersten Endpunkt für die Gapwalk-Anwendung betrachten, haben wir:
+ `/gapwalk-application`für den Stammpfad der Webanwendung.
+ `/scripts`für den dedizierten Endpunktpfad.

Die resultierende URL, die verwendet werden soll, lautet `http://server:port/gapwalk-application/scripts`

**server**  
zeigt auf den Servernamen (den, der die angegebene Webanwendung hostet).

**port**  
der vom Server bereitgestellte Port.

# Endpunkte für die Gapwalk-Anwendung in AWS Transform für Mainframe
<a name="ba-endpoints-gapwalk"></a>

In diesem Thema erfahren Sie mehr über die Endpunkte für die Gapwalk-Webanwendung. Diese verwenden den Stammpfad. `/gapwalk-application`

**Topics**
+ [Endgeräte im Zusammenhang mit Batch-Jobs (modernisiert JCLs und ähnlich)](#ba-endpoints-gapwalk-batch)
+ [Endpunkte von Metriken](#ba-endpoints-gapwalk-metrics)
+ [Andere Endpunkte](#ba-endpoints-gapwalk-other)
+ [Endpunkte im Zusammenhang mit Jobwarteschlangen](#ba-endpoints-gapwalk-jobq)

## Endgeräte im Zusammenhang mit Batch-Jobs (modernisiert JCLs und ähnlich)
<a name="ba-endpoints-gapwalk-batch"></a>

Batch-Jobs können entweder synchron oder asynchron ausgeführt werden (siehe Details unten). Batch-Jobs werden mithilfe von Groovy-Skripten ausgeführt, die das Ergebnis der Modernisierung von Legacy-Skripten (JCL) sind.

**Topics**
+ [Listet die bereitgestellten Skripte auf](#ba-list-deployed-scripts)
+ [Starten Sie ein Skript synchron](#ba-launch-script-synchronously)
+ [Starten Sie ein Skript asynchron](#ba-launch-script-asynchronously)
+ [Auflisten ausgelöster Skripte](#ba-launch-script-triggered)
+ [Details zur Auftragsausführung werden abgerufen](#ba-retrieve-job-execution-details)
+ [Listet asynchron gestartete Skripten auf, die beendet werden können](#ba-list-async-scripts)
+ [Listet synchron gestartete Skripten auf, die beendet werden können](#ba-list-sync-scripts)
+ [Beenden einer bestimmten Jobausführung](#ba-kill-job-execution)
+ [Auflisten vorhandener Checkpoints aus Gründen der Neustartfähigkeit](#ba-list-existing-checkpoints)
+ [Einen Job neu starten (synchron)](#ba-restart-job-sync)
+ [Einen Job neu starten (asynchron)](#ba-restart-job-async)
+ [Einstellung des Thread-Limits für asynchrone Jobausführungen](#ba-set-thread-limit)

### Listet die bereitgestellten Skripte auf
<a name="ba-list-deployed-scripts"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/scripts`
+ Argumente: keine
+ Dieser Endpunkt gibt die Liste der bereitgestellten Groovy-Skripte auf dem Server als Zeichenfolge zurück. Dieser Endpunkt ist in erster Linie für die Verwendung in einem Webbrowser vorgesehen, da der resultierende String eine HTML-Seite mit aktiven Links ist (ein Link pro startbarem Skript — siehe Beispiel unten).

Beispielantwort:

```
<p><a href=./script/COMBTRAN>COMBTRAN</a></p><p><a href=./script/CREASTMT>CREASTMT</a></p><p><a href=./script/INTCALC>INTCALC</a></p><p><a href=./script/POSTTRAN>POSTTRAN</a></p><p><a href=./script/REPROC>REPROC</a></p><p><a href=./script/TRANBKP>TRANBKP</a></p><p><a href=./script/TRANREPT>TRANREPT</a></p><p><a href=./script/functions>functions</a></p>
```

**Anmerkung**  
**Die Links stellen die URL dar, die verwendet werden soll, um jedes aufgelistete Skript synchron zu starten.**
+ Unterstützte Methode: GET//POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/triggerscripts`
+ Argumente: keine
+ Dieser Endpunkt gibt die Liste der bereitgestellten Groovy-Skripte auf dem Server als Zeichenfolge zurück. Dieser Endpunkt ist in erster Linie für die Verwendung in einem Webbrowser vorgesehen, da der resultierende String eine HTML-Seite mit aktiven Links ist (ein Link pro startbarem Skript — siehe Beispiel unten).

  **Im Gegensatz zur vorherigen Endpunktantwort stellen die Links die URL dar, die verwendet werden soll, um jedes aufgelistete Skript asynchron zu starten.**  
![\[Beispiel für das Auflisten von Skripten (Browseransicht)\]](http://docs.aws.amazon.com/de_de/m2/latest/userguide/images/trigger_scripts.png)

### Starten Sie ein Skript synchron
<a name="ba-launch-script-synchronously"></a>

Dieser Endpunkt hat zwei Varianten mit dedizierten Pfaden für die GET- und POST-Nutzung (siehe unten).
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/script/{scriptId:.+}`
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/post/script/{scriptId:.+}`
+ Argumente:
  + ID des Skripts zum Starten der **Eingabevalidierung**: Die Skript-ID darf nicht leer sein, darf 255 Zeichen nicht überschreiten und muss dem folgenden Muster entsprechen: `^[a-zA-Z0-9._-]+$`
  + optional: Parameter, die unter Verwendung von Anforderungsparametern (als a`Map<String,String>`) an das Skript übergeben werden. Die angegebenen Parameter werden automatisch zu den [Bindungen](https://docs.groovy-lang.org/latest/html/api/groovy/lang/Binding.html) des aufgerufenen Groovy-Skripts hinzugefügt. **Eingabevalidierung: Die** Parameterzuweisung darf 50 Einträge nicht überschreiten.
+ Der Aufruf führt das Skript (identifiziert durch ScriptID) mit optionalen Parametern aus und wartet auf den Abschluss, bevor ein mit einer *ResponseEntityString* der folgenden Optionen zurückgegeben wird: 
  + HTTP 200: „Fertig“. oder JSON-Erfolgsmeldung bei erfolgreicher Ausführung
  + HTTP 200: Eine JSON-Fehlermeldung mit Details zum Ausführungsfehler. Zusätzliche Informationen sind in Serverprotokollen verfügbar.
**Anmerkung**  
Runtime unterstützt jetzt die Rückgabe des HTTP 500-Statuscodes für fehlgeschlagene Jobausführungen. Informationen [zur Konfiguration dieses Antwortcodes finden Sie unter Verfügbare Eigenschaften für die Hauptanwendung](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-key-value.html#ba-runtime-key-value-main).
  + **Eingabevalidierung**: Eine ungültige Skript-ID oder ungültige Parameter geben HTTP 400 Bad Request mit Details zum Validierungsfehler zurück.

    ```
    {
        "exitCode": -1,
        "stepName": "STEP15",
        "program": "CBACT04C",
        "status": "Error"
    }
    ```

    Anhand der Serverprotokolle können wir feststellen, dass es sich um ein Bereitstellungsproblem handelt (das erwartete Programm wurde nicht ordnungsgemäß bereitgestellt, sodass es nicht gefunden werden kann, sodass die Auftragsausführung fehlschlägt):  
![\[Beispiel für einen Fehler bei der Skriptausführung\]](http://docs.aws.amazon.com/de_de/m2/latest/userguide/images/script_exec_error_logs.png)

**Anmerkung**  
Die synchronen Aufrufe sollten für Jobs mit kurzer Laufzeit reserviert werden. Jobs mit langer Laufzeit sollten lieber asynchron gestartet werden (siehe dedizierter Endpunkt unten).

### Starten Sie ein Skript asynchron
<a name="ba-launch-script-asynchronously"></a>
+ Unterstützte Methoden: GET/POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/triggerscript/{scriptId:.+}`
+ Argumente:
  + ID des Skripts zum Starten der **Eingabevalidierung**: Die Skript-ID darf nicht leer sein, darf 255 Zeichen nicht überschreiten und muss dem folgenden Muster entsprechen: `^[a-zA-Z0-9._-]+$`
  + optional: Parameter, die unter Verwendung von Anforderungsparametern (als a`Map<String,String>`) an das Skript übergeben werden. Die angegebenen Parameter werden automatisch zu den [Bindungen](https://docs.groovy-lang.org/latest/html/api/groovy/lang/Binding.html) des aufgerufenen Groovy-Skripts hinzugefügt. **Eingabevalidierung: Die** Parameterzuweisung darf 50 Einträge nicht überschreiten.
+ Im Gegensatz zum obigen synchronen Modus wartet der Endpunkt nicht auf den Abschluss der Auftragsausführung, um eine Antwort zu senden. Die Auftragsausführung wird sofort gestartet, wenn dafür ein verfügbarer Thread gefunden wird, und es wird sofort eine Antwort an den Aufrufer gesendet, die die Auftragsausführungs-ID enthält, eine eindeutige Kennung, die die Auftragsausführung darstellt. Diese kann verwendet werden, um den Status der Auftragsausführung abzufragen oder das Abbrechen einer Auftragsausführung zu erzwingen, bei der eine Fehlfunktion vermutet wird. Das Format der Antwort ist:

  ```
  Triggered script <script identifier> [unique job execution id] @ <date and time>
  ```
+ Da die asynchrone Ausführung des Jobs auf einer festen, begrenzten Anzahl von Threads basiert, wird die Auftragsausführung möglicherweise nicht gestartet, wenn kein verfügbarer Thread gefunden werden konnte. In diesem Fall sieht die zurückgegebene Nachricht eher so aus:

  ```
  Script [<script identifier>] NOT triggered - Thread limit reached (<actual thread limit>) - Please retry later or increase thread limit.
  ```

  Im `settriggerthreadlimit` Endpunkt unten erfahren Sie, wie Sie das Thread-Limit erhöhen können.

Beispielantwort:

```
Triggered script INTCALC [d43cbf46-4255-4ce2-aac2-79137573a8b4] @ 06-12-2023 16:26:15
```

Die eindeutige ID für die Auftragsausführung ermöglicht es, bei Bedarf schnell zugehörige Protokolleinträge in den Serverprotokollen abzurufen. Sie wird auch von mehreren anderen Endpunkten verwendet, die weiter unten beschrieben werden.

### Auflisten ausgelöster Skripte
<a name="ba-launch-script-triggered"></a>
+ Unterstützte Methoden: GET/POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfade:, `/triggeredscripts/{status:.+}` `/triggeredscripts/{status:.+}/{namefilter}`
+ Argumente:
  + Status (verpflichtend): Der Status der ausgelösten Skripte, die abgerufen werden sollen. **Eingabeüberprüfung**: Der Status darf nicht leer sein und darf 50 Zeichen nicht überschreiten. Mögliche Werte sind:
    + `all`: Zeigt alle Details zur Jobausführung an, unabhängig davon, ob die Jobs noch laufen oder nicht.
    + `running`: zeigt nur Jobdetails für Jobs an, die gerade ausgeführt werden.
    + `done`: zeigt nur Jobdetails für Jobs an, deren Ausführung beendet ist. 
    + `killed`: zeigt nur Jobdetails für Jobs an, deren Ausführung über den dedizierten Endpunkt gewaltsam beendet wurde (siehe unten). 
    + `triggered`: zeigt nur Jobdetails für Jobs an, die ausgelöst, aber noch nicht gestartet wurden.
    + `failed`: zeigt nur Auftragsdetails für Jobs an, deren Ausführung als fehlgeschlagen markiert wurde.
    + \$1namefilter (optional) \$1: ruft nur Ausführungen für die angegebene Skript-ID ab. **Eingabeüberprüfung: Darf** 255 Zeichen nicht überschreiten
+ Gibt eine Sammlung von Details zur Auftragsausführung als JSON zurück. Weitere Informationen finden Sie unter [Details zur Auftragsausführung, Nachrichtenstruktur](ba-endpoints-apx.md#job-execution-details).

Beispielantwort:

```
[
    {
      "scriptId": "INTCALC",
      "caller": "127.0.0.1",
      "identifier": "d43cbf46-4255-4ce2-aac2-79137573a8b4",
      "startTime": "06-12-2023 16:26:15",
      "endTime": "06-12-2023 16:26:15",
      "status": "DONE",
      "executionResult": "{ \"exitCode\": -1, \"stepName\": \"STEP15\", \"program\": \"CBACT04C\", \"status\": \"Error\" }",
      "executionMode": "ASYNCHRONOUS"
    }
  ]
```

### Details zur Auftragsausführung werden abgerufen
<a name="ba-retrieve-job-execution-details"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/getjobexecutioninfo/{jobexecutionid:.+}`
+ Argumente:
  + jobexecutionid (erforderlich): Die eindeutige Kennung zur Auftragsausführung, um die entsprechenden Details zur Jobausführung abzurufen. **Eingabevalidierung**: Die Jobausführungs-ID darf nicht leer sein und darf 255 Zeichen nicht überschreiten
+ Gibt eine JSON-Zeichenfolge zurück, die einzelne Details zur Auftragsausführung (siehe[Details zur Auftragsausführung, Nachrichtenstruktur](ba-endpoints-apx.md#job-execution-details)) oder eine leere Antwort darstellt, wenn für den angegebenen Bezeichner keine Details zur Auftragsausführung gefunden werden konnten.

### Listet asynchron gestartete Skripten auf, die beendet werden können
<a name="ba-list-async-scripts"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/killablescripts`
+ Gibt eine Sammlung von Bezeichnern für die Auftragsausführung von Jobs zurück, die asynchron gestartet wurden, derzeit noch ausgeführt werden und gewaltsam beendet werden können (siehe den `/kill` Endpunkt unten).

### Listet synchron gestartete Skripten auf, die beendet werden können
<a name="ba-list-sync-scripts"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/killablesyncscripts`
+ Gibt eine Sammlung von Identifikatoren für die Auftragsausführung von Jobs zurück, die synchron gestartet wurden, derzeit noch ausgeführt werden und gewaltsam beendet werden können (siehe den `/kill` Endpunkt unten).

### Beenden einer bestimmten Jobausführung
<a name="ba-kill-job-execution"></a>
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/kill/{identifier:.+}`
+ Argument: ID für die Auftragsausführung (verpflichtend): Die eindeutige Kennung für die Auftragsausführung, die gewaltsam beendet werden soll. **Überprüfung der Eingabe**: Der Bezeichner darf nicht leer sein und darf 255 Zeichen nicht überschreiten
+ Gibt eine Textnachricht zurück, in der das Ergebnis des Abbruchs der Auftragsausführung detailliert beschrieben wird. Die Nachricht enthält die Skriptkennung, die eindeutige Kennung der Auftragsausführung sowie das Datum und die Uhrzeit, an dem die Ausführung abgebrochen wurde. Wenn für den angegebenen Bezeichner keine laufende Jobausführung gefunden werden konnte, wird stattdessen eine Fehlermeldung zurückgegeben. 

**Warnung**  
 Die Laufzeit bemüht sich nach besten Kräften, die Ausführung des Zieljobs ordnungsgemäß zu beenden. Daher kann es einige Zeit dauern, bis die Antwort vom /kill-Endpunkt den Aufrufer erreicht, da die AWS Transform for Mainframe-Runtime versucht, die geschäftlichen Auswirkungen eines Abbruchs des Jobs zu minimieren.
Das gewaltsame Abbrechen einer Auftragsausführung sollte nicht leichtfertig erfolgen, da dies direkte geschäftliche Folgen haben kann, einschließlich möglichen Datenverlusten oder Datenbeschädigungen. Sie sollte den Fällen vorbehalten bleiben, in denen die Ausführung eines bestimmten Auftrags schiefgegangen ist und die Mittel zur Datenbehebung eindeutig identifiziert wurden.
Die Einstellung eines Arbeitsplatzes sollte zu weiteren Untersuchungen (Post-Mortem-Analyse) führen, um herauszufinden, was schief gelaufen ist, und um geeignete Abhilfemaßnahmen zu ergreifen.
In jedem Fall wird der Versuch, einen laufenden Job zu beenden, in den Serverprotokollen mit Warnmeldungen protokolliert.

### Auflisten vorhandener Checkpoints aus Gründen der Neustartfähigkeit
<a name="ba-list-existing-checkpoints"></a>

Die Neustartfähigkeit von Job hängt von der Fähigkeit der Skripte ab, Checkpoints zu registrieren, `CheckpointRegistry` um den Fortschritt der Auftragsausführung zu verfolgen. Wenn eine Auftragsausführung nicht ordnungsgemäß beendet wird und Neustart-Checkpoints registriert wurden, kann man die Jobausführung einfach vom letzten bekannten registrierten Checkpoint aus neu starten (ohne die Vorgängerschritte oberhalb des Checkpoints ausführen zu müssen).
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/restarts/{scriptId}/{jobId}`
+ Argumente:
  + ScriptID (optional — Zeichenfolge): Das Skript wird neu gestartet.
  + jobId (optional — string): Die eindeutige Kennung einer Jobausführung.
+ Gibt eine JSON-formatierte Liste vorhandener Neustartpunkte zurück, die verwendet werden können, um einen Job neu zu starten, dessen Ausführung nicht ordnungsgemäß abgeschlossen wurde, oder um einen verzögerten Neustart auszulösen, indem zuvor ausgeführte Schritte umgangen werden. Wenn keine Checkpoints durch Skripts registriert wurden, lautet der Seiteninhalt „Keine registrierten Checkpoints“.

### Einen Job neu starten (synchron)
<a name="ba-restart-job-sync"></a>
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/restart/{hashcode}/{scriptId}/{skipflag}`
+ Argumente: 
  + Hashcode (Ganzzahl — verpflichtend): Startet die letzte Ausführung eines Jobs neu und verwendet dabei den bereitgestellten Hashcode als Checkpoint-Wert (siehe `/restarts` Endpunkt oben, um zu erfahren, wie Sie einen gültigen Checkpoint-Wert abrufen können).
  + ScriptID (optional — Zeichenfolge): Das Skript wird neu gestartet.
  + skipflag (optional — boolean): Überspringt die Ausführung des ausgewählten Schritts (Checkpoint) und führt einen Neustart vom unmittelbaren Nachfolgeschritt aus (falls vorhanden).
+ Rücksendungen: siehe Beschreibung der Rücksendung oben. `/script`

### Einen Job neu starten (asynchron)
<a name="ba-restart-job-async"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/triggerrestart/{hashcode}/{scriptId}/{skipflag}`
+ Argumente: 
  + Hashcode (Ganzzahl — verpflichtend): Startet die letzte Ausführung eines Jobs neu und verwendet dabei den bereitgestellten Hashcode als Checkpoint-Wert (siehe `/restarts` Endpunkt oben, um zu erfahren, wie Sie einen gültigen Checkpoint-Wert abrufen können).
  + ScriptID (optional — Zeichenfolge): Das Skript wird neu gestartet.
  + skipflag (optional — boolean): Überspringt die Ausführung des ausgewählten Schritts (Checkpoint) und führt einen Neustart vom unmittelbaren Nachfolgeschritt aus (falls vorhanden).
+ Rücksendungen: siehe Beschreibung der Rücksendung oben. `/triggerscript`

### Einstellung des Thread-Limits für asynchrone Jobausführungen
<a name="ba-set-thread-limit"></a>

Die asynchrone Ausführung des Jobs basiert auf einem dedizierten Thread-Pool in der JVM. Dieser Pool hat ein festes Limit in Bezug auf die Anzahl der verfügbaren Threads. Der Benutzer hat die Möglichkeit, das Limit entsprechend den Hostkapazitäten (Anzahl CPUs, verfügbarer Speicher usw.) anzupassen. Standardmäßig ist das Thread-Limit auf 5 Threads festgelegt.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/settriggerthreadlimit/{threadlimit:.+}`
+ Argument (Ganzzahl): Das neue anzuwendende Thread-Limit. **Eingabevalidierung**: Muss zwischen 1 und einschließlich 1000 liegen.
+ Gibt eine Meldung (`String`) zurück, die das neue Thread-Limit und das vorherige Thread-Limit angibt, oder eine Fehlermeldung, wenn der angegebene Thread-Grenzwert nicht gültig ist (keine strikt positive Ganzzahl).

Beispielantwort:

```
Set thread limit for Script Tower Control to 10 (previous value was 5)
```

#### Zählung der aktuell ausgeführten, ausgelösten Jobausführungen
<a name="ba-count-current-jobs"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/countrunningtriggeredscripts`
+ Gibt eine Meldung zurück, die die Anzahl der laufenden Jobs angibt, die asynchron gestartet wurden, und das Thread-Limit (das ist die maximale Anzahl von ausgelösten Jobs, die gleichzeitig ausgeführt werden können).

Beispielantwort:

```
0 triggered script(s) running (limit =10)
```

**Anmerkung**  
Dies kann verwendet werden, um vor dem Starten eines Jobs zu überprüfen, ob das Thread-Limit nicht erreicht wurde (was verhindern würde, dass der Job gestartet werden könnte). 

#### Informationen zur Auftragsausführung löschen
<a name="ba-purge-job-info"></a>

Die Informationen zu den Auftragsausführungen verbleiben im Serverspeicher, solange der Server aktiv ist. Es kann praktisch sein, die ältesten Informationen aus dem Speicher zu löschen, da sie nicht mehr relevant sind. Das ist der Zweck dieses Endpunkts.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/purgejobinformation/{age:.+}`
+ Argumente: Ein strikt positiver Ganzzahlwert, der das Alter der zu löschenden Informationen in Stunden angibt. **Eingabevalidierung**: Muss zwischen 0 und einschließlich 365 liegen.
+ Gibt eine Nachricht mit den folgenden Informationen zurück:
  + Name der Löschdatei, in der Informationen zur Ausführung gelöschter Jobs zu Archivierungszwecken gespeichert werden.
  + Anzahl der Informationen zur gelöschten Jobausführung.
  + Anzahl der verbleibenden Informationen zur Jobausführung im Memo

## Endpunkte von Metriken
<a name="ba-endpoints-gapwalk-metrics"></a>

**Eingabevalidierung**: Alle Metrik-Endpunkte validieren die Anforderungsparameter und geben bei ungültigen Werten HTTP 400 Bad Request zurück.

### JVM
<a name="ba-metrics-jvm"></a>

Dieser Endpunkt gibt verfügbare Metriken zurück, die sich auf die JVM beziehen.
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/metrics/jvm`
+ Argumente: keine
+ Gibt eine Nachricht mit den folgenden Informationen zurück:
  + threadActiveCount: Anzahl der aktiven Threads.
  + jvmMemoryUsed: Speicher, der von der Java Virtual Machine aktiv genutzt wird.
  + jvmMemoryMax: Maximal zulässiger Arbeitsspeicher für die Java Virtual Machine.
  + jvmMemoryFree: Verfügbarer Speicher, der derzeit nicht von der Java Virtual Machine verwendet wird.

### Sitzung
<a name="ba-metrics-session"></a>

Dieser Endpunkt gibt Metriken zurück, die sich auf aktuell geöffnete HTTP-Sitzungen beziehen.
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/metrics/session`
+ Argumente: keine
+ Gibt eine Nachricht mit den folgenden Informationen zurück:
  + sessionCount: Anzahl der aktiven Benutzersitzungen, die derzeit vom Server verwaltet werden.

### Batch
<a name="ba-metrics-batch"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/metrics/batch`
+ Argumente:
  + startTimeStamp (optional, Zahl): Startzeitstempel für die Datenfilterung. **Eingabevalidierung**: Muss ein gültiger numerischer Wert sein.
  + endTimeStamp (optional, Zahl): Endzeitstempel für die Datenfilterung. **Eingabevalidierung**: Muss ein gültiger numerischer Wert sein.
  + Seite (optional, Zahl): Seitennummer für die Seitennummerierung. **Eingabevalidierung**: Muss eine positive Ganzzahl sein.
  + pageSize (optional, Anzahl): Anzahl der Elemente pro Seite bei der Paginierung. **Eingabevalidierung**: Muss eine strikt positive Ganzzahl sein, maximal 500.
  + **Eingabevalidierung**: Die Parameterzuweisung darf 20 Einträge nicht überschreiten
+ Gibt eine Nachricht mit den folgenden Informationen zurück:
  + Inhalt: Liste der Metriken zur Batch-Ausführung.
  + pageNumber: Aktuelle Seitennummer bei der Paginierung.
  + pageSize: Anzahl der pro Seite angezeigten Elemente.
  + TotalPages: Gesamtzahl der verfügbaren Seiten.
  + numberOfElements: Anzahl der Elemente auf der aktuellen Seite.
  + last: Boolesches Kennzeichen für die letzte Seite.
  + first: Boolesche Flagge für die erste Seite.

### Transaktion
<a name="ba-metrics-transaction"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/metrics/transaction`
+ Argumente:
  + startTimeStamp (optional, Zahl): Startzeitstempel für die Datenfilterung. **Eingabevalidierung**: Muss ein gültiger numerischer Wert sein.
  + endTimeStamp (optional, Zahl): Endzeitstempel für die Datenfilterung. **Eingabevalidierung**: Muss ein gültiger numerischer Wert sein.
  + Seite (optional, Zahl): Seitennummer für die Seitennummerierung. **Eingabevalidierung**: Muss eine positive Ganzzahl sein.
  + pageSize (optional, Anzahl): Anzahl der Elemente pro Seite bei der Paginierung. **Eingabevalidierung**: Muss eine strikt positive Ganzzahl sein, maximal 500.
  + **Eingabevalidierung**: Die Parameterzuweisung darf 20 Einträge nicht überschreiten
+ Gibt eine Nachricht mit den folgenden Informationen zurück:
  + Inhalt: Liste der Metriken zur Transaktionsausführung.
  + pageNumber: Aktuelle Seitennummer bei der Paginierung.
  + pageSize: Anzahl der pro Seite angezeigten Elemente.
  + TotalPages: Gesamtzahl der verfügbaren Seiten.
  + numberOfElements: Anzahl der Elemente auf der aktuellen Seite.
  + last: Boolesches Kennzeichen für die letzte Seite.
  + first: Boolesche Flagge für die erste Seite.

## Andere Endpunkte
<a name="ba-endpoints-gapwalk-other"></a>

Verwenden Sie diese Endpunkte, um registrierte Programme oder Dienste aufzulisten, den Systemstatus zu ermitteln und JICS-Transaktionen zu verwalten.

**Topics**
+ [Registrierte Programme auflisten](#ba-list-registered-programs)
+ [Auflisten registrierter Dienste](#ba-list-registered-services)
+ [Gesundheitsstatus](#ba-health-status)
+ [Listet die verfügbaren JICS-Transaktionen auf](#ba-list-jics-transactions)
+ [Starten Sie eine JICS-Transaktion](#ba-launch-jics-transaction)
+ [Starten Sie eine JICS-Transaktion (Alternative)](#ba-launch-jics-transaction-alt)
+ [Listet aktive Sitzungen auf](#ba-active-session-list)

### Registrierte Programme auflisten
<a name="ba-list-registered-programs"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/programs`
+ Gibt die Liste der registrierten Programme als HTML-Seite zurück. Jedes Programm wird durch seine Hauptprogramm-ID bezeichnet. Sowohl modernisierte Legacy-Programme als auch Hilfsprogramme (IDCAMS, IEBGENER, etc...) werden wieder in die Liste aufgenommen. Bitte beachten Sie, dass die verfügbaren Hilfsprogramme von den Utility-Webanwendungen abhängen, die auf Ihrem Tomcat-Server bereitgestellt wurden. Beispielsweise sind z/OS Hilfsprogramme für modernisierte iSeries-Geräte möglicherweise nicht verfügbar, da sie nicht relevant sind. 

### Auflisten registrierter Dienste
<a name="ba-list-registered-services"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/services`
+ Gibt die Liste der registrierten Runtime-Dienste als HTML-Seite zurück. Die angegebenen Dienste werden von AWS Transform for Mainframe Runtime als Hilfsprogramme bereitgestellt, die zum Beispiel in Groovy-Skripten verwendet werden können. Blusam-Load-Services (um Blusam-Datensätze aus älteren Datensätzen zu erstellen) fallen in diese Kategorie.

Beispielantwort:

```
<p>BluesamESDSFileLoader</p><p>BluesamKSDSFileLoader</p><p>BluesamRRDSFileLoader</p>
```

### Gesundheitsstatus
<a name="ba-health-status"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/`
+ Gibt eine einfache Nachricht zurück, die anzeigt, dass die Gapwalk-Anwendung läuft () `Jics application is running.`

### Listet die verfügbaren JICS-Transaktionen auf
<a name="ba-list-jics-transactions"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/transactions`
+ Gibt eine HTML-Seite zurück, auf der alle verfügbaren JICS-Transaktionen aufgelistet sind. Dies ist nur für Umgebungen mit JICS-Elementen (Modernisierung älterer CICS-Elemente) sinnvoll.

Beispielantwort:

```
<p>INQ1</p><p>MENU</p><p>MNT2</p><p>ORD1</p><p>PRNT</p>
```

### Starten Sie eine JICS-Transaktion
<a name="ba-launch-jics-transaction"></a>
+ Unterstützte Methoden: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/jicstransrunner/{jtrans:.+}`
+ Argumente:
  + JICS-Transaktions-ID (Zeichenfolge, erforderlich): Kennung der JICS-Transaktion, die gestartet werden soll (max. 8 Zeichen lang)
  + <String, Object>erforderlich: zusätzliche Eingabedaten, die an die Transaktion übergeben werden sollen, als Map. Der Inhalt dieser Karte wird verwendet, um die [COMMAREA](https://www.ibm.com/docs/en/cics-ts/5.4?topic=programs-commarea) mit Strom zu versorgen, die im Rahmen der JICS-Transaktion verbraucht wird. Die Map kann leer sein, wenn für die Ausführung der Transaktion keine Daten erforderlich sind.
  + optional: HTTP-Header-Einträge, um die Ausführungsumgebung für die angegebene Transaktion anzupassen. Die folgenden Header-Schlüssel werden unterstützt:
    + `jics-channel`: Der Name des JICS-KANALS, der von dem Programm verwendet werden soll, das bei diesem Transaktionsstart gestartet wird. 
    + `jics-container`: Der Name des JICS-CONTAINERS, der für diesen JICS-Transaktionsstart verwendet werden soll.
    + `jics-startcode`: der STARTCODE (Zeichenfolge, bis zu 2 Zeichen), der beim Start der JICS-Transaktion verwendet werden soll. Mögliche Werte finden Sie unter [STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign) (auf der Seite nach unten blättern).
    + `jicxa-xid`: Die XID (X/Open Transaction Identifier XID-Struktur) einer „globalen Transaktion“ ([XA](https://en.wikipedia.org/wiki/X/Open_XA)), die vom Aufrufer initiiert wurde und an der der aktuelle Start der JICS-Transaktion beteiligt sein wird. **Eingabevalidierung**: XID darf nicht leer sein und darf 255 Zeichen nicht überschreiten.
+ Gibt eine `com.netfective.bluage.gapwalk.rt.shared.web.TransactionResultBean` JSON-Serialisierung zurück, die das Ergebnis des JICS-Transaktionsstarts darstellt.
+ **Eingabevalidierung**: Ungültige XID-Werte (leer oder mehr als 255 Zeichen) geben HTTP 400 Bad Request mit Details zum Validierungsfehler zurück.

Weitere Hinweise zu den Einzelheiten der Struktur finden Sie unter[Struktur der Ergebnisse des Transaktionsstarts](ba-endpoints-apx.md#transaction-outcome).

### Starten Sie eine JICS-Transaktion (Alternative)
<a name="ba-launch-jics-transaction-alt"></a>
+ unterstützte Methoden: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/jicstransaction/{jtrans:.+}`
+ Argumente:  
**JICS-Transaktions-ID (Zeichenfolge, erforderlich)**  
Kennung der JICS-Transaktion, die gestartet werden soll (max. 8 Zeichen lang)  
**erforderlich: zusätzliche Eingabedaten, die an die Transaktion übergeben werden sollen, als Map<String, Object>**  
Der Inhalt dieser Karte wird verwendet, um die [COMMAREA](https://www.ibm.com/docs/en/cics-ts/5.4?topic=programs-commarea) mit Strom zu versorgen, die im Rahmen der JICS-Transaktion verbraucht wird. Die Map kann leer sein, wenn für die Ausführung der Transaktion keine Daten erforderlich sind.  
**optional: HTTP-Header-Einträge, um die Ausführungsumgebung für die angegebene Transaktion anzupassen.**  
Die folgenden Header-Schlüssel werden unterstützt:  
  + `jics-channel`: Der Name des JICS-KANALS, der von dem Programm verwendet werden soll, das bei diesem Transaktionsstart gestartet wird. 
  + `jics-container`: Der Name des JICS-CONTAINERS, der für diesen JICS-Transaktionsstart verwendet werden soll.
  + `jics-startcode`: der STARTCODE (Zeichenfolge, bis zu 2 Zeichen), der beim Start der JICS-Transaktion verwendet werden soll. Mögliche Werte finden Sie unter [STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign) (auf der Seite nach unten blättern).
  + `jicxa-xid`: Die XID (X/Open Transaction Identifier XID-Struktur) einer „globalen Transaktion“ ([XA](https://en.wikipedia.org/wiki/X/Open_XA)), die vom Aufrufer initiiert wurde und an der der aktuelle Start der JICS-Transaktion beteiligt sein wird. **Eingabevalidierung**: XID darf nicht leer sein und darf 255 Zeichen nicht überschreiten.
+ Gibt eine `com.netfective.bluage.gapwalk.rt.shared.web.RecordHolderBean` JSON-Serialisierung zurück, die das Ergebnis des JICS-Transaktionsstarts darstellt. Die Einzelheiten der Struktur finden Sie in. [Aufbau des Transaktionsstarts, Aufzeichnung der Ergebnisse](ba-endpoints-apx.md#transaction-record-outcome) 
+ **Eingabevalidierung**: Ungültige XID-Werte (leer oder mehr als 255 Zeichen) geben HTTP 400 Bad Request mit Details zum Validierungsfehler zurück.

### Listet aktive Sitzungen auf
<a name="ba-active-session-list"></a>
+ unterstützte Methoden: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/activesessionlist`
+ Argumente: keine
+ **Eingabevalidierung**: Die Parameterzuweisung darf 20 Einträge nicht überschreiten
+ Gibt eine Liste von `com.netfective.bluage.gapwalk.application.web.sessiontracker.SessionTrackerObject` InJSON-Serialisierungen zurück, die die Liste der aktiven Benutzersitzungen darstellt. Wenn die Sitzungsverfolgung deaktiviert ist, wird eine leere Liste zurückgegeben.

## Endpunkte im Zusammenhang mit Jobwarteschlangen
<a name="ba-endpoints-gapwalk-jobq"></a>

 Jobwarteschlangen sind die AWS Transform for Mainframe-Unterstützung für den Mechanismus zur Einreichung von AS400 Jobs. Jobwarteschlangen werden verwendet AS400 , um Jobs in bestimmten Thread-Pools auszuführen. Eine Auftragswarteschlange wird durch einen Namen und eine maximale Anzahl von Threads definiert, die der maximalen Anzahl von Programmen entspricht, die gleichzeitig in dieser Warteschlange ausgeführt werden können. Wenn mehr Jobs in der Warteschlange eingereicht werden als die maximale Anzahl von Threads, warten Jobs darauf, dass ein Thread verfügbar ist.

Eine vollständige Statusliste für einen Job in einer Warteschlange finden Sie unter[Möglicher Status eines Jobs in einer Warteschlange](ba-endpoints-apx.md#jobs-status).

Vorgänge in Auftragswarteschlangen werden über die folgenden dedizierten Endpunkte abgewickelt. Sie können diese Operationen über die URL der Gapwalk-Anwendung mit der folgenden Stamm-URL aufrufen:. `http://server:port/gapwalk-application/jobqueue`

**Topics**
+ [Verfügbare Warteschlangen auflisten](#ba-list-available-queues)
+ [Starten Sie eine Job-Warteschlange oder starten Sie sie neu](#ba-start-restart-queue)
+ [Reichen Sie einen Job zum Start ein](#ba-submit-job-launch)
+ [Listet alle eingereichten Jobs auf](#ba-list-scheduled-jobs)
+ [Geben Sie alle Jobs frei, die sich in der Warteschleife befinden](#ba-release-held-jobs)
+ [Geben Sie alle Jobs frei, die für einen bestimmten Jobnamen „in der Warteschleife“ sind](#ba-release-held-jobs-name)
+ [Gibt einen bestimmten Job für eine Jobnummer frei](#ba-release-job-number)
+ [Reichen Sie einen Job nach einem sich wiederholenden Zeitplan ein](#ba-submit-job-on-repeating-schedule)
+ [Listet alle eingereichten, sich wiederholenden Jobs auf](#ba-list-all-submitted-repeating-jobs)
+ [Brechen Sie die Planung eines sich wiederholenden Jobs ab](#ba-cancel-scheduling-of-repeating-job)

### Verfügbare Warteschlangen auflisten
<a name="ba-list-available-queues"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `list-queues`
+ Gibt die Liste der verfügbaren Warteschlangen zusammen mit ihrem Status als JSON-Liste von Schlüsselwerten zurück.

Beispielantwort:

```
{"Default":"STAND_BY","queue1":"STARTED","queue2":"STARTED"}
```

Mögliche Status für eine Job-Warteschlange sind:

**STAND\$1BY**  
Die Job-Warteschlange wartet darauf, gestartet zu werden.

**STARTED**  
Die Job-Warteschlange ist aktiv und läuft.

**UNKNOWN**  
Der Status der Auftragswarteschlange kann nicht ermittelt werden.

### Starten Sie eine Job-Warteschlange oder starten Sie sie neu
<a name="ba-start-restart-queue"></a>
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/restart/{name}`
+ Argument: Der Name der Warteschlange, die gestartet/neu gestartet werden soll, als Zeichenfolge - obligatorisch. **Eingabeüberprüfung**: Der Warteschlangenname darf nicht leer sein und darf 255 Zeichen nicht überschreiten.
+ Der Endpunkt gibt nichts zurück, sondern stützt sich auf den HTTP-Status, um das Ergebnis der start/restart Operation anzuzeigen:  
**HTTP 200**  
Die start/restart Operation lief gut: Die angegebene Jobwarteschlange ist jetzt GESTARTET.  
**HTTP 404**  
Die Jobwarteschlange existiert nicht.  
**HTTP 503**  
Während des start/restart Versuchs ist eine Ausnahme aufgetreten (Serverprotokolle sollten überprüft werden, um herauszufinden, was schief gelaufen ist).

### Reichen Sie einen Job zum Start ein
<a name="ba-submit-job-launch"></a>
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/submit`
+ Argument: verpflichtend als Hauptteil der Anfrage, eine JSON-Serialisierung eines `com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` Objekts. Weitere Informationen finden Sie unter [Job abschicken und Job-Eingabe planen](ba-endpoints-apx.md#submit-job).
+ Gibt eine JSON-Datei zurück, die das Original `SubmitJobMessage` und ein Protokoll enthält, das angibt, ob der Job eingereicht wurde oder nicht.

### Listet alle eingereichten Jobs auf
<a name="ba-list-scheduled-jobs"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/list-jobs?status={status}&size={size}&page={page}&sort={sort}`
+ Argumente:
  + Seite: Seitennummer, die abgerufen werden soll (Standard = 1)
  + Größe: Größe der Seite (Standard = 50, max = 300)
  + sort: Die Reihenfolge der Jobs. (Standard = „ExecutionID“). „ExecutionId“ ist derzeit der einzige unterstützte Wert
  + status: (optional) Falls vorhanden, wird nach dem Status gefiltert.
+ Gibt eine Liste aller geplanten Jobs als JSON-Zeichenfolge zurück. Eine Beispielantwort finden Sie unter[Liste der Antworten auf geplante Jobs](ba-endpoints-apx.md#list-scheduled-jobs).

### Geben Sie alle Jobs frei, die sich in der Warteschleife befinden
<a name="ba-release-held-jobs"></a>
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/release-all`
+ Gibt eine Meldung zurück, die das Ergebnis des Freigabeversuchs angibt. Zwei mögliche Fälle sind hier:
  + HTTP 200 und eine Meldung „Alle Jobs wurden erfolgreich veröffentlicht\$1“ wenn alle Jobs erfolgreich veröffentlicht wurden.
  + HTTP 503 und eine Meldung „Jobs nicht veröffentlicht. Es ist ein unbekannter Fehler aufgetreten. Weitere Informationen finden Sie im Protokoll“, falls beim Release-Versuch ein Fehler aufgetreten ist.

### Geben Sie alle Jobs frei, die für einen bestimmten Jobnamen „in der Warteschleife“ sind
<a name="ba-release-held-jobs-name"></a>

Für einen bestimmten Jobnamen können mehrere Jobs mit unterschiedlichen Job-Nummern eingereicht werden (die Einheitlichkeit eines ausgeführten Jobs wird von mehreren vergeben <job name, job number>). Der Endpunkt versucht, alle Jobübermittlungen mit dem angegebenen Jobnamen, die sich im Status „in der Warteschleife“ befinden, freizugeben.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/release/{name}`
+ Argumente: Der Jobname, nach dem gesucht werden soll, als Zeichenfolge. Zwingend erforderlich.
+ Gibt eine Meldung zurück, die das Ergebnis des Freigabeversuchs angibt. Zwei mögliche Fälle sind hier:
  + HTTP 200 und eine Meldung „Jobs in Group <name>(<number of released jobs>) erfolgreich veröffentlicht\$1“ Jobs wurden erfolgreich veröffentlicht.
  + HTTP 503 und die Meldung „Jobs in der Gruppe <name>wurden nicht veröffentlicht. Ein unbekannter Fehler ist aufgetreten. Weitere Informationen finden Sie im Protokoll“, falls beim Release-Versuch ein Fehler aufgetreten ist.

### Gibt einen bestimmten Job für eine Jobnummer frei
<a name="ba-release-job-number"></a>

Der Endpunkt versucht, die eindeutige Jobübermittlung freizugeben, die für das angegebene Paar „in der Warteschleife“ ist <job name, job number>.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/release/{name}/{number}`
+ Argumente:  
**Name**  
der Jobname, nach dem gesucht werden soll, als Zeichenfolge. Zwingend erforderlich.  
**number**  
die Jobnummer, nach der gesucht werden soll, als Ganzzahl. Zwingend erforderlich.  
**returns**  
 eine Meldung, die das Ergebnis des Freigabeversuchs angibt. Zwei mögliche Fälle sind hier:  
  + HTTP 200 und die Meldung „" Job <name/number> erfolgreich veröffentlicht\$1“ wenn der Job erfolgreich veröffentlicht wurde.
  + <name/number>HTTP 503 und die Meldung „Job>Not released“. Ein unbekannter Fehler ist aufgetreten. Weitere Informationen finden Sie im Protokoll“, falls beim Release-Versuch ein Fehler aufgetreten ist.

### Reichen Sie einen Job nach einem sich wiederholenden Zeitplan ein
<a name="ba-submit-job-on-repeating-schedule"></a>

Planen Sie einen Job, der mit einem sich wiederholenden Zeitplan ausgeführt wird.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/schedule`
+ Argument: Der Anfragetext muss eine JSON-Serialisierung eines `com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` Objekts enthalten. 

### Listet alle eingereichten, sich wiederholenden Jobs auf
<a name="ba-list-all-submitted-repeating-jobs"></a>
+ Unterstützte Methode: GET

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/schedule/list?status={status}&size={size}&page={page}&sort={sort}`
+ Argumente:

  1. Seite: Seitennummer, die abgerufen werden soll (Standard = 1)

  1. Größe: Größe der Seite (Standard = 50, max = 300)

  1. sort: Die Reihenfolge der Jobs. (Standard = „id“). „id“ ist derzeit der einzige unterstützte Wert.

  1. status: (optional) Falls vorhanden, wird nach dem Status gefiltert. Mögliche Werte sind die in Abschnitt 1 genannten.

  1. status: (optional) Falls vorhanden, wird nach dem Status gefiltert. Mögliche Werte sind die in Abschnitt 1 genannten.

  1. Gibt eine Liste aller geplanten Jobs als JSON-Zeichenfolge zurück.

### Brechen Sie die Planung eines sich wiederholenden Jobs ab
<a name="ba-cancel-scheduling-of-repeating-job"></a>

Entfernt einen Job, der nach einem sich wiederholenden Zeitplan erstellt wurde. Der Status der Auftragsplanung ist auf INAKTIV gesetzt.
+ Unterstützte Methode: POST

  Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN
+ Pfad: `/schedule/remove/{schedule_id}`
+ Argument:`schedule_id`, der Bezeichner des geplanten Jobs, der entfernt werden soll.

# BlusamREST-Endpunkte der Anwendungskonsole
<a name="ba-endpoints-bac"></a>

In diesem Abschnitt erfahren Sie mehr über die Blusam Anwendungskonsole, eine API, die die Verwaltung modernisierter VSAM-Datensätze vereinfachen soll. Endpunkte für die Blusam Webanwendung verwenden den Root-Pfad. `/bac`

**Topics**
+ [Datensätze, verwandte Endpunkte](#ba-endpoints-bac-datasets)
+ [Massendatensätze, verwandte Endpunkte](#ba-endpoints-bac-bulk)
+ [Datensätze](#ba-endpoints-bac-records)
+ [Masks](#ba-endpoints-bac-masks)
+ [Sonstige](#ba-endpoints-bac-other)
+ [BAC-Endpunkte für die Benutzerverwaltung](#ba-endpoints-bac-users)

## Datensätze, verwandte Endpunkte
<a name="ba-endpoints-bac-datasets"></a>

Verwenden Sie die folgenden Endpunkte, um einen bestimmten Datensatz zu erstellen oder zu verwalten.

**Topics**
+ [Erstellen Sie einen Datensatz](#ba-create-data-set)
+ [Hochladen einer Datei](#ba-upload-file)
+ [Lädt einen Datensatz (POST)](#ba-load-data-set-post)
+ [Lädt einen Datensatz (GET)](#ba-load-data-set-get)
+ [Einen Datensatz aus einem Amazon S3 S3-Bucket laden](#ba-load-data-set-s3)
+ [Exportieren Sie einen Datensatz in einen Amazon S3 S3-Bucket](#ba-export-data-set-s3)
+ [Einen Datensatz löschen](#ba-clear-data-set)
+ [Löscht einen Datensatz](#ba-delete-data-set)
+ [Zählen Sie Datensätze](#ba-count-data-set-records)

### Erstellen Sie einen Datensatz
<a name="ba-create-data-set"></a>

Sie können diesen Endpunkt verwenden, um eine Datensatzdefinition zu erstellen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/createDataSet`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes.   
type  
(erforderlich, Zeichenfolge): der Datensatztyp. Mögliche Werte sind:`ESDS`,`KSDS`,`RRDS`.   
Datensatzgröße  
(optional, Zeichenfolge): Maximale Größe jedes Datensatzes des Datensatzes.   
Feste Länge  
(optional, boolean): Gibt an, ob die Länge des Datensatzes fest ist.   
Kompression  
(optional, boolean): Gibt an, ob der Datensatz komprimiert ist.   
CacheEnable  
(optional, boolean): Gibt an, ob das Caching für den Datensatz aktiviert ist.   
Alternative Schlüssel  
(optional, Liste der Schlüssel):  
  + Offset (erforderlich, Zahl)
  + Länge (erforderlich, Zahl)
  + Name (erforderlich, Nummer)
+ Gibt eine JSON-Datei zurück, die den neu erstellten Datensatz darstellt.

Beispielanforderung:

```
POST /api/services/rest/bluesamservice/createDataSet
{
  "name": "DATASET",
  "checked": false,
  "records": [],
  "primaryKey": {
    "name": "PK"
  },
  "alternativeKeys": [
    {
      "offset": 10,
      "length": 10,
      "name": "ALTK_0"
    }
  ],
  "type": "ESDS",
  "recordSize": 10,
  "compression": true,
  "cacheEnable": true
}
```

Beispielantwort:

```
{
    "dataSet": {
      "name": "DATASET",
      "checked": false,
      "nbRecords": 0,
      "keyLength": -1,
      "recordSize": 10,
      "compression": false,
      "fixLength": true,
      "type": "ESDS",
      "cacheEnable": false,
      "cacheWarmup": false,
      "cacheEviction": "100ms",
      "creationDate": 1686744961234,
      "modificationDate": 1686744961234,
      "records": [],
      "primaryKey": {
        "name": "PK",
        "offset": null,
        "length": null,
        "columns": null,
        "unique": true
      },
      "alternativeKeys": [
        {
          "offset": 10,
          "length": 10,
          "name": "ALTK_0"
        }
      ],
      "readLimit": 0,
      "readEncoding": null,
      "initCharacter": null,
      "defaultCharacter": null,
      "blankCharacter": null,
      "strictZoned": null,
      "decimalSeparator": null,
      "currencySign": null,
      "pictureCurrencySign": null
    },
    "message": null,
    "result": true
  }
```

### Hochladen einer Datei
<a name="ba-upload-file"></a>

Sie können diesen Endpunkt verwenden, um Dateien auf den Server hochzuladen. Die Datei wird in einem temporären Ordner gespeichert, der jedem bestimmten Benutzer entspricht. Verwenden Sie diesen Endpunkt jedes Mal, wenn Sie eine Datei hochladen müssen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/upload`
+ Argumente:  
file  
(erforderlich, multipart/form-data): Die hochzuladende Datei.
+ Gibt einen booleschen Wert zurück, der den Status des Uploads widerspiegelt

### Lädt einen Datensatz (POST)
<a name="ba-load-data-set-post"></a>

Nachdem Sie `createDataSet` die Datensatzdefinition erstellt haben, können Sie Datensätze, die mit der hochgeladenen Datei verknüpft sind, in einen bestimmten Datensatz laden.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/loadDataSet`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes.
+ Gibt den Status der Anfrage und des geladenen Datensatzes zurück.

### Lädt einen Datensatz (GET)
<a name="ba-load-data-set-get"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/loadDataSet`
+ Argumente:  
listcatFileOrDatasetName  
(erforderlich, Zeichenfolge): der Name des Datensatzes.  
Dataset-Datei  
(erforderlich, Zeichenfolge): Der Name der Datensatzdatei.
+ Gibt den Status der Anfrage und des geladenen Datensatzes zurück.

### Einen Datensatz aus einem Amazon S3 S3-Bucket laden
<a name="ba-load-data-set-s3"></a>

Lädt einen Datensatz mithilfe einer Listcat-Datei aus einem Amazon S3 S3-Bucket.
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/loadDataSetFromS3`
+ Argumente:  
Speicherort von CatFiles3 auflisten  
(erforderlich, Zeichenfolge): Der Amazon S3 S3-Speicherort der Listcat-Datei.  
DatasetFiles3-Speicherort  
(erforderlich, Zeichenfolge): Der Amazon S3 S3-Speicherort der Datensatzdatei.  
Region  
(erforderlich, Zeichenfolge): Amazon S3, AWS-Region in dem die Dateien gespeichert sind.
+ Gibt den neu erstellten Datensatz zurück

Beispielanforderung:

```
/BAC/api/services/rest/bluesamservice/loadDataSetFromS3?region=us-east-1&listcatFileS3Location=s3://bucket-name/listcat.json&datasetFileS3Location=s3://bucket-name/dataset.DAT
```

### Exportieren Sie einen Datensatz in einen Amazon S3 S3-Bucket
<a name="ba-export-data-set-s3"></a>

Exportiert einen Datensatz in den angegebenen Amazon S3 S3-Bucket.
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/exportDataSetToS3`
+ Argumente:  
s3Location  
(erforderlich, Zeichenfolge): Der Amazon S3 S3-Speicherort, an den der Datensatz exportiert werden soll.  
datasetName   
(erforderlich, Zeichenfolge): Der Name des Datensatzes, der exportiert werden soll.  
Region  
(erforderlich, Zeichenfolge): der AWS-Region des Amazon S3 S3-Buckets.  
kmsKeyId  
(optional, Zeichenfolge): Die AWS KMS ID, die für die Verschlüsselung des exportierten Datensatzes in den Amazon S3 S3-Bucket verwendet werden soll.
+ Gibt den exportierten Datensatz zurück

Beispielanforderung:

```
/BAC/api/services/rest/bluesamservice/exportDataSetToS3?region=eu-west-1&s3Location=s3://bucket-name/dump&datasetName=dataset
```

### Einen Datensatz löschen
<a name="ba-clear-data-set"></a>

 Löscht alle Datensätze aus einem Datensatz.
+ Unterstützte Methoden: POST, GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/clearDataSet`
+ Argumente:   
Name  
(erforderlich, Zeichenfolge): Der Name des zu löschenden Datensatzes. Bei Verwendung der GET-Methode lautet der Parametername`datasetName`.
+ Gibt den Status der Anfrage zurück.

### Löscht einen Datensatz
<a name="ba-delete-data-set"></a>

Löscht die Datensatzdefinition und die Datensätze.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/deleteDataSet`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): Der Name des zu löschenden Datensatzes.
+ Gibt den Status der Anfrage und den gelöschten Datensatz zurück.

### Zählen Sie Datensätze
<a name="ba-count-data-set-records"></a>

Dieser Endpunkt gibt die Anzahl der Datensätze zurück, die einem Datensatz zugeordnet sind.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/countRecords`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes.
+ Gibt zurück: die Anzahl der Datensätze

## Massendatensätze, verwandte Endpunkte
<a name="ba-endpoints-bac-bulk"></a>

Verwenden Sie die folgenden Endpunkte, um mehrere Datensätze gleichzeitig zu erstellen oder zu verwalten.

**Topics**
+ [Datensätze exportieren (GET)](#ba-export-data-sets-get)
+ [Datensätze exportieren (POST)](#ba-export-data-sets-post)
+ [Erstellen Sie mehrere Datensätze](#ba-create-multiple-data-sets)
+ [Listet alle Datensätze auf](#ba-list-all-data-sets)
+ [Direkte Liste aller Datensätze](#ba-direct-list-all-data-sets)
+ [Direkte Auflistung aller Datensätze pro Seite](#ba-direct-list-all-data-sets-by-page)
+ [Datensatz streamen](#ba-stream-data-sets)
+ [Löscht alle Datensätze](#ba-delete-all-data-sets)
+ [Ruft Datensatzdefinitionen aus der Listcat-Datei ab](#ba-get-definitions-listcat)
+ [Ruft Datensatzdefinitionen aus der hochgeladenen List-Cat-Datei ab](#ba-get-definitions-uploaded-listcat)
+ [Holen Sie sich einen Datensatz](#ba-get-data-set)
+ [Listcat aus der JSON-Datei laden](#ba-load-listcat)

### Datensätze exportieren (GET)
<a name="ba-export-data-sets-get"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/exportDataSet`
+ Argumente:  
datasetName  
(erforderlich, Zeichenfolge): Der Name des zu exportierenden Datensatzes.   
datasetOutputFile  
(erforderlich, Zeichenfolge): Der Pfad des Ordners, in dem Sie den exportierten Datensatz auf dem Server speichern möchten.  
rdw  
(erforderlich, boolean): ob das Datensatzdeskriptorwort (RDW) Teil der exportierten Datensätze sein soll. Wenn der Datensatz Datensätze mit fester Länge enthält, wird der Wert dieses Parameters ignoriert.
+ Gibt den Status der Anfrage und den Pfad zu der Datei zurück, die den exportierten Datensatz enthält (falls vorhanden). Wenn der Datensatz in der Antwort Null ist, bedeutet das, dass das System keinen Datensatz mit dem angegebenen Namen finden konnte.

### Datensätze exportieren (POST)
<a name="ba-export-data-sets-post"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/exportDataSet`
+ Argumente:  
Parameter auswerfen  
(erforderlich, BACRead Parameter): Bluesam-Leseparameter.
+ Gibt den Status des exportierten Datensatzes zurück.

### Erstellen Sie mehrere Datensätze
<a name="ba-create-multiple-data-sets"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/createAllDataSets`
+ Argumente:
  + Liste der Datensätze  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes.   
type  
(erforderlich, Zeichenfolge): der Datensatztyp. Mögliche Werte sind:`ESDS`,`KSDS`,`RRDS`.   
Datensatzgröße  
(optional, Zeichenfolge): Maximale Größe jedes Datensatzes des Datensatzes.  
Feste Länge  
(optional, boolean): Gibt an, ob die Länge des Datensatzes fest ist.  
Kompression  
(optional, boolean): Gibt an, ob der Datensatz komprimiert ist.   
CacheEnable  
(optional, boolean): Gibt an, ob das Caching für den Datensatz aktiviert ist.
+ Gibt Folgendes zurück: den Status der Anfrage und den neu erstellten Datensatz.

### Listet alle Datensätze auf
<a name="ba-list-all-data-sets"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/listDataSet`
+ Argumente: Keine
+ Gibt den Status der Anfrage und die Liste der Datensätze zurück.

### Direkte Liste aller Datensätze
<a name="ba-direct-list-all-data-sets"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/directListDataSet`
+ Argumente: Keine
+ Gibt den Status der Anfrage und die Liste der Datensätze zurück.

### Direkte Auflistung aller Datensätze pro Seite
<a name="ba-direct-list-all-data-sets-by-page"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/directListDataSetByPage`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes. Standardmäßig `%` (alle Datensätze), falls nicht angegeben.  
angezeigten  
(erforderlich, int): Die Seitennummer (mindestens 0).  
pageSize  
(erforderlich, int): Die Seitengröße (mindestens 1, maximal 500).
+ Gibt den Status der Anfrage und die Liste der Datensätze zurück.

### Datensatz streamen
<a name="ba-stream-data-sets"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/streamDataset`
+ Argumente:  
datasetName  
(erforderlich, Zeichenfolge): der Name des Datensatzes.
+ Gibt zurück: Ein Stream der angeforderten Datensätze.

### Löscht alle Datensätze
<a name="ba-delete-all-data-sets"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/removeAll`
+ Argumente: Keine
+ Gibt zurück: einen booleschen Wert, der den Status der Anfrage darstellt.

### Ruft Datensatzdefinitionen aus der Listcat-Datei ab
<a name="ba-get-definitions-listcat"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/getDataSetsDefinitionFromListcat`
+ Argumente:   
paramFilePath  
(erforderlich, Zeichenfolge): Der Pfad zur Listcat-Datei.
+ Gibt zurück: eine Liste von Datensätzen

### Ruft Datensatzdefinitionen aus der hochgeladenen List-Cat-Datei ab
<a name="ba-get-definitions-uploaded-listcat"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/getDataSetsDefinitionFromUploadedListcat`
+ Argumente: Keine
+ Gibt zurück: eine Liste von Datensätzen

### Holen Sie sich einen Datensatz
<a name="ba-get-data-set"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/getDataSet`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes.
+ Gibt den angeforderten Datensatz zurück.

### Listcat aus der JSON-Datei laden
<a name="ba-load-listcat"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/loadListcatFromJsonFile`
+ Argumente:   
filePath  
(erforderlich, Zeichenfolge): Der Pfad zur Listcat-Datei.
+ Gibt zurück: eine Liste von Datensätzen

## Datensätze
<a name="ba-endpoints-bac-records"></a>

Verwenden Sie die folgenden Endpunkte, um Datensätze innerhalb eines Datensatzes zu erstellen oder zu verwalten.

**Topics**
+ [Erstellen eines Datensatzes](#ba-create-record)
+ [Liest einen Datensatz](#ba-read-data-set)
+ [Einen Datensatz löschen](#ba-delete-record)
+ [Aktualisieren von Datensätzen](#ba-update-record)
+ [Speichert einen Datensatz](#ba-save-record)
+ [Validiert einen Datensatz](#ba-validate-record)
+ [Holen Sie sich einen Datensatzbaum](#ba-get-record-tree)

### Erstellen eines Datensatzes
<a name="ba-create-record"></a>

Sie können diesen Endpunkt verwenden, um einen neuen Datensatz zu erstellen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/createRecord`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
maskieren  
(erforderlich, Maske): das Maskenobjekt.
+ Gibt den Status der Anfrage und des erstellten Datensatzes zurück.

### Liest einen Datensatz
<a name="ba-read-data-set"></a>

Sie können diesen Endpunkt verwenden, um einen Datensatz zu lesen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/readDataSet`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt.
+ Gibt den Status der Anfrage und den Datensatz mit den Datensätzen zurück.

### Einen Datensatz löschen
<a name="ba-delete-record"></a>

Sie können diesen Endpunkt verwenden, um einen Datensatz aus einem Datensatz zu löschen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/deleteRecord`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
record  
(erforderlich, Datensatz): der zu löschende Datensatz
+ Gibt anschließend den Status der Löschung zurück.

### Aktualisieren von Datensätzen
<a name="ba-update-record"></a>

Sie können diesen Endpunkt verwenden, um einen Datensatz zu aktualisieren, der einem Datensatz zugeordnet ist.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/updateRecord`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
record  
(erforderlich, Datensatz): der zu aktualisierende Datensatz  
maskieren  
(optional, Maske): Das Maskenobjekt, das während der Aktualisierung angewendet werden soll.
+ Gibt den Status der Anfrage und den Datensatz mit den Datensätzen zurück.

### Speichert einen Datensatz
<a name="ba-save-record"></a>

Sie können diesen Endpunkt verwenden, um einen Datensatz in einem Datensatz zu speichern und dabei eine Maske zu verwenden.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/saveRecord`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
record  
(erforderlich, Datensatz): der zu speichernde Datensatz  
maskieren  
(optional, Maske): Das Maskenobjekt, das beim Speichern angewendet werden soll.
+ Gibt den Status der Anfrage und den Datensatz mit den Datensätzen zurück.

### Validiert einen Datensatz
<a name="ba-validate-record"></a>

Verwenden Sie diesen Endpunkt, um einen Datensatz zu validieren.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/validateRecord`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
record  
(optional, Datensatz): der zu validierende Datensatz.  
maskieren  
(optional, Maske): Das Maskenobjekt, das bei der Validierung angewendet werden soll.
+ Gibt den Status der Anfrage und den Datensatz mit den Datensätzen zurück.

### Holen Sie sich einen Datensatzbaum
<a name="ba-get-record-tree"></a>

Verwenden Sie diesen Endpunkt, um den hierarchischen Baum eines Datensatzes abzurufen.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/getRecordTree`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
record  
(erforderlich, Datensatz): der Datensatz, der abgerufen werden soll  
maskieren  
(optional, Maske): das Maskenobjekt.
+ Gibt den Status der Anfrage und den hierarchischen Baum des angeforderten Datensatzes zurück.

## Masks
<a name="ba-endpoints-bac-masks"></a>

Verwenden Sie die folgenden Endpunkte, um Masken zu laden oder auf einen Datensatz anzuwenden.

**Topics**
+ [Masken laden](#ba-load-mask)
+ [Maske auftragen](#ba-apply-mask)
+ [Maskenfilter anwenden](#ba-apply-mask-filter)

### Masken laden
<a name="ba-load-mask"></a>

Sie können diesen Endpunkt verwenden, um alle Masken abzurufen, die einem bestimmten Datensatz zugeordnet sind.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/loadMasks`
+ Pfadvariablen:  
Datensatzgröße:... /loadMasks/ \$1RecordSize\$1  
(optional, numerisch): Die Datensatzgröße, filtern Sie geladene Masken, die dieser Datensatzgröße entsprechen
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt
+ Gibt den Status der Anfrage und die Liste der Masken zurück.

### Maske auftragen
<a name="ba-apply-mask"></a>

Sie können diesen Endpunkt verwenden, um eine Maske auf einen bestimmten Datensatz anzuwenden.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/applyMask`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
maskieren  
(erforderlich, Maske): das Datensatz-Objekt
+ Gibt den Status der Anfrage und den Datensatz mit der angewendeten Maske zurück.

### Maskenfilter anwenden
<a name="ba-apply-mask-filter"></a>

Sie können diesen Endpunkt verwenden, um eine Maske und einen Filter auf einen bestimmten Datensatz anzuwenden.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/crud/applyMaskFilter`
+ Argumente:  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt  
maskieren  
(erforderlich, Maske): das Maskenobjekt  
Filter  
(erforderlich, Filter): das anzuwendende Filterobjekt.
+ Gibt den Status der Anfrage und den Datensatz mit der angewendeten Maske und dem Filter zurück.

## Sonstige
<a name="ba-endpoints-bac-other"></a>

Verwenden Sie die folgenden Endpunkte, um den Cache für einen Datensatz zu verwalten oder die Eigenschaften eines Datensatzes zu überprüfen

**Topics**
+ [Überprüfen Sie den Aufwärm-Cache](#ba-check-warm-up-cache)
+ [Prüfen Sie, ob der Cache aktiviert](#ba-check-cache-enabled)
+ [Cache aktivieren](#ba-enable-cache)
+ [Überprüfen Sie den zugewiesenen RAM-Cache](#ba-check-allocated-ram-cache)
+ [Überprüfen Sie die Persistenz](#ba-check-persistence)
+ [Überprüfen Sie die unterstützten Datensatztypen](#ba-check-supported-data-set-types)
+ [Überprüfen Sie den Serverstatus](#ba-check-server-health)
+ [Überprüfen Sie die PostgreSQL-Multischema-Konfiguration](#ba-check-postgres-multi-schema)

### Überprüfen Sie den Aufwärm-Cache
<a name="ba-check-warm-up-cache"></a>

Prüft, ob der Aufwärm-Cache für einen bestimmten Datensatz aktiviert ist.
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/warmupCache`
+ Argumente:  
Name  
(erforderlich, Zeichenfolge): der Name des Datensatzes. 
+ Gibt Folgendes zurück: true, wenn der Warmup-Cache aktiviert ist, andernfalls false.

### Prüfen Sie, ob der Cache aktiviert
<a name="ba-check-cache-enabled"></a>

Prüft, ob der Cache für einen bestimmten Datensatz aktiviert ist.
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/isEnableCache`
+ Argumente: Keine
+ Gibt true zurück, wenn das Caching aktiviert ist.

### Cache aktivieren
<a name="ba-enable-cache"></a>
+ Unterstützte Methoden: POST
+ Erfordert Authentifizierung und die Rollen ROLE\$1ADMIN und ROLE\$1SUPER\$1ADMIN.
+ Pfad: `/api/services/rest/bluesamservice/enableDisableCache/{enable}`
+ Argumente:   
enable  
(erforderlich, boolean): Wenn auf true gesetzt, wird das Caching aktiviert.  
dataset  
(erforderlich, DataSet): das Datensatz-Objekt.
+ Gibt None zurück

### Überprüfen Sie den zugewiesenen RAM-Cache
<a name="ba-check-allocated-ram-cache"></a>

Sie können diesen Endpunkt verwenden, um den zugewiesenen RAM-Cache-Speicher abzurufen.
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/allocatedRamCache`
+ Argumente: Keine
+ Gibt zurück: die Größe des Speichers als Zeichenfolge

### Überprüfen Sie die Persistenz
<a name="ba-check-persistence"></a>
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/persistence`
+ Argumente: Keine
+ Gibt zurück: die Persistenz, die als Zeichenfolge verwendet wird

### Überprüfen Sie die unterstützten Datensatztypen
<a name="ba-check-supported-data-set-types"></a>
+ Unterstützte Methoden: GET
+ Pfad: `/api/services/rest/bluesamservice/getDataSetTypes`
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Argumente: Keine
+ Gibt Folgendes zurück: die Liste der unterstützten Datensatztypen als Liste von Zeichenketten.

### Überprüfen Sie den Serverstatus
<a name="ba-check-server-health"></a>
+ Unterstützte Methoden: GET
+ Pfad: `/api/services/rest/bluesamserver/serverIsUp`
+ Argumente: Keine
+ Gibt zurück: Keine. Der HTTP-Antwortstatuscode 200 gibt an, dass der Server betriebsbereit ist.

### Überprüfen Sie die PostgreSQL-Multischema-Konfiguration
<a name="ba-check-postgres-multi-schema"></a>

Überprüft, ob die PostgreSQL-Multischema-Konfiguration aktiviert ist.
+ Unterstützte Methoden: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1USER.
+ Pfad: `/api/services/rest/bluesamservice/isPostgresMultiSchema`
+ Argumente: Keine
+ Gibt Folgendes zurück: true, wenn die PostgreSQL-Multischema-Konfiguration aktiviert ist, andernfalls false.

## BAC-Endpunkte für die Benutzerverwaltung
<a name="ba-endpoints-bac-users"></a>

Verwenden Sie die folgenden Endpunkte, um Benutzerinteraktionen zu verwalten.

**Topics**
+ [Melden Sie einen Benutzer an](#ba-log-user-in)
+ [Überprüfen Sie, ob mindestens ein Benutzer im System existiert](#ba-verify-at-least-one-user-exists)
+ [Einen neuen Benutzer aufnehmen](#ba-record-new-user)
+ [Benutzerinformationen abrufen](#ba-user-info)
+ [Auflisten von Benutzern](#ba-list-users)
+ [Löschen eines Benutzers](#ba-delete-user)
+ [Meldet den aktuellen Benutzer ab](#ba-log-user-out)

### Melden Sie einen Benutzer an
<a name="ba-log-user-in"></a>
+ Unterstützte Methode: POST
+ Pfad: `/api/services/security/servicelogin/login`
+ Argumente: Keine
+ Gibt die JSON-Serialisierung eines `com.netfective.bluage.bac.entities.SignOn` Objekts zurück, die den Benutzer darstellt, dessen Anmeldeinformationen in der aktuellen Anfrage angegeben wurden. Das Passwort ist im zurückgegebenen Objekt nicht sichtbar. Die Rollen, die dem Benutzer zugewiesen wurden, werden aufgelistet.

Beispielantwort:

```
{
     "login": "some-admin",
     "password": null,
     "roles": [
       {
         "id": 0,
         "roleName": "ROLE_ADMIN"
       }
     ]
   }
```

### Überprüfen Sie, ob mindestens ein Benutzer im System existiert
<a name="ba-verify-at-least-one-user-exists"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogin/hasAccount`
+ Argumente: Keine
+ Gibt den booleschen Wert zurück, `true` wenn mindestens ein anderer Benutzer als der Standard-Super-Admin-Benutzer erstellt wurde. Gibt andernfalls zurück`false`.

### Einen neuen Benutzer aufnehmen
<a name="ba-record-new-user"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/recorduser`
+ Argumente: Die JSON-Serialisierung eines `com.netfective.bluage.bac.entities.SignOn` Objekts, das den Benutzer darstellt, der dem Speicher hinzugefügt werden soll. Die Rollen für den Benutzer müssen definiert werden, andernfalls kann der Benutzer die BAC-Einrichtung und die Endpunkte möglicherweise nicht verwenden.
+ Gibt den booleschen Wert zurück, `true` wenn der Benutzer erfolgreich erstellt wurde. Gibt andernfalls zurück`false`.
+ JSON-Beispiel für eine Anfrage:

  ```
   {
       "login": "simpleuser",
       "password": "simplepassword",
       "roles": [
         {
           "id": 2,
           "roleName": "ROLE_USER"
         }
       ]
     }
  ```

  Im Folgenden sind die beiden gültigen Werte für aufgeführt`roleName`: 
  + `ROLE_ADMIN`: kann Blusam Ressourcen und Benutzer verwalten.
  + `ROLE_USER`: kann Blusam Ressourcen verwalten, aber keine Benutzer.

### Benutzerinformationen abrufen
<a name="ba-user-info"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogin/userInfo`
+ Argumente: Keine
+ Gibt den Benutzernamen und die Rolle des aktuell verbundenen Benutzers zurück

### Auflisten von Benutzern
<a name="ba-list-users"></a>
+ Unterstützte Methode: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/listusers`
+ Argumente: Keine
+ Gibt eine Liste von zurück`com.netfective.bluage.bac.entities.SignOn`, serialisiert als JSON.

### Löschen eines Benutzers
<a name="ba-delete-user"></a>

**Wichtig**  
Diese Aktion kann nicht rückgängig gemacht werden. Der gelöschte Benutzer kann sich nicht wieder mit der BAC-Anwendung verbinden.
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/deleteuser`
+ Argumente: Die JSON-Serialisierung eines `com.netfective.bluage.bac.entities.SignOn` Objekts, das den Benutzer darstellt, der aus dem Speicher entfernt werden soll.
+ Gibt den booleschen Wert zurück, `true` wenn der Benutzer erfolgreich entfernt wurde.

### Meldet den aktuellen Benutzer ab
<a name="ba-log-user-out"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogout/logout`
+ Argumente: Keine
+ Gibt die JSON-Nachricht zurück, `{"success":true}` wenn der aktuelle Benutzer erfolgreich abgemeldet wurde. Die zugehörige HTTP-Sitzung wird ungültig gemacht.

# Verwaltung der JICS-Anwendungskonsole in AWS Transform für Mainframe
<a name="ba-endpoints-jac"></a>

Bei der JICS-Komponente handelt es sich AWS um die Transform for Mainframe-Unterstützung zur Modernisierung der älteren CICS-Ressourcen. Die Webanwendung der JICS-Anwendungskonsole dient der Verwaltung von JICS-Ressourcen. Die folgenden Endpunkte ermöglichen die Ausführung der Verwaltungsaufgaben, ohne mit der JAC-Benutzeroberfläche interagieren zu müssen. Immer wenn ein Endpunkt eine Authentifizierung erfordert, muss die Anfrage Authentifizierungsdetails enthalten (normalerweise Benutzername/Passwort, wie es bei der Standardauthentifizierung erforderlich ist). Endpunkte für die Webanwendung der JICS-Anwendungskonsole verwenden den Stammpfad. `/jac/`

**Topics**
+ [Verwaltung der JICS-Ressourcen](#ba-endpoints-jac-resources)
+ [Sonstige](#ba-endpoints-jac-other)
+ [Endpunkte für die JAC-Benutzerverwaltung](#ba-endpoints-jac-users)

## Verwaltung der JICS-Ressourcen
<a name="ba-endpoints-jac-resources"></a>

Alle folgenden Endpunkte beziehen sich auf die JICS-Ressourcenverwaltung, sodass JICS-Administratoren täglich mit Ressourcen umgehen können.

**Topics**
+ [JICS-LISTEN und -GRUPPEN auflisten](#list-jics-lists-groups)
+ [Rufen Sie JICS-Ressourcen ab](#retrieve-jics-resources)
+ [JICS-GRUPPEN auflisten](#list-jics-groups)
+ [Listet JICS-GRUPPEN für eine bestimmte LISTE auf](#list-jics-groups-given-list)
+ [LISTET JICS-Ressourcen für eine bestimmte GRUPPE AUF](#list-jics-resources-given-group)
+ [LISTET JICS-Ressourcen für eine bestimmte GRUPPE AUF (Alternative mit einem Namen)](#list-jics-resources-given-group-alt)
+ [Bearbeiten der eigenen GRUPPEN mehrerer LISTEN](#edit-owned-groups-lists)
+ [Löscht eine LISTE](#delete-list)
+ [Löscht eine GRUPPE](#delete-group)
+ [Löschen Sie eine TRANSAKTION](#delete-transaction)
+ [Löschen Sie ein PROGRAMM](#delete-program)
+ [Löscht eine DATEI](#delete-file)
+ [Löscht eine TDQUEUE](#delete-tdqueue)
+ [Löscht ein TSMODEL](#delete-tsmodel)
+ [Elemente löschen](#delete-elements)
+ [Erstellen Sie eine LISTE](#create-list)
+ [Erstellen Sie eine GRUPPE](#create-group)
+ [Allgemeine Überlegungen zur Erstellung von RESSOURCEN](#common-create-considerations)
+ [Erstellen Sie eine TRANSAKTION](#create-transaction)
+ [Erstellen Sie ein PROGRAMM](#create-program)
+ [Erstellen Sie eine DATEI](#create-file)
+ [Erstellen Sie eine TDQUEUE](#create-tdqueue)
+ [Erstellen Sie ein TSMODEL](#create-tsmodel)
+ [Elemente erstellen](#create-elements)
+ [Aktualisieren Sie eine LISTE](#update-list)
+ [Aktualisieren Sie eine GRUPPE](#update-group)
+ [Allgemeine Überlegungen zur Aktualisierung von RESSOURCEN](#common-update-considerations)
+ [Eine TRANSAKTION aktualisieren](#update-transaction)
+ [Aktualisieren Sie ein PROGRAMM](#update-program)
+ [Eine DATEI aktualisieren](#update-file)
+ [Aktualisieren Sie eine TDQUEUE](#update-tdqueue)
+ [Aktualisieren Sie ein TSMODEL](#update-tsmodel)
+ [Elemente aktualisieren](#update-elements)
+ [Elemente verärgern](#upsert-elements)
+ [Ruft Elemente ab](#retrieve-elements)
+ [JICS CRUD-Vorgang](#jics-crud-operation)

### JICS-LISTEN und -GRUPPEN auflisten
<a name="list-jics-lists-groups"></a>

LIST und GROUPS sind die Haupteigentümer der Container-Ressourcen innerhalb der JICS-Komponente. Alle JICS-Ressourcen müssen zu einer GRUPPE gehören. Gruppen können zu LISTEN gehören, dies ist jedoch nicht zwingend erforderlich. LISTEN existieren möglicherweise in einer bestimmten JICS-Umgebung nicht einmal, aber in den meisten Fällen sind LISTEN dazu da, eine zusätzliche Organisationsebene für Ressourcen bereitzustellen. Weitere Informationen zur Organisation der CICS-Ressourcen finden Sie unter [CICS-Ressourcen](https://www.ibm.com/docs/en/cics-ts/6.1?topic=fundamentals-how-it-works-cics-resources).
+ Unterstützte Methode: GET
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/listJicsListsAndGroups`
+ Argumente: Keine
+ Gibt Folgendes zurück: eine Liste serialisierter JicsContainer Objekte, sowohl LISTS als auch GROUPS, als JSON.

Beispielantwort:

```
[
    {
      "name": "Resources",
      "children": [
        {
          "jacType": "JACList",
          "name": "MURACHS",
          "isActive": true,
          "children": [
            {
              "jacType": "JACGroup",
              "name": "MURACHS",
              "isActive": true,
              "children": []
            }
          ]
        },
        {
          "jacType": "JACGroup",
          "name": "TEST",
          "isActive": true,
          "children": []
        }
      ],
      "isExpanded": true
    }
  ]
```

### Rufen Sie JICS-Ressourcen ab
<a name="retrieve-jics-resources"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/retrieveJicsResources`
+ Argumente: Eine JSON-Nutzlast, die die JICS-Ressourcen darstellt, die Sie abrufen möchten. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.request.RetrieveOperationRequest`
+ Rückgabe: Eine Liste serialisierter Objekte. JicsResource Die Objekte werden in keiner bestimmten Reihenfolge zurückgegeben und sind unterschiedlichen Typs, wie PROGRAM, TRANSACTION, FILE usw.

### JICS-GRUPPEN auflisten
<a name="list-jics-groups"></a>
+ Unterstützte Methode: GET
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/listJicsGroups`
+ Argumente: Keine
+ Gibt eine Liste serialisierter JicsContainer Objekte (GROUPS) als JSON zurück. Die GROUPS werden ohne ihre eigenen LIST-Informationen zurückgegeben.

Beispielantwort:

```
[
    {
      "jacType": "JACGroup",
      "name": "MURACHS",
      "isActive": true,
      "children": []
    },
    {
      "jacType": "JACGroup",
      "name": "TEST",
      "isActive": true,
      "children": []
    }
  ]
```

### Listet JICS-GRUPPEN für eine bestimmte LISTE auf
<a name="list-jics-groups-given-list"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/listGroupsForList`
+ Argumente: eine JSON-Payload, die die JICS-LISTE darstellt, nach deren GRUPPEN Sie suchen. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACList`

  Beispielanfrage:

  ```
  {
      "jacType":"JACList",
      "name":"MURACHS",
      "isActive":true
    }
  ```
+ Gibt eine Liste von serialisierten JicsContainer Objekten (GROUPS) als JSON zurück, die an die angegebene LISTE angehängt sind. Die GROUPS werden ohne ihre eigenen LIST-Informationen zurückgegeben.

  Beispielantwort:

  ```
  [
      {
        "jacType": "JACGroup",
        "name": "MURACHS",
        "isActive": true,
        "children": []
      }
    ]
  ```

### LISTET JICS-Ressourcen für eine bestimmte GRUPPE AUF
<a name="list-jics-resources-given-group"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/listResourcesForGroup`
+ Argumente: eine JSON-Nutzlast, die die JICS-GRUPPE darstellt, nach deren Ressourcen Sie suchen. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACGroup` Sie müssen nicht alle Felder für die GRUPPE angeben, aber der Name ist obligatorisch.

  Beispiel für eine Anfrage:

  ```
  {
      "jacType":"JACGroup",
      "name":"MURACHS",
      "isActive":true
    }
  ```
+ Gibt eine Liste serialisierter JicsResource Objekte zurück, die der angegebenen GRUPPE gehören. Die Objekte werden in keiner bestimmten Reihenfolge zurückgegeben und sind unterschiedlichen Typs, wie PROGRAM, TRANSACTION, FILE usw.

### LISTET JICS-Ressourcen für eine bestimmte GRUPPE AUF (Alternative mit einem Namen)
<a name="list-jics-resources-given-group-alt"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung
+ Pfad: `/api/services/rest/jicsservice/listResourcesForGroupName`
+ Argumente: Der Name der GRUPPE, der die Ressourcen gehören, nach denen Sie suchen.
+ Gibt zurück: eine Liste serialisierter JicsResource Objekte, die der angegebenen GRUPPE gehören. Die Objekte werden in keiner bestimmten Reihenfolge zurückgegeben und sind unterschiedlichen Typs, wie PROGRAM, TRANSACTION, FILE usw.

### Bearbeiten der eigenen GRUPPEN mehrerer LISTEN
<a name="edit-owned-groups-lists"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/editGroupsList`
+ Argumente: eine JSON-Repräsentation einer Sammlung von LISTEN mit untergeordneten GRUPPEN;

  Musteranfrage:

  ```
  [      
    {
          "jacType": "JACList",
          "name": "MURACHS",
          "isActive": true,
          "children": [
            {
              "jacType": "JACGroup",
              "name": "MURACHS",
              "isActive": true,
              "children": []
            },
            {
              "jacType": "JACGroup",
              "name": "TEST",
              "isActive": true,
              "children": []
            }
          ]
    }
  ]
  ```

  Vor dieser Bearbeitung gehörte nur die Gruppe mit dem Namen „MURACHS“ zur LISTE mit dem Namen „MURACHS“. Mit dieser Bearbeitung „fügen“ Sie die Gruppe mit dem Namen „TEST“ zur LISTE mit dem Namen „MURACHS“ hinzu.
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurden die LISTS-Änderungen erfolgreich im zugrunde liegenden JICS-Speicher gespeichert.

### Löscht eine LISTE
<a name="delete-list"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteList`
+ Argumente: eine JSON-Payload, die die zu löschende JICS-LISTE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACList`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die LIST-Löschung erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löscht eine GRUPPE
<a name="delete-group"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteGroup`
+ Argumente: eine JSON-Nutzlast, die die zu löschende JICS-GRUPPE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACGroup`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die GROUP-Löschung erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löschen Sie eine TRANSAKTION
<a name="delete-transaction"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteTransaction`
+ Argumente: eine JSON-Nutzlast, die die zu löschende JICS-Transaktion darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTransaction`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TRANSACTION-Löschung erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löschen Sie ein PROGRAMM
<a name="delete-program"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteProgram`
+ Argumente: eine JSON-Payload, die das zu löschende JICS-Programm darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACProgram`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde das Löschen von PROGRAM erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löscht eine DATEI
<a name="delete-file"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteFile`
+ Argumente: eine JSON-Nutzlast, die die zu löschende JIC-Datei darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACFile`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde das Löschen der DATEI erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löscht eine TDQUEUE
<a name="delete-tdqueue"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteTDQueue`
+ Argumente: eine JSON-Payload, die die zu löschende JICS-TDQUEUE darstellt. Dies ist die JSON-Serialisierung einer `com.netfective.bluage.jac.entities. JACTDQueue`Objekt.
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TDQUEUE-Löschung erfolgreich auf dem zugrunde liegenden JICS-Speicher ausgeführt.

### Löscht ein TSMODEL
<a name="delete-tsmodel"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteTSModel`
+ Argumente: eine JSON-Payload, die das zu löschende JICS TSMODEL darstellt. Dies ist die JSON-Serialisierung einer `com.netfective.bluage.jac.entities. JACTSModel`Objekt.
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TSMODEL-Löschung erfolgreich auf dem zugrunde liegenden JICS-Speicher durchgeführt.

### Elemente löschen
<a name="delete-elements"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/deleteElements`
+ Argumente: Eine JSON-Nutzlast, die die zu löschenden JICS-Elemente darstellt.
+ Gibt einen booleschen Wert zurück, der `true` angibt, dass das Löschen im zugrunde liegenden JICS-Speicher erfolgreich durchgeführt wurde.

### Erstellen Sie eine LISTE
<a name="create-list"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createList`
+ Argumente: eine JSON-Payload, die die zu erstellende JICS-LISTE darstellt. Dies ist die JSON-Serialisierung einer `com.netfective.bluage.jac.entities. JACList`Objekt.
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die LISTE erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

**Anmerkung**  
Die LISTE wird immer leer erstellt. Das Anhängen von GRUPPEN an die LISTE erfordert einen weiteren Vorgang.

### Erstellen Sie eine GRUPPE
<a name="create-group"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und die folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createGroup`
+ Argumente: eine JSON-Payload, die die zu erstellende JICS-GRUPPE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACGroup`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die GRUPPE ordnungsgemäß im zugrunde liegenden JICS-Speicher erstellt.

**Anmerkung**  
Die GRUPPE wird immer leer erstellt. Das Anhängen von RESSOURCEN an die GRUPPE erfordert zusätzliche Operationen (beim Erstellen von Ressourcen werden sie automatisch an eine bestimmte GRUPPE angehängt).

### Allgemeine Überlegungen zur Erstellung von RESSOURCEN
<a name="common-create-considerations"></a>

Alle folgenden Endpunkte beziehen sich auf die Erstellung von JICS-RESSOURCEN und weisen einige gemeinsame Einschränkungen auf: In der Payload der Anforderung, die an den Endpunkt gesendet werden soll, muss das `groupName` Feld einen Wert haben.

Eigentumsbeschränkung für GRUPPEN:

Keine Ressource kann erstellt werden, ohne an eine bestehende Gruppe angehängt zu sein, und der Endpunkt verwendet den groupName, um die Gruppe abzurufen, an die diese Ressource angehängt wird. Der `groupName` muss auf den Namen einer vorhandenen GRUPPE verweisen. Eine Fehlermeldung mit dem HTTP-STATUS 400 wird gesendet, wenn sie nicht auf eine bestehende Gruppe im zugrunde liegenden JICS-Speicher verweist. `groupName`

Unicity-Einschränkung innerhalb einer GRUPPE:

Eine bestimmte Ressource mit einem bestimmten Namen muss innerhalb einer bestimmten Gruppe eindeutig sein. Die Prüfung auf Eindeutigkeit wird von jedem Endpunkt der Ressourcenerstellung durchgeführt. Wenn die angegebene Nutzlast die Unicity-Beschränkung nicht einhält, sendet der Endpunkt eine Antwort mit dem HTTP-STATUS 400 (BAD REQUEST) — siehe die Beispielantwort unten.

Beispielnutzlast: Sie versuchen, die Transaktion 'ARIT' in der Gruppe 'TEST' zu erstellen, aber eine Transaktion mit diesem Namen ist in dieser Gruppe bereits vorhanden.

```
{
    "jacType":"JACTransaction",
    "name":"ARIT", 
    "groupName":"TEST", 
    "isActive":true
  }
```

Sie erhalten die folgende Fehlerantwort:

```
{
    "timestamp": 1686759054510,
    "status": 400,
    "error": "Bad Request",
    "path": "/jac/api/services/rest/jicsservice/createTransaction"
  }
```

Durch die Überprüfung der Serverprotokolle wird der Ursprung des Problems bestätigt:

```
2023-06-14 18:10:54 default         TRACE - o.s.w.m.HandlerMethod                    - Arguments: [java.lang.IllegalArgumentException: Transaction already present in the group, org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterResponse@e34f6b8]
2023-06-14 18:10:54 default         ERROR - c.n.b.j.a.WebConfig                      - 400
java.lang.IllegalArgumentException: Transaction already present in the group
	at com.netfective.bluage.jac.server.services.rest.impl.JicsServiceImpl.createElement(JicsServiceImpl.java:1280)
```

### Erstellen Sie eine TRANSAKTION
<a name="create-transaction"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createTransaction`
+ Argumente: eine JSON-Nutzlast, die die zu erstellende JICS-TRANSAKTION darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTransaction`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TRANSAKTION erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

### Erstellen Sie ein PROGRAMM
<a name="create-program"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createProgram`
+ Argumente: eine JSON-Payload, die das zu erstellende JICS-PROGRAMM darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACProgram`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde das PROGRAMM erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

### Erstellen Sie eine DATEI
<a name="create-file"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createFile`
+ Argumente: eine JSON-Nutzlast, die die zu erstellende JICS-DATEI darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACFile`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die DATEI erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

### Erstellen Sie eine TDQUEUE
<a name="create-tdqueue"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createTDQueue`
+ Argumente: eine JSON-Payload, die die zu erstellende JICS-TDQUEUE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTDQueue`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TDQUEUE erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

### Erstellen Sie ein TSMODEL
<a name="create-tsmodel"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createTSModel`
+ Argumente: eine JSON-Nutzlast, die das zu erstellende JICS TSMODEL darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTSModel`
+ Gibt einen booleschen Wert zurück, der `true` angibt, dass die Erstellung von Elementen im zugrunde liegenden JICS-Speicher erfolgreich durchgeführt wurde.

### Elemente erstellen
<a name="create-elements"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/createElements`
+ Argumente: eine JSON-Nutzlast, die die zu erstellenden JICS-Elemente darstellt.
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurden die Elemente erfolgreich im zugrunde liegenden JICS-Speicher erstellt.

### Aktualisieren Sie eine LISTE
<a name="update-list"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateList`
+ Argumente: eine JSON-Payload, die die zu aktualisierende JICS-LISTE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACList` Die untergeordneten Elemente der LIST müssen nicht angegeben werden. Der LIST-Aktualisierungsmechanismus berücksichtigt die untergeordneten Elemente nicht. 
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die LISTE erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

Wenn das LIST-Flag 'isActive' aktualisiert wird, wird es auf alle eigenen Elemente der LISTE übertragen, d. h. auf alle GRUPPEN, die sich im Besitz der LIST befinden, und auf alle RESSOURCEN, die diesen GRUPPEN gehören. Dies ist eine bequeme Methode, um viele Ressourcen mit einem einzigen Vorgang über mehrere GRUPPEN hinweg zu deaktivieren.

### Aktualisieren Sie eine GRUPPE
<a name="update-group"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateGroup`
+ Argumente: eine JSON-Payload, die die zu aktualisierende JICS-GRUPPE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACGroup` Es ist nicht erforderlich, die untergeordneten Elemente der GRUPPE anzugeben, der GROUP-Aktualisierungsmechanismus berücksichtigt dies nicht. 
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die GRUPPE erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

**Anmerkung**  
Durch die Aktualisierung des GROUP-Flags „isActive“ wird dies auf alle eigenen Elemente der GRUPPE übertragen, d. h. auf alle RESSOURCEN, die der GRUPPE gehören. Dies ist eine bequeme Methode, um viele Ressourcen mit einem einzigen Vorgang innerhalb einer bestimmten GRUPPE zu deaktivieren.

### Allgemeine Überlegungen zur Aktualisierung von RESSOURCEN
<a name="common-update-considerations"></a>

Bei allen folgenden Endpunkten geht es um die Aktualisierung von JICS-RESSOURCEN. Mithilfe des `groupName` Felds können Sie die Eigentümergruppe einer beliebigen JICS-RESSOURCE ändern, sofern der Feldwert auf eine bestehende GRUPPE im zugrunde liegenden JICS-Speicher verweist (andernfalls erhalten Sie vom Endpunkt eine BAD REQUEST-Antwort (HTTP STATUS 400)).

### Eine TRANSAKTION aktualisieren
<a name="update-transaction"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateTransaction`
+ Argumente: eine JSON-Nutzlast, die die zu aktualisierende JICS-TRANSAKTION darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTransaction`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die TRANSACTION erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

### Aktualisieren Sie ein PROGRAMM
<a name="update-program"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateProgram`
+ Argumente: eine JSON-Payload, die das zu aktualisierende JICS-PROGRAMM darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACProgram`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde das PROGRAMM erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

### Eine DATEI aktualisieren
<a name="update-file"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateFile`
+ Argumente: eine JSON-Nutzlast, die die zu aktualisierende JICS-DATEI darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACFile`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde die DATEI erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

### Aktualisieren Sie eine TDQUEUE
<a name="update-tdqueue"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateTDQueue`
+ Argumente: eine JSON-Payload, die die zu aktualisierende JICS-TDQUEUE darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTDQueue`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, TDQueue wurde er erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

### Aktualisieren Sie ein TSMODEL
<a name="update-tsmodel"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateTSModel`
+ Argumente: eine JSON-Nutzlast, die das zu aktualisierende JICS TSMODEL darstellt. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.JACTSModel`
+ Gibt einen booleschen Wert zurück. Wenn der Wert 'true' ist, wurde das TSMODEL erfolgreich im zugrunde liegenden JICS-Speicher aktualisiert.

### Elemente aktualisieren
<a name="update-elements"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/updateElements`
+ Argumente: Eine JSON-Nutzlast, die die zu aktualisierenden Elemente darstellt.
+ Gibt einen booleschen Wert zurück, der `true` angibt, dass die Aktualisierung der Elemente im zugrunde liegenden JICS-Speicher erfolgreich durchgeführt wurde.

### Elemente verärgern
<a name="upsert-elements"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/upsertElements`
+ Argumente: Eine JSON-Nutzlast, die die Elemente darstellt, die aktualisiert werden sollen.
+ Gibt einen booleschen Wert zurück, der `true` angibt, dass das Upsert der Elemente erfolgreich im zugrunde liegenden JICS-Speicher ausgeführt wurde.

### Ruft Elemente ab
<a name="retrieve-elements"></a>
+ Unterstützte Methode: GET
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/retrieveElements`
+ Argumente: Keine
+ Gibt eine Liste aller serialisierten JICS-Ressourcen zurück.

### JICS CRUD-Vorgang
<a name="jics-crud-operation"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und eine der folgenden Rollen: ROLE\$1ADMIN, ROLE\$1SUPER\$1ADMIN, ROLE\$1USER
+ Pfad: `/api/services/rest/jicsservice/jicsCrudOperation`
+ Argumente: eine JSON-Nutzlast, die die JICS-Ressourcen darstellt, nach denen Sie suchen. Dies ist die JSON-Serialisierung eines Objekts. `com.netfective.bluage.jac.entities.request.JicsCrudOperationRequest`
+ Gibt eine JSON-Nutzlast zurück, die die Antwort darstellt. Dies ist die JSON-Serialisierung eines `com.netfective.bluage.jac.entities.request.JicsCrudOperationResponse` Objekts.

## Sonstige
<a name="ba-endpoints-jac-other"></a>

**Topics**
+ [Integritätsstatus des JICS-Servers](#jics-server-health)

### Integritätsstatus des JICS-Servers
<a name="jics-server-health"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/rest/jicsserver/serverIsUp`
+ Argumente: Keine
+ Gibt zurück: Keine. Eine HTTP STATUS 200-Antwort zeigt an, dass der Server betriebsbereit ist.

## Endpunkte für die JAC-Benutzerverwaltung
<a name="ba-endpoints-jac-users"></a>

Verwenden Sie die folgenden Endpunkte, um Benutzerinteraktionen zu verwalten.

**Topics**
+ [Einen Benutzer protokollieren](#log-user)
+ [Es wird getestet, ob mindestens ein Benutzer im System existiert](#test-user-exist)
+ [Einen neuen Benutzer aufzeichnen](#record-new-user)
+ [Informationen zum Benutzer](#user-info)
+ [Auflisten von Benutzern](#list-users)
+ [Löschen eines Benutzers](#delete-user)
+ [Melden Sie den aktuellen Benutzer ab](#logout-user)

### Einen Benutzer protokollieren
<a name="log-user"></a>
+ Unterstützte Methode: POST
+ Pfad: `/api/services/security/servicelogin/login`
+ Argumente: Keine
+ Gibt die JSON-Serialisierung eines `com.netfective.bluage.jac.entities.SignOn` Objekts zurück, die den Benutzer darstellt, dessen Anmeldeinformationen in der aktuellen Anfrage angegeben wurden. Das Passwort ist im zurückgegebenen Objekt nicht sichtbar. Die Rollen, die dem Benutzer zugewiesen wurden, werden aufgelistet.

Beispielantwort:

```
{
    "login": "some-admin",
    "password": null,
    "roles": [
      {
        "id": 0,
        "roleName": "ROLE_ADMIN"
      }
    ]
  }
```

### Es wird getestet, ob mindestens ein Benutzer im System existiert
<a name="test-user-exist"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogin/hasAccount`
+ Argumente: Keine
+ Gibt den booleschen Wert zurück, `true` wenn mindestens ein anderer Benutzer als der Standard-Super-Admin-Benutzer erstellt wurde. Gibt andernfalls zurück`false`.

### Einen neuen Benutzer aufzeichnen
<a name="record-new-user"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/recorduser`
+ Argumente: Die JSON-Serialisierung eines `com.netfective.bluage.jac.entities.SignOn` Objekts, das den Benutzer darstellt, der dem Speicher hinzugefügt werden soll. Die Rollen für den Benutzer sollten definiert werden, andernfalls kann der Benutzer die JAC-Einrichtung und die Endpunkte möglicherweise nicht verwenden.
+ Gibt den booleschen Wert zurück, `true` wenn der Benutzer erfolgreich erstellt wurde. Gibt andernfalls zurück`false`.

Musteranfrage:

```
{
    "login": "simpleuser",
    "password": "simplepassword",
    "roles": [
      {
        "id": 2,
        "roleName": "ROLE_USER"
      }
    ]
  }
```

Bei der Aufzeichnung eines neuen Benutzers können nur die folgenden Rollen verwendet werden:
+ ROLE\$1ADMIN: kann JICS-Ressourcen und -Benutzer verwalten.
+ ROLE\$1USER: kann JICS-Ressourcen verwalten, aber keine Benutzer.

### Informationen zum Benutzer
<a name="user-info"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogin/userInfo`
+ Argumente: Keine
+ Gibt den Benutzernamen und die Rollen des aktuell verbundenen Benutzers zurück.

### Auflisten von Benutzern
<a name="list-users"></a>
+ Unterstützte Methode: GET
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/listusers`
+ Argumente: Keine
+ Gibt eine Liste von zurück`com.netfective.bluage.jac.entities.SignOn`, serialisiert als JSON.

### Löschen eines Benutzers
<a name="delete-user"></a>
+ Unterstützte Methode: POST
+ Erfordert Authentifizierung und die Rolle ROLE\$1ADMIN.
+ Pfad: `/api/services/security/servicelogin/deleteuser`
+ Argumente: Die JSON-Serialisierung eines `com.netfective.bluage.jac.entities.SignOn` Objekts, das den Benutzer darstellt, der aus dem Speicher entfernt werden soll.
+ Gibt den booleschen Wert zurück, `true` wenn der Benutzer erfolgreich entfernt wurde.

**Wichtig**  
Diese Aktion kann nicht rückgängig gemacht werden. Der gelöschte Benutzer kann sich nicht wieder mit der JAC-Anwendung verbinden.

### Melden Sie den aktuellen Benutzer ab
<a name="logout-user"></a>
+ Unterstützte Methode: GET
+ Pfad: `/api/services/security/servicelogout/logout`
+ Argumente: Keine
+ Gibt die JSON-Nachricht zurück, `{"success":true}` wenn der aktuelle Benutzer erfolgreich abgemeldet wurde. Die zugehörige HTTP-Sitzung wird ungültig gemacht.

# Datenstrukturen für AWS Transform für Mainframe-Benutzer
<a name="ba-endpoints-apx"></a>

Im folgenden Abschnitt erfahren Sie mehr über verschiedene Datenstrukturen für AWS Transform for Mainframe Engine.

**Topics**
+ [Details zur Auftragsausführung, Nachrichtenstruktur](#job-execution-details)
+ [Struktur der Ergebnisse des Transaktionsstarts](#transaction-outcome)
+ [Aufbau des Transaktionsstarts, Aufzeichnung der Ergebnisse](#transaction-record-outcome)
+ [Möglicher Status eines Jobs in einer Warteschlange](#jobs-status)
+ [Job abschicken und Job-Eingabe planen](#submit-job)
+ [Liste der Antworten auf geplante Jobs](#list-scheduled-jobs)
+ [Liste der Antworten auf wiederkehrende Jobs](#list-on-hold-jobs)

## Details zur Auftragsausführung, Nachrichtenstruktur
<a name="job-execution-details"></a>

Die Details zur Auftragsausführung enthalten die folgenden Felder:

ScriptID  
die Kennung des aufgerufenen Skripts.

Anrufer  
IP-Adresse des Anrufers.

Bezeichner  
eindeutige Kennung für die Auftragsausführung.

startTime  
Datum und Uhrzeit des Beginns der Auftragsausführung.

endTime  
Datum und Uhrzeit, an dem die Auftragsausführung beendet wurde.

Status  
ein Status für die Auftragsausführung. Ein möglicher Wert unter:  
+ `DONE`: Die Ausführung des Jobs wurde normal beendet.
+ `TRIGGERED`: Die Auftragsausführung wurde ausgelöst, aber noch nicht gestartet.
+ `RUNNING`: Die Jobausführung läuft.
+ `KILLED`: Die Auftragsausführung wurde beendet.
+ `FAILED`: Die Auftragsausführung ist fehlgeschlagen.

Ausführungsergebnis  
eine Meldung, die das Ergebnis der Jobausführung zusammenfasst. Diese Nachricht kann entweder eine einfache Nachricht sein, falls die Jobausführung noch nicht abgeschlossen ist, oder eine JSON-Struktur mit den folgenden Feldern:  
+ ExitCode: numerischer Exit-Code; negative Werte deuten auf Fehlersituationen hin.
+ Programm: das neueste Programm, das durch den Job gestartet wurde.
+ Status: ein möglicher Wert unter:
  + `Error`: wenn ExitCode = -1; dies entspricht einem (technischen) Fehler, der während der Jobausführung auftritt.
  + `Failed`: wenn exitcode = -2; Dies entspricht einem Fehler, der während der Ausführung eines Serviceprogramms auftritt (wie eine ABEND-Situation).
  + `Succeeded`: wenn ExitCode >= 0;
+ stepName: Name des letzten Schritts, der im Job ausgeführt wurde.

executionMode  
entweder SYNCHRON oder ASYNCHRON, je nachdem, wie der Job gestartet wurde.

Beispielausgabe:

```
{
    "scriptId": "INTCALC",
    "caller": "127.0.0.1",
    "identifier": "97d410be-efa7-4bd3-b7b9-d080e5769771",
    "startTime": "06-09-2023 11:42:41",
    "endTime": "06-09-2023 11:42:42",
    "status": "DONE",
    "executionResult": "{ \"exitCode\": -1, \"stepName\": \"STEP15\", \"program\": \"CBACT04C\", \"status\": \"Error\" }",
    "executionMode": "ASYNCHRONOUS"
  }
```

## Struktur der Ergebnisse des Transaktionsstarts
<a name="transaction-outcome"></a>

 Die Struktur kann die folgenden Felder enthalten:

Ergebnis  
eine Zeichenfolge, die das Ergebnis der Transaktionsausführung darstellt. Die möglichen Werte sind:  
+ `Success`: Die Ausführung der Transaktion wurde ordnungsgemäß abgeschlossen.
+ `Failure`: Die Transaktionsausführung konnte nicht ordnungsgemäß beendet werden, es sind einige Probleme aufgetreten.

Komma  
eine Zeichenfolge, die den COMMAREA-Endwert als Byte64-codiertes Bytearray darstellt. Könnte eine leere Zeichenfolge sein.

ContainerRecord  
(Optional) eine Zeichenfolge, die den Datensatzinhalt des CONTAINERS als Byte64-codiertes Bytearray darstellt.

Beschreibung des Servers  
Kann Informationen über den Server enthalten, der die Anfrage bearbeitet hat (zu Debugging-Zwecken). Könnte eine leere Zeichenfolge sein.

Ein Biegecode  
(Optional) Wenn das Programm, auf das von der gestarteten Transaktion verwiesen wurde, eine Änderung vorgenommen hat, wird der Wert des Abendcodes als Zeichenfolge in diesem Feld zurückgegeben.

Beispielantworten:

Herzlichen Glückwunsch

```
{
    "outCome": "Success",
    "commarea": "",
    "serverDescription": ""
  }
```

Fehler

```
{
    "outCome": "Failure",
    "commarea": "",
    "serverDescription": "",
    "abendCode": "AEIA"
  }
```

## Aufbau des Transaktionsstarts, Aufzeichnung der Ergebnisse
<a name="transaction-record-outcome"></a>

Die Struktur kann die folgenden Felder enthalten:

Inhalt aufzeichnen  
eine Zeichenfolge, die den Inhalt des COMMAREA-Datensatzes als Byte64-codiertes Bytearray darstellt.

Container-Datensatz  
eine Zeichenfolge, die den Datensatzinhalt des CONTAINERS als Byte64-codiertes Bytearray darstellt.

Beschreibung des Servers  
Kann Informationen über den Server enthalten, der die Anfrage bearbeitet hat (zu Debugging-Zwecken). Könnte eine leere Zeichenfolge sein.

Beispielantworten:

Herzlichen Glückwunsch

```
{
    "recordContent": "",
    "serverDescription": ""
}
```

## Möglicher Status eines Jobs in einer Warteschlange
<a name="jobs-status"></a>

In einer Warteschlange können Jobs den folgenden Status haben:

ACTIVE  
Der Job wird derzeit in der Warteschlange ausgeführt.

EXECUTION\$1WAIT  
Der Job wartet darauf, dass ein Thread verfügbar ist.

GEPLANT  
Jobs sind für die Ausführung an einem bestimmten Datum und zu einer bestimmten Uhrzeit geplant.

HOLD  
Der Job wartet darauf, veröffentlicht zu werden, bevor er ausgeführt wird.

COMPLETED  
Der Job wurde erfolgreich ausgeführt.

FEHLGESCHLAGEN  
Die Ausführung des Jobs ist fehlgeschlagen.

UNKNOWN  
Der Status ist unbekannt.

## Job abschicken und Job-Eingabe planen
<a name="submit-job"></a>

Die Eingabe „Job senden“ und „Job planen“ ist die JSON-Serialisierung eines `com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` Objekts. Die folgende Beispieleingabe zeigt alle Felder für eine solche Bohne.

Beispieleingabe für den Job „Auftrag einreichen“:

```
{
    "messageQueueName":null,
    "scheduleDate":null,
    "scheduleTime":null,
    "programName":"PTA0044",
    "programParams":
     {"wmind":"B"},
    "localDataAreaValue":"",
    "userName":"USER1",
    "jobName":"PTA0044",
    "jobNumber":9,
    "jobPriority":5,
    "executionDate":"20181231",
    "jobQueue":"queue1",
    "jobOnHold":false
}
```

Beispieleingabe für einen Job planen:

```
{
     "scheduleCron": "*/2 * * * * ?",
     "programName":"LOGPGM",
     "programParams": {
         "cl_sbmjob_param_json": "[\"./output/schedule-job-log.txt\", \"Every 2 seconds!\"]"
     },
     "localDataAreaValue":"",
     "userName":"PVO",
     "jobName":"LOGGERJOB",
     "jobPriority":5,
     "jobQueue":"queue1",
     "scheduleMisfirePolicy": 4,
     "startTime": "2003/05/04 07:00:00.000 GMT-06:00",
     "endTime": "2003/05/04 07:00:07.000 GMT-06:00"
 }
```

Nummer des Auftrags  
Wenn die Auftragsnummer 0 ist, wird die Auftragsnummer automatisch anhand der nächsten Nummer in der Auftragsnummernfolge generiert. Dieser Wert sollte auf 0 gesetzt werden (außer zu Testzwecken).

Priorität des Auftrags  
Die Standard-Job-Priorität in AS400 ist 5. Der gültige Bereich liegt zwischen 0 und 9, wobei 0 die höchste Priorität darstellt.

jobOnHold  
Wenn ein Job in der Warteschleife eingereicht wird, wird er nicht sofort ausgeführt, sondern erst, wenn ihn jemand „freigibt“. Ein Job kann mit der REST-API (/release oder /release-all) veröffentlicht werden.

ScheduleDate und ScheduleTime  
Wenn diese Werte nicht Null sind, wird der Job am angegebenen Datum und zur angegebenen Uhrzeit ausgeführt. 

Date  
Kann mit Format MMddyy oder dd angegeben werden MMyyyy (die Größe der Eingabe bestimmt, welches Format verwendet wird)

Zeit  
Kann mit Format HHmm oder angegeben werden HHmmss (die Größe der Eingabe bestimmt, welches Format verwendet wird)

ProgramParams  
Wird als Map an das Programm übergeben.

scheduleMisfirePolicy  
Definiert die Strategie, die verwendet wird, wenn ein Trigger fehlausgelöst wird. Die folgenden Werte sind möglich:  

1. Löst die erste Fehlzündung aus und verwirft die anderen Fehlzündungen.

1. Reichen Sie einen Job ein, der wegen der ersten Fehlzündung zurückgestellt wurde, und verwerfen Sie die anderen Fehlzündungen.

1. Verwerfen Sie die Fehlzündung.

1. Löse alle Fehlzündungen. In der Job-Warteschlange werden alle Jobs ausgeführt.

## Liste der Antworten auf geplante Jobs
<a name="list-scheduled-jobs"></a>

 Dies ist die Struktur des Endpunkts der Jobwarteschlange mit der Liste der Jobs. Die Nachricht zum Absenden des Jobs, die zum Senden dieses Jobs verwendet wurde, ist Teil der Antwort. Dies kann zur Nachverfolgung oder zum Testen und erneuten Senden verwendet werden. Wenn ein Job abgeschlossen ist, werden auch das Start- und Enddatum eingetragen.

```
[
  {
    "jobName": "PTA0044",
    "userName": "USER1",
    "jobNumber": 9,
    "jobPriority": 5,
    "status": "HOLD",
    "jobDelay": 0,
    "startDate": null,
    "endDate": null,
    "jobQueue": "queue1",
    "message": {
      "messageQueueName": null,
      "scheduleDate": null,
      "scheduleTime": null,
      "programName": "PTA0044",
      "programParams": {"wmind": "B"},
      "localDataAreaValue": "",
      "userName": "USER1",
      "jobName": "PTA0044",
      "jobNumber": 9,
      "jobPriority": 5,
      "executionDate": "20181231",
      "jobQueue": "queue1",
      "jobOnHold": true,
      "scheduleCron": null,
      "save": false,
      "scheduleMisfirePolicy": 4,
      "omitdates": null
    },
    "executionId": 1,
    "jobScheduledId": 0,
    "jobScheduledAt": null
  },
  {
    "jobName": "PTA0044",
    "userName": "USER1",
    "jobNumber": 9,
    "jobPriority": 5,
    "status": "COMPLETED",
    "jobDelay": 0,
    "startDate": "2022-10-13T22:48:34.025+00:00",
    "endDate": "2022-10-13T22:52:54.475+00:00",
    "jobQueue": "queue1",
    "message": {
      "messageQueueName": null,
      "scheduleDate": null,
      "scheduleTime": null,
      "programName": "PTA0044",
      "programParams": {"wmind": "B"},
      "localDataAreaValue": "",
      "userName": "USER1",
      "jobName": "PTA0044",
      "jobNumber": 9,
      "jobPriority": 5,
      "executionDate": "20181231",
      "jobQueue": "queue1",
      "jobOnHold": true,
      "scheduleCron": "*/20 * * * * ?",
      "save": false,
      "scheduleMisfirePolicy": 4,
      "omitdates": null
    },
    "executionId": 2,
    "jobScheduledId": 0,
    "jobScheduledAt": null
  }
]
```

## Liste der Antworten auf wiederkehrende Jobs
<a name="list-on-hold-jobs"></a>

Dies ist die Struktur des Auftragswarteschlangenendpunkts /schedule/list.

```
[
  {
    "id": 1,
    "status": "ACTIVE",
    "jobNumber": 1,
    "userName": "PVO",
    "msg": {
      "messageQueueName": null,
      "scheduleDate": null,
      "scheduleTime": null,
      "startTime": "2024/03/07 21:12:00.000 UTC",
      "endTime": "2024/03/07 21:13:59.000 UTC",
      "programName": "LOGPGM",
      "programParams": {"cl_sbmjob_param_json": "[\"./output/schedule-job-log.txt\", \"Every 20 seconds!\"]"},
      "localDataAreaValue": "",
      "userName": "PVO",
      "jobName": "LOGGERJOB",
      "jobNumber": 1,
      "jobScheduleId": 1,
      "jobPriority": 5,
      "executionDate": null,
      "jobQueue": "queue1",
      "jobOnHold": false,
      "scheduleCron": "*/20 * * * * ?",
      "save": false,
      "scheduleMisfirePolicy": 4,
      "omitdates": null
    },
    "lastUpdatedAt": "2024-03-07T21:11:13.282+00:00",
    "lastUpdatedBy": ""
  }
]
```