0
我在jcl中執行了一個bmcunld來將輸出導向到數據集。 的問題是,這一領域有最大的大小,我不能讀之後所創建的數據集,因爲它會發出格蘭以下錯誤信息:在jcl中調整表卸載輸出字段
"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的輸入來解決,或者我可以在查詢中解決直接問題嗎?
不熟悉BMC的產品,但...輸出數據集的LRECL和DSORG是什麼? SELECT語句中列的特徵是什麼?如果你有一個VARCHAR列,其內容你知道總是少於一些較短的固定長度,你可以把它作爲一個短的長度的CHAR來投射。根據您正在閱讀的輸出數據集,可能錯誤還有其他一些根本原因。 – cschneid
對於輸出數據集的DCB屬性,ISPF 3.1或TSO LISTD顯示了什麼?你運行什麼程序顯示錯誤信息? – zarchasmpgmr
對於卸載,我懷疑LRECL必須匹配被提取的行的長度,因此「無效記錄長度」。仔細查看輸出消息以查看是否指定了預期的LRECL –