2014-03-25 4 views
1

JCL returtn 코드가 항상 가장 높은 반환 값을 가지고 있다고 들었습니다. 예 : 난 STEP4와 (예시 CAE에 1 최대 코드) JCL 반환 값을 실행할SAS의 JCL 리턴 코드가 가능합니까?

when step 1 ends with 1 
step ends with 0 
step3 ends with 0 

처리 위해 STP (4)로부터 호출 SAS 코드로 전송되어야 그것은 가능한가?

누구든지 나를 도울 수 있습니다 !!!!

+0

단계 수준에 있습니다. 작업은 가장 높은 반환 코드를보고합니다. 귀하의 질문에 대한 짧은 대답은 아니오입니다. 마술처럼 JCL을 사용하는 프로그램으로 이전 리턴 코드에서 가장 높은 리턴 코드 또는 리턴 코드를 전달할 수는 없습니다. 더 긴 대답은 네입니다. 아마도 당신이 원하는 것을 할 수있을 것입니다. 그러나 당신이 내놓은 해결책을 제공하는 방법을 우리에게 요청했습니다. 당신이 무엇을하려고하는지 알려 주시면 몇 가지 제안을 할 수 있습니다. 그러므로 우리가 필요로하는 세부 정보로 질문을 편집하십시오. 우리는 당신이 원하는 것을 모릅니다. 당신이 원하는 것을 할 수없는 한 가지 방법을 압니다. –

+0

반환 코드이기 때문에 당신은'mainframe' 태그를 포함해야한다 –

+0

Bill이 명시한대로 JCL의 반환 코드를 SAS 프로그램에 전달할 수는 없습니다. SAS가 반환 코드를 전달하려는 이유는 SAS가 RETURNCODE로 수행 할 작업은 무엇입니까? 우리에게 말하면 원하는 것을 성취 할 수있는 방법이있을 것입니다. –

답변

3

Bill은 귀하에게 은 이전 단계의 리턴 코드을 JCL의 프로그램으로 전달할 수 없습니다. 문 JCL IF examples 또는 콘드 옵션이 표시되면 JCL 를 사용

  • : 당신이

    이 옵션은 포함 한 프로그램에 리턴 코드를 전달하려는 이유

    을 요구하고있다 기본적으로 :

    // IF (RC = 1) THEN 
    //  EXEC PGM=MyProg,PARM='1' 
    // END-IF 
    // IF (RC = 2) THEN 
    //  EXEC PGM=MyProg,PARM='2' 
    // END-IF 
    // IF (RC = 3) THEN 
    //  EXEC PGM=MyProg,PARM='3' 
    // END-IF 
    // IF (RC > 3) THEN 
    //  EXEC PGM=MyProg,PARM='99' 
    // END-IF 
    
    (210)

    또는

    //  EXEC PGM=MyProg,PARM='1',cond=(0,ne) 
    //  EXEC PGM=MyProg,PARM='2',cond=(1,ne) 
    //  EXEC PGM=MyProg,PARM='3',cond=(2,ne) 
    //  EXEC PGM=MyProg,PARM='99',cond=(4,lt) 
    
  • 갱신 이전의 프로그램과 리턴 코드를 issueing보다는 파일에 쓸 수.

  • rexx 스크립트 배경을 실행하고 rexx에서 프로그램을 호출 할 수 있습니다. rexx 에서 프로그램을 호출하고 반환 코드를 저장 한 다음 후속 프로그램에 전달할 수 있습니다. 이것은 최후의 수단으로 간주되어야하지만

이 메인 프레임 SAS 특정 일 (참, 해상도가 아마 SAS와 함께 할 일이 많이없는)