Understanding the internal operation of creating a record group

Hi gurus,
When record group is created, if the query has a lot of records generated , does the form actually retrieve all the data from database in the record group when get_group_xxx function is called or there is also buffering like we do execute query from a base table block where only a set of data being buffered is retrieved from db.
The concerns is that whether the memory will increase exponentially if the data retrieve from record group is huge.

The group is not populated when you create it. However, when you issue the populate_group command, it does indeed retrieve all the records into memory. So it is not a good idea to use a record group if you will retrieve more than a few thousand rows.

Similar Messages

  • Call the webdynpro appl while creating one record using itemDetail iView

    Dear Expert,
    I have one scenario where in the user want to create one record in MDM table using itemDetai iView. When the user clicks on one custom button in this itemDetais iView say validate one webdynpro applicatio should be called and this applicaiton should  validate the user input depending on business requirement.
    Thanks and Regards,
    M.D.Sahu

    thanks John for your valuable input.
    In my requirement user don't want to touch the MDM repository or don't want the serve side eventing. After giving the user input in Item detail Iview the user will click on Validate button and one WDJ applicaiotn should be called to validate the users input. Please guide me in achieving this result.
    Thanks in advance.
    Regards,
    M.D.Sahu

  • Dynamically creating a Record Group based on Previously entered Record Grou

    Forms [32 Bit] Version 10.1.2.3.0 (Production)
    Hi,
    I know how to dynamically create a record group based on a query and putting the code in When new form instance.
    My query is. I have a form which has multiple Record Groups and the user wants to dynamically create subsequent groups based on previous groups.
    For example
    I have a record group with selects a Location,
    when the user selects the Location from a list of values
    the 2nd record group called 'Cost Centres' will have to filter out only those with the locations selected above.
    How can I populate the 2nd record group at run-time when I do not know what site the user will select?
    If I simply populate in when new form instance as in location and just select everything, the list of values populates.
    CC field is a LIST ITEM and the list style is a POP LIST, it is not required.
    I have put the code in the Location field in the when-list-changed trigger.
    I am getting this error:
    frm-41337: cannot populate the list from the record group
    here is the code:
    DECLARE
    v_recsql Varchar2(1000); -- The SQL for creating the Record Group.
    v_recgrp RecordGroup; -- Record Group
    v_status Number; -- Return Value of Populate_Group function.
    c_where VARCHAR2(1000);
    BEGIN
         IF :location = '1' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''02'')';
         ELSIF :location  = '2' THEN
              c_where := ' substr(cost_centre,1,2) in (''02'',''03'')';
         ELSIF :location   = '3' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''11'',''07'')';
                   ELSE
              c_where :=  ' 1=1'; --EVERYTHING
         END IF;
    v_recsql := 'SELECT cost_centre, description  FROM   cost_centres  where '||c_where;
    -- Create the Record Group
    v_recgrp := CREATE_GROUP_FROM_QUERY('v_recgrp', v_recsql);
    IF NOT ID_NULL(v_recgrp)
    THEN -- No Error, record group has been successfully created.
    -- Populate Record Group
    v_status := POPULATE_GROUP('v_recgrp');
    IF v_status = 0
    THEN -- No Error. Record Group has been Populated.
    POPULATE_LIST('block.CC', 'v_recgrp');
    END IF; -- IF v_status = 0
    -- Delete the Record Group as it is no longer needed.
    DELETE_GROUP('v_recgrp');
    END IF; -- IF NOT ID_NULL(v_recgrp)
    END;thanks for your assistance.

    Hi,
    Once record status gets change for block you can not populate/repopulate the list item. Keep those list items as non-database item with different names and create different items as database orignal items. Than assign the values in WHEN-LIST-CHANGE trigger to the actual database items.
    -Ammad

  • How to create Static Record group in Oracle Forms??

    Dear All,
    I have the following values V1,V2 to be placed in my list item field during DML operations.
    I have an example to create the record group based on the table; whereas i have never tried for static value creation.
    Could you please guide me how can i acheive this.?
    Thanks ....
    Regards,
    Sunil.G

    Thanks dhivya for your reply.
    Actually what happens is; when i use the same methodology as you mentioned, it is asking me to set the Initial value.
    Whereas in my applications; user has to manually select any of the values i.e eithe V1 or V2 for the first time.
    Moreover i have found the query:-
    I have created a static record group RG_VERSIONS i.e creating a new record group with the static values mentioning the "Column names " as "Version_label" which i have given the column values as "V1" and "V2" and then another column name as "Version_value" with the column values as "V1" and "V2".
    Then i used the below query in the WHEN-NEW-FORM-INSTANCE trigger:-
    PROCEDURE p_when_new_form_instance
    IS
    l_rg_id recordgroup;
    l_item_id item;
    BEGIN
    --Populating value for  Version Type based on static record group
    l_rg_id := FIND_GROUP ('RG_VERSION');
    IF NOT ID_NULL (l_rg_id)
    THEN
    l_item_id := FIND_ITEM ('BLOCKNAME.COLUMN_NAME');
    POPULATE_LIST (l_item_id, l_rg_id);
    END IF;
    END p_when_new_form_instance;
    Then it was working fine.
    Thanks for your time.
    Regards,
    Sunil.G
    Edited by: Sunil G on Jun 27, 2010 6:00 AM

  • Creating a record group not via select statement

    Normally a record group is created via a select statement
    (f.e. Querystr='Select deptno,dname from dept
    populate_group_with_query( GroupId, QueryStr )
    Is it possible to create it via a package procedure sending a
    refcursor / array

    FIND_GROUP(groupname);
    CREATE_GROUP_FROM_QUERY(groupname, qry);
    POPULATE_GROUP_WITH_QUERY(rgid, qry);
    Add_Group_Column(...);
    Add_Group_Row(...);

  • Stopping the down key from creating a record

    hey, basically what the title says, i have put:
    if :system.last_record = 'true'
         then null;
    else next_record;
    into the KEY-DOWN trigger, hoping that when the cursor got to the last record and the user pressed down it would not then proceed to create a new record. However this does not seem to work, anyone any suggestions on how I could acheive the desired result. Possible just change the 'then' part of my code?
    Ty.

    try this on KEY-DOWN trigger at form level
    IF :SYSTEM.LAST_RECORD = 'TRUE'
    THEN     
         MESSAGE('You are at the last record.');
    ELSE     
         DOWN;
    END IF;

  • How to get all the Record Groups?

    in the form i had created a record group. let us say they are:
      RG_APPR_TYPE_CDE_LIST
      RG_DRV_APPR_TYPE_CDE_LIST
      RG_PROJ_MODE_CDE_LIST
      RG_DRV_PROJ_MODE_CDE_LIST
      RG_PROJ_STATUS_CDE_LIST
      RG_DRV_PROJ_STATUS_CDE_LIST
      RG_ORG_SUB_TYPE_CDE_LIST
      RG_DRV_ORG_SUB_TYPE_CDE_LIST
      RG_REGION_NUM_LIST
      RG_DRV_REGION_NUM_LISTwhen the form hits on the clear button it invoke the CLEAR_FORM. i want to get all the record groups dynmically so i won't have to explicitly call the
      Delete_Group('RG_APPR_TYPE_CDE_LIST');
      Delete_Group('RG_DRV_APPR_TYPE_CDE_LIST');
      Delete_Group('RG_PROJ_MODE_CDE_LIST');
      ...one by one. is there any other workaround? i appreciate any help on this. thanks.

    is there any other workaroundNo.

  • Creating "A" record in Cisco 1841

    Hello All,
    We are using Cisco 1841 router. Our requirement is to configure "A" record in the router i.e. we wanted this router to act as a Primary DNS server.
    I can bit explain the scenario.
    We have connected Internet Lease line ILL to this router with a static ip assigned to it. We  have a domain name registered say e.g. www.xyz.com at www.namecheap.com. We wanted to host the web server inside our office network for our website. We did the necessary changes at www.namecheap.com to the domain www.xyz.com pointing it to our static ip. But we are not able to ping or browse the domain www.xyz.com and we contacted www.namecheap.com technical support and they informed us that we need to create a "A" record where ever the web server is hosted.
    I tried to search the internet and i couldn't able to find the necessary online resources for creating "A" record in the router for the domain name. But i could find the below link for creating soa record http://blog.ipspace.net/2006/09/use-your-cisco-router-as-primary-dns.html and created a namesever entries like ns1.xyz.com
    But this doesn't create "A" record
    Any assistance would be really helpful.
    Thanks
    Sundar

    Dear Daniele,
    Thanks for your reply.
    You solution worked great for me.
    We are able to ping the domain name.
    Now we are facing another problem in reaching our web server. I will explain it below.
    1. When i type the domain name in the browser we are getting a authentication popup asking for username & password, the popup says "a username and password are being requested by says level_15_access ..."
    2. I provided the router username & password it redirect to the following link http://www.sitename.com/archive/flash:home/html/home_aux.shtml. and load the SDM (Cisco router and security device manager) page.
    NOTE: we have installed Cisco SDM.
    What i wanted is, the site should reach our website hosted in our IIS server inside the network. The IIS server has an local IP address 192.168.1.x and the router gateway has a IP address 192.168.1.y
    Any assistance would be really helpful.
    Thanks
    Sundar

  • Can I use the internal airport card of my Mac as a BRIDGE?

    * My Mac is part of my home network.
    * My wired Router provides NAT addressing for all wired computers and printers.
    Question:
    Can I use the internal airport card of my Mac as a BRIDGE?
    I am able to create a second LAN where the internal airport card, creates it's own network, but then the wireless computers are not on the same network as the wired.
    If using an Airport Express, there is an option you can uncheck "assign IP address" that turns it into a bridge.... Is there anything similar with os X 10.4.3

    answered in another thread

  • Dynamic action to create ESI record

    Friends
    I am using the following code to create ESI record in infotype 588 in Dynamic actions and working for a single payroll area.
    0001
    04
    862
    P
    T001P-MOLGA='40'
    0001
    04
    863
    P
    PSPAR-MASSN='S1'
    0001
    04
    864
    P
    P0001-ABKRS='P3'
    0001
    04
    865
    P
    P0001-PERSK='W0'
    0001
    04
    866
    F
    GET_DATE(HBRDYNMS)
    0001
    04
    867
    I
    INS,0588,0001,,(P0000-BEGDA),(P0000-ENDDA)/D
    My requirement is PERSK is same for various payroll areas, hence don't want to create separate codes.
    I am trying to insert multiple payroll areas in line no. 864 with the following code
    0001       04 864 P0001-ABKRS = 'P1' OR P0001-ABKRS = 'P3' OR P0001-ABKRS = 'P5'/X
    But the record is not getting created.
    Pl. help to use multiple payroll area option.
    regards
    Raghuram R

    If you are useing for multiple area please use the below
    6
    1
    P
    P0001-ABKRS='XX' /X
    6
    2
    P
    P0001-ABKRS= 'XX' /X
    you shoduld use all the payroll areas with /X which say if payroll X or Y but not only or after X.

  • Can I know the name, type, total number of column in Record Group?

    I created a record group with query dynamically.
    And then populated it.
    I don't know the column' count, type, name befause I get the query from user at runtime.
    Can I know the name, type, total number of column in Record Group?

    Unfortunately, there is no way to query the record group (RG) to get the metadata you are looking for. RGs are best used as data sources to an LOV or List Item rather than as an Array to hold the resultset of a dynamic query. For this, I would recommend you use a Collection type of construct (PL/SQL Table of Records, VArray, etc).
    Craig...

  • To create new time recording groups & thier assignment

    Hi All,
    How to create Time recording groups. Also I want to assing the time recording groups to respective users.
    Can any one help me in this?  Whats the IMG path to create these time recording groups?
    Please help. points assured
    Thanks & reagrds,
    Nithi

    Hi Devi,
    Thanks for your answer. We can assign the administrator in IT0001.
    However my requirement is  - there are two users will have access to time recording group IA1 (which will be assigned in IT0001)
    However two users should be able to appove time for all 5 new time recording groups. How can we to this?
    Can you please help.
    thanks
    Nithi

  • SOMEBODY HELP ME WITH A RECORD GROUP URGENT !

    I HAVE THE NEXT ERROR 'UNHANDLED ERROR IN ICRG 102' IN ORACLE FORMS 5.0 WHEN I CREATE A RECORD GROUP WITH THE SENTENCE 'select nombres, to_char(ficha) from abogados order by nombres ' where nombres is data type VARCHAR2 and ficha is NUMBER. TOO I GOT IT THE SAME ERROR WHEN I CREATED A PROCEDURE WITH THE NEXT CODE:
    PROCEDURE Populate_The_List(list_id VARCHAR2, sql_stat VARCHAR2) IS
    group_id RecordGroup;
    outcome NUMBER;
    BEGIN
    --Create temporary record group.
    group_id := CREATE_GROUP_FROM_QUERY('List_Elements', sql_stat);
    IF ID_NULL(group_id) THEN
    MESSAGE('Record Group could not be created in Populate_the_List.');
    RAISE FORM_TRIGGER_FAILURE;
    END IF;
    --Populate record group.
    outcome := POPULATE_GROUP(group_id);
    IF outcome <> 0 THEN
    MESSAGE('Record Group could not be populated in Populate_the_List.');
    RAISE FORM_TRIGGER_FAILURE;
    END IF;
    --Populate list item
    POPULATE_LIST(list_id, group_id);
    --Destroy the temporary record group to release resources
    DELETE_GROUP(group_id);
    EXCEPTION
    WHEN OTHERS THEN
    MESSAGE('Internal error occurred in Populate_the_List.');
    RAISE FORM_TRIGGER_FAILURE;
    END Populate_the_List;
    ANYBODY CAN HELP ME WITH THE SOLUTION
    ATTE: ROBERTO
    SORRY FOR MY ENGLISH

    Hi Roberto,
    I don't understand your message!
    What do you did?
    bye Roxane
    --thanks Roxane I did'it, but there is where jump the message
    --the error, do you have other solution.
    --Sorry
    --Roberto                                                                                                                                                                                                                                                                                                                                                                                                                                                

  • Creation of Record Group and LOV at run time

    Hello All,
    I have been stuck by this...I have two text items on which LOVs have been placed.Selection of one depends on selection of other.I can dynamically create a record group but how to create a LOV dynamically to populate it with the dynamic record group been created.
    For more visualization consider that filtering of data takes place in one lOV based on the other LOV been provided.
    Revert ASAP...
    Thanks and Regards,
    Kapil Uppal

    I don't think you can create a LOV dynamically, but you can repopulate a pre-existing one, which should allow you to achieve the same goal.

  • How to populate a poplist through a record group?

    Dear People,
    I use forms along with 10g.I have create a record group RG9 with query SELECT DNAME FROM DEPT;.now how to populate it to a list item?.i tried it using a the following code in When_new_form_instance trigger.The code is as follows,
    declare
    a number;
    begin
         a:=populate_group('RG9');
                   add_list_element('block3.list6',1,a,a);
    end;It doesnt throw me any error.but unable to populate data into the list. pls do help me to make corrections in the above code.
    With Regards
    VIDS

    SELECT DNAME,TO_CHAR(DEPTNO) FROM DEPT;This is the format of the query required to populate a list item,
    where the first column value is the one that appears in the list of values
    and the second column value is the one that will get saved in the database or that will be the value of the list item.
    Just try using follwoing in WHEN-VALIDATE-ITEM trigger for list6
    message (:block3.list6)
    The message will be deptno and not the dname
    now values has been populated in the list.but can u explain me whats wrong with my previous query?
    SELECT DNAME FROM DEPT;why dint it help me to pop values in the list?.This query has just one column not as required.
    Hope its clear.

Maybe you are looking for