2013-01-16 2 views
1

오라클 양식에 익숙하지 않으며 동일한 양식으로 작성하는 것이 좋습니다. 다음 시나리오에서 문제가 있습니다.오라클 양식에서 한 양식에서 다른 양식으로 값 전달 6i

승인을위한 세부 사항없이 항목 목록을 표시하는 양식 (FORM1)이 있습니다. 항목이 승인되기 전에 권한 부여자는 세부 사항을 확인해야합니다. 이것은 항목이 선택되고 'VIEW'버튼이 선택 될 때마다 호출되는 또 다른 양식 (FORM2)을 요구합니다. 세부 정보가 표시됩니다. FORM2에서 REJECT, APPROVE 및 BACK도 버튼이됩니다. 여기

는 VIEW 버튼에 대한 이벤트를-버튼 - 누르면 FORM1입니다 :

DECLARE 
list_id ParamList; 
USR_MSG NUMBER; 
BEGIN 


IF :TBL_CONTRACT.CONTRACT_NO IS NULL THEN 
    USR_MSG:=USER_ALERT('INFO_ALERT','Please select a valid contract no to View.'); 
    RAISE FORM_TRIGGER_FAILURE; 
END IF; 


list_id := Create_Parameter_List('PAR_CONTRACT'); 
Add_Parameter(list_id, 'CONTRACT_NO',TEXT_PARAMETER,:TBL_CONTRACT.CONTRACT_NO); 
call_Form('T:\FRM_APPROVAL_VIEW.fmx',no_hide,no_replace, no_query_only,list_id); 

END; 

내 의도는 FORM2에 CONTRACT_ID 다음 폼에 표시됩니다 자세한 내용은 데이터베이스 쿼리를 전달하는 것입니다.

다음은 Form2 when-new-form-instance 이벤트의 코드입니다. 내가 오류로 실행되는 응용 프로그램을 실행하면

SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE); 
BEGIN 
    IF (:PARAMETER.PAR_CONTRACT IS NOT NULL) THEN 
    /* Use this value in the WHERE clause of MY_BLOCK */ 
    Set_Block_Property('TBL_CONTRACT',DEFAULT_WHERE, 'PAR_CONTRACT = :PARAMETER.PAR_CONTRACT'); 
    GO_BLOCK('TBL_CONTRACT'); 

    Execute_Query; 
    END IF; 
END; 

은 : FRM 47023을 Contract_No라는 이름의 이러한 매개 변수는 폼 FRM_APPROVAL_VIEW에 존재하지 않습니다.

어떤 것이 잘못된지와 그 해결책을 설명해 줄 수 있습니까? 사전에

감사합니다.

+0

꽤 오래된 버전 인'OFD 6i '는 그렇지 않습니까? – bonCodigo

+0

OFD 6i는 매우 오래되었습니다. 하지만 그게 내가 함께해야 할 일이야. – Tamseyc

답변

0

하위 폼의 forms 매개 변수 이름은 매개 변수 목록의 이름이 아니라 매개 변수 이름 (CONTRACT_NO)이어야합니다! forms 매개 변수의 이름을 바꾸고 사용할 코드를 변경하면 : PARAMETER.CONTRACT_NO 그러면이 기능이 작동합니다.

관련 문제