Update collection

Apex 4.2

I use a plugin to insert csv data into a collection of apex and it works very well.

Once in the collection, I want to validate the data and if no problem, I get an error indicator and a message.

It works, but I don't know there must be a better way to do it.

My actual code is much more than 2 validations

Declare

l_collection_name varchar2 (15);

Begin

l_collection_name: = 'ANGUS ';

for x in)

Select seq_id,

C001,

C002,

C003,

C004,

C005,

C006,

C007,

C008,

C009,

C010,

C011,

C012

of apex_collections

where collection_name = l_collection_name

)

loop

If x.c001 is null then

apex_collection.update_member

(p_collection_name = > l_collection_name,)

p_seq = > x.seq_id,

p_c001 = > x.c001,

p_c002 = > x.c002,

p_c003 = > x.c003,

p_c004 = > x.c004,

p_c005 = > x.c005,

p_c006 = > x.c006,

p_c007 = > x.c007,

p_c008 = > x.c008,

p_c009 = > x.c009,

p_c010 = > x.c010,

p_c011 = > 'Y ',.

p_c012 = > 'LDEKEY is missing.');

end if;

If x.c006 = "Y" THEN

apex_collection.update_member

(p_collection_name = > l_collection_name,)

p_seq = > x.seq_id,

p_c001 = > x.c001,

p_c002 = > x.c002,

p_c003 = > x.c003,

p_c004 = > x.c004,

p_c005 = > x.c005,

p_c006 = > x.c006,

p_c007 = > x.c007,

p_c008 = > x.c008,

p_c009 = > x.c009,

p_c010 = > x.c010,

p_c011 = > 'Y ',.

p_c012 = > 'False flag');

end if;

end loop;

END;

Also, is it possible, if a line of the collection has more than one problem, the error message can show all messages.

That is to say, LDEKEY is missing - false flag

Thank you

Gus

You must only provide the columns that change. You can also use update_member_attribute

https://docs.Oracle.com/CD/E37097_01/doc.42/e35127/apex_collection.htm#AEAPI817

More than one question? Concatenate?

Tags: Database

Similar Questions

  • APEX 5 - update collection member number or date type fails

    Hi Experts,

    I use the pl/sql process onDemand (AJAX call). In this block, there is a procedure of apex_collection.update_member_attribute.

    If I call the procedure as below:

    In this example, I've used directly number 50 in NUMBER! to say the apex_collection to set the numeric field only.

    apex_collection.update_member_attribute
                                         (p_collection_name      => 'FUFI_MANAGER_BATCH_PARAMS',
                                          p_seq                  => APEX_APPLICATION.g_x01,
                                          p_attr_number          => to_number(APEX_APPLICATION.g_x02),
                                          p_attr_value           => 50
                                         );
    
    

    Here is 'Post' AJAX call settings (in my standard call): x 01-seq_id, x 02 - attr_number, x 03 - attr_value, x 04-value_type (n - number just for my info)

    He C001 ALWAYS updated instead of N001! attribute. In the documentation it is if I use the numeric value (I tried to_number too...) in p_attr_value, it updates attribute number.

    To_number example:

    updated in the character column.

    I'm doing something wrong?

    If I use a few collections with columns C001... C00N - update works. If I use the types of number and the date I can't update correct attribute members.

    Concerning

    J

    Jozef Demovic SVK wrote:

    I use the pl/sql process onDemand (AJAX call). In this block, there is a procedure of apex_collection.update_member_attribute.

    If I call the procedure as below:

    In this example, I've used directly number 50 in NUMBER! to say the apex_collection to set the numeric field only.

    1. apex_collection.update_member_attribute
    2. (p_collection_name-online 'FUFI_MANAGER_BATCH_PARAMS',
    3. p_seq => APEX_APPLICATION.g_x01,
    4. p_attr_number-online to_number (APEX_APPLICATION.g_x02),
    5. p_attr_value-online 50
    6. );

    I'm doing something wrong?

    If I use a few collections with columns C001... C00N - update works. If I use the types of number and the date I can't update correct attribute members.

    The apex_collection.update_member_attribute method is overloaded to handle different attributes and types of attributes. Note that PL/SQL documentation says Overload:

    PL/SQL allows you to overload the nested subprograms, subprograms in package and type methods. You can use the same name for several different subprograms if their formal parameters differ by name, number, order, or data type family... If formal parameters differ only in name, you must use named notation to specify the corresponding actual parameters.

    In this case you use notation named, but the parameter name p_attr_value means the call corresponds to the signature 1 method, which updates a character attribute.

    5 signature with the name of the parameter p_number_value is used to set a number attribute:

    apex_collection.update_member_attribute(
        p_collection_name => 'FUFI_MANAGER_BATCH_PARAMS'
      , p_seq            => APEX_APPLICATION.g_x01
      , p_attr_number    => APEX_APPLICATION.g_x02)
      , p_number_value    => 50);
    

    Also note that (a little bit counter-intuitive) p_seq is always a VARCHAR2 string.

  • Updated collective bouceback status to the E10

    Hello

    Did somebody to mass day the status of bounceback in E10 with the recent changes in the system where the "Advanced Options" does not appear on the screen of the contact group?

    Thank you very much

    Joel

    You can take advantage of the bulider program, go to the specific step, select default action and the selection of the option below: select to subscribe to the Site-Surveyl

    This subscribe and reset the State of bounceback for contacts.

    I hope this helps.

    Thank you

    Amit Pandya

  • Collections - member update attributes

    APEX 4.2.2

    Suppose I have a collection of APEX allows to store additional data specific to a session for some elements. N001 stores the primary key of the database record. CXXV attributes store session-specific data.

    How can I do to update the specific values in the collection based on the primary key? All the API update in the package APEX_COLLECTION with the p_seq not work with our own data. Basically I want something equivalent to
    update collection set c001=<value>, c002=<value> where n001=<pk>; if (sql%rowcount=0) then create the n001,c001,c002,... collection member
    Any ideas? Thank you

    Hello Elizabeth,.

    I guess you can write something like this:

    declare
      l_seq_id number := null;
    
    begin
      select seq_id
      into l_seq_id
      from apex_collections
      where collection_name = 'YOUR_COLLECTION_NAME'
      and n001 = ;
    
      if l_seq_id is null then -- new
        apex_collection.add_member(
          p_collection_name => 'YOUR_COLLECTION_NAME',
          p_c001            =>
          ...
        );
    
      else -- update
        apex_collection.update_member(
          p_collection_name => 'YOUR_COLLECTION_NAME',
          p_seq             => l_seq_id,
          p_c001            =>
          ...
        );
    end;
    

    Thank you

    Erick

  • Updated APEX collection error ORA-04044: procedure, function, package, type

    Hi all

    I am trying to update the APEX MEMBER of the COLLECTION and encounter errors:


    1 error has occurred
    ORA-06550: line 9, column 8: PL/SQL: ORA-04044: procedure, function, package or type is not allowed here ORA-06550: line 7, column 3: PL/SQL: statement ignored

    The PLSQL code are as below

    DECLARE
    entire x;
    v_date_started VARCHAR2 (255);
    v_date_finished VARCHAR2 (255);
    BEGIN
    SELECT c.seq_id
    X
    OF APEX_COLLECTION c
    WHERE collection_name = "PHASE_COLLECTION."
    AND c001 =: P41_MPM_ID
    and rownum = 1;
    v_date_started: =: P41_DATE_STARTED;
    v_date_finished: =: P41_DATE_FINISHED;

    APEX_COLLECTION. () UPDATE_MEMBER
    p_collection_name = > 'PHASE_COLLECTION '.
    , p_seq = > x
    , p_c004 = > v_date_started
    , P_c005 = > v_date_finished
    );
    END;


    The process will take place after SUBMIT and validation.

    The code I used to add a colletion APEX will work perfectly and is as below

    -Initialization Collection PHASE_COLLECTION
    BEGIN
    IF THIS ISN'T APEX_COLLECTION. COLLECTION_EXISTS('PHASE_COLLECTION') THEN
    APEX_COLLECTION. CREATE_COLLECTION ('PHASE_COLLECTION');
    ON THE OTHER
    APEX_COLLECTION. TRUNCATE_COLLECTION ('PHASE_COLLECTION');
    END IF;
    -Add members to the COLLECTION PHASE of table PHASE_MEMBERSHIP
    IF: P41_MPM_ENG_ID IS NOT NULL THEN
    FOR x IN (SELECT mpm_id, mpm_eng_id, phase_number, date_started, date_finished, date_created
    OF phase_membership
    WHERE mpm_eng_id =: P41_MPM_ENG_ID
    AND active = 1
    ORDER BY date_created)
    LOOP
    APEX_COLLECTION. ADD_MEMBER
    (p_collection_name = > 'PHASE_COLLECTION')
    , p_c001 = > x.MPM_ID
    , p_c002 = > x.MPM_ENG_ID
    , p_c003 = > x.PHASE_NUMBER
    , p_c004 = > x.DATE_STARTED
    , p_c005 = > x.DATE_FINISHED
    , p_c006 = > x.DATE_CREATED

    );
    END LOOP;
    END IF;
    EXCEPTION
    WHILE OTHERS THEN
    Logger.Error (p_message_text = > SQLERRM)
    , p_message_code = > SQLCODE
    , p_stack_trace = > dbms_utility.format_error_backtrace
    );
    LIFT;
    END;


    What I tried to use APEX_COLLETION to check the overlap between the date_range.
    The requirement is just to display a warning if the user adds a record to the new phase or update record of current phase may overlap between the order of phase together.
    Table PHASE_MEMBERSHIP script is

    CREATE TABLE 'PHASE_MEMBERSHIP '.
    (
    ACTIVATE THE "MPM_ID" NUMBER NOT NULL,
    ACTIVATE THE "MPM_ENG_ID" NUMBER NOT NULL,
    ACTIVATE THE "PHASE_NUMBER" NUMBER (2.0) NOT NULL,
    "DATE_STARTED" DATE NOT NULL ACTIVATE.
    DATE OF THE "DATE_FINISHED."
    'NOTES' VARCHAR2 (2000 BYTE),
    'DATE_CREATED' DATE NOT NULL ACTIVATE.
    ACTIVATE THE 'CREATED_BY' VARCHAR2 (20 BYTE) NOT NULL,
    NUMBER (2.0) 'ACTIVE' DEFAULT 1 ACTIVATE NOT NULL)

    So, basically, I want to fill the documents associated with a particular to a collection of APEX called PHASE_COLLECTION MPM_ENG_ID.
    Then when the user specify date_started and date_finished, it will update/insert the APEX collection first.
    Then the rank based on audit collection date
    http://www.Oracle-base.com/articles/Misc/overlapping-date-ranges.php
    then display the warning to ask the user to confirm message.

    But then I'm stuck at the step of updating COLLECTION of APEX.

    If anyone has any ideas on what is wrong, please help.

    Thanks in advance.

    Ann

    Your syntx error line number should give you the trick - it is not a member of the update, rather the SQL - you are referring to apex_collection, not apex_collections view dictionary.

    Scott

  • Best way to prevent the collection of updated?

    I have a problem/question about the dataGrid control, see code attatched.

    When I click on a line in the lower grid I want to copy the information in the upper grid. I don't want the collection of grids below to be updated when I edit the cells in the upper grid.

    If I use the code attatched and edit a cell, the collection in the grid below to update when I scroll up and down lines (in the lower rack).

    The only way I can stop this update is to set the dataProvider "[{colA: dataGrid1.selectedItem.colA, colB: dataGrid1.selectedItem.colB, teachers: dataGrid1.selectedItem.colC}]" instead of "dataGrid1.selectedItem".

    Is this a bug or what I am doing wrong? It should be a better way to prevent the updated collection. I tried different events at the same time check if/when the collection is updated but no success here. I can't get the function 'preventDefault()' to work.

    Any solution/suggestion?

    Kind regards

    the Sweden newbe...

    You need two independent dataProviders, one for each grid. then you need to do a * copy * of the row of data before put you in the second dataProvider. This is because that just assign the object (selectedItem) will be just a reference to the same object.

    You could use ObjectUtils.copyObject (), or simply create a new Object() and assign the properties and the values for the new object, and then to the second dataProvider addItem().

  • Notification of Update ActiveX Flash (21), MMS.cfg, etc..

    Hello, we have always deployed the MSI for PPAPI and NPAPI as a MMS.cfg file delete update notifications, etc. We're heading Windows 10 and now I see that there really PPAPI or NPAPI package as we don't do not deploy Firefox and Chrome auto-updates to date of its instance of Flash. We simply apply the latest version of ActiveX via WIndows Update and maintain with SCCM 2012 via the software update collection.

    I need to know if there is still no reason to continue to use our MMS.cfg file to delete notifications of updated for Flash (> 21) ActiveX, or if the application is no longer warns of updates, or if there was another change to this feature. Thank you!

    Hello

    If you're upgrading to Windows 10 and you plan not to use IE or edge there is no need to use the mms.cfg file as all updates Flash Player for IE/Edge will be distributed by Microsoft via Windows Update.

    If you do use browser that supports plugins NPAPI or PPAPI (for example Firefox, Opera), then you will need to continue deploying these plugins, and use the mms.cfg file to remove the update notification.

    --

    Maria

  • Update not available with immediate execution?

    Hello;

    When I run this code, I get no error (s) (and I see the dbms_output [UPDATE]) but the update is not effective:
    WHENEVER OSERROR EXIT OSCODE
    set head off
    set scan on
    set verify off
    set flush off
    set feedback off
    set linesize 410
    set pagesize 0
    set serveroutput on size 1000000
    
    DECLARE
    ...
    BEGIN
    collection := get_tables_with_column('REF_PLAN');
    
    ...
    IF ... THEN
    dbms_output.put_line('[UPDATE]');
         EXECUTE IMMEDIATE 'UPDATE ' || collection(i) ||' SET REF_PLAN=:quatre_champ WHERE FAM_SIM=:prem_champ AND PRISE_V1P=:deux_champ AND BROCHE_V1P=:trois_champ' USING quatre_champ,prem_champ,deux_champ,trois_champ;
    COMMIT;
    ...
    What is the problem? Thanks for your help, regards.

    Well, add:

    dbms_output.put_line(SQL%ROWCOUNT);

    after EXECUTE IMMEDIATE. Most likely update targets 0 lines. If so, print and check the prem_champ, the deux_champ, the values of trois_champ.

    SY.

  • Satellite P875-102 - sound freezes when the CPU is busy

    Hi guys,.

    I just bought a Satellite P875-102 with Windows Home Premium and all software by default, and card and I have a very annoying problem with the sound. Whenever the processor takes a little more time to process information (i.e. a website load) sound freezes for a second and then comes back.

    It happens with all my music software and regardless of local or streaming music. Is there a way can I fix? It gets really, really boring and it is a laptop which should do much better than the one with multimedia...

    Any help would be welcome. Thank you!

    Hello

    When I read something like that I would like to have mobile phone in front of me and see exactly what is happening. New portable computers are preinstalled with Toshiba recovery image and they contain about additional software running in the background.

    Windows Update set to automatic when you buy new laptop and connect it to the internet, I think first of all days notebooks are very busy with the update of various facilities and all this happens in the background.

    Updates collection pre-installed antivirus, scan disk and all these activities slow down s for laptop performance. Result can be these thresholds when you listen to music or watch movies.

    What to do with the new notebook is the optimization of the OS. With other words, I dsable Autostart for many applications that I n t need, remove preinstalled antivirus and install Avira antivir, disable updating automatic Windows and, at least, remove some stuff preinstalled system.

    After this start is much more fast and portable ready for use. I can't say for sure, but I think you should do the same thing and check if this problem occurs again and again.

  • HP Support Assistant not live connections to the HP servers

    HP Pavilion dv7 notebook (QG703EA #B1A). Assistant HP stopped connecting to the servers of HP in order to retrieve updates of pilot since before the holidays. When to go to the host / maintain / Refresh, it always returns "Fail" steps "Download updates", "Collection of information", and "analytical system. The search in the forums, I found a post where the user is prompted to download a newer version of HPSA. I did, but the problem persists. Is this a known issue that will be corrected? Whether it has to do with servers or is my PC? Is that what I can do to try to figure out where the problem and solve it? OS: Version HPSA WIn7 of the month last x 64 6.0.5.4, the version of the file config 6.0.1413.1434 thank you.

    I'm sorry.    Try this:

    FTP://ftp.HP.com/pub/SoftPaq/sp54501-55000/sp54620.exe

    He invites you to download.

  • I can download and install Skype & firefox, chrome, live mail but none of them will work

    I have an Acer Aspire 571 V3 running under Windows 7 64-bit.  I am able to load down the following: Skype, Chrome, Windows Live Mail and Firefox, but none of them works.  I'm on a wifi connection

    Chrome told me;

    Google Chrome connection attempt was rejected. The Web site may be out of service or your network may not be configured correctly.
    Check your Internet connection.
    Check the cables and restart all of the routers, modems or other network devices, you can use.
    Chrome allow access to the network in your firewall or anti-virus settings.
    If it is already listed as a program that is allowed access to the network, try to remove from the list and Add again.
    If you use a proxy server...
    Check your proxy settings or contact your network administrator to make sure that the proxy server is running. If you don't think you should use a proxy server: go to the Chrome menu > settings > + show avancΘs > change proxy settings... > LAN Settings and uncheck the box "use a proxy server for your LAN".
    Error code: ERR_CONNECTION_REFUSED
    Skype has just ends up with the circular thing going in circles.  When I ran the resolution of the problems, he said that there was a problem with wifi
    Firefox does not load according to the Chrome and I have now deleted.
    Windows live mail says:
    Can't send or receive messages on behalf of Orange. Your server suddenly put an end to the connection. The possible causes for this include server, network problems, or a long period of inactivity issues.
    Server: 'pop.orange.fr '.
    Windows Live Mail error ID: 0x800CCC0F
    Protocol: POP3
    Port: 110
    Secure (SSL): No.
    A timeout occurred during communication with the server.
    Object
    Server: 'smtp.orange.fr '.
    Windows Live Mail error ID: 0x800CCC19
    Protocol: SMTP
    Port: 25
    Secure (SSL): No.
    Can't send or receive messages for the account. A TCP/IP error occurred trying to connect to the server.
    Server: 'pop.orange.fr '.
    Windows Live Mail error ID: 0x800CCC15
    Protocol: POP3
    Port: 110
    Secure (SSL): No.
    Any help is welcome.

    Issue WRT Windows updates, I've very recently updated 3 computers that had not been used in about 2 years... more than 200 updates each and experience is very fresh in my memory. :-) The only problem which has recurred several times has been updated collective lots fault because some updates must be installed individually or in a certain order, but they have not been identified as it.

    So I suggest to try each first IE10 update individually. If that doesn't work try to download files update manually (from the # links displayed in Windows Update KB) and run the updates of downloaded files.

  • BlackBerry Smartphones third rate Software

    While I'm very happy with my new curve, I must express my astonishment when executing bad quality of the transfer media provided by RIM software.

    First of all, the Roxio software is buggy as they come. The upgrade to v. 4.5 (software is not even warn you - you are required to "check in" from time to time, what freeware even not asking you) has solved some of the problems - like errors than every six seconds, for example, or gel to the top of the selection of files to monitor.

    Roxio interface is so 1992 - however, he likes to scroll to the bottom of each list of media by itself.  Frustrating. Taxi from Rio was more advanced than this reflection afterwards. It is also slower than molasses on a cold day. You think that you are using a 100 MHz Cyrix chip.

    But wait. There is more! We now have Blackberry Media Sync. It has a selection to add "recently added files. Dazs, the software does not tell you what is "recent" so it adds the same files over and over again.

    The two systems have no way to block the addition of files that are already on your phone. If frequent clean ups of dupicated are of the order of the day

    Give me a break. It's really the stuff of bush league that never should have been released.

    Problem solved!

    Just for the heck of it, I was running Microsoft Windows Media 10, and I plugged my curve. This time, WM acknowledged the SD card in the phone. I tried dragging my files of music and podcasts in the Sync column and son of a gun, it worked! Transfer speeds are awfully quick too, with this SanDisk 8 GB mini card I got from Amazon for $28.00 (can you imagine? 8 Gig for this price!)

    In any case, even if it is fashionable to dump Microsoft, the WM interface works easily and efficiently, not only with the transfers, but with the update, collection and organizes the content of files everywhere in your computer, be it sofware of Podcast dedicated like juice, but also with ITunes, which I use more often these days and collected on EMusic , download Amazon and Napster.The choice given by RIM just had me wanting to throw the cat. I'm glad it works.

  • Assign already exist several UO Site provider

    Hello

    Is there an API that allows to assign already existing provider Site to multiple OUS.

    Thank you.

    Best regards / Prasanth

    Hello

    Welcome to the communities.

    Please review these notes.

    R12: What are the new related tables/Packages/programs provider. Support for the API (Doc ID 812918.1)

    The Open Interface Import provider lets update the vendor Records? (Doc ID 330885.1)

    Updated collective provider Information Site how? (Doc ID 1542661.1)

    R12:API AP_VENDOR_PUB_PKG LAST_UPDATE_DATE of updates for all Sites (Doc ID 1337744.1)

    Impossible to update provider Site tax information via an Api (Doc ID 1604569.1)

    Obligation to update provider Via an API (Doc ID 415065.1) Sites

    Is there an Api public update of sellers in 11.5.9 (Doc ID 255024.1)

    How update the supplier and the supplier of R12 site? (Doc ID 1574292.1)

    Thank you

    George

  • Mistake to link the variable with the clause "like %"?

    Hello everyone;

    I would like to know how to make a like clause to bind variables, with this code, I get ' ORA-00933: SQL not correctly completed command ' error
    :
    v_query:= 'UPDATE ' || collection(i) ||' SET REF_PLAN=:quatre_champ WHERE FAM_SIM like ''%'':prem_champ''%'' AND PRISE_V1P like ''%'':deux_champ''%'' AND BROCHE_V1P like ''%:trois_champ%''';
                                  EXECUTE IMMEDIATE v_query USING quatre_champ,prem_champ,deux_champ,trois_champ;
    Maybe my "'" are in a bad position?

    Thanks for your help, regards.

    Try this:

    v_query:= 'UPDATE ' || collection(i) ||' SET REF_PLAN=:quatre_champ
    WHERE FAM_SIM like ''%''||:prem_champ||''%''
    AND PRISE_V1P like ''%''||:deux_champ||''%''
    AND BROCHE_V1P like ''%''||:trois_champ||''%''';
    
  • Try to build the form using the check boxes - need help

    I am creating features using a region on the left to contain what I want (and it is stopped), an area on the right that contains all the rest I might add, with buttons in the middle to get things back (Add/Remove). I try to use the collections and APEX_ITEM. CHECKBOX and everything just do not have luck using the check boxes at all. Can someone tell me please a tutorial or an example that works in the way to read a collection by using the checkboxes and manipulate? Normally, I uses a FRONT of Validations process to update the collection with the changes that the user has provided, then follow up with any validations, then run any what DB written/modifications/deletions in a page AFTER VALIDATION process.

    Here's what I have so far:

    Area to the left (list of items already included in the package)

    (On the process of loading Page (before header) -: P182_PKG_ID is passed as input)
    apex_collection.create_or_truncate_collection
      (p_collection_name => 'DOCWIZ_CHKLST');
    
    declare
      v_lnid      NUMBER;
      v_ordr      NUMBER;
      v_pkg       NUMBER;
      v_type      NUMBER;
      v_typenm    VARCHAR2(47);
      cursor c_prepop is
        select a.ID, a.DOC_ORDER, a.DOC_PKG_ID, a.DOC_TYPE_ID, t.DOC_TYPE_NM
          from DOC_ASSIGN a, DOC_TYPE t
         where a.DOC_TYPE_ID = t.DOC_TYPE_ID
           and a.DOC_PKG_ID = :P182_PKG_ID
         order by a.DOC_ORDER;
    begin
      OPEN c_prepop;
        LOOP
          FETCH c_prepop into v_lnid, v_ordr, v_pkg, v_type, v_typenm;
          EXIT WHEN c_prepop%NOTFOUND;
          APEX_COLLECTION.ADD_MEMBER(
              p_collection_name => 'DOCWIZ_CHKLST',
              p_c001 => 0,          --CHKBX
              p_c002 => v_lnid,     --ID
              p_c003 => v_ordr,     --DOC_ORDER
              p_c004 => v_pkg,      --DOC_PKG_ID
              p_c005 => v_type,     --DOC_TYPE_ID
              p_c006 => v_typenm    --DOC_TYPE_NM
           );
        END LOOP;
      CLOSE c_prepop;
    end;
    Report area (column 2)
    SELECT apex_item.DISPLAY_AND_SAVE(1, SEQ_ID) SEQ_ID,
        apex_item.CHECKBOX(2, c001, 'UNCHECKED') CHKBX,
        apex_item.DISPLAY_AND_SAVE(3, c002) ID,
        apex_item.TEXT(4, c003, 3, 3) DOC_ORDER,
        apex_item.DISPLAY_AND_SAVE(5, c004) DOC_PKG_ID,
        apex_item.DISPLAY_AND_SAVE(6, c005) DOC_TYPE_ID,
        apex_item.DISPLAY_AND_SAVE(7, c006) DOC_TYPE_NM
      from APEX_COLLECTIONS
     where COLLECTION_NAME = 'DOCWIZ_CHKLST'
    Area to the right (complete list of topics already in the package possibilities)

    (On the process of loading Page (before header) -: P182_PKG_ID is passed as input)
    --Prep collection
    ---------------------------------------------
    apex_collection.create_or_truncate_collection
      (p_collection_name => 'DOCWIZ_TYPLST');
    
    declare
      v_lnid      NUMBER;
      v_ordr      NUMBER;
      v_pkg       NUMBER;
      v_type      NUMBER;
      v_typenm    VARCHAR2(47);
      cursor c_prepop is
        select 0, 0, :P182_PKG_ID, t.DOC_TYPE_ID, t.DOC_TYPE_NM
          from DOC_TYPE t
         where t.DOC_TYPE_ID not in (select DOC_TYPE_ID from DOC_ASSIGN
                where DOC_PKG_ID = :P182_PKG_ID)
           and t.DOC_TYPE_ID > 0;
    begin
      OPEN c_prepop;
        LOOP
          FETCH c_prepop into v_lnid, v_ordr, v_pkg, v_type, v_typenm;
          EXIT WHEN c_prepop%NOTFOUND;
          APEX_COLLECTION.ADD_MEMBER(
              p_collection_name => 'DOCWIZ_TYPLST',
              p_c001 => 0,          --CHKBX
              p_c002 => v_lnid,     --ID
              p_c003 => v_ordr,     --DOC_ORDER
              p_c004 => v_pkg,      --DOC_PKG_ID
              p_c005 => v_type,     --DOC_TYPE_ID
              p_c006 => v_typenm    --DOC_TYPE_NM
           );
        END LOOP;
      CLOSE c_prepop;
    end;
    Report area (column 2)
    SELECT apex_item.DISPLAY_AND_SAVE(1, SEQ_ID) SEQ_ID,
        apex_item.CHECKBOX(2, c001, 'UNCHECKED') CHKBX,
        apex_item.DISPLAY_AND_SAVE(3, c002) ID,
        apex_item.TEXT(4, c003, 3, 3) DOC_ORDER,
        apex_item.DISPLAY_AND_SAVE(5, c004) DOC_PKG_ID,
        apex_item.DISPLAY_AND_SAVE(6, c005) DOC_TYPE_ID,
        apex_item.DISPLAY_AND_SAVE(7, c006) DOC_TYPE_NM
      from APEX_COLLECTIONS
     where COLLECTION_NAME = 'DOCWIZ_TYPLST';
    Process - before validation page:
     Update Collection
    ---------------------------------------------
    declare
      i pls_integer := 0;
    begin
      for c1 in (
        select seq_id from apex_collections
         where collection_name = 'DOCWIZ_CHKLST'
         order by seq_id) loop
        i := i+1;
        --CHKBX
        apex_collection.update_member_attribute (p_collection_name=> 'DOCWIZ_CHKLST',
            p_seq=> c1.seq_id,p_attr_number =>1,p_attr_value=>wwv_flow.g_f02(i));
        --DOC_ORDER
        apex_collection.update_member_attribute (p_collection_name=> 'DOCWIZ_CHKLST',
            p_seq=> c1.seq_id,p_attr_number =>3,p_attr_value=>wwv_flow.g_f04(i));
      end loop;
    end;
    If anyone has a better way of doing things, I'm ready for it. The standard tabular forms appear not to be the right thing, because there will be TWO shapes on the page, that's why I went with a collection.

    Hello

    I just have a quick look and see what you're trying to do.

    One thing, you might want to consider, is that you use to identify each item (those who become G_F01, G_F02 etc.), index numbers can be any number you like up to a maximum of 50. So, your region on the left could use numbers from 1 to 25 and those rights could use 26 to 50 - little matter if there are gaps in the numbers.

    I'm actually about to close for the day because he went from 19:00 here now, so can't not consider this news right now - but if the above does not do, just update the thread and I'll have another look tomorrow.

    Andy

Maybe you are looking for