[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_WF_EVENTS_PVT
Source
1 PACKAGE BODY jtf_task_wf_events_pvt AS
2 /* $Header: jtftkbeb.pls 115.8 2004/02/27 10:53:09 sachoudh noship $ */
3 PROCEDURE publish_create_task (
4 P_TASK_REC IN jtf_tasks_pvt.Task_Rec_type,
5 x_return_status OUT NOCOPY VARCHAR2
6 )
7 IS
8 l_list WF_PARAMETER_LIST_T;
9 l_key varchar2(240);
10 l_event_name varchar2(240) := 'oracle.apps.jtf.cac.task.createTask';
11 l_task_record jtf_tasks_pvt.Task_Rec_type := p_task_rec;
12
13 BEGIN
14 --Get the item key
15 l_list := NULL;
16 l_key := get_item_key(l_event_name);
17 Compare_and_set_attr_to_list('TASK_ID', NULL, l_task_record.task_id, 'C', l_list,'N');
18 Compare_and_set_attr_to_list('SOURCE_OBJECT_TYPE_CODE', NULL, l_task_record.source_object_type_code, 'C',l_list, 'N');
19 Compare_and_set_attr_to_list('SOURCE_OBJECT_ID', NULL, l_task_record.source_object_id, 'C',l_list, 'N');
20 Compare_and_set_attr_to_list('ENABLE_WORKFLOW', NULL, l_task_record.enable_workflow, 'C', l_list,'N');
21 Compare_and_set_attr_to_list('ABORT_WORKFLOW', NULL, l_task_record.abort_workflow, 'C',l_list, 'N');
22
23 -- Raise the create task event
24 wf_event.raise3(
25 p_event_name => l_event_name,
26 p_event_key => l_key,
27 p_parameter_list => l_list,
28 p_send_date => sysdate
29 );
30
31 x_return_status :=
32 wf_event.getvalueforparameter (
33 'X_RETURN_STATUS',
34 l_list
35 );
36
37 l_list.DELETE;
38
39
40 END publish_create_task;
41
42 PROCEDURE publish_update_task
43 (
44 P_TASK_REC_OLD IN jtf_tasks_pvt.Task_Rec_type,
45 P_TASK_REC_NEW IN jtf_tasks_pvt.Task_Rec_type,
46 x_return_status OUT NOCOPY VARCHAR2
47 ) IS
48 l_list WF_PARAMETER_LIST_T;
49 l_key varchar2(240);
50 l_event_name varchar2(240);
51 l_task_record_old jtf_tasks_pvt.Task_Rec_type := p_task_rec_old;
52 l_task_record_new jtf_tasks_pvt.Task_Rec_type := p_task_rec_new;
53
54 BEGIN
55 l_list := NULL;
56 l_event_name := 'oracle.apps.jtf.cac.task.updateTask';
57 l_key := get_item_key(l_event_name);
58
59 Compare_and_set_attr_to_list('TASK_ID',NULL,l_task_record_new.task_id, 'U', l_list,'N');
60 Compare_and_set_attr_to_list('TASK_AUDIT_ID',NULL,l_task_record_new.task_audit_id, 'U', l_list, 'N');
61 Compare_and_set_attr_to_list('SOURCE_OBJECT_TYPE_CODE',l_task_record_old.source_object_type_code,l_task_record_new.source_object_type_code, 'U', l_list, 'Y');
62 Compare_and_set_attr_to_list('SOURCE_OBJECT_ID',l_task_record_old.source_object_id,l_task_record_new.source_object_id, 'U', l_list, 'Y');
63 Compare_and_set_attr_to_list('ENABLE_WORKFLOW', NULL, l_task_record_new.enable_workflow, 'U', l_list,'N');
64 Compare_and_set_attr_to_list('ABORT_WORKFLOW', NULL, l_task_record_new.abort_workflow, 'U',l_list, 'N');
65
66
67 -- Raise the update task Event
68 wf_event.raise3(
69 p_event_name => l_event_name,
70 p_event_key => l_key,
71 p_parameter_list => l_list,
72 p_send_date => sysdate
73 );
74
75 x_return_status :=
76 wf_event.getvalueforparameter (
77 'X_RETURN_STATUS',
78 l_list
79 );
80 l_list.DELETE;
81
82
83 END publish_update_task;
84
85 PROCEDURE publish_delete_task (
86 P_TASK_REC IN jtf_tasks_pvt.Task_Rec_type,
87 x_return_status OUT NOCOPY VARCHAR2
88 )
89 IS
90 l_list WF_PARAMETER_LIST_T;
91 l_key varchar2(240);
92 l_event_name varchar2(240) := 'oracle.apps.jtf.cac.task.deleteTask';
93 BEGIN
94 l_list := NULL;
95 --Get the item key
96 l_key := get_item_key(l_event_name);
97 Compare_and_set_attr_to_list('TASK_ID', p_task_rec.task_id, NULL, 'D', l_list,'N');
98 Compare_and_set_attr_to_list('SOURCE_OBJECT_TYPE_CODE', p_task_rec.source_object_type_code, NULL, 'D', l_list,'N');
99 Compare_and_set_attr_to_list('SOURCE_OBJECT_ID', p_task_rec.source_object_id, NULL, 'D', l_list,'N');
100 Compare_and_set_attr_to_list('ENABLE_WORKFLOW',p_task_rec.enable_workflow, NULL, 'D', l_list,'N');
101 Compare_and_set_attr_to_list('ABORT_WORKFLOW',p_task_rec.abort_workflow, NULL, 'D',l_list, 'N');
102
103 -- Raise delete task Event
104 wf_event.raise3(
105 p_event_name => l_event_name,
106 p_event_key => l_key,
107 p_parameter_list => l_list,
108 p_send_date => sysdate
109 );
110
111 x_return_status :=
112 wf_event.getvalueforparameter (
113 'X_RETURN_STATUS',
114 l_list
115 );
116 l_list.DELETE;
117
118
119 END publish_delete_task;
120
121 PROCEDURE publish_create_assignment (
122 P_ASSIGNMENT_REC IN jtf_task_assignments_pvt.task_assignments_rec,
123 x_return_status OUT NOCOPY VARCHAR2
124 )
125 IS
126 l_list WF_PARAMETER_LIST_T;
127 l_key VARCHAR2(240);
128 l_event_name VARCHAR2(240) := 'oracle.apps.jtf.cac.task.createTaskAssignment';
129
130 BEGIN
131 l_list := NULL;
132 l_key := get_item_key(l_event_name);
133
134 Compare_and_set_attr_to_list('TASK_ASSIGNMENT_ID', NULL, P_ASSIGNMENT_REC.task_assignment_id,'C',l_list,'N');
135 Compare_and_set_attr_to_list('TASK_ID', NULL, P_ASSIGNMENT_REC.task_id,'C',l_list,'N');
136 Compare_and_set_attr_to_list('RESOURCE_TYPE_CODE', NULL, P_ASSIGNMENT_REC.resource_type_code,'C',l_list);
137 Compare_and_set_attr_to_list('RESOURCE_ID', NULL, P_ASSIGNMENT_REC.resource_id,'C',l_list);
138 Compare_and_set_attr_to_list('ASSIGNMENT_STATUS_ID',NULL ,P_ASSIGNMENT_REC.assignment_status_id,'C',l_list);
139 Compare_and_set_attr_to_list('ACTUAL_START_DATE',NULL ,P_ASSIGNMENT_REC.actual_start_date,'C',l_list);
140 Compare_and_set_attr_to_list('ACTUAL_END_DATE',NULL ,P_ASSIGNMENT_REC.actual_end_date ,'C',l_list);
141 Compare_and_set_attr_to_list('ASSIGNEE_ROLE',NULL ,P_ASSIGNMENT_REC.assignee_role ,'C',l_list);
142 Compare_and_set_attr_to_list('SHOW_ON_CALENDAR',NULL ,P_ASSIGNMENT_REC.show_on_calendar ,'C',l_list);
143 Compare_and_set_attr_to_list('CATEGORY_ID',NULL ,P_ASSIGNMENT_REC.category_id ,'C',l_list);
144 Compare_and_set_attr_to_list('ENABLE_WORKFLOW', NULL, P_ASSIGNMENT_REC.enable_workflow, 'C', l_list,'N');
145 Compare_and_set_attr_to_list('ABORT_WORKFLOW', NULL, P_ASSIGNMENT_REC.abort_workflow, 'C',l_list, 'N');
146
147 wf_event.raise3(
148 p_event_name => l_event_name,
149 p_event_key => l_key,
150 p_parameter_list => l_list,
151 p_send_date => sysdate
152 );
153
154 x_return_status :=
155 wf_event.getvalueforparameter (
156 'X_RETURN_STATUS',
157 l_list
158 );
159
160 l_list.DELETE;
161
162
163 END;
164
165 PROCEDURE publish_update_assignment (
166 P_ASSIGNMENT_REC_NEW IN jtf_task_assignments_pvt.task_assignments_rec,
167 P_ASSIGNMENT_REC_OLD IN jtf_task_assignments_pvt.task_assignments_rec,
168 x_return_status OUT NOCOPY VARCHAR2
169 )
170 IS
171 l_list WF_PARAMETER_LIST_T;
172 l_key VARCHAR2(240);
173 l_event_name VARCHAR2(240) := 'oracle.apps.jtf.cac.task.updateTaskAssignment';
174 BEGIN
175 l_key := get_item_key(l_event_name);
176
177 Compare_and_set_attr_to_list('TASK_ASSIGNMENT_ID', P_ASSIGNMENT_REC_OLD.task_assignment_id, P_ASSIGNMENT_REC_NEW.task_assignment_id, 'U', l_list,'N');
178 Compare_and_set_attr_to_list('TASK_ID', P_ASSIGNMENT_REC_OLD.task_id, P_ASSIGNMENT_REC_NEW.task_id, 'U', l_list,'N');
179 Compare_and_set_attr_to_list('RESOURCE_TYPE_CODE', P_ASSIGNMENT_REC_OLD.resource_type_code,P_ASSIGNMENT_REC_NEW.resource_type_code,'U',l_list,'Y');
180 Compare_and_set_attr_to_list('RESOURCE_ID',P_ASSIGNMENT_REC_OLD.resource_id,P_ASSIGNMENT_REC_NEW.resource_id,'U',l_list,'Y');
181 Compare_and_set_attr_to_list('ASSIGNMENT_STATUS_ID',P_ASSIGNMENT_REC_OLD.assignment_status_id,P_ASSIGNMENT_REC_NEW.assignment_status_id,'U',l_list,'Y');
182 Compare_and_set_attr_to_list('ACTUAL_START_DATE',P_ASSIGNMENT_REC_OLD.actual_start_date,P_ASSIGNMENT_REC_NEW.actual_start_date,'U',l_list,'Y');
183 Compare_and_set_attr_to_list('ACTUAL_END_DATE',P_ASSIGNMENT_REC_OLD.actual_end_date, P_ASSIGNMENT_REC_NEW.actual_end_date ,'U',l_list,'Y');
184 Compare_and_set_attr_to_list('ASSIGNEE_ROLE',P_ASSIGNMENT_REC_OLD.assignee_role,P_ASSIGNMENT_REC_NEW.assignee_role ,'U',l_list,'Y');
185 Compare_and_set_attr_to_list('SHOW_ON_CALENDAR',P_ASSIGNMENT_REC_OLD.show_on_calendar, P_ASSIGNMENT_REC_NEW.show_on_calendar ,'U',l_list,'Y');
186 Compare_and_set_attr_to_list('CATEGORY_ID',P_ASSIGNMENT_REC_OLD.category_id, P_ASSIGNMENT_REC_NEW.category_id ,'U',l_list,'Y');
187 Compare_and_set_attr_to_list('ENABLE_WORKFLOW', NULL, P_ASSIGNMENT_REC_OLD.enable_workflow, 'U', l_list,'N');
188 Compare_and_set_attr_to_list('ABORT_WORKFLOW', NULL, P_ASSIGNMENT_REC_OLD.abort_workflow, 'U',l_list, 'N');
189
190 wf_event.raise3(
191 p_event_name => l_event_name,
192 p_event_key => l_key,
193 p_parameter_list => l_list,
194 p_send_date => sysdate
195 );
196
197 x_return_status :=
198 wf_event.getvalueforparameter (
199 'X_RETURN_STATUS',
200 l_list
201 );
202 l_list.DELETE;
203
204 END;
205
206 PROCEDURE publish_delete_assignment (
207 P_ASSIGNMENT_REC IN jtf_task_assignments_pvt.task_assignments_rec,
208 x_return_status OUT NOCOPY VARCHAR2
209 )
210 IS
211 l_list WF_PARAMETER_LIST_T;
212 l_key varchar2(240);
213 l_event_name varchar2(240) := 'oracle.apps.jtf.cac.task.deleteTaskAssignment';
214 BEGIN
215 l_key := get_item_key(l_event_name);
216 Compare_and_set_attr_to_list('TASK_ASSIGNMENT_ID', P_ASSIGNMENT_REC.task_assignment_id, NULL,'D',l_list,'N');
217 Compare_and_set_attr_to_list('TASK_ID', P_ASSIGNMENT_REC.task_id, NULL,'D',l_list,'N');
218 Compare_and_set_attr_to_list('ASSIGNEE_ROLE', P_ASSIGNMENT_REC.assignee_role, NULL,'D',l_list,'N');
219 Compare_and_set_attr_to_list('RESOURCE_TYPE_CODE',P_ASSIGNMENT_REC.resource_type_code, NULL, 'D',l_list,'N');
220 Compare_and_set_attr_to_list('RESOURCE_ID', P_ASSIGNMENT_REC.resource_id, NULL,'D',l_list,'N');
221 Compare_and_set_attr_to_list('ASSIGNMENT_STATUS_ID',P_ASSIGNMENT_REC.assignment_status_id, NULL, 'D',l_list,'N');
222 Compare_and_set_attr_to_list('ENABLE_WORKFLOW', P_ASSIGNMENT_REC.enable_workflow, NULL, 'D', l_list,'N');
223 Compare_and_set_attr_to_list('ABORT_WORKFLOW', P_ASSIGNMENT_REC.abort_workflow, NULL, 'D',l_list, 'N');
224
225 wf_event.raise3(
226 p_event_name => l_event_name,
227 p_event_key => l_key,
228 p_parameter_list => l_list,
229 p_send_date => sysdate
230 );
231
232 x_return_status :=
233 wf_event.getvalueforparameter (
234 'X_RETURN_STATUS',
235 l_list
236 );
237 l_list.DELETE;
238
239 END;
240
241 FUNCTION get_item_key(p_event_name IN VARCHAR2)
242 RETURN VARCHAR2
243 IS
244 l_key varchar2(240);
245 BEGIN
246 SELECT p_event_name ||'-'|| jtf_task_wf_events_s.nextval INTO l_key FROM DUAL;
247 RETURN l_key;
248 END get_item_key;
249
250 PROCEDURE compare_and_set_attr_to_list (
251 P_ATTRIBUTE_NAME IN VARCHAR2,
252 P_OLD_VALUE IN VARCHAR2,
253 P_NEW_VALUE IN VARCHAR2,
254 P_ACTION IN VARCHAR2,
255 P_LIST IN OUT NOCOPY WF_PARAMETER_LIST_T,
256 PUBLISH_IF_CHANGE IN VARCHAR2 DEFAULT 'Y'
257 )
258 IS
259 BEGIN
260 IF (P_ACTION = 'C')
261 THEN
262 IF (P_NEW_VALUE IS NOT NULL)
263 THEN
264 wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
265 END IF;
266 ELSIF (P_ACTION = 'U')
267 THEN
268 IF (PUBLISH_IF_CHANGE = 'N')
269 THEN
270 wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
271 ELSE IF (PUBLISH_IF_CHANGE = 'Y') AND ((P_NEW_VALUE IS NULL) OR (P_OLD_VALUE IS NULL) OR (P_NEW_VALUE <> P_OLD_VALUE)
272 OR (P_ATTRIBUTE_NAME = 'RESOURCE_TYPE_CODE'))
273 THEN
274 wf_event.addparametertolist ('NEW_'||P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
275 wf_event.addparametertolist ('OLD_'||P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
276 ELSE IF (PUBLISH_IF_CHANGE = 'Y') AND (P_NEW_VALUE IS NOT NULL) AND (P_OLD_VALUE IS NOT NULL)
277 AND (P_NEW_VALUE = P_OLD_VALUE)
278 THEN
279 wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
280 END IF;
281 END IF;
282 END IF;
283 ELSIF (P_ACTION = 'D')
284 THEN
285 IF (P_OLD_VALUE IS NOT NULL)
286 THEN
287 wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
288 END IF;
289 END IF;
290 END;
291 PROCEDURE compare_and_set_attr_to_list (
292 P_ATTRIBUTE_NAME IN VARCHAR2,
293 P_OLD_VALUE IN NUMBER,
294 P_NEW_VALUE IN NUMBER,
295 P_ACTION IN VARCHAR2,
296 P_LIST IN OUT NOCOPY WF_PARAMETER_LIST_T,
297 PUBLISH_IF_CHANGE IN VARCHAR2 DEFAULT 'Y'
298 )
299 IS
300 BEGIN
301 compare_and_set_attr_to_list(P_ATTRIBUTE_NAME,to_char(P_OLD_VALUE),to_char(P_NEW_VALUE),
302 P_ACTION,P_LIST,PUBLISH_IF_CHANGE);
303 END;
304 PROCEDURE compare_and_set_attr_to_list (
305 P_ATTRIBUTE_NAME IN VARCHAR2,
306 P_OLD_VALUE IN DATE,
307 P_NEW_VALUE IN DATE,
308 P_ACTION IN VARCHAR2,
309 P_LIST IN OUT NOCOPY WF_PARAMETER_LIST_T,
310 PUBLISH_IF_CHANGE IN VARCHAR2 DEFAULT 'Y'
311 )
312 IS
313 BEGIN
314 compare_and_set_attr_to_list(P_ATTRIBUTE_NAME,to_char(P_OLD_VALUE,'YYYY-MM-DD HH24:MI:SS'),to_char(P_NEW_VALUE,'YYYY-MM-DD HH24:MI:SS'),
315 P_ACTION,P_LIST,PUBLISH_IF_CHANGE);
316 END;
317
318 END;