DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_RX_SUMMARY_PKG

Source


1 package body FA_RX_SUMMARY_PKG as
2 /* $Header: faxrxsmb.pls 120.5 2006/05/30 12:10:48 rravunny ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_REPORT_ID in NUMBER,
6   X_ATTRIBUTE_SET in VARCHAR2,
7   X_COLUMN_NAME in VARCHAR2,
8   X_SUMMARY_FUNCTION in VARCHAR2,
9   X_PRINT_LEVEL in NUMBER,
10   X_RESET_LEVEL in NUMBER,
11   X_COMPUTE_LEVEL in NUMBER,
12   X_DISPLAY_STATUS in VARCHAR2,
13   X_SUMMARY_PROMPT in VARCHAR2,
14   X_CREATION_DATE in DATE,
15   X_CREATED_BY in NUMBER,
16   X_LAST_UPDATE_DATE in DATE,
17   X_LAST_UPDATED_BY in NUMBER,
18   X_LAST_UPDATE_LOGIN in NUMBER
19 ) is
20   cursor C is select ROWID from FA_RX_SUMMARY_TL
21     where REPORT_ID = X_REPORT_ID
22     and ATTRIBUTE_SET = X_ATTRIBUTE_SET
23     and COLUMN_NAME = X_COLUMN_NAME
24     and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
25     and PRINT_LEVEL = X_PRINT_LEVEL
26     and RESET_LEVEL = X_RESET_LEVEL
27     and COMPUTE_LEVEL = X_COMPUTE_LEVEL
28     and LANGUAGE = userenv('LANG')
29     ;
30 begin
31   insert into FA_RX_SUMMARY_TL (
32     REPORT_ID,
33     ATTRIBUTE_SET,
34     COLUMN_NAME,
35     PRINT_LEVEL,
36     RESET_LEVEL,
37     COMPUTE_LEVEL,
38     SUMMARY_FUNCTION,
39     SUMMARY_PROMPT,
40     DISPLAY_STATUS,
41     LAST_UPDATE_DATE,
42     LAST_UPDATE_LOGIN,
43     LAST_UPDATED_BY,
44     CREATED_BY,
45     CREATION_DATE,
46     LANGUAGE,
47     SOURCE_LANG
48   ) select
49     X_REPORT_ID,
50     X_ATTRIBUTE_SET,
51     X_COLUMN_NAME,
52     X_PRINT_LEVEL,
53     X_RESET_LEVEL,
54     X_COMPUTE_LEVEL,
55     X_SUMMARY_FUNCTION,
56     X_SUMMARY_PROMPT,
57     X_DISPLAY_STATUS,
58     X_LAST_UPDATE_DATE,
59     X_LAST_UPDATE_LOGIN,
60     X_LAST_UPDATED_BY,
61     X_CREATED_BY,
62     X_CREATION_DATE,
63     L.LANGUAGE_CODE,
64     userenv('LANG')
65   from FND_LANGUAGES L
66   where L.INSTALLED_FLAG in ('I', 'B')
67   and not exists
68     (select NULL
69     from FA_RX_SUMMARY_TL T
70     where T.REPORT_ID = X_REPORT_ID
71     and T.ATTRIBUTE_SET = X_ATTRIBUTE_SET
72     and T.COLUMN_NAME = X_COLUMN_NAME
73     and T.SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
74     and T.PRINT_LEVEL = X_PRINT_LEVEL
75     and T.RESET_LEVEL = X_RESET_LEVEL
76     and T.COMPUTE_LEVEL = X_COMPUTE_LEVEL
77     and T.LANGUAGE = L.LANGUAGE_CODE);
78 
79   open c;
80   fetch c into X_ROWID;
81   if (c%notfound) then
82     close c;
83     raise no_data_found;
84   end if;
85   close c;
86 
87 end INSERT_ROW;
88 
89 procedure LOCK_ROW (
90   X_REPORT_ID in NUMBER,
91   X_ATTRIBUTE_SET in VARCHAR2,
92   X_COLUMN_NAME in VARCHAR2,
93   X_SUMMARY_FUNCTION in VARCHAR2,
94   X_PRINT_LEVEL in NUMBER,
95   X_RESET_LEVEL in NUMBER,
96   X_COMPUTE_LEVEL in NUMBER,
97   X_DISPLAY_STATUS in VARCHAR2,
98   X_SUMMARY_PROMPT in VARCHAR2
99 ) is
100   cursor c1 is select
101       DISPLAY_STATUS,
102       SUMMARY_PROMPT,
103       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
104     from FA_RX_SUMMARY_TL
105     where REPORT_ID = X_REPORT_ID
106     and ATTRIBUTE_SET = X_ATTRIBUTE_SET
107     and COLUMN_NAME = X_COLUMN_NAME
108     and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
109     and PRINT_LEVEL = X_PRINT_LEVEL
110     and RESET_LEVEL = X_RESET_LEVEL
111     and COMPUTE_LEVEL = X_COMPUTE_LEVEL
112     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
113     for update of REPORT_ID nowait;
114 begin
115   for tlinfo in c1 loop
116     if (tlinfo.BASELANG = 'Y') then
117       if (    ((tlinfo.SUMMARY_PROMPT = X_SUMMARY_PROMPT)
118                OR ((tlinfo.SUMMARY_PROMPT is null) AND (X_SUMMARY_PROMPT is null)))
119           AND ((tlinfo.DISPLAY_STATUS = X_DISPLAY_STATUS)
120                OR ((tlinfo.DISPLAY_STATUS is null) AND (X_DISPLAY_STATUS is null)))
121       ) then
122         null;
123       else
124         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
125         app_exception.raise_exception;
126       end if;
127     end if;
128   end loop;
129   return;
130 end LOCK_ROW;
131 
132 procedure UPDATE_ROW (
133   X_REPORT_ID in NUMBER,
134   X_ATTRIBUTE_SET in VARCHAR2,
135   X_COLUMN_NAME in VARCHAR2,
136   X_SUMMARY_FUNCTION in VARCHAR2,
137   X_PRINT_LEVEL in NUMBER,
138   X_RESET_LEVEL in NUMBER,
139   X_COMPUTE_LEVEL in NUMBER,
140   X_DISPLAY_STATUS in VARCHAR2,
141   X_SUMMARY_PROMPT in VARCHAR2,
142   X_LAST_UPDATE_DATE in DATE,
143   X_LAST_UPDATED_BY in NUMBER,
144   X_LAST_UPDATE_LOGIN in NUMBER
145 ) is
146 begin
147   update FA_RX_SUMMARY_TL set
148     DISPLAY_STATUS = X_DISPLAY_STATUS,
149     SUMMARY_PROMPT = X_SUMMARY_PROMPT,
150     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
151     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
152     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
153     SOURCE_LANG = userenv('LANG')
154   where REPORT_ID = X_REPORT_ID
155   and ATTRIBUTE_SET = X_ATTRIBUTE_SET
156   and COLUMN_NAME = X_COLUMN_NAME
157   and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
158   and PRINT_LEVEL = X_PRINT_LEVEL
159   and RESET_LEVEL = X_RESET_LEVEL
160   and COMPUTE_LEVEL = X_COMPUTE_LEVEL
161   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
162 
163   if (sql%notfound) then
164     raise no_data_found;
165   end if;
166 end UPDATE_ROW;
167 
168 procedure DELETE_ROW (
169   X_REPORT_ID in NUMBER,
170   X_ATTRIBUTE_SET in VARCHAR2,
171   X_COLUMN_NAME in VARCHAR2,
172   X_SUMMARY_FUNCTION in VARCHAR2,
173   X_PRINT_LEVEL in NUMBER,
174   X_RESET_LEVEL in NUMBER,
175   X_COMPUTE_LEVEL in NUMBER
176 ) is
177 begin
178   delete from FA_RX_SUMMARY_TL
179   where REPORT_ID = X_REPORT_ID
180   and ATTRIBUTE_SET = X_ATTRIBUTE_SET
181   and COLUMN_NAME = X_COLUMN_NAME
182   and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
183   and PRINT_LEVEL = X_PRINT_LEVEL
184   and RESET_LEVEL = X_RESET_LEVEL
185   and COMPUTE_LEVEL = X_COMPUTE_LEVEL;
186 
187   if (sql%notfound) then
188     raise no_data_found;
189   end if;
190 
191 end DELETE_ROW;
192 
193 procedure ADD_LANGUAGE
194 is
195 begin
196   update FA_RX_SUMMARY_TL T set (
197       SUMMARY_PROMPT
198     ) = (select
199       B.SUMMARY_PROMPT
200     from FA_RX_SUMMARY_TL B
201     where B.REPORT_ID = T.REPORT_ID
202     and B.ATTRIBUTE_SET = T.ATTRIBUTE_SET
203     and B.COLUMN_NAME = T.COLUMN_NAME
204     and B.SUMMARY_FUNCTION = T.SUMMARY_FUNCTION
205     and B.PRINT_LEVEL = T.PRINT_LEVEL
206     and B.RESET_LEVEL = T.RESET_LEVEL
207     and B.COMPUTE_LEVEL = T.COMPUTE_LEVEL
208     and B.LANGUAGE = T.SOURCE_LANG)
209   where (
210       T.REPORT_ID,
211       T.ATTRIBUTE_SET,
212       T.COLUMN_NAME,
213       T.SUMMARY_FUNCTION,
214       T.PRINT_LEVEL,
215       T.RESET_LEVEL,
216       T.COMPUTE_LEVEL,
217       T.LANGUAGE
218   ) in (select
219       SUBT.REPORT_ID,
220       SUBT.ATTRIBUTE_SET,
221       SUBT.COLUMN_NAME,
222       SUBT.SUMMARY_FUNCTION,
223       SUBT.PRINT_LEVEL,
224       SUBT.RESET_LEVEL,
225       SUBT.COMPUTE_LEVEL,
226       SUBT.LANGUAGE
227     from FA_RX_SUMMARY_TL SUBB, FA_RX_SUMMARY_TL SUBT
228     where SUBB.REPORT_ID = SUBT.REPORT_ID
229     and SUBB.ATTRIBUTE_SET = SUBT.ATTRIBUTE_SET
230     and SUBB.COLUMN_NAME = SUBT.COLUMN_NAME
231     and SUBB.SUMMARY_FUNCTION = SUBT.SUMMARY_FUNCTION
232     and SUBB.PRINT_LEVEL = SUBT.PRINT_LEVEL
233     and SUBB.RESET_LEVEL = SUBT.RESET_LEVEL
234     and SUBB.COMPUTE_LEVEL = SUBT.COMPUTE_LEVEL
235     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
236     and (SUBB.SUMMARY_PROMPT <> SUBT.SUMMARY_PROMPT
237       or (SUBB.SUMMARY_PROMPT is null and SUBT.SUMMARY_PROMPT is not null)
238       or (SUBB.SUMMARY_PROMPT is not null and SUBT.SUMMARY_PROMPT is null)
239   ));
240 
241   insert into FA_RX_SUMMARY_TL (
242     REPORT_ID,
243     ATTRIBUTE_SET,
244     COLUMN_NAME,
245     PRINT_LEVEL,
246     RESET_LEVEL,
247     COMPUTE_LEVEL,
248     SUMMARY_FUNCTION,
249     SUMMARY_PROMPT,
250     DISPLAY_STATUS,
251     LAST_UPDATE_DATE,
252     LAST_UPDATE_LOGIN,
253     LAST_UPDATED_BY,
254     CREATED_BY,
255     CREATION_DATE,
256     LANGUAGE,
257     SOURCE_LANG
258   ) select
259     B.REPORT_ID,
260     B.ATTRIBUTE_SET,
261     B.COLUMN_NAME,
262     B.PRINT_LEVEL,
263     B.RESET_LEVEL,
264     B.COMPUTE_LEVEL,
265     B.SUMMARY_FUNCTION,
266     B.SUMMARY_PROMPT,
267     B.DISPLAY_STATUS,
268     B.LAST_UPDATE_DATE,
269     B.LAST_UPDATE_LOGIN,
270     B.LAST_UPDATED_BY,
271     B.CREATED_BY,
272     B.CREATION_DATE,
273     L.LANGUAGE_CODE,
274     B.SOURCE_LANG
275   from FA_RX_SUMMARY_TL B, FND_LANGUAGES L
276   where L.INSTALLED_FLAG in ('I', 'B')
277   and B.LANGUAGE = userenv('LANG')
278   and not exists
279     (select NULL
280     from FA_RX_SUMMARY_TL T
281     where T.REPORT_ID = B.REPORT_ID
282     and T.ATTRIBUTE_SET = B.ATTRIBUTE_SET
283     and T.COLUMN_NAME = B.COLUMN_NAME
284     and T.SUMMARY_FUNCTION = B.SUMMARY_FUNCTION
285     and T.PRINT_LEVEL = B.PRINT_LEVEL
286     and T.RESET_LEVEL = B.RESET_LEVEL
287     and T.COMPUTE_LEVEL = B.COMPUTE_LEVEL
288     and T.LANGUAGE = L.LANGUAGE_CODE);
289 end ADD_LANGUAGE;
290 
291 procedure LOAD_ROW (
292   X_REPORT_ID in NUMBER,
293   X_ATTRIBUTE_SET in VARCHAR2,
294   X_COLUMN_NAME in VARCHAR2,
295   X_SUMMARY_FUNCTION in VARCHAR2,
296   X_PRINT_LEVEL in NUMBER,
297   X_RESET_LEVEL in NUMBER,
298   X_COMPUTE_LEVEL in NUMBER,
299   X_DISPLAY_STATUS in VARCHAR2,
300   X_SUMMARY_PROMPT in VARCHAR2,
301   X_OWNER in VARCHAR2
302   ) is
303 begin
304 	LOAD_ROW (
305 	  X_REPORT_ID => X_REPORT_ID ,
306 	  X_ATTRIBUTE_SET => X_ATTRIBUTE_SET ,
307 	  X_COLUMN_NAME  => X_COLUMN_NAME ,
308 	  X_SUMMARY_FUNCTION =>  X_SUMMARY_FUNCTION ,
309 	  X_PRINT_LEVEL  => X_PRINT_LEVEL ,
310 	  X_RESET_LEVEL  => X_RESET_LEVEL ,
311 	  X_COMPUTE_LEVEL  => X_COMPUTE_LEVEL ,
312 	  X_DISPLAY_STATUS => X_DISPLAY_STATUS,
313 	  X_SUMMARY_PROMPT  => X_SUMMARY_PROMPT ,
314 	  X_OWNER  => X_OWNER ,
315 	  X_LAST_UPDATE_DATE  => null,
316 	  X_CUSTOM_MODE  => null
317 	  );
318 end LOAD_ROW;
319 
320 procedure LOAD_ROW (
321   X_REPORT_ID in NUMBER,
322   X_ATTRIBUTE_SET in VARCHAR2,
323   X_COLUMN_NAME in VARCHAR2,
324   X_SUMMARY_FUNCTION in VARCHAR2,
325   X_PRINT_LEVEL in NUMBER,
326   X_RESET_LEVEL in NUMBER,
327   X_COMPUTE_LEVEL in NUMBER,
328   X_DISPLAY_STATUS in VARCHAR2,
329   X_SUMMARY_PROMPT in VARCHAR2,
330   X_OWNER in VARCHAR2,
331   X_LAST_UPDATE_DATE in VARCHAR2,
332   X_CUSTOM_MODE in VARCHAR2
333   ) is
334 	--* Bug#5102292, rravunny
335 	--* Begin
336 	--*
337 			f_luby number;  -- entity owner in file
338 			f_ludate date;  -- entity update date in file
339 			db_luby number; -- entity owner in db
340 			db_ludate date; -- entity update date in db
341 
342 	--* End
343 	--*
344 begin
345   declare
346     row_id varchar2(64);
347     user_id number := 0;
348   begin
349   	--* Bug#5102292, rravunny
350 	--* Begin
351 	--*
352 		f_luby := fnd_load_util.owner_id(X_Owner);
353 
354 		-- Translate char last_update_date to date
355 		f_ludate := nvl(to_date(X_Last_Update_Date, 'YYYY/MM/DD HH24:MI:SS'), sysdate);
356 
357 		select	LAST_UPDATED_BY, LAST_UPDATE_DATE
358 		into	db_luby, db_ludate
359 		from	FA_RX_SUMMARY_TL
360 		where	REPORT_ID = X_REPORT_ID
361 		and ATTRIBUTE_SET = X_ATTRIBUTE_SET
362 		and COLUMN_NAME = X_COLUMN_NAME
363 		and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
364 		and PRINT_LEVEL = X_PRINT_LEVEL
365 		and RESET_LEVEL = X_RESET_LEVEL
366 		and COMPUTE_LEVEL = X_COMPUTE_LEVEL
367 		and language = userenv('LANG');
368 
369 	--* End
370 	--*
371 	If (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, X_CUSTOM_MODE)) Then
372 		UPDATE_ROW(
373 			X_REPORT_ID =>		X_REPORT_ID,
374 			X_ATTRIBUTE_SET =>	X_ATTRIBUTE_SET,
375 			X_COLUMN_NAME =>	X_COLUMN_NAME,
376 			X_SUMMARY_FUNCTION =>	X_SUMMARY_FUNCTION,
377 			X_PRINT_LEVEL =>	X_PRINT_LEVEL,
378 			X_RESET_LEVEL =>	X_RESET_LEVEL,
379 			X_COMPUTE_LEVEL =>	X_COMPUTE_LEVEL,
380 			X_DISPLAY_STATUS =>	X_DISPLAY_STATUS,
381 			X_SUMMARY_PROMPT =>	X_SUMMARY_PROMPT,
382 			X_LAST_UPDATE_DATE =>	f_ludate,
383 			X_LAST_UPDATED_BY =>	f_luby,
384 			X_LAST_UPDATE_LOGIN =>	0);
385 	End If;
386 	exception
387   when NO_DATA_FOUND then
388 	INSERT_ROW(
389 		X_ROWID =>		row_id,
390 		X_REPORT_ID =>		X_REPORT_ID,
391 		X_ATTRIBUTE_SET =>	X_ATTRIBUTE_SET,
392 		X_COLUMN_NAME =>	X_COLUMN_NAME,
393 		X_SUMMARY_FUNCTION =>	X_SUMMARY_FUNCTION,
394 		X_PRINT_LEVEL =>	X_PRINT_LEVEL,
395 		X_RESET_LEVEL =>	X_RESET_LEVEL,
396 		X_COMPUTE_LEVEL =>	X_COMPUTE_LEVEL,
397 		X_DISPLAY_STATUS =>	X_DISPLAY_STATUS,
398 		X_SUMMARY_PROMPT =>	X_SUMMARY_PROMPT,
399 		X_CREATION_DATE =>	f_ludate,
400 		X_CREATED_BY =>		f_luby,
401 		X_LAST_UPDATE_DATE =>	f_ludate,
402 		X_LAST_UPDATED_BY =>	f_luby,
403 		X_LAST_UPDATE_LOGIN =>	0);
404   end;
405 end LOAD_ROW;
406 
407 procedure TRANSLATE_ROW (
408   X_REPORT_ID in NUMBER,
409   X_ATTRIBUTE_SET in VARCHAR2,
410   X_COLUMN_NAME in VARCHAR2,
411   X_SUMMARY_FUNCTION in VARCHAR2,
412   X_PRINT_LEVEL in NUMBER,
413   X_RESET_LEVEL in NUMBER,
414   X_COMPUTE_LEVEL in NUMBER,
415   X_SUMMARY_PROMPT in VARCHAR2,
416   X_OWNER in VARCHAR2
417   ) is
418 begin
419 	TRANSLATE_ROW (
420 	  X_REPORT_ID => X_REPORT_ID ,
421 	  X_ATTRIBUTE_SET => X_ATTRIBUTE_SET ,
422 	  X_COLUMN_NAME  => X_COLUMN_NAME ,
423 	  X_SUMMARY_FUNCTION =>  X_SUMMARY_FUNCTION ,
424 	  X_PRINT_LEVEL  => X_PRINT_LEVEL ,
425 	  X_RESET_LEVEL  => X_RESET_LEVEL ,
426 	  X_COMPUTE_LEVEL  => X_COMPUTE_LEVEL ,
427 	  X_SUMMARY_PROMPT  => X_SUMMARY_PROMPT ,
428 	  X_OWNER  => X_OWNER ,
429 	  X_LAST_UPDATE_DATE  => null,
430 	  X_CUSTOM_MODE  => null
431 	  ) ;
432 End TRANSLATE_ROW;
433 
434 procedure TRANSLATE_ROW (
435   X_REPORT_ID in NUMBER,
436   X_ATTRIBUTE_SET in VARCHAR2,
437   X_COLUMN_NAME in VARCHAR2,
438   X_SUMMARY_FUNCTION in VARCHAR2,
439   X_PRINT_LEVEL in NUMBER,
440   X_RESET_LEVEL in NUMBER,
441   X_COMPUTE_LEVEL in NUMBER,
442   X_SUMMARY_PROMPT in VARCHAR2,
443   X_OWNER in VARCHAR2,
444   X_LAST_UPDATE_DATE in VARCHAR2,
445   X_CUSTOM_MODE in VARCHAR2
446   ) is
447   f_luby number;  -- entity owner in file
448   f_ludate date;  -- entity update date in file
449 begin
450 	--* Bug#5102292, rravunny
451 	--* Begin
452 	--*
453 	f_luby := fnd_load_util.owner_id(X_Owner);
454 
455 	-- Translate char last_update_date to date
456 	f_ludate := nvl(to_date(X_Last_Update_Date, 'YYYY/MM/DD HH24:MI:SS'), sysdate);
457 
458 	--* End
459 	--*
460 
461 	update FA_RX_SUMMARY_TL
462 	set	SUMMARY_PROMPT = X_SUMMARY_PROMPT,
463 		LAST_UPDATE_DATE = f_ludate,
464 		LAST_UPDATED_BY = f_luby,
465 		LAST_UPDATE_LOGIN = 0,
466 		SOURCE_LANG = userenv('LANG')
467 	where REPORT_ID = X_REPORT_ID
468 	and ATTRIBUTE_SET = X_ATTRIBUTE_SET
469 	and COLUMN_NAME = X_COLUMN_NAME
470 	and SUMMARY_FUNCTION = X_SUMMARY_FUNCTION
471 	and PRINT_LEVEL = X_PRINT_LEVEL
472 	and RESET_LEVEL = X_RESET_LEVEL
473 	and COMPUTE_LEVEL = X_COMPUTE_LEVEL
474 	and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
475 end TRANSLATE_ROW;
476 
477 end FA_RX_SUMMARY_PKG;