I have a package named save_db_values
I have two procedures named store_records and another one called db_activities.
db_activities will be called from my application by passing all values in db_activities I will be calling store_records procedure to do insert and delete.
Do I need to define store_records procedure in package specification? When I did not define store_records in specification I am getting error store_records not declared in this scope.
store_records procedure I do not want to expose and hence I did not add in specification.
How can I resolve this issue?
If you do not want some procedures to be publicly available you may not to declare them in the package specification. Declare them only in the package body. The cause of the error you are facing is declaration order of the procedures in the package body or lack of forward declaration. For example:
This is happening because we are calling
Proc2which declared later in the package. In this case our choices are:Declare
pro2before the procedure which calls itUse forward declaration.