DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_TAB_VIEW_KPI_PKG

Source


1 package body BSC_TAB_VIEW_KPI_PKG as
2 /* $Header: BSCTBVKB.pls 115.7 2004/03/04 16:23:50 meastmon ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_TAB_ID in NUMBER,
6   X_TAB_VIEW_ID in NUMBER,
7   X_INDICATOR in NUMBER,
8   X_TEXT_FLAG in NUMBER,
9   X_LEFT_POSITION in NUMBER,
10   X_TOP_POSITION in NUMBER,
11   X_WIDTH in NUMBER,
12   X_HEIGHT in NUMBER,
13   X_FONT_SIZE in NUMBER,
14   X_FONT_STYLE in NUMBER,
15   X_FONT_COLOR in NUMBER,
16   X_COLOR_LEFT_POSITION in NUMBER,
17   X_COLOR_TOP_POSITION in NUMBER,
18   X_COLOR_WIDTH in NUMBER,
19   X_COLOR_HEIGHT in NUMBER,
20   X_COLOR_SIZE in NUMBER,
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 BSC_TAB_VIEW_KPI_TL
28     where TAB_ID = X_TAB_ID
29     and TAB_VIEW_ID = X_TAB_VIEW_ID
30     and INDICATOR = X_INDICATOR
31     and LANGUAGE = userenv('LANG')
32     ;
33 begin
34   insert into BSC_TAB_VIEW_KPI_TL (
35     TAB_ID,
36     TAB_VIEW_ID,
37     INDICATOR,
38     TEXT_FLAG,
39     LEFT_POSITION,
40     TOP_POSITION,
41     WIDTH,
42     HEIGHT,
43     FONT_SIZE,
44     FONT_STYLE,
45     FONT_COLOR,
46     COLOR_LEFT_POSITION,
47     COLOR_TOP_POSITION,
48     COLOR_WIDTH,
49     COLOR_HEIGHT,
50     COLOR_SIZE,
51     CREATION_DATE ,
52     CREATED_BY,
53     LAST_UPDATE_DATE,
54     LAST_UPDATED_BY ,
55     LAST_UPDATE_LOGIN,
56     LANGUAGE,
57     SOURCE_LANG
58   ) select
59 	  X_TAB_ID,
60 	  X_TAB_VIEW_ID,
61 	  X_INDICATOR,
62 	  X_TEXT_FLAG,
63 	  X_LEFT_POSITION,
64 	  X_TOP_POSITION,
65 	  X_WIDTH,
66 	  X_HEIGHT,
67 	  X_FONT_SIZE,
68 	  X_FONT_STYLE,
69 	  X_FONT_COLOR,
70 	  X_COLOR_LEFT_POSITION,
71 	  X_COLOR_TOP_POSITION,
72 	  X_COLOR_WIDTH,
73 	  X_COLOR_HEIGHT,
74 	  X_COLOR_SIZE,
75 	  X_CREATION_DATE ,
76 	  X_CREATED_BY,
77 	  X_LAST_UPDATE_DATE,
78 	  X_LAST_UPDATED_BY ,
79 	  X_LAST_UPDATE_LOGIN,
80 	  L.LANGUAGE_CODE,
81 	  userenv('LANG')
82   from FND_LANGUAGES L
83   where L.INSTALLED_FLAG in ('I', 'B')
84   and not exists
85     (select NULL
86     from BSC_TAB_VIEW_KPI_TL T
87     where T.TAB_ID = X_TAB_ID
88     and T.TAB_VIEW_ID = X_TAB_VIEW_ID
89     and T.INDICATOR = X_INDICATOR
90     and T.LANGUAGE = L.LANGUAGE_CODE);
91 
92   open c;
93   fetch c into X_ROWID;
94   if (c%notfound) then
95     close c;
96     raise no_data_found;
97   end if;
98   close c;
99 
100 end INSERT_ROW;
101 
102 procedure LOCK_ROW (
103   X_TAB_ID in NUMBER,
104   X_TAB_VIEW_ID in NUMBER,
105   X_INDICATOR in NUMBER,
106   X_TEXT_FLAG in NUMBER,
107   X_LEFT_POSITION in NUMBER,
108   X_TOP_POSITION in NUMBER,
109   X_WIDTH in NUMBER,
110   X_HEIGHT in NUMBER,
111   X_FONT_SIZE in NUMBER,
112   X_FONT_STYLE in NUMBER,
113   X_FONT_COLOR in NUMBER,
114   X_COLOR_LEFT_POSITION in NUMBER,
115   X_COLOR_TOP_POSITION in NUMBER,
116   X_COLOR_WIDTH in NUMBER,
117   X_COLOR_HEIGHT in NUMBER,
118   X_COLOR_SIZE in NUMBER
119 ) is
120   cursor c1 is select
121         TEXT_FLAG,
122 	LEFT_POSITION,
123 	TOP_POSITION,
124 	WIDTH,
125 	HEIGHT,
126 	FONT_SIZE,
127 	FONT_STYLE,
128 	FONT_COLOR,
129 	COLOR_LEFT_POSITION,
130 	COLOR_TOP_POSITION,
131 	COLOR_WIDTH,
132 	COLOR_HEIGHT,
133 	COLOR_SIZE,
134       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
135     from BSC_TAB_VIEW_KPI_TL
136     where TAB_ID = X_TAB_ID
137     and TAB_VIEW_ID = X_TAB_VIEW_ID
138     and INDICATOR = X_INDICATOR
139     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
140     for update of TAB_ID nowait;
141 begin
142   for tlinfo in c1 loop
143     if (tlinfo.BASELANG = 'Y') then
144       if (    (tlinfo.TEXT_FLAG = X_TEXT_FLAG)
145           AND (tlinfo.LEFT_POSITION = X_LEFT_POSITION)
146           AND (tlinfo.TOP_POSITION = X_TOP_POSITION)
147           AND (tlinfo.WIDTH = X_WIDTH)
148           AND (tlinfo.HEIGHT = X_HEIGHT)
149           AND (tlinfo.FONT_SIZE = X_FONT_SIZE)
150           AND (tlinfo.FONT_STYLE = X_FONT_STYLE)
151           AND (tlinfo.FONT_COLOR = X_FONT_COLOR)
152           AND (tlinfo.COLOR_LEFT_POSITION = X_COLOR_LEFT_POSITION)
153           AND (tlinfo.COLOR_TOP_POSITION = X_COLOR_TOP_POSITION)
154           AND (tlinfo.COLOR_WIDTH = X_COLOR_WIDTH)
155           AND (tlinfo.COLOR_HEIGHT = X_COLOR_HEIGHT)
156           AND (tlinfo.COLOR_SIZE = X_COLOR_SIZE)
157       ) then
158         null;
159       else
160         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
161         app_exception.raise_exception;
162       end if;
163     end if;
164   end loop;
165   return;
166 end LOCK_ROW;
167 
168 procedure UPDATE_ROW (
169   X_TAB_ID in NUMBER,
170   X_TAB_VIEW_ID in NUMBER,
171   X_INDICATOR in NUMBER,
172   X_TEXT_FLAG in NUMBER,
173   X_LEFT_POSITION in NUMBER,
174   X_TOP_POSITION in NUMBER,
175   X_WIDTH in NUMBER,
176   X_HEIGHT in NUMBER,
177   X_FONT_SIZE in NUMBER,
178   X_FONT_STYLE in NUMBER,
179   X_FONT_COLOR in NUMBER,
180   X_COLOR_LEFT_POSITION in NUMBER,
181   X_COLOR_TOP_POSITION in NUMBER,
182   X_COLOR_WIDTH in NUMBER,
183   X_COLOR_HEIGHT in NUMBER,
184   X_COLOR_SIZE in NUMBER,
185   X_CREATION_DATE in DATE,
186   X_CREATED_BY in NUMBER,
187   X_LAST_UPDATE_DATE in DATE,
188   X_LAST_UPDATED_BY in NUMBER,
189   X_LAST_UPDATE_LOGIN in NUMBER
190 ) is
191 begin
192   update BSC_TAB_VIEW_KPI_TL set
193      TEXT_FLAG = X_TEXT_FLAG,
194      LEFT_POSITION = X_LEFT_POSITION,
195      TOP_POSITION = X_TOP_POSITION,
196      WIDTH = X_WIDTH,
197      HEIGHT = X_HEIGHT,
198      FONT_SIZE = X_FONT_SIZE,
199      FONT_STYLE = X_FONT_STYLE,
200      FONT_COLOR = X_FONT_COLOR,
201      COLOR_LEFT_POSITION = X_COLOR_LEFT_POSITION,
202      COLOR_TOP_POSITION = X_COLOR_TOP_POSITION,
203      COLOR_WIDTH = X_COLOR_WIDTH,
204      COLOR_HEIGHT = X_COLOR_HEIGHT,
205      COLOR_SIZE = X_COLOR_SIZE,
206      LAST_UPDATE_DATE = DECODE(LAST_UPDATED_BY,1,X_LAST_UPDATE_DATE,LAST_UPDATE_DATE),
207      LAST_UPDATED_BY = DECODE(LAST_UPDATED_BY,1,X_LAST_UPDATED_BY,LAST_UPDATED_BY),
208      LAST_UPDATE_LOGIN = DECODE(LAST_UPDATED_BY,1,X_LAST_UPDATE_LOGIN,LAST_UPDATE_LOGIN),
209      SOURCE_LANG = userenv('LANG')
210   where TAB_ID = X_TAB_ID
211   and TAB_VIEW_ID = X_TAB_VIEW_ID
212   and INDICATOR = X_INDICATOR
213   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
214 
215   if (sql%notfound) then
216     raise no_data_found;
217   end if;
218 end UPDATE_ROW;
219 
220 procedure DELETE_ROW (
221   X_TAB_ID in NUMBER,
222   X_TAB_VIEW_ID in NUMBER,
223   X_INDICATOR in NUMBER
224 ) is
225 begin
226   delete from BSC_TAB_VIEW_KPI_TL
227   where TAB_ID = X_TAB_ID
228   and TAB_VIEW_ID = X_TAB_VIEW_ID
229   and INDICATOR = X_INDICATOR;
230 
231   if (sql%notfound) then
232     raise no_data_found;
233   end if;
234 
235 end DELETE_ROW;
236 
237 procedure ADD_LANGUAGE
238 is
239 l_user NUMBER;
240 begin
241 
242   -- Ref: bug#3482442 In corner cases this query can return more than one
243   -- row and it will fail. AUDSID is not PK. After meeting with
244   -- Vinod and Kris and Venu, we should use FNG_GLOBAL.user_id
245   l_user := BSC_APPS.fnd_global_user_id;
246 
247   update BSC_TAB_VIEW_KPI_TL T set (
248     TEXT_FLAG,
249     LEFT_POSITION,
250     TOP_POSITION,
251     WIDTH,
252     HEIGHT,
253     FONT_SIZE,
254     FONT_STYLE,
255     FONT_COLOR,
256     COLOR_LEFT_POSITION,
257     COLOR_TOP_POSITION,
258     COLOR_WIDTH,
259     COLOR_HEIGHT,
260     COLOR_SIZE
261     ) = (select
262       B.TEXT_FLAG,
263       B.LEFT_POSITION,
264       B.TOP_POSITION,
265       B.WIDTH,
266       B.HEIGHT,
267       B.FONT_SIZE,
268       B.FONT_STYLE,
269       B.FONT_COLOR,
270       B.COLOR_LEFT_POSITION,
271       B.COLOR_TOP_POSITION,
272       B.COLOR_WIDTH,
273       B.COLOR_HEIGHT,
274       B.COLOR_SIZE
275     from BSC_TAB_VIEW_KPI_TL B
276     where B.TAB_ID = T.TAB_ID
277     and B.TAB_VIEW_ID = T.TAB_VIEW_ID
278     and B.INDICATOR = T.INDICATOR
279     and B.LANGUAGE = T.SOURCE_LANG)
280   where (
281       T.TAB_ID,
282       T.TAB_VIEW_ID,
283       T.INDICATOR,
284       T.LANGUAGE
285   ) in (select
286       SUBT.TAB_ID,
287       SUBT.TAB_VIEW_ID,
288       SUBT.INDICATOR,
289       SUBT.LANGUAGE
290     from BSC_TAB_VIEW_KPI_TL SUBB, BSC_TAB_VIEW_KPI_TL SUBT
291     where SUBB.TAB_ID = SUBT.TAB_ID
292     and SUBB.TAB_VIEW_ID = SUBT.TAB_VIEW_ID
293     and SUBB.INDICATOR = SUBT.INDICATOR
294     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
295     and (SUBB.TEXT_FLAG <> SUBT.TEXT_FLAG
296       or SUBB.LEFT_POSITION <> SUBT.LEFT_POSITION
297       or SUBB.TOP_POSITION <> SUBT.TOP_POSITION
298       or SUBB.LEFT_POSITION <> SUBT.LEFT_POSITION
299       or SUBB.WIDTH <> SUBT.WIDTH
300       or SUBB.HEIGHT <> SUBT.HEIGHT
301       or SUBB.FONT_SIZE <> SUBT.FONT_SIZE
302       or SUBB.FONT_STYLE <> SUBT.FONT_STYLE
303       or SUBB.FONT_COLOR <> SUBT.FONT_COLOR
304       or SUBB.COLOR_LEFT_POSITION <> SUBT.COLOR_LEFT_POSITION
305       or SUBB.COLOR_TOP_POSITION <> SUBT.COLOR_TOP_POSITION
306       or SUBB.COLOR_WIDTH <> SUBT.COLOR_WIDTH
307       or SUBB.COLOR_HEIGHT <> SUBT.COLOR_HEIGHT
308       or SUBB.COLOR_SIZE <> SUBT.COLOR_SIZE
309   ));
310 
311   insert into BSC_TAB_VIEW_KPI_TL (
312     TAB_ID,
313     TAB_VIEW_ID,
314     INDICATOR,
315     TEXT_FLAG,
316     LEFT_POSITION,
317     TOP_POSITION,
318     WIDTH,
319     HEIGHT,
320     FONT_SIZE,
321     FONT_STYLE,
322     FONT_COLOR,
323     COLOR_LEFT_POSITION,
324     COLOR_TOP_POSITION,
325     COLOR_WIDTH,
326     COLOR_HEIGHT,
327     COLOR_SIZE,
328     CREATION_DATE ,
329     CREATED_BY,
330     LAST_UPDATE_DATE,
331     LAST_UPDATED_BY ,
332     LAST_UPDATE_LOGIN,
333     LANGUAGE,
334     SOURCE_LANG
335   ) select
336     B.TAB_ID,
337     B.TAB_VIEW_ID,
338     B.INDICATOR,
339       B.TEXT_FLAG,
340       B.LEFT_POSITION,
341       B.TOP_POSITION,
342       B.WIDTH,
343       B.HEIGHT,
344       B.FONT_SIZE,
345       B.FONT_STYLE,
346       B.FONT_COLOR,
347       B.COLOR_LEFT_POSITION,
348       B.COLOR_TOP_POSITION,
349       B.COLOR_WIDTH,
350       B.COLOR_HEIGHT,
351       B.COLOR_SIZE,
352       SYSDATE,
353     l_user,
354     SYSDATE,
355     l_user,
356     l_user,
357     L.LANGUAGE_CODE,
358     B.SOURCE_LANG
359   from BSC_TAB_VIEW_KPI_TL B, FND_LANGUAGES L
360   where L.INSTALLED_FLAG in ('I', 'B')
361   and B.LANGUAGE = userenv('LANG')
362   and not exists
363     (select NULL
364     from BSC_TAB_VIEW_KPI_TL T
365     where T.TAB_ID = B.TAB_ID
366     and T.TAB_VIEW_ID = B.TAB_VIEW_ID
367     and T.INDICATOR = B.INDICATOR
368     and T.LANGUAGE = L.LANGUAGE_CODE);
369 end ADD_LANGUAGE;
370 
371 end BSC_TAB_VIEW_KPI_PKG;