DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEU_WORK_PROVIDER_PUB

Source


1 PACKAGE BODY IEU_WORK_PROVIDER_PUB AS
2 /* $Header: ieuwpdb.pls 115.4 2004/03/31 17:12:10 dolee noship $ */
3 
4 --    Start of Comments
5 -- ===============================================================
6 --   API Name
7 --           DeleteActionPackage
8 --   Type
9 --           Private
10 --   Pre-Req
11 --
12 --   Parameters
13 --
14 --  IN
15 --
16 --  x_action_key     IN   VARCHAR2(32)    Required
17 --
18 --   End of Comments
19 -- ===============================================================
20 
21 PROCEDURE DeleteNode(x_return_status  OUT NOCOPY VARCHAR2,
22                               x_msg_count OUT NOCOPY  NUMBER,
23                               x_msg_data  OUT NOCOPY VARCHAR2,
24                               r_enumId IN ieu_uwq_sel_enumerators.sel_enum_id%type)
25 As
26 v_cursor1               NUMBER;
27 v_cursor               NUMBER;
28 v_numrows1              NUMBER;
29 sql_stmt             varchar2(2000);
30 l_property_id ieu_wp_param_props_b.property_id%type;
31 l_delete_param_property_id IEU_WP_PARAM_PROPS_B.param_property_id%type;
32 l_trans_flag IEU_WP_PROPERTIES_B.VALUE_TRANSLATABLE_FLAG%TYPE;
33 l_enumID  ieu_uwq_sel_enumerators.sel_enum_id%type;
34 l_applId  ieu_wp_action_maps.application_id%type;
35 l_panel   ieu_uwq_maction_defs_b.maction_def_type_flag%type;
36 cursor c_cursor is
37 select distinct a.action_param_set_id
38 from ieu_wp_action_maps a, ieu_uwq_sel_enumerators b
39 where b.sel_enum_id = r_enumId
40 and a.action_map_code = b.enum_type_uuid;
41 begin
42     fnd_msg_pub.delete_msg();
43     x_return_status := fnd_api.g_ret_sts_success;
44     FND_MSG_PUB.initialize;
45     x_msg_data := '';
46     --DBMS_OUTPUT.Put_Line('before cursor loop');
47  -- find enumId, applicationId, and panel for
48 -- given a sel_enum_id
49 -- a. delete the work node definition from the sel_enumerators table
50 -- b. delete the two profile options created for the node
51 -- c. delete any work panel data created for this node
52 -- d. delete any data source mapping set up for this node (used by quick filters)
53 
54 -- start real work
55 -- d.
56 Execute IMMEDIATE  ' delete from ieu_wp_node_section_maps where enum_type_uuid in '||
57                   ' (select enum_type_uuid from ieu_uwq_sel_enumerators  '||
58                   '  where sel_enum_id = :1 ) '
59 USING r_enumId;
60 
61 -- c.
62 /*
63 PROCEDURE Delete_Action_From_Node (
64   x_return_status  OUT NOCOPY VARCHAR2,
65   x_msg_count OUT  NOCOPY NUMBER,
66   x_msg_data  OUT NOCOPY  VARCHAR2,
67   x_param_set_id IN NUMBER,
68   x_node_id IN NUMBER,
69   x_maction_id IN NUMBER,// if no maction_id information, provide -1
70   x_maction_def_flag IN VARCHAR2
71   );
72 END IEU_Work_ACTION_PVT;
73 */
74 
75 FOR cur_rec IN c_cursor
76     LOOP
77        IEU_WORK_ACTION_PVT.Delete_Action_From_Node(x_return_status,
78                                     x_msg_count ,
79                                     x_msg_data  ,
80                                     cur_rec.action_param_set_id,
81                                     r_enumId,
82 							 '-1',
83 							 'W');
84     END loop;
85 
86  -- b.
87  EXECUTE IMMEDIATE  ' delete from fnd_profile_options_tl where profile_option_name '||
88                    ' in (select work_q_enable_profile_option from ieu_uwq_sel_enumerators '||
89                    ' where sel_enum_id = :1 ) '
90  USING r_enumId;
91  EXECUTE IMMEDIATE  ' delete from fnd_profile_options_tl where profile_option_name '||
92                    ' in (select work_q_order_profile_option from ieu_uwq_sel_enumerators '||
93                    ' where sel_enum_id = :1 ) '
94  USING r_enumId;
95  EXECUTE IMMEDIATE  ' delete from fnd_profile_options where profile_option_name '||
96                    ' in (select work_q_enable_profile_option from ieu_uwq_sel_enumerators '||
97                    ' where sel_enum_id = :1 ) '
98  USING r_enumId;
99  EXECUTE IMMEDIATE  ' delete from fnd_profile_options where profile_option_name '||
100                    ' in (select work_q_order_profile_option from ieu_uwq_sel_enumerators '||
101                    ' where sel_enum_id = :1 ) '
102  USING r_enumId;
103 
104  -- a.
105 EXECUTE IMMEDIATE 'delete from fnd_lookup_values where (lookup_type, lookup_code) in  '||
106                   ' (select work_q_label_lu_type, work_q_label_lu_code   ' ||
107                   ' from ieu_uwq_sel_enumerators where sel_enum_id = :1 )'
108 USING r_enumId;
109 EXECUTE IMMEDIATE  ' delete from ieu_uwq_sel_enumerators '||
110                    ' where sel_enum_id = :1  '
111  USING r_enumId;
112 
113   EXCEPTION
114        WHEN fnd_api.g_exc_error THEN
115            ROLLBACK;
116            x_return_status := fnd_api.g_ret_sts_error;
117 
118         WHEN fnd_api.g_exc_unexpected_error THEN
119             ROLLBACK;
120             x_return_status := fnd_api.g_ret_sts_unexp_error;
121 
122         WHEN OTHERS THEN
123             ROLLBACK;
124             x_return_status := fnd_api.g_ret_sts_unexp_error;
125 
126 commit;
127 end DeleteNode;
128 END IEU_WORK_PROVIDER_PUB;