DBA Data[Home] [Help]

PACKAGE BODY: APPS.ALR_ACTIONS_PKG

Source


1 package body ALR_ACTIONS_PKG as
2 /* $Header: ALRACTNB.pls 120.4.12010000.1 2008/07/27 06:58:09 appldev ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_APPLICATION_ID in NUMBER,
6   X_ACTION_ID in NUMBER,
7   X_END_DATE_ACTIVE in DATE,
8   X_NAME in VARCHAR2,
9   X_ALERT_ID in NUMBER,
10   X_ACTION_TYPE in VARCHAR2,
11   X_ENABLED_FLAG in VARCHAR2,
12   X_DESCRIPTION in VARCHAR2,
13   X_ACTION_LEVEL_TYPE in VARCHAR2,
14   X_DATE_LAST_EXECUTED in DATE,
15   X_FILE_NAME in VARCHAR2,
16   X_ARGUMENT_STRING in VARCHAR2,
17   X_PROGRAM_APPLICATION_ID in NUMBER,
18   X_CONCURRENT_PROGRAM_ID in NUMBER,
19   X_LIST_APPLICATION_ID in NUMBER,
20   X_LIST_ID in NUMBER,
21   X_TO_RECIPIENTS in VARCHAR2,
22   X_CC_RECIPIENTS in VARCHAR2,
23   X_BCC_RECIPIENTS in VARCHAR2,
24   X_PRINT_RECIPIENTS in VARCHAR2,
25   X_PRINTER in VARCHAR2,
26   X_SUBJECT in VARCHAR2,
27   X_REPLY_TO in VARCHAR2,
28   X_RESPONSE_SET_ID in NUMBER,
29   X_FOLLOW_UP_AFTER_DAYS in NUMBER,
30   X_COLUMN_WRAP_FLAG in VARCHAR2,
31   X_MAXIMUM_SUMMARY_MESSAGE in NUMBER,
32   X_BODY in VARCHAR2,
33   X_VERSION_NUMBER in NUMBER,
34   X_CREATION_DATE in DATE,
35   X_CREATED_BY in NUMBER,
36   X_LAST_UPDATE_DATE in DATE,
37   X_LAST_UPDATED_BY in NUMBER,
38   X_LAST_UPDATE_LOGIN in NUMBER
39 ) is
40   cursor C is select ROWID from ALR_ACTIONS
41     where APPLICATION_ID = X_APPLICATION_ID
42     and ACTION_ID = X_ACTION_ID
43     and (((END_DATE_ACTIVE is null)
44       and (X_END_DATE_ACTIVE is null))
45       or ((END_DATE_ACTIVE is not null)
46       and (END_DATE_ACTIVE = X_END_DATE_ACTIVE)))
47     ;
48 begin
49   insert into ALR_ACTIONS (
50     APPLICATION_ID,
51     ACTION_ID,
52     NAME,
53     ALERT_ID,
54     ACTION_TYPE,
55     LAST_UPDATE_DATE,
56     LAST_UPDATED_BY,
57     CREATION_DATE,
58     CREATED_BY,
59     LAST_UPDATE_LOGIN,
60     END_DATE_ACTIVE,
61     ENABLED_FLAG,
62     DESCRIPTION,
63     ACTION_LEVEL_TYPE,
64     DATE_LAST_EXECUTED,
65     FILE_NAME,
66     ARGUMENT_STRING,
67     PROGRAM_APPLICATION_ID,
68     CONCURRENT_PROGRAM_ID,
69     LIST_APPLICATION_ID,
70     LIST_ID,
71     TO_RECIPIENTS,
72     CC_RECIPIENTS,
73     BCC_RECIPIENTS,
74     PRINT_RECIPIENTS,
75     PRINTER,
76     SUBJECT,
77     REPLY_TO,
78     RESPONSE_SET_ID,
79     FOLLOW_UP_AFTER_DAYS,
80     COLUMN_WRAP_FLAG,
81     MAXIMUM_SUMMARY_MESSAGE_WIDTH,
82     BODY,
83     VERSION_NUMBER
84   ) values (
85     X_APPLICATION_ID,
86     X_ACTION_ID,
87     X_NAME,
88     X_ALERT_ID,
89     X_ACTION_TYPE,
90     X_LAST_UPDATE_DATE,
91     X_LAST_UPDATED_BY,
92     X_CREATION_DATE,
93     X_CREATED_BY,
94     X_LAST_UPDATE_LOGIN,
95     X_END_DATE_ACTIVE,
96     X_ENABLED_FLAG,
97     X_DESCRIPTION,
98     X_ACTION_LEVEL_TYPE,
99     X_DATE_LAST_EXECUTED,
100     X_FILE_NAME,
101     X_ARGUMENT_STRING,
102     X_PROGRAM_APPLICATION_ID,
103     X_CONCURRENT_PROGRAM_ID,
104     X_LIST_APPLICATION_ID,
105     X_LIST_ID,
106     X_TO_RECIPIENTS,
107     X_CC_RECIPIENTS,
108     X_BCC_RECIPIENTS,
109     X_PRINT_RECIPIENTS,
110     X_PRINTER,
111     X_SUBJECT,
112     X_REPLY_TO,
113     X_RESPONSE_SET_ID,
114     X_FOLLOW_UP_AFTER_DAYS,
115     X_COLUMN_WRAP_FLAG,
116     X_MAXIMUM_SUMMARY_MESSAGE,
117     X_BODY,
118     X_VERSION_NUMBER);
119 
120   open c;
121   fetch c into X_ROWID;
122   if (c%notfound) then
123     close c;
124     raise no_data_found;
125   end if;
126   close c;
127 
128 end INSERT_ROW;
129 
130 procedure LOAD_ROW (
131   X_APPLICATION_SHORT_NAME in VARCHAR2,
132   X_ALERT_NAME in VARCHAR2,
133   X_ACTION_NAME in VARCHAR2,
134   X_ACTION_END_DATE_ACTIVE in VARCHAR2,
135   X_OWNER in VARCHAR2,
136   X_ACTION_TYPE in VARCHAR2,
137   X_ENABLED_FLAG in VARCHAR2,
138   X_DESCRIPTION in VARCHAR2,
139   X_ACTION_LEVEL_TYPE in VARCHAR2,
140   X_DATE_LAST_EXECUTED in VARCHAR2,
141   X_FILE_NAME in VARCHAR2,
142   X_ARGUMENT_STRING in VARCHAR2,
143   X_PROGRAM_APPLICATION_NAME in VARCHAR2,
144   X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
145   X_LIST_APPLICATION_NAME in VARCHAR2,
146   X_LIST_NAME in VARCHAR2,
147   X_TO_RECIPIENTS in VARCHAR2,
148   X_CC_RECIPIENTS in VARCHAR2,
149   X_BCC_RECIPIENTS in VARCHAR2,
150   X_PRINT_RECIPIENTS in VARCHAR2,
151   X_PRINTER in VARCHAR2,
152   X_SUBJECT in VARCHAR2,
153   X_REPLY_TO in VARCHAR2,
154   X_RESPONSE_SET_NAME in VARCHAR2,
155   X_FOLLOW_UP_AFTER_DAYS in VARCHAR2,
156   X_COLUMN_WRAP_FLAG in VARCHAR2,
157   X_MAXIMUM_SUMMARY_MESSAGE in VARCHAR2,
158   X_BODY in VARCHAR2,
159   X_VERSION_NUMBER in VARCHAR2,
160   X_LAST_UPDATE_DATE in VARCHAR2,
161   X_CUSTOM_MODE in VARCHAR2
162 ) is
163 
164     l_user_id number := 0;
165     l_app_id  number := 0;
166     l_alert_id number := 0;
167     l_action_id number := 0;
168     l_program_application_id  number := null;
169     l_concurrent_program_id number := null;
170     l_list_app_id  number := null;
171     l_list_id  number := null;
172     l_resp_set_id  number := null;
173     l_row_id varchar2(64);
174 
175     f_luby    number;  -- entity owner in file
176     f_ludate  date;    -- entity update date in file
177     db_luby   number;  -- entity owner in db
178     db_ludate date;    -- entity update date in db
179 
180 begin
181 --DBMS_SESSION.SET_SQL_TRACE(TRUE);
182 
183   -- Translate owner to file_last_updated_by
184   f_luby := fnd_load_util.owner_id(X_OWNER);
185 
186  -- Translate char last_update_date to date
187   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
188 
189   select APPLICATION_ID into l_app_id
190   from FND_APPLICATION
191   where APPLICATION_SHORT_NAME = X_APPLICATION_SHORT_NAME;
192 
193   select ALERT_ID into l_alert_id
194   from ALR_ALERTS
195   where APPLICATION_ID = l_app_id
196   and ALERT_NAME = X_ALERT_NAME;
197 
198   if (X_PROGRAM_APPLICATION_NAME is not null) then
199     select APPLICATION_ID into l_program_application_id
200     from FND_APPLICATION
201     where APPLICATION_SHORT_NAME = X_PROGRAM_APPLICATION_NAME;
202   end if;
203 
204   if (X_CONCURRENT_PROGRAM_NAME is not null) then
205     select CONCURRENT_PROGRAM_ID into l_concurrent_program_id
206     from FND_CONCURRENT_PROGRAMS
207     where APPLICATION_ID = l_program_application_id
208     and CONCURRENT_PROGRAM_NAME = X_CONCURRENT_PROGRAM_NAME;
209   end if;
210 
211   if (X_LIST_APPLICATION_NAME is not null) then
212     select APPLICATION_ID into l_list_app_id
213     from FND_APPLICATION
214     where APPLICATION_SHORT_NAME = X_LIST_APPLICATION_NAME;
215   end if;
216 
217   if (X_LIST_NAME is not null) then
218     select LIST_ID into l_list_id
219     from ALR_DISTRIBUTION_LISTS
220     where APPLICATION_ID = l_list_app_id
221     and  NAME = X_LIST_NAME
222     and (((END_DATE_ACTIVE  is null)
223         and (X_ACTION_END_DATE_ACTIVE is null))
224       or ((END_DATE_ACTIVE is not null)
225         and (END_DATE_ACTIVE =
226         to_date(X_ACTION_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'))));
227   end if;
228 
229   if (X_RESPONSE_SET_NAME is not null) then
230     select RESPONSE_SET_ID into l_resp_set_id
231     from ALR_RESPONSE_SETS
232     where APPLICATION_ID = l_app_id
233     and ALERT_ID = l_alert_id
234     and NAME = X_RESPONSE_SET_NAME;
235   end if;
236 
237   select distinct ACTION_ID into l_action_id
238   from ALR_ACTIONS
239   where APPLICATION_ID = l_app_id
240   and ALERT_ID = l_alert_id
241   and NAME = X_ACTION_NAME
242   and (((END_DATE_ACTIVE  is null)
243     and (X_ACTION_END_DATE_ACTIVE is null))
244     or ((END_DATE_ACTIVE is not null)
245     and (END_DATE_ACTIVE =
246     to_date(X_ACTION_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'))));
247 
248   select last_updated_by, last_update_date
249   into  db_luby, db_ludate
250   from ALR_ACTIONS
251   where application_id = l_app_id
252   and   action_id = l_action_id
253   and (((END_DATE_ACTIVE  is null)
254     and (X_ACTION_END_DATE_ACTIVE is null))
255     or ((END_DATE_ACTIVE is not null)
256     and (end_date_active =
257   to_date(X_ACTION_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'))));
258 
259   if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,db_ludate,
260                                 x_custom_mode)) then
261 
262 
263   ALR_ACTIONS_PKG.UPDATE_ROW(
264     X_APPLICATION_ID => l_app_id,
265     X_ACTION_ID => l_action_id,
266     X_END_DATE_ACTIVE =>
267       to_date(X_ACTION_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'),
268     X_NAME => X_ACTION_NAME,
269     X_ALERT_ID => l_alert_id,
270     X_ACTION_TYPE => X_ACTION_TYPE,
271     X_ENABLED_FLAG => X_ENABLED_FLAG,
272     X_DESCRIPTION => X_DESCRIPTION,
273     X_ACTION_LEVEL_TYPE => X_ACTION_LEVEL_TYPE,
274     X_DATE_LAST_EXECUTED =>
275       to_date(X_DATE_LAST_EXECUTED,'YYYY/MM/DD HH24:MI:SS'),
276     X_FILE_NAME => X_FILE_NAME,
277     X_ARGUMENT_STRING => X_ARGUMENT_STRING,
278     X_PROGRAM_APPLICATION_ID => l_program_application_id,
279     X_CONCURRENT_PROGRAM_ID => l_concurrent_program_id,
280     X_LIST_APPLICATION_ID => l_list_app_id,
281     X_LIST_ID => l_list_id,
282     X_TO_RECIPIENTS => X_TO_RECIPIENTS,
283     X_CC_RECIPIENTS => X_CC_RECIPIENTS,
284     X_BCC_RECIPIENTS => X_BCC_RECIPIENTS,
285     X_PRINT_RECIPIENTS => X_PRINT_RECIPIENTS,
286     X_PRINTER => X_PRINTER,
287     X_SUBJECT => X_SUBJECT,
288     X_REPLY_TO => X_REPLY_TO,
289     X_RESPONSE_SET_ID => l_resp_set_id,
290     X_FOLLOW_UP_AFTER_DAYS => X_FOLLOW_UP_AFTER_DAYS,
291     X_COLUMN_WRAP_FLAG => X_COLUMN_WRAP_FLAG,
292     X_MAXIMUM_SUMMARY_MESSAGE =>
293       to_number(X_MAXIMUM_SUMMARY_MESSAGE),
294     X_BODY => X_BODY,
295     X_VERSION_NUMBER => X_VERSION_NUMBER,
296     X_LAST_UPDATE_DATE => f_ludate,
297     X_LAST_UPDATED_BY => f_luby,
298     X_LAST_UPDATE_LOGIN => 0 );
299 
300 end if;
301 
302 exception
303 
304   when NO_DATA_FOUND then
305 
306   select ALR_ACTIONS_S.nextval into l_action_id from dual;
307 
308   ALR_ACTIONS_PKG.INSERT_ROW(
309     X_ROWID => l_row_id,
310     X_APPLICATION_ID => l_app_id,
311     X_ACTION_ID => l_action_id,
312     X_END_DATE_ACTIVE =>
313       to_date(X_ACTION_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'),
314     X_NAME => X_ACTION_NAME,
315     X_ALERT_ID => l_alert_id,
316     X_ACTION_TYPE => X_ACTION_TYPE,
317     X_ENABLED_FLAG => X_ENABLED_FLAG,
318     X_DESCRIPTION => X_DESCRIPTION,
319     X_ACTION_LEVEL_TYPE => X_ACTION_LEVEL_TYPE,
320     X_DATE_LAST_EXECUTED =>
321       to_date(X_DATE_LAST_EXECUTED,'YYYY/MM/DD HH24:MI:SS'),
322     X_FILE_NAME => X_FILE_NAME,
323     X_ARGUMENT_STRING => X_ARGUMENT_STRING,
324     X_PROGRAM_APPLICATION_ID => l_program_application_id,
325     X_CONCURRENT_PROGRAM_ID => l_concurrent_program_id,
326     X_LIST_APPLICATION_ID => l_list_app_id,
327     X_LIST_ID => l_list_id,
328     X_TO_RECIPIENTS => X_TO_RECIPIENTS,
329     X_CC_RECIPIENTS => X_CC_RECIPIENTS,
330     X_BCC_RECIPIENTS => X_BCC_RECIPIENTS,
331     X_PRINT_RECIPIENTS => X_PRINT_RECIPIENTS,
332     X_PRINTER => X_PRINTER,
333     X_SUBJECT => X_SUBJECT,
334     X_REPLY_TO => X_REPLY_TO,
335     X_RESPONSE_SET_ID => l_resp_set_id,
336     X_FOLLOW_UP_AFTER_DAYS => X_FOLLOW_UP_AFTER_DAYS,
337     X_COLUMN_WRAP_FLAG => X_COLUMN_WRAP_FLAG,
338     X_MAXIMUM_SUMMARY_MESSAGE =>
339       to_number(X_MAXIMUM_SUMMARY_MESSAGE),
340     X_BODY => X_BODY,
341     X_VERSION_NUMBER => X_VERSION_NUMBER,
342     X_CREATION_DATE => f_ludate,
343     X_CREATED_BY => f_luby,
344     X_LAST_UPDATE_DATE => f_ludate,
345     X_LAST_UPDATED_BY => f_luby,
346     X_LAST_UPDATE_LOGIN => 0 );
347 
348 
349 end LOAD_ROW;
350 
351 procedure LOCK_ROW (
352   X_APPLICATION_ID in NUMBER,
353   X_ACTION_ID in NUMBER,
354   X_END_DATE_ACTIVE in DATE,
355   X_NAME in VARCHAR2,
356   X_ALERT_ID in NUMBER,
357   X_ACTION_TYPE in VARCHAR2,
358   X_ENABLED_FLAG in VARCHAR2,
359   X_DESCRIPTION in VARCHAR2,
360   X_ACTION_LEVEL_TYPE in VARCHAR2,
361   X_DATE_LAST_EXECUTED in DATE,
362   X_FILE_NAME in VARCHAR2,
363   X_ARGUMENT_STRING in VARCHAR2,
364   X_PROGRAM_APPLICATION_ID in NUMBER,
365   X_CONCURRENT_PROGRAM_ID in NUMBER,
366   X_LIST_APPLICATION_ID in NUMBER,
367   X_LIST_ID in NUMBER,
368   X_TO_RECIPIENTS in VARCHAR2,
369   X_CC_RECIPIENTS in VARCHAR2,
370   X_BCC_RECIPIENTS in VARCHAR2,
371   X_PRINT_RECIPIENTS in VARCHAR2,
372   X_PRINTER in VARCHAR2,
373   X_SUBJECT in VARCHAR2,
374   X_REPLY_TO in VARCHAR2,
375   X_RESPONSE_SET_ID in NUMBER,
376   X_FOLLOW_UP_AFTER_DAYS in NUMBER,
377   X_COLUMN_WRAP_FLAG in VARCHAR2,
378   X_MAXIMUM_SUMMARY_MESSAGE in NUMBER,
379   X_BODY in VARCHAR2,
380   X_VERSION_NUMBER in NUMBER
381 ) is
382   cursor c1 is select
383       NAME,
384       ALERT_ID,
385       ACTION_TYPE,
386       ENABLED_FLAG,
387       DESCRIPTION,
388       ACTION_LEVEL_TYPE,
389       DATE_LAST_EXECUTED,
390       FILE_NAME,
391       ARGUMENT_STRING,
392       PROGRAM_APPLICATION_ID,
393       CONCURRENT_PROGRAM_ID,
394       LIST_APPLICATION_ID,
395       LIST_ID,
396       TO_RECIPIENTS,
397       CC_RECIPIENTS,
398       BCC_RECIPIENTS,
399       PRINT_RECIPIENTS,
400       PRINTER,
401       SUBJECT,
402       REPLY_TO,
403       RESPONSE_SET_ID,
404       FOLLOW_UP_AFTER_DAYS,
405       COLUMN_WRAP_FLAG,
406       MAXIMUM_SUMMARY_MESSAGE_WIDTH,
407       BODY,
408       VERSION_NUMBER,
409       APPLICATION_ID,
410       ACTION_ID,
411       END_DATE_ACTIVE
412     from ALR_ACTIONS
413     where APPLICATION_ID = X_APPLICATION_ID
414     and ACTION_ID = X_ACTION_ID
415     and (((END_DATE_ACTIVE is null)
416       and (X_END_DATE_ACTIVE is null))
417       or ((END_DATE_ACTIVE is not null)
418       and (END_DATE_ACTIVE = X_END_DATE_ACTIVE)))
419     for update of APPLICATION_ID nowait;
420 begin
421   for recinfo in c1 loop
422       if (    (recinfo.APPLICATION_ID = X_APPLICATION_ID)
423           AND (recinfo.ACTION_ID = X_ACTION_ID)
424           AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
425                OR ((recinfo.END_DATE_ACTIVE is null)
426                AND (X_END_DATE_ACTIVE is null)))
427           AND (recinfo.NAME = X_NAME)
428           AND (recinfo.ALERT_ID = X_ALERT_ID)
429           AND (recinfo.ACTION_TYPE = X_ACTION_TYPE)
430           AND ((recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
431                OR ((recinfo.ENABLED_FLAG is null)
432                AND (X_ENABLED_FLAG is null)))
433           AND ((recinfo.DESCRIPTION = X_DESCRIPTION)
434                OR ((recinfo.DESCRIPTION is null)
435                AND (X_DESCRIPTION is null)))
436           AND ((recinfo.ACTION_LEVEL_TYPE = X_ACTION_LEVEL_TYPE)
437                OR ((recinfo.ACTION_LEVEL_TYPE is null)
438                AND (X_ACTION_LEVEL_TYPE is null)))
439           AND ((recinfo.DATE_LAST_EXECUTED = X_DATE_LAST_EXECUTED)
440                OR ((recinfo.DATE_LAST_EXECUTED is null)
441                AND (X_DATE_LAST_EXECUTED is null)))
442           AND ((recinfo.FILE_NAME = X_FILE_NAME)
443                OR ((recinfo.FILE_NAME is null) AND (X_FILE_NAME is null)))
444           AND ((recinfo.ARGUMENT_STRING = X_ARGUMENT_STRING)
445                OR ((recinfo.ARGUMENT_STRING is null)
446                AND (X_ARGUMENT_STRING is null)))
447           AND ((recinfo.PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID)
451                OR ((recinfo.CONCURRENT_PROGRAM_ID is null)
448                OR ((recinfo.PROGRAM_APPLICATION_ID is null)
449                AND (X_PROGRAM_APPLICATION_ID is null)))
450           AND ((recinfo.CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID)
452                AND (X_CONCURRENT_PROGRAM_ID is null)))
453           AND ((recinfo.LIST_APPLICATION_ID = X_LIST_APPLICATION_ID)
454                OR ((recinfo.LIST_APPLICATION_ID is null)
455                AND (X_LIST_APPLICATION_ID is null)))
456           AND ((recinfo.LIST_ID = X_LIST_ID)
457                OR ((recinfo.LIST_ID is null) AND (X_LIST_ID is null)))
458           AND ((recinfo.TO_RECIPIENTS = X_TO_RECIPIENTS)
459                OR ((recinfo.TO_RECIPIENTS is null)
460                AND (X_TO_RECIPIENTS is null)))
461           AND ((recinfo.CC_RECIPIENTS = X_CC_RECIPIENTS)
462                OR ((recinfo.CC_RECIPIENTS is null)
463                AND (X_CC_RECIPIENTS is null)))
464           AND ((recinfo.BCC_RECIPIENTS = X_BCC_RECIPIENTS)
465                OR ((recinfo.BCC_RECIPIENTS is null)
466                AND (X_BCC_RECIPIENTS is null)))
467           AND ((recinfo.PRINT_RECIPIENTS = X_PRINT_RECIPIENTS)
468                OR ((recinfo.PRINT_RECIPIENTS is null)
469                AND (X_PRINT_RECIPIENTS is null)))
470           AND ((recinfo.PRINTER = X_PRINTER)
471                OR ((recinfo.PRINTER is null) AND (X_PRINTER is null)))
472           AND ((recinfo.SUBJECT = X_SUBJECT)
473                OR ((recinfo.SUBJECT is null) AND (X_SUBJECT is null)))
474           AND ((recinfo.REPLY_TO = X_REPLY_TO)
475                OR ((recinfo.REPLY_TO is null) AND (X_REPLY_TO is null)))
476           AND ((recinfo.RESPONSE_SET_ID = X_RESPONSE_SET_ID)
477                OR ((recinfo.RESPONSE_SET_ID is null)
478                AND (X_RESPONSE_SET_ID is null)))
479           AND ((recinfo.FOLLOW_UP_AFTER_DAYS = X_FOLLOW_UP_AFTER_DAYS)
480                OR ((recinfo.FOLLOW_UP_AFTER_DAYS is null)
481                AND (X_FOLLOW_UP_AFTER_DAYS is null)))
482           AND ((recinfo.COLUMN_WRAP_FLAG = X_COLUMN_WRAP_FLAG)
483                OR ((recinfo.COLUMN_WRAP_FLAG is null)
484                AND (X_COLUMN_WRAP_FLAG is null)))
485           AND ((recinfo.MAXIMUM_SUMMARY_MESSAGE_WIDTH =
486                X_MAXIMUM_SUMMARY_MESSAGE)
487                OR ((recinfo.MAXIMUM_SUMMARY_MESSAGE_WIDTH is null)
488                AND (X_MAXIMUM_SUMMARY_MESSAGE is null)))
489           AND ((recinfo.BODY = X_BODY)
490                OR ((recinfo.BODY is null) AND (X_BODY is null)))
491           AND (recinfo.VERSION_NUMBER = X_VERSION_NUMBER)
492       ) then
493         null;
494       else
495         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
496         app_exception.raise_exception;
497       end if;
498   end loop;
499   return;
500 end LOCK_ROW;
501 
502 procedure UPDATE_ROW (
503   X_APPLICATION_ID in NUMBER,
504   X_ACTION_ID in NUMBER,
505   X_END_DATE_ACTIVE in DATE,
506   X_NAME in VARCHAR2,
507   X_ALERT_ID in NUMBER,
508   X_ACTION_TYPE in VARCHAR2,
509   X_ENABLED_FLAG in VARCHAR2,
510   X_DESCRIPTION in VARCHAR2,
511   X_ACTION_LEVEL_TYPE in VARCHAR2,
512   X_DATE_LAST_EXECUTED in DATE,
513   X_FILE_NAME in VARCHAR2,
514   X_ARGUMENT_STRING in VARCHAR2,
515   X_PROGRAM_APPLICATION_ID in NUMBER,
516   X_CONCURRENT_PROGRAM_ID in NUMBER,
517   X_LIST_APPLICATION_ID in NUMBER,
518   X_LIST_ID in NUMBER,
519   X_TO_RECIPIENTS in VARCHAR2,
520   X_CC_RECIPIENTS in VARCHAR2,
521   X_BCC_RECIPIENTS in VARCHAR2,
522   X_PRINT_RECIPIENTS in VARCHAR2,
523   X_PRINTER in VARCHAR2,
524   X_SUBJECT in VARCHAR2,
525   X_REPLY_TO in VARCHAR2,
526   X_RESPONSE_SET_ID in NUMBER,
527   X_FOLLOW_UP_AFTER_DAYS in NUMBER,
528   X_COLUMN_WRAP_FLAG in VARCHAR2,
529   X_MAXIMUM_SUMMARY_MESSAGE in NUMBER,
530   X_BODY in VARCHAR2,
531   X_VERSION_NUMBER in NUMBER,
532   X_LAST_UPDATE_DATE in DATE,
533   X_LAST_UPDATED_BY in NUMBER,
534   X_LAST_UPDATE_LOGIN in NUMBER
535 ) is
536 begin
537 
538 
539   update ALR_ACTIONS set
540     NAME = X_NAME,
541     ALERT_ID = X_ALERT_ID,
542     ACTION_TYPE = X_ACTION_TYPE,
543     ENABLED_FLAG = X_ENABLED_FLAG,
544     DESCRIPTION = X_DESCRIPTION,
545     ACTION_LEVEL_TYPE = X_ACTION_LEVEL_TYPE,
546     DATE_LAST_EXECUTED = X_DATE_LAST_EXECUTED,
547     FILE_NAME = X_FILE_NAME,
548     ARGUMENT_STRING = X_ARGUMENT_STRING,
549     PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
550     CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID,
551     LIST_APPLICATION_ID = X_LIST_APPLICATION_ID,
552     LIST_ID = X_LIST_ID,
553     TO_RECIPIENTS = X_TO_RECIPIENTS,
554     CC_RECIPIENTS = X_CC_RECIPIENTS,
555     BCC_RECIPIENTS = X_BCC_RECIPIENTS,
556     PRINT_RECIPIENTS = X_PRINT_RECIPIENTS,
557     PRINTER = X_PRINTER,
558     SUBJECT = X_SUBJECT,
559     REPLY_TO = X_REPLY_TO,
560     RESPONSE_SET_ID = X_RESPONSE_SET_ID,
561     FOLLOW_UP_AFTER_DAYS = X_FOLLOW_UP_AFTER_DAYS,
562     COLUMN_WRAP_FLAG = X_COLUMN_WRAP_FLAG,
563     MAXIMUM_SUMMARY_MESSAGE_WIDTH = X_MAXIMUM_SUMMARY_MESSAGE,
564     BODY = X_BODY,
565     VERSION_NUMBER = X_VERSION_NUMBER,
566     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
567     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
568     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
569   where APPLICATION_ID = X_APPLICATION_ID
570   and ACTION_ID = X_ACTION_ID
571     and (((END_DATE_ACTIVE is null)
572     and (X_END_DATE_ACTIVE is null))
573       or ((END_DATE_ACTIVE is not null)
574       and (END_DATE_ACTIVE = X_END_DATE_ACTIVE)));
575 
576   if (sql%notfound) then
577     raise no_data_found;
578   end if;
579 end UPDATE_ROW;
580 
581 procedure DELETE_ROW (
582   X_APPLICATION_ID in NUMBER,
583   X_ACTION_ID in NUMBER,
584   X_END_DATE_ACTIVE in DATE
585 ) is
586 begin
587   delete from ALR_ACTIONS
588   where APPLICATION_ID = X_APPLICATION_ID
589   and ACTION_ID = X_ACTION_ID
590   and (((END_DATE_ACTIVE is null)
591       and (X_END_DATE_ACTIVE is null))
592       or ((END_DATE_ACTIVE is not null)
593       and (END_DATE_ACTIVE = X_END_DATE_ACTIVE)));
594 
595   if (sql%notfound) then
596     raise no_data_found;
597   end if;
598 
599 end DELETE_ROW;
600 
601 
602 end ALR_ACTIONS_PKG;