PLS-306 WHILE CALLING A REMOTE PROCEDURE USING A PL/SQL TABLE AS A PARAMETER (Doc ID 1018401.102)

Last updated on JULY 05, 2017

Applies to:

PL/SQL - Version 8.1.7.4 and later
Information in this document applies to any platform.
***Checked for relevance on 26-Aug-2013***

Symptoms

PLS-306 WHILE CALLING A REMOTE PROCEDURE USING A PL/SQL TABLE AS A PARAMETER

You have created two packaged procedures, one on a local machine and the other on a remote machine.  You have defined a PL/SQL table type within both package specifications.  The remote procedure is defined to accept a PL/SQL table of the defined table type as a parameter.  The PL/SQL table created within the local procedure is declared and passed to the remote procedure.  The remote procedure is responsible for populating the PL/SQL
table.

The remote package spec and body compiles successfully.  The local package spec compiles fine.  However, the package body generates the following compilation error:

   PLS-00306: wrong number or types of arguments in call to <name>

The following is sample code which produces the problem:

 
Observations:

Warning: Package Body created with compilation errors.

SQL> show errors
Errors for PACKAGE BODY LOCALPACKAGEERR:

LINE/COL ERROR
-------- -----------------------------------------------------------------
7/7      PL/SQL: Statement ignored
7/7      PLS-00306: wrong number or types of arguments in call to 'CALLPROC'

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms