2016-06-30 3 views
0

셔틀 항목의 값을 테이블에 저장하려고합니다. Shuttle 항목의 값은 이름이 표시 값이고 ID가 반환 값인 LOV에서 가져옵니다.Oracle Apex Shuttle 항목 배열이 비어 있습니다. 제출시

그러나 저장하는 배열은 비어있는 상태로 유지되므로 선택하는 항목의 수에 관계없이 길이는 항상 0입니다.

항목을 저장하는 PL/SQL 코드는 다음과 같습니다

내가 수정 값을 삽입하고있어
DECLARE 
diagnostic NUMBER; 
l_selected apex_application_global.vc_arr2; 

BEGIN 
diagnostic := ID_DIAG_OPHT_SEQ.NEXTVAL; 
l_selected := apex_util.string_to_table(:P205_SHUTTLE); 

for i in 1..l_selected.count loop 
    insert into DIAG_OPHT_LIST(ID_DIAG_OPHT, ID_LIST_OPHT) 
    values (diagnostic, l_selected(i)); 
end loop; 
end; 

('3 : 7 : 25 : 45 :') 대신 'P205_AJ_PATHOLOGIE'모든 작업 벌금.

항목 속성 자체에서 나는 모든 것을 표준으로 남겼습니다. 내가 말했듯이, 나는 명명 된 LOV를 사용하고 있는데 Source는 'Session state의 현재 값이 null이고 Source Type이'Static assignment '일 때만 사용됩니다.

페이지 항목에서

+0

이 pl/sql을 실행하는 작업에서 P205_AJ_PATHOLOGIE (또는 : P205_SHUTTLE) 매개 변수를 전달 했습니까? – Gar

+0

예,이 코드를 어디에 실행하고 있습니까? 예 : 동적 작업 또는 제출 프로세스? – Tom

+0

나는 on-submit (유효성 검사 후) 및 원래 매개 변수는 다음과 같습니다. P205_AJ_PATHOLOGIE (셔틀 항목 이름) –

답변

0

데이터 것 같은데 어떤 도움에 미리 감사드립니다 : P205_SHUTTLE 나 : P205_AJ_PATHOLOGIE이 프로세스를 호출 할 때 null입니다.

당신은 그것을 확인하실 수 있습니다 - 당신의 코드 onSubmit

RAISE_APPLICATION_ERROR에 오류를 발생 ('- 20000': P205_SHUTTLE || ''|| P205_AJ_PATHOLOGIE);

null을 반환하는 경우 - 저장 프로세스 전에 확인하십시오. 항목 값이 어딘가에 지워졌기 때문입니다.

가끔 세션에있는 항목과 동일한 문제가 있습니다. 브라우저를 닫고 다시여십시오.

+0

사실, 반환 값은 null입니다. 이제 동일한 코드를 테스트하고 페이지 항목을 제출하는 동적 액션을 만든 다음 선택한 값을 반환합니다. 그래서 동적 인 액션을 사용하여 데이터를 저장하는 방법을 만들려고합니다. 희망은 작동 –

+0

어쩌면 "페이지 재설정"프로세스 후 프로세스 시작? 당신이 null에 대한 과정에서 페이지의 다른 항목을 확인할 수 있습니까? –

+0

아니요, 다른 항목의 값은 고유합니다. –

관련 문제