

AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) と同様の機能については、 AWS Mainframe Modernization Service (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、[AWS 「 Mainframe Modernization の可用性の変更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# メインフレームユーザーの AWS 変換のデータ構造
<a name="ba-endpoints-apx"></a>

メインフレームエンジンの AWS 変換のさまざまなデータ構造については、次のセクションで説明します。

**Topics**
+ [ジョブ実行の詳細メッセージの構造](#job-execution-details)
+ [トランザクション起動結果の構造](#transaction-outcome)
+ [トランザクション起動レコードの構造](#transaction-record-outcome)
+ [キューでジョブの可能性のあるステータス](#jobs-status)
+ [送信ジョブとスケジュールジョブの入力](#submit-job)
+ [スケジューリングされているジョブのレスポンス一覧](#list-scheduled-jobs)
+ [繰り返しジョブのレスポンス一覧](#list-on-hold-jobs)

## ジョブ実行の詳細メッセージの構造
<a name="job-execution-details"></a>

各ジョブの実行の詳細には、次のフィールドが含まれます。

scriptId  
呼び出されたスクリプトの識別子。

caller  
発信者の IP アドレス。

識別子  
一意のジョブの実行の識別子。

startTime  
ジョブの実行を開始した日時。

endTime  
ジョブの実行が終了した日時。

ステータス  
ジョブの実行のステータス。指定できる値は 1 つです。  
+ `DONE`: ジョブの実行が正常に終了しました。
+ `TRIGGERED`: ジョブの実行がトリガーされたが、まだ開始されていません。
+ `RUNNING`: ジョブの実行中です。
+ `KILLED`: ジョブの実行は強制終了されました。
+ `FAILED`: ジョブの実行が失敗しました。

executionResult  
ジョブ実行の結果を要約するメッセージ。このメッセージは、ジョブ実行がまだ終了していない場合の簡単なメッセージか、次のフィールドを持つ JSON 構造のいずれかになります。  
+ ExitCode: 数値の終了コードで、負の値は障害の状態を示します。
+ program: ジョブによって起動された最新のプログラムを示します。
+ status: 指定できる値は次のうちの 1 つです。
  + `Error`: exitCode = -1 の場合。これはジョブ実行中に発生した (技術的な) エラーに対応します。
  + `Failed`: exitCode = -2 の場合、これはサービスプログラムの実行中に発生した障害 (異常終了の状態など) に対応します。
  + `Succeeded`: exitCode >= 0 の場合:
+ stepName: ジョブで実行された最新のステップの名前。

executionMode  
ジョブの起動方法によって、SYNCHRONOUS または ASYNCHRONOUS のいずれかになります。

サンプル出力:

```
{
    "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"
  }
```

## トランザクション起動結果の構造
<a name="transaction-outcome"></a>

 構造には、次のフィールドが含まれる場合があります。

outCome  
トランザクションの実行結果を表す文字列。可能な値は以下のとおりです。  
+ `Success`: トランザクションの実行が正しく終了しました。
+ `Failure`: トランザクションの実行が正しく終了しませんでした。いくつかの問題が発生しました。

commarea  
COMMAREA の最終値を byte64 でエンコードしたバイト配列として表す文字列。空の文字列の場合もあります。

containerRecord  
(オプション) CONTAINER のレコード内容を byte64 でエンコードしたバイト配列として表す文字列。

serverDescription  
(デバッグ目的で) リクエストを処理したサーバーに関する情報が含まれる場合があります。空の文字列の場合もあります。

abendCode  
(オプション) 起動されたトランザクションによって参照されたプログラムが異常終了した場合、異常終了コード値がこのフィールドに文字列として返されます。

レスポンス例:

Success

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

失敗

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

## トランザクション起動レコードの構造
<a name="transaction-record-outcome"></a>

構造には、次のフィールドが含まれる場合があります。

recordContent  
COMMAREA のレコード内容を byte64 でエンコードしたバイト配列として表す文字列。

containerRecord  
コンテナのレコード内容を byte64 でエンコードしたバイト配列として表す文字列。

serverDescription  
(デバッグ目的で) リクエストを処理したサーバーに関する情報が含まれる場合があります。空の文字列の場合もあります。

レスポンス例:

Success

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

## キューでジョブの可能性のあるステータス
<a name="jobs-status"></a>

キューでは、ジョブのステータスを持つことができます。

アクティブ  
ジョブは現在キューで実行中です。

EXECUTION\$1WAIT  
ジョブはスレッドが使用可能になるのを待っています。

SCHEDULED  
ジョブは特定の日付と時刻に実行されるようにスケジュールされています。

HOLD  
ジョブは実行前にリリースされるのを待っています。

COMPLETED  
ジョブは正常に実行されました。

FAILED  
ジョブの実行が失敗しました。

UNKNOWN  
ステータスは不明です。

## 送信ジョブとスケジュールジョブの入力
<a name="submit-job"></a>

送信ジョブとスケジュールジョブの入力は、`com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` オブジェクトの JSON のシリアル化です。以下のサンプル入力は、このような Bean のすべてのフィールドを示しています。

送信ジョブのサンプル入力:

```
{
    "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
}
```

スケジュールジョブのサンプル入力:

```
{
     "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"
 }
```

jobNumber  
ジョブ番号が 0 の場合、ジョブ番号はジョブ番号シーケンスの次の番号を使用して自動的に生成されます。この値は 0 に設定する必要があります (テスト目的を除く)。

jobPriority  
AS400 のデフォルトのジョブ優先度は 5 です。有効範囲は 0～9 で、0 が最優先です。

jobOnHold  
保留でジョブが送信された場合、そのジョブはすぐには実行されず、誰かが「リリース」したときに初めて実行されます。ジョブは REST API (/release または /release-all) を使用してリリースできます。

scheduleDate および scheduleTime  
これらの値が null でない場合、ジョブは指定された日時に実行されます。

日付  
MMddyy または ddMMyyyy の形式で指定できます (入力のサイズによって、使用する形式が決まります)。

Time  
HHmm または HHmmss の形式で指定できます (入力のサイズによって、使用する形式が決まります)。

programParams  
マップとしてプログラムに渡されます。

scheduleMisfirePolicy  
トリガーが誤って発生した場合に使用される戦略を定義します。取り得る値には以下のものがあります。  

1. 最初の誤発生を解放し、他の誤発生を破棄します。

1. 最初の誤発生のために保留になっているジョブを送信し、他の誤発生を破棄します。

1. 誤発生を破棄します。

1. すべての誤発生を解放します。ジョブキューにより、すべてのジョブが実行されます。

## スケジューリングされているジョブのレスポンス一覧
<a name="list-scheduled-jobs"></a>

 これは、list-jobs ジョブキューエンドポイントの構造です。ジョブの送信に使用された送信ジョブメッセージは、レスポンスの一部であることに注意してください。これは、トラッキング、テスト、再送信の目的で使用できます。ジョブが完了すると、開始日と終了日も入力されます。

```
[
  {
    "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
  }
]
```

## 繰り返しジョブのレスポンス一覧
<a name="list-on-hold-jobs"></a>

これは、/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": ""
  }
]
```