DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_ESC_WF_EVENTS_PVT

Source


1 PACKAGE BODY jtf_esc_wf_events_pvt AS
2 /* $Header: jtfecbeb.pls 115.7 2004/02/13 10:58:16 nselvam noship $ */
3   --Created for Esc BES enh 2660883
4   PROCEDURE publish_create_esc (
5        P_ESC_REC	       IN      jtf_ec_pvt.Esc_Rec_type
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.escalation.createEscalation';
11    l_esc_record 	    jtf_ec_pvt.Esc_Rec_type := p_esc_rec;
12 
13   BEGIN
14     savepoint cr_esc_publish_save;
15     --Get the item key
16 	l_list := NULL;
17     l_key := get_item_key(l_event_name);
18     Compare_and_set_attr_to_list('TASK_ID', NULL, l_esc_record.escalation_id,'C', l_list,'N');
19 
20     -- Raise the create esc event
21     wf_event.raise(
22 		   p_event_name        => l_event_name
23 		   ,p_event_key 	=> l_key
24 		   ,p_parameters	=> l_list
25 		  );
26     l_list.DELETE;
27     EXCEPTION when OTHERS then
28     ROLLBACK TO cr_esc_publish_save;
29   END publish_create_esc;
30 
31 
32 
33   PROCEDURE publish_update_esc
34   (
35        P_ESC_REC	       IN      jtf_ec_pvt.Esc_Rec_type
36   ) IS
37    l_list			WF_PARAMETER_LIST_T;
38    l_key			varchar2(240);
39    l_event_name 		varchar2(240);
40    l_esc_record 		jtf_ec_pvt.Esc_Rec_type := p_esc_rec;
41 
42  BEGIN
43     savepoint upd_esc_publish_save;
44 	l_list := NULL;
45        l_event_name := 'oracle.apps.jtf.cac.escalation.updateEscalation';
46        l_key := get_item_key(l_event_name);
47 	Compare_and_set_attr_to_list('TASK_ID',NULL,l_esc_record.escalation_id, 'U', l_list,'N');
48 	Compare_and_set_attr_to_list('TASK_AUDIT_ID',NULL,l_esc_record.task_audit_id, 'U', l_list);
49        -- Raise the update esc Event
50        wf_event.raise(
51 		      p_event_name	  => l_event_name
52 		     ,p_event_key	  => l_key
53 		     ,p_parameters	  => l_list
54 		     );
55        l_list.DELETE;
56     EXCEPTION when OTHERS then
57     ROLLBACK TO upd_esc_publish_save;
58  END publish_update_esc;
59 
60 
61 
62   PROCEDURE publish_delete_esc (
63        P_ESC_REC	       IN      jtf_ec_pvt.Esc_Rec_type
64   )
65   IS
66    l_list		WF_PARAMETER_LIST_T;
67    l_key		varchar2(240);
68    l_event_name 	varchar2(240) := 'oracle.apps.jtf.cac.escalation.deleteEscalation';
69    l_esc_record 	   jtf_ec_pvt.Esc_Rec_type := p_esc_rec;
70  BEGIN
71     savepoint del_esc_publish_save;
72 	l_list := NULL;
73     --Get the item key
74     l_key := get_item_key(l_event_name);
75     Compare_and_set_attr_to_list('TASK_ID', l_esc_record.escalation_id, NULL, 'D',l_list,'N');
76     -- Raise delete esc Event
77     wf_event.raise(
78 		   p_event_name        => l_event_name
79 		  ,p_event_key	       => l_key
80 		  ,p_parameters        => l_list
81 		  );
82     l_list.DELETE;
83     EXCEPTION when OTHERS then
84        ROLLBACK TO del_esc_publish_save;
85  END publish_delete_esc;
86 
87 
88 
89  PROCEDURE publish_create_escref (
90        P_ESC_REF_REC		   IN	   Jtf_ec_references_pvt.Esc_ref_Rec
91   )
92   IS
93     l_list	    WF_PARAMETER_LIST_T;
94     l_key     VARCHAR2(240);
95     l_event_name    VARCHAR2(240) := 'oracle.apps.jtf.cac.escalation.createEscReference';
96     l_esc_ref_record		Jtf_ec_references_pvt.Esc_ref_Rec := p_esc_ref_rec;
97 
98   BEGIN
99     l_list := NULL;
100     l_key := get_item_key(l_event_name);
101 
102     Compare_and_set_attr_to_list('TASK_REFERENCE_ID', NULL, l_esc_ref_record.task_reference_id,'C',l_list,'N');
103     Compare_and_set_attr_to_list('OBJECT_TYPE_CODE', NULL, l_esc_ref_record.object_type_code,'C',l_list);
104     Compare_and_set_attr_to_list('REFERENCE_CODE', NULL, l_esc_ref_record.reference_code,'C',l_list);
105     Compare_and_set_attr_to_list('OBJECT_ID',NULL ,l_esc_ref_record.object_id,'C',l_list);
106 -- Added for Bug # 3385990
107     Compare_and_set_attr_to_list('TASK_ID',NULL ,l_esc_ref_record.task_id,'C',l_list,'N');
108 
109 
110 	wf_event.raise (
111 		 p_event_name => l_event_name,
112 		 p_event_key => l_key,
113 		 p_parameters => l_list
114     );
115 
116 	l_list.DELETE;
117   END publish_create_escref;
118 
119 
120   PROCEDURE publish_update_escref (
121        P_ESC_REF_REC_OLD	       IN      Jtf_ec_references_pvt.Esc_ref_Rec,
122        P_ESC_REF_REC_NEW	       IN      Jtf_ec_references_pvt.Esc_ref_Rec
123   )
124   IS
125     l_list   WF_PARAMETER_LIST_T;
126     l_key    VARCHAR2(240);
127 	l_event_name   VARCHAR2(240) := 'oracle.apps.jtf.cac.escalation.updateEscReference';
128   BEGIN
129     l_key := get_item_key(l_event_name);
130 
131     Compare_and_set_attr_to_list('TASK_REFERENCE_ID', P_ESC_REF_REC_OLD.task_reference_id, P_ESC_REF_REC_NEW.task_reference_id, 'U', l_list,'N');
132     Compare_and_set_attr_to_list('OBJECT_TYPE_CODE', P_ESC_REF_REC_OLD.object_type_code,P_ESC_REF_REC_NEW.object_type_code,'U',l_list);
133     Compare_and_set_attr_to_list('REFERENCE_CODE',P_ESC_REF_REC_OLD.reference_code,P_ESC_REF_REC_NEW.reference_code,'U',l_list);
134     Compare_and_set_attr_to_list('OBJECT_ID',P_ESC_REF_REC_OLD.object_id,P_ESC_REF_REC_NEW.object_id,'U',l_list);
135 -- Added for Bug # 3385990
136     Compare_and_set_attr_to_list('TASK_ID',P_ESC_REF_REC_OLD.task_id ,P_ESC_REF_REC_NEW.task_id,'U',l_list, 'N');
137 
138 	wf_event.raise (
139 		 p_event_name => l_event_name,
140 		 p_event_key => l_key,
141 		 p_parameters => l_list
142     );
143 	l_list.DELETE;
144   END publish_update_escref;
145 
146   PROCEDURE publish_delete_escref (
147        P_ESC_REF_REC		   IN	   Jtf_ec_references_pvt.Esc_ref_Rec
148   )
149   IS
150    l_list		    WF_PARAMETER_LIST_T;
151    l_key	  varchar2(240);
152    l_event_name 	varchar2(240) := 'oracle.apps.jtf.cac.escalation.deleteEscReference';
153  BEGIN
154     l_key := get_item_key(l_event_name);
155 
156 -- Code Changes in sync with Task BES API - Swapped OLD and NEW values
157 
158     Compare_and_set_attr_to_list('TASK_REFERENCE_ID', P_ESC_REF_REC.task_reference_id, NULL, 'D',l_list,'N');
159     Compare_and_set_attr_to_list('OBJECT_TYPE_CODE', P_ESC_REF_REC.object_type_code, NULL, 'D',l_list,'N');
160     Compare_and_set_attr_to_list('REFERENCE_CODE', P_ESC_REF_REC.reference_code, NULL, 'D',l_list,'N');
161     Compare_and_set_attr_to_list('OBJECT_ID', P_ESC_REF_REC.object_id, NULL, 'D',l_list,'N');
162 -- Added for Bug # 3385990
163     Compare_and_set_attr_to_list('TASK_ID', P_ESC_REF_REC.task_id, NULL, 'D',l_list,'N');
164 
165 -- End Changes
166 
167     wf_event.raise(
168 		   p_event_name        => l_event_name
169 		  ,p_event_key	       => l_key
170 		  ,p_parameters        => l_list
171 		  );
172     l_list.DELETE;
173  END publish_delete_escref;
174 --End Esc BES enh 2660883
175 
176 
177 
178   FUNCTION get_item_key(p_event_name IN VARCHAR2)
179   RETURN VARCHAR2
180   IS
181   l_key varchar2(240);
182   BEGIN
183 	SELECT p_event_name ||'-'|| jtf_ec_wf_events_s.nextval INTO l_key FROM DUAL;
184 	RETURN l_key;
185   END get_item_key;
186 
187   PROCEDURE compare_and_set_attr_to_list (
188     P_ATTRIBUTE_NAME IN VARCHAR2,
189     P_OLD_VALUE IN VARCHAR2,
190     P_NEW_VALUE IN VARCHAR2,
191     P_ACTION	IN VARCHAR2,
192     P_LIST	IN OUT NOCOPY WF_PARAMETER_LIST_T,
193     PUBLISH_IF_CHANGE  IN VARCHAR2 DEFAULT 'Y'
194   )
195   IS
196   BEGIN
197 
198 -- New code updated as per Task BES API jtftkbeb.pls
199      IF    (P_ACTION = 'C')
200          THEN
201                     IF (P_NEW_VALUE IS NOT NULL)
202                         THEN
203                   wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
204                         END IF;
205      ELSIF (P_ACTION = 'U')
206          THEN
207                     IF (PUBLISH_IF_CHANGE = 'N')
208                         THEN
209                             wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
210                         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))
211 			     THEN
212 				   wf_event.addparametertolist ('NEW_'||P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
213                                            wf_event.addparametertolist ('OLD_'||P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
214                  ELSE IF (PUBLISH_IF_CHANGE = 'Y') AND (P_NEW_VALUE IS NOT NULL) AND (P_OLD_VALUE IS NOT NULL)
215                                           AND (P_NEW_VALUE = P_OLD_VALUE)
216                                            THEN
217                                                      wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
218                                       END IF;
219                              END IF;
220                         END IF;
221      ELSIF (P_ACTION = 'D')
222          THEN
223                     IF (P_OLD_VALUE IS NOT NULL)
224                         THEN
225                    wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
226                     END IF;
227          END IF;
228 -- End Add
229 
230 /*     IF    (P_ACTION = 'C')
231 	 THEN
232 		    IF (P_NEW_VALUE IS NOT NULL)
233 			THEN
234 		  wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
235 			END IF;
236      ELSIF (P_ACTION = 'U')
237 	 THEN
238 		    IF (PUBLISH_IF_CHANGE = 'N')
239 			THEN
240 			    wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
241 			ELSE IF (P_NEW_VALUE <> P_OLD_VALUE) AND (PUBLISH_IF_CHANGE = 'Y')
242 			     THEN
243 				   wf_event.addparametertolist ('NEW_'||P_ATTRIBUTE_NAME, P_NEW_VALUE, P_LIST);
244 					   wf_event.addparametertolist ('OLD_'||P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
245 			     END IF;
246 			END IF;
247      ELSIF (P_ACTION = 'D')
248 	 THEN
249 		    IF (P_OLD_VALUE IS NOT NULL)
250 			THEN
251 		   wf_event.addparametertolist (P_ATTRIBUTE_NAME, P_OLD_VALUE, P_LIST);
252 		    END IF;
253 	 END IF; */
254 
255   END;
256   PROCEDURE compare_and_set_attr_to_list (
257     P_ATTRIBUTE_NAME IN VARCHAR2,
258     P_OLD_VALUE IN NUMBER,
259     P_NEW_VALUE IN NUMBER,
260     P_ACTION	IN VARCHAR2,
261     P_LIST	IN OUT NOCOPY WF_PARAMETER_LIST_T,
262 	PUBLISH_IF_CHANGE    IN VARCHAR2 DEFAULT 'Y'
263   )
264   IS
265   BEGIN
266      compare_and_set_attr_to_list(P_ATTRIBUTE_NAME,to_char(P_OLD_VALUE),to_char(P_NEW_VALUE),
267 				      P_ACTION,P_LIST,PUBLISH_IF_CHANGE);
268   END;
269   PROCEDURE compare_and_set_attr_to_list (
270     P_ATTRIBUTE_NAME IN VARCHAR2,
271     P_OLD_VALUE IN DATE,
272     P_NEW_VALUE IN DATE,
273     P_ACTION	IN VARCHAR2,
274     P_LIST	IN OUT NOCOPY WF_PARAMETER_LIST_T,
275 	PUBLISH_IF_CHANGE    IN VARCHAR2 DEFAULT 'Y'
276   )
277   IS
278   BEGIN
279      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'),
280 				      P_ACTION,P_LIST,PUBLISH_IF_CHANGE);
281   END;
282 
283 
284 
285 END;