Record group in the CUSTOM.pll lib...
Hi,
According to the Developer's Guide (page 28-3) ...
"You cannot use any SQL in the library. However, *you can use a record group to issue SELECT statements*, and .....".
Is there any example, document showing this approach...????
Note: I use EBS 11.5.10.2
Thank you,
Sim
Hi ashok:
Please check below and see its helpful:
HOW TO DELETE OR ADD COLUMN NAMES FROM AN LOV COLUMN MAPPING [ID 1064257.6]
http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10497/frm_tabular.htm
Also please check:
FAQ For Oracle Quality Application for Setup, Charts and Reports, and General Questons [ID 395807.1]
Regard
Helios
Similar Messages
-
Can we change the Record Group Type through Custom.pll
Hello All,
I have a small requirement on Changing the Record Group Dynamically.
Can i set the Record group type to 'Query' from 'Static'. i.e Can i change the Record group type dynamically through custom.pll. I know that we can dynamically change the Record group query.
Please help me its a bit urgent.
Thanks inadvance,
Amarnadh Jsyou can control your record group runtime without create any recordgroup at design time..
1.static group
declare
rg_name VARCHAR2 (40) := 'Global_Rgp_Menu'; --global record group name for menu use
rg_id recordgroup; --global record group id
gc_id groupcolumn; --global record group coulmn id
errcode NUMBER; --error code
grp_row PLS_INTEGER := 0; --global record group row count
begin
rg_id := FIND_GROUP (rg_name);
IF NOT ID_NULL (rg_id)
THEN
DELETE_GROUP_ROW (rg_id, all_rows);
ELSE
rg_id := CREATE_GROUP (rg_name, global_scope);
gc_id := ADD_GROUP_COLUMN (rg_id, 'menu_item', char_column, 100);
gc_id := ADD_GROUP_COLUMN (rg_id, 'p_type', char_column, 100);
gc_id := ADD_GROUP_COLUMN (rg_id, 'p_no', char_column, 100);
END IF;
grp_row := 0;
for 1 in 1..10 loop
grp_row := grp_row + 1;
ADD_GROUP_ROW (rg_id, grp_row);
SET_GROUP_CHAR_CELL (rg_name || '.menu_item', grp_row, 'menu' || to_char(i) );
/*type*/
SET_GROUP_CHAR_CELL (rg_name || '.p_type', grp_row, 'type' || to_char(i) );
/*program_no */
SET_GROUP_CHAR_CELL (rg_name || '.p_no', grp_row, 'programno' || to_char(i) );
end loop;
end;
2. query group
declare
FACT_SQL VARCHAR2(500) :=NULL;
rg_name1 VARCHAR2(40) := 'Global_Rgp_fact';
rg_id1 RecordGroup;
Error_Flag number:=0;
group_error exception;
begin
rg_id1 := Find_Group( rg_name1 ); IF NOT Id_Null(rg_id1) THEN Delete_Group( rg_id1 ); END IF;
FACT_SQL := ' SELECT * FROM MYFACTORY ' ;
rg_id1 := Create_Group_From_Query( rg_name1,FACT_SQL ,global_scope);
Error_Flag := POPULATE_GROUP(rg_id1);
IF Error_Flag <>0 THEN
error_msg:='Error while populating factory group';
raise group_error;
END IF;
exception
when group_error then
message(error_msg);
raise;
end;Edited by: nolemlin on 2010/3/23 上午 7:50 -
Dynamically populate a record group on the fly uisng LOV
Hi,
I want to create dynamically populate a record group on the fly uisng LOV.
1. This is how the RG_BANKNAME Record Group object look like
Object : Record Group
Name : RG_BANKNAME
Record Group Query : SELECT NAME, SHORT_NAME FROM C_BANKS
2. I create the Push Button and when user click it will popup the LOV.
DECLARE
rg_id RecordGroup;
errcode NUMBER;
status BOOLEAN;
BEGIN
rg_id := Find_Group('RG_BANKNAME');
IF Id_Null(rg_id) THEN
Message('No such group: ',ACKNOWLEDGE);
RAISE Form_Trigger_Failure;
ELSE
errcode :=POPULATE_GROUP(rg_id);
SET_LOV_PROPERTY('LV_NAME', TITLE, 'My Own LOV');
SET_LOV_PROPERTY('LV_NAME', GROUP_NAME, rg_id);
SET_LOV_COLUMN_PROPERTY('LV_NAME', 1 ,Title, 'NAME');
SET_LOV_COLUMN_PROPERTY('LV_NAME', 1 ,Width, 150);
SET_LOV_COLUMN_PROPERTY('LV_NAME', 2 ,Title, 'SHORT NAME');
SET_LOV_COLUMN_PROPERTY('LV_NAME', 2 ,Width, 100);
status := Show_LOV('LV_NAME',10,20);
IF NOT status THEN
Message('You have not selected a value.');
Bell;
END IF;
END IF;
END;
My question is do I need to create the LOV Object name call 'LV_NAME'? since I don't have this
create on my design times, because I thought it can be done dynamically on the fly.
The problem is compliant that the Lov Id is not valid.
Thanks
David
Edited by: user445990 on May 24, 2011 9:19 PMHello,
You request is not clear. Do you need to display the LOV or not ? In other words, what is the goal of your record group ?
Francois -
Calling an PC-Application from the CUSTOM.PLL
We are moving from Oracle Financials 10.7 (Smart Client) to Oracle Financials 11.3
In Oracle Financials 10.7 we call a PC-Application from within the CUSTOM.PLL
Can anyone tell me if this is still possible in 11.3 when the forms are running on a formsserver and not on the PC anymore.If "outside of network" is over NAT (for example from Internet) you can access to Apex.
1. You can set public IP for your APEX server and call http://public_ip:PORT/apex/
2. You can redirect port on your router. (if call on 8080 redirect to -> local ip and port
Also you have to open remote access:
exec dbms_xdb.setListenerLocalAccess
(l_access => FALSE); -
Passing record group to the report...
Hi
I am using form 6i ..
I have got error while passing record group to the report
Here is the code... , I Wrote it when_button_pressed trigger
declare
pl_id paramlist;
begin
pl_id := Get_Parameter_List('tmpdata');
IF NOT ID_NULL(pl_id) then
destroy_parameter_list(pl_id);
end if;
pl_id:=create_parameter_list('tmpdata');
ADD_PARAMETER(pl_id,'NICE_QUERY',DATA_PARAMETER,'NICE_REC' );
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
RUN_PRODUCT(REPORTS,'E:\DEPT',SYNCHRONOUS,RUNTIME,FILESYSTEM,PL_ID);
The error is frm-47012 There is no record group with this name nice_rec......
ThanksThe error message (FRM-47012) is very specific. Do you have a Record Group defined in the Record Group Node of the Navigator called 'NICE_REC'?
Hope this helps.
Craig...
-- If my response or the response of another is helpful or answers your question, please mark the response accordingly. Thanks! -
Account group in the customer master record.
Hi .
Why we have to use the ACCOUT GROUP For customer.
Account group differs for sold to party, ship to party, bill to party and payer.
but when we create a sales order if we enter the sold to party automatically the ship ,bill and payer will be taken by the system.
can any one give me the sufficient solution for this.
thanks
Devi Reddy
Edited by: bareddy devi on Aug 1, 2008 5:58 PMHi,
For customer creation ACCOUNT GROUP plays a vital role.
Based on this Account Group only, concerned Fields will be activated. Thats why, when we create a Sold to pary it will ask for much information in all the tabs, where as, for ship to, bill to and payer all these fields are not required.
using the path : IMG -> Logistics General -> Business Partners -> Customer -> Control -> Define Transaction Dependent Screen Layout -> double click on Create Customer (sales)
here you can activate or make mandatory or optional all the fileds which are available in different tabs of the customer master.
And This you can do based on account groups also
Goto T.Code OBD2, select the account group (say 0001 sold to) and you can activate make which are all the fileds required for that customer. Like this you can do for all the account groups, so whenever u create the customer master based on that account group only those fileds will be asked by system.
For sold to party, we require all the info like sales, shipment, billing and parnter funtion. But for ship to you need only shiping data, for bill to you need only billing data, for payer you need billing also. for all these general data is required.
And where as for your second query, when you create a sales order automatically ship to, payer , bill to will come automatically based on what you maintaine in the sold to customer master. By default when you create a sold to, partner functions will be taken as the same for ship to, bill to , payer. Then you have to create different customers using account groups shipto, bill to and payer and those customer numbers you maintain in the sold to customer master -> Sales Area data -> partner functions.
Then whenever you create the sales order, differnt customer will be picked based on that data.
Hope this is clear.
Thanks
Praveen -
Checking the status of task records tied to the custom object 3
We are using custom object 3
There has been lot of configuration work done on this object.
There is a checkbox on the UI. When a user will checks off the check box, a task record(s) is created depending on the condition.
Is there a way for me to check the status on the task records and then set a field on the parent record i.e. custom object 3.
Thanks,
NitikaTo whom are you speaking?
-
Changing Account group to the customer
Hi Guru's,
I have an customer 70001 in account group Z001 Sold to party, and the same customer having some open items, now i need to change it to some other account group (Z006) its also same sold to party, if i can change the account group from Z001 to Z006 what would be the impact.
Thanks and regards,
DIlHi
Go through this link about changing Account Group.
http://help.sap.com/saphelp_470/helpdata/en/dd/55f4ba545a11d1a7020000e829fd11/content.htm
Regards
Madhu -
Hiding some level of grouping when the custom field is empty at Project Center
Hi:
I group some custom fields at the Project Center (portfolio/programs/subprograms), but some on this are empty (see the image). I want to eliminate this fields (subprograms; subprogramas in the image), but next level (the projects) must continue to be visible.
Is it possible?
Thanks
PabloYour interpretation is right. But in real life is usual that exists projects part of a program but that don't have a subprogram assigned (see for example the PMBOK for the concept, i.e. unbalanced tree of programs/subprograms/projects). Again,
it seems to me that MS PPM 2013 is a project server tool enhanced but not a REAL portfolio tool. I wonder why Gartner put it in it's first magic quadrant ?
Thanks again for you kindness.
Pablo
Montevideo, Uruguay
South America -
Setting the update property of the row of a records group to false IN ORACL
hello
i have to populate a records group with the previous records user had entered as well as enable the user to enter new record in that RECORD GROUP IN ORACLE 6I FORMS.
I want that previous record that user had entered caN NOT BE EDIT .USER CAN SEE THESE RECORDS ONLY AND ACCORDINGLY ADD NEW RECORDS IN SAME RECORD GROUP.
PL TELL ME HOW TO DO THIS.
THANKS & REGARDS
VISHAL AGRAWALI also try for which u mentioned earlier but it is like selectting individual records to display in my tablular record group.
we are using following code for fetching data and displaying it into records group and also making all fetched record disabled.
code is given below :
PROCEDURE fetchdata(mf char) IS
cursor c1 is select dateofmtrl,rm1,rm2,rm3 from rawmtrl_graph
where
dateofmtrl between TO_DATE(TO_CHAR(ADD_MONTHS(SYSDATE, 0),'YYYYMM'),'YYYYMM') and
TO_DATE(TO_CHAR(ADD_MONTHS(SYSDATE, + 1),'YYYYMM'),'YYYYMM') - 1 and
mtrl_flag = mf
order by dateofmtrl ;
r1 c1%rowtype;
lstrec number;
cnt number :=1;
BEGIN
go_block('dtl');
last_record;
lstrec:=:system.cursor_record;
for ctr in 1..lstrec
loop
delete_record;
end loop;
first_record;
open c1;
loop
fetch c1 into r1;
exit when c1%notfound;
if :dtl.date1 is not null then
next_record;
end if;
:dtl.date1:=r1.dateofmtrl;
:dtl.opc:=r1.rm1;
:dtl.ppc:=r1.rm1;
:dtl.total:=r1.rm1;
end loop;
close c1;
last_record;
lstrec:=:system.cursor_record;
first_record;
for ctr in 1..lstrec
loop
SET_record_PROPERTY(:system.cursor_record,'dtl',ENABLED,PROPERTY_FALSE);
SET_RECORD_PROPERTY(:SYSTEM.CURSOR_RECORD, 'dtl',UPDATE_ALLOWED,PROPERTY_FALSE);
SET_RECORD_PROPERTY(:SYSTEM.CURSOR_RECORD, 'dtl',insert_allowed,PROPERTY_FALSE)
next_record;
end loop;
first_record;
END;
But it is not working...
givinng the erros that no such property for set_record_property
pl tell me how to modify the code to disable some selected raws in a record group............ -
1. The procedure called by CUSTOM.pll causes the problem when we use f60gen
When CUSTOM.pll contains a call to a package that in turn calls a remote package, the CUSTOM.pll compile hangs forever.
1. The procedure called by CUSTOM.pll causes the problem when we use f60gen. Though same procedure compiles successfully using "alter procedure compile" command.
2. We have observed the problem happens due to synonym present on the remote database(db link).
It doesn’t work if you are calling SYNONYM on remote database. It works, for calls to tables or procedures or packages in remote database if that object is OWNED DIRECTLY by the account to which dblink is connecting to.
select object_name, object_type from user_objects@NH_SCM_ICE.DB.ATT.COM ;
OBJECT_NAME OBJECT_TYPE
FA_LOCATIONS SYNONYM
FND_FLEX_VALUES SYNONYMThe database link is created under the APPS user in the local database but connects to a different user (SWCS_ICE_SUPCHAIN) in the remote database.
The user in the remote database does not own any objects. It only has synonyms to objects owned by apps and others.
Incidentally, the hang also happens when trying to describe the remote package from the application tier (8.0.6.3 sqlplus) but the describe works fine from the DB tier (10gR2 sqlplus). -
Unable to find the custom code in custom.pll
Hi,
I have an issue in forms.
When we are trying to change any fields in the financial options form in payables, it is gving the following error:
'FRM-40735 ON-ERROR trigger raised unhandled exception ORA-06508.'
So this is because of customization. When we are switching off the custom code, the error doesnot occur.
But there is no code written for this form in the custom.pll and there is no personalisation done on the form.
Please help.Hi Srini,
The issue has been resolved.
The cause for this issue was the size of the assignment variables used to store the form name, block name, item name.
Even though there is no code written for this form, every time any form is opened, the Custom.pll is scanned to check if there is any cirresponding code.
While doing this the form name or block or item name is stored in a variable which is then used for further processing. So our code was throwing exception because the variable couldnot hold the item value.
Thanks for all your help. -
Standard LOV Customization through CUSTOM.pll HELP
Hello,
I am currently trying to override the LOV dropdown of an Oracle 11.5.10 form using the custom.pll. The example I am using is as follows:
procedure event(event_name varchar2) is
form_name varchar2(30) := name_in('system.current_form'); --added by Nazir
block_name varchar2(30) := name_in('system.cursor_block'); --added by Nazir
item_name varchar2(100) := name_in('system.current_item');
v_sql varchar2(5000);
result Number;
rec_id RecordGroup;
v_login_company VARCHAR2(50);
begin
if(event_name = 'WHEN-NEW-ITEM-INSTANCE') then
if (form_name = 'ARXTWMAI' and block_name = 'TGW_HEADER') then
if( item_name = 'CTT_TYPE_NAME_MIR') then
v_login_company := fnd_profile.value('LN_LOGIN_COMPANY');
if (v_login_company = '0000') then
fnd_message.set_string('Please enter description'); Testing fnd message. This works fine. Message displayed.
--fnd_message.show;
v_sql := 'select ctt.cust_trx_type_id cust_trx_type_id, ctt.name name, ctt.description description, ctt.type class, arl_class.meaning class_meaning, ctt.accounting_affect_flag open_receivables_flag, ctt.post_to_gl post_to_gl_flag, ctt.allow_freight_flag allow_freight_flag' ||
',ctt.creation_sign creation_sign, ctt.allow_overapplication_flag allow_overapplication_flag, ctt.natural_application_only_flag natural_application_only_flag, ctt.tax_calculation_flag tax_calculation_flag, arl_status.meaning default_status' ||
',arl_print.meaning default_printing_option, rat.name default_term from ar_lookups arl_print, ar_lookups arl_status, ar_lookups arl_class, ra_terms rat, ra_cust_trx_types ctt ' ||
'where '||''''||'INVOICE_PRINT_OPTIONS'||'''' || '= arl_print.lookup_type ' ||
' and ctt.default_printing_option = arl_print.lookup_code' ||
' and' || ''''||'INVOICE_TRX_STATUS'||'''' ||'= arl_status.lookup_type' ||
' and ctt.default_status = arl_status.lookup_code and ctt.default_term = rat.term_id(+) ' ||
' and' || ''''||'INV/CM'||'''' || '= arl_class.lookup_type ' ||
' and ctt.type = arl_class.lookup_code' ||
' and ctt.type in ( ' || '''' || 'DEP' || '''' || ',' || '''' || 'GUAR' || '''' || ',' || '''' || 'INV' || '''' || ',' || '''' || 'CM' || '''' || ',' || '''' || 'DM' || '''' || ')' ||
' and ( ctt.type not in (' || '''' || 'DEP' || '''' || ',' || '''' || 'GUAR' || '''' || ') or ctt.accounting_affect_flag =' || '''' || 'Y' || '''' || ')' ||
' order by ctt.name' ;
rec_id := CREATE_GROUP_FROM_QUERY( 'TRANS_TYPE_LNCUSTOM', v_sql );
result := POPULATE_GROUP(FIND_GROUP( 'TRANS_TYPE_LNCUSTOM'));
SET_LOV_PROPERTY('ARXTWTGW_TRANSACTION_TYPE', GROUP_NAME, 'TRANS_TYPE_LNCUSTOM' );
end if;
end if;
end if;
end if;
end event;
I am getting following errors:
FRM-41072: Cannot create group TRANS_TYPE_LNCUSTOM
I checked my query with DBMS outputs and then copy that output and ran it as a query in toad and it worked fine.
Has anyone done this before that could help me resolve the problem??
Thanks,
Nazir.Hello,
I figured out the problem and it works perfectly fine. Basically, it does create a record group but once I move out of the item and come back to the item, it was trying to create a record group with the same name again. So I had add an extra check in my statement:
if id_null('record group')
then only create the group;
Thanks Guys,
Nazir. -
FRM-40815: Form Error, using CUSTOM.pll
Hello,
I am trying to customize WIP Lot Transactions Oracle Standard Form using CUSTOM.pll.
Upon navigating to one of the 3 blocks in the form(RESULTING_LOT), I am getting following error message:
"FRM-40815: Variable GLOBAL.CLRREC_NOVALIDATE does not exist"
This global variable is not used in CUSTOM.pll at all. But is initialized and used in the standard form only.
When custom code is turned off, there is no error message.
Please advise.
Thanks,
Krishna.Hi,
Thanks for the response.
I have created a custom profile and attached it users and Profile value has the organization names.I want the User A with Org1 value in the profile to see all the GL Batches which is created by any other user who belongs to only Org1. Say another user User B with Org2 as the profile value should not see any GL batches created by any other user in the GL Journal Form belonging to other Org's.I'm able to restrict the batches using the below query using the personalizations in the Record Group for the Batch Name.But if the user doesnt give any search criteria and then selects Find then the main form displays all the batches. Hence I want to overide the Data Block where to display accordingly.
select a.name from gl_je_batches a
where 1=1
and a.created_by in (select b.user_id from
fnd_user b,
fnd_profile_option_values c,
fnd_profile_options d
where c.profile_option_id =d.profile_option_id
AND c.level_value = b.user_id
AND profile_option_name='KAP_USER_ORGANIZATION'
AND c.profile_option_value =(select profile_option_value
from fnd_profile_option_values e
where e.level_value =fnd_profile.value('USER_ID')
and profile_option_id=d.profile_option_id)
Thanks,
Ashwini. -
Error while compiling CUSTOM.PLL with frmcmp_batch
We have a strange issue here. One of the users is unable to compile custom.pll . He is getting the issue
PDE-PLI038 Cannot open file for use as a PL/SQL Library
This is the below file permission for the custom.pll
-rwxrwxrwx 1 applmgr oaa 20480 Apr 29 02:57 CUSTOM.pll
This is the one with custom developments in it.
This is user id
uid=114(ccankim) gid=1026(oaa)*
But when I as a applmgr user is able to compile the CUSTOM.pll successfully.
applmgr>frmcmp_batch module=CUSTOM.pll userid=apps/***** module_type=library
Forms 10.1 (Form Compiler) Version 10.1.2.3.0 (Production)
Forms 10.1 (Form Compiler): Release - Production
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
PL/SQL Version 10.1.0.5.0 (Production)
Oracle Procedure Builder V10.1.2.3.0 - Production
Oracle Virtual Graphics System Version 10.1.2.0.0 (Production)
Oracle Multimedia Version 10.1.2.0.2 (Production)
Oracle Tools Integration Version 10.1.2.0.2 (Production)
Oracle Tools Common Area Version 10.1.2.0.2
Oracle CORE 10.1.0.5.0 Production
Compiling library CUSTOM...
Compiling Package Spec CUSTOM......
Compiling Package Body CUSTOM......
Done.
Any idea Gurus...
EBS 12.1.3
UNIX HP-UX B.11.31 U ia64 4294967040 unlimited-user license
DB 11.2.0.2$ which frmcmp_batch
/p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
$ ll -ltr /p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
-rwxr-xr-x 1 applmgr oaa 22544380 Dec 21 12:17 /p01/app/applmgr/oappsp1/apps/tech_st/10.1.2/bin/frmcmp_batch
The user has execute permission.( because his user id belongs to group oaa which has execute permission)
Full 777 permission on the directory where this CUSTOM.pll exists.
The confusing part is, if the file would have been corrupted, it would not have been compiled successfully under applmgr user. So the doc id 1082077.1 as of now doesn't help a lot.
:(
Maybe you are looking for
-
How to use Change doc Function Module?
Fn mod:ZSUBTESTCHG_WRITE_DOCUMENT Import parameters Value OBJECTID ZSUBTESTCHG TCODE SE37 UTIME 00:00:00 UDATE 09.03.2009 USERNAME
-
Hi, I am a beginner in Hyperion. I created one sample form using custom dimension, but i cant able to input the values to the cell. Its in read only mode. Thanks, PC
-
LDB selection screen -Diff b/w Data selection / person selection period
Hi Experts, Want to know what is the difference between Data Selection Period Person Selection Period in the other period , in the selection screen of the LDB PNP. Thanx in Advance. Regards, IFF
-
Data Package is not consistent error
Hi All, We have a Bex issue the screenshot of which is given in the link below. We have an info cube which has huge data volume. We load it very frequently (every hour from 2 sources). This info cube has been loading from say last 5 years. We stopped
-
IPhoto undoes my manual album sort
Hi, after I had to rebuild my iPhoto library, there is now a behavior I've not seen before: After (spending much time) manually sorting folders and albums (albums chronologically inside folders), after closing and re-opening iPhoto, the sequence is m