Dataset Utilitas - AWS Modernisasi Mainframe

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.

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

Dataset Utilitas

BLUESAMCOPY/BLUESAMCREATE/BLUESAMDELETE/BLUESAMCLEAR

Program utilitas ini menyediakan fungsi manipulasi kumpulan data penting pada kumpulan data Blusam.

bypassBluesamStatusBendera (disimpan dalam JobContext) menentukan apakah akan melewati validasi status kumpulan data normal yang mencegah konflik akses bersamaan antara proses online dan batch.

Kapan bypassBluesamStatus benar:

  • Melewatkan pemeriksaan status dataset normal selama operasi

  • Memungkinkan akses ke kumpulan data yang biasanya diblokir

BLUESAMCOPY

Program BLUESAMCOPY menyalin data dan struktur metadata dari satu kumpulan data Bluesam ke kumpulan data lainnya.

Parameter

Program BLUESAMCOPY mengambil dua parameter:

  • FROM=<source dataset name>- Dataset sumber untuk disalin

  • TO=<target dataset name>- Target dataset untuk disalin

Perilaku

  • Jika kumpulan data target tidak ada, buat dengan struktur metadata sumber

  • Jika target ada, bersihkan sebelum menyalin (menimpa data yang ada)

  • Operasi berlangsung ketika kumpulan data tidak digunakan oleh proses online atau ketika bypassBluesamStatus disetel ke true

  • Mempertahankan kunci, kompresi, panjang rekaman, dan properti metadata lainnya

Penanganan Kesalahan

Mengembalikan kode 1 jika kumpulan data sumber tidak ada atau jika salah satu kumpulan data digunakan oleh proses online.

Penggunaan Sampel

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // copy bluesam dataset res = mpr.withArguments("FROM=MYBLUESAMTABLE","TO=MYBLUESAMTABLE2").runProgram("BLUESAMCOPY")

BLUESAMCREATE

Program BLUESAMCREATE membuat kumpulan data Bluesam dengan parameter yang ditentukan.

Parameter

Program BLUESAMCREATE membutuhkan tujuh parameter:

  • name=<dataset name>- Dataset untuk membuat (wajib)

  • compress=<true/false>- Aktifkan kompresi (opsional, default: false)

  • fixedLength=<true/false>- Status catatan panjang tetap (opsional, default: false)

  • recordLength=<integer>- Rekam panjang dalam byte (opsional, default: -1)

  • primaryKey=<key id>,duplicates=<true/false>,fields=<offset,length,...>- Spesifikasi kunci utama (opsional)

  • key=<altkey id>,duplicates=<true/false>,fields=<offset,length,...>- Tombol alternatif (dapat memiliki beberapa atau 0)

  • clearExisting=true/false- Hapus dataset yang ada (default opsional: true)

Penjelasan parameter kunci spesifik:

  • duplicates: Apakah nilai duplikat diperbolehkan atau tidak untuk kunci yang diberikan;

  • fields: Posisi bidang (berbasis 1) dan panjang yang menentukan kunci;

Perilaku

  • Jika dataset tidak ada, buat dengan parameter tertentu

  • Jika dataset ada, bersihkan jika clearExisting=true

  • Operasi berlangsung ketika dataset tidak digunakan oleh proses online atau ketika bypassBluesamStatus diatur ke true

Kondisi Kesalahan

Mengembalikan kode 0 dalam semua kasus.

Penggunaan Sampel

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // create bluesam dataset mpr.withArguments( "name=MYBLUESAMTABLE", "compress=FALSE", "fixedLength=true", "recordLength=54", "primaryKey=MYKEY_PK,duplicates=FALSE,fields=0,6") .runProgram("BLUESAMCREATE")

BLUESAMDELETE

Program BLUESAMDELETE menghapus kumpulan data Bluesam.

Parameter

Program BLUESAMDELETE membutuhkan 1 atau lebih parameter:

  • <dataset name>- dataset untuk menghapus (dapat memiliki beberapa)

Perilaku

  • Operasi berlangsung ketika dataset tidak digunakan oleh proses online atau ketika bypassBluesamStatus diatur ke true

  • Jika dataset ada, hapus

Kondisi Kesalahan

Mengembalikan kode 0 dalam semua kasus.

Penggunaan Sampel

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // delete bluesam datasets res = mpr.withArguments("MYBLUESAMTABLE","MYBLUESAMTABLE2","MYBLUESAMTABLE3").runProgram("BLUESAMDELETE")

BLUESAMCLEAR

Program BLUESAMCLEAR menghapus semua data dari kumpulan data yang ada sambil mempertahankan struktur dan metadatanya.

Parameter

Program BLUESAMCLEAR membutuhkan 1 atau lebih parameter:

  • <dataset name>- dataset untuk menghapus (dapat memiliki beberapa)

Perilaku

  • Operasi berlangsung ketika dataset tidak digunakan oleh proses online atau ketika bypassBluesamStatus diatur ke true

  • Jika dataset ada, kosongkan

Kondisi Kesalahan

Mengembalikan kode 0 dalam semua kasus.

Penggunaan Sampel

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // clear bluesam datasets res = mpr.withArguments("MYBLUESAMTABLE","MYBLUESAMTABLE2").runProgram("BLUESAMCLEAR")

BPXWDYN

Program utilitas ini mensimulasikan layanan z/OS BPXWDYN untuk alokasi dan deallokasi dataset dinamis. Dalam aplikasi modern, alokasi file dilakukan dalam skrip Groovy melalui api pembangun. FileConfigurationUtils Program ini memungkinkan manajemen dinamis dari alokasi ini tanpa Groovy, yang penting untuk pemrosesan file interaktif atau bersyarat dalam aplikasi modern.

Parameter

Format argumen warisan dipertahankan. Mengharapkan argumen tunggal yang berisi header ukuran 2-byte diikuti oleh string perintah.

format string perintah untuk alokasi: ALLOC DD(<name>) DSN('<dsn>') SHR?

format string perintah untuk deallocation: FREE DD(<name>)

Penanganan Kesalahan

  • Setel kode kesalahan 0 untuk sukses, 1 untuk kegagalan

  • Melempar RuntimeException untuk perintah atau parameter yang tidak valid

Penggunaan Sampel

Berikut adalah contoh penggunaan Java dari program BPXWDYN, yang dihasilkan dari modernisasi COBOL melalui transformasi AWS:

Kode COBOL:

01 WK-AREA. 03 DS-ALLOC-STRING. 05 DS-LENGTH PIC S9(004) COMP VALUE 100. 05 DS-TEXT PIC X(100) VALUE "ALLOC DD(INFILE) DSN('A.B.JCLLIB(XYZ470)') SHR". ... 01 RC-RETURN-CODE-AREA. 03 RC-RETURN-CODE PIC S9(008) COMP. ... CALL 'BPXWDYN' USING DS-ALLOC-STRING RETURNING RC-RETURN-CODE.

dan modernisasi Java yang cocok:

private final Group dsAllocString = new Group(root).named("DS-ALLOC-STRING"); private final Elementary dsLength = new Elementary(dsAllocString,new BinaryType(4, 0, "STD", false, false, true),Short.valueOf("100")).named("DS-LENGTH"); private final Elementary dsText = new Elementary(dsAllocString,new AlphanumericType(100),"ALLOC DD(INFILE) DSN('A.B.JCLLIB(XYZ470)') SHR").named("DS-TEXT"); ... private final Group root = new Group(getData()).named("RC-RETURN-CODE-AREA"); private final Elementary rcReturnCode = new Elementary(root,new BinaryType(8, 0, "STD", false, false, true)).named("RC-RETURN-CODE"); ... // Call to utility program BPXWDYN ctrl.callSubProgram( "BPXWDYN", CallBuilder.newInstance().byReference(ctx.getWkArea().getDsAllocStringReference()).getArguments(), ctx); ctx.getRcReturnCodeArea().setRcReturnCode(NumberUtils.convert(ctx.getProgramReturned()).intValue());

GDGUTILS

GDGs (Generation Data Group) memungkinkan aplikasi untuk bekerja dengan kumpulan data berversi di mana setiap eksekusi menciptakan generasi baru sambil mempertahankan akses ke generasi sebelumnya. Utilitas ini membuat dan mengelola generasi dataset ini. Utilitas ini dimaksudkan untuk dipanggil dalam skrip groovy.

Parameter

urutan parameter tidak masalah

  • action=<create|refreshevents>- Operasi untuk melakukan (wajib)

  • gdgname=<name>- Nama basis GDG (wajib)

  • storageProvider=<filesystem|bluesam>- Backend penyimpanan

  • relativeGeneration=<+integer>- Nomor generasi relatif (mis., +1 untuk berikutnya)

  • absoluteGeneration=integer- Nomor generasi absolut

  • recordLength=<integer>- Ukuran rekam dalam dataset

  • fixedLength=<true/false>- Menentukan bahwa catatan memiliki panjang tetap dalam dataset

  • ownerPath=<File system path>- Jalur untuk menyimpan kumpulan data (spesifik sistem file, wajib untuk kasus itu)

  • compress=<true/false>- Menunjukkan bahwa data harus tetap dikompresi dalam memori jika data dikompresi di penyimpanan data (khusus bluesam) (Opsional, false adalah nilai default)

  • catalog- Menentukan dataset yang akan dikatalogkan (Opsional)

  • warmUp- Menunjukkan bahwa dataset harus dimuat ke dalam memori saat dibuka (khusus bluesam) (Opsional)

RelativeGeneration atau AbsoluteGeneration: salah satu properti ini perlu diatur.

Operasi

  • create: Membuat generasi dataset GDG baru sesuai dengan metadata GDG (Menangani sistem file dan penyimpanan Bluesam)

  • refreshevents: Menyesuaikan nomor generasi (Gdg Metadata) tanpa membuat kumpulan data baru (Digunakan saat memulai ulang pekerjaan gagal yang sudah membuat kumpulan data)

Penanganan Kesalahan

  • Setel kode kesalahan 0 untuk sukses, 1 untuk kegagalan

  • Melempar RuntimeException untuk perintah atau parameter yang tidak valid

Penggunaan Sampel

Operasi pembuatan Gdg: kode berikut membuat generasi bluesam (43) untuk dataset IC.PLI.GDGTEST

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) Map params = new Hashtable() params.put("jobContext", jobContext) Object[] args =["action=create","gdgname=IC.PLI.GDGTEST","absoluteGeneration=43","storageProvider=bluesam","recordLength=80"] mpr.withParameters(params).withArguments(args).runProgram("GDGUTILS")

Operasi refreshevents Gdg: hanya RelativeGeneration yang relevan untuk operasi ini. Kode berikut memperbarui nomor generasi (+1 dibandingkan dengan generasi saat ini) untuk IC.PLI.GDGTEST dataset

import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) Map params = new Hashtable() params.put("jobContext", jobContext) Object[] args =["action=refreshevents","gdgname=IC.PLI.GDGTEST","relativeGeneration=1","storageProvider=bluesam"] mpr.withParameters(params).withArguments(args).runProgram("GDGUTILS")

ICEGENER/SYNCGENR

Program utilitas ini meniru perilaku utilitas z/OS sistem ICEGENER, ia menyalin dataset dari input (dataset) ke output (SYSUT1 dataset). SYSUT2 Implementasi Java ini menyediakan fungsionalitas setara yang mendukung sistem file dan penyimpanan Bluesam.

Parameter

Tidak ada argumen

Dataset yang Diperlukan

  • SYSUT1: Masukan dataset/file

  • SYSUT2: Keluaran dataset/file

Penanganan Disposisi untuk SYSUT2 Dataset

  • BARU: Buat dataset/file baru

  • OLD/SHR: Use existing dataset/file(harus ada)

  • MOD: Ubah, buat jika hilang, tambahkan jika ada

Penanganan Kesalahan

  • Setel kode kesalahan 0 jika salinan berhasil, 1 jika gagal

  • Melempar IllegalStateException untuk penggunaan kumpulan data Bluseam yang tidak valid

Penggunaan Sampel

Berikut adalah contoh penggunaan Groovy dari program ICEGENER, yang dihasilkan dari modernisasi JCL melalui transformasi AWS:

Kode JCL:

//STEP01 EXEC PGM=ICEGENER //SYSUT1 DD DSN=POI.INPUT,DISP=SHR //SYSUT2 DD DSN=POI.OUTPU, // DISP=(,CATLG,DELETE), // UNIT=3490, // DCB=(RECFM=FB,LRECL=100) /*

dan modernisasi Groovy yang cocok:

mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("SYSUT1") .dataset("POI.INPUT") .disposition("SHR") .build() .bluesam("SYSUT2") .dataset("POI.OUTPU") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("ICEGENER")

IDCAMS/KQCAMS

Program utilitas ini meniru perilaku program lama IDCAMS, yang merupakan alat manajemen data mainframe yang digunakan untuk operasi file VSAM (Virtual Storage Access Method). Ini memproses perintah IDCAMS lama, mempertahankan sintaks yang sama dengan input SYSIN asli.

Konteks

Perilaku program dapat dikonfigurasi oleh dua parameter yang didefinisikan dalamapplication-utility-pgm.yml:

  • JCLType: pengidentifikasi tipe JCL (vse atau mvs). PRINT/REPRO Perintah utilitas IDCAMS mengembalikan 4 jika file kosong untuk jcl non-vse

  • forcedCharsetIdcams: Penggantian charset opsional untuk pemrosesan IDCAMS

Parameter

Tidak ada argumen. Operasi dilewatkan melalui dataset SYSIN.

Dataset yang Diperlukan

  • SYSIN - Berisi pernyataan perintah IDCAMS

  • Kumpulan data Input/Output - Seperti yang direferensikan dalam perintah IDCAMS (Tergantung pada Pernyataan IDCAMS)

Fitur Utama/Perintah yang Didukung

Rincian tentang perintah IDCAMS yang ditemukan di kartu kontrol SYSIN tidak diberikan di sini tetapi harus diambil dari dokumentasi platform lama yang relevan yang ada.

  • DEFINE - Membuat cluster dan dataset VSAM

  • DELETE - Menghapus dataset (mendukung wildcard)

  • REPRO - Menyalin data antar kumpulan data

  • PRINT - Menampilkan konten dataset

  • VERIFIKASI - Memvalidasi keberadaan dan integritas kumpulan data

  • ALTER - Memodifikasi atribut dataset (mengganti nama)

  • ALLOC - Mengalokasikan kumpulan data secara dinamis

  • SET - Mengelola kode kondisi (LASTCC/MAXCC)

  • IF-THEN-ELSE - Eksekusi perintah bersyarat

  • BATAL - Mengakhiri eksekusi pekerjaan

Penanganan Kesalahan

  • Setel kode kesalahan 0 jika perintah terakhir berhasil, -1 jika gagal

  • Perintah SET (LASTCC) dapat digunakan untuk mengganti kode kesalahan, mis SET LASTCC = 0

Penggunaan Sampel

Berikut adalah contoh penggunaan Groovy dari program IDCAMS, yang dihasilkan dari modernisasi JCL melalui transformasi AWS:

Kode JCL:

//STEP15 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //ACCTDATA DD DISP=SHR, // DSN=AWS.M2.CARDDEMO.ACCTDATA.PS //ACCTVSAM DD DISP=SHR, // DSN=AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS //SYSIN DD * REPRO INFILE(ACCTDATA) OUTFILE(ACCTVSAM) /*

dan modernisasi Groovy yang cocok:

mpr.withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .systemOut("SYSPRINT") .output("*") .build() .bluesam("ACCTDATA") .dataset("AWS.M2.CARDDEMO.ACCTDATA.PS") .disposition("SHR") .build() .bluesam("ACCTVSAM") .dataset("AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS") .disposition("SHR") .build() .fileSystem("SYSIN") .stream("REPRO INFILE(ACCTDATA) OUTFILE(ACCTVSAM)", getEncoding()) .build() .getFileConfigurations()) .withParameters(params) .runProgram("IDCAMS")

IEBGENER/JSDGENER

Program ini mereplikasi utilitas IEBGENER. Ini digunakan untuk menyalin dan memanipulasi kumpulan data berurutan. Implementasi ini memperluas fungsionalitas penyalinan dasar dengan mendukung pernyataan kontrol IEBGENER untuk operasi pemrosesan data tingkat lanjut.

Parameter

Tidak ada argumen. Operasi dilewatkan melalui dataset SYSIN.

Dataset yang Diperlukan

  • SYSIN: berisi pernyataan kontrol (Opsional, jika tidak ditentukan, program IEBGENER identik dengan ICEGENER)

  • SYSUT1: Masukan dataset/file

  • SYSUT2: Keluaran dataset/file

Fitur Utama/Pernyataan Kontrol IEBGENER yang Didukung

Rincian tentang pernyataan kontrol IEBGENER yang ditemukan di kartu kontrol SYSIN tidak diberikan di sini tetapi harus diambil dari dokumentasi platform warisan yang relevan yang ada.

  • GENERATE - mendefinisikan struktur keseluruhan dari proses manipulasi data dengan menentukan jumlah maksimum jenis rekaman (MAXNAME) dan bidang (MAXFLDS) yang akan diproses

  • RECORD - mendefinisikan tata letak dan konten aktual dari setiap jenis rekaman dengan menentukan posisi, panjang, dan format masing-masing bidang yang akan disalin dari dataset input atau dihasilkan dengan nilai tertentu

  • LABEL/MEMBER/EXITtidak didukung

contoh:

GENERATE MAXNAME=3,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name */ FIELD=(12,8,CH), /* Birth date */ FIELD=(20,8,CH,VALUE='ACTIVE') RECORD TYPE=3, FIELD=(1,1,CH,VALUE='F'), FIELD=(2,30,CH,VALUE='END OF REPORT ')

Penanganan Kesalahan

Setel kode kesalahan 0 jika salinan berhasil, 1 jika gagal.

Penggunaan Sampel

Berikut adalah contoh penggunaan Groovy dari program IEBGENER, yang dihasilkan dari modernisasi JCL melalui transformasi AWS:

Kode JCL:

//GENDATA EXEC PGM=IEBGENER //SYSUT1 DD DSN=INPUT.EMPLOYEE.DATA, // DISP=SHR //SYSUT2 DD DSN=OUTPUT.EMPLOYEE.FILE, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920) //SYSIN DD * GENERATE MAXNAME=2,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE SALARY REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name from input */ FIELD=(12,8,CH), /* Birth date from input */ FIELD=(20,8,CH), /* Dept from input */ FIELD=(28,8,CH) /* Salary from input */ /*

dan modernisasi Groovy yang cocok:

mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .systemOut("SYSPRINT") .output("*") .build() .bluesam("SYSUT1") .dataset("INPUT.EMPLOYEE.DATA") .disposition("SHR") .build() .bluesam("SYSUT2") .dataset("OUTPUT.EMPLOYEE.FILE") .disposition("NEW") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .fileSystem("SYSIN") .stream( """GENERATE MAXNAME=2,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE SALARY REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name from input */ FIELD=(12,8,CH), /* Birth date from input */ FIELD=(20,8,CH), /* Dept from input */ FIELD=(28,8,CH) /* Salary from input */""", getEncoding()) .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEBGENER")

IEFBR14

IEFBR14 adalah program “tidak melakukan apa-apa” yang hanya kembali dengan kode pengembalian 0 (nol). Penggunaan utamanya adalah untuk alokasi dataset, penghapusan, atau pemeliharaan katalog melalui pernyataan DD, tanpa melakukan pemrosesan data aktual apa pun.

Parameter

Tidak ada argumen

Penanganan Kesalahan

Atur selalu kode kesalahan 0.

Penggunaan Sampel

Berikut adalah contoh penggunaan IEFBR14 program Groovy, yang dihasilkan dari modernisasi JCL melalui transformasi AWS:

Kode JCL untuk membuat dataset sekuensial baru:

//STEP1 EXEC PGM=IEFBR14 //NEWSEQ DD DSN=USER.NEW.SEQ.DATA, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(10,5)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)

dan modernisasi Groovy yang cocok:

mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("NEWSEQ") .dataset("USER.NEW.SEQ.DATA") .disposition("NEW") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEFBR14")

Kode JCL untuk menghapus dataset yang ada:

//STEP3 EXEC PGM=IEFBR14 //DELDD DD DSN=USER.OLD.DATASET, // DISP=(OLD,DELETE,DELETE)

dan modernisasi Groovy yang cocok:

mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("DELDD") .dataset("USER.OLD.DATASET") .disposition("OLD") .normalTermination("DELETE") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEFBR14")

JCLBCICS

Program ini mengelola status dataset, enables/disables dataset berdasarkan konfigurasi, mendukung kedua file individual dan pola wildcard: mengubah bidang STATUS dalam tabel JICS file_table.

Parameter

Tidak ada argumen. Operasi dilewatkan melalui DatasetsConfiguration objek, mis

mpr.withDatasetsConfiguration(new DatasetsConfiguration().close(<Dataset Name>)

Konteks

Perilaku program dapat dikonfigurasi oleh dua parameter:

Dalam application-utility-pgm.yml:

  • jclbcics.ddname.size(defaultnya adalah 8): secara global mengonfigurasi ukuran nama kumpulan data; jika nilai ini disetel dan panjang nama kumpulan data kurang dari nilai ini, nama kumpulan data akan terpotong.

Dalam langkah individual dari file Groovy memanggil program

  • JCLBCICS_OVERRIDDEN_SIZE: itu mengesampingkan ukuran nama kumpulan data global:

TreeMap stepMapTransfo = [:] Map stepParams = ["MapTransfo":stepMapTransfo] stepParams["MapTransfo"]["JCLBCICS_OVERRIDDEN_SIZE"] = '6'

Jika ukuran nama dd yang disesuaikan (setelah truncature) kurang dari 8, nama dd dianggap sebagai wild card dan fungsinya beroperasi untuk semua kumpulan data yang dimulai dengan nama dd ini.

Fitur Utama

Operasi yang didukung adalah:

  • BUKA: Menyetel kumpulan data ke status ENABLED

  • TUTUP: Menyetel kumpulan data ke status DISABLED

Operasi ini dideklarasikan melalui kelas DatasetsConfiguration pembangun:

new DatasetsConfiguration().close(<DD name>).open(<DD name>)

Nama DD: nama dataset, wildcard* diterima jika ukuran nama dd kurang dari ukuran nama dd maksimum (8).

Penanganan Kesalahan

Setel kode kesalahan 0

Penggunaan Sampel

Berikut adalah contoh penggunaan Groovy dari program JCLBCICS:

itu menonaktifkan datasetUFOLJ3P, memungkinkan semua dataset dimulai dengan AX, memungkinkan semua dataset dimulai dengan DX

import com.netfective.bluage.gapwalk.rt.call.MainProgramRunner import com.netfective.bluage.gapwalk.rt.call.ProgramExecutionResult import com.netfective.bluage.gapwalk.rt.io.support.DatasetsConfiguration MainProgramRunner mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) def TreeMap stepMapTransfo = [:] def Map stepParams = ['MapTransfo':stepMapTransfo] stepParams['MapTransfo']['JCLBCICS_OVERRIDDEN_SIZE'] = '7' ProgramExecutionResult res = mpr .withDatasetsConfiguration(new DatasetsConfiguration().close("UFOLJ3P").open("AX*").open("DX")) .withParameters(stepParams) .runProgram("JCLBCICS")