JCL 严重消息

JCL SEVERE MESSAGES

我在尝试编译我的程序时收到这些错误消息:

IEW2747S D90C 异常终止 013-18 在使用 DD 处理顺序数据集时发生 IEW2230S 0414 模块没有文本。
IEW2677S 5130 无法确定有效的入口点。
IEW2008I 0F03 处理完成。 RETURN代码=12。

这是 JCL:

000100 //IBMP5    JOB (COMPILE),USERID,MSGCLASS=H,REGION=0M,                  
000200 //         MSGLEVEL=(1,1),CLASS=A,NOTIFY=&SYSUID                       
000300 //*******************************************************************  
000400 //*                                                                 *  
000401 //* THIS JCL WILL COMPILE, LINK-EDIT (BIND) AND RUN A PROGRAM       *  
000402 //*                                                                 *  
000410 //*******************************************************************  
000420 //*  COMPILATION STEP                                                  
000430 //*                                                                    
001100 //STEP1    EXEC PGM=IBMZPLI,REGION=1M,PARM=('MACRO,OBJECT,INSOURCE')   
001200 //STEPLIB  DD   DSNAME=IEL380.SIBMZPRC,DISP=SHR                        
001201 //         DD   DSNAME=IEL380.SIBMZCMP,DISP=SHR                        
001204 //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))                             
002000 //SYSPRINT DD SYSOUT=*                                                 
002010 //SYSOUT   DD SYSOUT=*                                                 
002100 //*                                                                    
002510 //* SOURCE CODE MEMBER                                                 
002520 //*                                                                    
002530 //PLI.SYSIN DD DSN=INVAT.SOURCE(PROG5),DISP=SHR                        
002531 //*                                                                    
002532 //* TARGET FOR OBJECT FILE                                             
002535 //*                                                                    
002536 //SYSLIN   DD  DSN=INVAT.OBJ(PROG5),DISP=(OLD,PASS),UNIT=SYSALLDA,     
002537 //             SPACE=(CYL,(1,1)),DCB=(LRECL=80,BLKSIZE=800)            
002540 //*                                                                    
002541 //*  LINKAGE (BIND) STEP                                               
002542 //*                                                                    
002550 //STEP2    EXEC PGM=IEWL,REGION=0M                                     
002560 //SYSLIB   DD  DSNAME=SYS1.LINKLIB,DISP=SHR                            
002570 //         DD  DSNAME=CEE.SCEELKED,DISP=SHR                            
002580 //SYSLIN   DD  DSN=INVAT.OBJ(PROG5),DISP=SHR                           
002590 //LKED.SYSLMOD DD DSN=INVAT.LOAD(PROG5),DISP=SHR                       
002600 //SYSUT1   DD  UNIT=SYSALLDA,SPACE=(TRK,(10,10))                       
002700 //SYSPRINT DD SYSOUT=*                                                 
002800 //*  
002900 //*  EXECUTION STEP                                                     
003000 //*                                                                     
003100 //STEP3    EXEC PGM=PROG5                                               
003200 //STEPLIB  DD DSN=INVAT.LOAD(PROG5),DISP=SHR                            
003300 //SYSPRINT DD SYSOUT=*                                                  
003400 //SYSIN    DD *                                                         
003800 /*                                                                      
003900 //                                                                      

通常(在我看过的所有编译JCL中)SYSLMOD,不指定成员。所以你那一行看起来像这样:

//SYSLMOD DD DSN=INVAT.LOAD,DISP=SHR

然后在此之下,您将在 sysin 中包含该成员:

//LKED.SYSIN DD *  
    ENTRY PROG5   
    NAME  PROG5(R)
/*                

所有这些加在一起会给你这样的东西:

000100 //IBMP5    JOB (COMPILE),USERID,MSGCLASS=H,REGION=0M,                  
000200 //         MSGLEVEL=(1,1),CLASS=A,NOTIFY=&SYSUID                       
000300 //*******************************************************************  
000400 //*                                                                 *  
000401 //* THIS JCL WILL COMPILE, LINK-EDIT (BIND) AND RUN A PROGRAM       *  
000402 //*                                                                 *  
000410 //*******************************************************************  
000420 //*  COMPILATION STEP                                                  
000430 //*                                                                    
001100 //STEP1    EXEC PGM=IBMZPLI,REGION=1M,PARM=('MACRO,OBJECT,INSOURCE')   
001200 //STEPLIB  DD   DSNAME=IEL380.SIBMZPRC,DISP=SHR                        
001201 //         DD   DSNAME=IEL380.SIBMZCMP,DISP=SHR                        
001204 //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))                             
002000 //SYSPRINT DD SYSOUT=*                                                 
002010 //SYSOUT   DD SYSOUT=*                                                 
002100 //*                                                                    
002510 //* SOURCE CODE MEMBER                                                 
002520 //*                                                                    
002530 //PLI.SYSIN DD DSN=INVAT.SOURCE(PROG5),DISP=SHR                        
002531 //*                                                                    
002532 //* TARGET FOR OBJECT FILE                                             
002535 //*                                                                    
002536 //SYSLIN   DD  DSN=INVAT.OBJ(PROG5),DISP=(OLD,PASS),UNIT=SYSALLDA,     
002537 //             SPACE=(CYL,(1,1)),DCB=(LRECL=80,BLKSIZE=800)            
002540 //*                                                                    
002541 //*  LINKAGE (BIND) STEP                                               
002542 //*                                                                    
002550 //STEP2    EXEC PGM=IEWL,REGION=0M                                     
002560 //SYSLIB   DD  DSNAME=SYS1.LINKLIB,DISP=SHR                            
002570 //         DD  DSNAME=CEE.SCEELKED,DISP=SHR                            
002580 //SYSLIN   DD  DSN=INVAT.OBJ(PROG5),DISP=SHR                           
002590 //SYSLMOD  DD DSN=INVAT.LOAD,DISP=SHR                       
002600 //SYSUT1   DD  UNIT=SYSALLDA,SPACE=(TRK,(10,10))                       
002700 //SYSPRINT DD SYSOUT=*           
       //LKED.SYSIN DD *  
            ENTRY PROG5   
            NAME  PROG5(R)
       /*                                        
002800 //*  
002900 //*  EXECUTION STEP                                                     
003000 //*                                                                     
003100 //STEP3    EXEC PGM=PROG5                                               
003200 //STEPLIB  DD DSN=INVAT.LOAD(PROG5),DISP=SHR                            
003300 //SYSPRINT DD SYSOUT=*                                                  
003400 //SYSIN    DD *                                                         
003800 /*                                                                      
003900 //      

试试看是否有帮助。

编辑:

您遗漏并最终修复此 JCL 的是我添加到 link 编辑 (LKED) 步骤的 SYSIN 行(一行用于 ENTRY,一行用于 NAME)。基本上 link 编辑步骤(这是编译的最后一步,负责将编译后的代码复制到 loadlib)发生的事情不知道条目名称或您尝试编译的程序的名称.您已经指定了一个 SYSIN,但由于 SYSIN 为空,您收到了错误消息,指出模块没有文本。