[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;