2017-01-24 6 views
0

오라클 에이펙스 5.1 사용자 정의 마스터 세부 문제 내가 두 지역, 1. 부서 (텍스트 필드, DEPTNO, DNAME) 2. EMP있는 페이지를 만들었습니다 (대화 형 그리드, ENAME , deptno) 그리고 하나의 제출 버튼 흐름 : 사용자가 'dname'텍스트 필드에 수동으로 부서 이름 입력 그리드에 일부 직원 행을 추가하고 마지막으로 사용자가 제출 버튼을 클릭 한 다음 deptno (자동 증가)로 부서를 생성하면 그리고 첫 번째 영역을 생성 한 deptno로 그리드 행을 삽입하십시오. 즉, 모든 deptno에는 해당 직원이 있으며 두 작업 모두 동일한 시간을 생성합니다. (제출 버튼을 클릭 한 후) 가능한 경우이 문제를 이해하면 해결 방법을 알려주십시오.오라클 에이펙스 5.1 사용자 정의 마스터 세부 사항

답변

0

페이지에서이 예제에서 P1_depno라는 새 부서 ID를 갖는 숨겨진 항목을 만듭니다. 당신이 속성으로 대화 형 그리드을 만든

> 편집> 사용 세트 에 예대화 형 그리드 - 자동 행 처리 (DML) 과정 (아마 이름 - 저장 대화 형 그리드 데이터) (단순히 위의 유형으로 새 프로세스를 만들지 않은 경우) 페이지에 추가되어야합니다.

이 프로세스는이 코드를 사용하여 부서를 삽입합니다 (내 예에 삽입 부서라는) 새로운 PL/SQL 프로세스를 작성하기 전에 :

declare 
v_depno number; 
begin 

    select deptno_sequence.nextval into :P1_depno from dual; --get the depno from your sequence 

    insert into dept (deptno, dname)-- insert the new department 
    values (:P1_depno,:P1_dname); 
end; 

이 과정이 저장 대화 형 그리드 데이터 전에 실행해야합니다 매우 중요합니다 방법. enter image description here

지금 저장 대화 형 그리드 데이터 처리를 편집하고 에서 대상 유형은 PL/SQL 코드을 선택 다음 코드를 추가 :

begin 

    --insert the employees 
    case :APEX$ROW_STATUS 
    when 'C' then -- C for Create but you also can check for U (Update) and D (Delete) 
     insert into emp (empno, ename, deptno) 
     values (:EMPNO, :ENAME, :P1_depno) 
     returning rowid into :ROWID; 
    end case; 

end; 
+0

Cristian_I - 귀하의 의견 주셔서 감사합니다. 다른 솔루션을 찾아야합니다. 그래픽으로 만 코드를 변경할 필요가 없습니다. 빌드 할 수 있습니다 :) –