How to raise Workflow error from pl/sql procedure
Hi,
I have this OWB mapping that runs a PL/SQL procedure. The mapping is deployed to Workflow and OEM. The workflow is scheduled and run from OEM,
and I can watch its progress/completion in the Workflow Monitor. Occasionally, the PL/SQL hits a situation I want to flag as an error to OWF so
that the OWF standard error process can be activated.
How can I do that? I try to raise an exception from the proc by calling OWF's core API (WF_CORE.RAISE etc.), but nothing happens.
From Workflow monitor no errors are detected, and the workflow seems to complete normally.
Any clues?
Regards
Rolf
Rolf,
I am no workflow expert but it seems to me that you trying to build a workflow exception handler by using the engine APIs (WF_ENGINE). In particular, you could call the WF_ENGINE.ABORT_PROCESS API and set the status to exception. This can be called from an exception handler using the WF_ENGINE.HandleError API.
As far as I know, the WF_CORE API mentioned by you will simply return an exception to the caller, but this will not affect the process flow.
For more details, please take a look at the workflow documentation, in particular if you log into the metalink site (metalink.oracle.com), go to the document http://metalink.oracle.com/cgi-bin/cr/getfile_cr.cgi?282250 which is the user's guide and look under chapter 8 which deals with APIs.
Regards:
Igor
Similar Messages
-
How to call javascript function from PL/SQL procedure
Can anybody advice me how to call javascript function from PL/SQL procedure in APEX?
Hi,
I have a requirement to call Javascript function inside a After Submit Process.
clear requirement below:
1. User selects set of check boxes [ say user want to save 10 files and ticks 10 checkboxes]
2. user clicks on "save files" button
3. Inside a After submit process, in a loop, i want to call a javascript function for each of the file user want to save with the filename as a parameter.
Hope this clarify U.
Krishna. -
How to call java class from pl/sql procedure ?
Hello everyone,
My query is..
There is one pl/sql stored procedure which is doing some business logic and storing data in some columns of one table, suppose the table name is 'ABC' .. and the rest of columns of table ABC are getting updated using java class. Now my problem is whenever I insert data in ABC using store proc.. i have to call that java class so that it will update the rest columns ( why java class for updating the columns in ABC is ..because that logic cant be done from pl/sql proc.. it has to be done using java )
and the other thing is.. oracle is in one machine and java is in another .. :(
hope ..u can help me out !!
Thank in advance !!but that updation have to be done from java code only.. we are using GIS tools .. have to create some shape files and update the column with that shape file.. so creation of shape file has to be done from java code only..
so how to call java class file which is on another machine and oracle in another.. -
Sending message from PL/SQL procedure to form
Hello Friends,
How can I send messages from PL/SQL procedure to Form ?
Ultimate target is catching progress of PL/SQL procedure from
form. I heard about DBMS_PIPe but not sure,.
AdiHello,
Yeah , I got the solution using DBMS_PIPE function,I
followed following steps.
1. Pipe is created. see below procedure.
create or replace procedure proc_testpipe as
v_pipe_integer integer;
v_pipe_message integer;
begin
v_pipe_integer := DBMS_PIPE.Create_Pipe('adipipe');
dbms_pipe.pack_message('Hello Adinath Kamode,Message
from Pipe');
v_pipe_message := dbms_Pipe.Send_message('adipipe');
end;
end;
2. then I created one Function which will obtain message from
Pipe and
will return value to form.
create or replace function proc_callpipe return varchar2 as
v_msg integer;
v_rem integer;
v_message varchar2(500);
begin
v_msg:=dbms_pipe.receive_message('adipipe');
dbms_pipe.unpack_message(v_message);
dbms_pipe.purge('adipipe');
v_rem := dbms_pipe.remove_pipe('adipipe');
return(v_message);
end;
3. Last I called this function from form.
Cheers .. !
Adi -
How to raise an event from a program
Hi,
I am creating a workflow for HR, the person will request a basic pay change than, this will start the workflow. For this i am making a screen from where i need to triger the event for the workflow.
Does anybody has any idea? of how to raise an event from a program. or has anybody worked on a scenario like this
Khusro HabibYou can also use the FM SAP_WAPI_CREATE_EVENT which is a little newer I think. (I don't have access to a system today so that may not be the exact name of the FM but if you search SE37 under SAPWAPIEVENT* you should find it.
the parameters will be the event name, and the object key. The object key will be the key field of the workflow object you are using.
For example if you were using the saled document object then the object key would be the sales document number. Carefull how you enter the object key, it can be a little tricky on whether or not you need the leading zeros in the input parameter.
Hope this helps.
Brent -
How to call web services from PL/SQL?
Hi,
Can one help in how to call web services from PL/SQL? Steps, pros and cons, etc....
Thanks in advanceHere's some example skeleton code to get you started...
PROCEDURE p_soap_request(p_username IN VARCHAR2, p_password IN VARCHAR2, p_proxy IN VARCHAR2) IS
soap_request VARCHAR2(30000);
soap_respond CLOB;
http_req utl_http.req;
http_resp utl_http.resp;
resp XMLType;
soap_err exception;
v_code VARCHAR2(200);
v_msg VARCHAR2(1800);
v_len number;
v_txt Varchar2(32767);
BEGIN
UTL_HTTP.SET_PROXY(p_proxy);
-- Define the SOAP request according the the definition of the web service being called
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>'||
'<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'||
' <SOAP-ENV:Body>'||
' <m:DownloadRequest xmlns:m="http://www.website.net/messages/GetDetails">'||
' <m:UserName>'||p_username||'</m:UserName>'||
' <m:Password>'||p_password||'</m:Password>'||
' </m:DownloadRequest>'||
' </SOAP-ENV:Body>'||
'</SOAP-ENV:Envelope>';
http_req:= utl_http.begin_request
( 'http://www.website.net/webservices/GetDetailsService.asmx'
, 'POST'
, 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml');
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'Download', ''); -- header requirements of particular web service
utl_http.write_text(http_req, soap_request);
http_resp:= utl_http.get_response(http_req);
utl_http.get_header_by_name(http_resp, 'Content-Length', v_len, 1); -- Obtain the length of the response
FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
LOOP
utl_http.read_text(http_resp, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
soap_respond := soap_respond || v_txt; -- build up CLOB
END LOOP;
utl_http.end_response(http_resp);
resp:= XMLType.createXML(soap_respond); -- Convert CLOB to XMLTYPE
END;Using secure web services (https)...
Web serivces call in Plsql
As for 'pros and cons'... there's nothing to compare against... either you want to call a web service or you don't. -
How to solve this error from window phone 80073cf9 lumia 630.
any one know how to solve this error from window phone 80073cf9 lumia 630.
Hello Muhammad,
We appreciate the post, but this forum is for Windows Store and Phone Developer related questions. Your question can best be answered through the
Windows Phone support page.
Thanks!
-Jonathan
Windows Store Developer Support
Office Store Developer Support -
Returing array from PL/SQL procedure
Hi,
I am trying to return array from PL/SQL procedure. Heres is the code. I am getting an error "OracleParameter.ArrayBindSize is invalid ".
Will anybody let me know what is wrong in following code. or does anybody have code to return PL/SQL array using VB.NET.
oCommand.CommandText = "MyPack.TestVarchar2"
oCommand.CommandType = CommandType.StoredProcedure
Dim id As Integer = 10
Dim deptname As String()
Dim oParam1 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("id", Oracle.DataAccess.Client.OracleDbType.Int32)
Dim oParam2 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("deptname", Oracle.DataAccess.Client.OracleDbType.Varchar2)
oParam1.Direction = ParameterDirection.Input
oParam2.Direction = ParameterDirection.Output
oParam1.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.None
oParam2.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray
oParam1.Value = id
oParam2.Value = ""
oParam1.Size = 10
oParam2.Size = 20
oCommand.Parameters.Add(oParam1)
oCommand.Parameters.Add(oParam2)
oCommand.ExecuteNonQuery()
Thanks
SameerThanks Arnold for the reply..
Yes, I am trying to get result set in array which is unknow to me (No of rows return by the query). For the test I will pre-define the result set so that I will able to set ArrayBindSize.
I have read C# example but when I try to write it in VB.NET it gives me syntax error when I try to set the ArrayBindSize.
oParam.ArrayBindSize = new int[3]{15,23,13} // individual max size of 3 outputsWill you please let me know how to set ArrayBindSize (VB.NET) because I am new to this..
There is an example at otn "How to: Bind an Array to an ODP.NET Database Command" which does multiple INSERTs in one trip to database. This works fine. I need to do same for the SELECT statement which will return me multiple rows. I do not mean refCursor. If I use refCursor, it will make soft parse which I am trying to avoid using this Array techniq.
Thanks
Sameer -
Run report from PL/sql procedure
Please any one tell how to I run a report from pl/sql procedure.
I am not sure, but depending on your environment you can create a script to run your PL/SQL code and then generate the report. As is customary in an UNIX environment utilizing shell scripts.
-
Send a report to report server from PL/SQL Procedure
Hi Report Gurus,
Please can I know how to run a report from pl/sql stored procedure. Is there any way to execute URL from PL/SQL?
Thanks,
Simi.Why, yes there is!
If you're talking about PL/SQL stored in the database, check the function UTL_HTTP.REQUEST. A "describe utl_http" in SQL*Plus will do the trick.
But if you're talking about PL/SQL inside Forms, you can use WEB.SHOW_DOCUMENT instead.
Hope this helps,
Pedro das Neves
([email protected]) -
Creating Excel Workbook from PL/SQL Procedure
I am trying to create Excel Workbook with two worksheets from PL/SQL procedure. I created one worksheet. Can I create a separate sheet from same procedure. I used OWA_UTIL.MIME_HEADER ('application/vnd.ms-excel', FALSE)
command to create the spreadsheet.
Any help would be helpful.
Thanks
Yagna ShahFurther to my previous post here is how I will develop a typical master details excel report.
by using the package,
It will also show sum of salary at each department.
Note : When I paste the code here I loose the indentation. So the code below is not indented properly.
DECLARE
r NUMBER := 0 ; --- r IS the ROW NUMBER IN this excel file
l_sum NUMBER ;
BEGIN
--- Generate the styles that we need
gen_xl_xml.create_excel( 'UTL_DIR','master_Detail.xls') ;
gen_xl_xml.create_style( 'dept_title' , 'Arial', 'Red',14, p_backcolor => 'LightGray' );
gen_xl_xml.create_style( 'sgs2' , 'Arial', NULL ,10, p_bold => TRUE );
gen_xl_xml.create_style( 'sgs3' , 'Arial', 'blue',14 );
gen_xl_xml.create_style( 'sgs4' , 'Arial', 'green',14 );
gen_xl_xml.create_style( 'emp_title' , 'Arial', 'Black',9, p_backcolor => 'LightBlue' );
gen_xl_xml.create_style( 'sal_tot' , 'Arial', 'Brown',13, p_backcolor => 'Yellow' );
-- SET ANY COLUMN AND ROW changes
gen_xl_xml.set_column_width( 3, 145 );
gen_xl_xml.set_column_width( 4, 145 );
l_sum := 0 ;
FOR recd IN ( SELECT department_id, department_name FROM departments ) LOOP
IF l_sum <> 0 THEN
r := r +1 ;
gen_xl_xml.write_cell_char( r, 4, 'Department Total ->' , 'sal_tot' );
gen_xl_xml.write_cell_num( r, 5, l_sum , 'sal_tot' );
l_sum := 0;
END if ;
r := r+1 ;
gen_xl_xml.write_cell_CHAR( r,1, 'Department : '|| recd.department_name , 'dept_title' );
-- As we need same style applied till the above data flows use write_cell_null
gen_xl_xml.write_cell_NULL( r,2 , null );
gen_xl_xml.write_cell_NULL( r,3, 'dept_title' );
gen_xl_xml.write_cell_NULL( r,4, 'dept_title' );
gen_xl_xml.write_cell_NULL( r,5, 'dept_title' );
--- Add employee heading
r := r+1 ;
gen_xl_xml.write_cell_CHAR( r,2, 'EmployeeID' , 'emp_title' );
gen_xl_xml.write_cell_CHAR( r,3, 'First Name' , 'emp_title' );
gen_xl_xml.write_cell_CHAR( r,4, 'Last Name' , 'emp_title' );
gen_xl_xml.write_cell_CHAR( r,5, 'Salary' , 'emp_title' );
FOR rec IN (SELECT employee_id , first_name , last_name, salary FROM employees WHERE department_id = recd.department_id ) LOOP
r := r+1 ;
gen_xl_xml.write_cell_num( r,2, rec.employee_id, 'sgs2' );
gen_xl_xml.write_cell_char( r,3, rec.first_name, 'sgs3' );
gen_xl_xml.write_cell_char( r,4, rec.last_name , 'sgs4' );
gen_xl_xml.write_cell_num( r,5, rec.salary );
l_sum := l_sum + rec.salary ;
END LOOP ;
END LOOP ;
gen_xl_xml.close_file ;
END ;
----------------------------------------------------------------------------------------------------------------- -
Sending OS command from PL/SQL procedure
"How can I send a operating system comand from PL/SQL procedure?
I want to move , to copy , delete a file from a PL/sql procedure. i.e under unix send mv, cp or
rm command";
my e-mail is [email protected]take a look at
http://asktom.oracle.com/pls/ask/f?p=4950:8:881946
regards
Freek D'Hooge
"How can I send a operating system comand from PL/SQL procedure?
I want to move , to copy , delete a file from a PL/sql procedure. i.e under unix send mv, cp or
rm command";
my e-mail is [email protected] -
Creating web service from pl/sql procedure
Hello.
I need to create a web service from pl/sql procedure and i chose JDeveloper for this implementation. I have wsdl, but I never created web services. So, I created web service with document/literal message format.
But I have several troubles:
1. All element names have lower case letters.
2. The SOAP envelope must begin from words soapenv:Envelope but i have soap:Envelope.
3. And operation name has tail like "Element".
I know bad way for implement 1 and 3 points. It's a modification of java_wsdl_mapping.xml and wsdl files. But if I want to add new method to my service all changes will be cleaned. It's not critical but inconvenient to support.
But for point 3 i have no ideas.
This task is very important for me. Can somebody help me?
JDeveloper 10.1.3.3
Regards,
Alekseyhttp://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm
Frank -
Unix shell script run from pl/sql procedure
Hi Guru
I want to run unix shell script from pl/sql procedure. Actual I want to run it from developer 10g form.
Please guide me in this regards
Regards
JewelLook at the host or client_host builtins in the help
-
How to ftp a file within PL/SQL procedure?
Hi, all:
Any idea of how to ftp a file within PL/SQL procedure? I have scheduled a job to periodically generate a file and want to ftp this file to another machine. I know crontab can do the ftp part, since we can send email within Oracle, I am wondering whether we can ftp within Oracle as well? Thanks a lot!http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:150612348067
Maybe you are looking for
-
How far back in time does iCal go (accurately)?
Silly question, I know, but is there a built in limit or a point at which iCal becomes inaccurate?
-
I can't log in into Skype from my computer!!
I've been having some problems with my computer lately, and now Skype is having problems I want to log in, because it is urgent to have a chat via Skype, but I can't! I start up the program, then put my correct username and password, but when I press
-
Copy option in iBooks app has disappeared
Hello, I just discovered that the copy option in iBook app disappeared (in the same book). Not the first time, in the past had to reinstall the application to appear again but this time not served. This happened to anyone else? Thanks! Marco
-
Hi, When I asked my question in the "New to Java" forum, I was redirected here. Here is my question: I've just created my first JTable (inside a JScrollpane, inside a JPanel, inside a JFrame). It seems to work ok, except that when I type data into ce
-
Hi, I remember reading well before Leopard was released that there was a much hyped feature called resolution independence which was supposed to be included. Since then I haven't heard anything regarding this. On monitors at higher resolution such as