[Home] [Help]
PACKAGE BODY: APPS.XLA_TAB_ACCT_DEFS_F_PKG
Source
1 PACKAGE BODY xla_tab_acct_defs_f_pkg AS
2 /* $Header: xlathtabacd.pkb 120.2 2003/10/02 01:57:54 dcshah noship $ */
3 /*======================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_tab_acct_defs |
10 | |
11 | DESCRIPTION |
12 | Forms PL/SQL Wrapper for xla_tab_acct_defs |
13 | |
14 | HISTORY |
15 | Generated from XLAUTB. |
16 | |
17 +======================================================================*/
18
19
20
21 /*======================================================================+
22 | |
23 | Procedure insert_row |
24 | |
25 +======================================================================*/
26 procedure INSERT_ROW (
27 X_ROWID in out NOCOPY VARCHAR2,
28 X_APPLICATION_ID in NUMBER,
29 X_AMB_CONTEXT_CODE in VARCHAR2,
30 X_ACCOUNT_DEFINITION_TYPE_CODE in VARCHAR2,
31 X_ACCOUNT_DEFINITION_CODE in VARCHAR2,
32 X_REQUEST_ID in NUMBER,
33 X_CHART_OF_ACCOUNTS_ID in NUMBER,
34 X_COMPILE_STATUS_CODE in VARCHAR2,
35 X_LOCKING_STATUS_FLAG in VARCHAR2,
36 X_ENABLED_FLAG in VARCHAR2,
37 X_NAME in VARCHAR2,
38 X_DESCRIPTION in VARCHAR2,
39 X_CREATION_DATE in DATE,
40 X_CREATED_BY in NUMBER,
41 X_LAST_UPDATE_DATE in DATE,
42 X_LAST_UPDATED_BY in NUMBER,
43 X_LAST_UPDATE_LOGIN in NUMBER
44 ) is
45
46 cursor C is
47 select ROWID from XLA_TAB_ACCT_DEFS_B
48 where APPLICATION_ID = X_APPLICATION_ID
49 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
50 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
51 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE
52 ;
53
54 BEGIN
55
56 insert into XLA_TAB_ACCT_DEFS_B (
57 AMB_CONTEXT_CODE,
58 REQUEST_ID,
59 APPLICATION_ID,
60 ACCOUNT_DEFINITION_TYPE_CODE,
61 ACCOUNT_DEFINITION_CODE,
62 CHART_OF_ACCOUNTS_ID,
63 COMPILE_STATUS_CODE,
64 LOCKING_STATUS_FLAG,
65 ENABLED_FLAG,
66 CREATION_DATE,
67 CREATED_BY,
68 LAST_UPDATE_DATE,
69 LAST_UPDATED_BY,
70 LAST_UPDATE_LOGIN
71 ) values (
72 X_AMB_CONTEXT_CODE,
73 X_REQUEST_ID,
74 X_APPLICATION_ID,
75 X_ACCOUNT_DEFINITION_TYPE_CODE,
76 X_ACCOUNT_DEFINITION_CODE,
77 X_CHART_OF_ACCOUNTS_ID,
78 X_COMPILE_STATUS_CODE,
79 X_LOCKING_STATUS_FLAG,
80 X_ENABLED_FLAG,
81 X_CREATION_DATE,
82 X_CREATED_BY,
83 X_LAST_UPDATE_DATE,
84 X_LAST_UPDATED_BY,
85 X_LAST_UPDATE_LOGIN
86 );
87
88 insert into XLA_TAB_ACCT_DEFS_TL (
89 APPLICATION_ID,
90 ACCOUNT_DEFINITION_TYPE_CODE,
91 ACCOUNT_DEFINITION_CODE,
92 NAME,
93 DESCRIPTION,
94 CREATION_DATE,
95 CREATED_BY,
96 LAST_UPDATE_DATE,
97 LAST_UPDATED_BY,
98 LAST_UPDATE_LOGIN,
99 AMB_CONTEXT_CODE,
100 LANGUAGE,
101 SOURCE_LANG
102 ) select
103 X_APPLICATION_ID,
104 X_ACCOUNT_DEFINITION_TYPE_CODE,
105 X_ACCOUNT_DEFINITION_CODE,
106 X_NAME,
107 X_DESCRIPTION,
108 X_CREATION_DATE,
109 X_CREATED_BY,
110 X_LAST_UPDATE_DATE,
111 X_LAST_UPDATED_BY,
112 X_LAST_UPDATE_LOGIN,
113 X_AMB_CONTEXT_CODE,
114 L.LANGUAGE_CODE,
115 userenv('LANG')
116 from FND_LANGUAGES L
117 where L.INSTALLED_FLAG in ('I', 'B')
118 and not exists
119 (select NULL
120 from XLA_TAB_ACCT_DEFS_TL T
121 where T.APPLICATION_ID = X_APPLICATION_ID
122 and T.AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
123 and T.ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
124 and T.ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE
125 and T.LANGUAGE = L.LANGUAGE_CODE);
126
127 open c;
128 fetch c into X_ROWID;
129 if (c%notfound) then
130 close c;
131 raise no_data_found;
132 end if;
133 close c;
134
135 end INSERT_ROW;
136
137
138 /*======================================================================+
139 | |
140 | Procedure lock_row |
141 | |
142 +======================================================================*/
143
144 procedure LOCK_ROW (
145 X_APPLICATION_ID in NUMBER,
146 X_AMB_CONTEXT_CODE in VARCHAR2,
147 X_ACCOUNT_DEFINITION_TYPE_CODE in VARCHAR2,
148 X_ACCOUNT_DEFINITION_CODE in VARCHAR2,
149 X_REQUEST_ID in NUMBER,
150 X_CHART_OF_ACCOUNTS_ID in NUMBER,
151 X_COMPILE_STATUS_CODE in VARCHAR2,
152 X_LOCKING_STATUS_FLAG in VARCHAR2,
153 X_ENABLED_FLAG in VARCHAR2,
154 X_NAME in VARCHAR2,
155 X_DESCRIPTION in VARCHAR2
156 ) is
157
158 cursor c is select
159 REQUEST_ID,
160 CHART_OF_ACCOUNTS_ID,
161 COMPILE_STATUS_CODE,
162 LOCKING_STATUS_FLAG,
163 ENABLED_FLAG
164 from XLA_TAB_ACCT_DEFS_B
165 where APPLICATION_ID = X_APPLICATION_ID
166 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
167 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
168 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE
169 for update of APPLICATION_ID nowait;
170 recinfo c%rowtype;
171
172 cursor c1 is select
173 NAME,
174 DESCRIPTION,
175 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
176 from XLA_TAB_ACCT_DEFS_TL
177 where APPLICATION_ID = X_APPLICATION_ID
178 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
179 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
180 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE
181 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
182 for update of APPLICATION_ID nowait;
183
184 BEGIN
185 open c;
186 fetch c into recinfo;
187 if (c%notfound) then
188 close c;
189 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
190 app_exception.raise_exception;
191 end if;
192 close c;
193
194 if ( ((recinfo.REQUEST_ID = X_REQUEST_ID)
195 OR ((recinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
196 AND ((recinfo.CHART_OF_ACCOUNTS_ID = X_CHART_OF_ACCOUNTS_ID)
197 OR ((recinfo.CHART_OF_ACCOUNTS_ID is null) AND (X_CHART_OF_ACCOUNTS_ID is null)))
198 AND (recinfo.COMPILE_STATUS_CODE = X_COMPILE_STATUS_CODE)
199 AND (recinfo.LOCKING_STATUS_FLAG = X_LOCKING_STATUS_FLAG)
200 AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
201 ) then
202 null;
203 else
204 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
205 app_exception.raise_exception;
206 end if;
207
208 for tlinfo in c1 loop
209 if (tlinfo.BASELANG = 'Y') then
210 if ( (tlinfo.NAME = X_NAME)
211 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
212 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
213 ) then
214 null;
215 else
216 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
217 app_exception.raise_exception;
218 end if;
219 end if;
220 end loop;
221 return;
222
223 END LOCK_ROW;
224
225 /*======================================================================+
226 | |
227 | Procedure update_row |
228 | |
229 +======================================================================*/
230
231 procedure UPDATE_ROW (
232 X_APPLICATION_ID in NUMBER,
233 X_AMB_CONTEXT_CODE in VARCHAR2,
234 X_ACCOUNT_DEFINITION_TYPE_CODE in VARCHAR2,
235 X_ACCOUNT_DEFINITION_CODE in VARCHAR2,
236 X_REQUEST_ID in NUMBER,
237 X_CHART_OF_ACCOUNTS_ID in NUMBER,
238 X_COMPILE_STATUS_CODE in VARCHAR2,
239 X_LOCKING_STATUS_FLAG in VARCHAR2,
240 X_ENABLED_FLAG in VARCHAR2,
241 X_NAME in VARCHAR2,
242 X_DESCRIPTION in VARCHAR2,
243 X_LAST_UPDATE_DATE in DATE,
244 X_LAST_UPDATED_BY in NUMBER,
245 X_LAST_UPDATE_LOGIN in NUMBER
246 ) is
247
248 BEGIN
249
250 UPDATE XLA_TAB_ACCT_DEFS_B set
251 REQUEST_ID = X_REQUEST_ID,
252 CHART_OF_ACCOUNTS_ID = X_CHART_OF_ACCOUNTS_ID,
253 COMPILE_STATUS_CODE = X_COMPILE_STATUS_CODE,
254 LOCKING_STATUS_FLAG = X_LOCKING_STATUS_FLAG,
255 ENABLED_FLAG = X_ENABLED_FLAG,
256 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
257 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
258 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
259 where APPLICATION_ID = X_APPLICATION_ID
260 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
261 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
262 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE;
263
264 if (sql%notfound) then
265 raise no_data_found;
266 end if;
267
268 update XLA_TAB_ACCT_DEFS_TL set
269 NAME = X_NAME,
270 DESCRIPTION = X_DESCRIPTION,
271 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
272 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
273 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
274 SOURCE_LANG = userenv('LANG')
275 where APPLICATION_ID = X_APPLICATION_ID
276 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
277 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
278 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE
279 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
280
281 if (sql%notfound) then
282 raise no_data_found;
283 end if;
284
285 END UPDATE_ROW;
286
287
288 /*======================================================================+
289 | |
290 | Procedure delete_row |
291 | |
292 +======================================================================*/
293
294 procedure DELETE_ROW (
295 X_APPLICATION_ID in NUMBER,
296 X_AMB_CONTEXT_CODE in VARCHAR2,
297 X_ACCOUNT_DEFINITION_TYPE_CODE in VARCHAR2,
298 X_ACCOUNT_DEFINITION_CODE in VARCHAR2
299 ) is
300
301 BEGIN
302
303 delete from XLA_TAB_ACCT_DEFS_TL
304 where APPLICATION_ID = X_APPLICATION_ID
305 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
306 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
307 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE;
308
309 if (sql%notfound) then
310 raise no_data_found;
311 end if;
312
313 delete from XLA_TAB_ACCT_DEFS_B
314 where APPLICATION_ID = X_APPLICATION_ID
315 and AMB_CONTEXT_CODE = X_AMB_CONTEXT_CODE
316 and ACCOUNT_DEFINITION_TYPE_CODE = X_ACCOUNT_DEFINITION_TYPE_CODE
317 and ACCOUNT_DEFINITION_CODE = X_ACCOUNT_DEFINITION_CODE;
318
319 if (sql%notfound) then
320 raise no_data_found;
321 end if;
322
323 END DELETE_ROW;
324
325 /*======================================================================+
326 | |
327 | Procedure add_language |
328 | |
329 +======================================================================*/
330
331 procedure ADD_LANGUAGE
332 is
333
334 BEGIN
335 delete from XLA_TAB_ACCT_DEFS_TL T
336 where not exists
337 (select NULL
338 from XLA_TAB_ACCT_DEFS_B B
339 where B.APPLICATION_ID = T.APPLICATION_ID
340 and B.AMB_CONTEXT_CODE = T.AMB_CONTEXT_CODE
341 and B.ACCOUNT_DEFINITION_TYPE_CODE = T.ACCOUNT_DEFINITION_TYPE_CODE
342 and B.ACCOUNT_DEFINITION_CODE = T.ACCOUNT_DEFINITION_CODE
343 );
344
345 update XLA_TAB_ACCT_DEFS_TL T set (
346 NAME,
347 DESCRIPTION
348 ) = (select
352 where B.APPLICATION_ID = T.APPLICATION_ID
349 B.NAME,
350 B.DESCRIPTION
351 from XLA_TAB_ACCT_DEFS_TL B
353 and B.AMB_CONTEXT_CODE = T.AMB_CONTEXT_CODE
354 and B.ACCOUNT_DEFINITION_TYPE_CODE = T.ACCOUNT_DEFINITION_TYPE_CODE
355 and B.ACCOUNT_DEFINITION_CODE = T.ACCOUNT_DEFINITION_CODE
356 and B.LANGUAGE = T.SOURCE_LANG)
357 where (
358 T.APPLICATION_ID,
359 T.AMB_CONTEXT_CODE,
360 T.ACCOUNT_DEFINITION_TYPE_CODE,
361 T.ACCOUNT_DEFINITION_CODE,
362 T.LANGUAGE
363 ) in (select
364 SUBT.APPLICATION_ID,
365 SUBT.AMB_CONTEXT_CODE,
366 SUBT.ACCOUNT_DEFINITION_TYPE_CODE,
367 SUBT.ACCOUNT_DEFINITION_CODE,
368 SUBT.LANGUAGE
369 from XLA_TAB_ACCT_DEFS_TL SUBB, XLA_TAB_ACCT_DEFS_TL SUBT
370 where SUBB.APPLICATION_ID = SUBT.APPLICATION_ID
371 and SUBB.AMB_CONTEXT_CODE = SUBT.AMB_CONTEXT_CODE
372 and SUBB.ACCOUNT_DEFINITION_TYPE_CODE = SUBT.ACCOUNT_DEFINITION_TYPE_CODE
373 and SUBB.ACCOUNT_DEFINITION_CODE = SUBT.ACCOUNT_DEFINITION_CODE
374 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
375 and (SUBB.NAME <> SUBT.NAME
376 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
377 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
378 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
379 ));
380
381 insert into XLA_TAB_ACCT_DEFS_TL (
382 APPLICATION_ID,
383 ACCOUNT_DEFINITION_TYPE_CODE,
384 ACCOUNT_DEFINITION_CODE,
385 NAME,
386 DESCRIPTION,
387 CREATION_DATE,
388 CREATED_BY,
389 LAST_UPDATE_DATE,
390 LAST_UPDATED_BY,
391 LAST_UPDATE_LOGIN,
392 AMB_CONTEXT_CODE,
393 LANGUAGE,
394 SOURCE_LANG
395 ) select /*+ ORDERED */
396 B.APPLICATION_ID,
397 B.ACCOUNT_DEFINITION_TYPE_CODE,
398 B.ACCOUNT_DEFINITION_CODE,
399 B.NAME,
400 B.DESCRIPTION,
401 B.CREATION_DATE,
402 B.CREATED_BY,
403 B.LAST_UPDATE_DATE,
404 B.LAST_UPDATED_BY,
405 B.LAST_UPDATE_LOGIN,
406 B.AMB_CONTEXT_CODE,
407 L.LANGUAGE_CODE,
408 B.SOURCE_LANG
409 from XLA_TAB_ACCT_DEFS_TL B, FND_LANGUAGES L
410 where L.INSTALLED_FLAG in ('I', 'B')
411 and B.LANGUAGE = userenv('LANG')
412 and not exists
413 (select NULL
414 from XLA_TAB_ACCT_DEFS_TL T
415 where T.APPLICATION_ID = B.APPLICATION_ID
416 and T.AMB_CONTEXT_CODE = B.AMB_CONTEXT_CODE
417 and T.ACCOUNT_DEFINITION_TYPE_CODE = B.ACCOUNT_DEFINITION_TYPE_CODE
418 and T.ACCOUNT_DEFINITION_CODE = B.ACCOUNT_DEFINITION_CODE
419 and T.LANGUAGE = L.LANGUAGE_CODE);
420 end ADD_LANGUAGE;
421
422 end xla_tab_acct_defs_f_PKG;