Apex Collection- Tabular Form

Hi
is there anyway to make a tabular form depends on apex collections, for example i have a collection named "Orders" and i want to add member to this collection by tabular form , is it possible?
Thanks in advance

Sure, build a manual tabular form
SELECT APEX_ITEM.TEXT(1,AC.c001)
          ,APEX_ITEM.TEXTAREA(1,AC.c002)
FROM apex_collections AC
WHERE collection_name = <collection name>I can also think of an approach to get this working with a Wizard based tabular form(I haven't tried this before,but I don't see any reason why it shouldn't work).
--Create a view referring the collection.
--Change your tabular form to reference the view
--Add insert,update and delete triggers on the view to handle those processes on the appropriate table(s).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • APEX 4 Tabular Form Collection

    Hello everyone,
    I have a Tabular Form on Collection (APEX 4). I only want to update the records that are checked, but it validates and updated all the records regarless of the checked records. How do I get this (page-to-collection) to only update the selected records. Any help is greatly appreciated.
    This is my table-to-collection:
    DECLARE
    l_collection_name VARCHAR2(50);
    l_query VARCHAR2(32767);
    BEGIN
    l_collection_name := 'WORK_TABLE';
    IF apex_collection.collection_exists(l_collection_name)
    THEN
    apex_collection.delete_collection(
    p_collection_name => l_collection_name);
    END IF;
    l_query := 'select seq_no,' -- c001 => f01
    || ' fk_paygrade, ' -- c002 => f02
    || ' annual_hour, ' -- c003 => f03
    || ' A1, ' -- c004 => f04
    || ' A2, ' -- c005 => f05
    || ' A3, ' -- c006 => f06
    || ' A4, ' -- c007 => f07
    || ' A5, ' -- c008 => f08
    || ' A6, ' -- c009 => f09
    || ' A7, ' -- c010 => f10
    || ' A8, ' -- c011 => f11
    || ' A9, ' -- c012 => f12
    || ' A10, ' -- c013 => f13
    || ' A11, ' -- c014 => f14
    || ' A12, ' -- c015 => f15
    || ' A13, ' -- c016 => f16
    || ' A14, ' -- c017 => f17
    || ' H1, ' -- c018 => f18
    || ' H2, ' -- c019 => f19
    || ' H3, ' -- c020 => f20
    || ' H4, ' -- c021 => f21
    || ' H5, ' -- c022 => f22
    || ' H6, ' -- c023 => f23
    || ' H7, ' -- c024 => f24
    || ' H8, ' -- c025 => f25
    || ' H9, ' -- c026 => f26
    || ' H10, ' -- c027 => f27
    || ' H11, ' -- c028 => f28
    || ' H12, ' -- c029 => f29
    || ' H13, ' -- c030 => f30
    || ' H14, ' -- c031 => f31
    || ' NULL, ' --c032 => f32
    || ' NULL, ' --c033 => f33
    || ' NULL, ' --c034 => f34
    || ' NULL, ' --c035 => f35 
    || ' NULL, ' --c036 => f36  
    || ' NULL, ' --c037 => f37  
    || ' NULL, ' --c038 => f38 
    || ' NULL, ' --c039 => f39  
    || ' NULL, ' --c040 => f40  
    || ' NULL, ' --c041 => f41 
    || ' NULL, ' --c042 => f42  
    || ' NULL, ' --c043 => f43 
    || ' NULL, ' --c044 => f44  
    || ' NULL, ' --c045 => f45 
    || ' NULL, ' --c046 => f46
    || ' ''O'', ' --c047 => f47 
    || ' wwv_flow_item.md5(seq_no, fk_paygrade, annual_hour, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11, H12, H13, H14) ' -- c048
    || 'from paygrade_increase ';
    apex_collection.create_collection_from_query_b(
    p_collection_name => l_collection_name,
    p_query => l_query);
    IF :REQUEST = 'ADD'
    THEN
    apex_collection.add_member(
    p_collection_name => l_collection_name
    END IF;
    END;
    From collection-to-tabular-form report:
    SELECT APEX_ITEM.HIDDEN(47,c047,NULL,'f47_'|| '#ROWNUM#')
    || APEX_ITEM.HIDDEN(48,c048,NULL,'f48_'|| '#ROWNUM#')
    || APEX_ITEM.HIDDEN(49,seq_id,NULL,'f49_'|| '#ROWNUM#')
    || APEX_ITEM.HIDDEN(1,c001,NULL,'f01_'|| '#ROWNUM#')
    || APEX_ITEM.CHECKBOX(
    50,
    seq_id,
    NULL,
    CASE
    WHEN c047 = 'U' THEN seq_id
    END,
    'f50_' || '#ROWNUM#'
    ) AS update_checkbox,
    APEX_ITEM.TEXT(
    2,
    c002,
    20,
    50,
    NULL,
    'f02_' || '#ROWNUM#'
    ) as fk_paygrade,
    APEX_ITEM.TEXT(
    3,
    c003,
    20,
    50,
    NULL,
    'f03_' || '#ROWNUM#'
    ) AS annual_hour,
    APEX_ITEM.TEXT(
    4,
    c004,
    20,
    50,
    NULL,
    'f04_' || '#ROWNUM#'
    ) AS A1,
    APEX_ITEM.TEXT(
    5,
    c005,
    20,
    50,
    NULL,
    'f05_' || '#ROWNUM#'
    ) AS A2,
    APEX_ITEM.TEXT(
    6,
    c006,
    20,
    50,
    NULL,
    'f06_' || '#ROWNUM#'
    ) AS A3,
    APEX_ITEM.TEXT(
    7,
    c007,
    20,
    50,
    NULL,
    'f07_' || '#ROWNUM#'
    ) AS A4,
    APEX_ITEM.TEXT(
    8,
    c008,
    20,
    50,
    NULL,
    'f08_' || '#ROWNUM#'
    ) AS A5,
    APEX_ITEM.TEXT(
    9,
    c009,
    20,
    50,
    NULL,
    'f09_' || '#ROWNUM#'
    ) AS A6,
    APEX_ITEM.TEXT(
    10,
    c010,
    20,
    50,
    NULL,
    'f10_' || '#ROWNUM#'
    ) AS A7,
    APEX_ITEM.TEXT(
    11,
    c011,
    20,
    50,
    NULL,
    'f11_' || '#ROWNUM#'
    ) AS A8,
    apex_item.text(
    12,
    c012,
    20,
    50,
    NULL,
    'f12_' || '#ROWNUM#'
    ) AS A9,
    apex_item.text(
    13,
    c013,
    20,
    50,
    NULL,
    'f13_' || '#ROWNUM#'
    ) AS A10,
    apex_item.text(
    14,
    c014,
    20,
    50,
    NULL,
    'f14_' || '#ROWNUM#'
    ) AS A11,
    apex_item.text(
    15,
    c015,
    20,
    50,
    NULL,
    'f15_' || '#ROWNUM#'
    ) AS A12,
    apex_item.text(
    16,
    c016,
    20,
    50,
    NULL,
    'f16_' || '#ROWNUM#'
    ) AS A13,
    apex_item.text(
    17,
    c017,
    20,
    50,
    NULL,
    'f17_' || '#ROWNUM#'
    ) AS A14,
    APEX_ITEM.TEXT(
    18,
    c018,
    20,
    50,
    NULL,
    'f18_' || '#ROWNUM#'
    ) as H1,
    APEX_ITEM.TEXT(
    19,
    c019,
    20,
    50,
    NULL,
    'f19_' || '#ROWNUM#'
    ) as H2,
    APEX_ITEM.TEXT(
    20,
    c020,
    20,
    50,
    NULL,
    'f20_' || '#ROWNUM#'
    ) as H3,
    APEX_ITEM.TEXT(
    21,
    c021,
    20,
    50,
    NULL,
    'f21_' || '#ROWNUM#'
    ) as H4,
    APEX_ITEM.TEXT(
    22,
    c022,
    20,
    50,
    NULL,
    'f22_' || '#ROWNUM#'
    ) as H5,
    APEX_ITEM.TEXT(
    23,
    c023,
    20,
    50,
    NULL,
    'f23_' || '#ROWNUM#'
    ) as H6,
    APEX_ITEM.TEXT(
    24,
    c024,
    20,
    50,
    NULL,
    'f24_' || '#ROWNUM#'
    ) as H7,
    APEX_ITEM.TEXT(
    25,
    c025,
    20,
    50,
    NULL,
    'f25_' || '#ROWNUM#'
    ) as H8,
    APEX_ITEM.TEXT(
    26,
    c026,
    20,
    50,
    NULL,
    'f26_' || '#ROWNUM#'
    ) as H9,
    APEX_ITEM.TEXT(
    27,
    c027,
    20,
    50,
    NULL,
    'f27_' || '#ROWNUM#'
    ) as H10,
    APEX_ITEM.TEXT(
    28,
    c028,
    20,
    50,
    NULL,
    'f28_' || '#ROWNUM#'
    ) as H11,
    APEX_ITEM.TEXT(
    29,
    c029,
    20,
    50,
    NULL,
    'f29_' || '#ROWNUM#'
    ) as H12,
    APEX_ITEM.TEXT(
    30,
    c030,
    20,
    50,
    NULL,
    'f30_' || '#ROWNUM#'
    ) as H13,
    APEX_ITEM.TEXT(
    31,
    c031,
    20,
    50,
    NULL,
    'f31_' || '#ROWNUM#'
    ) as H14
    FROM apex_collections
    WHERE collection_name = 'WORK_TABLE'
    Page-to-collection:
    DECLARE
    l_collection_name APEX_COLLECTIONS.COLLECTION_NAME%TYPE;
    l_original_md5 VARCHAR2(3000);
    l_latest_md5 VARCHAR2(3000);
    BEGIN
    l_collection_name := 'WORK_TABLE';
    FOR x IN 1 .. apex_application.g_f49.count
    LOOP
    IF apex_application.g_f01(x) IS NOT NULL --ID exists, check to see if record was updated
    THEN
    SELECT c048
    INTO l_original_md5
    FROM apex_collections
    WHERE collection_name = l_collection_name
    AND seq_id = apex_application.g_f49(x);
    l_latest_md5 := wwv_flow_item.md5(
    apex_application.g_f01(x),
    apex_application.g_f02(x),
    apex_application.g_f03(x),
    apex_application.g_f04(x),
    apex_application.g_f05(x),
    apex_application.g_f06(x),
    apex_application.g_f07(x),
    apex_application.g_f08(x),
    apex_application.g_f09(x),
    apex_application.g_f10(x),
    apex_application.g_f11(x),
    apex_application.g_f12(x),
    apex_application.g_f13(x),
    apex_application.g_f14(x),
    apex_application.g_f15(x),
    apex_application.g_f16(x),
    apex_application.g_f17(x),
    apex_application.g_f18(x),
    apex_application.g_f19(x),
    apex_application.g_f20(x),
    apex_application.g_f21(x),
    apex_application.g_f22(x),
    apex_application.g_f23(x),
    apex_application.g_f24(x),
    apex_application.g_f25(x),
    apex_application.g_f26(x),
    apex_application.g_f27(x),
    apex_application.g_f28(x),
    apex_application.g_f29(x),
    apex_application.g_f30(x),
    apex_application.g_f31(x)
    IF l_original_md5 != l_latest_md5
    THEN
    apex_collection.update_member(
    p_collection_name => l_collection_name,
    p_seq => apex_application.g_f49(x),
    p_c001 => apex_application.g_f01(x),
    p_c002 => apex_application.g_f02(x),
    p_c003 => apex_application.g_f03(x),
    p_c004 => apex_application.g_f04(x),
    p_c005 => apex_application.g_f05(x),
    p_c006 => apex_application.g_f06(x),
    p_c007 => apex_application.g_f07(x),
    p_c008 => apex_application.g_f08(x),
    p_c009 => apex_application.g_f09(x),
    p_c010 => apex_application.g_f10(x),
    p_c011 => apex_application.g_f11(x),
    p_c012 => apex_application.g_f12(x),
    p_c013 => apex_application.g_f13(x),
    p_c014 => apex_application.g_f14(x),
    p_c015 => apex_application.g_f15(x),
    p_c016 => apex_application.g_f16(x),
    p_c017 => apex_application.g_f17(x),
    p_c018 => apex_application.g_f18(x),
    p_c019 => apex_application.g_f19(x),
    p_c020 => apex_application.g_f20(x),
    p_c021 => apex_application.g_f21(x),
    p_c022 => apex_application.g_f22(x),
    p_c023 => apex_application.g_f23(x),
    p_c024 => apex_application.g_f24(x),
    p_c025 => apex_application.g_f25(x),
    p_c026 => apex_application.g_f26(x),
    p_c027 => apex_application.g_f27(x),
    p_c028 => apex_application.g_f28(x),
    p_c029 => apex_application.g_f29(x),
    p_c030 => apex_application.g_f30(x),
    p_c031 => apex_application.g_f31(x),
    p_c047 => 'U',
    p_c048 => apex_application.g_f48(x)
    END IF;
    ELSE --ID does not exist, must be new record
    apex_collection.update_member(
    p_collection_name => l_collection_name,
    p_seq => apex_application.g_f49(x),
    p_c001 => apex_application.g_f01(x),
    p_c002 => apex_application.g_f02(x),
    p_c003 => apex_application.g_f03(x),
    p_c004 => apex_application.g_f04(x),
    p_c005 => apex_application.g_f05(x),
    p_c006 => apex_application.g_f06(x),
    p_c007 => apex_application.g_f07(x),
    p_c008 => apex_application.g_f08(x),
    p_c009 => apex_application.g_f09(x),
    p_c010 => apex_application.g_f10(x),
    p_c011 => apex_application.g_f11(x),
    p_c012 => apex_application.g_f12(x),
    p_c013 => apex_application.g_f13(x),
    p_c014 => apex_application.g_f14(x),
    p_c015 => apex_application.g_f15(x),
    p_c016 => apex_application.g_f16(x),
    p_c017 => apex_application.g_f17(x),
    p_c018 => apex_application.g_f18(x),
    p_c019 => apex_application.g_f19(x),
    p_c020 => apex_application.g_f20(x),
    p_c021 => apex_application.g_f21(x),
    p_c022 => apex_application.g_f22(x),
    p_c023 => apex_application.g_f23(x),
    p_c024 => apex_application.g_f24(x),
    p_c025 => apex_application.g_f25(x),
    p_c026 => apex_application.g_f26(x),
    p_c027 => apex_application.g_f27(x),
    p_c028 => apex_application.g_f28(x),
    p_c029 => apex_application.g_f29(x),
    p_c030 => apex_application.g_f30(x),
    p_c031 => apex_application.g_f31(x),
    p_c047 => 'N',
    p_c048 => apex_application.g_f48(x)
    END IF;
    END LOOP;
    IF :REQUEST = 'DELETE'
    THEN
    FOR x IN 1 .. apex_application.g_f50.count
    LOOP
    apex_collection.update_member_attribute(
    p_collection_name => l_collection_name,
    p_seq => apex_application.g_f50(x),
    p_attr_number => '47',
    p_attr_value => 'D'
    END LOOP;
    END IF;
    END;
    Collection-to-table
    DECLARE
    l_table_md5 VARCHAR2(32);
    l_collection_name APEX_COLLECTIONS.COLLECTION_NAME%TYPE;
    l_del_count PLS_INTEGER := 0;
    l_upd_count PLS_INTEGER := 0;
    l_ins_count PLS_INTEGER := 0;
    l_success_message VARCHAR2(32767);
    CURSOR op_lock_check_cur (p_id IN NUMBER)
    IS
    SELECT wwv_flow_item.md5(seq_no, fk_paygrade, annual_hour, a1, a2, a3, a4, a5, a6, a7, a8,
    a9, a10, a11, a12, a13, a14, h1, h2, h3, h4, h5, h6, h7, h8, h9,
    h10, h11, h12, h13, h14)
    FROM paygrade_increase
    WHERE seq_no = op_lock_check_cur.p_id
    FOR UPDATE;
    BEGIN
    l_collection_name := 'WORK_TABLE';
    FOR x IN (
    SELECT *
    FROM apex_collections
    WHERE collection_name = l_collection_name
    AND c047 IN ('N','U','D')
    LOOP
    IF x.c047 = 'N'
    THEN
    INSERT INTO PAYGRADE_INCREASE(
    seq_no,
    fk_paygrade,
    annual_hour,
    a1,
    a2,
    a3,
    a4,
    a5,
    a6,
    a7,
    a8,
    a9,
    a10,
    a11,
    a12,
    a13,
    a14,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    h7,
    h8,
    h9,
    h10,
    h11,
    h12,
    h13,
    h14
    ) VALUES (
    users_seq.nextval,
    x.c002,
    x.c003,
    x.c004,
    x.c005,
    x.c006,
    x.c007,
    x.c008,
    x.c009,
    x.c010,
    x.c011,
    x.c012,
    x.c013,
    x.c014,
    x.c015,
    x.c016,
    x.c017,
    x.c018,
    x.c019,
    x.c020,
    x.c021,
    x.c022,
    x.c023,
    x.c024,
    x.c025,
    x.c026,
    x.c027,
    x.c028,
    x.c029,
    x.c030,
    x.c031
    l_ins_count := l_ins_count + 1;
    ELSIF x.c047 = 'U'
    THEN
    --Optimistic lock check
    --MD5 should be identical to collection initialization proc
    OPEN op_lock_check_cur(x.c001);
    FETCH op_lock_check_cur INTO l_table_md5;
    -- Compare the checksum values and if they are different, raise an error.
    IF l_table_md5 != x.c048
    THEN
    raise_application_error(
    -20001,
    'Current version of data in database has changed '
    || 'since user initiated update process.'
    END IF;
    UPDATE paygrade_increase
    SET fk_paygrade = x.c002,
    annual_hour = x.c003,
    a1 = x.c004,
    a2 = x.c005,
    a3 = x.c006,
    a4 = x.c007,
    a5 = x.c008,
    a6 = x.c009,
    a7 = x.c010,
    a8 = x.c011,
    a9 = x.c012,
    a10 = x.c013,
    a11 = x.c014,
    a12 = x.c015,
    a13 = x.c016,
    a14 = x.c017,
    h1 = x.c018,
    h2 = x.c019,
    h3 = x.c020,
    h4 = x.c021,
    h5 = x.c022,
    h6 = x.c023,
    h7 = x.c024,
    h8 = x.c025,
    h9 = x.c026,
    h10 = x.c027,
    h11 = x.c028,
    h12 = x.c029,
    h13 = x.c030,
    h14 = x.c031
    WHERE CURRENT OF op_lock_check_cur;
    CLOSE op_lock_check_cur;
    l_upd_count := l_upd_count + 1;
    ELSIF x.c047 = 'D'
    THEN
    DELETE FROM paygrade_increase
    WHERE seq_no = x.c001;
    l_del_count := l_del_count + 1;
    END IF;
    END LOOP;
    apex_collection.delete_collection(p_collection_name => l_collection_name);
    l_success_message :=
    l_ins_count || ' rows inserted, ' ||
    l_upd_count || ' rows updated, ' ||
    l_del_count || ' rows deleted';
    :PX_SUCCESS_MESSAGE := l_success_message;
    END;
    Thank you so much,
    MT

    Hi,
    You need to modify your "Page-to-collection:" code so that you mark the collection member c047 as updated (U) only if that particular row's checkbox was checked. Given the fact that the checkbox APEX_APPLICATION global variable holds only checked values, you need to loop through the checkbox variable for every row to determine if the checkbox was checked.
    Here is the pseudocode:
    -- Your "Page-to-collection:" code
    -- continues until this below line...
    IF l_original_md5 != l_latest_md5
    THEN
       -- additional check: mark collection member
       -- as updated only if checkbox is checked
       -- Loop through checked values array
       -- to see if the current row checkbox was checked
       FOR y IN 1 .. apex_application.g_f50.count
       LOOP
          -- compare SEQ_ID stored in hidden item (f49)
          -- against SEQ_ID stored in checkbox (f50)
           IF apex_application.g_f49(x) = apex_application.g_f50(y)
           THEN
             apex_collection.update_member(
             p_collection_name => l_collection_name,
             p_seq => apex_application.g_f49(x),
             p_c001 => apex_application.g_f01(x),
             p_c002 => apex_application.g_f02(x),
             p_c003 => apex_application.g_f03(x),
             p_c004 => apex_application.g_f04(x),
             p_c005 => apex_application.g_f05(x),
             p_c006 => apex_application.g_f06(x),
             p_c007 => apex_application.g_f07(x),
             p_c008 => apex_application.g_f08(x),
             p_c009 => apex_application.g_f09(x),
             p_c010 => apex_application.g_f10(x),
             p_c011 => apex_application.g_f11(x),
             p_c012 => apex_application.g_f12(x),
             p_c013 => apex_application.g_f13(x),
             p_c014 => apex_application.g_f14(x),
             p_c015 => apex_application.g_f15(x),
             p_c016 => apex_application.g_f16(x),
             p_c017 => apex_application.g_f17(x),
             p_c018 => apex_application.g_f18(x),
             p_c019 => apex_application.g_f19(x),
             p_c020 => apex_application.g_f20(x),
             p_c021 => apex_application.g_f21(x),
             p_c022 => apex_application.g_f22(x),
             p_c023 => apex_application.g_f23(x),
             p_c024 => apex_application.g_f24(x),
             p_c025 => apex_application.g_f25(x),
             p_c026 => apex_application.g_f26(x),
             p_c027 => apex_application.g_f27(x),
             p_c028 => apex_application.g_f28(x),
             p_c029 => apex_application.g_f29(x),
             p_c030 => apex_application.g_f30(x),
             p_c031 => apex_application.g_f31(x),
             p_c047 => 'U',
             p_c048 => apex_application.g_f48(x)
           END IF;
       END LOOP; -- end checkbox loop
    END IF; -- end UPDATE check
    ELSE --ID does not exist, must be new record
    -- rest of the code for "Page-to-collection:"
    --Thanks!
    JMcG

  • Apex 4 tabular form performance

    Hey all apex experts,
    Having some issues w/ tabular form performance.
    Posted below are the results from a debug run recently, I know it is a little tricky to read, was the simplest way I could find to get online.
    To highlight the problems, it appears that page is running rather well, with the exception of the line...
    *20110609090107.671238     0.38075     15.40215     rows loop: 15 row(s)*
    You can see that this record is consuming over 15 seconds of page load, or 97% of the time.
    So I need to find out what is consuming so much time, but "rows loop: 15 row(s)" tells me near to nothing.
    The query that is behind the tabular form I am not worried about at all, as it easily runs in sub second through any direct db querying method.
    The query does contain 8 apex_item calls...
    - 2 apex_item.hidden
    - 1 apex_item.select_list_from_lov
    - 1 apex_item.date_popup2
    - 3 apex_item.text
    - 1 apex_item.checkbox
    I am worried that the performance has to do with the rendering of these items, but I clearly need some assistance.
    Any pointers on how to pinpoint the bottleneck?
    I am currently running Apex 4.0.1.00.03 on Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit.
    Thanks in advance,
    Hayden
         Elapsed     Execution     Message     Level
    20110609090107.3     0.03996     0.04966     S H O W: application="109" page="19" workspace="" request="" session="640319082941758"     3
    20110609090107.3     0.0895     0.00258     Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us     3
    20110609090107.3     0.09203     0.00106     alter session set nls_language="AMERICAN"     3
    20110609090107.3     0.09306     0.00067     alter session set nls_territory="AMERICA"     3
    20110609090107.3     0.09371     0.00104     NLS: CSV charset=WE8MSWIN1252     3
    20110609090107.3     0.09476     0.00067     ...NLS: Set Decimal separator="."     3
    20110609090107.3     0.09542     0.00091     ...NLS: Set NLS Group separator=","     3
    20110609090107.3     0.09633     0.0009     ...NLS: Set g_nls_date_format="DD-MON-RR"     3
    20110609090107.3     0.09723     0.00089     ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"     3
    20110609090107.3     0.09811     0.00292     ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"     3
    20110609090107.3     0.10109     0.00134     ...Setting session time_zone to -05:00     3
    20110609090107.3     0.10241     0.00283     NLS: Language=en-us     3
    20110609090107.3     0.10528     0.00874     Application 109, Authentication: CUSTOM2, Page Template: 1427152175619667347     3
    20110609090107.4     0.11401     0.00149     ...Session ID 640319082941758 can be used     3
    20110609090107.4     0.11547     0.00178     ...Application session: 640319082941758, user=HAYDEN     3
    20110609090107.4     0.11724     0.00141     ...Determine if user "HAYDEN" workspace "2120413559142026" can develop application "109" in workspace "2120413559142026"     3
    20110609090107.4     0.11864     0.00282     ...Check for session expiration:     3
    20110609090107.4     0.12151     0.00281     Session: Fetch session header information     3
    20110609090107.4     0.12431     0.00123     ...fetch session state from database     3
    20110609090107.4     0.12552     0.00147     fetch items     3
    20110609090107.4     0.12699     0.00137     ...fetched 22 session state items     3
    20110609090107.4     0.12836     0.00221     Branch point: Before Header     3
    20110609090107.4     0.13057     0.00743     Fetch application meta data     3
    20110609090107.4     0.13804     0.00183     ...metadata, fetch computations     3
    20110609090107.4     0.13985     0.00178     ...metadata, fetch buttons     3
    20110609090107.4     0.14162     0.00088     Computation point: Before Header     3
    20110609090107.4     0.14247     0.00243     Authorization Check: "58293300185431144" User: "HAYDEN" Component: "COMPUTATION"     3
    20110609090107.4     0.14494     0.00087     Post Authorization Check     3
    20110609090107.4     0.14578     0.00062     ...Perform computation of item: F109_WARNINGS, type=STATIC_ASSIGNMENT     3
    20110609090107.4     0.14637     0.00274     ...Performing static computation     3
    20110609090107.4     0.14917     0.0009     ...Session State: Saved Item "F109_WARNINGS" New Value="<div>hello world</div>"     3
    20110609090107.4     0.15002     0.00068     Processing point: Before Header     3
    20110609090107.4     0.15068     0.00095     Authorization Check: "58293300185431144" User: "HAYDEN" Component: "PROCESS"     3
    20110609090107.4     0.15165     0.00095     Post Authorization Check     3
    20110609090107.4     0.15259     0.00406     "...Process ""find_errors"": PLSQL (BEFORE_HEADER) begin
    :f109_warnings := null;
    end;"     3
    20110609090107.4     0.15672     0.00103     ...Session State: Saved Item "F109_WARNINGS" New Value=""     3
    20110609090107.4     0.1577     0.00149     ...metadata, fetch item type settings     3
    20110609090107.4     0.15921     0.01143     ...metadata, fetch items     3
    20110609090107.4     0.17067     0.0066     Show page template header     3
    20110609090107.4     0.17726     0.00112     Computation point: After Header     3
    20110609090107.4     0.17835     0.00213     Processing point: After Header     3
    20110609090107.4     0.18047     0.00243     Authorization Check: "20690503835253927" User: "HAYDEN" Component: "tab"     3
    20110609090107.4     0.18294     0.00104     Post Authorization Check     3
    20110609090107.4     0.18393     0.00091     Authorization Check: "58293300185431144" User: "HAYDEN" Component: "tab"     3
    20110609090107.4     0.18484     0.00259     Post Authorization Check     3
    20110609090107.4     0.18745     0.00102     Region: &amp;nbsp;     3
    20110609090107.4     0.18844     0.00103     Authorization Check: "58293300185431144" User: "HAYDEN" Component: ""     3
    20110609090107.4     0.18948     0.03112     Post Authorization Check     3
    20110609090107.5     0.22067     0.00122     Region: &amp;nbsp;     3
    20110609090107.5     0.22183     0.00241     Authorization Check: "5394611084668332" User: "HAYDEN" Component: ""     3
    20110609090107.5     0.22427     0.00526     Post Authorization Check     3
    20110609090107.5     0.22952     0.00809     Region: Breadcrumb     3
    20110609090107.5     0.23763     0.00119     Computation point: Before Box Body     3
    20110609090107.5     0.23877     0.00105     Processing point: Before Box Body     3
    20110609090107.5     0.2398     0.00302     Item: P19_ID_LIST NATIVE_HIDDEN     3
    20110609090107.5     0.24285     0.00219     Item: P19_APPROVAL_ID NATIVE_HIDDEN     3
    20110609090107.5     0.24504     0.00539     Region: Edit Time     3
    20110609090107.5     0.25047     0.00467     Item: P19_CHANGED_IDS NATIVE_HIDDEN     3
    20110609090107.5     0.25514     0.00688     show report     3
    20110609090107.5     0.26205     0.00114     determine column headings     3
    20110609090107.5     0.26313     0.00324     activate sort     3
    20110609090107.5     0.26639     0.00315     parse query as: APP_SEC     3
    20110609090107.5     0.26953     0.00747     binding: ":APP_USER"="APP_USER" value="HAYDEN"     3
    20110609090107.5     0.27713     0.10094     binding: ":F109_ID_LIST"="F109_ID_LIST" value="219159198076799389604724962683469530452~219159198076801807456364191941818942804"     3
    20110609090107.6     0.37804     0.00271     print column headings      3
    20110609090107.6     0.38075     15.40215     rows loop: 15 row(s)      3
    20110609090123.0     15.78287     0.00322     pagination     3
    20110609090123.0     15.78602     0.00112     Computation point: After Box Body     3
    20110609090123.0     15.7871     0.00181     Processing point: After Box Body     3
    20110609090123.0     15.78891     0.0008     Computation point: Before Footer     3
    20110609090123.0     15.78969     0.00065     Processing point: Before Footer     3
    20110609090123.0     15.79033     0.00617     Show page tempate footer     3
    20110609090123.0     15.79657     0.00105     Computation point: After Footer     3
    20110609090123.0     15.79757     0.00082     Processing point: After Footer     3
    20110609090123.0     15.79837     0.01089     Log Activity:     3
    20110609090123.0     15.80941     0.00126     v$sesstat.statistic# = 436: execute count=0     3
    20110609090123.1     15.81056     -     End Show Page     3

    I had something like that. In my case it is a "pl/sql function retuning query" that is the source of the report region.
    Check in the database if the query is running slow when Apex is running the query, not when your are running the query. The binding may be different than what you expect.

  • Apex Manual tabular form

    Hi friends,
    I am new to Apex and am making a timesheet application. I have 2 main tables which I am using and their structures are as follows:
    TB_OPMI_PROJ_ACT_MAP:
    PROJ_REF VARCHAR2
    REL_ID VARCHAR2
    ACT_CODE VARCHAR2
    TB_OPTI_EMP_TS:
    PROJ_REF VARCHAR2
    REL_ID VARCHAR2
    EMP_ID VARCHAR2
    ACT_CODE VARCHAR2
    TS_WDI NUMBER
    TS_WD2 NUMBER
    TS_WD3 NUMBER
    TS_WD4 NUMBER
    TS_WD5 NUMBER
    TS_WD6 NUMBER
    TS_WD7 NUMBER
    TS_REMARKS VARCHAR2
    TS_STATUS VARCHAR2
    Now I have to create a manual tabular form based on data from these 2 tables and either insert or update data into the timesheet table.
    The page structure is such that I have created page items for emp_id, proj_ref and rel_id(all are LOV’s). And there is a button that submits the page. So when the user inputs the data and clicks on submit, the report whose source code is as follows shows up with data from both tables:
    DECLARE
    v_query varchar2(10000);
    BEGIN
    IF :P7_RELEASE_ID is not null THEN
    v_query := 'SELECT b.act_code activities,
    apex_item.text (1, a.ts_wd1, 10, 10) monday,
    apex_item.text (2, a.ts_wd2, 10, 10) tuesday,
    apex_item.text (3, a.ts_wd3, 10, 10) wednesday,
    apex_item.text (4, a.ts_wd4, 10, 10) thursday,
    apex_item.text (5, a.ts_wd5, 10, 10) friday,
    apex_item.text (6, a.ts_wd6, 10, 10) saturday,
    apex_item.text (7, a.ts_wd7, 10, 10) sunday,
    apex_item.text (8, a.ts_remarks, 70, 128) remarks
    from tb_opti_emp_ts a, tb_opmi_proj_act_map b
    WHERE a.proj_ref = b.proj_ref
    AND a.rel_id = b.rel_id
    AND a.act_code = b.act_code
    AND a.emp_id = '''||:P7_EMPLOYEE||'''
    AND b.rel_id = '''||:P7_RELEASE_ID||'''
    AND a.proj_ref = '''||:P7_PROJ_REF||''';';
    ELSE
    v_query := 'SELECT 1 FROM dual WHERE 1=0';
    END IF;
    return(v_query);
    END;
    Now this query is working fine. The data in the tb_opmi_proj_act_map is basically the activities mapped on each project reference and release id.
    Now when there is no corresponding data for the emp_id,proj_ref,rel_id and act_code in the main timesheet table, even then I need to generate to a tabular form structure with all the activities listed for the input proj_ref and rel_id and the 8 respective columns for the days of the week and remarks for each row or activity. I don’t know how to progress and am stuck. I just had a thought of modifying my region source a bit something like this.
    DECLARE
    v_query varchar2(10000);
    v_count number;
    BEGIN
    +Select count(*) into v_count from tb_opti_emp_ts where emp_id=P7_EMPLOYEE and proj_ref=P7 PROJREF and rel_id=P7_REL_ID;+
    IF (:P7_RELEASE_ID is not null) and (v_count>0)  THEN
    v_query := 'SELECT b.act_code activities,
    apex_item.text (1, a.ts_wd1, 10, 10) monday,
    apex_item.text (2, a.ts_wd2, 10, 10) tuesday,
    apex_item.text (3, a.ts_wd3, 10, 10) wednesday,
    apex_item.text (4, a.ts_wd4, 10, 10) thursday,
    apex_item.text (5, a.ts_wd5, 10, 10) friday,
    apex_item.text (6, a.ts_wd6, 10, 10) saturday,
    apex_item.text (7, a.ts_wd7, 10, 10) sunday,
    apex_item.text (8, a.ts_remarks, 70, 128) remarks
    from tb_opti_emp_ts a, tb_opmi_proj_act_map b
    WHERE a.proj_ref = b.proj_ref
    AND a.rel_id = b.rel_id
    AND a.act_code = b.act_code
    AND a.emp_id = '''||:P7_EMPLOYEE||'''
    AND b.rel_id = '''||:P7_RELEASE_ID||'''
    AND a.proj_ref = '''||:P7_PROJ_REF||''';';
    ELSIF (:P7_RELEASE_ID is null) then
    v_query := 'SELECT 1 FROM dual WHERE 1=0';
    else
    [code for generating my requirement in case the input is legit and there is no data in the timesheet table.]
    END IF;
    return(v_query);
    END;
    Please could someone help me????
    Also in either case, whether data is generated from the join if already existing or if no data exists, I need to then insert the data or update it accordingly and have no idea how to proceed.
    I know the solution will be a lengthy one but please its urgent and I am stuck. Please any help would be greatly appreciated.
    Thanks in advance……

    Hi all,
    In response to my previous post, I would like to update that I have been able to generate my required region.
    Now the final query is as follows:
    DECLARE
    v_query varchar2(10000);
    v_count number;
    BEGIN
    select count(*) into v_count from tb_opti_emp_ts where emp_id=:P7_EMPLOYEE and proj_ref=:P7_PROJ_REF and rel_id=:P7_RELEASE_ID;
    IF ((:P7_RELEASE_ID is not null) and (v_count>0)) THEN
    v_query := 'SELECT b.act_code activities,apex_item.text (1, a.ts_wd1, 10, 10) monday,apex_item.text (2, a.ts_wd2, 10, 10) tuesday,apex_item.text (3, a.ts_wd3, 10, 10) wednesday,apex_item.text (4, a.ts_wd4, 10, 10) thursday,apex_item.text (5, a.ts_wd5, 10, 10) friday,apex_item.text (6, a.ts_wd6, 10, 10) saturday,apex_item.text (7, a.ts_wd7, 10, 10) sunday,apex_item.text (8, a.ts_remarks, 70, 128) remarks from tb_opti_emp_ts a, tb_opmi_proj_act_map b WHERE a.proj_ref = b.proj_ref
    AND a.rel_id = b.rel_id
    AND a.emp_id = '''||:P7_EMPLOYEE||'''
    AND b.rel_id = '''||:P7_RELEASE_ID||'''
    AND a.proj_ref = '''||:P7_PROJ_REF||''';';
    ELSIF (:P7_RELEASE_ID is null) then
    v_query := 'SELECT 1 FROM dual WHERE 1=0';
    else
    v_query:='select (select act_desc from tb_opmi_act_code a where a.act_code=b.act_code) as activities,apex_item.text(1,null) Monday,apex_item.text(2,null) Tuesday,apex_item.text(3,null) Wednesday,apex_item.text(4,null) Thursday,apex_item.text(5,null) Friday,apex_item.text(6,null) Saturday,apex_item.text(7,null) Sunday,apex_item.text(8,null) Remarks from tb_opmi_proj_act_map b where proj_ref='''||:P7_PROJ_REF||''' and rel_id='''||:P7_RELEASE_ID||''';';
    END IF;
    return(v_query);
    END;
    Now I have created a button which have dynamic action as its on click action. Now in the dynamic action I have to write the code for inserting/updating the data in the timesheet table.
    I need help with it please its urgent..........

  • Is there any work around for  --- Upgrade to APEX 4.0 - Tabular Forms

    Hi
    Anyone has any workaround for this http://www.ora600.be/news/upgrade-apex-40-tabular-forms
    As I am not able to use the feature 'add row' or insert a record into the table in tabular forms
    Would greatly appreciate your help ... has anyone found a solution for this?
    thanks

    Hello User XY,
    What exactly is your question? Do you get any errors?
    Otherwise the blogposting describes what you can do when you upgrade a tabform from 3.2 to 4.0.
    brgds,
    Peter
    Blog: http://www.oracle-and-apex.com
    ApexLib: http://apexlib.oracleapex.info
    BuilderPlugin: http://builderplugin.oracleapex.info
    Work: http://www.click-click.at

  • Column in tabular form non-editable on update but editable on insert?

    I've got a tabular form and one of the columns should be editable when one chooses insert new row but once the row is created the column should not be editable.
    So I want a textfield when creating a new row and a standard report column for the rows already in the table.
    Can this be done?
    I really need to keep this simple (developmentwise) so it need to be done within apex's tabular form "wizard"...
    Thanks in advance
    Andreas

    This is an alteranative way to do the same
    This code has been tested by me in Apex 4.1.1
    Step 1 --> Create a Java Script and add it to the JavaScript --> Function and Global Variable Section
    One Can get the name by using Right Clicking on the PK field in Chrome and Selecting Inspect Element
    function ro()
        var pk_id = document.getElementsByName("f02");
        for (var i=0;i<pk_id.length;i++)
          if(pk_id[i].value!="")
               pk_id[i].readOnly = "readonly";
    Step 2 --> Create a Dynamic Action
    Select Advanced
    Select the Event --> Framework Events -->After Refresh --> Region --> Select Your Tabular form Region
    Condition --> No Condition
    True Action --> Execute JavaScript Code
    In the Code box type javascript:ro()
    The box will only make the Existing Rows RO, When one presses the AddRow as the region is not refreshed the user is able to add new data in the text field.
    Works with Delete and Cancel as well.

  • Query for create manual tabular form using apex collection using item textfield with autocomplete

    can we create a manual tabular form inside item textfield with autocomplete ?
    how it is possible?
    with Apex_item API used for this item.
    i used this code for creat  cascading select list
    select seq_id,
    APEX_ITEM.SELECT_LIST_FROM_QUERY(
            p_idx                       =>   1,
            p_value                     =>   c001,
            p_query                     =>   'SELECT C001 D
         , C002 R
      FROM APEX_COLLECTIONS
    WHERE COLLECTION_NAME = ''col1''',
            p_attributes                =>   'style="width:150px" onchange="f__name(this,parseInt(#ROWNUM#));"',
            p_show_null                 =>   'Yes',
            p_null_value                =>   null,
            p_null_text                 =>   '- Select name -',
            p_item_id                   =>   'f01_'|| LPAD (ROWNUM, 4, '0'),
            p_item_label                =>   'Label for f01_#ROWNUM#',
            p_show_extra                =>   'NO') name,
    APEX_ITEM.SELECT_LIST_FROM_QUERY(
            p_idx                       =>   2,
            p_value                     =>   c002,
            p_query              =>   ' SELECT null d, null r FROM dual WHERE 1 = 2
            p_attributes                =>   'style="width:150px"',
            p_show_null                 =>   'Yes',
            p_null_value                =>   null,
            p_null_text                 =>   '- Select name -',
            p_item_id                   =>   'f02_'|| LPAD (ROWNUM, 4, '0'),
            p_item_label                =>   'Label for f02_#ROWNUM#',
            p_show_extra                =>   'NO')name2,
    from apex_collections
    where
    collection_name = 'COLLECTION1'
    It is fine .
    but i want item in tabular form  textfield with autocomplete and remove select list. my requirement is using textfield with autocomplete select a employee name and second item textfield with autocomplete display dependent perticular employee related multiple task.
    how it is created.i have no idea related textfield with autocomplete.Please help me....

    pt_user1
    I understand that the add row button is currently doing a submit.
    To not submit the page you need a dynamic action on the page.
    Does the javascript function addRow do what you want?
    Otherwise have a look at the following two threads Add row in manual tabular form using dynamic action and Accessing Tabular Form & Add Elements to Collection without Page Submit.
    You're process could be something like:
    Add the new values to the collection using the idea's in the second thread and at the same time add the new row.
    And as second action refresh your tabular form.
    If you get stuck set up what you have done on apex.oracle.com using the tables from the demo application.
    Nicolette

  • Query for create manual tabular form using apex collection add row button functionality

    Hello everyone
    My requirement is i created a tabular form manually using apex collection but if i click on add row button then previously selected data refreshed and added new row in this form it is fine.but i don't want to refreshed previously selected data and click on add row button then add new row .how it is possible? plz help
    Thanks & Regards,
    Ujwala

    Ujwala
    Instead of starting a new thread with the same question as Query for create manual tabular form using apex collection add row button functionality.
    Could you answer the question about what you see while debug the javascript code.
    If you don't understand the question or have trouble debug javascript let us know.
    Nicolette

  • Help using a dynamic action to update tabular form items (specifically radio button) based on collection

    Hi Everyone, I have posted this question in the past and made huge progress with Denes Kubicek's help:  https://apex.oracle.com/pls/apex/f?p=31517:294:115851992029365::::: based on my earlier question posted: https://forums.oracle.com/forums/thread.jspa?threadID=2537494
    I am struggling with one item in my tabular form.  It is a radio button.  The choices all appear properly, but the value is not saved in the collection (and hence, not saved in the table).  All other items in the tabular form save properly.
    here is what I have for the query.   It is item c024 (which maps to ;'f03'), which is defined as a radio LOV based on an existing LOV.
    Currently I have:
    2 page items:
    P110_ID
    P110_VALUE
    Dynamic action called CHANGE COLUMN:
    event: CHANGE
    selection type: jQUERY Selector
    jQuery:
    jQuery Select = input[name='f03'],select[name'f08'],select[name='f09'],input[name='f10'],input[name='f11'],input[name='f12'],select[name='f40'],input[name='f21'],input[name='f22'],input[name='f23'],input[name='f50']
    event scope: Dynamic
    true action#1: set value P110_ID javascript expression this.triggeringElement.id
    true action#2: set value P110_VALUE javascript expression this.triggeringElement.value
    true action#3: execute pl/sql code
    declare
      v_member number;
      v_seq number;
    begin
      v_member := TO_NUMBER (SUBSTR (:p110_id, 2, 2));
      select ltrim(substr(:p110_ID,5,4),'0') into v_seq from dual;
      safis_collections.update_column(v_seq,
                                    v_member,
                                    :p110_value);
    true ation#4 refresh region :LANDINGS_COLLECTION
    the tabular form is based on the query:
    SELECT
    apex_item.text(1,seq_id,'','','id="f01_'||seq_id,'','') "DeleteRow",
    seq_id,
    seq_id display_seq_id,
    apex_item.text_from_LOV(c004,'SPECIES')||'-'||apex_item.text_from_LOV(c005,'GRADE')||'-'||apex_item.text_from_LOV(c006,'MARKETCODE')||'-'||apex_item.text_from_LOV_query(c007,'select unit_of_measure d, unit_of_measure r from species_qc') unit,
    apex_item.select_list_from_LOV(8,c008,'DISPOSITIONS','onchange="getAllDisposition('||seq_id||')"','YES','0','  -- Select Favorite --  ','f08_'||seq_id,'') Disposition,
    apex_item.select_list_from_LOV(9,c009,'GEARS','style="background-color:#FBEC5D; "onFocus="checkGearPreviousFocus('||seq_id||');"onchange="getAllGears('||seq_id||')"','YES','3333','-- Select Favorite --','f09_'||seq_id,'') Gear,
    apex_item.text(10,TO_NUMBER(c010),5,null, 'onchange="setTotal('||seq_id||')"','f10_'||seq_id,'') Quantity,
    apex_item.text(11,TO_NUMBER(c011),5,null,'onchange="getPriceBoundaries('||seq_id||')"','f11_'||seq_id,'') Price,
    apex_item.text(12, TO_NUMBER(c012),5,null, 'onchange="changePrice
    ('||seq_id||')" onKeyDown="selectDollarsFocus('||seq_id||',event);"','f12_'||seq_id,'') Dollars,
    decode(c013,'Y',apex_item.text(14, c014,30,null,'style="background-color:#FBEC5D;" onClick="onFocusAreaFished('||seq_id||');"','f14_'||seq_id,''),'N','N/A') Area_Fished,
    decode(c017,'Y',apex_item.text(18, c018,4,null,'style="background-color:#FBEC5D; "onBlur="setUnitQuantity('||seq_id||')"','f18_'||seq_id,''),'N','N/A') UNIT_QUANTITY,
    decode(c017,'Y',apex_item.text(19,'CN',3,null,'readOnly=readOnly;','f19_'||seq_id,''),'N','N/A') UNIT_COUNT,
    c024 hms_flag,
    decode(c050,'Y',apex_item.checkbox(21,'Y','id="f21_'||seq_id||'" style="background-color:#FBEC5D; " onClick="alterYes('||seq_id||');" onKeyPress="alterYes('||seq_id||');"',c021),'N','N/A') FinsAttached,
    decode(c050,'Y',apex_item.checkbox(22,'N','id="f22_'||seq_id||'" style="background-color:#FBEC5D;" onClick="alterNo('||seq_id||');" onKeyPress="alterNo('||seq_id||');"',c022),'N','N/A') FinsNotAttached,
    decode(c050,'Y',apex_item.checkbox(23,'U','id="f23_'||seq_id||'" style="background-color:#FBEC5D;" onClick="alterUnk('||seq_id||');" onKeyPress="alterUnk('||seq_id||');"',c023),'N','N/A') FinsUnknown,
    decode(c050,'Y',apex_item.textarea(28,c028,3,null,null,'f28_'||seq_id,''),'N','N/A') Explanation,
    decode(c024,'N',apex_item.select_list_from_LOV(29,c029,'HMSNATURE','onchange="saveNature('||seq_id||')"','YES','A','-- Select Nature of Sale --','f29_'||seq_id,''),'U',apex_item.select_list_from_LOV(29,c029,'HMSNATURE','onchange="saveNature('||seq_id||')"','YES','A','-- Select Nature of Sale --','f29_'||seq_id,''),'Y','N/A') Nature_Of_Sale,
    decode(c020,'Y',
    apex_item.select_list_from_LOV(40,c040,'HMS_AREA_CODE','style="background-color:#FBEC5D;"',null,null,null,'f40_'||seq_id,''),
    'N','N/A') HMS_AREA_CODE,
    c020,c050,
    decode(c020,'Y',
    apex_item.text(41,TO_NUMBER(c041),5,null,null,'f41_'||seq_id,''),
    'N','N/A') Sale_Price
    from apex_collections
    where collection_name = 'SPECIES_COLLECTION' order by seq_id
    I have noticed the following:
    when I change column C011 (price) the following values are set in the dynamic action:
    P110_ID = f11_1
    P110_VALUE = whatever I change the price to.
    when I change the column C024 (hms_flag), the following values are set:
    P110_ID = f03_0001
    P110_VALUE = whatever I change hms_flag to.
    the region is refreshed in my dynamic action, and the change for hms_flag does not hold.  I have tested the SQL query that generates the value for v_SEQ in the dynamic action.   In both a change to price and HMS_FLAG it appears valid
    select ltrim(substr(:p110_ID,5,4),'0') into v_seq from dual;
    if f11_1, v_seq:= 1
    if f03_0001, v_seq := 1
    thank you!

    solved.  sort of. 
    field c024 references f03.
    the Dynamic ACtion, step 4 calculates v_member by taking a substring of P110_ID...and in all other fields, the column and the field (fxx) are the same value....except for c024.
    I am not certain exactly how to resolve, but see the problem.

  • Tabular form in APEX 4.0

    Hi everyone,
    We use Apex 4.0.
    In a tabular form, we have two fields that the second of them depend on the first.
    For example in the case of a departement and employees list.
    Is it possible to acheive that when we select a value in the first list the second one depend on the first ?
    How we can reference the first list but we don't have names ?
    In a form region for example we have element name to relate to not in a tabular form
    Is it necessary to use Collection for this case?
    Thanks in advance. Bye.

    See: https://apex.oracle.com/pls/apex/f?p=39006:16:
    http://dbswh.webhop.net/dbswh/f?p=BLOG:READ:0::::ARTICLE:2003800346210117

  • What's the deal with 'no data found in tabular form' in apex 4.1

    We recently upgraded to 4.1 to resolve some of the issue found in 4.0. I have a form that populates a collection....it had previously worked in earlier versions and now I receive the following error when I try and SAVE.
    any thoughts?
    Contact your application administrator.
    no data found in tabular form

    HI Joel, thanks for getting back to me.
    We recently moved from apex 4.0 to 4.1. I have an application that makes use of collections. All was working in 4.0, but now I am having problems with 4.1. I would be happy to move place application in more convenient spot, but need specific instructions as I am not certain how to do that.
    basically, I have a report region, FAVORITES based on a collection (source listed below):
    SELECT apex_item.checkbox (1,seq_id, 'onclick="highlight_row(this,'
    || seq_id
    ||')"', NULL, ':', 'f01_'
    || LPAD (seq_id, 4, '0') ) delete_checkbox,
    apex_item.hidden(2,seq_id) seq_id,
    apex_item.hidden(3,seq_id),
    apex_item.text_from_LOV(c004,'SPECIES')SPECIES_ITIS,
    apex_item.text_from_LOV(c005,'GRADE')GRADE,
    apex_item.text_from_LOV(c006,'MARKETCODE') MARKET_CATEGORY,
    apex_item.text_from_LOV_query(c007,'select unit_of_measure d, unit_of_measure r from species_qc') unit,
    apex_item.text(8,c008,5) fav_order,
    apex_item.select_list_from_lov
    (9,
    c009,
    'DISPOSITIONS',
    'style="width:200px;background-color:#FBEC5D; "',
    'YES',
    '0',
    '- Select Disposition -',
    'f09_' || LPAD (seq_id, 4, '0'),
    NULL,
    'NO'
    ) disposition_code
    from apex_collections
    where collection_name = 'C_DEALER_SPECIES_FAV' order by seq_id desc, c008
    The collection appears and I am able to add rows to this collection. The problem is when I SAVE. The following is executed (and again, works fine in 4.0).
    declare
    dispositionCode varchar2(3);
    begin
    delete from frequent_species where permit_id = :G_permit_id;
    for rec in (select c004,c005, c006, c007,c008,c009,:G_permit_id from apex_collections where collection_name = 'C_DEALER_SPECIES_FAV')
    loop
    if rec.c009 = '0' then
    dispositionCode := null;
    else
    dispositionCode := rec.c009;
    end if;
    insert into FREQUENT_SPECIES (species_itis, grade_code, market_code, unit_measure, fav_order, disposition_code,permit_id) values(rec.c004,rec.c005, rec.c006, rec.c007,rec.c008,dispositionCode,:G_permit_id);
    end loop;
    exception when no_data_found then null;
    end;
    I receive the message:
    Contact your application administrator.
    no data found in tabular form
    Return to application.
    Let me know what you think. thanks for your help. Karen

  • Tabular Form Validation not working in tabular form APEX 4.0

    Hi,
    I am using APEX 4.0. I have a tabular form with Tabular form validation done with it.
    Item not null is the validation.. so if I dont type any value in the any of the fields in the tabular form and press the Submit button, the first time error is shown... but when I click the Submit button again, with still the empty rows the page is submitted.
    How to resolve this issue?
    Edited by: Suzi on Oct 5, 2010 11:13 AM

    Look at this thread - Re: Validations of tabular forms in 4.0

  • Null Validation in Tabular Form in APEX 4.2.2

    Hi to all respected Gurus of this Forum!
    Recently downloaded APEX 4.2.2. As we know that this version has some improved features and one is the best is i.e. *"Validation on Tabular Form".*
    For test purpose I succeeded to apply validation on field of tabular form and I am not allowed to "SUBMIT" data as per Validation Rule.
    But now, I want to customize that validation as per below logic.
    If required field is null than a message-box should appear with two buttons , as under:
    Blank field not allowed. Do you really want to submit? (Buttons should be = YES NO)
    If user press "YES" then validation should be false and record should be saved
    AND
    If user press "NO" then no data should be submitted/inserted as per validation logic.
    Please help. Your as usual cooperation is highly appreciated in advance.
    Regards
    Muhammad Uzair Awan
    ORACLE APEX Developer
    Pakistan

    Hello Sabine,
    >> I read about enhanced validation in 4.1 and would love to get rid of g_f-programming.
    The major “trick” is to associate the validation/process with a Tabular Form. On the first screen of both wizards, the first field is Tabular Form. You must select the tabular form on your page (currently there can be only one. In future versions this will change).
    Another factor that might influence the behavior of Tabular Form validation/process is the new attribute of Execution Scope. Unfortunately, you must enter Edit mode to gain access to this attribute (i.e., it can’t be set directly from the Tabular Form create wizard). Set it according to your need.
    The rest is very simple. You should treat your Tabular Form as a simple form, where every column header stands for a form item. The following is a very simple example of validating the SAL column:
    if :SAL < 1500 then
      return 'Sal Value is under 1500';
    else
      return null;
    end if;In this validation I’m using the Function Returning Error Text type.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Insert in Tabular form does not work after the upgrade to APEX 4.0

    Hi all,
    Thx in advance for looking into the issue.
    We are running into following issue when we upgraded APEX 3.2 to APEX 4.02
    1) The Tabular form insert does not work.
    2) We are fatching the value of the Global variable APEX_APPLICATION.g_XXXX in a procedure and we get null for this value after submit for new row to be inserted.
    The tabular form was working fine in APEX 3.2.
    The Update and Delete works just fine.
    Any help in this regard is highly appreciated.
    Thx and regards,
    Mahesh

    Here is my workaround to get the ADDROW/SUBMIT working again if you have a legacy Tabular Form:
    1     PAGE ATTRIBUTES               
              JAVASCRIPT          
              FUNCTION AND GLOBAL VARIABLE DECLARATION          
                   var htmldb_delete_message='"DELETE_CONFIRM_MSG"';     
    2     DELETE BUTTON               
              ACTION WHEN BUTTON CLICKED          
              URL Target          change to
                   javascript:apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');     
    3     ADDROW BUTTON               
              ACTION WHEN BUTTON CLICKED          
              Action           
                   redirect to URL     
              URL Target          
                   javascript:addRow();     
    4     PROCESS               
              APPLYMRU (activitated by button ADDROW)          
              CONDITION          
                   never or delete     
    5     PROCESS               
              ADDROWS          
              CONDITION          
                   never or delete     
    6     CHANGE PAGE TEMPLATE to e.g. THEME 13 One Level Tabs.               
    7     IF YOU WANT ADD FUNCTIONALITY TO GOTO BOTTOM OF PAGE AFTER ADDROW               
         1. In the page footer put <a name="bottom_of_page"></a>                
         2. Amend the action when the "ADD" button is clicked to scroll down to the new region by doing the following:               
         - edit "ADD" button               
         - Go to "Action when button Clicked" section               
         - Amend "URL Target" from               
         javascript:addRow();                
         to               
         javascript:addRow();window.location='#bottom_of_page' ;               
    regards
    PaulP

  • Apex 3.2 Tabular form - dynamic selection based on prev selection

    Hi guys,
    I am using apex 3.2. I am having difficulty in setting up a tabular form which provides an option to record information in other columns based on a value selected in the drop down.Here is an example
    I have a table product. All the products are added using a tabular form by selecting type from a drop down list.
    This allows the user to add multiple products without having to press save each time.
    e.g.
    product | type
    monopoly | game
    vase | home
    coffee | food
    cards | game
    Depending on the product type, I want the user to be able to multi-select other options using checkboxes based on the option selected.
    So for example if they add a product of type food, it should give additional options like beverage, cereal etc. If they select game, then they should get other options like for age_groups 10-12; 12-16; 18 and over;
    Is it posisble to do this on a tabular form in apex 3.2?
    If yes, please can someone help.
    Thanks
    Sam

    Closed

Maybe you are looking for

  • Freight, octroi not to be shown in Print preview

    Dear friends, I want freight and octroi not to be shown in print preview although i am maintaining those condition types in condition tab. Their value should not add up to the net value of material in print preview. Pl suggest how it's possible? Regd

  • Update appended field in a sales order

    Hi, i'm trying to update an appended to VBAP Z field with FM SD_SALESDOCUMENT_CHANGE. i'm using pivot structure 'BAPE_VBAP' and 'BAPE_VBAPX' . clear ibapiextenin.       ibapiextenin-structure  = 'BAPE_VBAP'.       CONCATENATE i_vbeln iitens-itm_numbe

  • Aol email won't update

    I have a 1 month old iphone 4s.  I was getting my aol email updated regularly.  It suddenly stopped updating 2 days ago.  Does anyone have any recommendations?

  • Default search browser changed to Yahoo.7!

    I opened safari and BOOM! Yahoo. I know how to change it back on the old safari (With the two search bar things) but not on the new one with only one bar. I've tried on system preferences but I still can't do it. Please help me it's driving me absolu

  • The same folder appears in my Bookmarks Toolbar as it does in my Bookmarks Menu is this supposed to be this way?

    Hi, Thanks in advance for any insight on this matter. After having issues with a particular folder, I am now wondering if the problem was due to the fact that all of my bookmarks are in the Bookmarks Menu instead of the Bookmarks Toolbar? Does it mak