Query in form with
Hi Masters,
Was wondering if its possible to query from the front end say from form "Find Request" with requestor not a particular user.If so please tell me how can I do that..
Thanks in advance
A
Hi,
Following query will give all concurrent requests and programs. Add the additional conditions to get specific requests.
SELECT request_id
FROM fnd_concurrent_requests FCR
,fnd_concurrent_programs FCP
WHERE FCP.concurrent_program_id = FCR.concurrent_program_id
AND <<>>
Regards
RK
Similar Messages
-
URGENT - Form with LOV - Query Fails
Hi All,
I've a portal form, with about 10 fields and about 06 of them are combo boxes (attached to dynamic LOVs).
I'm trying to perform a query using the ID and leaving all other fields blank, but no result is displayed. I am sure that the record for that ID exist in the database table.
Can someone please suggest what should I do to be able to perform query in form with LOVs.
Thanks in advance.Hi Jatinder
I'm happy because you are apparently on the right way with 'your duplicate form'!
"adjust the empty values" means to make sure, that the value of the simple empty field (in the duplicate form) is the same as the value of the corresponding LOV based combo box field (in the original form).
Maybe this sounds easy, but in the matter of fact it isn't. Why?
Look carefully at the following sample:
You have a dynamic LOV based on the number column 'category' in your 'table_1'.
So the basic part of the LOVs query looks like this:
select distinct category from table_1;
Now you still have to add the 'empty value' to your LOV to complete your request to find any value of 'category'. But if you add '0' or ' ' (blank) it wouldn't work. So you have to add NULL but this still doesn't work because you have to adjust NULL to the corresponding data type.
Furthermore you have to be sure that the default LOV's value is the 'any value' one.
Your complete LOVs query then looks like this:
select distinct category from table_1
union
select to_number(null) from dual
order by category desc;
/* 'desc' for 'descending' ensures the NULL value to be on the top of the combo box */
Now as you know how it works for number columns simply use the analog logic for character columns with to_char(null) and for date columns with to_date(null).
That's it.
Thanks
Peter -
hi,
if i query my form with wrong value ie, press F7 give wrong value for EMPNO and press F8. it says Query caused no records to be retrieved. but after that its not coming out of the first row.
if i press cancel button, the cursor remains in the first record itself.
i have written exit_form(NO_VALIDATE) in exit button.
pls give me solution for this problem.
Thanks in advance.add this code to the exit button .
BEGIN
--come of of the enter-query mode
IF :SYSTEM.MODE = 'ENTER-QUERY' THEN
EXIT_FORM(NO_VALIDATE);
END IF;
--exit the form
EXIT_FORM(NO_VALIDATE);
END;you need 2 exit, one if the system is in enter-query mode, to come out of it and the other one for exiting the form. -
Forms 6.0 how to query clob column with oracle 9.2 DB
hi every body,
i made install for oracle 9.2 oracle DB every thing goes ok but when i made query in my form version 6.0 which have CLOB column the form closed automatically without any message?
and just for know when i run the same form with oracle 8.1.7 DB the form made query normally without any problem.
i want your help please.
Message was edited by:
mshaqalaihI know there was a problem in 6i where you would get a crash if your query returned more than {Max Length} characters of the field representing the CLOB column.
-
How to call a form from one form to another form with parameter..
i'm having a from that will shows the info about the orders that the client has. and i want to show the information of the client. for that i have created one form and i want to call the form from my current form with the given client name as a parameter. then the client_info form has to query with the given parameter. so im passing the :client_order_info.client_name as parameter to the call_form('client_info.fmx',:client_order_info.client_name); but my question is how to access that parameter in the client_info form.. plz help me.. i tried a lot ..
Create a parameter (object navigator -> parameters) with the name client_name and you can access that value in your client info form using :PARAMETER.client_name.
P.S. while calling you can pass parameter using 'cilent_name =>' to make sure that the correct parameter is getting assigned to the value. -
Error in generating form with 6i
I have installed designer 6i rel 2 with form developer 6i on NT
4.0.
When in design editor, I want to generate the form with generate
module, the system generate "CDR-21600: A running Generator or
Utility has failed."
Also in action column writes: " It is possible that the internal
cache is now in an inconsistent state. You are therefore
recommended to close and restart the application."
Could anyone tell me what is the problem and how to solve it.
thanksHere is an document which describes some known causes of CDR-
21600 errors. I hope it will help you.
PURPOSE
To describe some known causes of CDI-21600 errors and to
suggest possible solutions and workarounds.
SCOPE & APPLICATION
This note was written for users of Oracle Designer releases 2.1.x
and 6.0.
CDI-21600 errors occur most frequently during Design Capture and
when generating forms with the Forms and WebServer generators.
Investigating CDI-21600 errors
In Oracle Designer Release 2.1.2 and Release 6.0, this error has
the form:
CDI-21600 'A running generator or utility has failed'
The Release 2.1.1 error message was: 'Generator or Utility throw
an Exception'
The CDI-21600 error message means that the generator is hitting
an unhandled exception, also known as a GPF (general protection
fault). The CDI-21600 error masks the underlying exception error.
To see the real error do the following:
1. Go into the Registry Editor (REGEDIT).
2. Navigate to HKEY_LOCAL_MACHINE\software\oracle\des2_70
3. Set EXCEPT_HANDLING to 0 (by default it is 1).
Repeat the action that resulted in the error.
Known Causes of CDI-21600 Errors and Possible Solutions
Some of the reasons why CDI-21600 errors occur are listed below.
1. A common cause of CDI-21600 errors is failure to install the
necessary
Developer patches.
See [NOTE:64630.1] Developer Patches required to run
Designer with Developer
2. Check that Designer is running on a supported database. Also
check that the
TNS connection is correct.
See [NOTE:60705.1] Designer Certification Matrix (HTML)
3. Check for 'dangling' foreign keys, in other words FKs no longer
owned by any
table in the repository. Delete all invalid constraints.
Invalid constraints may be created if you use the repository
dump utility to
dump and restore external foreign keys referencing tables
shared into the
application system, without dumping and restoring the tables
that own them.
If you restore a complete dump (rather than a 'skeleton' one),
and then use
the 'Reconnect Share Links' option when restoring, you may be
able to
resolve this problem.
To get a complete list of 'dangling' constraints in your
repository, connect
using SQL*Plus and use the following query:
SELECT app.name, key.name
FROM ci_application_systems app, ci_constraints key
WHERE key.table_reference IS NULL
AND key.application_system_owned_by = app.id;
You can also run CKAZANAL.ANAL_REFERENCES on your
repository and delete all
the invalid constraints that it finds. You can run the Repository
Analyzer
from: Front Panel -> Repository Administration Utility -> Utilities.
NOTE: There may be inconsistencies in the repository that the
Repository
Analyzer cannot fix. You might solve such problems by
dropping all the
tables of your application, recreate them from the ERD,
then use the
DDT and recreate your modules.
[BUG:847190] CDI-21600 during forms generation: 'dangling'
foreign key
"Since the generator is running on a repository that contains
invalid
constraints and the Repository Analyzer solves the problem,
bug closed as
unfeasible to fix."
4. Check your modules for invalid or missing references such as
missing window
placements.
5. Try generating your module against default templates and
object libraries.
6. When capturing forms or libraries, try capturing the form or
library without
application logic, then capture the application logic on its own.
See [NOTE:1064690.6] CDI-21600 when capturing design of
form with
application logic
[BUG:757541] DESCAP: CDI-21600 error reported when
capturing with
application logic
Fixed In Ver: 6.0
[BUG:926383] Duplicate of [BUG:757541] This has been fixed in
2.1.2 patch
779559. However you would be advised to apply a later patch
such as 855635
which fixes more bugs in this area.
7. Make sure that all objects that are referenced by the form have
been
captured into the repository before capturing the form.
8. A CDI-21600 will occur if a lookup usage displays only one
column of
datatype DATE or if the column of datatype DATE is displayed
as the first
item in the block.
Workaround
Add more column usages to the lookup block and do not
display the DATE data
type column usage as the first item in the block.
9. [BUG:810472] CDI-21600 when 'Argument in Caller' is set
Fixed In Ver: 6.5.3.0
Workaround
Make sure that you have an argument in the called module that
is mapped to
the "Argument Passed Value" in the calling module. The only
way to get this
mapping back once the APV has the <Module Argument> label
is to delete it
and recreate it.
10. [BUG:801736] CDI-21600 on design capture of a form with
subclassed object
Fixed In Ver: 6.0.3.1.0 (backport)
Fixed In Ver: 6.5
You have an item that has been subclassed to an object.
Checking the Design
Capture option 'Capture Control Blocks' causes the CDI-21600
error. Uncheck
'Capture Control Blocks' and the problem does not occur. Open
the FMB in
Forms*Builder and look at Data Blocks -> Items. Break the link
to the
object, save the FMB, and the form will capture (similar to
[BUG:794872]).
Alternatively, ensure the link can be established.
11. [BUG:850436] CDI-21600 on generation of a form with template
having
subclassed object group
You try to generate a form out of Designer that uses a user-
defined
template. If a collection of objects in the template is grouped
into an
object group, dragged into the object library and then either
copied or
subclassed into a form, when the form is generated you get a
CDI-21600
error.
12. [BUG:822659] Module generation fails (CDI-21600) with multi-
column PK having
long prompt text
Fixed In Ver: 6.5.3.2
Module generation with multi-column primary key having long
prompt text
causes CDI-21600 with preference MSGSFT set.
Workaround
Shorten the prompt text of PKs may not be not applicable. You
may loose end
user information.
You may have the same problem with a mandatory compound
FK. CASEOFG tries to
generate a message '<P1> must be entered', where <P1>
contains all the
prompts of the bound items from the FK. If you reduce the
length of the
prompts, or set MSGSFT = NULL or WEDI = S or property
Mandatory?=No, it
works correctly.
13. [BUG:792542] Capturing application logic causes CDI-21600
(V2 style
triggers)
Fixed In Ver: 6.5.5
After removal of the v2 triggers, the form captures/merges OK
on 5.0.24.8,
provided patch 875027 has not been applied.
14. [BUG:790877] CDI-21600 if the primary/foreign keys have no
key components
Fixed In Ver: 6.5.11
Generating a module with tables having a primary key not
correctly defined
(no PK component) will cause a CDI-21600 error. This can
occur when
unloading a module from the RON. If you pick up the module
(and only the
module) in the unload set, the table and its PK are unloaded as
a skeleton.
Loading the .DAT file into a new application will create a PK
without a
component.
15. [BUG:771549] CDI-21600 if cannot connect to the DB with
connect string in
Options (Compile)
Fixed In Ver: 6.5.13
If you cannot connect to the DB with the connect string
specified in options
(Compile), the forms generator will fail with CDI-21600.
This problem occurs when you cannot connect to the DB
because:
- the username or password is wrong;
- or the SQL*Net alias is not defined in the TNSNAMES.ORA
file;
- or the SQL*Net listener is not started;
- or the DB is down.
16. [BUG:785106] CDI-21600 when generate master detail form
with preserve layout
[BUG:855812] is a duplicate of this bug.
Fixed In Ver: 5.0.24.6.0 (Bug:860426 Backport request for 2.1.2)
Fixed In Ver: 6.0
Fixed In Ver: 6.5.3
You have a master-detail Form with the Master having items
partly on a TAB
Canvas. Generate Module works OK. You enter Forms Builder
and move some
items on the tabs (just small changes, items are still on the
same tabs).
You change the look of the Detail and change Records
Displayed. Now in
Designer you generate the Module with Preserve Layout. You
get a CDI-21600
error. The problem might reproduce without doing any changes
in Forms
Builder, just by generating with Preserve Layout.
17. [BUG:891306] If primary key column of lookup in check
constraint comment of
base table
Fixed In Ver: 6.5.5
Workaround
Do not use the name of the bound item that is based on the
primary key
column of the lookup table in a check constraint comment of
the base table.
18. [BUG:896026] Forms gen throws assertion failure in
CVINI/BUILDACTIONITEM@/CV/CVI/CVIBNI.CPP
Fixed In Ver: 6.5.7
A problem is caused by a PL/SQL definition (function, package,
procedure)
being defined as a called module for the module you are trying
to generate.
To resolve the problem and enable the module to be generated,
remove all
Called Modules that are PL/SQL definitions (functions,
procedures or
packages).
See [NOTE:2107207.6] CDI-21600 during generation of module
or Assertion
Failure \cv\cvi\cvibni.cpp
19. [BUG:812333] CDI-21600 generating a web module after
adding an unbound item
Fixed In Ver: 6.5.3.0
Backport [BUG:1280667] raised to fix by 6.0.3.9
You add an unbound item (SQL expression) to a Web module.
When you try to
generate the module you get a CDI-21600 error. If you delete the
unbound
item the Web module generates correctly.
In a test case the problem occurred during validation of the
derivation
text, if the master module component was in a different module.
A workaround
was to rearrange module components so that this was not the
case.
20. [BUG:1627963] CCVDIAG::TRACEGENERATORMESSAGE
WHEN GENERATING INCORRECT
DERIVATION EXPRESSION
Message
CDR-21605: Failed while processing Module <mod> in function
CCVDiag::TraceGeneratorMessage BOF
Cause
The generator failed due to an unexpected error - the
error indicates the object the generator was processing
when it failed.
Helena -
Rep-52005 error when running a report from form with parameter form
I am trying to run a report from a web deployed form and this report has a parameter form. I am getting a Rep-52005: The specified key report does not exist in key map file.
I am using Oracle Forms/Reports 10.1.2.0.2. My code is below. The first part works fine where I run a report with no parameter form, but the second part when I have a parameter form gets the about error.
PROCEDURE call_report (
p_report_name VARCHAR2,
p_reportobj_name VARCHAR2 DEFAULT NULL,
p_parameter_list paramlist DEFAULT NULL,
p_parameter_string VARCHAR2 DEFAULT NULL
IS
repid report_object;
v_rep VARCHAR2 (100);
rep_status VARCHAR2 (100);
v_report_url VARCHAR2 (240);
v_interface VARCHAR2 (50);
v_report_parameter VARCHAR2 (1);
vc_user_name VARCHAR2 (100);
vc_user_password VARCHAR2 (100);
vc_user_connect VARCHAR2 (100);
vc_connect VARCHAR2 (300);
v_reportserv VARCHAR2 (30);
v_job_number number;
BEGIN
/* Get the database to run the report against and
find out if the report has any parameters */
SELECT report_parameter_flag
INTO v_report_parameter
FROM program_list
WHERE program_type = 'REPORTS'
AND UPPER (screen_id) = UPPER (p_report_name);
vc_user_name := get_application_property (username);
vc_user_password := get_application_property (password);
vc_user_connect := get_application_property (connect_string);
v_reportserv := 'rep_xxxx_ias10g_home';
v_report_url := 'http://xxxx.state.il.us';
v_job_number := length(v_reportserv) +2;
vc_connect :=
vc_user_name
|| '/'
|| vc_user_password
|| '@'
|| vc_user_connect;
v_interface := get_application_property (user_interface);
IF ( v_interface = 'WEB'
AND v_report_parameter = 'N'
THEN
repid := find_report_object(p_reportobj_name);
set_report_object_property (repid, report_comm_mode, synchronous);
set_report_object_property (repid, report_destype, cache);
set_report_object_property (repid, report_desformat, 'pdf');
-- v_reportserv := get_report_object_property (repid,report_server);
set_report_object_property (repid, report_server, v_reportserv);
set_report_object_property (repid, report_other, p_parameter_string);
v_rep := run_report_object (repid);
rep_status := report_object_status (v_rep);
IF rep_status = 'FINISHED'
THEN
web.show_document (
v_report_url
|| '/reports/rwservlet/getjobid='
|| substr(v_rep,v_job_number)
|| '?server='
|| v_reportserv
,'_blank'
ELSE
message ( rep_status
|| 'Report output aborted');
END IF;
ELSIF ( v_interface = 'WEB'
AND v_report_parameter = 'Y'
THEN
repid := find_report_object (p_reportobj_name);
set_report_object_property (repid, report_comm_mode, synchronous);
set_report_object_property (repid, report_destype, cache);
set_report_object_property (repid, report_desformat, 'pdf');
set_report_object_property (repid, report_server, v_reportserv);
set_report_object_property (
repid,
report_other,
'paramform=yes P_USER_CONNECT='
|| vc_connect
|| ' P_SERVERNAME='
|| v_reportserv
|| ' P_ACTION='
|| v_report_url
|| '/reports/rwservlet'
v_rep := run_report_object (repid);
rep_status := report_object_status (v_rep);
IF rep_status = 'FINISHED'
THEN
web.show_document (
v_report_url
|| '/reports/rwservlet/getjobid='
|| substr(v_rep,v_job_number)
|| '?server='
|| v_reportserv
,'_blank'
ELSE
message ( rep_status
|| 'Report output aborted');
END IF;
ELSE
run_product (
reports,
p_report_name,
synchronous,
runtime,
filesystem,
p_parameter_list,
NULL
END IF;
EXCEPTION
WHEN OTHERS
THEN
message (SQLERRM);
END;
My parameter form comes up and I enter the necessary information and hit submit query button. Then I get the Rep-52005: The specified key report does not exist in key map file.
Any help will be greatly appreciated!!
Shellie BrickerYour code seems to be implementing metalink note 139546.1 - Using Reports parameter forms with RUN_REPORT_OBJECT on the web.
For what I can see, the P_ACTION parameter should end in ?...
i.e.
P_ACTION=http://<hostname.domain:port>/reports/rwservlet?'
set_report_object_property (
repid,
report_other,
'paramform=yes P_USER_CONNECT='
|| vc_connect
|| ' P_SERVERNAME='
|| v_reportserv
|| ' P_ACTION='
|| v_report_url
|| '/reports/rwservlet?'
);If this does not fix your problem, then to troubleshoot further you would have to post the code in your Before Parameter Form trigger of your report.
Hope this helps,
UPDATE:
If the above does not fix your problem, my guess is that report name is not being generated in the hidden runtime values build by the code in the Before Parameter Form trigger.
i.e.
http://localhost:8889/reports/rwservlet?report=&destype=cache&desformat=PDF
The above code will throw error REP-52005: The specified key report does not exist in key map file.
Edited by: Rodolfo Ferrari on Jul 8, 2009 9:43 PM -
I need to pass a query in form of string to DBMS_XMLQUERY.GETXML package...the parameters to the query are date and varchar ..please help me build the string .Below is the query and the out put. ( the string is building fine except the parameters are with out quotes)
here is the procedure
create or replace
procedure temp(
P_MTR_ID VARCHAR2,
P_FROM_DATE IN DATE ,
P_THROUGH_DATE IN DATE ) AS
L_XML CLOB;
l_query VARCHAR2(2000);
BEGIN
l_query:= 'SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),''9999999.000'') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),''$9,999,999.00'') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),''9999999.000'') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,''mm/dd/yyyy'') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,''hh24:'
||'mi''), ''00:'
||'00'',''24:'
||'00'', TO_CHAR(s_datetime+.000011574,''hh24:'
||'mi'')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = '
||P_MTR_ID||
' AND s_mtrch = ''1''
AND s_datetime BETWEEN TO_DATE('
||P_FROM_DATE||
',''DD-MON-YY'') AND (TO_DATE('
||P_THROUGH_DATE||
',''DD-MON-YY'') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = '
||P_MTR_ID||
' AND s_mtrch = ''2''
AND s_datetime BETWEEN TO_DATE('
||P_FROM_DATE||
',''DD-MON-YY'') AND (TO_DATE('
||P_THROUGH_DATE||
','' DD-MON-YY'') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)';
SELECT DBMS_XMLQUERY.GETXML('L_QUERY') INTO L_XML FROM DUAL;
INSERT INTO NK VALUES (L_XML);
DBMS_OUTPUT.PUT_LINE('L_QUERY IS :'||L_QUERY);
END;
OUTPUT parameters are in bold (the issue is they are coming without single quotes otherwise th equery is fine
L_QUERY IS :SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),'9999999.000') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),'$9,999,999.00') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),'9999999.000') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,'mm/dd/yyyy') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,'hh24:mi'), '00:00','24:00', TO_CHAR(s_datetime+.000011574,'hh24:mi')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = N3165 AND s_mtrch = '1'
AND s_datetime BETWEEN TO_DATE(01-JAN-13,'DD-MON-YY') AND (TO_DATE(31-JAN-13,'DD-MON-YY') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = N3165 AND s_mtrch = '2'
AND s_datetime BETWEEN TO_DATE(01-JAN-13,'DD-MON-YY') AND (TO_DATE(31-JAN-13,' DD-MON-YY') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)The correct way to handle this is to use bind variables.
And use DBMS_XMLGEN instead of DBMS_XMLQUERY :
create or replace procedure temp (
p_mtr_id in varchar2
, p_from_date in date
, p_through_date in date
is
l_xml CLOB;
l_query VARCHAR2(2000);
l_ctx dbms_xmlgen.ctxHandle;
begin
l_query:= 'SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),''9999999.000'') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),''$9,999,999.00'') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),''9999999.000'') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,''mm/dd/yyyy'') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,''hh24:'
||'mi''), ''00:'
||'00'',''24:'
||'00'', TO_CHAR(s_datetime+.000011574,''hh24:'
||'mi'')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = :P_MTR_ID
AND s_mtrch = ''1''
AND s_datetime BETWEEN TO_DATE(:P_FROM_DATE,''DD-MON-YY'')
AND (TO_DATE(:P_THROUGH_DATE,''DD-MON-YY'') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = :P_MTR_ID
AND s_mtrch = ''2''
AND s_datetime BETWEEN TO_DATE(:P_FROM_DATE,''DD-MON-YY'')
AND (TO_DATE(:P_THROUGH_DATE,'' DD-MON-YY'') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)';
l_ctx := dbms_xmlgen.newContext(l_query);
dbms_xmlgen.setBindValue(l_ctx, 'P_MTR_ID', p_mtr_id);
dbms_xmlgen.setBindValue(l_ctx, 'P_FROM_DATE', to_char(p_from_date, 'DD-MON-YY'));
dbms_xmlgen.setBindValue(l_ctx, 'P_THROUGH_DATE', to_char(p_through_date, 'DD-MON-YY'));
l_xml := dbms_xmlgen.getXML(l_ctx);
dbms_xmlgen.closeContext(l_ctx);
insert into nk values (l_xml);
end; -
Form with view having instead-of-trigger gives FRM-40501 and ORA-02014
I created a data-entry from with a 'view' as datas-source block. This view gives crosstab query results with a data from a single base-table but it is complex and uses decode and aggregate funciton 'max' just to create group by in a crosstab query. I have created a instead of trigger on this view to update or insert a record in base table. A test to update base table works fine at SQl prompt. A test to insert at SQL shows '1 row created' but in fact when I query the database, it does not show newly inserted row. Also, when I compile and run this form, I get FRM-40501 and ORA-02014. Help!!!
I know that DML operations on a view with DECODE, aggregate functions or group by can not be performed but I thought the "instead of" trigger on the view to update the base table should eleminate this restriction and hence pusued further but now stuck!
BTW: I can post details of base table, view, and instead of trigger, if you want to see them to further decipher the problem. Just let me know. Thanks!
VERSIONS: Forms in developer suite v10.1.2.0.2 on Windows XP 64 bit desktop - ; Backend database: 9.2.0.8 on Windows 2003 EE server
Edited by: user8647268 on Aug 19, 2009 1:19 PM
Edited by: user8647268 on Aug 19, 2009 1:25 PMI just forgot to ask you one question: In my experience with forms, I have captured before_value and after_value and implemented logic based on results many times. This form I am working on is kinda first multi-record form where I have a tabular page with date and about 7 other columns forming a grid of cells, which users wanted. Each line is a record from a view. I tried relying on forms to do DML on underlying table and since the underlying table is a paritioned table, I ran into FRM-40509 and ORA-00936, where returning ROWID becomes problematic. I found a note 167550.1 which says to set Key mode to 'Updateable' or 'Non-Updateable' but not 'Unique' or 'Automatic' as a solution #1. Solution#1 failed i.e. the errors persisted. The note also says in that case, implement Solution #2, which is to write explicit trigger to do each of the DML on view. Here I run into kinda problem: In a tabular form with say 31 records each row having 7 cells which is like capturing 217 before values..that is too many. Addressing them with ':old.xxx' or ':new.xxx' which works in instead of trigger, does not work in trigger inside forms. Without checking these before and after values, it inserts rows with nulls for empty cells where we wnated it to skip and do nothing. So iam looking for a way to capture before value using some kinda standard form mechanism..Do you have any suggestions! (Sorry for long explanation but that is the only way to do it..)
-
Hi,
I have developed all my forms of type 'Form with report' which after entering values, displays the report page that shows the details entered.
In the form page definition I have a select list for customer id which diplays 'customer name' as return value. So after the form values are entered it redirects to the report page which displays the details such as customer id etc. How do I make this page to display the customer name instead of customer id. From user's perspective it would make more sense if he can see the customer name for editing/changes.
Also I wanted to know which kind of report would be the most appropriate if the report is based on a PL/SQL block. Would it be as interactive ?.
Appreciate all suggestions posted.Hi Zahid,
Yes, That is exactly what I wanted. So now I have my other table (resources ) for getting the resource_name . I do not see any quotes in your query which makes me wonder how your query under – ‘Region source’ of the Region definition looks like. Could you paste you code exactly as seen there. Besides I am not sure if we can join tables in there. I was getting –Unable to parse query error as well as Invalid character. I am not entirely sure of the syntax of the query definition in the report page as it is automatically generated . Any ideas? . I am pasting my query here for you to look at.
Appreciate your help.
select "RR.RESOURCE_ROLE_ID",
"RR.RESOURCE_ID";
"RE.RESOURCE_NAME",
"RR.ROLE_ID",
"RR.PROJECT_ID",
"RR.CREDITS_PER_HOUR",
"RR.ACTIVE_DATE_START",
"RR.ACTIVE_DATE_END",
"RR.LAST_UPDATED_BY",
"RR.LAST_UPDATE_DATE",
"RR.CREATED_BY",
"RR.CREATION_DATE"
from "#OWNER#"."RESOURCE_ROLES" "RR",
"#OWNER#"."RESOURCES" "RE"
where "RR.RESOURCE_ID" "=" "RE.RESOURCE_ID";
Thanks,
A -
Master Detail Form with Report - Referring a column in another table
I have master detail form with a report option. The master table has a column that also references a look up table.
When the report is displayed the lookup column id is displayed. Rather I want to get the look-up value from a lookup table
and display in the report.
When I see the report region Query definition , it just has the columns to add/remove only from the master table.
Could you pls help me with this regard.
Eg :
Dept Table
dept_id
dept_name
location_id
Employee Table
employee_id
employee_name
dept_id
location
location_id_id
location_name
Master is Dept, Detail is dept and lookup table is location.Simply add the lookup table to the FROM clause and join its PK with the FK in the master table in your query. That's basic SQL, and you definitely must get a good grasp of SQL to do more than very basic work in APEX.
For a good example, please see http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10498/build_app.htm#BCEBJJGB
While you're at it, read and implement the tasks outlined in the 2 Day + Application Express Developer's Guide - http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10498/toc.htm. After that, read the "Oracle Application Express 3.0-- Building a Functional Application" OBE in http://www.oracle.com/technology/obe/apex/obe30/apexdev30.htm - great stuff.
Georger -
How to make a jsf parameter form with a selectOneChoice and data control
I want to make a parameter form with a selectOneChoice and store this value in a backing bean, so I can use as a bind variable in query. I already made it happen without data control
Can someone show how to do it in adf data control. With the wizard it tries put the value
in a viewobject but I don't have base or destination viewobject. I can change the pagedef
so it works to fill the selectOneChoice but then I want to store the selected value in a session beab
here is solution with the application module and request / session bean, I don't
think it is the right solution
thanks edwin
jsf page
<af:selectOneChoice label="Desk" value="#{selectDesk.desk}"
id="DeskID"
binding="#{selectDesk.deskBinding}"
autoSubmit="true"
valueChangeListener="#{selectDesk.deskChangeListener}">
<f:selectItems value="#{selectDesk.deskSelectItems}"/>
</af:selectOneChoice>
Selektdesk backing bean
public SelectDesk(){
FacesContext facesContext = FacesContext.getCurrentInstance();
ValueBinding valueBinding = facesContext.getApplication().createValueBinding("#{userInfo}");
userInfo = (UserInfo) valueBinding.getValue(facesContext);
public List<SelectItem> getDeskSelectItems() {
if ( userInfo.getSelectItems() != null ) {
selectItems = userInfo.getSelectItems();
return selectItems;
if ( getBindings() != null ) {
userInfo.setBindings( getBindings());
else {
setBindings(userInfo.getBindings()) ;
if ( selectItems == null ) {
selectItems = new ArrayList<SelectItem>();
DCBindingContainer bc = getBindings();
SicmaService sicma = (SicmaService)bc.findDataControl("SicmaServiceDataControl").getDataProvider();
ViewObject desk = sicma.findViewObject("DeskSelectView1");
desk.executeQuery();
RowSet rows = desk.getRowSet();
while (rows.hasNext()) {
Row a = rows.next();
String DskId = a.getAttribute(0).toString();
String DskOms = a.getAttribute(1).toString();
selectItems.add( new SelectItem(DskId ,DskOms ));
rows.closeRowSet();
userInfo.setSelectItems(selectItems);
return selectItems;
faces-config.xml
<managed-bean>
<managed-bean-name>selectDesk</managed-bean-name>
<managed-bean-class>org.tennet.sicma.view.backing.SelectDesk</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>bindings</property-name>
<property-class>oracle.adf.model.binding.DCBindingContainer</property-class>
<value>#{bindings}</value>
</managed-property>
</managed-bean>The SRDemo has an example of a selectOneRadio bound to a parameter being used to pass to an ExecuteWithParams action (to automatically feed a view object's named bind variable. This is in the SRStaffSearch.jspx page.
Also, if you check out example # 72 from my blog:
http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#72
There is another example of using a selectOneListbox to do the same type of thing.
The steps involved in creating something like this are to:
(1) Define your named bind variables on your view object
(2) Drop the "ExecuteWithParams" action in the operations folder of that view object from the Data Control Palette to your page as a "Parameter Form"
(3) Drop the specific attribute (nested child of the "ExecuteWithParams" action from step (2) as whatever kind of selectOneXXXX control you want
(4) Delete the extra field on the form you don't want. -
The following query failed: GetUserProfileByName - with the wrong username
I have 2 users (out of 800), who run into this issue on occasion. Their username is 'fccs\user1' in the profile db, and in every UserInfo table in the system. But when they try to go to certain sites or open an infopath form, this error gets thrown:
The following query failed: GetUserProfileByName (User: FCCS\[email protected], Form Name: Template, IP: , Connection Target: , Request: http://fccsteams/sites/DataManagement/Tasks/Lists/Tasks/Folders1.aspx?RootFolder=/sites/DataManagement/Tasks/Lists/Tasks/2013/11&, Form ID: urn:schemas-microsoft-com:office:infopath:list:-AutoGen-2013-08-05T23:14:53:458Z Type: DataAdapterException, Exception Message: The remote server returned an error: (500) Internal Server Error. Operation Failure ---> Access Denied: To create a user profile, you must be an administrator, or create your own profile and have personal features rights. UnauthorizedAccessAccess Denied: To create a user profile, you must be an administrator, or create your own profile and have personal features rights. The remote server returned an error: (500) Internal Server Error.)
Notice how the username is now the entire email address and not just the username. I have no idea why it thinks that that is their username. Any ideas?Hi,
According to your post, my understanding is that you got query failed error.
Melick had written a blog said that the form access the user profile web service (Userprofileservice.asmx) using UDC
file.
You can check whether the UDC connection was still pointing to root site.
You can change this file to match with the sub site collection. Otherwise there may be a cross domain access issue.
There are similar threads for your reference.
http://social.msdn.microsoft.com/Forums/sharepoint/en-US/9c2f7f4c-0fa9-43bd-94b1-1d7075e35841/5566-error-with-getuserprofilebyname-and-infopah-browser-forms-using-claims-based-authentication
http://social.msdn.microsoft.com/Forums/en-US/49753330-40c0-4327-9a9b-2c3304a74e67/sharepoint-infopath-and-populating-forms-with-ad-data?forum=sharepointcustomizationlegacy
Thanks & Regards,
Jason
Jason Guo
TechNet Community Support -
Tabular form with non base table field
I want to develop a tabular form with
1. A non-base table edit field to accept a value
2. Insert/update another table based on the input value
3. Also, computed field on each row based on other fields on the records (like post-query trigger in oracle forms at block level - for each row)
Thanks,
RachnaThanks for your reply.
Varad, I like the link you sent me. It has a lot of good information.
I created a process (under page processing) called "Update/Insert Process" that dosn't seem to be working.
Question, I created a manual tabular form with SQL Query and created a process (under page processing) called "Update/Insert Process", then I check for each record in the tabular form. If the old value <> new value then I update/insert in the new table.
Any step by step will be highly apprciated - to create process/validation etc.
Thanks,
Rachna -
Create tabular form with blank records
Hi,
I want to create a tabular form for INSERTing multiple records! However, I am having difficulty working out how to render the form as 'empty' i.e. no existing table records appear on the Form. I tried to adjust the query the form is based on so the 'automatic' query returns no records, but this caused the fields to 'disappear'. Can anyone recommend the best way to do this (if possible),
regards,
Kevin.Hi Tyson,
I used the Advanced Dynamic Action wizard and at the point when I specify the Page Load event, a drop down list of conditions is available ( but does include NOT EXISTS ) so I kept the default 'No condition'. I associated the DA with the Event Source. Without editing the DA the form shown 10 blank rows in addition to 10 rows populated from the table. On subsequently editing the DA to add the NOT EXISTS condition you mentioned, the additional blank rows did not appear.
I had exactly the same behaviour when associating the DA with the 'Form' Region! Is the bottom line simply that I can't have a totally blank form if the table it is based on is not empty?
regards,
Kevin.
Maybe you are looking for
-
Error giving a default value to a date column in the attribute settings.
When im giving a default value to a date column in the attribute settings i get this error when im running my jsp page (bc4j web application): Error Message: JBO-25009: Cannot create an object of type:oracle.jbo.domain.Date with value: 31-dic-2099 Ho
-
Reg:creation of Personnel actions
Hi gurus,, Plz provide me some info regrading as how to create Infogroups..if possible some screen shots on this for better understanding...'m a learner to this SAP HR [email protected] Message was edited by: krishna M
-
ITunes keeps asking for licensing agreement in windows 7
After upgrading to iTunes 11 some months ago I have had to live with a really annoying 'feature'. iTunes keeps resetting itself, therefore I have to Accept the License Agreement window, then select the Menu Bar, then select Show Side Bar, the select
-
I have an indd file with a magazine, 44 pages, format 210 mm. x 275 mm. My problem is that from the beginning I made it in A4 format. This is not a problem for the printing workshop, but it is a problem when I make a pdf file, because it comes out wi
-
Implement Search Engine in Oracle ADF 11g
Hi All, I am using Oracle jDev 11.1.1.5.0 I want to implement Search Engine within my application. User of my application will search for anything which is very related to my application only. User can't use it like Google/Yahoo/..etc. He/She can onl