[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;