Which two statements about object dependencies are accurate? (Choose two.)
A.
When referencing a package procedure or function from a stand-alone procedure or function, if
the package specification changes, the package body remains valid but the stand-alone procedure
becomes invalid
B.
When referencing a package procedure or function from a stand-alone procedure or function, if
the package body changes and the package specification does not change, the stand-alone
procedure referencing a package construct remains valid.
C.
When referencing a package procedure or function from a stand-alone procedure or function, if
the package body changes and the package specification does not change, the stand-alone
procedure referencing a package construct becomes invalid
D.
When referencing a package procedure or function from a stand-alone procedure or function, If
the package specification changes, the stand-alone procedure referencing a package construct as
well as the package body become invalid
Explanation:
B: One of the advantages with packages is the improved handling of dependencies. The package
structure separates the program unit code (body) from the program unit header (specification). If
modifications are made to the code in the package body and the package specification remains
unchanged, the status of dependent objects are not changed to INVALID, as is the case with stand-alone program units.
D: If you change the package specification any objects including stand-alone procedures or\
functions that reference the package are invalidated. When you change the Package specification
the status of the package body is set to invalid.
Incorrect Answers:
A: When you change the package specification the package body becomes invalid and the standalone procedures become invalid.
C: If modifications are made to the code in the package body and the package specification
remains unchanged, the status of dependent objects are not changed to INVALID.