2017-03-18 8 views
-2

나는 이러한 오류 메시지를 받고 있습니다.
IEW2677S 5130 유효 등록 포인트를 결정할 수 없습니다.
IEW2008I 0F03 처리가 완료되었습니다. 리턴 코드 = 여기에 12JCL 심각한 메시지

는 JCL입니다 : 구성원을 지정하지 않습니다 (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 //                  
+3

사이트에서 PL/I 프로그램을 컴파일하기위한 표준 프로 시저를 사용하지 않고 직접 JCL을 작성하도록 요청 했습니까? '//PLI.SYSIN DD DSN = INVAT.SOURCE (PROG5), DISP = SHR' 그것은 무엇을 하는가? 그리고 // STEPLIB DD DSN = INVAT.LOAD (PROG5), DISP = SHR'. JCL로 시작한다면, PROC를 사용하지 않는 PROC를 사용하는 무언가를 해킹하는 것은 권장하지 않습니다. –

+0

Bill과 동의 함 ... PLI라는 PROC를 실행하지 않는 경우 문제가 PLI.SYSIN이 SYSIN이어야합니다. 가지고있는 방식대로 컴파일러에 입력이 없으므로 결과 객체 코드가없고 013 비정상 종료가 발생합니다. 간단한 수정은 PLI.SYSIN 및 LKED.SYSLMOD 항목을 변경하여 proc 단계 이름 (즉, SYSIN 및 SYSLMOD)을 삭제하는 것입니다. –

+0

... 한 가지 다른 점은 SYSLMOD DD DSN = dataset (member)이 전혀 잘못되어 SYSLIN을 건너 뛰는 것입니다. 기본적으로 ENTRY는 입력 오브젝트 파일의 첫 번째 CSECT가되며 SYSLMOD에 멤버 이름을 지정한 이후 NAME이 필요하지 않습니다. –

답변

2

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 내가 링크 편집 (LKED) 단계 (ENTRY 하나 개의 라인과 NAME에 대한 한 줄)에 추가 된 SYSIN 라인이었다 고정 된 무엇

. 기본적으로 링크 편집 단계 (컴파일의 마지막 단계이며 컴파일 된 코드를 loadlib에 복사하는 일)는 컴파일하려는 프로그램의 항목 이름이나 프로그램 이름을 알지 못했습니다. SYSIN이 지정되었지만 SYSIN이 비어 있었기 때문에 모듈에 텍스트가 없다는 오류 메시지가 나타납니다.

+0

와우! 완벽하게 일했습니다. 도움을 많이 주셔서 감사합니다. 나는 지금 훈련 중이며이 JCL은 나에게 두통 거리가된다. – Adi

+0

당신이 무엇을 왜했는지에 대한 작은 세부 사항을 주시면 제게 많은 의미가 있습니다. – Adi

+1

아플 편집 내 답변 2 분 내에 – SaggingRufus