経由でファイルを動的に割り当てようとしています
OPEN FILE (OUT) TITLE('DSN(XXXXX.XXXXX.MILTEST),LRECL(80)');
ファイルは作成されますが、レコードサイズはデフォルト値です。環境変数と代替名を試しましDD_DDNAME
たが、取得し続けます
UNDEFINEDFILE 条件が発生しました ABENDU4038
経由でファイルを動的に割り当てようとしています
OPEN FILE (OUT) TITLE('DSN(XXXXX.XXXXX.MILTEST),LRECL(80)');
ファイルは作成されますが、レコードサイズはデフォルト値です。環境変数と代替名を試しましDD_DDNAME
たが、取得し続けます
UNDEFINEDFILE 条件が発生しました ABENDU4038
これを試して、Enterprise PL/I で新しいファイルを作成します。
Dcl theLrecl = 42;
Dcl userDataset char(44) init('USER.DATASET');
dcl fileTitle char(88);
fileTitle ='DSN('||trim(userDataset)||'),NEW,CYL,SPACE(1,1),KEEP,LRECL('||theLrecl||')';
Put Skip List('fileTitle=',trim(fileTitle)); /* optionally show the title for debugging purposes */
dcl tempFile file print;
OPEN FILE(tempFile) title(trim(fileTitle));
注: 「タイトル」文字列に空白を含めることはできません。確実にトリミングしてください。
詳細はhttp://www-01.ibm.com/support/docview.wss?uid=isg1PK74015にあります。
おっと、質問を読み間違えました。LRECL に関するナレッジ センターのスニペットを次に示します。
LRECL LRECL オプションは RECSIZE オプションと同じです。
LRECL (n) LRECL が指定されておらず、LINESIZE 値によって暗示されていない場合 (TYPE(FIXED) ファイルを除く)、デフォルトは 1024 です。
RECSIZE RECSIZE オプションは、データ・セット内のレコードの長さ n を指定します。
RECSIZE 512 ( n ) - 地域および固定長のデータ セットの場合、RECSIZE はデータ セット内の各レコードの長さを指定します。他のすべてのデータ・セット・タイプの場合、RECSIZE はレコードの最大長を指定します。
両方のオプションの詳細については、第 6 章「Enterprise PL/I for z/OS - Programming Guide Version 4 Release 4」のデータセットとファイルの使用を参照してください。