Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback, please email oracle-forums_moderators_us@oracle.com

ORDS 23.4 with PL/SQL. PLS-00306: wrong number or types of arguments in call to

ElenaLoJan 26 2024 — edited Jan 26 2024

I use ORDS 23.4 with Tomcat 9.0.85
I have a simple package PL/SQL with a form which use a (TYPE t_param IS TABLE OF VARCHAR2(4000))

When I compile and run for first time it works correctly, but when I change de name of variable a2_test (all occurrencies), it throw PLS-00306: wrong number or types of arguments in call to 'SEND'. If I change the name of the procedure it works and run correctly again.

Perhaps version 23.4 uses some cache, the same code after a 1 hour pass, works fine, too.

With ORDS 21.4.2 and Tomcat 9.0.60 it works allways correctly.

Here is the code for test the problem:

SET DEFINE OFF;
CREATE OR REPLACE PACKAGE TEST_PACKAGE AS
   TYPE t_param IS TABLE OF VARCHAR2(4000)
        INDEX BY BINARY_INTEGER;
   PROCEDURE TEST;
   PROCEDURE SEND(a2_test t_param);
   FUNCTION authorize RETURN BOOLEAN;
END TEST_PACKAGE;
/
CREATE OR REPLACE PACKAGE BODY TEST_PACKAGE AS
--------------------------------------------------------------------------------------------------------------
PROCEDURE TEST IS
    i INTEGER:=0;
BEGIN
    htp.print('<html><body>');
    htp.print('<H1>Test</H1>');
   htp.formOpen(owa_util.get_owa_service_path||'TEST_PACKAGE.send', 'POST', cattributes=>'name="Form1"');
   FOR i IN 1..5
   LOOP
      htp.formHidden('a2_test',1);
   END LOOP;
   htp.br; htp.br;
   htp.print('<input type="submit" value="Send" CLASS="boto">');
   htp.formClose;
   htp.print('</body></html>');
END test;
-------------------------------------------------------------------------------------------------------------
PROCEDURE SEND (a2_test t_param) IS
BEGIN
   htp.bold('Send ok');
END send;
-------------------------------------------------------------------------------------------------------------
FUNCTION authorize RETURN BOOLEAN IS
BEGIN
    RETURN (TRUE);
END authorize;
--------------------------------------------------------------------------------------------------------------
END TEST_PACKAGE;
Comments
Post Details
Added on Jan 26 2024
4 comments
163 views