[Home] [Help]
PACKAGE BODY: APPS.CN_LEDGER_BAL_TYPES_ALL_PKG
Source
1 package body CN_LEDGER_BAL_TYPES_ALL_PKG as
2 /* $Header: cnmllbtb.pls 115.9 2001/10/29 17:08:28 pkm ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out VARCHAR2,
5 X_BALANCE_ID in NUMBER,
6 -- X_CREDIT_TYPE_ID in NUMBER,
7 -- X_INCENTIVE_TYPE_ID in NUMBER,
8 X_STATISTICAL_TYPE in VARCHAR2,
9 X_PAYMENT_TYPE in VARCHAR2,
10 X_COLUMN_NAME in VARCHAR2,
11 X_BALANCE_TYPE in VARCHAR2,
12 X_SCREEN_SEQUENCE in NUMBER,
13 X_BALANCE_NAME 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 CN_LEDGER_BAL_TYPES_ALL_B
21 where BALANCE_ID = X_BALANCE_ID
22 ;
23 begin
24 insert into CN_LEDGER_BAL_TYPES_ALL_B (
25 -- CREDIT_TYPE_ID,
26 -- INCENTIVE_TYPE_ID,
27 STATISTICAL_TYPE,
28 PAYMENT_TYPE,
29 BALANCE_ID,
30 COLUMN_NAME,
31 BALANCE_TYPE,
32 SCREEN_SEQUENCE,
33 CREATION_DATE,
34 CREATED_BY,
35 LAST_UPDATE_DATE,
36 LAST_UPDATED_BY,
37 LAST_UPDATE_LOGIN
38 ) values (
39 -- X_CREDIT_TYPE_ID,
40 -- X_INCENTIVE_TYPE_ID,
41 X_STATISTICAL_TYPE,
42 X_PAYMENT_TYPE,
43 X_BALANCE_ID,
44 X_COLUMN_NAME,
45 X_BALANCE_TYPE,
46 X_SCREEN_SEQUENCE,
47 X_CREATION_DATE,
48 X_CREATED_BY,
49 X_LAST_UPDATE_DATE,
50 X_LAST_UPDATED_BY,
51 X_LAST_UPDATE_LOGIN
52 );
53
54 insert into CN_LEDGER_BAL_TYPES_ALL_TL (
55 BALANCE_ID,
56 BALANCE_NAME,
57 LAST_UPDATE_DATE,
58 LAST_UPDATED_BY,
59 LAST_UPDATE_LOGIN,
60 CREATION_DATE,
61 CREATED_BY,
62 LANGUAGE,
63 SOURCE_LANG
64 ) select
65 X_BALANCE_ID,
66 X_BALANCE_NAME,
67 X_LAST_UPDATE_DATE,
68 X_LAST_UPDATED_BY,
69 X_LAST_UPDATE_LOGIN,
70 X_CREATION_DATE,
71 X_CREATED_BY,
72 L.LANGUAGE_CODE,
73 userenv('LANG')
74 from FND_LANGUAGES L
75 where L.INSTALLED_FLAG in ('I', 'B')
76 and not exists
77 (select NULL
78 from CN_LEDGER_BAL_TYPES_ALL_TL T
79 where T.BALANCE_ID = X_BALANCE_ID
80 and T.LANGUAGE = L.language_code AND
81 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99));
82
83 open c;
84 fetch c into X_ROWID;
85 if (c%notfound) then
86 close c;
87 raise no_data_found;
88 end if;
89 close c;
90
91 end INSERT_ROW;
92
93 procedure LOCK_ROW (
94 X_BALANCE_ID in NUMBER,
95 -- X_CREDIT_TYPE_ID in NUMBER,
96 -- X_INCENTIVE_TYPE_ID in NUMBER,
97 X_STATISTICAL_TYPE in VARCHAR2,
98 X_PAYMENT_TYPE in VARCHAR2,
99 X_COLUMN_NAME in VARCHAR2,
100 X_BALANCE_TYPE in VARCHAR2,
101 X_SCREEN_SEQUENCE in NUMBER,
102 X_BALANCE_NAME in VARCHAR2
103 ) is
104 cursor c is select
105 -- CREDIT_TYPE_ID,
106 -- INCENTIVE_TYPE_ID,
107 STATISTICAL_TYPE,
108 PAYMENT_TYPE,
109 COLUMN_NAME,
110 BALANCE_TYPE,
111 SCREEN_SEQUENCE
112 from CN_LEDGER_BAL_TYPES_ALL_B
113 where BALANCE_ID = x_balance_id AND
114 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)
115 for update of BALANCE_ID nowait;
116 recinfo c%rowtype;
117
118 cursor c1 is select
119 BALANCE_NAME,
120 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
121 from CN_LEDGER_BAL_TYPES_ALL_TL
122 where BALANCE_ID = X_BALANCE_ID
123 and userenv('LANG') in (LANGUAGE, SOURCE_LANG) AND
124 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)
125 for update of BALANCE_ID nowait;
126 begin
127 open c;
128 fetch c into recinfo;
129 if (c%notfound) then
130 close c;
131 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
132 app_exception.raise_exception;
133 end if;
134 close c;
135 if (
136 -- ((recinfo.CREDIT_TYPE_ID = X_CREDIT_TYPE_ID)
137 -- OR ((recinfo.CREDIT_TYPE_ID is null) AND (X_CREDIT_TYPE_ID is null)))
138 -- AND
139 -- ((recinfo.INCETNIVE_TYPE_ID = X_INCENTIVE_TYPE_ID)
140 -- OR ((recinfo.INCENTIVE_TYPE_ID is null) AND (X_INCENTIVE_TYPE_ID is null)))
141 -- AND
142 ((recinfo.STATISTICAL_TYPE = X_STATISTICAL_TYPE)
143 OR ((recinfo.STATISTICAL_TYPE is null) AND (X_STATISTICAL_TYPE is null)))
144 AND ((recinfo.PAYMENT_TYPE = X_PAYMENT_TYPE)
145 OR ((recinfo.PAYMENT_TYPE is null) AND (X_PAYMENT_TYPE is null)))
146 AND (recinfo.COLUMN_NAME = X_COLUMN_NAME)
147 AND (recinfo.BALANCE_TYPE = X_BALANCE_TYPE)
148 AND (recinfo.SCREEN_SEQUENCE = X_SCREEN_SEQUENCE)
149 ) then
150 null;
151 else
152 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
153 app_exception.raise_exception;
154 end if;
155
156 for tlinfo in c1 loop
157 if (tlinfo.BASELANG = 'Y') then
158 if ( (tlinfo.BALANCE_NAME = X_BALANCE_NAME)
159 ) then
160 null;
161 else
162 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
163 app_exception.raise_exception;
164 end if;
165 end if;
166 end loop;
167 return;
168 end LOCK_ROW;
169
170 procedure UPDATE_ROW (
171 X_BALANCE_ID in NUMBER,
172 -- X_CREDIT_TYPE_ID in NUMBER,
173 -- X_INCENTIVE_TYPE_ID in NUMBER,
174 X_STATISTICAL_TYPE in VARCHAR2,
175 X_PAYMENT_TYPE in VARCHAR2,
176 X_COLUMN_NAME in VARCHAR2,
177 X_BALANCE_TYPE in VARCHAR2,
178 X_SCREEN_SEQUENCE in NUMBER,
179 X_BALANCE_NAME in VARCHAR2,
180 X_LAST_UPDATE_DATE in DATE,
181 X_LAST_UPDATED_BY in NUMBER,
182 X_LAST_UPDATE_LOGIN in NUMBER
183 ) is
184 begin
185 update CN_LEDGER_BAL_TYPES_ALL_B set
186 -- CREDIT_TYPE_ID = X_CREDIT_TYPE_ID,
187 -- INCENTIVE_TYPE_ID = X_INCENTIVE_TYPE_ID,
188 STATISTICAL_TYPE = X_STATISTICAL_TYPE,
189 PAYMENT_TYPE = X_PAYMENT_TYPE,
190 COLUMN_NAME = X_COLUMN_NAME,
191 BALANCE_TYPE = X_BALANCE_TYPE,
192 SCREEN_SEQUENCE = X_SCREEN_SEQUENCE,
193 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
194 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
195 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
196 where BALANCE_ID = X_BALANCE_ID AND
197 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99);
198
199 if (sql%notfound) then
200 raise no_data_found;
201 end if;
202
203 update CN_LEDGER_BAL_TYPES_ALL_TL set
204 BALANCE_NAME = X_BALANCE_NAME,
205 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
206 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
207 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
208 SOURCE_LANG = userenv('LANG')
209 where BALANCE_ID = X_BALANCE_ID
210 and userenv('LANG') in (LANGUAGE, SOURCE_LANG) AND
211 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99);
212
213 if (sql%notfound) then
214 raise no_data_found;
215 end if;
216 end UPDATE_ROW;
217
218 procedure DELETE_ROW (
219 X_BALANCE_ID in NUMBER
220 ) is
221 begin
222 delete from CN_LEDGER_BAL_TYPES_ALL_TL
223 where BALANCE_ID = X_BALANCE_ID AND
224 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99);
225
226 if (sql%notfound) then
227 raise no_data_found;
228 end if;
229
230 delete from CN_LEDGER_BAL_TYPES_ALL_B
231 where BALANCE_ID = X_BALANCE_ID AND
232 NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV('CLIENT_INFO'),1,1), ' ', NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99);
233
234 if (sql%notfound) then
235 raise no_data_found;
236 end if;
237 end DELETE_ROW;
238
239 procedure ADD_LANGUAGE
240 is
241 begin
242 delete from CN_LEDGER_BAL_TYPES_ALL_TL T
243 where not exists
244 (select NULL
245 from CN_LEDGER_BAL_TYPES_ALL_B B
246 where B.BALANCE_ID = T.balance_id
247 and NVL(B.ORG_ID,NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
248 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) =
249 NVL(T.ORG_ID, NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
250 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99))
251 );
252
253 update CN_LEDGER_BAL_TYPES_ALL_TL T set (
254 BALANCE_NAME
255 ) = (select
256 B.BALANCE_NAME
257 from CN_LEDGER_BAL_TYPES_ALL_TL B
258 where B.BALANCE_ID = T.BALANCE_ID
259 and B.LANGUAGE = T.source_lang
260 and NVL(B.ORG_ID,NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
261 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) =
262 NVL(T.ORG_ID, NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
263 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) )
264 where (
265 T.BALANCE_ID,
266 T.LANGUAGE
267 ) in (select
268 SUBT.BALANCE_ID,
269 SUBT.LANGUAGE
270 from CN_LEDGER_BAL_TYPES_ALL_TL SUBB, CN_LEDGER_BAL_TYPES_ALL_TL SUBT
271 where SUBB.BALANCE_ID = SUBT.BALANCE_ID
272 and SUBB.LANGUAGE = SUBT.source_lang
273 and NVL(SUBB.ORG_ID,NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
274 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) =
275 NVL(SUBT.ORG_ID, NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
276 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99))
277 and (SUBB.BALANCE_NAME <> SUBT.BALANCE_NAME
278 or (SUBB.BALANCE_NAME is null and SUBT.BALANCE_NAME is not null)
279 or (SUBB.BALANCE_NAME is not null and SUBT.BALANCE_NAME is null)
280 ));
281
282 insert into CN_LEDGER_BAL_TYPES_ALL_TL (
283 ORG_ID,
284 BALANCE_ID,
285 BALANCE_NAME,
286 LAST_UPDATE_DATE,
287 LAST_UPDATED_BY,
288 LAST_UPDATE_LOGIN,
289 CREATION_DATE,
290 CREATED_BY,
291 LANGUAGE,
292 SOURCE_LANG
293 ) select
294 B.ORG_ID,
295 B.BALANCE_ID,
296 B.BALANCE_NAME,
297 B.LAST_UPDATE_DATE,
298 B.LAST_UPDATED_BY,
299 B.LAST_UPDATE_LOGIN,
300 B.CREATION_DATE,
301 B.CREATED_BY,
302 L.LANGUAGE_CODE,
303 B.SOURCE_LANG
304 from CN_LEDGER_BAL_TYPES_ALL_TL B, FND_LANGUAGES L
305 where L.INSTALLED_FLAG in ('I', 'B')
306 and B.LANGUAGE = userenv('LANG')
307 and not exists
308 (select NULL
309 from CN_LEDGER_BAL_TYPES_ALL_TL T
310 where T.BALANCE_ID = B.BALANCE_ID
311 and T.LANGUAGE = L.language_code
312 and NVL(T.ORG_ID,NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
313 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) =
314 NVL(B.ORG_ID, NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
315 NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) );
316 end ADD_LANGUAGE;
317
318 -- --------------------------------------------------------------------+
319 -- Procedure : LOAD_ROW
320 -- Description : Called by FNDLOAD to upload seed datas, this procedure
321 -- only handle seed datas. ORG_ID = -3113
322 -- --------------------------------------------------------------------+
323
324 PROCEDURE LOAD_ROW
325 (x_balance_id IN NUMBER,
326 x_balance_name IN VARCHAR2,
327 x_balance_type IN VARCHAR2,
328 x_statistical_type IN VARCHAR2,
329 x_payment_type IN VARCHAR2,
330 x_column_name IN VARCHAR2,
331 x_screen_sequence IN NUMBER,
332 x_owner IN VARCHAR2) IS
333 user_id NUMBER;
334
335 BEGIN
336 -- Validate input data
337 IF (x_balance_id IS NULL)
338 OR (x_balance_name IS NULL) OR (x_balance_type IS NULL)
339 OR (x_column_name IS NULL) OR (x_screen_sequence IS NULL) THEN
340 GOTO end_load_row;
341 END IF;
342
343 IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
344 user_id := 1;
345 ELSE
346 user_id := 0;
347 END IF;
348 -- Load The record to _B table
349 UPDATE cn_ledger_bal_types_all_b SET
350 -- CREDIT_TYPE_ID = X_CREDIT_TYPE_ID,
351 -- INCENTIVE_TYPE_ID = X_INCENTIVE_TYPE_ID,
352 STATISTICAL_TYPE = X_STATISTICAL_TYPE,
353 PAYMENT_TYPE = X_PAYMENT_TYPE,
357 LAST_UPDATE_DATE = sysdate,
354 COLUMN_NAME = X_COLUMN_NAME,
355 BALANCE_TYPE = X_BALANCE_TYPE,
356 SCREEN_SEQUENCE = X_SCREEN_SEQUENCE,
358 LAST_UPDATED_BY = user_id,
359 LAST_UPDATE_LOGIN = 0
360 WHERE BALANCE_ID = X_BALANCE_ID;
361 IF (SQL%NOTFOUND) THEN
362 -- Insert new record to _B table
363 INSERT INTO cn_ledger_bal_types_all_b
364 (-- CREDIT_TYPE_ID,
365 -- INCENTIVE_TYPE_ID,
366 BALANCE_ID,
367 STATISTICAL_TYPE,
368 PAYMENT_TYPE,
369 COLUMN_NAME,
370 BALANCE_TYPE,
371 SCREEN_SEQUENCE,
372 CREATION_DATE,
373 CREATED_BY,
374 LAST_UPDATE_DATE,
375 LAST_UPDATED_BY,
376 LAST_UPDATE_LOGIN
377 ) values
378 (-- X_CREDIT_TYPE_ID,
379 -- X_INCENTIVE_TYPE_ID,
380 X_BALANCE_ID,
381 X_STATISTICAL_TYPE,
382 X_PAYMENT_TYPE,
383 X_COLUMN_NAME,
384 X_BALANCE_TYPE,
385 X_SCREEN_SEQUENCE,
386 sysdate,
387 user_id,
388 sysdate,
389 user_id,
390 0
391 );
392 END IF;
393 -- Load The record to _TL table
394 UPDATE cn_ledger_bal_types_all_tl SET
395 BALANCE_NAME = X_BALANCE_NAME,
396 LAST_UPDATE_DATE = sysdate,
397 LAST_UPDATED_BY = user_id,
398 LAST_UPDATE_LOGIN = 0,
399 SOURCE_LANG = userenv('LANG')
400 WHERE BALANCE_ID = X_BALANCE_ID
401 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
402 IF (SQL%NOTFOUND) THEN
403 -- Insert new record to _TL table
404 INSERT INTO cn_ledger_bal_types_all_tl
405 (BALANCE_ID,
406 BALANCE_NAME,
407 LAST_UPDATE_DATE,
408 LAST_UPDATED_BY,
409 LAST_UPDATE_LOGIN,
410 CREATION_DATE,
411 CREATED_BY,
412 LANGUAGE,
413 SOURCE_LANG
414 ) SELECT
415 X_BALANCE_ID,
416 X_BALANCE_NAME,
417 sysdate,
418 user_id,
419 0,
420 sysdate,
421 user_id,
422 L.LANGUAGE_CODE,
423 userenv('LANG')
424 FROM FND_LANGUAGES L
425 WHERE L.INSTALLED_FLAG IN ('I', 'B')
426 AND NOT EXISTS
427 (SELECT NULL
428 FROM CN_LEDGER_BAL_TYPES_ALL_TL T
429 WHERE T.BALANCE_ID = X_BALANCE_ID
430 AND T.LANGUAGE = L.LANGUAGE_CODE);
431 END IF;
432 << end_load_row >>
433 NULL;
434 END LOAD_ROW ;
435
436
437 -- --------------------------------------------------------------------+
438 -- Procedure : TRANSLATE_ROW
439 -- Description : Called by FNDLOAD to translate seed datas, this procedure
440 -- only handle seed datas. ORG_ID = -3113
441 -- --------------------------------------------------------------------+
442 PROCEDURE TRANSLATE_ROW
443 ( x_balance_id IN NUMBER,
444 x_balance_name IN VARCHAR2,
445 x_owner IN VARCHAR2) IS
446 user_id NUMBER;
447 BEGIN
448 -- Validate input data
449 IF (x_balance_id IS NULL) OR (x_balance_name IS NULL) THEN
450 GOTO end_translate_row;
451 END IF;
452
453 IF (x_owner IS NOT NULL) AND (x_owner = 'SEED') THEN
454 user_id := 1;
455 ELSE
456 user_id := 0;
457 END IF;
458 -- Update the translation
459 UPDATE cn_ledger_bal_types_all_tl SET
460 balance_name = x_balance_name,
461 last_update_date = sysdate,
462 last_updated_by = user_id,
463 last_update_login = 0,
464 source_lang = userenv('LANG')
465 WHERE balance_id = x_balance_id
466 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
467
468 << end_translate_row >>
469 NULL;
470 END TRANSLATE_ROW ;
471
472
473 end CN_LEDGER_BAL_TYPES_ALL_PKG;