DBA Data[Home] [Help]

PACKAGE BODY: APPS.ALR_ACTION_GROUP_MEMBERS_PKG

Source


1 package body ALR_ACTION_GROUP_MEMBERS_PKG as
2 /* $Header: ALRAGRMB.pls 120.4.12010000.1 2008/07/27 06:58:11 appldev ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_APPLICATION_ID in NUMBER,
6   X_ACTION_GROUP_MEMBER_ID in NUMBER,
7   X_ACTION_GROUP_ID in NUMBER,
8   X_ACTION_ID in NUMBER,
9   X_ALERT_ID in NUMBER,
10   X_END_DATE_ACTIVE in DATE,
11   X_ENABLED_FLAG in VARCHAR2,
12   X_ACTION_LEVEL in NUMBER,
13   X_CREATION_DATE in DATE,
14   X_CREATED_BY in NUMBER,
15   X_LAST_UPDATE_DATE in DATE,
16   X_LAST_UPDATED_BY in NUMBER,
17   X_LAST_UPDATE_LOGIN in NUMBER
18 ) is
19   cursor C is select ROWID from ALR_ACTION_GROUP_MEMBERS
20     where APPLICATION_ID = X_APPLICATION_ID
21     and ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID
22     ;
23 begin
24   insert into ALR_ACTION_GROUP_MEMBERS (
25     APPLICATION_ID,
26     ACTION_GROUP_MEMBER_ID,
27     ACTION_GROUP_ID,
28     ACTION_ID,
29     ALERT_ID,
30     LAST_UPDATE_DATE,
31     LAST_UPDATED_BY,
32     CREATION_DATE,
33     CREATED_BY,
34     LAST_UPDATE_LOGIN,
35     END_DATE_ACTIVE,
36     ENABLED_FLAG,
37     ACTION_LEVEL
38   ) values (
39     X_APPLICATION_ID,
40     X_ACTION_GROUP_MEMBER_ID,
41     X_ACTION_GROUP_ID,
42     X_ACTION_ID,
43     X_ALERT_ID,
44     X_LAST_UPDATE_DATE,
45     X_LAST_UPDATED_BY,
46     X_CREATION_DATE,
47     X_CREATED_BY,
48     X_LAST_UPDATE_LOGIN,
49     X_END_DATE_ACTIVE,
50     X_ENABLED_FLAG,
51     X_ACTION_LEVEL
52   );
53 
54   open c;
55   fetch c into X_ROWID;
56   if (c%notfound) then
57     close c;
58     raise no_data_found;
59   end if;
60   close c;
61 
62 end INSERT_ROW;
63 
64 procedure LOAD_ROW (
65   X_APPLICATION_SHORT_NAME in VARCHAR2,
66   X_ALERT_NAME in VARCHAR2,
67   X_NAME in VARCHAR2,
68   X_GROUP_TYPE in VARCHAR2,
69   X_OWNER in VARCHAR2,
70   X_ACTION_NAME in VARCHAR2,
71   X_END_DATE_ACTIVE in VARCHAR2,
72   X_ENABLED_FLAG in VARCHAR2,
73   X_ACTION_LEVEL in VARCHAR2,
74   X_LAST_UPDATE_DATE in VARCHAR2,
75   X_CUSTOM_MODE in VARCHAR2
76 ) is
77     l_user_id number := 0;
78     l_app_id  number := 0;
79     l_alert_id number := 0;
80     l_action_id number := 0;
81     l_action_group_id number := 0;
82     l_action_group_member_id number := 0;
83     l_row_id varchar2(64);
84 
85     f_luby    number;  -- entity owner in file
86     f_ludate  date;    -- entity update date in file
87     db_luby   number;  -- entity owner in db
88     db_ludate date;    -- entity update date in db
89 
90 begin
91 
92      -- Translate owner to file_last_updated_by
93   f_luby := fnd_load_util.owner_id(X_OWNER);
94 
95  -- Translate char last_update_date to date
96   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
97 
98   select APPLICATION_ID into l_app_id
99   from FND_APPLICATION
100   where APPLICATION_SHORT_NAME = X_APPLICATION_SHORT_NAME;
101 
102   select ALERT_ID into l_alert_id
103   from ALR_ALERTS
104   where APPLICATION_ID = l_app_id
105   and ALERT_NAME = X_ALERT_NAME;
106 
107   select ACTION_ID into l_action_id
108   from ALR_ACTIONS
109   where APPLICATION_ID = l_app_id
110   and ALERT_ID = l_alert_id
111   and NAME = X_ACTION_NAME
112   and (((END_DATE_ACTIVE is null)
113      and (X_END_DATE_ACTIVE is null))
114      or ((END_DATE_ACTIVE is not null)
115      and (END_DATE_ACTIVE =
116      to_date(X_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'))));
117 
118   select ACTION_GROUP_ID into l_action_group_id
119   from ALR_ACTION_GROUPS
120   where APPLICATION_ID = l_app_id
121   and ALERT_ID = l_alert_id
122   and NAME = X_NAME
123   and GROUP_TYPE = X_GROUP_TYPE;
124 
125   select ACTION_GROUP_MEMBER_ID into l_action_group_member_id
126   from ALR_ACTION_GROUP_MEMBERS
127   where APPLICATION_ID = l_app_id
128   and ACTION_GROUP_ID = l_action_group_id
129   and ACTION_ID = l_action_id
130   and ALERT_ID = l_alert_id
131   and ENABLED_FLAG = X_ENABLED_FLAG
132   and (((ACTION_LEVEL is null)
133      and (X_ACTION_LEVEL is null))
134      or ((ACTION_LEVEL is not null)
135      and (ACTION_LEVEL =
136      to_number(X_ACTION_LEVEL))))
137   and (((END_DATE_ACTIVE is null)
138      and (X_END_DATE_ACTIVE is null))
139      or ((END_DATE_ACTIVE is not null)
140      and (END_DATE_ACTIVE =
141      to_date(X_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'))));
142 
143   select last_updated_by, last_update_date
144   into  db_luby, db_ludate
145   from ALR_ACTION_GROUP_MEMBERS
146   where application_id = l_app_id
147   and   action_group_member_id = l_action_group_member_id;
148 
149  if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,db_ludate,
150                                 x_custom_mode)) then
151 
152   ALR_ACTION_GROUP_MEMBERS_PKG.UPDATE_ROW(
153     X_APPLICATION_ID => l_app_id,
154     X_ACTION_GROUP_MEMBER_ID =>  l_action_group_member_id,
155     X_ACTION_GROUP_ID => l_action_group_id,
156     X_ACTION_ID => l_action_id,
157     X_ALERT_ID => l_alert_id,
158     X_END_DATE_ACTIVE => to_date(X_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'),
159     X_ENABLED_FLAG => X_ENABLED_FLAG,
160     X_ACTION_LEVEL => to_number(X_ACTION_LEVEL),
161     X_LAST_UPDATE_DATE => sysdate,
162     X_LAST_UPDATED_BY => l_user_id,
163     X_LAST_UPDATE_LOGIN => 0 );
164 end if;
165 
166 exception
167 
168   when NO_DATA_FOUND then
169 
170 
171   select ALR_ACTION_GROUP_MEMBERS_S.nextval into l_action_group_member_id
172   from dual;
173 
174   ALR_ACTION_GROUP_MEMBERS_PKG.INSERT_ROW(
175     X_ROWID => l_row_id,
176     X_APPLICATION_ID => l_app_id,
177     X_ACTION_GROUP_MEMBER_ID => l_action_group_member_id,
178     X_ACTION_GROUP_ID => l_action_group_id,
179     X_ACTION_ID => l_action_id,
180     X_ALERT_ID => l_alert_id,
181     X_END_DATE_ACTIVE => to_date(X_END_DATE_ACTIVE,'YYYY/MM/DD HH24:MI:SS'),
182     X_ENABLED_FLAG => X_ENABLED_FLAG,
183     X_ACTION_LEVEL => to_number(X_ACTION_LEVEL),
184     X_CREATION_DATE => sysdate,
185     X_CREATED_BY => l_user_id,
186     X_LAST_UPDATE_DATE => sysdate,
187     X_LAST_UPDATED_BY => l_user_id,
188     X_LAST_UPDATE_LOGIN => 0 );
189 
190 end LOAD_ROW;
191 
192 procedure LOCK_ROW (
193   X_APPLICATION_ID in NUMBER,
194   X_ACTION_GROUP_MEMBER_ID in NUMBER,
195   X_ACTION_GROUP_ID in NUMBER,
196   X_ACTION_ID in NUMBER,
197   X_ALERT_ID in NUMBER,
198   X_END_DATE_ACTIVE in DATE,
199   X_ENABLED_FLAG in VARCHAR2,
200   X_ACTION_LEVEL in NUMBER
201 ) is
202   cursor c1 is select
203       ACTION_GROUP_ID,
204       ACTION_ID,
205       ALERT_ID,
206       END_DATE_ACTIVE,
207       ENABLED_FLAG,
208       ACTION_LEVEL,
209       APPLICATION_ID,
210       ACTION_GROUP_MEMBER_ID
211     from ALR_ACTION_GROUP_MEMBERS
212     where APPLICATION_ID = X_APPLICATION_ID
213     and ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID
214     for update of APPLICATION_ID nowait;
215 begin
216   for recinfo in c1 loop
217       if (    (recinfo.APPLICATION_ID = X_APPLICATION_ID)
218           AND (recinfo.ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID)
219           AND (recinfo.ACTION_GROUP_ID = X_ACTION_GROUP_ID)
220           AND (recinfo.ACTION_ID = X_ACTION_ID)
221           AND (recinfo.ALERT_ID = X_ALERT_ID)
222           AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
223                OR ((recinfo.END_DATE_ACTIVE is null)
224                AND (X_END_DATE_ACTIVE is null)))
225           AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
226           AND ((recinfo.ACTION_LEVEL = X_ACTION_LEVEL)
227                OR ((recinfo.ACTION_LEVEL is null) AND (X_ACTION_LEVEL is null)))
228       ) then
229         null;
230       else
231         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
232         app_exception.raise_exception;
233       end if;
234   end loop;
235   return;
236 end LOCK_ROW;
237 
238 procedure UPDATE_ROW (
239   X_APPLICATION_ID in NUMBER,
240   X_ACTION_GROUP_MEMBER_ID in NUMBER,
241   X_ACTION_GROUP_ID in NUMBER,
242   X_ACTION_ID in NUMBER,
243   X_ALERT_ID in NUMBER,
244   X_END_DATE_ACTIVE in DATE,
245   X_ENABLED_FLAG in VARCHAR2,
246   X_ACTION_LEVEL in NUMBER,
247   X_LAST_UPDATE_DATE in DATE,
248   X_LAST_UPDATED_BY in NUMBER,
249   X_LAST_UPDATE_LOGIN in NUMBER
250 ) is
251 begin
252   update ALR_ACTION_GROUP_MEMBERS set
253     ACTION_GROUP_ID = X_ACTION_GROUP_ID,
254     ACTION_ID = X_ACTION_ID,
255     ALERT_ID = X_ALERT_ID,
256     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
257     ENABLED_FLAG = X_ENABLED_FLAG,
258     ACTION_LEVEL = X_ACTION_LEVEL,
259     APPLICATION_ID = X_APPLICATION_ID,
260     ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID,
261     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
262     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
263     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
264   where APPLICATION_ID = X_APPLICATION_ID
265   and ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID;
266 
267   if (sql%notfound) then
268     raise no_data_found;
269   end if;
270 end UPDATE_ROW;
271 
272 procedure DELETE_ROW (
273   X_APPLICATION_ID in NUMBER,
274   X_ACTION_GROUP_MEMBER_ID in NUMBER
275 ) is
276 begin
277   delete from ALR_ACTION_GROUP_MEMBERS
278   where APPLICATION_ID = X_APPLICATION_ID
279   and ACTION_GROUP_MEMBER_ID = X_ACTION_GROUP_MEMBER_ID;
280 
281   if (sql%notfound) then
282     raise no_data_found;
283   end if;
284 
285 end DELETE_ROW;
286 
287 
288 end ALR_ACTION_GROUP_MEMBERS_PKG;