DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEU_UWQ_OA

Source


1 PACKAGE BODY IEU_UWQ_OA AS
2 /* $Header: IEUUWQOAB.pls 120.1.12020000.2 2013/03/26 14:54:45 spamujul noship $ */
3 
4   PROCEDURE DISTRIBUTE_AND_DELIVER_WR_ITEM(
5     p_api_version                  IN NUMBER,
6     p_resource_id                  IN NUMBER,
7     p_language                     IN VARCHAR2,
8     p_source_lang                  IN VARCHAR2,
9     p_dist_from_extra_where_clause IN VARCHAR2,
10     p_dist_to_extra_where_clause   IN VARCHAR2,
11     p_bindvar_from_list            IN VARCHAR2,
12     p_bindvar_to_list              IN VARCHAR2,
13     x_uwqm_workitem_data OUT NOCOPY VARCHAR2,
14     x_msg_count OUT NOCOPY          NUMBER,
15     x_msg_data OUT NOCOPY           VARCHAR2,
16     x_return_status OUT NOCOPY      VARCHAR2)
17 AS
18   v_split_string string_array;
19   v_split_string2 string_array;
20   l_bindvar_from_list IEU_UWQ_GET_NEXT_WORK_PVT.IEU_UWQ_BINDVAR_LIST;
21   l_bindvar_to_list IEU_UWQ_GET_NEXT_WORK_PVT.IEU_UWQ_BINDVAR_LIST;
22   i NUMBER := 1;
23   work_data_list IEU_FRM_PVT.T_IEU_MEDIA_DATA;
24   j NUMBER :=1;
25 BEGIN
26   /* TODO implementation required */
27   v_split_string := split_string(p_bindvar_from_list, '|');
28   --insert into temptest (var1, var2, var3) values ('v_split_string', '', 'before the split');
29   IF v_split_string.count > 0 THEN
30     LOOP
31       EXIT
32     WHEN i                              = v_split_string.count;
33       l_bindvar_from_list(j).BIND_NAME := v_split_string(i);
34       --insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
35       i                            := i + 1;
36       l_bindvar_from_list(j).VALUE := v_split_string(i);
37       --insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
38       i := i + 1;
39       j :=j  +1;
40     END LOOP;
41   END IF;
42   v_split_string2         := split_string(p_bindvar_to_list, '|');
43   i                       := 1;
44   j                       := 1;
45   IF v_split_string2.count > 0 THEN
46     LOOP
47       EXIT
48     WHEN i                            = v_split_string2.count;
49       l_bindvar_to_list(j).BIND_NAME := v_split_string2(i);
50       --insert into temptest (var1, var2, var3) values ('v_split_string2', '', v_split_string2(i));
51       i                          := i + 1;
52       l_bindvar_to_list(j).VALUE := v_split_string2(i);
53       --insert into temptest (var1, var2, var3) values ('v_split_string2', '', v_split_string2(i));
54       i := i + 1;
55       j := j +1;
56     END LOOP;
57   END IF;
58 
59   IEU_UWQ_GET_NEXT_WORK_PVT.DISTRIBUTE_AND_DELIVER_WR_ITEM ( p_api_version => p_api_version,
60                                                              p_resource_id => p_resource_id,
61                                                              p_language => p_language,
62                                                              p_source_lang => p_source_lang,
63                                                              p_dist_from_extra_where_clause => p_dist_from_extra_where_clause,
64                                                              p_dist_to_extra_where_clause => p_dist_to_extra_where_clause,
65                                                              p_bindvar_from_list => l_bindvar_from_list,
66                                                              p_bindvar_to_list => l_bindvar_to_list,
67                                                              x_uwqm_workitem_data => work_data_list,
68                                                              x_msg_count => x_msg_count,
69                                                              x_msg_data => x_msg_data,
70                                                              x_return_status => x_return_status) ;
71 
72   -- insert into temptest(var1, var2, var3) values ('Testing ', 'x_return_status', x_return_status);
73   -- k := work_data_list.count;
74   --insert into temptest (var1, var2, var3) values ('v_split_string2.count', '', to_char(k));
75   FOR k IN work_data_list.first..work_data_list.last
76   LOOP
77     -- insert into temptest (var1, var2, var3) values (work_data_list(k).PARAM_NAME, work_data_list(k).PARAM_VALUE, '');
78     x_uwqm_workitem_data := x_uwqm_workitem_data || work_data_list(k).PARAM_NAME || ':' || work_data_list(k).PARAM_VALUE || ':' || work_data_list(k).PARAM_TYPE || ':';
79   END LOOP;
80 END DISTRIBUTE_AND_DELIVER_WR_ITEM;
81 
82 
83 
84 PROCEDURE DISTRIBUTE_WR_ITEMS(
85     p_api_version        IN NUMBER,
86     p_resource_id        IN NUMBER,
87     p_language           IN VARCHAR2,
88     p_source_lang        IN VARCHAR2,
89     p_num_of_dist_items  IN NUMBER, -- Number of Items Requested to be Distributed
90     p_extra_where_clause IN VARCHAR2,
91     p_bindvar_list       IN VARCHAR2,
92     x_uwqm_workitem_data OUT NOCOPY       VARCHAR2,
93     x_num_of_items_distributed OUT NOCOPY NUMBER, -- Number of Items finally Distributed
94     x_msg_count OUT NOCOPY                NUMBER,
95     x_msg_data OUT NOCOPY                 VARCHAR2,
96     x_return_status OUT NOCOPY            VARCHAR2)
97 AS
98   v_split_string string_array;
99   l_bindvar_list IEU_UWQ_GET_NEXT_WORK_PVT.IEU_UWQ_BINDVAR_LIST;
100   i NUMBER := 1;
101   l_wr_data IEU_UWQ_GET_NEXT_WORK_PVT.IEU_WR_ITEM_ACT_DATA_LIST;
102   j NUMBER :=1;
103   z NUMBER := 0;
104 
105 BEGIN
106   /* TODO implementation required */
107   v_split_string := split_string(p_bindvar_list, '|');
108   -- insert into temptest (var1, var2, var3) values ('v_split_string2.earlier', '', 0);
109   IF v_split_string.count > 0 THEN
110     LOOP
111       EXIT
112     WHEN i                         = v_split_string.count;
113       l_bindvar_list(j).BIND_NAME := v_split_string(i);
114       i                           := i + 1;
115       l_bindvar_list(j).VALUE     := v_split_string(i);
116       i                           := i + 1;
117       j                           :=j  +1;
118     END LOOP;
119   END IF;
120 
121   --insert into temptest (var1, var2, var3) values ('v_split_string2.before', '', z);
122 
123    IEU_UWQ_GET_NEXT_WORK_PVT.DISTRIBUTE_WR_ITEMS
124  ( p_api_version => 1,
125    p_resource_id => p_resource_id,
126    p_language   => p_language,
127    p_source_lang => p_source_lang,
128    p_num_of_dist_items => p_num_of_dist_items,
129    p_extra_where_clause  => p_extra_where_clause,
130    p_bindvar_list => l_bindvar_list,
131    x_uwqm_workitem_data => l_wr_data,
132    x_num_of_items_distributed => x_num_of_items_distributed,
133    x_msg_count  => x_msg_count,
134    x_msg_data     => x_msg_data,
135    x_return_status => x_return_status) ;
136 
137   -- insert into temptest(var1, var2, var3) values ('Testing ', 'x_return_status', x_return_status);
138 --
139    z := l_wr_data.count;
140 
141   -- insert into temptest (var1, var2, var3) values ('v_split_string2.count', '', z);
142 
143 
144     if z > 0 then
145         for k in l_wr_data.first..l_wr_data.last loop
146 
147  -- insert into temptest (var1, var2, var3) values (work_data_list(k).PARAM_NAME, work_data_list(k).PARAM_VALUE, '');
148 
149       x_uwqm_workitem_data := x_uwqm_workitem_data || l_wr_data(k).IEU_OBJECT_FUNCTION || ':' ||
150       l_wr_data(k).IEU_OBJECT_PARAMETERS || ':'  ||
151       l_wr_data(k).IEU_MEDIA_TYPE_UUID || ':'  ||
152       l_wr_data(k).IEU_PARAM_PK_VALUE || ':'  ||
153       l_wr_data(k).IEU_PARAM_PK_COL || ':'  ||
154       l_wr_data(k).WORK_ITEM_ID || ':'  ||
155       l_wr_data(k).WORKITEM_OBJ_CODE || ':'  ||
156       l_wr_data(k).WORKITEM_PK_ID || ':'  ||
157       l_wr_data(k).STATUS_ID || ':'  ||
158       l_wr_data(k).PRIORITY_ID || ':'  ||
159       l_wr_data(k).PRIORITY_LEVEL || ':'  ||
160       l_wr_data(k).DUE_DATE || ':'  ||
161       l_wr_data(k).TITLE || ':'  ||
162       l_wr_data(k).PARTY_ID || ':'  ||
163       l_wr_data(k).OWNER_ID || ':'  ||
164       l_wr_data(k).OWNER_TYPE || ':'  ||
165       l_wr_data(k).ASSIGNEE_ID || ':'  ||
166       l_wr_data(k).ASSIGNEE_TYPE || ':'  ||
167       l_wr_data(k).SOURCE_OBJECT_ID || ':'  ||
168       l_wr_data(k).SOURCE_OBJECT_TYPE_CODE || ':'  ||
169       l_wr_data(k).APPLICATION_ID || ':'  ||
170       l_wr_data(k).IEU_ACTION_OBJECT_CODE || ':'  ||
171       l_wr_data(k).IEU_ENUM_TYPE_UUID || ':'  ||
172       l_wr_data(k).WORK_ITEM_NUMBER || ':'  ||
173       l_wr_data(k).RESCHEDULE_TIME || ':'  ||
174       l_wr_data(k).IEU_GET_NEXTWORK_FLAG || ':'  ||
175       l_wr_data(k).WS_ID || ':' ;
176 
177           END LOOP;
178     END IF;
179 END DISTRIBUTE_WR_ITEMS;
180 
181 
182 
183 
184 
185 
186 PROCEDURE CALL_WORK_ACTIONS(
187     p_resource_id IN NUMBER,
188     p_langauge    IN VARCHAR2,
189     p_source_lang IN VARCHAR2,
190     p_action_key  IN VARCHAR2,
191     p_action_proc IN VARCHAR2,
192     -- p_work_action_data IN IEU_UWQ_WORK_PANEL_PUB.uwq_action_data_rec_list,
193     p_work_action_data IN VARCHAR2,
194     x_msg_count OUT NOCOPY     NUMBER,
195     x_msg_data OUT NOCOPY      VARCHAR2,
196     x_return_status OUT NOCOPY VARCHAR2)
197 AS
198   v_split_string string_array;
199   i NUMBER := 1;
200   j NUMBER :=1;
201   l_uwq_action_data_rec_list IEU_UWQ_WORK_PANEL_PUB.uwq_action_data_rec_list;
202   x_uwq_action_list IEU_UWQ_WORK_PANEL_PUB.uwq_action_rec_list;
203 BEGIN
204   /* TODO implementation required */
205   v_split_string := split_string(p_work_action_data, '|');
206   -- insert into temptest (var1, var2, var3) values (p_action_key, p_action_proc, p_work_action_data);
207   IF v_split_string.count > 0 THEN
208     LOOP
209       EXIT
210     WHEN i                                     = v_split_string.count;
211       l_uwq_action_data_rec_list(j).dataSetId := v_split_string(i);
212       --  insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
213       i                                         := i + 1;
214       l_uwq_action_data_rec_list(j).dataSetType := v_split_string(i);
215       --  insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
216       i                                  := i + 1;
217       l_uwq_action_data_rec_list(j).name := v_split_string(i);
218       -- insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
219       i                                   := i + 1;
220       l_uwq_action_data_rec_list(j).value := v_split_string(i);
221       --  insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
222       i                                  := i + 1;
223       l_uwq_action_data_rec_list(j).type := v_split_string(i);
224       --insert into temptest (var1, var2, var3) values ('v_split_string', '', v_split_string(i));
225       i := i + 1;
226       j :=j  +1;
227     END LOOP;
228   END IF;
229 
230 
231 
232    IEU_UWQ_WORK_PANEL_PVT.CALL_WORK_ACTIONS
233   (p_resource_id         => p_resource_id,
234 	  p_langauge            => p_langauge,
235 	  p_source_lang         => '',
236 	  p_action_key          => p_action_key,
237 	  p_action_proc          => p_action_proc,
238 	  p_work_action_data	=> l_uwq_action_data_rec_list ,
239 	  x_uwq_action_list     => x_uwq_action_list,
240 	  x_msg_count           => x_msg_count,
241 	  x_msg_data            => x_msg_data,
242 	  x_return_status       => x_return_status);
243 
244   -- insert into temptest(var1, var2, var3) values ('Testing lkadamba ', 'x_return_status', x_return_status);
245 
246   -- k := work_data_list.count;
247 
248    --insert into temptest (var1, var2, var3) values ('v_split_string2.count', '', to_char(k));
249 
250 
251   END CALL_WORK_ACTIONS;
252 
253 
254 
255 
256   FUNCTION split_string(
257     str       IN VARCHAR2,
258     delimiter IN CHAR DEFAULT ',')
259   RETURN string_array
260 IS
261   return_value string_array := string_array();
262   split_str LONG DEFAULT str || delimiter;
263   i NUMBER;
264 BEGIN
265   LOOP
266     i := instr(split_str, delimiter);
267     EXIT
268   WHEN NVL(i,0) = 0;
269     return_value.extend;
270     return_value(return_value.count) := trim(SUBSTR(split_str, 1, i-1));
271     split_str                        := SUBSTR(split_str, i        + LENGTH(delimiter));
272   END LOOP;
273   RETURN return_value;
274 END split_string;
275 
276 END IEU_UWQ_OA;