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 stand-alone 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.