LOV in forms 4.5
I am trying to create a LOV based on a record group with two columns. Problem is i can not controll the width of the coulumn in LOV.
I tried to adjust width in record group (coulumn specifications) as well as in LOV's coulumn mapping by entering the width, but it is not effecting and the first column is having large width.
let me know something can be done..
Thanks in advance
the usage notes by Oralce for column width...
Usage Notes
1 Set the Display Width property to the width in appropriate units (points, pixels, centimeters, inches, or characters as specified by the form's Coordinate System property) that you want Form Builder to reserve for the column in the LOV window. Column value truncation may occur if the Display Width is smaller than the width of the column value. To avoid this situation, increase the Display Width for the column.
2 To make the column a hidden column, set Display Width to 0. (You can specify a return item for a hidden column, just as you would for a displayed column.)
3 To add extra space between columns in the LOV window, set the Display Width wider than the column's default width. Note, however, that as an exception to this rule, you cannot increase the width between a NUMBER column and a non-NUMBER column by increasing the display width for the NUMBER column because LOVs display numbers right-justified. For example, assume that your LOV contains 3 columns: column 1 and 3 are type CHAR and column 2 is type NUMBER. To increase the width between each column, increase the Display Width for columns 1 and 3.
Good Luck.
Similar Messages
-
Hi Everybody,
I am making forms based on procedures in 9iAS Portal. I am using two parameters for the form. One is Item Code for which I am having a simple LOV with sql statement. Other LOV has a dynamic Sql statement which accepts the Item_code as parameter and displays records containing the item_code. When I run the Lov seperately through navigaror it runs properly but when I used the lov through form and passed the item_code to it, on runtime it says that the lov is based on dynamic sql and unable to show results.
Can anybody please help me out of this problem.
Thanks in advance
Warm Regards
Vivek BajajWhen I tried to compile the following code in Forms, the compiler error I got was Encountered the symbol "STMT_STR" when expecting one of the following: select. However, when I run it in SQLPlus, it creates the function without any errors.
FUNCTION my_func
return number
is
TYPE DiaryCurTyp IS REF CURSOR;
cur DiaryCurTyp;
stmt_str VARCHAR2(200);
dmonth NUMBER;
dday NUMBER;
BEGIN
stmt_str := 'SELECT dmonth, dday FROM p2_diary
WHERE dmonth = :1';
OPEN cur FOR stmt_str USING '12';
LOOP
FETCH cur INTO dmonth, dday;
EXIT WHEN cur%NOTFOUND;
-- <process data>
END LOOP;
CLOSE cur;
END; -
how to create a lov for a text item in forms personalization in release r12?
i created a record group with query but i dont know how to add a lov for that item.
Regards
SudharshanYou can attache a new record group to exisitng LOV and You can attach already exisiting LOV to a text item......but i don't think you can create a new LOV in forms personalizations..
and even when u add new record group to existing LOV...u cannot change number of columns or their names
CREATE_GROUP_FROM_QUERY (vrg_name_new, vlv_sql); to create new record group
SET_LOV_PROPERTY (---LOV NAME--- ,group_name ,---RECORD GROUP NAME-----); attach group to exisiting LOV
Set_Item_Property( ..., LOV_NAME, 'your lov'); attach exisiting LOV to an ITEM -
Guys,
I do have two fields of LOV types on my form
LOV attached to first field should display all the department. And second field should display all the employees assigned to the department selected in first field. Thats how I need dependent LOVs.. can you please guide me how it can be achieved.
Thanks
SunilHi Sunil
second field should display all the employees assigned to the department selected in first field. Thats how I need dependent LOVs.Here is an example...
Let's Suppose u have a rel between dept & emp table related with a FK called DEPT_NO that's what it should be
Now when u select the 1st Lov it will disploay the DEPT_NO of the dept u selected this DEPT_NO will be displayed on ur form or will be hidden it doesn't matter.
Now in the second LOV Record group u should write a similar select statment as follow...
SELECT EMP_NAME,... etc.
FROM EMP
WHERE DEPT_NO = :DEPT_NO ; Pls note that :DEPT_NO is the number of the department selected form the first lov in ur form, then all emp data will be displayed according to this DEPT_NO as ependent LOVs.
Another approach u should be aware and think about it...
u could u a drop down list dependent on one another specially if u don't have large number of departments in ur company.
Hope this helps...
Regards,
Amatu Allah. -
Addition of one column in LOV through Form Personalization
Hi
While approving a purchase order when we click on Forward check box the forward to field becomes enabled and it has the LOV containing employee names and employee numbers. I want to add another column in this LOV for employee positions through form personalization.
Can any one guide me how to do this.
RegardsHello,
To set another LOV, you should change the property of your combobox, named LOV_NAME with Forms perso, but you need some PL SQL code to create a new LOV.
See this example : [http://oracle.ittoolbox.com/groups/technical-functional/oracle-apps-l/custom-lov-using-custompll-883870]
One pre-requisite is that your new LOV should have the same number of rows and the same datatype, so I'm afraid you won't be able to do this just using Forms perso
Kind regards,
Xavier -
Problem in Changing the Query of LOV using Forms Personalisation
Hi all,
I have a problem while trying to change the LOV of job field in the people--> assignment form. I am trying to do through forms personalisation. I defined all the rquired fields:
Following are the description of fields Idescribed in the form Personalisation:
Trigger Event: WHEN-NEW-FORM-INSTANCE
in actions tab:
10-- Built In--Create Record Group With Query
11-Property----LOV
Target Object--JOBS
Property Name--GROUP_NAME
vALUE--jobs(rECORD gROUP NAME created above)
It is validated successfully,
but when trying to open the form it is giving an error 'cannot create record group jobs'..
Can anybody help me with this..
Thanks and Regards
RajI found that there is no problem with code. My problem is not technical, its a functional problem.
It is related to Inventory's "System Items" KFF.
Can anybody tell me, to this "System Items" KFF, one value set is assigned. but it is of none type of value set. so from where the values in LOV are coming? -
Creating dynamic LOV in form builder 6i
Hi All,
I am new to form builder.
I want to create dynamic lov, means
Project type
Client
Work_type(thsi is also lov) ->> 1) Billable
Reason (this is also lov) ->> 1) Billable
Work_type(thsi is also lov) ->> 2) Non-Billable
Reason (this is also lov) ->> 1) Fresher
2) Project Manager
As shown above, Suppose the project type is client then I will select either "Billable" or "Non-Billable" value.
If I am selecting Work_type LOV as "Billable" then it should display "Billable" value in reason LOV
or if I am selecting Non-Billable value from Work_type LOV then reason LOV will display the list of value as Fresher and Project Manager.
Please help me, its very urgent.
Thanks in advance.
Regards,
BluetoothBluetooth,
This can be accomplished by creating two seperate record groups; one for Billable and one for Non-Billable. Then - in the WORK_TYPE When-Validate-Item (WVI)trigger - when the value is "Billable" you assign the Billable Record Group to your LOV or if the value is Non-Billable, then you assign the Non-Billable record group to your LOV. Your Record Group queries must return the same number of columns and the column names must match. If your record groups need to have a different number of columns and column names, then I would just use two seperate LOV's and assign them to the item accordingly. For example:
/* Sample WVI trigger */
DECLARE
lov_id LOV;
item_id ITEM;
BEGIN
lov_id := Find_LOV('YOUR_LOV_NAME');
/* Option 1: Change Record Group of LOV */
IF ( :YOUR_BLOCK.WORK_TYPE = 'BILLABLE' ) THEN
IF ( Get_LOV_Property(lov_id, GROUP_NAME) != 'BILLABLE_RG' ) THEN
Set_LOV_Property(lov_id, GROUP_NAME, 'BILLABLE_RG');
END IF;
ELSIF ( :YOUR_BLOCK.WORK_TYPE = 'NONBILLABLE' ) THEN
IF ( Get_LOV_Property(lov_id, GROUP_NAME) != 'NONBILLABLE_RG' ) THEN
Set_LOV_Property(lov_id, GROUP_NAME, 'NONBILLABLE_RG');
END IF;
END IF;
item_id := Find_Item('YOUR_BLOCK.REASON');
/* Option 2: Seperate LOV's */
IF ( :YOUR_BLOCK.WORK_TYPE = 'BILLABLE' ) THEN
IF ( Get_Item_Property(item_id, LOV_NAME) != 'BILLABLE_LOV' ) THEN
Set_Item_Property(item_id, LOV_NAME, 'BILLABLE_LOV');
END IF;
ELSIF ( :YOUR_BLOCK.WORK_TYPE = 'NONBILLABLE' ) THEN
IF ( Get_Item_Property(item_id, LOV_NAME) != 'NONBILLABLE_LOV' ) THEN
Set_Item_Property(item_id, LOV_NAME, 'NONBILLABLE_LOV');
END IF;
END IF;Hope this helps,
Craig B-)
If someone's response is helpful or correct, please mark it accordingly. -
LOV in Forms 10.1.2 app.ui.lovButtons=true
Hi everybody!
We found a solution (registry.dat) for automatic LOV buttons in:
re:LOV button
See note 267018.1 as well!
We run Portal 9.0.2.6.18, but we'll upgrade to 10.1.2 soon.
a) Will this feature still work?
b) Will this feature finally work in ENTER QUERY mode?
c) Can we replace the image with the three dots by anything else?
Thanks in advance
Wolfgang24-FEB-05 12:03:11 GMT
QUESTION
=========
You woukd like to know if the features for automatic LOV will still work in 10g and if
this will this feature finally work in ENTER QUERY mode
eos (end of section)
RESEARCH
=========
Test done with 904, 902 it works
eos (end of section)
ANSWER
=======
The feature will works in 10.1.2.0 since Oracle products are cumulatives.
Concerning the Enter_query mode problem, there is an enhancement request for this :
Hdr: 2179613 8.1.6 WEBFORMS 6.0.8 PRODID-45 PORTID-100
Abstract: EXTEND APP.UI.LOVBUTTONS TO ALLOW DISPLAY OF LOV IN ENTER-QUERY MODE
For the moment, there is no response form the developemnt about this.
You can follow the bug on metalink.
eos (end of section) -
Auto Filter in LOV in form builber 6i
Suppose a table have 5 Records
101
102
103
104
105
when I call the Lov then it is displaying 5 records, but when I will select suppose 103 record no. and put in detail block, then after that I again call the LOv then it will display only four record not five....
How can I auto filter the records in LOV????
Please tell me.Hi,
You will need to add an post delete trigger that adds the record row back in.
This is from forms 6i help:
** Built-in: ADD_GROUP_ROW
** Example: Add ten rows to a new record group and populate.
PROCEDURE Populate_My_Group IS
rg_name VARCHAR2(20) := 'My_Group';
rg_col1 VARCHAR2(20) := rg_name||'.NumCol';
rg_col2 VARCHAR2(20) := rg_name||'.CharCol';
rg_id RecordGroup;
gc_id GroupColumn;
in_words VARCHAR2(15);
BEGIN
** Check to see if Record Group already exists
rg_id := Find_Group( rg_name );
** If it does, then clear all the rows from the group and
** populate ten rows with the numbers from 1..10 along
** with the equivalent number in words.
** Row# NumCol CharCol
** 1 1 one
** 2 2 two
** 10 10 ten
IF NOT Id_Null(rg_id) THEN
Delete_Group_Row( rg_id, ALL_ROWS );
FOR i IN 1..10 LOOP
** Add the i-th Row to the end (bottom) of the
** record group, and set the values of the two cells
in_words := TO_CHAR(TO_DATE(i,'YYYY'),'year');
Add_Group_Row( rg_id, END_OF_GROUP );
Set_Group_Number_Cell( rg_col1, i, i);
Set_Group_Char_Cell( rg_col2, i, in_words);
END LOOP;
END IF;
END;
If you are unhappy about using record groups in this way, you might want to think about using a session temporary table. Do a direct insert into this table every time one gets selected and delete the record every time gets removed from your block. Your lov then simply becomes:
select mytab.*
from my_table mytab
where not exists (select 'already chosen'
from my_session_temp_table mytemp
where mytemp.primary_key = mytab.primary key)
The session temporary table need only hold the primary key vales.
You could probably so the same with a PL/SQL table but I find them hard work. Primarily because I never use them often enough to become comfortable, not because there is anything majorly wrong with them.
One last thought, you could use the base table of the block that you are selecting in the 'not exists' clause. You'd need to post the selects and deletes but it should work. Unfortunately it will post all changes not just the ones you want so it could have a knock on affect.
Regards,
Danny -
Creating LOV in Forms Personalization
Hi Friends,
I have the requirement to create LOV for the 'Description' field in Standard Form. That Description field doesn't have LOV. I want to create LOV for that field thru Forms personalisation. Is it possible. Pl. tell me the steps.
I'm using 11.5.10.2.
Thanks
KavithaYou cannot use Forms Personalization to create a new LOV (you can use Forms Personalization to change what the form run). This is already explained in (Limitations of Forms Personalization [ID 420518.1], Point #1).
To create a new LOV, you will have to customize the form (pay attention to Oracle policy about customizing seeded forms/report) -- See the docs below for details.
Customization in Oracle Applications [ID 743490.1]
Sample CUSTOM Library Code To Customize Applications [ID 744065.1]
Oracle Forms in Applications FAQ [ID 177610.1]
How To Customize Standard Oracle Application Using Custom Library [ID 438920.1]
Oracle Application Developer Guide
http://www.oracle.com/technetwork/documentation/applications-167706.html
Thanks,
Hussein -
Create LOV in form that is not based on view
Hello
I have this problem: I'm making a form that is not based on view object. From the Data Controls I can drag a view as a combo box, but I cannot drag a view as a ListOfValues ...
So I must create a non-SQL-based View and create attributes of my form and attach the LOV to one of the attributes ?
Is there another solution ?
Thanks
agruevYes, input list of values must be model driven.
What we do is :
Create Dummy view as:
Select 1 as id,
null as code
from dual;
and we bind code with list of values view object.
Edited by: mkonio on Oct 19, 2009 12:27 PM -
LOV Performance Forms 4.5
Hi,
We are working on Oracle applications 11.0.3 (Oracle Forms 4.5). We have a LOV to fetch items form mtl_system_items based on item_type and organization. The LOV is taking a lot of time to fetch data and hangs in between.
Please advise as to how can we increase the performance .
We have tried creating index on item type and organization, but it just slightly increased the performance.
I searched the forum, but most of the solutions apply to Forms 6iHow many data is the LOV retrieving? If it's a very high number of rows, then a LOV can be slow as it has to fetch all data before it can display the LOV (at least in older Forms versions like yours).
It could also be that the query execution path is not the most efficient. Try running the same query from SQL*Plus, while first doing
sql> set autotrace on
You would have to use a recent version of SQL*Plus to do this, preferable 10.2 or 11.1. With autotrace, SQL*Plus will tell you what execution path was used and how many logical data blocks where fetched. That should give you an insight in how the database is executing the query, which might not be optimal. -
LOV on Form changes DB row values
I add a lov to a form and experience that the lov does not retain the value coming from the DB row but overrides it with what ever the lov presents first. A very strange default behavior, but what does a newbie know. Can anyone sugesst how to correct this behavior. Many thanks!
Nicholas,
How did you "add an lov to a form", exactly? Did you create a new item on the page like maybe a select list with the Source Type set to Database Column and the Source Used attribute set to "Always..."? If so, your LOV query may not be returning values that match those in the table.
Scott -
PERFORMANCE ISSUE IN LOV(ORACLE FORMS)
I have a requirement to populate an LOV in a Form Which is taking LOT of TIME (PERFORMANCE ISSUE)
the Record Group Query is as
select segment1 INVENTORY_ITEM ,
inventory_item_id,
description,
primary_uom_code,
decode(service_item_flag, 'Y', service_duration, NULL) service_duration,
service_duration_period_code,
shippable_item_flag,
Decode(bom_item_type ,
1,'MDL',2,'OPT',3,'PLN',4,
Decode( service_item_flag,'Y','SRV',
Decode( serviceable_product_flag,'Y','SVA','STD'))) item_type_code
from mtl_system_items_b --table name
where organization_id = :QOTLNDET_LINES.ORGANIZATION_ID
AND (bom_item_type = 1 or bom_item_type = 4)
AND vendor_warranty_flag = 'N'
AND primary_uom_code <> 'ENR'
AND ((:QOTLNDET_LINES.LINE_CATEGORY_CODE = 'ORDER' and customer_order_enabled_flag = 'Y') OR
(:LINE_CATEGORY_CODE = 'RETURN' and NVL(returnable_flag, 'Y') = 'Y'))
AND segment1 like :QOTLNDET_LINES.INVENTORY_ITEM || '%'
When ever i give :QOTLNDET_LINES.INVENTORY_ITEM from Front end This LOV need to be displayed.
IT IS TAKING MORE THAT 3 MINUTES DEPENDING ON THE ITEM GIVEN.
SUGGEST ME TO REDUCE THIS TIME.
Thanks,
Durga Srinivas
Edited by: DurgaSrinivas_886836 on May 31, 2012 5:14 PMI had an idea ,
record_group1=
select segment1 INVENTORY_ITEM ,
inventory_item_id,
description,
primary_uom_code,
decode(service_item_flag, 'Y', service_duration, NULL) service_duration,
service_duration_period_code,
shippable_item_flag,
Decode(bom_item_type ,
1,'MDL',2,'OPT',3,'PLN',4,
Decode( service_item_flag,'Y','SRV',
Decode( serviceable_product_flag,'Y','SVA','STD'))) item_type_code
from mtl_system_items_b --table name
where organization_id = :QOTLNDET_LINES.ORGANIZATION_ID
AND (bom_item_type = 1 or bom_item_type = 4)
AND vendor_warranty_flag = 'N'
AND primary_uom_code 'ENR'
AND ((:QOTLNDET_LINES.LINE_CATEGORY_CODE = 'ORDER' and customer_order_enabled_flag = 'Y') OR
(:LINE_CATEGORY_CODE = 'RETURN' and NVL(returnable_flag, 'Y') = 'Y'))
AND segment1 like :QOTLNDET_LINES.INVENTORY_ITEM
Record_group2 =
select segment1 INVENTORY_ITEM ,
inventory_item_id,
description,
primary_uom_code,
decode(service_item_flag, 'Y', service_duration, NULL) service_duration,
service_duration_period_code,
shippable_item_flag,
Decode(bom_item_type ,
1,'MDL',2,'OPT',3,'PLN',4,
Decode( service_item_flag,'Y','SRV',
Decode( serviceable_product_flag,'Y','SVA','STD'))) item_type_code
from mtl_system_items_b --table name
where organization_id = :QOTLNDET_LINES.ORGANIZATION_ID
AND (bom_item_type = 1 or bom_item_type = 4)
AND vendor_warranty_flag = 'N'
AND primary_uom_code 'ENR'
AND ((:QOTLNDET_LINES.LINE_CATEGORY_CODE = 'ORDER' and customer_order_enabled_flag = 'Y') OR
(:LINE_CATEGORY_CODE = 'RETURN' and NVL(returnable_flag, 'Y') = 'Y'))
AND segment1 like :QOTLNDET_LINES.INVENTORY_ITEM || '%'
If i can give Full item name then dynamically I will assign Record_group1 else i will assign Record_group2 by using Set_LOV_Property()
so that if i give full item name lov is populated quickly .
Suggest me Which Triggers Should i use.
Edited by: DurgaSrinivas_886836 on May 31, 2012 6:49 PM -
Dynamic LOV on form in update mode
I have a link to a portal form that specifies the primary key as below:
Portal30.wwv_user_utilities.get_url(
'application.form_link',
'primary_id',to_char(id),
'_primary_id_cond','=');
This works well. I can access the form in update mode for the specified row. However, on the form I have 2 combo boxes: one is for make of vehicle and the other for model. The make combo box uses an lov derived from a simple table query. The model combo box is a dynamic lov using a query based upon the value of the model. When entering the form in update mode, it fails to set the make bind variable to anything, so the model is left blank with no options. How can I set the value of the make bind variable on the link so I can get the dynamic lov for the model to be populated correctly?
(I have already tried to add the model to the url link, to no avail).
nullHi noor,
When I click the link button I am opening the userdefined form and filling the corresponding document number details manually.
Do you mean, you're filling the form, field by field???
If so you're doing it wrong. That way the form has no connection to the correct Database record and cannot update it.
The correct way is as follows:
Put a DocEntry field in your form and bind it to the DocEntry database field.
Set this field to NOT Visible by default.
When a user clicks the LinkButton, you change the form mode to FindMode, make the DocEntry field visible use the oForm.Items.Item("DocEntry").Specific.Value = "" method to set the correct value to the field (use the DocEntry number NOT the DocNum) and use the oForm.Items.Item("1").Click() to open the correct record.
Then the user can change the value it needs without errors.
Best Regards,
Vítor Vieira
Maybe you are looking for
-
Hi, what's the impact of creating sites through configuration in Sap retail System?
Hi Experts, Business requirement is to have a production plant created through config in retail system and then ship the finished product to DC using STO's and Dc will be created as master data in retail system. please share your experience on busine
-
Original dates in comparison of actual dates
Hi Experts I have a project with certain activities and partily executed (few activities are confirmed and partially confirmed). For the finally confirmed activities, the planned earliest and latest dates if activity are matched with actual dates. To
-
Customize Office 2010 Integration
Hi. First time posting. We're deploying Office 2010 and Acrobat X Pro and are trying to find out if it's possible to customize the integration with Office 2010. In particular, one of the things we're trying to figure out is if we can hide/disable t
-
Exchange2010 SP3 RU4, database in a DAG setup fail error 3145
We are an Exchange 2010 sp3 ru4 running on a hybrid Physical(MB servers) virtual (CAS/HUB servers) with 6 DBs' inonw DAG in a single site with local witness server. We experienced a failure on one of the DBs wit an error 3145 " Incremental seeding of
-
Why am I getting a limited connectivity when connecting to my airport?
I have an Airport Express and I keep getting a limited connectivity message, WHY?