我在jcl中执行了一个bmcunld来将输出定向到数据集。 问题是该字段具有最大大小,之后我无法读取数据集,因为它发出以下错误消息:
"Invalid Record Length"
这是我的卸载示例:
//A00BMC EXEC PROC=BMCUNLD,UTILID=%%JOBNAME,PARAM='NEW',COND=(0,NE),
// SUBSYS=subsys
//SYSREC DD DSN=datasetname,
// DISP=(NEW,CATLG),
// SPACE=(CYL,(10,10),RLSE),
// DCB=(RECFM=FB,LRECL=1000,BLKSIZE=0)
//SYSIN DD *
UNLOAD
DIRECT NO
SELECT a.data, a.codent, b.text
FROM owner.table_view A,owner.table2_view B
WHERE a.cmarca='S' AND a.cestado='P' AND A.codrc='OK'
AND DATE(A.data) > CURRENT DATE - 2 DAYS
AND B.cmarca = A.cmarca
AND B.chave = A.data
WITH UR;
这个问题只能通过使用此数据集作为带有OUTREC PARSE的SORT的输入来解决,还是可以在查询中解决问题?
答案 0 :(得分:0)
你的BLKSIZE看起来很奇怪 - 你有RECFM = FB,LRECL = 1000,BLKSIZE = 0
至少我期望RECFM = FB,LRECL = 1000,BLKSIZE = 1000
你可能完全没有指定BLKSIZE(没有给出一个)但通常BLKSIZE需要是LRECL的一些非零倍数。通常,特别是如果您的商店具有系统管理存储(SMS),系统本身将为您正在创建的文件分配最佳BLKSIZE。然而,你的例子BLKSIZE = 0,甚至不允许将一条记录存储在一个区块中。