IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

文件状态-可变长度VSAM KSDS文件上的39


IBM大型机论坛 -> COBOL程式设计
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
mframe-guy

新的用户


已加入:2020年12月03日
帖子:4
地点:印度

发布发表于:星期五十二月04,2020 12:04上午
引用回复

你好

程序尝试打开VSAM-KSDS(可变长度文件)时,文件状态为-39。

以下是程序中可用的VSAM文件的详细信息:

码:
选择VSM文件           ASSIGN   TO    VSAMFL       
                                   索引组织     
                                    ACCESS MODE IS  RANDOM       
                                    RECORD KEY   VSM-KEY         
                                    STATUS IS    WS-VSMFL-STATUS.

FD  VSM-FILE                                 
   记录的大小各不相同                 
   取决于WS-VSM-LEN。                 
01  VSM-RECORD.                               
    05 VSM密钥                    PIC X(08). 
    05 VSM-DAT1                  PIC X(02). 
    05 VSM-DAT2                  PIC 9(03). 
    05 VSM-DAT3                  PIC X(5374).

01  WS-VSM-LEN                    PIC 9(04).


可变长度KSDS VSAM文件的一些物理属性:

数据集类型:KSDS
CI大小:4096
每个CA的CI:180
平均记录大小:95
最大记录大小:5387
密钥长度:8
键偏移量:0
跨区域Shropt:2
跨系统Shropt:3

如果需要提供更多信息,请告诉我。
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表于:星期五十二月04,2020 12:34上午
引用回复

文件状态39表示数据集的COBOL程序属性与数据集的物理属性不匹配。从COBOL 语言参考 手册:
引用:
OPEN语句失败,因为存在冲突
在固定文件属性和指定的属性之间检测到
该程序中的文件。这些属性包括
文件的组织(顺序,相对或索引),素数
记录键,备用记录键,代码集,最大
记录大小,记录类型(固定或可变)和阻止
因子。
因此,您需要获取VSAM数据集的LISTCAT并比较这些属性,以查看哪些属性不匹配并更改程序。

注意:对于此特定问题,CI大小和共享选项(以及其他选项)无关紧要,因为COBOL不了解它们。
回到顶部
查看用户资料 发送私信
mframe-guy

新的用户


已加入:2020年12月03日
帖子:4
地点:印度

发布发表于:2020年12月16日,星期三8:55 pm
引用回复

谢谢罗伯特

我执行了LISTCAT,似乎文件的某些属性已更改,因为应用程序团队在刷新过程中删除了文件并使用新的KEYLEN和总长度创建了文件,而我不知道并遵循旧的参数,因此是问题。

因此,我用更新的KEY长度和其他参数更新了我的代码,后来它起作用了。

回复晚了非常抱歉;再次感谢
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> COBOL程式设计

 


类似主题
话题 论坛 回覆
该主题已锁定:您无法编辑帖子或回复。 将匹配的记录写入输出文件 DFSORT / ICETOOL 11
没有新帖 比较文件记录计数百分比... DFSORT / ICETOOL 4
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
没有新帖 将文件从PD转换为显示... 同步排序 4
没有新帖 RECFM = U磁带文件的记录数 DFSORT / ICETOOL 17
搜索我们的论坛:


回到顶部