How to define a parallel, deterministic pl/sql function in OWB 11.2?
Hi,
at my customer site, we are starting with the new development work after upgrading from OWB 10.2 to 11.2 and we can't find the configuration parameter to define a parallel and deterministic function within a new package. The "old" function dialog in 10.2 had some checkboxes for those two features ...
Thanks in advance
Michael
Thanks for the advice, the Cut & Copy idea from MccM is working fine, however is not really a solution for the problem. But we are using it as a workaround for the moment.
Just for documentation: There already exists a bugfix, addressing the issue of lost parrallel and deterministic information during an upgrade from OWB10.2 to 11.2 (see bug 14673399 and patch 16082939)
And for at least some of us with access to Oracle Support: Our onsite Oracle consultant opened a service request for this issue: 3-6773545351 (You will not be able to see the request unless You are an Oracle employee, but maybe the reference is helpful for You.)
Similar Messages
-
How to user HTMLDB_COLLECTIONS in a PL/SQL function?
Hi!
I am trying to validate/check that an item from an updateable report is not in a collection before I add the item. I wrote a PL/SQL function to do this. It appears that a "normal" PL/SQL function cannot correctly see the HTMLDB_COLLLECTIONS view. The idea for this was posted to the forum about using a decode statement and a function to detemine whether to display the link value or not for each row. If an item has been added to the collection I want to not display the link. If the item is removed from the collection I need to redisplay the link.
I have tried validations but they depend on the page being resumbitted. And I tried to force that using a branch where the request was = 'ADD'. However everytime I set it up as a redirect to a URL it kept resetting the branch to a 'branch to a page within this application'.
Any suggestions on how to check the HTMLDB_COLLECTIONS before it is updated?
This is V2.0.
Thanks! Dave VenusHi!
Yes things work much better when run from within the "application". I had been trying to test the code from both SQL*Plus and from the SQL WorkShop.
The problem I was having even within the application was that I was getting back NULL return values. So I put some exception handling into the code and trapped the
data_not_found and others exceptions. I also had SQL%NOTFOUND code in my function. It appears the SQL%NOTFOUND was not being processed and the exception code was. I can paste the code I was using here if you want.
I went another way around the problem and rewrote the query (esp. the where clause) for the report and it seems to be doing what I need now. I would love to get the function working and understand how it should have worked so that I can use that functionallity in other applications.
Thanks!
Dave Venus -
How display result set of a PL/ SQL function call in a dialog box
Hello,
I am calling a PL/ SQL function from Apex, which returns - List of varchar.
In Apex, it should show this list of varchar and "Yes" and "No" buttons on a message window.
Can you please suggest a way to achieve the same.
Thanks,
GirishHello,
This application process "vrl_popup" is to get the values from PL/ SQL function. For popup window - confirm(). Also declared the LV_list as Application Item.
Which is coded in the region part of the button. After pressing this button popup window should come with the list.
<script type="text/javascript">
<!--
function doAjaxRequestParam( process, parameter)
var ajaxRequest = new htmldb_Get(null,&APP_ID.,'vrl_popup='+process,0);
ajaxRequest.add('lv_list', parameter );
var jsonResult = eval('('+ ajaxRequest.get() +')');
return jsonResult;
var answer = confirm ("can try this?")
alert (v_list)
if (answer)
alert ("done")
else
alert ("Unsuccessful")
// -->
</script>
In apex I created following Application process by name = vrl_popup,
declare
lv_List varchar2(2000) := '';
begin
begin
lv_List := select vrl_type_process_pkg.get_regd_reg_lste() from dual;
exception when no_data_found then null;
end;
htp.prn(lv_List);
end;
Kindly help in fixing this.
Edited by: Girish on Jun 17, 2010 12:57 AM -
How to get currency format using pl sql function
Hi all,
I am a newbee on the forum. currently i am facing an issue with the Format of Currency in an rdf report. This is a field of tax amount & i need to make some conditional formatting on this like if the tax amount is Zero then some static note is to be added before this field.
I have tried a lot of functions on it like the one as below:
IF :cp_org_id = 102
AND :invoice_currency_code <> 'CAD'
AND TO_CHAR (NVL (:cf_tax_amount, 0)) = 0
THEN
RETURN (TRUE);
ELSE
RETURN (FALSE);
This is working fine in case of Zero tax amount But gets error out when there some Tax amount exists. It gives a VALUE ERROR in this format Trigger.
Kindly suggest me how to solve this issue with right function. If possible then write the pseudo Code also.
Thanks in advance
D_VermaIn addition to Satyaki:
It might be a 'Reports Thing'.
It works in SQL*Plus (although relying on implicit conversions is a bad idea, as mentioned):
MHO%xe> begin
2 IF 102 = 102
3 AND 'DAC' != 'CAD'
4 AND TO_CHAR (NVL (null, 0)) = 0
5 THEN
6 dbms_output.put_line('TRUE');
7 ELSE
8 dbms_output.put_line('FALSE');
9 end if;
10 end;
11 /
TRUE
PL/SQL-procedure is geslaagd.
MHO%xe> begin
2 IF 102 = 102
3 AND 'DAC' != 'CAD'
4 AND TO_CHAR (NVL (0, 0)) = 0
5 THEN
6 dbms_output.put_line('TRUE');
7 ELSE
8 dbms_output.put_line('FALSE');
9 end if;
10 end;
11 /
TRUE
PL/SQL-procedure is geslaagd.
MHO%xe> begin
2 IF 102 = 102
3 AND 'DAC' != 'CAD'
4 AND TO_CHAR (NVL ('0', '0')) = '0'
5 THEN
6 dbms_output.put_line('TRUE');
7 ELSE
8 dbms_output.put_line('FALSE');
9 end if;
10 end;
11 /
TRUE
PL/SQL-procedure is geslaagd. -
How to define a view on a table function
I have a defined a pipelined table function in a package and can return data from it using:
select * from table(mtreport.FN_GET_JOBS_FOR_PROJECT(?));How can I define a view on this so that users can select from it without having to know to use the 'table' syntax?
select *
from vw_jobs_for_project
where id = ?I've tried this, but it doesn't work
CREATE OR REPLACE VIEW vw_jobs_for_project (PROJECT_ID, NAME) AS
SELECT PROJECT_ID, NAME
FROM table(mtreport.FN_GET_JOBS_FOR_PROJECT(PROJECT_ID));
ERROR at line 3:
ORA-00904: "PROJECT_ID": invalid identifierviews do not accept input parameters in the way that you want to use. you can define a CONTEXT parameter, but the users would need to set the context value before selecting from the view, so you'll still need to train them to do something new.
example:
create or replace context my_context using pkg_context;
<br>
create or replace package pkg_context is
procedure set_context(p_parameter in varchar2, p_value in varchar2);
function get_context(p_parameter in varchar2) return varchar2;
end;
show errors
create or replace package body pkg_context is
CONTEXT_NAME constant all_context.namespace%type := 'MY_CONTEXT';
procedure set_context(p_parameter in varchar2, p_value in varchar2) is
begin
dbms_session.set_context(CONTEXT_NAME, p_parameter, p_value);
end;
function get_context(p_parameter in varchar2) return varchar2 is
begin
return sys_context(CONTEXT_NAME, p_parameter);
end;
end;
show errors
create or replace view tree_view as
select level lvl, chid
from tree
connect by prior parid=chid
start with chid = sys_context('MY_CONTEXT','CHID');
-- at runtime
exec pkg_context.set_context('CHID', 14)
select * from tree_view; -
How to print a messages inside pl/sql functions
I have this function whihc is very similar to a number of my other functions:
DECLARE
check_if_set VARCHAR2 (50);
BEGIN
FOR c IN (SELECT proposal_id
FROM student_current_project
WHERE student_id = :p4_student_id
AND second_reader_type != 'Confirmed')
LOOP
check_if_set := c.proposal_id;
END LOOP;
IF check_if_set IS NOT NULL
THEN
UPDATE student_current_project
SET second_reader_id = :p4_request_reader, second_reader_type = 'Request'
WHERE student_id = :p4_student_id;
HTP.print ('Request Reader sent.');
ELSE
HTP.print ('Reader Already Confirmed.');
END IF;
END;
The problem is with the printing to the screen. I basically want it to print like the process sucess message does but obviously there is two out comes listed above that it can print so i cant use the process sucess message. What is missing from the HTP.print statments above?
Thanks for your helpHey Dan,
I think you can do this with the Display-Only-Items.
So when you have a Display-Only-Item :P4_Message then your Process can be:
DECLARE
check_if_set VARCHAR2 (50);
BEGIN
FOR c IN (SELECT proposal_id
FROM student_current_project
WHERE student_id = :p4_student_id
AND second_reader_type != 'Confirmed')
LOOP
check_if_set := c.proposal_id;
END LOOP;
IF check_if_set IS NOT NULL
THEN
UPDATE student_current_project
SET second_reader_id = :p4_request_reader, second_reader_type = 'Request'
WHERE student_id = :p4_student_id;
:P4_Message := 'Request Reader sent.';
ELSE
:P4_Message := 'Reader Already Confirmed.';
END IF;
END;
Regards,
Tim -
How to use SQL function in Tabular Form
Edited by: JuniorNewbi on 03-Nov-2009 08:15
Hi
I want to have a Tabular Form in which the Report Source sql statement is retrieved via an SQL function, so that the resulting report can show a variable number of columns and column names.
The following great web site shows just the kind of thing i'm trying to do (Tabular Form Dynamic):
http://htmldb.oracle.com/pls/otn/f?p=31517:195:518536699796436::NO:::
However, as an Apex newbie, i don't know how to invoke the SQL function from within the page. The "Report Source" appears to only allow a static "select...." style of entry.
I don't have access to the Denes Kubicek's workspace so don't know how he would have invoked his PL/SQL Function.
Can anyone help?
Thanks in advance!
Edited by: JuniorNewbi on 03-Nov-2009 08:46 -
Hi
I included in a process flow a PL-SQL function as user defined transformation.
This PL-SQL function resides in my source database, from where I imported it in OWB.
When I am trying the run the Process Flow (from control center manager) I get the following message upon executing that function.
ORA-12154: TNS:could not resolve the connect identifier specified
When I don't include that function my process flow works. Mappings in my process flow read from the same source database as where the function is.
So I don't think it is caused by a problem with tnsnames.ora..
Thanks in advance for anybodies help.
HansHi Oleg,
Thanks for your reply. Indeed I didn't create a runtime repository.
However don't like to do that to for the source DB.
I wonder if I can get around that by executing a SQLplus script instead.
I tried this but my script does never complete when it is started from the process flow. If I run it in SQLplus it runs fine and completes instantly.
My script does:
update 1 column in one record of a table.
commit;
exit;
What do you think?
Thanks,
Hans -
Define our own Exceptions in th function builder
hi
how to define our own Exceptions in th function builder in the Exception tab and how to use them in functon definiton.
regards
ravishHi,
<b>Exceptions</b>
The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
<b>Note</b>
For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
Regards,
Padmam.<b></b> -
How to define variables in toad sql script editor - newbie
I have just pull out the script of a Function and want to run it on toad SQL editor.
I am little bit confused how to define the VARIABLEs here in toad SQL editor to run my script.
SELECT
NVL(SUM(debit), 0) - NVL(SUM(credit), 0)
INTO l_accountBalance
FROM
GLP_VoucherMaster vm
INNER JOIN GLP_VoucherDetail vd ON vm.GLP_VoucherMaster_ID = vd.GLP_VoucherMaster_ID
INNER JOIN GLP_ChartOFAccounts coa ON vd.GLP_ChartOfAccounts_ID = coa.GLP_ChartOfAccounts_ID
WHERE
vm.isActive = 'Y' AND vd.isActive = 'Y'
-- *** how to define variables in toad sql script editor ***
AND vm.voucherDate < p_cDate
AND coa.AccountCode LIKE p_accountCode || '%';
Thanks
w\Just prefix with a colon (:)
SELECT NVL (SUM (Debit), 0) - NVL (SUM (Credit), 0)
INTO L_accountbalance
FROM Glp_vouchermaster Vm
INNER JOIN
Glp_voucherdetail Vd
ON Vm.Glp_vouchermaster_id = Vd.Glp_vouchermaster_id
INNER JOIN
Glp_chartofaccounts Coa
ON Vd.Glp_chartofaccounts_id = Coa.Glp_chartofaccounts_id
WHERE Vm.Isactive = 'Y'
AND Vd.Isactive = 'Y'
AND Vm.Voucherdate < :P_cdate
AND Coa.Accountcode LIKE :P_accountcode || '%';
/:p -
How to define "leading" random number in Infoset fpr parallel processing
Hello,
in Bankanalyzer we use an Infoset which consists of a selection across 4 ODS tables to gather data.
No matter which PACKNO fields we check or uncheck in the infoset definition screen (TA RSISET), the parallel frameworks always selects the same PACKNO field from one ODS table.
Unfortunately, the table that is selected by the framework is not suitable, because our
"leading" ODS table which holds most of our selection criteria is another one.
How to "convince" the parallel framework to select our leading table for the specification
of the PACKNO in addition (this would be times 20 faster due to better select options).
We even tried to assign "alternate characteristics" to the packnos we do not liek to use,
but it seems that note 999101 just fixes this for non-system-fields.
But for the random number a diffrent form routine is used in /BA1/LF3_OBJ_INDEX_READF01
fill_range_random instead of fill_range.
Has anyone managed to assign the PACKNO of his choice to the infoset selection?
How?
Thanks in advance
VolkerWell, it is a bit more complicated
ODS one, that the parallel framework selects for being the one to deliver the PACKNO
is about equal in size (~120GB each) to ODS two which has two significant field which cuts down the
amount of data to be retreived.
Currently we execute the generated SQL in the best possible manner (by faking some stats )
The problem is, that I'd like to have a Statement that has the PACKNO in the very same table.
PACKNO is a generated random number esp. to be used for parallel processing.
The job starts about 100 slaves
Each slave gets a packet to be processed from the framework, which is internaly represented
by a BETWEEN clause on this PACKNO. This is joined against ODS2 and then the selective fields
can be compared resultin in 90% of the already fetched rowes can be discarded.
Basicly it goes like
select ...
from
ods1 T_00,
ods2 T_01,
ods3 T_02,
ods4 T_03
where
... some key equivalence join-conditions ...
AND T_00.PACKNO BETWEEN '000000' and '000050' -- very selective on T_00
AND T_01.TYPE = '202' -- selective Value 10% on second table
I'd trying to change this to
AND T_01.PACKNO BETWEEN '000000' and '000050'
AND T_01.TYPE = '202' -- selective Value 10%
so I can use a combined Index on T_01 (TYPE;PACKNO)
This would be times 10 more selective on the driving table and due to the fact,
that T_00 would be joined for just the rows I need, about a calculated time 20-30 faster.
It really boosts when I do this in sqlplus
Hope this clearyfies a bit.
Problem is, that I can not change the code either for doing the
build of the packets or the one that executes the application.
I need to change the Inofset, so that the framework decides to build
proper SQL with T_01.PACKNO instead of T_00.PACKNO.
Thanks a lot
Volker -
How to define namespace with one XSD using in two different DB-Locations ?
I'm not clear,How to define namespace, targetnamespace, schemaLocation or NoNamespaceSchemaLocation
when using one common schema.xsd-definition
in two different database-locations for exchange xml-documents?
when insert xml-document I've got an error ORA-30937
do you have an good exsample ?
thanks
Norbert
schema :
<xs:schema
xmlns="http://sourcehost.com/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:oraxdb="http://xmlns.oracle.com/xdb"
targetNamespace="http://sourcehost.com/namespace"
xml-document :
xmlns="http://Sourcehost.com/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://sourcehost.com/namespace http://desthost:8080/sys/schemas/PUBLIC/ADRESSEN.XSD">
SQL> insert into ADRESSEN values
(XMLType
(bfilename ( 'XMLIMPORT_DIR', 'adressen.xml')
, 0 )
--> error :
ORA-30937: No Schemadefinition for "SchemaLocation" (Namespace "http://www.w3.org/2001/XMLSchema-instance") in übergeordnetem Knoten "/ADRESSEN"Norbert
The schema location used to register the XML schema with XML DB does not need to be a valid URL for accessing the XML Schema
I can use the same URL , for instance
http://xmlns.example.scom/xsd/myXMLSchema.xsd
on machines dbserver1, and dbserver2. The only reason some people choose to use the hostname / portnumber convention is that this makes it possible to validate the XML Instance documents against the copy of the XML schema stored in the XML DB repository using an external tool like XMLSpy without have to add entries to XMLSpy's OASIS catalog files.
I am concerned about the message you are getting. That's not correct AFAICT but I'd need to see the complete XML Schema and Instance to be sure. -
How can I use the Rownum/Customized SQL query in a Mapping?
Hi,
* I need to use a Rownum for populating one of the target field? How to create a mapping with Rownum?
* How can I use an Dual table in OWB mapping?
* Can I write Customized SQL query in OWB? How can I achieve this in a Mapping?
Thanks in Advance
KishanHi Niels,
As I'm sure you know, the conundrum is that Reports doesn't know how many total pages there will be in the report until it is all done formatting, which is too late for your needs. So, one classical solution to this problem is to run the report twice, storing the total number of pages in the database using a format trigger, and throwing away the output from the first run when you don't know the total number of pages.
Alternatively, you could define a report layout so that the number of pages in the output is completely predictable based upon, say, the number of rows in the main query. E.g., set a limit of one, two, ... rows per page, and then you'll know how many pages there will be simply because you can count the rows in a separate query.
Hope this helps...
regards,
Stewart -
How to define the date format for this date string
2006-11-13 00:00:00.0
How to define the date format in control file for sqlldr. "yyyy-mm-dd hh24:mi:ss" or "yyyy-mm-dd hh24:mi:ss.FF1" does not work
thanks,SQL> desc t
Name Null? Type
TS TIMESTAMP(6)
SQL> !cat t.ctl
load data
into table t
truncate
(ts timestamp "YYYY-MM-DD HH24:MI:SS.FF1")
SQL> !cat t.dat
2006-11-13 00:00:00.0
SQL> !sqlldr userid=scott/tiger control=t.ctl data=t.dat log=t.log
SQL*Loader: Release 10.2.0.3.0 - Production on Fri Sep 7 11:19:28 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 1
SQL> select * from t;
TS
13-NOV-06 12.00.00.000000 AMBest regards
Maxim -
How to define a Bit Mask in Lab Windows.
Hello,
I'd like to know how to define a bit mask for a control box in LabWindows/CVI.
If there's more information that I need to be aware of, please let me know.
Thank you,
Harold.Thanks fsitja.
I presume that SQL*LOADER does not handle timezones directly like it does DATE.
So instead of this:
APPEND INTO TABLE ImpTable
DATETIME DATE 'DD/MON/YYYY:HH24:MI:SS TZHTZM' TERMINATED BY ' ' ENCLOSED BY '[' and ']'
I would use an expression like this?
APPEND INTO TABLE ImpTable
DATETIME "TO_TIMESTAMP_TZ(dt, 'DD/Mon/YYYY HH:MI:SS TZHTZM', 'NLS_DATE_LANGUAGE=ENGLISH')" TERMINATED BY ' ' ENCLOSED BY '[' and ']'
And I would convert the table column from a DATE field into a TIMESTAMP field.
Would this slow me down during a DirectPath Load?
Maybe you are looking for
-
I purchased movies from my old iPos and transferred them to my PC. When I try to transfer them back to my new iPod from my same PC I can't. What am I doing wrong.
-
Combobox removing focus?
Why when I use the combobox component does it remove focus from other movieclips?? For instance...I have a button with onRollOver and onRollOut functions. These work fine, but once I click on a combobox, they break...and won't work. I've looked in ot
-
How to identify selected layers in layer panel of Photoshop?
Hi everyone, I'm working on a Photoshop plug-in, and I want to identify selected layers in layer panel. As I tested so far, didn't came up with a solution.. If anyone can provide me a solution it will be greatly appreciated, Thanks in advanced.. Nuwa
-
All, I am creating a web service based on the advanced tutorial for apex 3.2 but somehow the provided referenced URLs don't work any more like, http://www.ignyte.com/webservices/ignyte.whatsshowing.webservice /moviefunctions.asmx?wsdl also entering p
-
Hello, Where in Designer, Can I associate a role to a menu item??? I know that in Forms builder, it's a property of the menu item..... Thanks,