> in the calling package render this array
> available to any package
> being called by the calling package or program?
This is confusing. Packages don't call, and aren't called.
Procedures and functions do that. And visibility is not something a
caller passes on to a callee.
If you have
Package One is ... end One;
Package Two is ... end Two;
and you want to change them so they both have access to X and P in
Package Database is
X : Boolean;
then add "with Database;" to the "with" list of each of One and Two and
each will be able to refer to the boolean Database.X and the procedure