3

IEBGENER を希望どおりに動作させる方法を理解するのに苦労しています。私はアカデミックなメインフレーム上の z/OS 環境で IEBGENER を実行していると言って、これらすべての前置きをしておく必要があります。

使用している COBOL コードにインラインで 3 つの JCL プロシージャ (PROC) があり、COBOL を配置するだけでなく、PROC を「MVS ID の下の永続プロシージャ ライブラリ」に配置するための最初のステップの 1 つとして IEBGENER が必要です。 「私の MVS ID の下の永続的な順次データ セットに」ソースします。

インストラクターは、「これらのデータ セットの正しい LRECL および BLKSIZE 情報をコーディングすることを忘れないでください」と述べています。

私は IEBGENER にあまり詳しくなく、私がやろうとしていることを実際にどのように行うかを説明するものを見つけられませんでした。

助けることができる「ビッグアイアン」の人々はいますか?

4

7 に答える 7

5

前述のとおり、IEBGENER はコピー プログラムです。SYSUT1 で入力を受け取り、それを出力データセット SYSUT2 に「生成」します。あなたのインスタンスでは、2 つのファイルをコピーしているので、それぞれが 1 つの出力データセットを生成する 2 つの GENER ステップを持つのが最も簡単です。

ここで唯一難しいのは、出力データセットを正しい形式で取得することです。したがって、proclib に生成するには、現在カタログ化されていないと仮定すると、SYSUT2 は次のようになります。

//SYSUT2  DD  DSN=&SYSUID.PROCLIB,
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(RECFM=FB,LRECL=80,DSORG=PO)

ソース出力の順次データセットは似ていますが、DCB オプションに DSORG サブパラメーターはありません。そこにある PO のオプションは、QSAM ファイルではなく PDS を作成することを示しています。最新の z/OS インストールでは、BLKSIZE をコーディングする必要はありません。これは、BLKSIZE を指定しない場合、システムが最適なサイズを計算するためです。

于 2009-04-14T18:51:33.903 に答える
4

これはIEBGENERの使用方法です(前述のように、IBM docsサイトにあります):

//COPY EXEC PGM=IEBGENER
//SYSUT1 DD DSN=MY.INPUT.FILE,DISP=SHR
//SYSUT2 DD DSN=MY.OUTPUT.FILE,DISP=NEW,SPACE=....
//SYSIN DD DUMMY

IEBGENER は「単なる」コピー プログラムであり、必要なのは入力ファイル、出力ファイル、および制御ファイルだけです。

あなたが何を「具体的」と考えているのかわかりませんが、どの名前を使用するかを知るだけの問題ではありませんか?

編集:入力をインラインで定義したい場合は、これを試してください:

//SYSUT1 DD *
...
/*

さらに良いことに、入力に JCL も含まれている場合:

//SYSUT1 DD DATA,DELIMITER=XX
...
XX

ただし、それでも例外的な JCL ではありません。

于 2009-04-14T15:32:57.313 に答える
2

いくつかのマイナーなポイント:

DCB =(RECFM = FB、LRECL = 80、DSORG = PO)

DCB =はもう必要ありません、コードだけです

RECFM = FB、LRECL = 80、DSORG = PO

また:

レコードは固定形式であるため、BLKSIZEは80の偶数倍である必要があります。多くの場合、人々は3120の値を使用します。この理由は、古代の霧の中に隠されています。私は27920を使用する傾向があり、3390デバイスで最も効率的なスペース使用量を取得します。

新しいDASD(ディスク)データセットのブロックサイズを指定する必要はありません。システムによって決定されたブロックサイズは、自動的に最適なブロックサイズを提供します(3390でLRECLが80の場合は実際に27920になります)

于 2009-09-28T13:15:47.927 に答える
2

IBM Z / OSマニュアルへのリンクは 次のとおりです。http: //www-03.ibm.com/systems/z/os/zos/bkserv/v1r10books.html JCLを検索すると、JCLのマニュアルが見つかります。IEBGENERは、あるデータセット(ファイル)から別のデータセットにデータをコピーするためのIBM提供のコピープログラムです。入力ファイル、出力ファイル、制御ファイルがあります。LRECLとBLKSIZeはデータセットパラメーターです。入力ファイルと出力ファイルのパラメータが一致しない場合、データが正しくコピーされない可能性があります。私はあなたの質問を完全に理解していませんでした。IEBGENERで何をする必要があるかについて詳しく説明していただけますか。

于 2009-04-14T19:08:29.557 に答える
2

DCB パラメーターについて心配する必要がないように、入力データセットの値を指すのは良いトリックです。

//STEP100  EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DISP=SHR,DSN=INPUT.FILE
//SYSUT2   DD DSN=OUTPUT.FILE,
//           DISP=(,CATLG,DELETE),
//           SPACE=(TRK,(300,50),RLSE),
//           DCB=*.SYSUT1
//SYSIN    DD DUMMY
于 2012-04-06T22:18:38.340 に答える
0

「永久手続きライブラリー」と「永久順次データ・セット」に正しい LRECL と BLKSIZE を指定するようにインストラクターが注意しているように聞こえます。歴史的に、そのようなデータ・セットは RECFM=FB、LRECL=80 です。

レコードは固定フォーマットであるため、BLKSIZE は 80 の偶数倍である必要があります。多くの場合、人々は 3120 の値を使用します。この理由は古代の霧の中に隠されています。私は 27920 を使用する傾向があり、3390 デバイスで最も効率的にスペースを使用します。

于 2009-04-29T20:24:12.260 に答える