iSeriesCdml 호환성 고려사항

iSeries 환경에서 프로그램 실행을 준비할 때 고려할 다수의 플랫폼 문제가 있습니다.

call 문 오류 처리

call 문의 오류 처리는 예외 처리를 위해 프로그램이 사용하는 메소드에 따라 다릅니다. 프로그램이 v60ExceptionCompatibility 특성을 예로 설정하는 경우 call 문이 시도 블록에 포함되면 호출된 프로그램이 전송하는 이스케이프 메시지를 수신할 수 있습니다. 이스케이프 메시지 ID는 sysVar.errorCode 시스템 변수에 배치됩니다. 이스케이프 메시지 ID는 7자의 영숫자 문자입니다.
aaannnn 
aaa
일반적으로 영문자로 구성된 메시지 ID 접두부입니다.
nnnn
0 - 9 및 A - F 범위의 16진 숫자입니다.

서버 프로그램에 대한 호출은 기타 서버 프로그램 플랫폼에서와 동일한 sysVar.errorCode 값을 리턴합니다.

프로그램이 v60ExceptionCompatibility 특성을 NO로 설정하고 호출된 프로그램이 try 블록에서 발견되지 않은 예외로 인해 종료되는 경우, 오류가 호출 프로그램으로 전파됩니다. call 문 주위에 코딩된 try 블록이 있고 onException 블록이 발견된 예외와 일치하는 경우, 제어가 onException 블록으로 전달됩니다 EGL 예외 레코드에 사용 가능한 추가 정보가 있지만 다음은 예외에 대한 공통 이유입니다.
  • 프로그램을 찾을 수 없음
  • 충분하지 않은 보안
  • 메모리 부족

변수 길이 레코드

EGL은 iSeries에 대해 변수 길이 레코드를 지원하지 않습니다.

DBCS 데이터 유형

EGL은 DBCHAR 기본 유형을 지원합니다. MBCHAR 데이터 항목의 값을 설정하거나 참조하는 경우 MBCHAR 기본 유형 유형에는 시프트아웃(shift-out) 및 시프트인shift-in) DBCS 데이터 구분 기호의 프로그램-프로그래머 관리가 필요합니다.

메시지 테이블

EGL 메시지 테이블은 iSeries 메시지 파일로 구현됩니다. 메시지 파일 명령 메뉴의 iSeries 시스템 명령행에서 GO CMDMSGF를 입력하십시오.

메시지 테이블에서 메시지 파일로의 변환 결과로, iSeriesC에 대해 생성된 EGL 프로그램은 DataTables에서 작동하는 EGL 문과 표현식을 사용하여 메시지 테이블을 참조할 수 없습니다. 이러한 명령문과 표현식은 move 명령문, in 연산자를 사용하는 조건부 표현식 및 지정 명령문의 소스 및 대상을 포함합니다.

연속 파일 I/O

EGL 생성 프로그램의 연속 파일은 두 개의 메소드 중 하나로 쓰기 액세스에 대해 열리며 이는 기존 파일의 배치에 영향을 줍니다. OUTPUT 및 EXTEND는 COBOL OPEN 동사 구문입니다. 특정 파일의 OPEN 문에서 생성된 구문은 생성 시 EGL 자원 연관 파일 유형 값에 따라 다릅니다.

EGL은 두 파일 유형 값(vsamseq)을 지원합니다. 연속 파일에 대해 vsam 또는 seq 파일 유형을 사용할 수 있습니다. vsam 파일 유형은 EXTEND 구문을 생성합니다. EXTEND 구문은 기존 파일의 끝에 추가 레코드를 씁니다. seq 파일 유형은 OUTPUT 구문을 생성합니다. OUTPUT 구문이 파일을 지우고 처음 레코드 위치에서 쓰기가 시작됩니다.

iSeries 및 COBOL은 파일이 이미 작업에서 열려 있는 경우 해당 SHARE 상태를 고려하여 충돌하는 열기 메소드를 관리하려고 시도합니다. 연속 파일에 대한 자세한 정보는 i5/OS™ Information Center 및 COBOL 런타임 메시지를 참조하십시오.