My Oracle Support Banner

Unable To Use Procedure With IN OUT Variable On Portal 11g (Doc ID 1615758.1)

Last updated on FEBRUARY 06, 2019

Applies to:

Portal - Version 11.1.1.7.0 and later
Information in this document applies to any platform.

Symptoms

Running a procedure which has an IN OUT parameter using FMW11g PL/SQL is failing.

The browser is showing:

Unable to process request. Please check the log file for more details.

OHS access_log:

11.22.33.44 - - [14/Jan/2014:05:29:00 -0500] "GET /portal/pls/portal/dev_portal.test.proc1 HTTP/1.1" 200 199
11.22.33.44 - - [14/Jan/2014:05:29:12 -0500] "GET /favicon.ico HTTP/1.1" 404 194
11.22.33.44 - - [14/Jan/2014:05:29:17 -0500] "GET /portal/pls/portal/dev_portal.test.proc2?text=Informa%C3%A7%C3%A3o%20correta! HTTP/1.1" 404 70

WLS_Portal.out:

ORA-06512: at line 33>

 

WLS_Portal-diagnostic.log:

[2014-01-14T05:29:17.473-05:00] [WLS_PORTAL] [ERROR] [] [oracle.portal] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ] [ecid: <ECID>] [APP: portal] [URI: /portal/pls/portal/dev_portal.test.proc1] ERROR: Repository Gateway error: Database Error: ORA=6502 ORA-06502: PL/SQL: numeric or value error: character string buffer too small[[
ORA-06512: at line 33
]]
[2014-01-14T05:29:17.601-05:00] [WLS_PORTAL] [NOTIFICATION] [] [oracle.portal] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ] [ecid: <ECID>] [APP: portal] [URI: /portal/pls/portal/dev_portal.test.proc1] Oracle error: ORA-6502


The same procedure works fine using 10g.

Here is a test procedure:

CREATE OR REPLACE package DEV_PORTAL.test is
procedure proc1;
procedure proc2(text in out varchar2);
end;
/

CREATE OR REPLACE package body DEV_PORTAL.test is
procedure proc1 is
begin
htp.htmlopen;
htp.bodyopen;
htp.p('Parameter text=<SAMPLE_TEXT>');
htp.br;
htp.p('<input type="button" value="Go" onClick="window.location.replace(''dev_portal.test.proc2?text=<SAMPLE_TEXT>'');">');
htp.bodyclose;
htp.htmlclose;
end;

procedure proc2(text in out varchar2) is
begin
htp.htmlopen;
htp.bodyopen;
htp.p('Text received='||text);
htp.br;
htp.p('<input type="button" value="Back" onClick="window.location.replace(''dev_portal.test.proc1'');">');
htp.bodyclose;
htp.htmlclose;
end;

end;
/

grant execute on test to PUBLIC
/

======================

http://<HOSTNAME>:<PORT>/portal/pls/portal/dev_portal.test.proc1
Click GO
Unable to process request. Please check the log file for more details.
=========================

Did testing in 11g and temporarily changed procedure proc2(text in out varchar2) is  

to procedure proc2(text in varchar2) is

http://<host>:<port>/portal/pls/portal/dev_portal.test.proc2?text=test  

Works as expected.

============

Change to procedure proc2(text in out varchar2) is  

http://<host>:<port>/portal/pls/portal/dev_portal.test.proc2?text=test 

Fails 

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.