Custom popup from tabular form
Hi,
I would like to create a custom popup in a tabular form.
The standard popup doesn't realy satisfy my needs.
I followed the "How to" to create a custom popup, so that method is known. And this is working for a part.
I managed to alter the tabular form so that it calls the Javascript to get the popup window by entering :
<INPUT TYPE="TEXT" VALUE="#PROJ_ID#"> Click for LOV
in the HTML Expression of the column format section.
So the popup window is opened correctly, but the problem is how to return the selected value to the text item in the tabular form.
Returning a value to a normal text item is no problem, but it is to return it to a cell in an tabular form.
I tried to enter the following in the Passback Javascript:
opener.document.getElementById("F04").value = passVal2;
But this doesn't work correct and also is not flexible since F04 is the cell for only that row.
So the question is: How can I write my Javascripts Passback function so that it returns the passVal2 value to the right cell of the tabular form?
Any ideas?
Regards Guido
Nobody has ever done such thing?
Isn't there a way to address a specific cell in a tabular form?
Maybe then I have to look for another solution:
What I would like is, when selecting something from the popup (in the tabular form) a second column (The description column)has to be filled in with a value looked up from the selected popup value. This is just a default value,this "Description" field must be a text field so that users can change the description before "saving" the record to the table.
So anybody has an idea how this can be implemented?
Thanks for your help in advance!
Guido
Similar Messages
-
Can you send custom events from one form to another?
I have a compli
cated application, where I about hundred inp
uts organized in several input forms. Some of the forms
require data which has been input in other forms. I have tried to
dispatch custom events from one form to another, but it dispatches the
whole form and I only need one or two items.
Ha anybody else come across such a problem?
SvendOne way is to share data in a static singleton
-
Hi,
Anyone knows how dynamicly delete rows from Tabular Form (on button click, button is as item)?
Thanks.I am in a great fix. We had a test instance.. and we had a version apex 3.2.. But when the same application has been uploaded to prod.. we used apex 4.0.Why on Earth would you do this? The whole point of the testing is to verify that the application will work in the production environment: the first requirement for this is that the test and production environments are equivalent.
has any body is facing the same issue as mine..Yes, as is easily discovered by searching the forum...see Delete button doesn't work in tabular form after upgrade from APEX3.2 to 4. -
Unable to delete row(s) from tabular form
Hi!
I created report with row selector, when I select one row I get tabular form regarding to the selected row from report. I can insert and update data from tabular form, but I have problem with deleting them. Error I get is ORA-01403: no data found (Row 207589)My tabular form is created by wizard and primary key is managed by database rowid, I use apex 4.1 an 10g database.
Do you know for any solution for my problem?
Regards,
drama9346
Add:
For creating report and tabular form I use code and suggestion from this thread: {thread:id=2490862}
Edited by: drama9346 on 28.1.2013 1:51Hi,
I tried everything I know and I didn't solve my problem.
Can anyone give me some clue?
Regards,
drama9346
Add:
I solve my problem.
Edited by: drama9346 on 29.1.2013 1:52 -
Use value from tabular form column in the LOV where clause of another column
Hi
Using APEX 4.2 on 11g
In a tabular form I want to filter the values in a Popup Key LOV based on the value of another column (same row).
i.e. I want to get the value of one column and use it in the where clause for the Popup LOV on the same row.
e.g. where COL 2 is a popup LOV
COL 1
COL 2
1
LOV SQL: SELECT a FROM b WHERE c = <value from COL 1>
2
LOV SQL: SELECT a FROM b WHERE c = <value from COL 1>
3
LOV SQL: SELECT a FROM b WHERE c = <value from COL 1>
The value in COL 1 does not change once the row is created. It is a hidden ID field.
Is this possible?
NickAnyone have any ideas?
I thought getting the value from one column and using it in another column would be commonly used functionality... I just can't seem to work it out. -
Custom process on tabular form
Hi everyone,
I was wondering if anyone could show me an example of a process on a tabular form that checks the rows and values of other columns
does the insert with the MRU process and immediately follows with the custom process in order to update another column of the same table (used in the tabular form).
I would really appreciate the help.
Kind Regards,
CleoHi Cleopatra,
I think that you will need to manage all the required steps in the "Custome Process".
You can go throug every line of the report adapting the following example:
FOR I in 1..APEX_APPLICATION.G_F01.COUNT LOOP
DELETE FROM emp WHERE empno = to_number(APEX_APPLICATION.G_F01(i));
END LOOP;
You can see more details in: [http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_item.htm#CHDDCHAF]
By doing this you will be able implement as many processes you need for each line.
Hope you find this info help full. Try it and let me know if it works!
Kind regards! -
Unable to Update Collection from Tabular Form
I have built several Tabular Forms where I have updated the apex_collection with the data entered into the form. Then I loop thru the collection and update the database.
I now Copy a working form to create a new form using data from a different table. All I am doing is changing the underly apec_collection with a different select statement and give it a new collection name. The number of columns on the tabular form are the same as the working form.
Now I run the form and I get ORA-01403: no data found Error UNABLE to UPDATE ROWS
It is acting like it is not finding any data from the collection. But I put in the same selection critera for the update into a report below the tabular form and I see data just fine.
Here is the code I am using to update the collection when the SAVE button is pressed (Process on Submit before Calculations).
begin
for c1 in (
select seq_id from apex_collections
where collection_name = 'IPR_MATRIX' and c001 = :P21_FACILITY
and c002 = :P21_DEPT
order by seq_id) loop
c := c+1;
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>5,p_attr_value=>wwv_flow.g_f01(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>6,p_attr_value=>wwv_flow.g_f02(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>7,p_attr_value=>wwv_flow.g_f03(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>8,p_attr_value=>wwv_flow.g_f04(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>9,p_attr_value=>wwv_flow.g_f05(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>10,p_attr_value=>wwv_flow.g_f06(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>11,p_attr_value=>wwv_flow.g_f07(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>12,p_attr_value=>wwv_flow.g_f08(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>13,p_attr_value=>wwv_flow.g_f09(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>14,p_attr_value=>wwv_flow.g_f10(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>15,p_attr_value=>wwv_flow.g_f11(c));
apex_collection.update_member_attribute (p_collection_name=> 'IPR_MATRIX',
p_seq=> c1.seq_id,p_attr_number =>16,p_attr_value=>wwv_flow.g_f12(c));
end loop;
end;
Any Ideas what I am doing wrong?c is set to 0
It looks like I may have found my problem.
There tabular form is limited by a where clause in the report to a subset of the collection. Making the collection match the same where clause seems to have fixed my problem.
Not clear on why that works like that but it looks like I may have it working. -
"loading" message on delete from tabular form
I have a tabular form with a few entries in it. Upon delete there's a cascading constraint which could cause the delete process to take a while.
To let the user know something is happening I added a few pieces of code.
First of all I've edited the delete button so that the action now is "redirect to url" and the value of it is javascript:html_Submit_Progress(this);
The javascript procedure it's calling looks like this:
function html_Submit_Progress(){
$x_Show('AjaxLoading');
window.setTimeout('$s("AjaxLoading",$x("AjaxLoading").innerHTML)', 100);
apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');
}this piece of javascript is making a div visible and after that executes the apex.confirm action that would normally have been executed by the button
there's a piece of html in the page footer:
<style> #AjaxLoading{padding:5px;font-size:18px;width:250px;text-align:center;left:40%;top:30%;position:absolute;border:2px solid #666;background-color:#FFF;}</style>
<div id="AjaxLoading" style="display:none;">..Delete in progress..<br />
Please wait<br /><img src="#WORKSPACE_IMAGES#processing3.gif" id="wait" /></div> In the HTML piece you can basically put anything you want, this is the piece that becomes visible as soon as the delete button is pressed.
My problem is that the "loading" div is now displayed as soon as the delete button is pressed, and it stays there, even if you choose "cancel" in the confirm popup message.
I would like it to only show up after the confirmation, when "ok" is pressed.
I can't figure out where my call to html_Submit_Progress() should be placed instead of in the button. Any ideas?
I'm on oracle 11.2 and apex 4.1Thanks, that's a nice way to solve this problem, I didn't know apex had a build in feature for this.
I've also found the showWait flag in the documentation now: http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/javascript_api.htm#BGBJHEHG
The waitMsg is not displayed however, it's also not mentioned in the documentation.
I can live without the text, so this works for me. -
Sending emails for each record from tabular form
I currently have a requirements management tabular form that used to update or set job requirements inactive and/or covered.
We're a staffing agency and have salesmen across the country that will use this tabular form to quickly manage their requirements to mark them as covered or inactive if the position has been filled.
The multi-row update works fine since the form was built using the wizard, but I need to be able to send out an email for each record that's been marked as covered in the tabular form.
How can this be accomplished?
I'm running Oracle 12c and Apex 4.2.0 on a windows 2008 R2 server.
Thanks again.Greg,
I took a different approach from what I originally suggested. Since the tabular form is displaying only reqs that eligible to be covered, I chose to construct a process that would read the database after the reqs table was updated. The code should find recent reqs covered by the salesman and then send out an email for each covered req.
Since I cannot see the data structure of your reqs table, I guessed the data type and size for the local variables in the DECLARE section, you many need to adjust these.
Give this code a shot and let's see where we get. By the way, the naming conventions of your database are in need of naming standards.
The process needs to occur After Submit and after the Automatic Row Processing (DML) process that is updating the reqs table. Make sure that the process sequence number is greater than the Automatic Row Processing (DML) sequence number.
DECLARE
l_id NUMBER;
l_index NUMBER;
l_vc_arr2 apex_application_global.vc_arr2;
lc_message VARCHAR2 (4000);
l_pkey NUMBER;
l_date_wrote DATE;
l_sales VARCHAR2 (100);
l_client VARCHAR2 (100);
l_job VARCHAR2 (100);
l_1or2 VARCHAR2 (100);
l_rate NUMBER;
l_notes VARCHAR2 (4000);
BEGIN
FOR c1
-- Retrieve reqs primary key that have been covered
-- in the last 2 seconds by the salesman
IN (SELECT pkey
INTO l_pkey
FROM reqs
WHERE SYSDATE < (date_wrote + 1 / 46200)
AND active = 'Active'
AND reqs.sales = :p12_sales
AND covered IS NOT NULL)
-- Send an email for each req that has been covered
LOOP
SELECT c1.date_wrote,
c1.sales,
c1.client,
c1.job,
c1.notes,
c1.who,
c1.1or2,
c1.rate
INTO l_date_wrote,
l_sales,
l_client,
l_job,
l_notes,
l_who,
l_1or2,
l_rate
FROM reqs
WHERE pkey = l_pkey;
lc_message := 'Date Written :' || l_date_wrote || CHR (10);
lc_message := lc_message || 'Sales :' || l_sales || CHR (10);
lc_message := lc_message || 'Client :' || l_client || CHR (10);
lc_message := lc_message || 'Position :' || l_job || CHR (10);
lc_message := lc_message || '#1 or #2 :' || l_1or2 || CHR (10);
lc_message := lc_message || 'Rate :' || l_rate || CHR (10);
lc_message := lc_message || 'Notes :' || l_notes || CHR (10);
l_id :=
apex_mail.send (
p_to => '[email protected]',
p_from => 'DO_NOT_REPLY@REQS',
p_subj => ''
|| l_who
|| ' Has Covered '
|| l_job
|| ' at '
|| l_client
|| CHR (10),
p_body => lc_message);
COMMIT;
apex_mail.push_queue ();
END LOOP;
END;
Jeff -
Error when deleting from Tabular Form
Hello,
I have created a Tabular Form on a report based on a table in my database. I used the Wizard to create the form and included the standard 'Cancel', 'Delete' and 'Add Rows' buttons. When I try to delete rows by ticking them and then clicking 'Delete' , I get the standard explorer 'Page Cannot be Found' error with a URL of http://htmldb.oracle.com/pls/otn/wwv_flow.accept
Any ideas what could be causing this?
Thanks
SimonDoes your DELETE key have an associated After-Process-Branch? Does you page have an "unconditional" Branch. Your unconditional one should have the highest sequence number (of all your branches).
If you have one assinged to the DELETE key, can you check to see what Page or URL is referenced withint that After-Process-Branch. -
Hi,
I am getting oracle errors in a tabular form if entering some illegal values. For example i am getting below oracle error
when giving an invalid date in a date field
Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: Found invalid date value, please verify
date format., insert into "PE_DIP"."CORRELATION_ELIGIBILITY"
( "ID", "CUSTOMER_ID", "SITE_ID", "EQUIPMENT_ID", "TERMINATION_ID", "CORRELATION_ELIGIBILITY", "LAST_MO
DIFIED_BY", "LAST_MODIFIED_ON") values ( :b1, :b2, :b3, :b4, :b5, :b6, :b7, :b8)i just need the message
Found invalid date value, please verify date formatand like this, for each errors i just need the error message and that will be dispalyed in the notification area and not in
other page. Is this possible?. Plz help,
Thanks,
TJHi TJ,
You could write a JavaScript function to do that for you. Just call it onChange or onBlur. I have the following javascript functions that I use. These display the error next to the item though, so you may need to play around with it to display it where you want it to. (Pls note: I have a few validation functions like the notNull one below that all call the setError function.)
//This function checks to see if the object sent in is null and if so displays an error message
//back to the user. This is useful when doing client side validations on tabular forms in APEX.
//It takes in the ID of the object we want to do this check for and prints out an error
//just after the cell where the error occurred.
function notNull(object, errObj) {
var val = $x(object).value;
setError(object, (val == "" || val == null), "This field cannot be empty ", errObj);
//Function to display an error in a tabular form. The error will be displayed next to the field associated
//with the object parameter, using div tags. In addition to the object parameter, the function also takes in
//the err object to use as id in the div tag, a boolean variable to indicate if there is an error and the error string
//to display
function setError(object, isErr, errStr, errObj) {
//ensure you have the name for the error string to be displayed
if (!errObj) {
errObj = "err_".concat(object.id);
//if there was a prior error displayed, first delete that, so we do not have duplicate messages shown
$x_Remove(errObj);
if (isErr) {
if (!$x(errObj)) {
$x_Style(object, 'border', '1px solid red');
var errStr = ('<div name="err" id="').concat(errObj).concat('" style="color:red;">').concat(errStr).concat(' </div>');
object.parentNode.innerHTML += errStr;
$x("Back").focus();
$x(object.id).focus();
} else {
$x_Style(object, 'border', "1px solid #C8C8C8");
$x_Remove(errObj);
In the report item attributes page, I call the above function as onBlur="notNull(this);" in the element attribute field.
HTH,
Chandini -
Invoke custom code from standard form
Hi Experts,
I am a novice in forms.
I want to call some custom code when a sales order is created or updated.
i.e after user does some changes in std form and saves it, immediately I want to call my code.
what is the best way of doing it?
1. can it be done through form personalization? if yes how?
2. I could not find any user hooks in process orders api to write user hooks.
Looking for an option other than alerts and triggers.
version of apps : R12I do not know if Forms Personalization can handle this (from what I've heard it is very robust), but I know you can handle this in the Custom Library (CUSTOM.pll). If you don't need immediate processing, you could also modify the Workflow to handle any custom processing that needs to occur. It's been a few years since I worked with the Oracle Enterprise Business Suite (EBS) so I don't recall all the steps involved. I suggest you post your question in the General EBS Discussion forum as this forum is dedicated to general Forms development. The Oracle Applications Documentation library is also a great place to look. Select your EBS version and then scroll to the Standards section and review the following documents:
<ul>
<li>Oracle Applications Developer's Guide
<li>Oracle Applications User Interface Standards for Forms-Based Products
<li>Oracle Application Framework Personalization Guide
</ul>
Hope this helps,
Craig B-)
If someone's response is helpful or correct, please mark it accordingly. -
Updating a table from tabular form using a process
Hi
I have a tabular from creating using wizard
I've a field called Last_updated_by in the table
the username is assigned to an item P2_user based on the user who logs in.
What I need is,when any row is updated, I need to update the last_updated column with value in p2_user.
Need help on this
I'm using apex 3.2 with 11g
tried the below
declare
idx number:=1;
begin
FOR i in 1 .. wwv_flow.g_f01.COUNT
LOOP
for j in idx .. wwv_flow.g_f02.count
loop
update table_name set last_updated_by=:p2_user where ID=APEX_APPLICATION.G_F02(j);
idx:=j+1;
end loop;
END LOOP;
end;
Its updating the table,but all the rows are getting updated,just not the selected rows.
Not sure what I'm doing wrong here
thanks
Archana
Edited by: Agowda on Jan 12, 2012 1:55 AMI am looking for the same... can you please share how did you got this working
thanks -
Hey guys,
as per client's request, we need to insert rows into db from tabular form even there is no change on the new row. db table is configured to have nullable fields.
Currently, it won't allow me to do so. Is there any way to force the insert/update without checking if the information on the row is updated?
Thanks a lotYou can do it, using manular tabular form.
When you use automated Tabular Forms, it checks inbuilt global variables, to see row is updated or any new row is created and all necessary fields are keyed in.
If you don't update an existing row, that row will not be updated..
If you create/add new empty row and don't key in values, that row will not be inserted as there is no data..
If you want to do in that manner, make your MRU process on the page to never and write your own manual MRU -
Custom Popup on a Tabular Form for Multi Row Operation
I am trying to implement a custom popup on a tabular form that I can pass a value typed in to a text item like âNameâ to the popup so it can filter a list of names on what was already typed in.
Once a selection is made I need to have the selected name passed back to the text item.
This is easily done when not using a Tabular Form. Any ideas would be great?Can someone please help me with this?
I've read the Thread:
"Custom Popup on a Tabular Form for Multi Row Operation",
and have tried following the instructions provided by Willi Firulais.
I've also tried to integrate the instructions provided by RWeide in response within the same Thread.
I cannot get the passBack function to Pass the value to the Calling Page.
(I've tried to organize the pertinent information as it pertains to my application,
and have included it here below:)
A. Calling Page (Page# 141)
1. HTML Header: (Page# 141)
<script> function callMyPopup(item) { var url;
url = 'f?p=&APP_ID.:143:&APP_SESSION.::::P143_ITEM:'+ item;
w = open(url,"winLov","Scrollbars=1,resizable=1,width=800,height=600");
if (w.opener == null) w.opener = self; w.focus(); }
</script>
2. Region Definition: (Orders) - SQL Query (Updateable Report)
a. Query:
select
'f01_'||to_char(rownum ,'FM0999') ITEM,
"ID",
"ID" ID_DISPLAY,
"ID_PROJECT",
"ID_SUPPLIER",
"DESCRIPTION",
"JOB_NO",
"QUANTITY",
"UNIT_PRICE",
"EXTENDED_PRICE",
"MANUFACTURER",
"SUPPLIER",
"PART_NO",
"GROUP_LIST",
"BILLED_PRICE",
"DATE_NEEDED",
"DATE_DELIVERED",
"SUPPLIER_TYPE",
rownum
from "#OWNER#"."OAX_MAT_ORDER_ITEMS07"
where job_no = :P141_JOB_NO
3. Report Attributes: (ITEM) - URL
javascript:callMyPopup('#ITEM#');
B. PopUp Page (Page# 143)
1. HTML Header: (Page# 143)
<script language="JavaScript"> function passBack(passItem1, passVal1)
{ opener.document.forms["wwv_flow"].SUPPLIER[&P143_ITEM.].value = passVal1;
close(); }
</script>
2. ITEMS:
P143_ITEM
3. Region Definition: (Suppliers) - SQL Query(Structured Query)
OAX_SUPPLIERS.ID
OAX_SUPPLIERS.NAME
4. Report Attributes: (NAME) - URL
javascript:passBack('&P143_ITEM.','#NAME#');
Thank you in advance for you help!
Maybe you are looking for
-
"Very Serious threat for N70" Help Plz.Urgent
My Nokia N70 M trinig to call to a unknown no. without my permission. When I kept my phone idle, after some time phone lights will turn on and it says "In ur account there is no enough balance to call" and 3 beep sound of disconnecting the call.(The
-
VMSMP warning event id 28 on 2008 R2 with Hyper-V
I am using a HP ProLiant DL380 G6 with a full install of the 2008 R2 Datacenter, the only role added is Hyper-V. There is 4 integrated NICs on the server, I also added a Quad port adapter. One nic is for the host, the rest is dedicated to virtual mac
-
Dear Friends, In a transparent table xyz I have one field 'Bill No.' which is of character type & length 10. when I insert data in this table the value for this field gets stored as '0000000001'. I am facing a problem when the user is giving value o
-
Business graphics Customizing chart not found; contact administrator in MSS
Hi All, We are getting error Business graphics Customizing chart not found; contact administrator in MSS-->Home Service only for one user but for remaining users it is working fine. Please find the below screenshot. Please provide your inputs...... R
-
Adobe After Effects CC Crashes during preveiw
Hey everyone, AE CC Crashes during a specific play-through/RAM preview Video clip used is 60 frame rate 1280 by 720 about 4 seconds long Video Edits: 1. use Masking to make a text reveal like its hand written out with Stroke (Said an error