JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥

Posted

技术标签:

【中文标题】JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥【英文标题】:JCL, What is the DD statement I would need to bring in my VSAM file for my cobol to useJCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是什么 【发布时间】:2016-05-10 04:09:48 【问题描述】:

VSAM 文件我需要使用 KC02477.NEWEMP.WORKASGN.KSDS 我的 cobol 正在使用嵌入式 sql,我无法使用输入文件对其进行编译,dd 语句的正确语法是什么

****** ***************************** Top of Data ******************************
 000001 //KC03AF5A JOB (12345678),'KC03AF5',MSGLEVEL=(1,1),                     
 000002 // NOTIFY=KC03AF5,MSGCLASS=H,CLASS=A,REGION=0M                          
 000003 //***********************************************************           
 000004 //FFFPROC JCLLIB ORDER=(KC02477.SHARED.PROCLIB)                         
 000005 //********************************************************************* 
 000006 //DSNHICOB EXEC DSNHICOB,MEMBER=COBOL04, << MEMBERNAME IN COBOL PDS     
 000007 //             SLIB='KC03AF5.BRAPAX'    << COBOL PDS LIB INFO           
 000008 //********************************************************************* 
 000009 //BIND.SYSTSIN   DD *                                                   
 000010  DSN SYSTEM (DBAG)                                                      
 000011  BIND PACKAGE(COL9G) MEMBER(COBOL04) ENCODING(EBCDIC) -                 
 000012  ACT(REP) ISO(CS) OWNER(KC03AF5)                                        
 000013  BIND PLAN(BP278031) PKLIST(COL9G.*) -                                  
 000014  ACT(REP) ISO(CS) ENCODING(EBCDIC) -                                    
 000015  OWNER(KC03AF5)                                                         
 000016  END                                                                    
 000017 //********************************************************************* 
 000018 //RUN.SYSTSIN DD *                                                      
 000019  DSN SYSTEM(DBAG)                                                       
 000020  RUN PROGRAM(COBOL04) PLAN(BP278031)                                    
 000021  END                                                                    
 000022 //RUN.REPORT1   DD SYSOUT=*                           

【问题讨论】:

错误信息是什么???? 100-INITIALIZATION-RTN 错误打开主文件文件状态为 35 您希望 DD 出现在您正在执行的 PROC 中,对于步骤 RUN。因此,您必须在 JCL 中将其拼写到系统中(通用计算机不能成为好的读心者)://RUN.EMDATI DD DSN=KC02477.NEWEMP.WORKASGN.KSDS,DISP=SHR。假设您已在 SELECT 语句中为 COBOL 程序中的文件定义了 EMDATI。 【参考方案1】:

DD 语句通常是:-

//ddname DD DSN=KC02477.NEWEMP.WORKASGN.KSDS,DISP=SHR

ddname 将在程序中定义。

【讨论】:

这就是我最终尝试的方法 //EMDATI DD DSN=KC02477.NEWEMP.WORKASGN.KSDS,DISP=SHR //RUN.REPORT1 DD SYSOUT=* 但它一直给我文件状态 35跨度> 你试过//RUN.EMDATI DD DSN=KC02477.NEWEMP.WORKASGN.KSDS,DISP=SHR吗? RUN. 是必需的,因为您正在调用过程 DSNHICOB(RUN 是您要覆盖的过程中的步骤)。

以上是关于JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java JDBC 写入时 VSAM 文件锁定

使用 TSQ 浏览 VSAM 文件和 DB2 表

将记录添加到 VSAM DATASET [关闭]

如何仅将输入文件的选定列复制到jcl排序中的输出文件

如何从主 jcl 调度子 jcl

不明操作领域 JCL