2011-03-22 3 views
1

I에서는 WebSphere I에서 컴파일 할 때마다 내가 생성 한 다음 SQLRPGLE 프로그램스피어는 SQL1103 : QTEMP에서 테이블 STVRECONWK에 대한 위치 24 열 정의를 찾을 수 없습니다

 //Delete the temporary table 
    shell('DLTF FILE(QTEMP/STVRECONWK)':IGNORE_ERROR); 

    // create temporary table 
    exec sql 
     create table qtemp/stvreconwk (
     sysid integer, 
     barcode varchar(100), 
     description varchar(100), 
     matchflag char(1) 
     ) 
    ; 

의 끝에서 삭제 된 테이블을

SQL1103를 얻을 : 위치 24 열 발견되지 QTEMP에서 테이블 STVRECONWK에 대한 정의.

터미널 세션에서 테이블을 만든 다음 컴파일러가 터미널에서 실행 중일 때 테이블의 유효성을 검사 할 수 있기 때문에 문제가 있다는 것입니다. 같은 직업.

WebSphere에서 어떻게 수행 할 수 있습니까?

답변

0

기본적으로 WebSphere는 새 작업에서 각 명령을 실행합니다. 윈도우 -> preferences-> iseries-> 명령 실행에서 이것을 변경하고 '일괄 컴파일'을 선택 취소 할 수 있습니다.

1

QTEMP에서 아직 생성 된 파일은 컴파일러가 "외부에서 설명하는"파일로 액세스해야합니다. '모델'파일의 사본으로 만들어 질 수 있습니다. 외부 파일 설명을 참조해야하는 프로그램은 항상 존재해야하는 '모델'파일을 참조하도록 컴파일해야합니다. 'model'은 컴파일러에 필요한 모든 속성을 제공합니다. 오버라이드는 런타임에 프로그램에 대한 복제본에 대한 액세스를 제공합니다. '모델'은 컴파일시 라이브러리 목록에있는 라이브러리에있는 파일 설명 일뿐입니다.

최근 컴파일러에서는 재정의가 필요하지 않습니다. RPG의 경우, F 스펙에는 EXTDESC() 또는 EXTFILE() 키워드가 포함되어 '모델'파일 또는 런타임 파일을 나타낼 수 있습니다.

대부분의 경우 '모델'은 충돌을 피하기 위해 다른 이름을 사용하여 QTEMP 파일에 복제됩니다.