Rational Developer for System z

COBOL 샘플 프로그램의 환경 변수 액세스

때때로 런타임 시 환경 변수의 값을 동적으로 검색할 필요가 있습니다. 이 주제에서는 환경 변수에 액세스하는 하나의 방법을 보여주는 간략한 COBOL 샘플을 제공합니다.

  1. z/OS® 프로젝트 퍼스펙티브로 전환하십시오.
  2. 워크스테이션 COBOL 또는 PL/I 프로젝트 작성하십시오. 새 프로젝트 마법사에서 새 특성 그룹을 작성하고 프로젝트와 연관시킵니다에 대한 옵션을 선택하십시오.
  3. 특성 그룹을 편집하고, 로컬 COBOL 설정, 로컬 PL/I 설정을 선택하고 카테고리 탭의 링크 옵션 선택란을 체크하십시오. 이러한 페이지의 기본값을 승인하고 특성 그룹을 저장하십시오.
  4. 프로젝트에서 Cblenv.cbl이라는 COBOL 프로그램을 작성하고 다음 샘플 코드를 파일에 붙여넣으십시오.
           Identification Division.
           Program-ID.  Cblenv.
    
           Data Division.
           Working-Storage Section.
           01 P pointer.
           01 ENVVAR pic x(32) value Z"PATH".
           01 P2 POINTER.
           01 ENVARSTG PIC X(1000).
           01 var-len pic 9(4) binary.
           Procedure Division.
                 Set P to address of ENVVAR.
                 Set P2 to address of ENVARSTG.
           >>CALLINT OPTLINK
                      Call "XENVVAR"
                             using BY value P,
                             BY VALUE P2.
           >>CALLINT
                 Display "PATH = " ENVARSTG
                 	 Move 0 to var-len
    Inspect ENVARSTG tallying var-len for characters
                  	 	before initial x"00"
    Display "TRIMMED PATH = " ENVARSTG (1:var-len)
               Goback.
  5. 프로젝트에서 XENVAR.pli라는 PL/I 프로그램을 작성하고 다음 샘플 코드를 파일에 붙여넣으십시오.
    %process macro;
     %dcl OUTBUFSZ char;
     %OUTBUFSZ = '1000';
     XENVVAR: proc(xp,xp2) options (nodescriptor);
       dcl envar char(32) based (xp);
       dcl xp ptr byvalue;
       dcl xp2 ptr byvalue;
       dcl enval char(OUTBUFSZ);
       dcl venval char(OUTBUFSZ) varyingz;
       dcl envlen fixed bin(31);
     
       /****************************************************************/
       /* This on unit is necessary to trap any unhandled condition.   */
       /* It must also have the goto statement to get out of the unit. */
       /****************************************************************/
       on anycond
         begin;
          display('  XENVAR ====> error occurred '||oncode());
           goto goto_label;
         end;
       call plifill(xp2, '00'x, OUTBUFSZ);
       enval = getenv(xp->envar);
       venval = trim(enval);
       envlen = length(venval);
          /*enforce null terminated */
       IF envlen > (OUTBUFSZ - 1) THEN envlen = (OUTBUFSZ - 1);
       call pliover( xp2, addr(venval),envlen);
     goto_label:
      return ;
     end;
  6. Cblenv.cbl을 마우스 오른쪽 단추로 클릭한 후 시작점으로 지정을 선택하십시오. 이 조치를 수행하면 COBOL 프로그램이 기본 프로그램임을 표시하는 아이콘이 Cblenv.cbl에 대해 변경됩니다.
  7. 프로젝트를 다시 빌드하려면 프로젝트를 마우스 오르쪽 단추로 클릭하고 프로젝트 재빌드를 선택하십시오. 프로젝트가 빌드되면 BuildOutput이라는 폴더가 프로젝트에 추가됩니다. Cblenv.exe를 포함해야 합니다. 이 파일이 생성되지 않을 경우, 원격 오류 목록에 보고된 컴파일 오류를 수정하고 프로젝트를 다시 빌드하십시오. 링크 시에 보고된 참조가 해결되지 않은 경우 원격 콘솔 보기에서 링크 오류를 찾을 수 있습니다.

    Linux 아이콘 Rational® Developer for System z®은 Linux® 플랫폼에서 로컬 COBOL 또는 PL/I 빌드를 지원하지 않습니다.


이용 약관 | 피드백

이 Information Center는 Eclipse 기술로 구현됩니다. (http://www.eclipse.org 웹사이트 참조)