z/OS용 EGL 빌드 스크립트 수정

EGL은 빌드 스크립트를 사용하여 z/OS®의 준비 프로세스를 관리합니다. 빌드 스크립트는 다음의 태스크를 수행합니다.
  • EGL 프로그램, 라이브러리, 서비스, FormGroup 또는 DataTable 파트에서 생성된 코드를 포함하여 COBOL 프로그램에 대한 컴파일 및 링크
  • 프로그램, 라이브러리 또는 서비스가 SQL I/O를 수행하는 경우 DB2® 사전 컴파일 및 바인드
  • z/OS CICS® 환경에 대한 프로그램, 라이브러리 또는 서비스가 생성되는 경우 CICS 변환

이러한 빌드 스크립트는 의사 JCL 구문에 설명된 바와 같이 일부 제한사항과 몇 가지 확장기능이 있는 JCL의 한 형태인 의사 JCL을 사용하여 개발됩니다.

빌드 서버는 의사 JCL을 읽고 이를 처리하여 프로그램에 지정된 데이터 세트에 대해 빌드 프로그램을 호출합니다. 빌드 스크립트는 DB2 프리프로세서, CICS 변환기, COBOL 컴파일러 및 z/OS 연계 편집기의 위치가 포함된 데이터 세트를 참조하므로 최소한 이러한 코드 준비 컴포넌트의 실제 위치를 지정하도록 제공된 빌드 스크립트를 수정해야 합니다.

z/OS용 EGL 빌드 스크립트를 수정하려면 다음을 수행하십시오.
  1. System 390 빌드 서버에서 PROCLIB를 여십시오(z/OS 빌드 서버 설치에 대한 정보는 IBM® Rational® COBOL Runtime Guide for zSeries 참조).
  2. 편집할 멤버(빌드 스크립트)를 선택하십시오.
  3. 멤버를 편집하십시오. z/OS 환경의 출력을 빌드할 때 항상 환경 변수로 전달되는 사전정의된 기호 매개변수에 대한 정보는 자동으로 설정되는 사전정의된 기호 매개변수를 참조하십시오. EGL 빌드 스크립트에 정의된 대체 변수 목록은 사용자가 설정할 수 있는 사전정의된 기호 매개변수를 참조하십시오.
  4. 멤버를 저장하십시오.

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 빌드 스크립트 수정

기본적으로 FDABCL, FDABPTCL, FDABTCL, FDACL, FDAPCL, FDAPTCL 및 FDATCL 빌드 스크립트는 빌드 서버에서 생성된 소스 코드를 저장하지 않습니다. 소스 코드를 저장하려면 사용자 EZESRC 데이터 세트에 COBOL 소스를 저장하도록 이러한 빌드 스크립트의 UPLOAD 단계에서 명령문의 주석을 해제하십시오. 예를 들어, FDACL 빌드 스크립트에서 다음의 명령문을 고려하십시오.
//*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 프리컴파일러의 필수 옵션

다음의 옵션은 DB2 사용에 필수이며 FDAPCLFDAPTCL 빌드 스크립트에 포함됩니다.
  • HOST(COB2)
  • APOSTSQL
  • QUOTE

CICS 변환기의 필수 옵션

다음의 옵션은 CICS 사용에 필수이며 FDAPTCLFDATCL 빌드 스크립트에 포함됩니다.
  • COBOL2
  • NOSEQ
  • QUOTE
  • SP

DBCHAR 또는 MBCHAR 변수나 리터럴이 사용되는 경우 DBCS 옵션은 CICS 변환기에 필수입니다. DBCHAR 또는 MBCHAR의 사용에 기반하여 설정되는 사전정의된 기호 매개변수 EZEDBCS의 설정에 기반하여 빌드 스크립트에 이 옵션이 자동으로 포함됩니다.

z/OS용 COBOL 컴파일러의 필수 옵션

다음의 옵션은 z/OS COBOL 컴파일러의 경우 필수이며 FDABCL, FDABPTCL, FDABTCL, FDACL, FDAPCL, FDAPTCL 및 FDATCL 빌드 스크립트에 포함됩니다.
  • LIB
  • NODYNAM(이후의 추가 설명 참조)
  • NUMPROC(NOPFD)
  • NOSEQ
  • QUOTE
  • RENT
  • TRUNC(BIN)

또한 DBCHAR 또는 MBCHAR 변수나 리터럴이 사용되는 경우 DBCS 옵션은 COBOL 컴파일러에 필수입니다. DBCHAR 또는 MBCHAR의 사용에 기반하여 설정되는 사전정의된 기호 매개변수 EZEDBCS의 설정에 기반하여 빌드 스크립트에 이 옵션이 자동으로 포함됩니다.

NODYNAM 컴파일러 옵션을 사용하여 zSeries용 IBM Rational COBOL 런타임 스텁 프로그램을 생성된 COBOL 프로그램에 정적으로 링크할 수 있습니다. COBOL 호출이 CALL IDENTIFIER 또는 CALL LITERAL로 생성되는지 여부에 따라 기타 프로그램에 대한 호출은 동적일 수 있습니다.
  • 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 컴파일러 옵션이 필요합니다.

빌드 디스크립터 옵션으로 제어되는 컴파일러 옵션

다음의 COBOL 컴파일러 옵션이 빌드 스크립트에 포함됩니다. 빌드 디스크립터 옵션을 설정하여 해당 값을 변경할 수 있습니다.
  • 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진 오프셋의 상호 참조 목록을 생성합니다. 런타임 환경에서 프로그램을 디버깅하는 중 도움을 주기 위해 이 작업이 권장됩니다.

  • SSRANGE

    런타임 서브스크립트 검사를 제공합니다. NOSSRANGE는 런타임 서브스크립트 검사를 제거합니다. NOSSRANGE를 사용하면 성능이 향상될 수 있으므로 프로그램을 프로덕션으로 이동할 때 NOSSRANGE를 지정하십시오.

  • TEST

    디버그 도구를 사용하여 런타임 환경에서 일괄처리 및 대화식 디버깅을 수행할 수 있도록 오브젝트 코드를 생성합니다.

COBOL 컴파일러 옵션에 대한 자세한 정보는 컴파일러 문서를 참조하십시오.

지원되지 않는 COBOL 컴파일러 옵션

COBOL 컴파일러 옵션 NAME은 지원되지 않습니다.