returnCode

sysVar.returnCode 시스템 변수에는 사용자 프로그램에서 설정한 외부 리턴 코드가 들어 있습니다. 기본 프로그램은 sysVar.returnCode를 사용하여 운영 체제에 리턴 코드를 전달합니다(JCL, CL, 일괄처리 파일 또는 명령 프로세서를 의미할 수 있음). 호출된 프로그램에서는 sysVar.returnCode를 사용하여 비EGL 프로그램에 리턴 코드를 전달합니다.

EGL 프로그램에서 다른 EGL 프로그램으로 리턴 코드를 전달할 수는 없습니다. 예를 들어, sysVar.returnCode에 0이 아닌 값이 있어도 EGL이 onException 블록을 실행하지 않습니다.

sysVar.returnCode의 초기값은 0입니다. COBOL 출력의 경우 값이 0 - 512 범위(양 끝값 포함)에 있어야 합니다.

특성

sysVar.returnCode에는 다음 특성이 있습니다.
기본 유형
INT
데이터 길이
9
세그먼트화된 전환의 값 저장 여부

예제

다음 예제에서는 리턴 코드를 운영 체제에 전달하도록 설정합니다.

  sysVar.returnCode = 6;

호환성

표 1. returnCode의 호환성 고려사항
플랫폼 문제
Java™ 생성
  • sysVar.returnCode의 값은 -2147483648 - 2147483647 범위(양 끝값 포함)에 있어야 합니다.
  • sysVar.returnCode는 명령행 또는 스크립트를 통해 호출된 프로그램(즉, 기본 텍스트 프로그램 또는 기본 일괄처리 프로그램)에서만 사용 가능합니다. 이 컨텍스트에서 sysVar.returnCode의 용도는 프로그램을 호출하는 명령 파일 또는 exec에 필요한 코드를 제공하는 것입니다.
  • 프로그램이 프로그램의 제어를 받지 않는 오류로 끝나는 경우 EGL 런타임에서 sysVar.returnCode의 설정을 무시하고 693 값을 리턴하려고 합니다.
  • Windows에서는 명령 프롬프트에서 %ERRORLEVEL%을 검사하여 값을 얻을 수 있습니다. 기타 운영 체제에도 비슷한 변수가 있습니다.
  • sysLib.callCmd() 호출에 성공하면 호출된 명령의 리턴 코드가 sysVar.returnCode에 배치됩니다.
COBOL 생성
  • sysVar.returnCode의 값은 0 - 512 범위(양 끝값 포함)에 있어야 합니다.
  • sysVar.returnCode에는 대부분의 경우 운영 체제와 EGL 생성 프로그램이 아닌 호출자에게 제공되는 코드가 들어 있습니다. 프로그램이 코드로 처리되지 않는 오류로 끝나면 EGL 런타임에서 512보다 큰 값을 리턴하려고 합니다.
  • sysVar.returnCode는 COBOL RETURN-CODE 특수 레지스터를 사용하여 구현됩니다.
z/OS®용 CICS® 프로그램이 동일한 CICS 리젼의 다른 프로그램에서 호출되고 EXEC CICS LINK 명령으로 호출되지 않는 경우에만 프로그램이 종료된 후 sysVar.returnCode를 사용할 수 있습니다. 리턴 코드는 CICS 기반 프로그램이 호출되는 경우(그리고 프로그램이 비EGL 생성 프로그램에서 호출되는 경우)에만 의미가 있습니다.
IMS/VS sysVar.returnCode가 기본 프로그램에서 다시 전달되지 않습니다.