PLS-00323
subprogram or cursor 'string' is declared in a package specification and must be defined in the package body

Version

11.2

Cause

A subprogram specification was placed in a package specification, but the corresponding subprogram body was not placed in the package body. The package body implements the package specification. So, the package body must contain the definition of every subprogram declared in the package specification.

Action

Check the spelling of the subprogram name. If necessary, add the missing subprogram body to the package body.

Ben
2008-05-06 15:13:07
Don't look only the spelling of the procedure name but also the spelling of all parameters.
ei03062@FEUP
2008-05-26 18:30:18
Check whether the subprogram specification in the package specification has all the subprogram parameters.
Rajesh
2008-07-02 14:50:09
I had declared the fucntion in the body but was getting the error because my return type in spec was number and in the body was integer
yrene
2008-08-05 12:42:11
en una actualizacion, considerar que los tipos de datos de las nuevas variales deben ser iguales a la de los campos que se desean actualizar
A mi daba este error justamente por eso
Saravanan.
2008-10-18 22:23:24
What a nice explanation. It is very helpful.
Gus @ Wipro
2009-09-02 17:58:41
You should check:

1)Name of parameters;
2)Type of parameters;
3)Order of parameters
Joe
2010-03-11 15:43:26
Great help. One of my parameters was spelled differently in the header. I changed it and the package compiled.
Chris
2010-05-25 15:43:50
My variable type was mentioned varchar in body instead of varchar2 which caused this problem. Thanks for your help.
Shahzad
2010-09-03 21:04:20
"02/07/2008 15:50:09 by Rajesh
I had declared the fucntion in the body but was getting the error because my return type in spec was number and in the body was integer"
I encountered exactly same thing and fixed it after seeing your post and debugging for almost an hour.
Luanna
2010-09-17 21:58:53
I'm so glad I saw this post before exerting a lot of time trying to find the problem. It was the misspelling of a variable, so my trouble-shooting time was less than 5 minutes because of this post.
Epictetus
2010-11-09 13:18:02
Great post thanks - I could have spent hours trying to troubleshoot a spelling error if I hadnt checked here first!
LazyPLSQLDvlpr
2010-12-13 16:19:22
Thank you guys for making my debug easy. I needed these suggestions.
vids
2011-02-14 15:43:28
Hey mine was mis-spelt too. thanks for the help.
Setty
2011-07-25 11:24:20
Thanks.. Great Help.

There was a spelling mistake
Pratap
2011-10-15 05:23:21
do check the order in which the parameters are defined in spec and body.
my order of the parameters were different and so i was getting this error.
Raju
2011-12-01 15:19:57
Just Look into the below points
1)Name of procedure;
2)Number of parameters;
3)Name of parameters;
4)Type of parameters;
5)Order of parameters


QUEENY
2012-04-05 07:26:20
Oh my God.. yes it really saved my time.. :)
Aniruddh Tiwari
2012-05-23 14:52:29
add one more to the list.

PARALLEL_ENABLED.

Spec did not had this but body did.
Like this
FUNCTION Find_dirty_word
(
i_source_field IN VARCHAR2
)
RETURN VARCHAR2
PARALLEL_ENABLED
AS

Once i take it off it executes successfully. Hope this will help someone.
Nt
2012-09-13 18:36:17
Thanks a lot, it helped

I had declared one of my parameters as IN parameter in body and not given IN in specification
Jose fonseca
2013-03-08 19:56:42
Puede tambien tomar la propiedad del campo de la tabla ;
Ejemplo :
declare
nCampo_01 NOMBRE_TABLA.CAMPO_01%TYPE

Este ejemplo es para evitar que no se confunda los tipos de datos.
ejemplo 2 :

FUNCTION test_val (cCodCia POLIZACT.CODCIA%TYPE , cCodOper TRANS_CONTA_BLE1.CODOPER%TYPE , nNumOper TRANS_CONTA_BLE1.NumOper%TYPE)
RETURN VARCHAR2 IS



More Information

The Google Search results shown above are obtained by searching for this error using a custom google search engine which is restricted to a specific list of oracle reference sites. If you know a good oracle reference/help site and think that site should be included in this search, you can contribute to this search engine here.