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