

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.

# Zugriff auf Dienstprogramme für verwaltete Anwendungen konfigurieren
<a name="applications-m2-ba-utilities"></a>

Wenn Sie eine Mainframe-Anwendung mit AWS Transform for Mainframe umgestalten, müssen Sie möglicherweise Unterstützung für verschiedene ältere Plattform-Hilfsprogramme wie IDCAMS, INFUTILB, SORT usw. bereitstellen, falls Ihre Anwendung davon abhängt. AWS Transform for Mainframe Refactoring bietet diesen Zugriff mit einer speziellen Webanwendung, die zusammen mit modernisierten Anwendungen bereitgestellt wird. Für diese Webanwendung ist eine Konfigurationsdatei erforderlich`application-utility-pgm.yml`, die Sie bereitstellen müssen. Wenn Sie diese Konfigurationsdatei nicht bereitstellen, kann die Webanwendung nicht zusammen mit Ihrer Anwendung bereitgestellt werden und ist auch nicht verfügbar.

**Topics**
+ [Konfigurationseigenschaften](#applications-m2-ba-utilities-props)

In diesem Thema werden alle möglichen Eigenschaften, die Sie in der `application-utility-pgm.yml` Konfigurationsdatei angeben können, zusammen mit ihren Standardeinstellungen beschrieben. In diesem Thema werden sowohl erforderliche als auch optionale Eigenschaften beschrieben. Das folgende Beispiel ist eine vollständige Konfigurationsdatei. Sie listet die Eigenschaften in der von uns empfohlenen Reihenfolge auf. Sie können dieses Beispiel als Ausgangspunkt für Ihre eigene Konfigurationsdatei verwenden.

```
# If the datasource support mode is not static-xa, spring JTA transactions autoconfiguration must be disabled
 spring.jta.enabled: false
 logging.config: 'classpath:logback-utility.xml'
 
 # Encoding
 encoding: cp1047
 
 # Encoding to be used by INFUTILB and DSNUTILB to generate and read SYSPUNCH files
 sysPunchEncoding: cp1047
 
 # Utility database access
 spring.aws.client.datasources.primary.secret: `arn:aws:secretsmanager:us-west-2:111122223333:secret:business-FfmXLG`
 
 treatLargeNumberAsInteger: false
 
 # Zoned mode : valid values = EBCDIC_STRICT, EBCDIC_MODIFIED, AS400 
 zonedMode: EBCDIC_STRICT
 
 jcl.type: mvs
 
 # Unload properties 
 # For date/time: if use database configuration is enabled, formats are ignored
 # For nbi; use hexadecimal syntaxe to specify the byte value
 unload:
  sqlCodePointShift: 384
  nbi:
    whenNull: "6F"
    whenNotNull: "00"
  useDatabaseConfiguration: false
  format:
    date: MM/dd/yyyy
    time: HH.mm.ss
    timestamp: yyyy-MM-dd-HH.mm.ss.SSSSSS
  chunkSize:500
  fetchSize: 500
  varCharIsNull: false
  columnFiller: space  
 
 # Load properties 
 # Batch size for DSNUTILB Load Task
 load:
  sqlCodePointShift: 384
  batchSize: 500
  format:
    localDate: dd.MM.yyyy|dd/MM/yyyy|yyyy-MM-dd
    dbDate: yyyy-MM-dd
    localTime: 'HH:mm:ss|HH.mm.ss'
    dbTime: 'HH:mm:ss'
 
 table-mappings:
  TABLE_1_NAME : LEGACY_TABLE_1_NAME
  TABLE_2_NAME : LEGACY_TABLE_2_NAME
```

## Konfigurationseigenschaften
<a name="applications-m2-ba-utilities-props"></a>

Sie können die folgenden Eigenschaften in Ihrer Konfigurationsdatei angeben.

**spring.jta.enabled**  
 (Optional) Steuert, ob die JTA-Unterstützung aktiviert ist. Für Dienstprogramme empfehlen wir, diesen Wert auf `false` festzulegen.  

```
spring.jta.enabled : false
```

**logging.config**  
 (Erforderlich) Gibt den Pfad zur dedizierten Logger-Konfigurationsdatei an. Wir empfehlen, den Namen zu verwenden `logback-utility.xml` und diese Datei als Teil der modernisierten Anwendung bereitzustellen. Die übliche Art, diese Dateien zu organisieren, besteht darin, alle Logger-Konfigurationsdateien am selben Ort abzulegen, normalerweise in dem Unterordner, in dem sich der Ordner `/config/logback` `/config` befindet, der die YAML-Konfigurationsdateien enthält. Weitere Informationen finden Sie in [Kapitel 3: Logback-Konfiguration in der Logback-Dokumentation](https://logback.qos.ch/manual/configuration.html).   

```
logging.config : classpath:logback-utility.xml
```

**encoding**  
 (Erforderlich) Gibt den Zeichensatz an, den das Hilfsprogramm verwendet. In den meisten Fällen, wenn Sie von z/OS Plattformen migrieren, ist dieser Zeichensatz eine EBCDIC-Variante und sollte dem Zeichensatz entsprechen, der für die modernisierten Anwendungen konfiguriert ist. Die Standardeinstellung, falls nicht festgelegt, ist. `ASCII`  

```
encoding : cp1047
```

**sysPunchEncoding**  
 (Optional) Gibt den Zeichensatz an, den INFUTILB und DSNUTILB zum Generieren und Lesen von SYSPUNCH-Dateien verwenden. Wenn Sie die SYSPUNCH-Dateien der Legacy-Plattform unverändert verwenden, sollte es sich bei diesem Wert um eine EBCDIC-Variante handeln. Die Standardeinstellung, falls nicht gesetzt, ist. `ASCII`  

```
sysPunchEncoding : cp1047
```

### Konfiguration der Datenquelle
<a name="applications-m2-ba-utilities-props-data"></a>

Einige datenbankbezogene Dienstprogramme, wie LOAD und UNLOAD, erfordern den Zugriff auf eine Zieldatenbank über eine Datenquelle. Wie bei anderen Datenquellendefinitionen innerhalb von AWS Mainframe Modernization erfordert dieser Zugriff, dass Sie AWS Secrets Manager Die Eigenschaften, die auf die richtigen Geheimnisse in Secrets Manager verweisen, lauten wie folgt:

#### Primäre Datenquelle
<a name="applications-m2-ba-utilities-props-data-primary"></a>

Dies ist die primäre Datenbank für Geschäftsanwendungen.

**spring.aws.client.datasources.primary.secret**  
 (Optional) Gibt das Geheimnis in Secrets Manager an, das die Datenquelleneigenschaften enthält.  

```
spring.aws.client.datasources.primary.secret: datasource-secret-ARN
```

**spring.aws.client.datasources.primary.dbname**  
(Optional) Gibt den Namen der Zieldatenbank mit der Eigenschaft an, wenn der Datenbankname nicht direkt im geheimen Datenbankschlüssel angegeben ist. `dbname`   

```
spring.aws.client.datasources.primary.dbname: target-database-name
```

**spring.aws.client.datasources.primary.type**  
(Optional) Gibt den vollqualifizierten Namen der zu verwendenden Verbindungspool-Implementierung an. Der Standardwert ist `com.zaxxer.hikari.HikariDataSource`.  

```
spring.aws.client.datasources.primary.type: target-datasource-type
```
Wenn der Typ der primären Datenquelle ist`com.zaxxer.hikari.HikariDataSource`, können Sie zusätzliche Eigenschaften wie folgt angeben:

**spring.datasource.primary. [Eigenschaftsname]**  
(Optional) Sie können dieses Format verwenden, um zusätzliche Eigenschaften für die Konfiguration einer primären Datenquellenverbindungspool-Implementierung anzugeben.  
Im Folgenden finden Sie ein Beispiel für eine primäre Datenquelle vom Typ`com.zaxxer.hikari.HikariDataSource`.  

```
spring:
   datasource:
       primary:
         autoCommit: XXXX
         maximumPoolSize: XXXX
         keepaliveTime: XXXX
         minimumIdle: XXXX
         idleTimeout: XXXX
         connectionTimeout: XXXX
         maxLifetime: XXXX
```

#### Andere Datenquellen für Versorgungsunternehmen
<a name="applications-m2-ba-utilities-props-data-other"></a>

Zusätzlich zur primären Datenquelle können Sie weitere Datenquellen für Versorgungsunternehmen bereitstellen.

**spring.aws.client.utility.pgm.datasources.names**  
(Optional) Gibt die Liste der Namen der Dienstprogramm-Datenquellen an.  

```
spring.aws.client.utility.pgm.datasources.names: dsname1, dsname2, dsname3
```

**spring.aws.client.utility.pgm.datasources. [DSname] .geheim**  
(Optional) Gibt den geheimen ARN in SSM an, der die Datenquelleneigenschaften hostet. Geben Sie [dsname] in der Liste der unter angegebenen Namen ein. `spring.aws.client.utility.pgm.datasources.names`  

```
spring.aws.client.utility.pgm.datasources.dsname1.secret: datasource-secret-ARN
```

**spring.aws.client.utility.pgm.datasources. [DSName] .DB-Name**  
(Optional) Gibt den Namen der Zieldatenbank an, wenn der Datenbankname nicht mithilfe der Eigenschaft direkt im geheimen Datenbankschlüssel angegeben ist. `dbname` Geben Sie [dsname] in der Liste der in `spring.aws.client.utility.pgm.datasources.names` angegebenen Namen ein.  

```
spring.aws.client.utility.pgm.datasources.dsname1.dbname: target-database-name
```

**spring.aws.client.utility.pgm.datasources. [DSname] .typ**  
(Optional) Gibt den vollqualifizierten Namen der zu verwendenden Verbindungspool-Implementierung an. Der Standardwert ist `com.zaxxer.hikari.HikariDataSource`. Geben Sie [dsname] in der Liste der unter angegebenen Namen ein. `spring.aws.client.utility.pgm.datasources.names`  

```
spring.aws.client.utility.pgm.datasources.dsname1.type: target-datasource-type
```
Wenn der Utility-Datenquellentyp ist`com.zaxxer.hikari.HikariDataSource`, können Sie zusätzliche Eigenschaften wie folgt angeben:

**spring.datasource. [DNS-Name]. [Eigenschaftsname]**  
(Optional) Gibt eine Sammlung zusätzlicher Eigenschaften zur Konfiguration einer Implementierung eines Verbindungspools für Dienstprogrammdatenquellen an. Geben Sie [dsname] in der Liste der unter angegebenen Namen ein. `spring.aws.client.utility.pgm.datasources.names` Geben Sie die Eigenschaften im folgenden Format an: `property_name : value`  
Im Folgenden finden Sie ein Beispiel für zusätzliche Versorgungsdatenquellen des Typs`com.zaxxer.hikari.HikariDataSource`:   

```
spring:
   datasource:
       dsname1:
         connectionTimeout: XXXX
         maxLifetime: XXXX
       dsname2:
         connectionTimeout: XXXX
         maxLifetime: XXXX
       dsname3:
         connectionTimeout: XXXX
         maxLifetime: XXXX
```

**treatLargeNumberAsInteger**  
 (Optional) Bezieht sich auf die Besonderheiten der Oracle-Datenbank-Engine und die Verwendung von DSNTEP2/DSNTEP4 Utilities. Wenn Sie dieses Flag auf true setzen, werden große Zahlen aus der Oracle-Datenbank (NUMBER (38,0)) als Ganzzahlen behandelt. Standard: `false`  

```
treatLargeNumberAsInteger : false
```

**ZonedMode**  
(Optional) Legt den Zonenmodus fest, um in Zonen aufgeteilte Datentypen zu kodieren oder zu dekodieren. Diese Einstellung beeinflusst die Art und Weise, wie Zeichenziffern dargestellt werden. Die folgenden Werte sind gültig:  
+ *EBCDIC\$1STRICT*: Standard. Verwenden Sie eine strikte Definition für die Behandlung von Zeichen. Je nachdem, ob es sich bei dem Zeichensatz um EBCDIC oder ASCII handelt, werden bei der Darstellung der Vorzeichen die folgenden Zeichen verwendet: 
  + EBCDIC-Zeichen, die Byte (`Cn+Dn`) entsprechen und positive und negative Ziffernbereiche (bis, bis) darstellen. `+0` `+9` `-0` `-9` Die Zeichen werden als`{`, `A` bis`I`, `}` bis angezeigt `J` `R`
  + ASCII-Zeichen, die Byte (`3n+7n`) entsprechen und positive und negative Ziffernbereiche (bis`+9`, `+0` `-0` bis`-9`) darstellen. Die Zeichen werden als „bis“, „`0`bis`9`“ angezeigt `p` `y`
+ *EBCDIC\$1MODIFIED: Verwenden Sie eine modifizierte* Definition für die Behandlung von Zeichen. Sowohl bei EBDIC als auch bei ASCII steht dieselbe Zeichenliste für die Ziffern der Vorzeichen, d. h. für die Zuordnung zu \$1 zu und für die `+9` Zuordnung `+0` zu `{` \$1 `A` zu. `I` `-0` `-9` `}` `J` `R` \$1 
+ *AS400*: Wird für modernisierte Altgeräte verwendet, die von iSeries (AS400) -Plattformen stammen.

```
zonedMode:EBCDIC_STRICT
```

**jcl.type**  
 (Optional) Gibt den älteren Typ modernisierter JCL-Skripts an. Das IDCAMS-Hilfsprogramm verwendet diese Einstellung, um den Rückgabecode anzupassen, wenn es sich bei der aufrufenden JCL um einen Typ handelt. `vse` Gültige Werte sind:  
+ `mvs` (Standard)
+ `vse`

```
jcl.type : mvs
```

### Verwandte Eigenschaften der Dienstprogramme zum Entladen von Datenbanken
<a name="applications-m2-ba-utilities-props-unload"></a>

 Verwenden Sie diese Eigenschaften, um Dienstprogramme zu konfigurieren, die Datenbanktabellen in Datensätze entladen. Alle der folgenden Eigenschaften sind optional.

 Dieses Beispiel zeigt alle möglichen Entladeeigenschaften.

```
# Unload properties 
 # For date/time: if use database configuration is enabled, formats are ignored
 # For nbi; use hexadecimal syntaxe to specify the byte value
 unload:
 sqlCodePointShift: 0
 nbi:
 whenNull: "6F"
 whenNotNull: "00"
 useDatabaseConfiguration: false
 format:
 date: MM/dd/yyyy
 time: HH.mm.ss
 timestamp: yyyy-MM-dd-HH.mm.ss.SSSSSS 
 chunkSize: 0
 fetchSize: 0
 varCharIsNull: false
 columnFiller: space
```

**sqlCodePointUmschalten**  
 (Optional) Gibt einen Ganzzahlwert an, der die für Daten verwendete SQL-Codepunktverschiebung darstellt. Der Standardwert ist 0. Das bedeutet, dass keine Codepunktverschiebung vorgenommen wird. Passen Sie diese Einstellung an den SQL-Codepunkt-Shift-Parameter an, der für modernisierte Anwendungen verwendet wird. Wenn Codepunkt-Shifting verwendet wird, ist der häufigste Wert für diesen Parameter 384.  

```
unload.sqlCodePointShift: 0
```

**nbi**  
 (Optional) Gibt ein Nullindikatorbyte an. Dies ist ein Hexadezimalwert (als Zeichenfolge), der rechts neben dem Datenwert hinzugefügt wird. Die beiden möglichen Werte lauten wie folgt:  
+ *WhenNull: Fügt* den Hexadezimalwert hinzu, wenn der Datenwert Null ist. Der Standardwert ist `6``. Manchmal wird stattdessen der hohe Wert `FF` verwendet.

  ```
  unload.nbi.whenNull: "6F"
  ```
+ *whenNotNull*: Fügt den Hexadezimalwert hinzu, wenn der Datenwert nicht Null ist, die Spalte aber nullwertfähig ist. Die Standardeinstellung ist `00` (niedriger Wert).

  ```
  unload.nbi.whenNotNull: "00"
  ```

**useDatabaseConfiguration**  
 (Optional) Gibt die Formatierungseigenschaften für Datum und Uhrzeit an. Dies wird verwendet, um date/time Objekte in UNLOAD-Abfragen zu behandeln. Der Standardwert ist `false`.  
+ Wenn auf gesetzt`true`, werden die `pgmTimestampFormat` Eigenschaften `pgmDateFormat``pgmTimeFormat`, und aus der Hauptkonfigurationsdatei (`application-main.yml`) verwendet.
+ Wenn auf gesetzt`false`, werden die folgenden Formatierungseigenschaften für Datum und Uhrzeit verwendet:
  + `unload.format.date`: Gibt ein Formatierungsmuster für das Datum an. Der Standardwert ist `MM/dd/yyyy`.
  + `unload.format.time`: Gibt ein Formatierungsmuster für die Uhrzeit an. Der Standardwert ist `HH.mm.ss`.
  + `unload.format.timestamp`: Gibt ein Zeitstempel-Formatierungsmuster an. Der Standardwert ist `yyyy-MM-dd-HH.mm.ss.SSSSSS`.

**Chunk-Größe**  
 (Optional) Gibt die Größe der Datenblöcke an, die zur Erstellung von SYSREC-Datensätzen verwendet werden. Diese Datensätze sind das Ziel des Datensatz-Entladevorgangs mit parallel Vorgängen. Die Standardeinstellung ist `0` (keine Blöcke).  

```
unload.chunkSize:0
```

**Größe abrufen**  
 (Optional) Gibt die Größe des Datenabrufs an. Der Wert ist die Anzahl der Datensätze, die gleichzeitig abgerufen werden sollen, wenn eine Datenblockstrategie verwendet wird. Standard: `0`.  

```
unload.fetchSize:0
```

**varCharIsNull**  
 (Optional) Gibt an, wie eine Varchar-Spalte mit leerem Inhalt behandelt werden soll, die keine NULL-Werte zulassen. Der Standardwert ist `false`.  
 Wenn Sie diesen Wert auf setzen`true`, wird der Spalteninhalt für Entladezwecke als leere Zeichenfolge und nicht als einzelne Leerzeichenfolge behandelt. Setzen Sie dieses Flag nur `true` für den Fall der Oracle-Datenbank-Engine auf.  

```
unload.varCharIsNull: false
```

**ColumnFiller**  
 (Optional) Gibt den Wert an, der zum Auffüllen entladener Spalten in Varchar-Spalten verwendet werden soll. Mögliche Werte sind Leerzeichen oder niedrige Werte. Die Standardeinstellung ist Leerzeichen.  

```
unload.columnFiller: space
```

### Eigenschaften im Zusammenhang mit dem Laden der Datenbank
<a name="applications-m2-ba-utilities-props-load"></a>

 Verwenden Sie diese Eigenschaften, um Dienstprogramme zu konfigurieren, die Datensatzdatensätze in eine Zieldatenbank laden, z. B. DSNUTILB. Alle der folgenden Eigenschaften sind optional.

 Dieses Beispiel zeigt alle möglichen Ladeeigenschaften.

```
# Load properties 
 # Batch size for DSNUTILB Load Task
 load:
 sqlCodePointShift: 384
 batchSize: 500
 format:
 localDate: dd.MM.yyyy|dd/MM/yyyy|yyyy-MM-dd
 dbDate: yyyy-MM-dd
 localTime: HH:mm:ss|HH.mm.ss
 dbTime: HH:mm:ss
 
 table-mappings:
 TABLE_1_NAME : LEGACY_TABLE_1_NAME
 TABLE_2_NAME : LEGACY_TABLE_2_NAME
```

**sqlCodePointUmschalten**  
 (Optional) Gibt einen Ganzzahlwert an, der die SQL-Codepunktverschiebung darstellt, die für Daten verwendet wird. Der Standardwert ist 0, was bedeutet, dass Anwendungen keine Codepunktverschiebung vornehmen. Passen Sie diese Einstellung an den SQL-Codepunkt-Shift-Parameter an, der für modernisierte Anwendungen verwendet wird. Wenn Sie Codepunktverschiebungen verwenden, ist der häufigste Wert für diesen Parameter 384.  

```
load.sqlCodePointShift : 384
```

**batchSize**  
 (Optional) Gibt einen Ganzzahlwert an, der die Anzahl der Datensätze darstellt, die behandelt werden sollen, bevor Sie eine tatsächliche Batch-Anweisung an die Datenbank senden. Der Standardwert ist 0.  

```
load.batchSize: 500
```

**Format**  
 (Optional) Gibt die Formatierungsmuster für Datum und Uhrzeit an, die für Datums-/Uhrzeitkonvertierungen beim Laden der Datenbank verwendet werden sollen.  
+ `load.format.localDate`: Lokales Formatierungsmuster für das Datum. Der Standardwert ist `dd.MM.yyyy|dd/MM/yyyy|yyyy-MM-dd`.
+ `load.format.dbDate`: Formatierungsmuster für das Datenbankdatum. Der Standardwert ist `yyyy-MM-dd`.
+ `load.format.localTime`: Formatierungsmuster für die Ortszeit. Der Standardwert ist `HH:mm:ss|HH.mm.ss`.
+ `load.format.dbTime`: Formatierungsmuster für die Datenbankzeit. Der Standardwert ist `HH:mm:ss`.

**Tabellenzuordnungen**  
 (Optional) Gibt eine Sammlung von vom Kunden bereitgestellten Zuordnungen zwischen alten und modernen Tabellennamen an. Das Hilfsprogramm DSNUTILB verwendet diese Zuordnungen.  
*Geben Sie die Werte im folgenden Format an: MODERN\$1TABLE\$1NAME: LEGACY\$1TABLE\$1NAME*  
Ein Beispiel:  

```
table-mappings:
 TABLE_1_NAME : LEGACY_TABLE_1_NAME
 TABLE_2_NAME : LEGACY_TABLE_2_NAME
 ...
 TABLE_*N*_NAME : LEGACY_TABLE_*N*_NAME
```
Wenn die Utility-Anwendung gestartet wird, protokolliert sie explizit alle bereitgestellten Zuordnungen.