Question: What is wrong with this question. Any assistance will be appreciated. In this assignment, you modify a package to make program units private. The Brewbeans

What is wrong with this question. Any assistance will be appreciated.

In this assignment, you modify a package to make program units private. The Brewbeans programming group decided that the SHIP_NAME_PF function in the ORDER_INFO_PKG package should be used only from inside the package. Follow these steps to make this modification:

In notepad, open Assignment 07-03.txt file in the Chapter07 folder, and review the package code.

SQL

Part 1:

1. CREATE OR REPLACE PACKAGE order_info_pkg IS

2. FUNCTION ship_name_pf

3. (p_basket IN NUMBER)

4. RETURN VARCHAR2;

5. PROCEDURE basket_info_pp

6. (p_basket IN NUMBER,

7. p_shop OUT NUMBER,

8. p_date OUT DATE);

9. END;

10.

11. CREATE OR REPLACE PACKAGE BODY order_info_pkg IS

12. FUNCTION ship_name_pf

13. (p_basket IN NUMBER)

14. RETURN VARCHAR2

15. IS

16. lv_name_txt VARCHAR2(25);

17. BEGIN

18. SELECT shipfirstname||' '||shiplastname

19. INTO lv_name_txt

20. FROM bb_basket

21. WHERE idBasket = p_basket;

22. RETURN lv_name_txt;

23. EXCEPTION

24. WHEN NO_DATA_FOUND THEN

25. DBMS_OUTPUT.PUT_LINE('Invalid basket id');

26. END ship_name_pf;

27. PROCEDURE basket_info_pp

28. (p_basket IN NUMBER,

29. p_shop OUT NUMBER,

30. p_date OUT DATE)

31. IS

32. BEGIN

33. SELECT idshopper, dtordered

34. INTO p_shop, p_date

35. FROM bb_basket

36. WHERE idbasket = p_basket;

37. EXCEPTION

38. WHEN NO_DATA_FOUND THEN

39. DBMS_OUTPUT.PUT_LINE('Invalid basket id');

40. END basket_info_pp;

41. END;

Modify the package code to add to the BASKET_INFO_PP procedure so that it also returns the name an order is shipped by using SHIP_NAME_PF function. Make the necessary changes to make the SHIP_NAME_PF function private.

SQL

CREATE OR REPLACE PACKAGE order_info_pkg IS

FUNCTION ship_name_pf

(p_basket IN NUMBER)

RETURN VARCHAR2;

PROCEDURE basket_info_pp

(p_basket IN NUMBER,

p_shop OUT NUMBER,

p_date OUT DATE);

END;

RESULTS:

Create the package by using the modified code.

SQL

CREATE OR REPLACE PACKAGE BODY order_info_pkg IS

FUNCTION ship_name_pf

(p_basket IN NUMBER)

RETURN VARCHAR2

IS

lv_name_txt VARCHAR2(25);

BEGIN

SELECT shipfirstname||' '||shiplastname

INTO lv_name_txt

FROM bb_basket

WHERE idBasket = p_basket;

RETURN lv_name_txt;

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('Invalid basket id');

END ship_name_pf;

PROCEDURE basket_info_pp

(p_basket IN NUMBER,

p_shop OUT NUMBER,

p_date OUT DATE)

IS

BEGIN

SELECT idshopper, dtordered

INTO p_shop, p_date

FROM bb_basket

WHERE idbasket = p_basket;

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('Invalid basket id');

END basket_info_pp;

END;

RESULTS:

4 Create and run an anonymous block that calls the BASKET_INFO_PP procedure and displays the shopper ID, order date, and ship-to name to check the values returned. Use DBMS_OUTPUT statements to display the values.

Sql:

DECLARE

LV_TXT VARCHAR2(60) ; LV_ID_SHOPPER NUMBER ; LV_DATE DATE ;

BEGIN

ORDER_INFO_PKG.BASKET_INFO_PP ( 23 ,LV_ID_SHOPPER ,LV_DATE ) ; LV_TXT:= order_info_pkg.SHIP_NAME_PF (23) ; DBMS_OUTPUT.PUT_LINE ( LV_TXT ) ;

End ;

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!