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