我试图通过
动态分配文件OPEN FILE (OUT) TITLE('DSN(XXXXX.XXXXX.MILTEST),LRECL(80)');
文件已创建,但记录大小为默认值。我尝试了env变量和DD_DDNAME
的替代名称,但一直得到
UNDEFINEDFILE条件被引发abend4038
尝试在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));
注意:'title'字符串不能包含空格;所以一定要修剪一下。
更多详细信息请访问http://www-01.ibm.com/support/docview.wss?uid=isg1PK74015
哎呀,读错了问题;以下是来自知识中心的关于LRECL的片段;
LRECLLRECL选项与RECSIZE选项相同。
LRECL (n)如果LRECL没有被指定,也没有被LINESIZE值暗示(除了类型(固定)文件,默认为1024。
操作RECSIZE选项指定数据集中记录的长度n。
操作512(n) -对于区域和固定长度的数据集,RECSIZE指定每个数据集的长度记录在数据集中;对于所有其他数据集类型,RECSIZE指定最大值长度记录可能有。
这两个选项的详细信息见第6章:使用"Enterprise PL/I for z/OS"的数据集和文件-编程指南Version 4 Release 4"