Understanding Oracle Apex_Application.G_Fnn and how to use it

前端 未结 1 785
温柔的废话
温柔的废话 2021-02-15 11:39

I am quite confused with how Oracle apex_application.gfnn works and whether it only works for standard SQL reports in Oracle ApEx or only with SQL (Updateable reports, i.e. tabu

1条回答
  •  暗喜
    暗喜 (楼主)
    2021-02-15 12:16

    You're very close.

    select apex_item.checkbox2(10, empno) select_me,
    apex_item.text(20, empno) empno,
    apex_item.text(30, ename)||apex_item.hidden(50, empno) ename
    from emp
    

    I'm concatenating the hidden item since i don't want it in its own column. Messes with the layout.
    Also, the hidden item is there because of how checkboxes work. Checkboxes only submit their values for checked items. This would mean that array 10 has 3 values. The other arrays would still contain the values for all rows.
    This is why i added the hidden empno again: so we can match the checked values to the other rows.

    On submit process:

    DECLARE
       v_empno emp.empno%TYPE; 
       v_ename emp.ename%TYPE;
    BEGIN
       --f10: checkbox
       --f20: empno
       --f30: ename
       --f50: empno again
       for i in 1..apex_application.g_f10.count
       loop
          for j in 1..apex_application.g_f50.count loop
             if apex_application.g_f10(i) = apex_application.g_f50(j) 
             then         
                -- access values for the selected rows in the other arrays
                v_empno := apex_application.g_f20(j);
                v_ename := apex_application.g_f30(j);
    
                apex_debug_message.log_message('Employee: '||v_empno||' - '||v_ename);
             end if;
          end loop;
       end loop;
    END;
    

    Run page, enable debug, select records 2, 4 and 6, submit.

    record selection and query output

    Debug output:

    debug output: BLAKE, JONES, FORD

    All you now need to do is put your processing in that loop.

    0 讨论(0)
提交回复
热议问题