DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_REQUEST_SETS_PKG

Source


1 package body FND_REQUEST_SETS_PKG as
2 /* $Header: AFRSFRSB.pls 120.2 2005/08/19 20:18:41 ckclark ship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_REQUEST_SET_ID in NUMBER,
7   X_APPLICATION_ID in NUMBER,
8   X_REQUEST_SET_NAME in VARCHAR2,
9   X_ALLOW_CONSTRAINTS_FLAG in VARCHAR2,
10   X_PRINT_TOGETHER_FLAG in VARCHAR2,
11   X_START_DATE_ACTIVE in DATE,
12   X_START_STAGE in NUMBER,
13   X_END_DATE_ACTIVE in DATE,
14   X_CONCURRENT_PROGRAM_ID in NUMBER,
15   X_OWNER in NUMBER,
16   X_PRINTER in VARCHAR2,
17   X_PRINT_STYLE in VARCHAR2,
18   X_ICON_NAME in VARCHAR2,
19   X_USER_REQUEST_SET_NAME in VARCHAR2,
20   X_DESCRIPTION in VARCHAR2,
21   X_CREATION_DATE in DATE,
22   X_CREATED_BY in NUMBER,
23   X_LAST_UPDATE_DATE in DATE,
24   X_LAST_UPDATED_BY in NUMBER,
25   X_LAST_UPDATE_LOGIN in NUMBER
26 ) is
27   cursor C is select ROWID from FND_REQUEST_SETS
28     where REQUEST_SET_ID = X_REQUEST_SET_ID
29     and APPLICATION_ID = X_APPLICATION_ID
30     ;
31 begin
32   insert into FND_REQUEST_SETS (
33     APPLICATION_ID,
34     REQUEST_SET_ID,
35     REQUEST_SET_NAME,
36     ALLOW_CONSTRAINTS_FLAG,
37     PRINT_TOGETHER_FLAG,
38     START_DATE_ACTIVE,
39     START_STAGE,
40     END_DATE_ACTIVE,
41     CONCURRENT_PROGRAM_ID,
42     OWNER,
43     PRINTER,
44     PRINT_STYLE,
45     ICON_NAME,
46     CREATION_DATE,
47     CREATED_BY,
48     LAST_UPDATE_DATE,
49     LAST_UPDATED_BY,
50     LAST_UPDATE_LOGIN
51   ) values (
52     X_APPLICATION_ID,
53     X_REQUEST_SET_ID,
54     X_REQUEST_SET_NAME,
55     X_ALLOW_CONSTRAINTS_FLAG,
56     X_PRINT_TOGETHER_FLAG,
57     X_START_DATE_ACTIVE,
58     X_START_STAGE,
59     X_END_DATE_ACTIVE,
60     X_CONCURRENT_PROGRAM_ID,
61     X_OWNER,
62     X_PRINTER,
63     X_PRINT_STYLE,
64     X_ICON_NAME,
65     X_CREATION_DATE,
66     X_CREATED_BY,
67     X_LAST_UPDATE_DATE,
68     X_LAST_UPDATED_BY,
69     X_LAST_UPDATE_LOGIN
70   );
71 
72   insert into FND_REQUEST_SETS_TL (
73     APPLICATION_ID,
74     REQUEST_SET_ID,
75     CREATION_DATE,
76     CREATED_BY,
77     LAST_UPDATE_DATE,
78     LAST_UPDATED_BY,
79     LAST_UPDATE_LOGIN,
80     USER_REQUEST_SET_NAME,
81     DESCRIPTION,
82     LANGUAGE,
83     SOURCE_LANG
84   ) select
85     X_APPLICATION_ID,
86     X_REQUEST_SET_ID,
87     X_CREATION_DATE,
88     X_CREATED_BY,
89     X_LAST_UPDATE_DATE,
90     X_LAST_UPDATED_BY,
91     X_LAST_UPDATE_LOGIN,
92     X_USER_REQUEST_SET_NAME,
93     X_DESCRIPTION,
94     L.LANGUAGE_CODE,
95     userenv('LANG')
96   from FND_LANGUAGES L
97   where L.INSTALLED_FLAG in ('I', 'B')
98   and not exists
99     (select NULL
100     from FND_REQUEST_SETS_TL T
101     where T.REQUEST_SET_ID = X_REQUEST_SET_ID
102     and T.APPLICATION_ID = X_APPLICATION_ID
103     and T.LANGUAGE = L.LANGUAGE_CODE);
104 
105   open c;
106   fetch c into X_ROWID;
107   if (c%notfound) then
108     close c;
109     raise no_data_found;
110   end if;
111   close c;
112 
113 end INSERT_ROW;
114 
115 procedure LOCK_ROW (
116   X_REQUEST_SET_ID in NUMBER,
117   X_APPLICATION_ID in NUMBER,
118   X_REQUEST_SET_NAME in VARCHAR2,
119   X_ALLOW_CONSTRAINTS_FLAG in VARCHAR2,
120   X_PRINT_TOGETHER_FLAG in VARCHAR2,
121   X_START_DATE_ACTIVE in DATE,
122   X_START_STAGE in NUMBER,
123   X_END_DATE_ACTIVE in DATE,
124   X_CONCURRENT_PROGRAM_ID in NUMBER,
125   X_OWNER in NUMBER,
126   X_PRINTER in VARCHAR2,
127   X_PRINT_STYLE in VARCHAR2,
128   X_ICON_NAME in VARCHAR2,
129   X_USER_REQUEST_SET_NAME in VARCHAR2,
130   X_DESCRIPTION in VARCHAR2
131 ) is
132   cursor c is select
133       REQUEST_SET_NAME,
134       ALLOW_CONSTRAINTS_FLAG,
135       PRINT_TOGETHER_FLAG,
136       START_DATE_ACTIVE,
137       START_STAGE,
138       END_DATE_ACTIVE,
139       CONCURRENT_PROGRAM_ID,
140       OWNER,
141       PRINTER,
142       PRINT_STYLE,
143       ICON_NAME
144     from FND_REQUEST_SETS
145     where REQUEST_SET_ID = X_REQUEST_SET_ID
146     and APPLICATION_ID = X_APPLICATION_ID
147     for update of REQUEST_SET_ID nowait;
148   recinfo c%rowtype;
149 
150   cursor c1 is select
151       USER_REQUEST_SET_NAME,
152       DESCRIPTION
153     from FND_REQUEST_SETS_TL
154     where REQUEST_SET_ID = X_REQUEST_SET_ID
155     and APPLICATION_ID = X_APPLICATION_ID
156     and LANGUAGE = userenv('LANG')
157     for update of REQUEST_SET_ID nowait;
158   tlinfo c1%rowtype;
159 
160 begin
161   open c;
162   fetch c into recinfo;
163   if (c%notfound) then
164     close c;
165     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
166     app_exception.raise_exception;
167   end if;
168   close c;
169   if (    (recinfo.REQUEST_SET_NAME = X_REQUEST_SET_NAME)
170       AND (recinfo.ALLOW_CONSTRAINTS_FLAG = X_ALLOW_CONSTRAINTS_FLAG)
171       AND (recinfo.PRINT_TOGETHER_FLAG = X_PRINT_TOGETHER_FLAG)
172       AND (recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
173       AND ((recinfo.START_STAGE = X_START_STAGE)
174            OR ((recinfo.START_STAGE is null) AND (X_START_STAGE is null)))
175       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
176            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
177       AND ((recinfo.CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID)
178            OR ((recinfo.CONCURRENT_PROGRAM_ID is null) AND (X_CONCURRENT_PROGRAM_ID is null)))
179       AND ((recinfo.OWNER = X_OWNER)
180            OR ((recinfo.OWNER is null) AND (X_OWNER is null)))
181       AND ((recinfo.PRINTER = X_PRINTER)
182            OR ((recinfo.PRINTER is null) AND (X_PRINTER is null)))
183       AND ((recinfo.PRINT_STYLE = X_PRINT_STYLE)
184            OR ((recinfo.PRINT_STYLE is null) AND (X_PRINT_STYLE is null)))
185       AND ((recinfo.ICON_NAME = X_ICON_NAME)
186            OR ((recinfo.ICON_NAME is null) AND (X_ICON_NAME is null)))
187   ) then
188     null;
189   else
190     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
191     app_exception.raise_exception;
192   end if;
193 
194   open c1;
195   fetch c1 into tlinfo;
196   if (c1%notfound) then
197     close c1;
198     return;
199   end if;
200   close c1;
201 
202   if (    (tlinfo.USER_REQUEST_SET_NAME = X_USER_REQUEST_SET_NAME)
203       AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
204            OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
205   ) then
206     null;
207   else
208     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
209     app_exception.raise_exception;
210   end if;
211   return;
212 end LOCK_ROW;
213 
214 procedure UPDATE_ROW (
215   X_REQUEST_SET_ID in NUMBER,
216   X_APPLICATION_ID in NUMBER,
217   X_REQUEST_SET_NAME in VARCHAR2,
218   X_ALLOW_CONSTRAINTS_FLAG in VARCHAR2,
219   X_PRINT_TOGETHER_FLAG in VARCHAR2,
220   X_START_DATE_ACTIVE in DATE,
221   X_START_STAGE in NUMBER,
222   X_END_DATE_ACTIVE in DATE,
223   X_CONCURRENT_PROGRAM_ID in NUMBER,
224   X_OWNER in NUMBER,
225   X_PRINTER in VARCHAR2,
226   X_PRINT_STYLE in VARCHAR2,
227   X_ICON_NAME in VARCHAR2,
228   X_USER_REQUEST_SET_NAME in VARCHAR2,
229   X_DESCRIPTION in VARCHAR2,
230   X_LAST_UPDATE_DATE in DATE,
231   X_LAST_UPDATED_BY in NUMBER,
232   X_LAST_UPDATE_LOGIN in NUMBER
233 ) is
234 begin
235   update FND_REQUEST_SETS set
236     REQUEST_SET_NAME = X_REQUEST_SET_NAME,
237     ALLOW_CONSTRAINTS_FLAG = X_ALLOW_CONSTRAINTS_FLAG,
238     PRINT_TOGETHER_FLAG = X_PRINT_TOGETHER_FLAG,
239     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
240     START_STAGE = X_START_STAGE,
241     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
242     CONCURRENT_PROGRAM_ID = X_CONCURRENT_PROGRAM_ID,
243     OWNER = X_OWNER,
244     PRINTER = X_PRINTER,
245     PRINT_STYLE = X_PRINT_STYLE,
246     ICON_NAME = X_ICON_NAME,
247     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
248     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
249     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
250   where REQUEST_SET_ID = X_REQUEST_SET_ID
251   and APPLICATION_ID = X_APPLICATION_ID;
252 
253   if (sql%notfound) then
254     raise no_data_found;
255   end if;
256 
257   update FND_REQUEST_SETS_TL set
258     USER_REQUEST_SET_NAME = X_USER_REQUEST_SET_NAME,
259     DESCRIPTION = X_DESCRIPTION,
260     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
261     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
262     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
263     SOURCE_LANG = userenv('LANG')
264   where REQUEST_SET_ID = X_REQUEST_SET_ID
265   and APPLICATION_ID = X_APPLICATION_ID
266   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
267 
268   if (sql%notfound) then
269     raise no_data_found;
270   end if;
271 end UPDATE_ROW;
272 
273 
274 
275 procedure DELETE_ROW (
276   X_REQUEST_SET_ID in NUMBER,
277   X_APPLICATION_ID in NUMBER
278 ) is
279 begin
280 
281   -- Disable the concurrent program (if any).
282   begin
283     update fnd_concurrent_programs
284        set enabled_flag='N'
285      where application_id = x_application_id
286        and concurrent_program_id in
287            (select concurrent_program_id
288               from fnd_request_sets
289              where application_id = x_application_id
290                and request_set_id = x_request_set_id
291                and concurrent_program_id is not null);
292   exception
293     when no_data_found then -- We don't care.
294       null;
295   end;
296 
297   delete from FND_REQUEST_SETS
298   where APPLICATION_ID = X_APPLICATION_ID
299   and REQUEST_SET_ID = X_REQUEST_SET_ID;
300 
301   if (sql%notfound) then
302     raise no_data_found;
303   end if;
304 
305   delete from FND_REQUEST_SETS_TL
306   where APPLICATION_ID = X_APPLICATION_ID
307   and REQUEST_SET_ID = X_REQUEST_SET_ID;
308 
309   if (sql%notfound) then
310     raise no_data_found;
311   end if;
312 
313   /* Do not raise no_data_found on the following rows! */
314 
315   delete from FND_STAGE_FN_PARAMETER_VALUES
316   where SET_APPLICATION_ID = X_APPLICATION_ID
317   and REQUEST_SET_ID = X_REQUEST_SET_ID;
318 
319   delete from FND_REQUEST_SET_STAGES
320   where SET_APPLICATION_ID = X_APPLICATION_ID
321   and REQUEST_SET_ID = X_REQUEST_SET_ID;
322 
323   delete from FND_REQUEST_SET_STAGES_TL
324   where SET_APPLICATION_ID = X_APPLICATION_ID
325   and REQUEST_SET_ID = X_REQUEST_SET_ID;
326 
327   delete from FND_REQUEST_SET_PROGRAMS
328   where SET_APPLICATION_ID = X_APPLICATION_ID
329   and REQUEST_SET_ID = X_REQUEST_SET_ID;
330 
331   delete from FND_REQUEST_SET_PROGRAM_ARGS
332   where APPLICATION_ID = X_APPLICATION_ID
333   and REQUEST_SET_ID = X_REQUEST_SET_ID;
334 
335 end DELETE_ROW;
336 
337 procedure ADD_LANGUAGE
338 is
339 begin
340 /* Mar/19/03 requested by Ric Ginsberg */
341 /* The following delete and update statements are commented out */
342 /* as a quick workaround to fix the time-consuming table handler issue */
343 /* Eventually we'll need to turn them into a separate fix_language procedure */
344 /*
345 
346   delete from FND_REQUEST_SETS_TL T
347   where not exists
348     (select NULL
349     from FND_REQUEST_SETS B
350     where B.REQUEST_SET_ID = T.REQUEST_SET_ID
351     and B.APPLICATION_ID = T.APPLICATION_ID
352     );
353 
354   update FND_REQUEST_SETS_TL T set (
355       USER_REQUEST_SET_NAME,
356       DESCRIPTION
357     ) = (select
358       B.USER_REQUEST_SET_NAME,
359       B.DESCRIPTION
360     from FND_REQUEST_SETS_TL B
361     where B.REQUEST_SET_ID = T.REQUEST_SET_ID
362     and B.APPLICATION_ID = T.APPLICATION_ID
363     and B.LANGUAGE = T.SOURCE_LANG)
364   where (
365       T.REQUEST_SET_ID,
366       T.APPLICATION_ID,
367       T.LANGUAGE
368   ) in (select
369       SUBT.REQUEST_SET_ID,
370       SUBT.APPLICATION_ID,
371       SUBT.LANGUAGE
372     from FND_REQUEST_SETS_TL SUBB, FND_REQUEST_SETS_TL SUBT
373     where SUBB.REQUEST_SET_ID = SUBT.REQUEST_SET_ID
374     and SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
375     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
376     and (SUBB.USER_REQUEST_SET_NAME <> SUBT.USER_REQUEST_SET_NAME
377       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
378       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
379       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
380   ));
381 */
382 
383   insert into FND_REQUEST_SETS_TL (
384     APPLICATION_ID,
385     REQUEST_SET_ID,
386     CREATION_DATE,
387     CREATED_BY,
388     LAST_UPDATE_DATE,
389     LAST_UPDATED_BY,
390     LAST_UPDATE_LOGIN,
391     USER_REQUEST_SET_NAME,
392     DESCRIPTION,
393     LANGUAGE,
394     SOURCE_LANG
395   ) select
396     B.APPLICATION_ID,
397     B.REQUEST_SET_ID,
398     B.CREATION_DATE,
399     B.CREATED_BY,
400     B.LAST_UPDATE_DATE,
401     B.LAST_UPDATED_BY,
402     B.LAST_UPDATE_LOGIN,
403     B.USER_REQUEST_SET_NAME,
404     B.DESCRIPTION,
405     L.LANGUAGE_CODE,
406     B.SOURCE_LANG
407   from FND_REQUEST_SETS_TL B, FND_LANGUAGES L
408   where L.INSTALLED_FLAG in ('I', 'B')
409   and B.LANGUAGE = userenv('LANG')
410   and not exists
411     (select NULL
412     from FND_REQUEST_SETS_TL T
413     where T.REQUEST_SET_ID = B.REQUEST_SET_ID
414     and T.APPLICATION_ID = B.APPLICATION_ID
415     and T.LANGUAGE = L.LANGUAGE_CODE);
416 end ADD_LANGUAGE;
417 
418 end FND_REQUEST_SETS_PKG;