

AWS Layanan Modernisasi Mainframe (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan Layanan Modernisasi AWS Mainframe (pengalaman Lingkungan Runtime Terkelola), jelajahi Layanan Modernisasi AWS Mainframe (Pengalaman yang Dikelola Sendiri). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat Perubahan [AWS ketersediaan Modernisasi Mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Struktur data untuk AWS Transform untuk pengguna mainframe
<a name="ba-endpoints-apx"></a>

Anda dapat mempelajari tentang berbagai struktur data untuk AWS Transform untuk mesin mainframe di bagian berikut.

**Topics**
+ [Struktur pesan detail eksekusi Job](#job-execution-details)
+ [Struktur hasil peluncuran transaksi](#transaction-outcome)
+ [Struktur hasil catatan peluncuran transaksi](#transaction-record-outcome)
+ [Kemungkinan status pekerjaan dalam antrian](#jobs-status)
+ [Kirim pekerjaan dan jadwalkan masukan pekerjaan](#submit-job)
+ [Daftar respon pekerjaan terjadwal](#list-scheduled-jobs)
+ [Daftar respon pekerjaan berulang](#list-on-hold-jobs)

## Struktur pesan detail eksekusi Job
<a name="job-execution-details"></a>

Setiap detail pelaksanaan pekerjaan akan memiliki bidang berikut:

ScriptID  
pengenal dari skrip yang disebut.

pemanggil  
I.P. alamat penelepon.

pengenal  
pengidentifikasi eksekusi pekerjaan yang unik.

startTime  
tanggal dan waktu di mana pelaksanaan pekerjaan dimulai.

endTime  
tanggal dan waktu di mana eksekusi pekerjaan berakhir.

status  
status untuk pelaksanaan pekerjaan. Satu nilai yang mungkin di antara:  
+ `DONE`: eksekusi pekerjaan berakhir secara normal.
+ `TRIGGERED`: eksekusi pekerjaan dipicu tetapi belum diluncurkan.
+ `RUNNING`: eksekusi pekerjaan sedang berjalan.
+ `KILLED`: eksekusi pekerjaan telah terbunuh.
+ `FAILED`: eksekusi pekerjaan telah gagal.

Hasil Eksekusi  
pesan untuk meringkas hasil eksekusi pekerjaan. Pesan ini dapat berupa pesan sederhana jika eksekusi pekerjaan belum selesai atau struktur JSON dengan bidang berikut:  
+ ExitCode: kode keluar numerik; nilai negatif menunjukkan situasi kegagalan.
+ program: program terbaru yang diluncurkan oleh pekerjaan.
+ status: satu nilai yang mungkin di antara:
  + `Error`: ketika ExitCode = -1; ini sesuai dengan kesalahan (teknis) yang terjadi selama eksekusi pekerjaan.
  + `Failed`: ketika exitcode = -2; Ini sesuai dengan kegagalan yang terjadi selama eksekusi program layanan (seperti situasi ABEND).
  + `Succeeded`: ketika ExitCode >= 0;
+ StepName: nama langkah terbaru yang dijalankan dalam pekerjaan.

ExecutionMode  
baik SYNCHRONOUS atau ASYNCHRONOUS, tergantung pada cara pekerjaan diluncurkan.

Contoh output:

```
{
    "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 hasil peluncuran transaksi
<a name="transaction-outcome"></a>

 Struktur mungkin berisi bidang-bidang berikut:

Outcome  
string yang mewakili hasil eksekusi transaksi. Kemungkinan nilainya adalah:  
+ `Success`: eksekusi transaksi berjalan sampai akhir dengan benar.
+ `Failure`: eksekusi transaksi gagal berakhir dengan benar, beberapa masalah ditemui.

commarea  
string yang mewakili nilai akhir COMMAREA, sebagai array byte yang dikodekan byte64. Mungkin string kosong.

ContainerRecord  
(Opsional) string yang mewakili konten rekaman CONTAINER sebagai array byte yang dikodekan byte64.

Deskripsi Server  
Mungkin berisi informasi tentang server yang melayani permintaan (untuk tujuan debugging). Mungkin string kosong.

AbendCode  
(Opsional) jika program direferensikan oleh transaksi yang diluncurkan abended, nilai kode abend akan dikembalikan sebagai string di bidang ini.

Sampel tanggapan:

Berhasil

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

Kegagalan

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

## Struktur hasil catatan peluncuran transaksi
<a name="transaction-record-outcome"></a>

Struktur mungkin berisi bidang-bidang berikut:

RecordContent  
string yang mewakili konten rekaman COMMAREA sebagai array byte yang dikodekan byte64.

ContainerRecord  
string yang mewakili konten rekaman CONTAINER sebagai array byte yang dikodekan byte64.

Deskripsi Server  
Mungkin berisi informasi tentang server yang melayani permintaan (untuk tujuan debugging). Mungkin string kosong.

Sampel tanggapan:

Berhasil

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

## Kemungkinan status pekerjaan dalam antrian
<a name="jobs-status"></a>

Pada antrian, pekerjaan dapat memiliki status berikut:

AKTIF  
Pekerjaan saat ini sedang dijalankan di antrian.

EKSEKUSI\$1TUNGGU  
Pekerjaan sedang menunggu utas tersedia.

DIJADWALKAN  
Pekerjaan dijadwalkan untuk dieksekusi pada tanggal dan waktu tertentu.

TAHAN  
Job sedang menunggu untuk dibebaskan sebelum dijalankan.

DISELESAIKAN  
Job telah berhasil dieksekusi.

FAILED  
Job Execution telah gagal.

TIDAK DIKETAHUI  
Status tidak diketahui.

## Kirim pekerjaan dan jadwalkan masukan pekerjaan
<a name="submit-job"></a>

Masukan tugas pengiriman dan jadwal pekerjaan adalah serialisasi JSON dari suatu `com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` objek. Masukan sampel di bawah ini menunjukkan semua bidang untuk kacang seperti itu.

Contoh masukan untuk mengirimkan pekerjaan:

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

Contoh masukan untuk jadwal pekerjaan:

```
{
     "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  
jika nomor pekerjaan adalah 0, nomor pekerjaan akan dibuat secara otomatis menggunakan nomor berikutnya dalam urutan nomor pekerjaan. Nilai itu harus diatur ke 0 (kecuali untuk tujuan pengujian).

JobPriority  
Prioritas pekerjaan default AS400 adalah 5. Rentang yang valid adalah 0-9, 0 menjadi prioritas tertinggi.

jobOnHold  
Jika pekerjaan ditunda, itu tidak akan langsung dieksekusi tetapi hanya ketika seseorang “melepaskannya”. Pekerjaan dapat dirilis menggunakan REST API (/release atau /release-all).

ScheduleDate dan ScheduleTime  
Jika nilai-nilai ini tidak nol, pekerjaan akan dieksekusi pada tanggal dan waktu yang ditentukan. 

Date  
Dapat disediakan dengan format MMddyy atau dd MMyyyy (ukuran input akan menentukan format apa yang digunakan)

Waktu  
Dapat disediakan dengan format HHmm atau HHmmss (ukuran input akan menentukan format apa yang digunakan)

ProgramParams  
Akan diteruskan ke program sebagai peta.

scheduleMisfirePolicy  
Mendefinisikan strategi yang digunakan ketika pemicu gagal. Berikut ini adalah nilai yang mungkin:  

1. Lepaskan misfire pertama dan buang misfire lainnya.

1. Kirimkan pekerjaan yang ditunda untuk kesalahan pertama dan buang kesalahan lainnya.

1. Buang macet.

1. Lepaskan semua kesalahan. Antrian pekerjaan akan menjalankan semua pekerjaan.

## Daftar respon pekerjaan terjadwal
<a name="list-scheduled-jobs"></a>

 Ini adalah struktur titik akhir antrian pekerjaan daftar-pekerjaan. Pesan kirim pekerjaan yang digunakan untuk mengirimkan pekerjaan itu adalah bagian dari tanggapan. Ini dapat digunakan untuk tujuan pelacakan atau pengujian/pengiriman ulang. Ketika pekerjaan selesai, tanggal mulai dan tanggal akhir juga akan diisi.

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

## Daftar respon pekerjaan berulang
<a name="list-on-hold-jobs"></a>

Ini adalah struktur dari titik akhir antrian pekerjaan /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": ""
  }
]
```