errorCode

sysVar.errorCode에는 V6 예외 모드에서 실행되는 프로그램 관련 정보가 있습니다.

EGL은 다음 상황에서 sysVar.errorCode 시스템 변수를 설정합니다.
  • call 문 완료 시
  • 서비스에 대한 호출 후
  • get 또는 open과 같은 파일 입출력(I/O) 명령문 다음
  • 여러 시스템 함수 호출 후. 가능한 값은 개별 함수 주제를 참조하십시오.

V6 예외 모드에서 실행 중이지 않은 경우에는 sysVar.errorCode의 값이 정의되지 않습니다. 이 변수의 값을 기반으로 조치를 수행하지 마십시오.

호출, 입출력(I/O) 또는 시스템 함수가 성공적이면 EGL이 sysVar.errorCode를 00000000으로 설정합니다. COBOL을 생성하는 경우 이 주제의 "호환성"을 참조하십시오.

특성

sysVar.errorCode에는 다음과 같은 특성이 있습니다.
기본 유형
CHAR
데이터 길이
8
세그먼트화된 전환의 값 저장 여부

예제

다음 에제에서는 sysVar.errorCode 변수를 확인합니다.

  if (sysVar.errorCode == "00000008")
	  exit program;
  end

호환성

표 1. sysVar.errorCode의 호환성 고려사항
플랫폼 문제
COBOL 생성
sysCodes 빌드 디스크립터 옵션은 다음과 같이 sysVar.errorCode의 값에 영향을 줍니다.
  • sysCodes를 YES로 설정하고 색인화, WebSphere® MQ, 상대 또는 순차 레코드에 대해 입출력(I/O) 조작을 수행하는 경우 sysVar.errorCode에 디버그 또는 런타임 환경과 자원의 유형(예: VSAM 파일)에 고유한 리턴 코드가 포함됩니다. 이 코드를 해석하려면 자원의 해당 매뉴얼을 참조하십시오.
  • sysCodes를 NO로 설정하면 시스템 리턴 코드가 EGL 리턴 코드로 변환됩니다. 그러면 CSP(Cross System Product) 또는 VisualAge® Generator에서 개발된 프로그램이 EGL에서와 동일한 리턴 코드를 수신할 수 있습니다.
CICS®

모든 CICS 시스템(z/OS®용 CICS 포함)에서 sysVar.errorCode 값의 의미는 해당 값의 형식에 따라 다릅니다.

sysVar.errorCodeRSnnnnnn 양식인 경우 Rational® COBOL Runtime for zSeries 관련 문서의 리턴 코드 절에서 nnnnnn 부분을 조사하여 세부사항을 얻을 수 있습니다.

그렇지 않으면 sysVar.errorCode의 문자가 CICS EXEC Interface Block(EIB)에서 파생됩니다. 이러한 규칙은 원격 파일 액세스에도 적용됩니다.
  • sysVar.errorCode의 문자 1과 2는 EIBFN 첫 번째 바이트의 16진 표시를 포함합니다.
  • 문자 3 - 8은 EIBRCODE 0 - 2바이트의 16진 표시를 포함합니다.
입출력(I/O) 조작이 CICS SYSIDERR로 끝나는 경우(원격 파일에 액세스하는 중에 문제 발생) 다음 값 중 하나가 sysVar.errorCode의 처음 6자에 복사됩니다.
06D004
이름이 시스템 항목이 아님
06D008
링크가 중단됨
06D00C
CICS에서 알 수 없는 이름
IMS™ BMP

sysVar.errorCodeRSnnnnnn 양식인 경우 Rational COBOL Runtime for zSeries 관련 문서의 리턴 코드 절에서 nnnnnn 부분을 조사하여 세부사항을 얻을 수 있습니다.

다음은 IMS BMP에 고유한 유일한 파일 유형입니다. 기타 모든 파일 유형은 이 표에서 아래에 있는 z/OS 일괄처리 관련 항목을 참조하십시오.
IMS 메시지 큐
sysVar.errorCode에 입출력(I/O) 함수 이후 DL/I 상태 코드가 포함됩니다. sysVar.errorCode의 마지막 6자는 공백입니다.
IMS/VS 이 환경에서 사용할 수 있는 파일은 IMS 메시지 큐와 연관된 직렬 파일뿐입니다. sysVar.errorCode에 다음 파일 중 하나에 대한 입출력(I/O) 함수 이후 DL/I 상태 코드가 포함됩니다. sysVar.errorCode의 마지막 6자는 공백입니다.
z/OS 일괄처리

sysVar.errorCodeRSnnnnnn 양식인 경우 Rational COBOL Runtime for zSeries 관련 문서의 리턴 코드 절에서 nnnnnn 부분을 조사하여 세부사항을 얻을 수 있습니다.

그렇지 않으면 sysVar.errorCode의 문자가 파일 유형에 고유합니다.
GSAM
sysVar.errorCode에 입출력(I/O) 함수 이후 DL/I 상태 코드가 포함됩니다. sysVar.errorCode의 마지막 6자는 공백입니다.
SEQ
sysVar.errorCode의 처음 2자에 COBOL 상태 키 값이 포함됩니다. 나머지 6자는 0입니다.
SEQRS
동적 할당에 실패하는 경우 sysVar.errorCode의 처음 3바이트에 값 S99(SVC 99의 경우 동적 할당)가 포함됩니다. 바이트 4는 16진의 SVC 99 리턴 코드이고 바이트 5 - 8에는 16진의 오류 이유 코드가 포함됩니다.

읽는 중에 파일의 끝(EOF) 조건이 발생하는 경우에는 sysVar.errorCode에 리턴 코드 "00000004"가 포함됩니다.

OPEN에 실패하는 경우 sysVar.errorCode에 리턴 코드 "00000008"이 포함됩니다.

읽기, 쓰기 또는 닫기 중에 실패가 발생하는 경우 sysVar.errorCode에 리턴 코드 "00000012"가 포함됩니다.

VSAM
sysVar.errorCode에 다음 정보가 포함됩니다.
  • 2자의 COBOL 상태 키 값
  • 2자의 COBOL VSAM 리턴 코드(VSAM 피드백 코드)
  • 1자의 COBOL VSAM 함수 코드(VSAM 컴포넌트 코드)
  • 3자의 COBOL VSAM 피드백 코드(VSAM 이유 코드)
VSAMRS
동적 할당에 실패하는 경우 sysVar.errorCode의 처음 3바이트에 값 S99(SVC 99의 경우 동적 할당)가 포함됩니다. 바이트 4는 16진의 SVC 99 리턴 코드이고 바이트 5 - 8에는 16진의 오류 이유 코드가 포함됩니다.

파일 열기 또는 닫기에 실패하는 경우 sysVar.errorCode의 처음 2바이트에는 VSAM 프로그램 제어 블록(ACB)의 16진 오류 코드가 포함되고 나머지 6자는 0입니다.

그 외의 경우에는 sysVar.errorCode에 다음 정보가 포함됩니다.
  • 2자의 0
  • 2자의 COBOL VSAM 리턴 코드(VSAM 피드백 코드)
  • 1자의 COBOL VSAM 함수 코드(VSAM 컴포넌트 코드)
  • 3자의 COBOL VSAM 피드백 코드(VSAM 이유 코드)