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.Sahuthanks 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.GThanks 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 / arrayFIND_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
SundarDear 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.3answered 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 RIf 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,
NithiHi 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 ENGLISHHi 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 UppalI 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
VIDSSELECT 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
-
500 Internal Server Error running SRList.jsp from ADFBC_tutorial (OTN)
Hello! I am running through the JDeveloper totorial (ADFBC_tutorial) posted on OTN. I have gone as far as Chapter 5 but when I run the SRList.jsp page, I get the 500 Internal Server Error: I have had no issues running through the tutorial in the desi
-
Is it possible to use an external drive to play movies on my iPhone 5? I am going on a long flight and only have a 16gb iPhone 5. I will not have access to wifi, so it would have to connect manually. I've heard of apps that connect to an external
-
Oddly enough, after having installed the Flash player 9 on my 32 bits browser on Vista Ultimate 64, I get presented with a message, all sites that use Flash content, which tells me I need Flash player 6 or higher to view their content. I'm clueless t
-
I am trying to recreate my partners Matlab filter in Labview whereby a sine wave goes through a low pass filter. I am using a sinewave array as the input and am trying to impose the s-domain low-pass transfer function s/(1+sT) on the wave as is done
-
MORE ON TRYING TO IMPORT iTUNE to PC on "shared" machines
Thanks for Allan Parson. He has the same trouble too. The instructions in the Apple Help to go to the mythical "import" button are false! I will try the suggestion to download the desired music to a memory disk and transfer that way. Worried that the