z/OS용 EGL 빌드 스크립트 수정
- EGL 프로그램, 라이브러리, 서비스, FormGroup 또는 DataTable 파트에서 생성된 코드를 포함하여 COBOL 프로그램에 대한 컴파일 및 링크
- 프로그램, 라이브러리 또는 서비스가 SQL I/O를 수행하는 경우 DB2® 사전 컴파일 및 바인드
- z/OS CICS® 환경에 대한 프로그램, 라이브러리 또는 서비스가 생성되는 경우 CICS 변환
이러한 빌드 스크립트는 의사 JCL 구문에 설명된 바와 같이 일부 제한사항과 몇 가지 확장기능이 있는 JCL의 한 형태인 의사 JCL을 사용하여 개발됩니다.
빌드 서버는 의사 JCL을 읽고 이를 처리하여 프로그램에 지정된 데이터 세트에 대해 빌드 프로그램을 호출합니다. 빌드 스크립트는 DB2 프리프로세서, CICS 변환기, COBOL 컴파일러 및 z/OS 연계 편집기의 위치가 포함된 데이터 세트를 참조하므로 최소한 이러한 코드 준비 컴포넌트의 실제 위치를 지정하도록 제공된 빌드 스크립트를 수정해야 합니다.
- System 390 빌드 서버에서 PROCLIB를 여십시오(z/OS 빌드 서버 설치에 대한 정보는 IBM® Rational® COBOL Runtime Guide for zSeries 참조).
- 편집할 멤버(빌드 스크립트)를 선택하십시오.
- 멤버를 편집하십시오. z/OS 환경의 출력을 빌드할 때 항상 환경 변수로 전달되는 사전정의된 기호 매개변수에 대한 정보는 자동으로 설정되는 사전정의된 기호 매개변수를 참조하십시오. EGL 빌드 스크립트에 정의된 대체 변수 목록은 사용자가 설정할 수 있는 사전정의된 기호 매개변수를 참조하십시오.
- 멤버를 저장하십시오.
EGL 빌드 스크립트 수정 예
다음의 예는 EGL 빌드 스크립트에 대해 수행할 수 있는 공통 수정을 표시합니다.
EGL 빌드 스크립트에서 사용하는 빌드 컴포넌트의 위치 수정
컴파일러, 연계 편집기 및 데이터베이스 라이브러리에 대한 PDS 이름 지정 규칙은 대개 EGL 빌드 스크립트의 이름 지정 규칙과 같지 않습니다. 기본값을 변경하려면 EGL 빌드 스크립트에서 VARS 문을 수정해야 합니다. 다음의 예는 기본 CICS 및 COBOL 컴파일러 라이브러리의 VARS 문을 표시합니다.
//DEFAULTS VARS EZEPID=USER,
// COBCICS=SYS1.SCEECICS,
// COBCOMP=SYS1.IGY.SIGYCOMP,
// COBLIB=SYS1.SCEELKED,
...
이러한 라이브러리의 상위 레벨 규정자를 MYSYS로 변경하기 위해 다음 구문을 사용하여 VARS 문을 변경합니다.
//DEFAULTS VARS EZEPID=USER,
// COBCICS=MYSYS.SCEECICS,
// COBCOMP=MYSYS.IGY.SIGYCOMP,
// COBLIB=MYSYS.SCEELKED,
...
또는 빌드 스크립트에서 기본값으로 설정된 COBCICS, COBCOMP 및 COBLIB의 값을 그대로 두고 EGL 빌드 디스크립터 파트의 사전정의된 해당 기호 매개변수 COBCICS, COBCOMP 및 COBLIB를 필요한 값으로 설정할 수 있습니다.
빌드 스크립트에서 또는 EGL 빌드 디스크립터 파트에서 사전정의된 해당 기호 매개변수를 설정하여 EGL 라이브러리(ELA 대체 변수) 및 데이터베이스 라이브러리(DSNEXIT 및 DSNLOAD 대체 변수)에 대해 비슷한 업데이트를 수행할 수 있습니다.
생성된 COBOL 소스를 저장하도록 EGL 빌드 스크립트 수정
//*UPLOAD EXEC PGM=IEFBR14
//*EZESRC DD DSN=&EZEPID..&SYSTEM..EZESRC,DISP=SHR,CCUEXT=CBL
//UPLOAD EXEC PGM=IEFBR14
//EZESRC DD DSN=&EZEPID..&SYSTEM..EZESRC,DISP=SHR,CCUEXT=CBL
EGL 빌드 스크립트의 필수 옵션
EGL 빌드 스크립트에서 DB2 UDB, CICS 변환기 또는 z/OS용 COBOL 컴파일러를 사용하는 경우 특정 준비 옵션은 필수입니다.
DB2 프리컴파일러의 필수 옵션
- HOST(COB2)
- APOSTSQL
- QUOTE
CICS 변환기의 필수 옵션
- COBOL2
- NOSEQ
- QUOTE
- SP
DBCHAR 또는 MBCHAR 변수나 리터럴이 사용되는 경우 DBCS 옵션은 CICS 변환기에 필수입니다. DBCHAR 또는 MBCHAR의 사용에 기반하여 설정되는 사전정의된 기호 매개변수 EZEDBCS의 설정에 기반하여 빌드 스크립트에 이 옵션이 자동으로 포함됩니다.
z/OS용 COBOL 컴파일러의 필수 옵션
- LIB
- NODYNAM(이후의 추가 설명 참조)
- NUMPROC(NOPFD)
- NOSEQ
- QUOTE
- RENT
- TRUNC(BIN)
또한 DBCHAR 또는 MBCHAR 변수나 리터럴이 사용되는 경우 DBCS 옵션은 COBOL 컴파일러에 필수입니다. DBCHAR 또는 MBCHAR의 사용에 기반하여 설정되는 사전정의된 기호 매개변수 EZEDBCS의 설정에 기반하여 빌드 스크립트에 이 옵션이 자동으로 포함됩니다.
- CALL IDENTIFIER는 항상 동적 호출입니다. EGL은 비CICS 환경에서 기본 연계를 사용할 때 call 또는 transfer to program 문에 대해 이 유형의 호출을 생성합니다. 또한 EGL은 DataTable 프로그램 및 FormGroup 인쇄 서비스 프로그램에 대한 호출에 CALL IDENTIFIER를 사용합니다. 이 사용을 통해 인쇄 양식을 사용하는 프로그램에 관계없이 인쇄 양식이 포함된 Data Tables 및 FormGroups를 생성할 수 있습니다.
- CALL LITERAL은 컴파일러 옵션에 기반하여 동적 또는 정적
호출입니다. 정적 연계를 요청하면 EGL은 call 또는 transfer to
program 문에 대해 이 유형의 호출을 생성합니다. 또한 EGL은 zSeries용
IBM Rational COBOL 런타임 모듈의 호출에 대해 이러한 유형의 호출을 생성합니다. 다음의 zSeries용 IBM Rational COBOL 런타임 모듈은 정적으로 링크됩니다.
- 자주 사용되는 일부 모듈
- 주요 런타임 기능에 동적으로 링크되는 스텁 모듈
모든 CALL LITERAL 문을 정적 호출로 처리하도록 EGL에는 NODYNAM 컴파일러 옵션이 필요합니다.
빌드 디스크립터 옵션으로 제어되는 컴파일러 옵션
- ARITH 컴파일러 옵션은 숫자 필드의 크기를 지정합니다. maxNumericDigits 빌드 디스크립터 옵션을 ARITH(EXTEND)의 경우 31, ARITH(COMPAT)의 경우 18로 설정하여 ARITH 컴파일러 옵션의 설정을 제어할 수 있습니다. EXTEND는 숫자 항목의 최대 자릿수를 18에서 31로 늘리고 중간 결과의 계산 방법에도 영향을 줍니다. 빌드 디스크립터 옵션의 기본값은 31입니다.
- DATA 컴파일러 옵션은 데이터 영역이 16MB 경계보다 많이 또는 적게 확보되는지 여부를 지정합니다. data 빌드 디스크립터 옵션을 DATA(24)의 경우 24, DATA(31)의 경우 31로 설정하여 DATA 컴파일러 옵션의 설정을 제어할 수 있습니다. 빌드 디스크립터 옵션의 기본값은 31입니다.
z/OS용 빌드 스크립트의 기타 COBOL 컴파일러 옵션
- OPTIMIZE 컴파일러 옵션은 빠른 런타임 성능을 제공하지만 컴파일 시간이 상당히 증가할 수 있습니다. 테스트 중 NOOPTIMIZE 옵션을 사용하고 프로그램을 프로덕션으로 이동할 때 OPTIMIZE 옵션을 사용해 보십시오.
z/OS용 빌드 스크립트에 없는 COBOL 컴파일러 옵션
- 목록 옵션. 필요한 LIST, MAP 및 OFFSET 조합을
지정하기 위해 COBLISTPARMS 사전정의 기호 매개변수를 설정할 수
있습니다. 빌드 스크립트는 기본적으로 COBLISTPARMS를 NOLIST로 설정합니다.
- LIST
COBOL 소스 코드의 어셈블러 언어 확장을 생성합니다.
- MAP
DATA DIVISION 맵, 글로벌 테이블, 리터럴 풀, 중첩된 프로그램 구조 맵 및 프로그램 속성을 포함하여 COBOL DATA DIVISION에서 정보 목록을 생성합니다.
- OFFSET
모듈 및 해당 COBOL 문 번호에서 16진 오프셋의 상호 참조 목록을 생성합니다. 런타임 환경에서 프로그램을 디버깅하는 중 도움을 주기 위해 이 작업이 권장됩니다.
- LIST
- SSRANGE
런타임 서브스크립트 검사를 제공합니다. NOSSRANGE는 런타임 서브스크립트 검사를 제거합니다. NOSSRANGE를 사용하면 성능이 향상될 수 있으므로 프로그램을 프로덕션으로 이동할 때 NOSSRANGE를 지정하십시오.
- TEST
디버그 도구를 사용하여 런타임 환경에서 일괄처리 및 대화식 디버깅을 수행할 수 있도록 오브젝트 코드를 생성합니다.
COBOL 컴파일러 옵션에 대한 자세한 정보는 컴파일러 문서를 참조하십시오.
지원되지 않는 COBOL 컴파일러 옵션
COBOL 컴파일러 옵션 NAME은 지원되지 않습니다.