查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
内含物
新的用户
已加入:2005年12月8日 帖子:48 地点:钦奈
|
|
|
|
我的KSDS文件长度为650.我需要将文件长度增加到653.使用IDCAMS repro将650长度数据备份到平面文件1(文件长度650)上。我删除并定义了653长度的VSAM(除了文件长度没有任何变化)并成功地从平面文件1重新加载了数据。
稍后,当我尝试使用同一作业(用于平面文件1的IDCAMS repro)将653长度的数据备份到平面文件2(这次将文件长度增加到653)时,它将引发错误INVALID LENGTH并与RC一起结束= 12。
需要提到的是VSAM 653长度的最后16个字符的值很低,还提到了当我尝试使用fileaid将VSAM复制到平面文件时可以正常工作的情况,但是我只需要使用相同的IDCAMS作业即可。
有人可以帮忙吗?请让我知道是否需要其他详细信息 |
|
回到顶部 |
|
 |
辛格29
活跃用户

已加入:2008年12月16日 帖子:132 地点:IBM
|
|
|
|
Can you please post the JCLhere? |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
duh, what is the JCL(include control cards) for the IDCAMS repro step?
还包括平面文件的DCB信息。
你说的话没有任何意义,
只要新VSAM文件在VSAM到QSAM repro中使用的qsam文件的DCB为653。
听起来好像您正在尝试将VSAM(653)转换为QSAM(650),
这显然是行不通的。 |
|
回到顶部 |
|
 |
内含物
新的用户
已加入:2005年12月8日 帖子:48 地点:钦奈
|
|
|
|
这是JCL-
码: |
// SS000100 EXEC PGM = CHECKCC,PARM ='PGMA = IDCAMS,ABEND = 0001'
// INFILE DD DSN = A.B.C,DISP = SHR
//输出文件DD DSN = A.B.C.BKP(+1),
// DISP=(,CATLG,DELETE),SPACE=(CYL(100,100),RLSE),
// DCB=(RECFM = FB,BLKSIZE = 0,LRECL = 653)
// SYSIN DD
REPRO 资料(INFILE) 输出文件(OUTFILE)
/ *
A.B.C. BKP.G00001V00上的操作错误
***未记录X'F0F3F3F3F0'。长度无效
A.B.C. BKP.G00001V00上的操作错误
***未记录X'F0F3F3F3F0'。长度无效
达到最大错误限制
处理的记录数为1
功能已终止条件代码为12 |
|
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
并以RC = 12结束
它真的与RC 12一起使用吗
顺便说一句,使用REPRO时,我将仅使用RECFM = VB,对于DASD输出使用LRECL = 27994,对于磁带输出使用LRECL 32756,并且30多年来,REPRO或EXPORT从未遇到问题。 |
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
奇怪但是 正确 行为
默认情况下,VSAM不了解固定记录VSAM<things> are 因架构而异
而且它处理固定长度记录的方式至少是模糊的
let' s say that IDCAMS check 东西 backwards ..
VSAM定义IDCAMS会检查<vsam>记录长度与输出DCB的记录长度之间的关系
在不匹配的情况下,ir的行为将与
the fact that 您somehow see at the end of the records hex zeroes
depends on the tool 您use to <browse> the thing
您<reloaded>具有旧记录的KSDS和VSAM对此感到满意
但是(由于架构假设)
记录仍旧
所以我第一句话的原因
用不同的记录长度但逻辑相同的方式检查
而行为是根据我对vsam架构的解释 |
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
我想说的是,大约有80%的与vsam交往的人是白痴
为什么继续对vsam固定长度记录大肆宣传
他们应该被迫 手写 几千次(*)
VSAM记录的长度可变
...
VSAM记录的长度可变
直到他们了解并修改
还有所有书法
我的烦恼
说好/好书法而不是好/好写作
就像说(并且经常发生)个人PIN  |
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
无论如何,如果您愿意查看手册中的IDC3309I消息,
您would have found ...
引用: |
说明:由于以下原因之一,未写入指定的记录:
记录长度大于输出数据集的LRECL(逻辑处理)。
记录长度小于输出数据集和输出RECFM = FIXED的LRECL,或者输出是相对记录数据集。
要写入的控制间隔长度不等于输出数据集的控制间隔大小。
当RECFM = F并且输出到子系统设备时,记录长度小于允许的最小输出LRECL(输入LRECL + 4)。
|
因为您用旧记录重新加载了vsam,所以您应该没有什么不同 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
内含物,
如果使用SORT将原件卸载到PS。然后SORT读取PS和 延伸 按三字节记录,如果愿意,可以初始化为二进制零,然后将其写入新定义的VSAM KSDS,可能会得到所需的结果。
恩里科,对于使用VSAM但不真正知道如何有效使用VSAM的人,我会说90年代高。 CI小于最常见记录长度大小的可用空间百分比是许多令人愉快的记录之一-比根本没有可用空间还差:-)
全部,当您执行LISTCAT时,您将获得所有这些东西。如果要将VSAM放在简历上,请确保您知道其中的很多含义。人们似乎将VSAM放在CV上,因为他们已经使用VSAM文件编写了程序。为什么不使用QSAM等?我有一个在访谈中使用的问题,我可能会在以后的适当论坛中发布。 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
我已经知道该问题的答案:“我不知道,但是答案在手册中,我确实会阅读!” |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
好吧,Nic,您为此会得到标记为“正”的东西,但是我想要从在他的简历上放上“ VSAM”的人得到更多的东西:-)
关于“积极的事情”的警告-如果您在最初的回答中太过轻率,我会问“哪本手册”,否则我会问您手册中的下落最有可能帮助您:-)
您会说“ VSAM手册”而得不偿失,而我会为“索引”提供一些帮助。 |
|
回到顶部 |
|
 |
内含物
新的用户
已加入:2005年12月8日 帖子:48 地点:钦奈
|
|
|
|
我初始化了653平面文件2中的最后3个字符,并加载了VSAM,它起作用了。
感谢您的帮助和建议。 |
|
回到顶部 |
|
 |
|