PL/SQL: Fehler "PLS-00306: falsche Anzahl oder Typen der Argumente im Aufruf" ausgelöst, für die Tabelle von zahlen

Ich versuche zu rufen, eine API mit der genauen Prozedur-Signatur, aber irgendwie ist die Tabelle von zahlen, die ich nicht glaube, ist richtig erkannt.

API-definition:

TYPE NUMLIST IS TABLE OF NUMBER INDEX BY VARCHAR2(50);

PROCEDURE GETSERVICES_API
(
   I_DIMOBJID IN NUMBER, I_OBJECTID IN NUMBER, I_FILTER IN NUMBER, 
   O_ERRORCODE OUT NUMBER, O_ERRORTEXT OUT VARCHAR2, O_SERVICELIST OUT NUMLIST
);

Mein Aufruf-API:

DECLARE

   TYPE NUMLIST IS TABLE OF NUMBER INDEX BY VARCHAR2(50);
   lt_SERVICELIST              NUMLIST;

   ls_errortext             varchar2(100);
   ln_errorcode             number;

BEGIN


    PKGCOMSUPPORT_SERVICE.GETSERVICES_API(I_DIMOBJID => 6,
                                          I_OBJECTID => 5263,
                                          I_FILTER => 3,
                                          O_ERRORCODE => ln_errorcode,
                                          O_ERRORTEXT => ls_errortext,
                                          O_SERVICELIST => lt_SERVICELIST);

END;

Wenn ich mein call of API bekam ich: PLS-00306: falsche Anzahl von Typen der Argumente in Aufruf von " GETSERVICE_API

Irgendeine Idee warum? Dank

  • haben Sie versuchen, Ihre NUMLIST Typ-Deklaration außerhalb Ihrer pl/sql-block?
  • Nein, ich habe nicht versucht, sollte aber die gleiche Sache.
  • Ich glaube nicht, dass Sie erstellen können, - Typen in pl/sql-block, Sie sind Datenbank-Objekte
InformationsquelleAutor Alin | 2013-10-23
Schreibe einen Kommentar