Message Oracle PLS-00900 - cant find body of unit string

ERRORcant find body of unit string
CAUSEAt run time, the body of a program unit could not be found. This can happen for one of two reasons. -- First, there may be a unit a which calls a module b, where the spec for b exists but not the body. In this case, since the spec is present, there will be no compile-time errors. -- Secondly, this can occur if there is a reference to a sequence outside of the proper context such as a SQL statement. In this case, the spec of the sequence reference can be found, but it is invalid to actually run code which references the sequence outside a SQL statement, as in: i : = seq.nextval;
ACTIONIf caused by the first reason, create a body for the object that is being referenced. If caused by the second reason, move the sequence into a SQL statement. For example, i : = seq.nextval; can be replaced by: select seq.nextval into temp from dual; i : = temp;