1 PACKAGE BODY cm_cmpt_mst_pkg AS
2 /* $Header: gmfcmptb.pls 115.2 2002/12/04 17:04:11 umoogala ship $ */
3 PROCEDURE INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_COST_CMPNTCLS_ID in NUMBER,
6 X_COST_CMPNTCLS_CODE in VARCHAR2,
7 X_SORT_SEQUENCE in NUMBER,
8 X_USAGE_IND in NUMBER,
9 X_PRIMARY_CMPNTCLS_ID in NUMBER,
10 X_PRODUCT_COST_IND in NUMBER,
11 X_UPDATE_COST_IND in NUMBER,
12 X_CMPNT_GROUP in VARCHAR2,
13 X_TEXT_CODE in NUMBER,
14 X_TRANS_CNT in NUMBER,
15 X_DELETE_MARK in NUMBER,
16 X_PPV_IND in NUMBER,
17 X_ATTRIBUTE1 in VARCHAR2,
18 X_ATTRIBUTE2 in VARCHAR2,
19 X_ATTRIBUTE3 in VARCHAR2,
20 X_ATTRIBUTE4 in VARCHAR2,
21 X_ATTRIBUTE5 in VARCHAR2,
22 X_ATTRIBUTE6 in VARCHAR2,
23 X_ATTRIBUTE7 in VARCHAR2,
24 X_ATTRIBUTE8 in VARCHAR2,
25 X_ATTRIBUTE9 in VARCHAR2,
26 X_ATTRIBUTE10 in VARCHAR2,
27 X_ATTRIBUTE11 in VARCHAR2,
28 X_ATTRIBUTE12 in VARCHAR2,
29 X_ATTRIBUTE13 in VARCHAR2,
30 X_ATTRIBUTE14 in VARCHAR2,
31 X_ATTRIBUTE15 in VARCHAR2,
32 X_ATTRIBUTE16 in VARCHAR2,
33 X_ATTRIBUTE17 in VARCHAR2,
34 X_ATTRIBUTE18 in VARCHAR2,
35 X_ATTRIBUTE19 in VARCHAR2,
36 X_ATTRIBUTE20 in VARCHAR2,
37 X_ATTRIBUTE21 in VARCHAR2,
38 X_ATTRIBUTE22 in VARCHAR2,
39 X_ATTRIBUTE23 in VARCHAR2,
40 X_ATTRIBUTE24 in VARCHAR2,
41 X_ATTRIBUTE25 in VARCHAR2,
42 X_ATTRIBUTE26 in VARCHAR2,
43 X_ATTRIBUTE27 in VARCHAR2,
44 X_ATTRIBUTE28 in VARCHAR2,
45 X_ATTRIBUTE29 in VARCHAR2,
46 X_ATTRIBUTE30 in VARCHAR2,
47 X_ATTRIBUTE_CATEGORY in VARCHAR2,
48 X_COST_CMPNTCLS_DESC in VARCHAR2,
49 X_CREATION_DATE in DATE,
50 X_CREATED_BY in NUMBER,
51 X_LAST_UPDATE_DATE in DATE,
52 X_LAST_UPDATED_BY in NUMBER,
53 X_LAST_UPDATE_LOGIN in NUMBER
54 ) is
55 cursor C is select ROWID from CM_CMPT_MST_B
56 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID
57 ;
58 begin
59 insert into CM_CMPT_MST_B (
60 COST_CMPNTCLS_ID,
61 COST_CMPNTCLS_CODE,
62 SORT_SEQUENCE,
63 USAGE_IND,
64 PRIMARY_CMPNTCLS_ID,
65 PRODUCT_COST_IND,
66 UPDATE_COST_IND,
67 CMPNT_GROUP,
68 TEXT_CODE,
69 TRANS_CNT,
70 DELETE_MARK,
71 PPV_IND,
72 ATTRIBUTE1,
73 ATTRIBUTE2,
74 ATTRIBUTE3,
75 ATTRIBUTE4,
76 ATTRIBUTE5,
77 ATTRIBUTE6,
78 ATTRIBUTE7,
79 ATTRIBUTE8,
80 ATTRIBUTE9,
81 ATTRIBUTE10,
82 ATTRIBUTE11,
83 ATTRIBUTE12,
84 ATTRIBUTE13,
85 ATTRIBUTE14,
86 ATTRIBUTE15,
87 ATTRIBUTE16,
88 ATTRIBUTE17,
89 ATTRIBUTE18,
90 ATTRIBUTE19,
91 ATTRIBUTE20,
92 ATTRIBUTE21,
93 ATTRIBUTE22,
94 ATTRIBUTE23,
95 ATTRIBUTE24,
96 ATTRIBUTE25,
97 ATTRIBUTE26,
98 ATTRIBUTE27,
99 ATTRIBUTE28,
100 ATTRIBUTE29,
101 ATTRIBUTE30,
102 ATTRIBUTE_CATEGORY,
103 CREATION_DATE,
104 CREATED_BY,
105 LAST_UPDATE_DATE,
106 LAST_UPDATED_BY,
107 LAST_UPDATE_LOGIN
108 ) values (
109 X_COST_CMPNTCLS_ID,
110 X_COST_CMPNTCLS_CODE,
111 X_SORT_SEQUENCE,
112 X_USAGE_IND,
113 X_PRIMARY_CMPNTCLS_ID,
114 X_PRODUCT_COST_IND,
115 X_UPDATE_COST_IND,
116 X_CMPNT_GROUP,
117 X_TEXT_CODE,
118 X_TRANS_CNT,
119 X_DELETE_MARK,
120 X_PPV_IND,
121 X_ATTRIBUTE1,
122 X_ATTRIBUTE2,
123 X_ATTRIBUTE3,
124 X_ATTRIBUTE4,
125 X_ATTRIBUTE5,
126 X_ATTRIBUTE6,
127 X_ATTRIBUTE7,
128 X_ATTRIBUTE8,
129 X_ATTRIBUTE9,
130 X_ATTRIBUTE10,
131 X_ATTRIBUTE11,
132 X_ATTRIBUTE12,
133 X_ATTRIBUTE13,
134 X_ATTRIBUTE14,
135 X_ATTRIBUTE15,
136 X_ATTRIBUTE16,
137 X_ATTRIBUTE17,
138 X_ATTRIBUTE18,
139 X_ATTRIBUTE19,
140 X_ATTRIBUTE20,
141 X_ATTRIBUTE21,
142 X_ATTRIBUTE22,
143 X_ATTRIBUTE23,
144 X_ATTRIBUTE24,
145 X_ATTRIBUTE25,
146 X_ATTRIBUTE26,
147 X_ATTRIBUTE27,
148 X_ATTRIBUTE28,
149 X_ATTRIBUTE29,
150 X_ATTRIBUTE30,
151 X_ATTRIBUTE_CATEGORY,
152 X_CREATION_DATE,
153 X_CREATED_BY,
154 X_LAST_UPDATE_DATE,
155 X_LAST_UPDATED_BY,
156 X_LAST_UPDATE_LOGIN
157 );
158
159 insert into CM_CMPT_MST_TL (
160 COST_CMPNTCLS_ID,
161 COST_CMPNTCLS_DESC,
162 CREATION_DATE,
163 CREATED_BY,
164 LAST_UPDATE_DATE,
165 LAST_UPDATED_BY,
166 LAST_UPDATE_LOGIN,
167 LANGUAGE,
168 SOURCE_LANG
169 ) select
170 X_COST_CMPNTCLS_ID,
171 X_COST_CMPNTCLS_DESC,
172 X_CREATION_DATE,
173 X_CREATED_BY,
174 X_LAST_UPDATE_DATE,
175 X_LAST_UPDATED_BY,
176 X_LAST_UPDATE_LOGIN,
177 L.LANGUAGE_CODE,
178 userenv('LANG')
179 from FND_LANGUAGES L
180 where L.INSTALLED_FLAG in ('I', 'B')
181 and not exists
182 (select NULL
183 from CM_CMPT_MST_TL T
184 where T.COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID
185 and T.LANGUAGE = L.LANGUAGE_CODE);
186
187 open c;
188 fetch c into X_ROWID;
189 if (c%notfound) then
190 close c;
191 raise no_data_found;
192 end if;
193 close c;
194
195 end INSERT_ROW;
196
197 procedure LOCK_ROW (
198 X_COST_CMPNTCLS_ID in NUMBER,
199 X_COST_CMPNTCLS_CODE in VARCHAR2,
200 X_SORT_SEQUENCE in NUMBER,
201 X_USAGE_IND in NUMBER,
202 X_PRIMARY_CMPNTCLS_ID in NUMBER,
203 X_PRODUCT_COST_IND in NUMBER,
204 X_UPDATE_COST_IND in NUMBER,
205 X_CMPNT_GROUP in VARCHAR2,
206 X_TEXT_CODE in NUMBER,
207 X_TRANS_CNT in NUMBER,
208 X_DELETE_MARK in NUMBER,
209 X_PPV_IND in NUMBER,
210 X_ATTRIBUTE1 in VARCHAR2,
211 X_ATTRIBUTE2 in VARCHAR2,
212 X_ATTRIBUTE3 in VARCHAR2,
213 X_ATTRIBUTE4 in VARCHAR2,
214 X_ATTRIBUTE5 in VARCHAR2,
215 X_ATTRIBUTE6 in VARCHAR2,
216 X_ATTRIBUTE7 in VARCHAR2,
217 X_ATTRIBUTE8 in VARCHAR2,
218 X_ATTRIBUTE9 in VARCHAR2,
219 X_ATTRIBUTE10 in VARCHAR2,
220 X_ATTRIBUTE11 in VARCHAR2,
221 X_ATTRIBUTE12 in VARCHAR2,
222 X_ATTRIBUTE13 in VARCHAR2,
223 X_ATTRIBUTE14 in VARCHAR2,
224 X_ATTRIBUTE15 in VARCHAR2,
225 X_ATTRIBUTE16 in VARCHAR2,
226 X_ATTRIBUTE17 in VARCHAR2,
227 X_ATTRIBUTE18 in VARCHAR2,
228 X_ATTRIBUTE19 in VARCHAR2,
229 X_ATTRIBUTE20 in VARCHAR2,
230 X_ATTRIBUTE21 in VARCHAR2,
231 X_ATTRIBUTE22 in VARCHAR2,
232 X_ATTRIBUTE23 in VARCHAR2,
233 X_ATTRIBUTE24 in VARCHAR2,
234 X_ATTRIBUTE25 in VARCHAR2,
235 X_ATTRIBUTE26 in VARCHAR2,
236 X_ATTRIBUTE27 in VARCHAR2,
237 X_ATTRIBUTE28 in VARCHAR2,
238 X_ATTRIBUTE29 in VARCHAR2,
239 X_ATTRIBUTE30 in VARCHAR2,
240 X_ATTRIBUTE_CATEGORY in VARCHAR2,
241 X_COST_CMPNTCLS_DESC in VARCHAR2
242 ) is
243 cursor c is select
244 COST_CMPNTCLS_CODE,
245 SORT_SEQUENCE,
246 USAGE_IND,
247 PRIMARY_CMPNTCLS_ID,
248 PRODUCT_COST_IND,
249 UPDATE_COST_IND,
250 CMPNT_GROUP,
251 TEXT_CODE,
252 TRANS_CNT,
253 DELETE_MARK,
254 PPV_IND,
255 ATTRIBUTE1,
256 ATTRIBUTE2,
257 ATTRIBUTE3,
258 ATTRIBUTE4,
259 ATTRIBUTE5,
260 ATTRIBUTE6,
261 ATTRIBUTE7,
262 ATTRIBUTE8,
263 ATTRIBUTE9,
264 ATTRIBUTE10,
265 ATTRIBUTE11,
266 ATTRIBUTE12,
267 ATTRIBUTE13,
268 ATTRIBUTE14,
269 ATTRIBUTE15,
270 ATTRIBUTE16,
271 ATTRIBUTE17,
272 ATTRIBUTE18,
273 ATTRIBUTE19,
274 ATTRIBUTE20,
275 ATTRIBUTE21,
276 ATTRIBUTE22,
277 ATTRIBUTE23,
278 ATTRIBUTE24,
279 ATTRIBUTE25,
280 ATTRIBUTE26,
281 ATTRIBUTE27,
282 ATTRIBUTE28,
283 ATTRIBUTE29,
284 ATTRIBUTE30,
285 ATTRIBUTE_CATEGORY
286 from CM_CMPT_MST_B
287 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID
288 for update of COST_CMPNTCLS_ID nowait;
289 recinfo c%rowtype;
290
291 cursor c1 is select
292 COST_CMPNTCLS_DESC,
293 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
294 from CM_CMPT_MST_TL
295 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID
296 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
297 for update of COST_CMPNTCLS_ID nowait;
298 begin
299 open c;
300 fetch c into recinfo;
301 if (c%notfound) then
302 close c;
303 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
304 app_exception.raise_exception;
305 end if;
306 close c;
307 if ( (recinfo.COST_CMPNTCLS_CODE = X_COST_CMPNTCLS_CODE)
308 AND (recinfo.SORT_SEQUENCE = X_SORT_SEQUENCE)
309 AND (recinfo.USAGE_IND = X_USAGE_IND)
310 AND (recinfo.PRIMARY_CMPNTCLS_ID = X_PRIMARY_CMPNTCLS_ID)
311 AND (recinfo.PRODUCT_COST_IND = X_PRODUCT_COST_IND)
312 AND (recinfo.UPDATE_COST_IND = X_UPDATE_COST_IND)
313 AND ((recinfo.CMPNT_GROUP = X_CMPNT_GROUP)
314 OR ((recinfo.CMPNT_GROUP is null) AND (X_CMPNT_GROUP is null)))
315 AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
316 OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
317 AND ((recinfo.TRANS_CNT = X_TRANS_CNT)
318 OR ((recinfo.TRANS_CNT is null) AND (X_TRANS_CNT is null)))
319 AND (recinfo.DELETE_MARK = X_DELETE_MARK)
320 AND (recinfo.PPV_IND = X_PPV_IND)
321 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
322 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
323 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
324 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
325 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
326 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
327 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
328 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
329 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
330 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
331 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
332 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
333 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
334 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
335 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
336 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
337 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
338 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
339 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
343 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
340 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
341 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
342 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
344 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
345 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
346 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
347 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
348 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
349 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
350 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
351 AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
352 OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
353 AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
354 OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
355 AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
356 OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
357 AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
358 OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
359 AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
360 OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
361 AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
362 OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
363 AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
364 OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
365 AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
366 OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
367 AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
368 OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
369 AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
370 OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
371 AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
372 OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
373 AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
374 OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
375 AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
376 OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
377 AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
378 OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
379 AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
380 OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
381 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
382 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
383 ) then
384 null;
385 else
386 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
387 app_exception.raise_exception;
388 end if;
389
390 for tlinfo in c1 loop
391 if (tlinfo.BASELANG = 'Y') then
392 if ( (tlinfo.COST_CMPNTCLS_DESC = X_COST_CMPNTCLS_DESC)
393 ) then
394 null;
395 else
396 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
397 app_exception.raise_exception;
398 end if;
399 end if;
400 end loop;
401 return;
402 end LOCK_ROW;
403
404 procedure UPDATE_ROW (
405 X_COST_CMPNTCLS_ID in NUMBER,
406 X_COST_CMPNTCLS_CODE in VARCHAR2,
407 X_SORT_SEQUENCE in NUMBER,
408 X_USAGE_IND in NUMBER,
409 X_PRIMARY_CMPNTCLS_ID in NUMBER,
410 X_PRODUCT_COST_IND in NUMBER,
411 X_UPDATE_COST_IND in NUMBER,
412 X_CMPNT_GROUP in VARCHAR2,
413 X_TEXT_CODE in NUMBER,
414 X_TRANS_CNT in NUMBER,
418 X_ATTRIBUTE2 in VARCHAR2,
415 X_DELETE_MARK in NUMBER,
416 X_PPV_IND in NUMBER,
417 X_ATTRIBUTE1 in VARCHAR2,
419 X_ATTRIBUTE3 in VARCHAR2,
420 X_ATTRIBUTE4 in VARCHAR2,
421 X_ATTRIBUTE5 in VARCHAR2,
422 X_ATTRIBUTE6 in VARCHAR2,
423 X_ATTRIBUTE7 in VARCHAR2,
424 X_ATTRIBUTE8 in VARCHAR2,
425 X_ATTRIBUTE9 in VARCHAR2,
426 X_ATTRIBUTE10 in VARCHAR2,
427 X_ATTRIBUTE11 in VARCHAR2,
428 X_ATTRIBUTE12 in VARCHAR2,
429 X_ATTRIBUTE13 in VARCHAR2,
430 X_ATTRIBUTE14 in VARCHAR2,
431 X_ATTRIBUTE15 in VARCHAR2,
432 X_ATTRIBUTE16 in VARCHAR2,
433 X_ATTRIBUTE17 in VARCHAR2,
434 X_ATTRIBUTE18 in VARCHAR2,
435 X_ATTRIBUTE19 in VARCHAR2,
436 X_ATTRIBUTE20 in VARCHAR2,
437 X_ATTRIBUTE21 in VARCHAR2,
438 X_ATTRIBUTE22 in VARCHAR2,
439 X_ATTRIBUTE23 in VARCHAR2,
440 X_ATTRIBUTE24 in VARCHAR2,
441 X_ATTRIBUTE25 in VARCHAR2,
442 X_ATTRIBUTE26 in VARCHAR2,
443 X_ATTRIBUTE27 in VARCHAR2,
444 X_ATTRIBUTE28 in VARCHAR2,
445 X_ATTRIBUTE29 in VARCHAR2,
446 X_ATTRIBUTE30 in VARCHAR2,
447 X_ATTRIBUTE_CATEGORY in VARCHAR2,
448 X_COST_CMPNTCLS_DESC in VARCHAR2,
449 X_LAST_UPDATE_DATE in DATE,
450 X_LAST_UPDATED_BY in NUMBER,
451 X_LAST_UPDATE_LOGIN in NUMBER
452 ) is
453 begin
454 update CM_CMPT_MST_B set
455 COST_CMPNTCLS_CODE = X_COST_CMPNTCLS_CODE,
456 SORT_SEQUENCE = X_SORT_SEQUENCE,
457 USAGE_IND = X_USAGE_IND,
458 PRIMARY_CMPNTCLS_ID = X_PRIMARY_CMPNTCLS_ID,
459 PRODUCT_COST_IND = X_PRODUCT_COST_IND,
460 UPDATE_COST_IND = X_UPDATE_COST_IND,
461 CMPNT_GROUP = X_CMPNT_GROUP,
462 TEXT_CODE = X_TEXT_CODE,
463 TRANS_CNT = X_TRANS_CNT,
464 DELETE_MARK = X_DELETE_MARK,
465 PPV_IND = X_PPV_IND,
466 ATTRIBUTE1 = X_ATTRIBUTE1,
467 ATTRIBUTE2 = X_ATTRIBUTE2,
468 ATTRIBUTE3 = X_ATTRIBUTE3,
469 ATTRIBUTE4 = X_ATTRIBUTE4,
470 ATTRIBUTE5 = X_ATTRIBUTE5,
471 ATTRIBUTE6 = X_ATTRIBUTE6,
472 ATTRIBUTE7 = X_ATTRIBUTE7,
473 ATTRIBUTE8 = X_ATTRIBUTE8,
474 ATTRIBUTE9 = X_ATTRIBUTE9,
475 ATTRIBUTE10 = X_ATTRIBUTE10,
476 ATTRIBUTE11 = X_ATTRIBUTE11,
477 ATTRIBUTE12 = X_ATTRIBUTE12,
478 ATTRIBUTE13 = X_ATTRIBUTE13,
479 ATTRIBUTE14 = X_ATTRIBUTE14,
480 ATTRIBUTE15 = X_ATTRIBUTE15,
481 ATTRIBUTE16 = X_ATTRIBUTE16,
482 ATTRIBUTE17 = X_ATTRIBUTE17,
483 ATTRIBUTE18 = X_ATTRIBUTE18,
484 ATTRIBUTE19 = X_ATTRIBUTE19,
485 ATTRIBUTE20 = X_ATTRIBUTE20,
486 ATTRIBUTE21 = X_ATTRIBUTE21,
487 ATTRIBUTE22 = X_ATTRIBUTE22,
488 ATTRIBUTE23 = X_ATTRIBUTE23,
489 ATTRIBUTE24 = X_ATTRIBUTE24,
490 ATTRIBUTE25 = X_ATTRIBUTE25,
491 ATTRIBUTE26 = X_ATTRIBUTE26,
492 ATTRIBUTE27 = X_ATTRIBUTE27,
493 ATTRIBUTE28 = X_ATTRIBUTE28,
494 ATTRIBUTE29 = X_ATTRIBUTE29,
495 ATTRIBUTE30 = X_ATTRIBUTE30,
496 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
497 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
498 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
499 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
500 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID;
501
502 if (sql%notfound) then
503 raise no_data_found;
504 end if;
505
506 update CM_CMPT_MST_TL set
507 COST_CMPNTCLS_DESC = X_COST_CMPNTCLS_DESC,
508 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
509 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
513 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
510 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
511 SOURCE_LANG = userenv('LANG')
512 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID
514
515 if (sql%notfound) then
516 raise no_data_found;
517 end if;
518 end UPDATE_ROW;
519
520 procedure DELETE_ROW (
521 X_COST_CMPNTCLS_ID in NUMBER
522 ) is
523 begin
524 /*
525 * delete from CM_CMPT_MST_TL
526 * where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID;
527 *
528 * if (sql%notfound) then
529 * raise no_data_found;
530 * end if;
531 *
532 * delete from CM_CMPT_MST_B
533 * where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID;
534 */
535
536 update CM_CMPT_MST_B
537 set DELETE_MARK = 1
538 where COST_CMPNTCLS_ID = X_COST_CMPNTCLS_ID;
539
540 if (sql%notfound) then
541 raise no_data_found;
542 end if;
543 end DELETE_ROW;
544
545 procedure ADD_LANGUAGE
546 is
547 begin
548 delete from CM_CMPT_MST_TL T
549 where not exists
550 (select NULL
551 from CM_CMPT_MST_B B
552 where B.COST_CMPNTCLS_ID = T.COST_CMPNTCLS_ID
553 );
554
555 update CM_CMPT_MST_TL T set (
556 COST_CMPNTCLS_DESC
557 ) = (select
558 B.COST_CMPNTCLS_DESC
559 from CM_CMPT_MST_TL B
560 where B.COST_CMPNTCLS_ID = T.COST_CMPNTCLS_ID
561 and B.LANGUAGE = T.SOURCE_LANG)
562 where (
563 T.COST_CMPNTCLS_ID,
564 T.LANGUAGE
565 ) in (select
566 SUBT.COST_CMPNTCLS_ID,
567 SUBT.LANGUAGE
568 from CM_CMPT_MST_TL SUBB, CM_CMPT_MST_TL SUBT
569 where SUBB.COST_CMPNTCLS_ID = SUBT.COST_CMPNTCLS_ID
570 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
571 and (SUBB.COST_CMPNTCLS_DESC <> SUBT.COST_CMPNTCLS_DESC
572 ));
573
574 insert into CM_CMPT_MST_TL (
575 COST_CMPNTCLS_ID,
576 COST_CMPNTCLS_DESC,
577 CREATION_DATE,
578 CREATED_BY,
579 LAST_UPDATE_DATE,
580 LAST_UPDATED_BY,
581 LAST_UPDATE_LOGIN,
582 LANGUAGE,
583 SOURCE_LANG
584 ) select
585 B.COST_CMPNTCLS_ID,
586 B.COST_CMPNTCLS_DESC,
587 B.CREATION_DATE,
588 B.CREATED_BY,
589 B.LAST_UPDATE_DATE,
590 B.LAST_UPDATED_BY,
591 B.LAST_UPDATE_LOGIN,
592 L.LANGUAGE_CODE,
593 B.SOURCE_LANG
594 from CM_CMPT_MST_TL B, FND_LANGUAGES L
595 where L.INSTALLED_FLAG in ('I', 'B')
596 and B.LANGUAGE = userenv('LANG')
597 and not exists
598 (select NULL
599 from CM_CMPT_MST_TL T
600 where T.COST_CMPNTCLS_ID = B.COST_CMPNTCLS_ID
601 and T.LANGUAGE = L.LANGUAGE_CODE);
602 end ADD_LANGUAGE;
603
604 end CM_CMPT_MST_PKG;