1 PACKAGE BODY GMD_TECH_PARAMETERS_PKG AS
2 /* $Header: GMDTCPMB.pls 120.3 2005/11/16 05:44:22 srsriran noship $ */
3
4 PROCEDURE INSERT_ROW (
5 X_ROWID IN OUT NOCOPY VARCHAR2,
6 X_TECH_PARM_ID IN NUMBER,
7 X_QCASSY_TYP_ID IN NUMBER,
8 X_LAB_TYPE IN VARCHAR2,
9 X_TECH_PARM_NAME IN VARCHAR2,
10 X_DATA_TYPE IN NUMBER,
11 X_SIGNIF_FIGURES IN NUMBER,
12 X_LOWERBOUND_NUM IN NUMBER,
13 X_UPPERBOUND_NUM IN NUMBER,
14 X_LOWERBOUND_CHAR IN VARCHAR2,
15 X_UPPERBOUND_CHAR IN VARCHAR2,
16 X_MAX_LENGTH IN NUMBER,
17 X_EXPRESSION_CHAR IN VARCHAR2,
18 X_COST_SOURCE IN NUMBER,
19 X_COST_TYPE IN VARCHAR2,
20 X_COST_FUNCTION IN VARCHAR2,
21 X_DEFAULT_COST_PARAMETER IN NUMBER,
22 X_LM_UNIT_CODE IN VARCHAR2,
23 X_DELETE_MARK IN NUMBER,
24 X_TEXT_CODE IN NUMBER,
25 X_IN_USE IN NUMBER,
26 X_ATTRIBUTE1 IN VARCHAR2,
27 X_ATTRIBUTE2 IN VARCHAR2,
28 X_ATTRIBUTE3 IN VARCHAR2,
29 X_ATTRIBUTE4 IN VARCHAR2,
30 X_ATTRIBUTE5 IN VARCHAR2,
31 X_ATTRIBUTE6 IN VARCHAR2,
32 X_ATTRIBUTE7 IN VARCHAR2,
33 X_ATTRIBUTE8 IN VARCHAR2,
34 X_ATTRIBUTE9 IN VARCHAR2,
35 X_ATTRIBUTE10 IN VARCHAR2,
36 X_ATTRIBUTE11 IN VARCHAR2,
37 X_ATTRIBUTE12 IN VARCHAR2,
38 X_ATTRIBUTE13 IN VARCHAR2,
39 X_ATTRIBUTE14 IN VARCHAR2,
40 X_ATTRIBUTE15 IN VARCHAR2,
41 X_ATTRIBUTE16 IN VARCHAR2,
42 X_ATTRIBUTE17 IN VARCHAR2,
43 X_ATTRIBUTE18 IN VARCHAR2,
44 X_ATTRIBUTE19 IN VARCHAR2,
45 X_ATTRIBUTE20 IN VARCHAR2,
46 X_ATTRIBUTE21 IN VARCHAR2,
47 X_ATTRIBUTE22 IN VARCHAR2,
48 X_ATTRIBUTE23 IN VARCHAR2,
49 X_ATTRIBUTE24 IN VARCHAR2,
50 X_ATTRIBUTE25 IN VARCHAR2,
51 X_ATTRIBUTE26 IN VARCHAR2,
52 X_ATTRIBUTE27 IN VARCHAR2,
53 X_ATTRIBUTE28 IN VARCHAR2,
54 X_ATTRIBUTE29 IN VARCHAR2,
55 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
56 X_ATTRIBUTE30 IN VARCHAR2,
57 X_ORGANIZATION_ID IN NUMBER,
58 X_PARM_DESCRIPTION IN VARCHAR2,
59 X_CREATION_DATE IN DATE,
60 X_CREATED_BY IN NUMBER,
61 X_LAST_UPDATE_DATE IN DATE,
62 X_LAST_UPDATED_BY IN NUMBER,
63 X_LAST_UPDATE_LOGIN IN NUMBER
64 ) IS
65 L_TECH_PARM_ID NUMBER;
66 CURSOR C IS SELECT ROWID FROM GMD_TECH_PARAMETERS_B
67 WHERE TECH_PARM_ID = L_TECH_PARM_ID
68 ;
69
70 BEGIN
71
72 IF (X_TECH_PARM_ID IS NULL) THEN
73 SELECT GMD_TECH_PARM_ID_S.NEXTVAL INTO L_TECH_PARM_ID
74 FROM SYS.DUAL;
75 ELSE
76 L_TECH_PARM_ID := X_TECH_PARM_ID;
77 END IF;
78
79 INSERT INTO GMD_TECH_PARAMETERS_B (
80 TECH_PARM_ID,
81 QCASSY_TYP_ID,
82 LAB_TYPE,
83 TECH_PARM_NAME,
84 DATA_TYPE,
85 SIGNIF_FIGURES,
86 LOWERBOUND_NUM,
87 UPPERBOUND_NUM,
88 LOWERBOUND_CHAR,
89 UPPERBOUND_CHAR,
90 MAX_LENGTH,
91 EXPRESSION_CHAR,
92 COST_SOURCE,
93 COST_TYPE,
94 COST_FUNCTION,
95 DEFAULT_COST_PARAMETER,
96 LM_UNIT_CODE,
97 DELETE_MARK,
98 TEXT_CODE,
99 IN_USE,
100 ATTRIBUTE1,
101 ATTRIBUTE2,
102 ATTRIBUTE3,
103 ATTRIBUTE4,
104 ATTRIBUTE5,
105 ATTRIBUTE6,
106 ATTRIBUTE7,
107 ATTRIBUTE8,
108 ATTRIBUTE9,
109 ATTRIBUTE10,
110 ATTRIBUTE11,
111 ATTRIBUTE12,
112 ATTRIBUTE13,
113 ATTRIBUTE14,
114 ATTRIBUTE15,
115 ATTRIBUTE16,
116 ATTRIBUTE17,
117 ATTRIBUTE18,
118 ATTRIBUTE19,
119 ATTRIBUTE20,
120 ATTRIBUTE21,
121 ATTRIBUTE22,
122 ATTRIBUTE23,
123 ATTRIBUTE24,
124 ATTRIBUTE25,
125 ATTRIBUTE26,
126 ATTRIBUTE27,
127 ATTRIBUTE28,
128 ATTRIBUTE29,
129 ATTRIBUTE_CATEGORY,
130 ATTRIBUTE30,
131 ORGANIZATION_ID,
132 CREATION_DATE,
133 CREATED_BY,
134 LAST_UPDATE_DATE,
135 LAST_UPDATED_BY,
136 LAST_UPDATE_LOGIN
137 ) VALUES (
138 l_TECH_PARM_ID,
139 X_QCASSY_TYP_ID,
140 X_LAB_TYPE,
141 X_TECH_PARM_NAME,
142 X_DATA_TYPE,
143 X_SIGNIF_FIGURES,
144 X_LOWERBOUND_NUM,
145 X_UPPERBOUND_NUM,
146 X_LOWERBOUND_CHAR,
147 X_UPPERBOUND_CHAR,
148 X_MAX_LENGTH,
149 X_EXPRESSION_CHAR,
150 X_COST_SOURCE,
151 X_COST_TYPE,
152 X_COST_FUNCTION,
153 X_DEFAULT_COST_PARAMETER,
154 X_LM_UNIT_CODE,
155 X_DELETE_MARK,
156 X_TEXT_CODE,
157 X_IN_USE,
158 X_ATTRIBUTE1,
159 X_ATTRIBUTE2,
160 X_ATTRIBUTE3,
161 X_ATTRIBUTE4,
162 X_ATTRIBUTE5,
163 X_ATTRIBUTE6,
164 X_ATTRIBUTE7,
165 X_ATTRIBUTE8,
166 X_ATTRIBUTE9,
167 X_ATTRIBUTE10,
168 X_ATTRIBUTE11,
169 X_ATTRIBUTE12,
170 X_ATTRIBUTE13,
171 X_ATTRIBUTE14,
172 X_ATTRIBUTE15,
173 X_ATTRIBUTE16,
174 X_ATTRIBUTE17,
175 X_ATTRIBUTE18,
176 X_ATTRIBUTE19,
177 X_ATTRIBUTE20,
178 X_ATTRIBUTE21,
179 X_ATTRIBUTE22,
180 X_ATTRIBUTE23,
181 X_ATTRIBUTE24,
182 X_ATTRIBUTE25,
183 X_ATTRIBUTE26,
184 X_ATTRIBUTE27,
185 X_ATTRIBUTE28,
186 X_ATTRIBUTE29,
187 X_ATTRIBUTE_CATEGORY,
188 X_ATTRIBUTE30,
189 X_ORGANIZATION_ID,
190 X_CREATION_DATE,
191 X_CREATED_BY,
192 X_LAST_UPDATE_DATE,
193 X_LAST_UPDATED_BY,
194 X_LAST_UPDATE_LOGIN
195 );
196
197 INSERT INTO GMD_TECH_PARAMETERS_TL (
198 TECH_PARM_ID,
199 TECH_PARM_NAME,
200 PARM_DESCRIPTION,
201 CREATION_DATE,
202 CREATED_BY,
203 LAST_UPDATE_DATE,
204 LAST_UPDATED_BY,
205 LAST_UPDATE_LOGIN,
206 LANGUAGE,
207 SOURCE_LANG
208 ) SELECT
209 L_TECH_PARM_ID,
210 X_TECH_PARM_NAME,
211 X_PARM_DESCRIPTION,
212 X_CREATION_DATE,
213 X_CREATED_BY,
214 X_LAST_UPDATE_DATE,
215 X_LAST_UPDATED_BY,
216 X_LAST_UPDATE_LOGIN,
217 L.LANGUAGE_CODE,
218 USERENV('LANG')
219 FROM FND_LANGUAGES L
220 WHERE L.INSTALLED_FLAG IN ('I', 'B')
221 AND NOT EXISTS
222 (SELECT NULL
223 FROM GMD_TECH_PARAMETERS_TL T
224 WHERE T.TECH_PARM_ID = L_TECH_PARM_ID
225 AND T.LANGUAGE = L.LANGUAGE_CODE);
226
227 OPEN C;
228 FETCH C INTO X_ROWID;
229 IF (C%NOTFOUND) THEN
230 CLOSE C;
231 RAISE NO_DATA_FOUND;
232 END IF;
233 CLOSE C;
234
235 END INSERT_ROW;
236
237 PROCEDURE LOCK_ROW (
238 X_TECH_PARM_ID IN NUMBER,
239 X_QCASSY_TYP_ID IN NUMBER,
240 X_LAB_TYPE IN VARCHAR2,
241 X_TECH_PARM_NAME IN VARCHAR2,
242 X_DATA_TYPE IN NUMBER,
243 X_SIGNIF_FIGURES IN NUMBER,
244 X_LOWERBOUND_NUM IN NUMBER,
245 X_UPPERBOUND_NUM IN NUMBER,
246 X_LOWERBOUND_CHAR IN VARCHAR2,
247 X_UPPERBOUND_CHAR IN VARCHAR2,
248 X_MAX_LENGTH IN NUMBER,
249 X_EXPRESSION_CHAR IN VARCHAR2,
250 X_COST_SOURCE IN NUMBER,
251 X_COST_TYPE IN VARCHAR2,
252 X_COST_FUNCTION IN VARCHAR2,
253 X_DEFAULT_COST_PARAMETER IN NUMBER,
254 X_LM_UNIT_CODE IN VARCHAR2,
255 X_DELETE_MARK IN NUMBER,
256 X_TEXT_CODE IN NUMBER,
257 X_IN_USE IN NUMBER,
258 X_ATTRIBUTE1 IN VARCHAR2,
259 X_ATTRIBUTE2 IN VARCHAR2,
260 X_ATTRIBUTE3 IN VARCHAR2,
261 X_ATTRIBUTE4 IN VARCHAR2,
262 X_ATTRIBUTE5 IN VARCHAR2,
263 X_ATTRIBUTE6 IN VARCHAR2,
264 X_ATTRIBUTE7 IN VARCHAR2,
265 X_ATTRIBUTE8 IN VARCHAR2,
266 X_ATTRIBUTE9 IN VARCHAR2,
267 X_ATTRIBUTE10 IN VARCHAR2,
268 X_ATTRIBUTE11 IN VARCHAR2,
269 X_ATTRIBUTE12 IN VARCHAR2,
270 X_ATTRIBUTE13 IN VARCHAR2,
271 X_ATTRIBUTE14 IN VARCHAR2,
272 X_ATTRIBUTE15 IN VARCHAR2,
273 X_ATTRIBUTE16 IN VARCHAR2,
274 X_ATTRIBUTE17 IN VARCHAR2,
275 X_ATTRIBUTE18 IN VARCHAR2,
276 X_ATTRIBUTE19 IN VARCHAR2,
277 X_ATTRIBUTE20 IN VARCHAR2,
278 X_ATTRIBUTE21 IN VARCHAR2,
279 X_ATTRIBUTE22 IN VARCHAR2,
280 X_ATTRIBUTE23 IN VARCHAR2,
281 X_ATTRIBUTE24 IN VARCHAR2,
282 X_ATTRIBUTE25 IN VARCHAR2,
283 X_ATTRIBUTE26 IN VARCHAR2,
284 X_ATTRIBUTE27 IN VARCHAR2,
285 X_ATTRIBUTE28 IN VARCHAR2,
286 X_ATTRIBUTE29 IN VARCHAR2,
287 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
288 X_ATTRIBUTE30 IN VARCHAR2,
289 X_ORGANIZATION_ID IN NUMBER,
290 X_PARM_DESCRIPTION IN VARCHAR2
291 ) IS
292 CURSOR C IS SELECT
293 QCASSY_TYP_ID,
294 LAB_TYPE,
295 TECH_PARM_NAME,
296 DATA_TYPE,
297 SIGNIF_FIGURES,
298 LOWERBOUND_NUM,
299 UPPERBOUND_NUM,
300 LOWERBOUND_CHAR,
301 UPPERBOUND_CHAR,
302 MAX_LENGTH,
303 EXPRESSION_CHAR,
304 COST_SOURCE,
305 COST_TYPE,
306 COST_FUNCTION,
307 DEFAULT_COST_PARAMETER,
308 LM_UNIT_CODE,
309 DELETE_MARK,
310 TEXT_CODE,
311 IN_USE,
312 ATTRIBUTE1,
313 ATTRIBUTE2,
314 ATTRIBUTE3,
315 ATTRIBUTE4,
316 ATTRIBUTE5,
317 ATTRIBUTE6,
318 ATTRIBUTE7,
319 ATTRIBUTE8,
320 ATTRIBUTE9,
321 ATTRIBUTE10,
322 ATTRIBUTE11,
323 ATTRIBUTE12,
324 ATTRIBUTE13,
325 ATTRIBUTE14,
326 ATTRIBUTE15,
327 ATTRIBUTE16,
328 ATTRIBUTE17,
329 ATTRIBUTE18,
330 ATTRIBUTE19,
331 ATTRIBUTE20,
332 ATTRIBUTE21,
333 ATTRIBUTE22,
334 ATTRIBUTE23,
335 ATTRIBUTE24,
336 ATTRIBUTE25,
337 ATTRIBUTE26,
338 ATTRIBUTE27,
339 ATTRIBUTE28,
340 ATTRIBUTE29,
341 ATTRIBUTE_CATEGORY,
342 ATTRIBUTE30,
343 ORGANIZATION_ID
344 FROM GMD_TECH_PARAMETERS_B
345 WHERE TECH_PARM_ID = X_TECH_PARM_ID
346 FOR UPDATE OF TECH_PARM_ID NOWAIT;
347 RECINFO C%ROWTYPE;
348
349 CURSOR C1 IS SELECT
350 PARM_DESCRIPTION,
351 DECODE(LANGUAGE, USERENV('LANG'), 'Y', 'N') BASELANG
352 FROM GMD_TECH_PARAMETERS_TL
353 WHERE TECH_PARM_ID = X_TECH_PARM_ID
354 AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG)
355 FOR UPDATE OF TECH_PARM_ID NOWAIT;
356 BEGIN
357 OPEN C;
358 FETCH C INTO RECINFO;
359 IF (C%NOTFOUND) THEN
360 CLOSE C;
361 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
362 APP_EXCEPTION.RAISE_EXCEPTION;
363 END IF;
364 CLOSE C;
365 IF ( ((RECINFO.QCASSY_TYP_ID = X_QCASSY_TYP_ID)
366 OR ((RECINFO.QCASSY_TYP_ID IS NULL) AND (X_QCASSY_TYP_ID IS NULL)))
367 AND ((RECINFO.LAB_TYPE = X_LAB_TYPE)
368 OR ((RECINFO.LAB_TYPE IS NULL) AND (X_LAB_TYPE IS NULL)))
369 AND (RECINFO.TECH_PARM_NAME = X_TECH_PARM_NAME)
370 AND (RECINFO.DATA_TYPE = X_DATA_TYPE)
371 AND ((RECINFO.SIGNIF_FIGURES = X_SIGNIF_FIGURES)
372 OR ((RECINFO.SIGNIF_FIGURES IS NULL) AND (X_SIGNIF_FIGURES IS NULL)))
373 AND ((RECINFO.LOWERBOUND_NUM = X_LOWERBOUND_NUM)
374 OR ((RECINFO.LOWERBOUND_NUM IS NULL) AND (X_LOWERBOUND_NUM IS NULL)))
375 AND ((RECINFO.UPPERBOUND_NUM = X_UPPERBOUND_NUM)
376 OR ((RECINFO.UPPERBOUND_NUM IS NULL) AND (X_UPPERBOUND_NUM IS NULL)))
377 AND ((RECINFO.LOWERBOUND_CHAR = X_LOWERBOUND_CHAR)
378 OR ((RECINFO.LOWERBOUND_CHAR IS NULL) AND (X_LOWERBOUND_CHAR IS NULL)))
379 AND ((RECINFO.UPPERBOUND_CHAR = X_UPPERBOUND_CHAR)
380 OR ((RECINFO.UPPERBOUND_CHAR IS NULL) AND (X_UPPERBOUND_CHAR IS NULL)))
381 AND ((RECINFO.MAX_LENGTH = X_MAX_LENGTH)
382 OR ((RECINFO.MAX_LENGTH IS NULL) AND (X_MAX_LENGTH IS NULL)))
383 AND ((RECINFO.EXPRESSION_CHAR = X_EXPRESSION_CHAR)
384 OR ((RECINFO.EXPRESSION_CHAR IS NULL) AND (X_EXPRESSION_CHAR IS NULL)))
385 AND ((RECINFO.COST_SOURCE = X_COST_SOURCE)
386 OR ((RECINFO.COST_SOURCE IS NULL) AND (X_COST_SOURCE IS NULL)))
387 AND ((RECINFO.COST_TYPE = X_COST_TYPE)
388 OR ((RECINFO.COST_TYPE IS NULL) AND (X_COST_TYPE IS NULL)))
389 AND ((RECINFO.COST_FUNCTION = X_COST_FUNCTION)
390 OR ((RECINFO.COST_FUNCTION IS NULL) AND (X_COST_FUNCTION IS NULL)))
391 AND ((RECINFO.DEFAULT_COST_PARAMETER = X_DEFAULT_COST_PARAMETER)
392 OR ((RECINFO.DEFAULT_COST_PARAMETER IS NULL) AND (X_DEFAULT_COST_PARAMETER IS NULL)))
393 AND ((RECINFO.LM_UNIT_CODE = X_LM_UNIT_CODE)
394 OR ((RECINFO.LM_UNIT_CODE IS NULL) AND (X_LM_UNIT_CODE IS NULL)))
395 AND (RECINFO.DELETE_MARK = X_DELETE_MARK)
396 AND ((RECINFO.TEXT_CODE = X_TEXT_CODE)
397 OR ((RECINFO.TEXT_CODE IS NULL) AND (X_TEXT_CODE IS NULL)))
398 AND ((RECINFO.IN_USE = X_IN_USE)
399 OR ((RECINFO.IN_USE IS NULL) AND (X_IN_USE IS NULL)))
400 AND ((RECINFO.ATTRIBUTE1 = X_ATTRIBUTE1)
401 OR ((RECINFO.ATTRIBUTE1 IS NULL) AND (X_ATTRIBUTE1 IS NULL)))
402 AND ((RECINFO.ATTRIBUTE2 = X_ATTRIBUTE2)
403 OR ((RECINFO.ATTRIBUTE2 IS NULL) AND (X_ATTRIBUTE2 IS NULL)))
404 AND ((RECINFO.ATTRIBUTE3 = X_ATTRIBUTE3)
405 OR ((RECINFO.ATTRIBUTE3 IS NULL) AND (X_ATTRIBUTE3 IS NULL)))
406 AND ((RECINFO.ATTRIBUTE4 = X_ATTRIBUTE4)
407 OR ((RECINFO.ATTRIBUTE4 IS NULL) AND (X_ATTRIBUTE4 IS NULL)))
408 AND ((RECINFO.ATTRIBUTE5 = X_ATTRIBUTE5)
409 OR ((RECINFO.ATTRIBUTE5 IS NULL) AND (X_ATTRIBUTE5 IS NULL)))
410 AND ((RECINFO.ATTRIBUTE6 = X_ATTRIBUTE6)
411 OR ((RECINFO.ATTRIBUTE6 IS NULL) AND (X_ATTRIBUTE6 IS NULL)))
412 AND ((RECINFO.ATTRIBUTE7 = X_ATTRIBUTE7)
413 OR ((RECINFO.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL)))
414 AND ((RECINFO.ATTRIBUTE8 = X_ATTRIBUTE8)
415 OR ((RECINFO.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL)))
416 AND ((RECINFO.ATTRIBUTE9 = X_ATTRIBUTE9)
417 OR ((RECINFO.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL)))
418 AND ((RECINFO.ATTRIBUTE10 = X_ATTRIBUTE10)
419 OR ((RECINFO.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL)))
420 AND ((RECINFO.ATTRIBUTE11 = X_ATTRIBUTE11)
421 OR ((RECINFO.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL)))
422 AND ((RECINFO.ATTRIBUTE12 = X_ATTRIBUTE12)
423 OR ((RECINFO.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL)))
424 AND ((RECINFO.ATTRIBUTE13 = X_ATTRIBUTE13)
425 OR ((RECINFO.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL)))
426 AND ((RECINFO.ATTRIBUTE14 = X_ATTRIBUTE14)
427 OR ((RECINFO.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL)))
428 AND ((RECINFO.ATTRIBUTE15 = X_ATTRIBUTE15)
429 OR ((RECINFO.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL)))
430 AND ((RECINFO.ATTRIBUTE16 = X_ATTRIBUTE16)
431 OR ((RECINFO.ATTRIBUTE16 IS NULL) AND (X_ATTRIBUTE16 IS NULL)))
432 AND ((RECINFO.ATTRIBUTE17 = X_ATTRIBUTE17)
433 OR ((RECINFO.ATTRIBUTE17 IS NULL) AND (X_ATTRIBUTE17 IS NULL)))
434 AND ((RECINFO.ATTRIBUTE18 = X_ATTRIBUTE18)
435 OR ((RECINFO.ATTRIBUTE18 IS NULL) AND (X_ATTRIBUTE18 IS NULL)))
436 AND ((RECINFO.ATTRIBUTE19 = X_ATTRIBUTE19)
437 OR ((RECINFO.ATTRIBUTE19 IS NULL) AND (X_ATTRIBUTE19 IS NULL)))
438 AND ((RECINFO.ATTRIBUTE20 = X_ATTRIBUTE20)
439 OR ((RECINFO.ATTRIBUTE20 IS NULL) AND (X_ATTRIBUTE20 IS NULL)))
440 AND ((RECINFO.ATTRIBUTE21 = X_ATTRIBUTE21)
441 OR ((RECINFO.ATTRIBUTE21 IS NULL) AND (X_ATTRIBUTE21 IS NULL)))
442 AND ((RECINFO.ATTRIBUTE22 = X_ATTRIBUTE22)
443 OR ((RECINFO.ATTRIBUTE22 IS NULL) AND (X_ATTRIBUTE22 IS NULL)))
444 AND ((RECINFO.ATTRIBUTE23 = X_ATTRIBUTE23)
445 OR ((RECINFO.ATTRIBUTE23 IS NULL) AND (X_ATTRIBUTE23 IS NULL)))
446 AND ((RECINFO.ATTRIBUTE24 = X_ATTRIBUTE24)
447 OR ((RECINFO.ATTRIBUTE24 IS NULL) AND (X_ATTRIBUTE24 IS NULL)))
448 AND ((RECINFO.ATTRIBUTE25 = X_ATTRIBUTE25)
452 AND ((RECINFO.ATTRIBUTE27 = X_ATTRIBUTE27)
449 OR ((RECINFO.ATTRIBUTE25 IS NULL) AND (X_ATTRIBUTE25 IS NULL)))
450 AND ((RECINFO.ATTRIBUTE26 = X_ATTRIBUTE26)
451 OR ((RECINFO.ATTRIBUTE26 IS NULL) AND (X_ATTRIBUTE26 IS NULL)))
453 OR ((RECINFO.ATTRIBUTE27 IS NULL) AND (X_ATTRIBUTE27 IS NULL)))
454 AND ((RECINFO.ATTRIBUTE28 = X_ATTRIBUTE28)
455 OR ((RECINFO.ATTRIBUTE28 IS NULL) AND (X_ATTRIBUTE28 IS NULL)))
456 AND ((RECINFO.ATTRIBUTE29 = X_ATTRIBUTE29)
457 OR ((RECINFO.ATTRIBUTE29 IS NULL) AND (X_ATTRIBUTE29 IS NULL)))
458 AND ((RECINFO.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
459 OR ((RECINFO.ATTRIBUTE_CATEGORY IS NULL) AND (X_ATTRIBUTE_CATEGORY IS NULL)))
460 AND ((RECINFO.ATTRIBUTE30 = X_ATTRIBUTE30)
461 OR ((RECINFO.ATTRIBUTE30 IS NULL) AND (X_ATTRIBUTE30 IS NULL)))
462 AND ((RECINFO.ORGANIZATION_ID = X_ORGANIZATION_ID)
463 OR ((RECINFO.ORGANIZATION_ID IS NULL) AND (X_ORGANIZATION_ID IS NULL)))
464 ) THEN
465 NULL;
466 ELSE
467 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
468 app_exception.raise_exception;
469 END IF;
470
471 FOR tlinfo IN c1 LOOP
472 IF (tlinfo.BASELANG = 'Y') THEN
473 IF ( (tlinfo.PARM_DESCRIPTION = X_PARM_DESCRIPTION)
474 ) THEN
475 NULL;
476 ELSE
477 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
478 app_exception.raise_exception;
479 END IF;
480 END IF;
481 END LOOP;
482 RETURN;
483 END LOCK_ROW;
484
485 PROCEDURE UPDATE_ROW (
486 X_TECH_PARM_ID IN NUMBER,
487 X_QCASSY_TYP_ID IN NUMBER,
488 X_LAB_TYPE IN VARCHAR2,
489 X_TECH_PARM_NAME IN VARCHAR2,
490 X_DATA_TYPE IN NUMBER,
491 X_SIGNIF_FIGURES IN NUMBER,
492 X_LOWERBOUND_NUM IN NUMBER,
493 X_UPPERBOUND_NUM IN NUMBER,
494 X_LOWERBOUND_CHAR IN VARCHAR2,
495 X_UPPERBOUND_CHAR IN VARCHAR2,
496 X_MAX_LENGTH IN NUMBER,
497 X_EXPRESSION_CHAR IN VARCHAR2,
498 X_COST_SOURCE IN NUMBER,
499 X_COST_TYPE IN VARCHAR2,
500 X_COST_FUNCTION IN VARCHAR2,
501 X_DEFAULT_COST_PARAMETER IN NUMBER,
502 X_LM_UNIT_CODE IN VARCHAR2,
503 X_DELETE_MARK IN NUMBER,
504 X_TEXT_CODE IN NUMBER,
505 X_IN_USE IN NUMBER,
506 X_ATTRIBUTE1 IN VARCHAR2,
507 X_ATTRIBUTE2 IN VARCHAR2,
508 X_ATTRIBUTE3 IN VARCHAR2,
509 X_ATTRIBUTE4 IN VARCHAR2,
510 X_ATTRIBUTE5 IN VARCHAR2,
511 X_ATTRIBUTE6 IN VARCHAR2,
512 X_ATTRIBUTE7 IN VARCHAR2,
513 X_ATTRIBUTE8 IN VARCHAR2,
514 X_ATTRIBUTE9 IN VARCHAR2,
515 X_ATTRIBUTE10 IN VARCHAR2,
516 X_ATTRIBUTE11 IN VARCHAR2,
517 X_ATTRIBUTE12 IN VARCHAR2,
518 X_ATTRIBUTE13 IN VARCHAR2,
519 X_ATTRIBUTE14 IN VARCHAR2,
520 X_ATTRIBUTE15 IN VARCHAR2,
521 X_ATTRIBUTE16 IN VARCHAR2,
522 X_ATTRIBUTE17 IN VARCHAR2,
523 X_ATTRIBUTE18 IN VARCHAR2,
524 X_ATTRIBUTE19 IN VARCHAR2,
525 X_ATTRIBUTE20 IN VARCHAR2,
526 X_ATTRIBUTE21 IN VARCHAR2,
527 X_ATTRIBUTE22 IN VARCHAR2,
528 X_ATTRIBUTE23 IN VARCHAR2,
529 X_ATTRIBUTE24 IN VARCHAR2,
530 X_ATTRIBUTE25 IN VARCHAR2,
531 X_ATTRIBUTE26 IN VARCHAR2,
532 X_ATTRIBUTE27 IN VARCHAR2,
533 X_ATTRIBUTE28 IN VARCHAR2,
534 X_ATTRIBUTE29 IN VARCHAR2,
535 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
536 X_ATTRIBUTE30 IN VARCHAR2,
537 X_ORGANIZATION_ID IN NUMBER,
538 X_PARM_DESCRIPTION IN VARCHAR2,
539 X_LAST_UPDATE_DATE IN DATE,
540 X_LAST_UPDATED_BY IN NUMBER,
541 X_LAST_UPDATE_LOGIN IN NUMBER
542 ) IS
543 BEGIN
544 UPDATE GMD_TECH_PARAMETERS_B SET
545 QCASSY_TYP_ID = X_QCASSY_TYP_ID,
546 LAB_TYPE = X_LAB_TYPE,
547 TECH_PARM_NAME = X_TECH_PARM_NAME,
548 DATA_TYPE = X_DATA_TYPE,
549 SIGNIF_FIGURES = X_SIGNIF_FIGURES,
550 LOWERBOUND_NUM = X_LOWERBOUND_NUM,
551 UPPERBOUND_NUM = X_UPPERBOUND_NUM,
552 LOWERBOUND_CHAR = X_LOWERBOUND_CHAR,
553 UPPERBOUND_CHAR = X_UPPERBOUND_CHAR,
554 MAX_LENGTH = X_MAX_LENGTH,
555 EXPRESSION_CHAR = X_EXPRESSION_CHAR,
556 COST_SOURCE = X_COST_SOURCE,
557 COST_TYPE = X_COST_TYPE,
558 COST_FUNCTION = X_COST_FUNCTION,
559 DEFAULT_COST_PARAMETER = X_DEFAULT_COST_PARAMETER,
560 LM_UNIT_CODE = X_LM_UNIT_CODE,
561 DELETE_MARK = X_DELETE_MARK,
562 TEXT_CODE = X_TEXT_CODE,
563 IN_USE = X_IN_USE,
564 ATTRIBUTE1 = X_ATTRIBUTE1,
565 ATTRIBUTE2 = X_ATTRIBUTE2,
566 ATTRIBUTE3 = X_ATTRIBUTE3,
567 ATTRIBUTE4 = X_ATTRIBUTE4,
568 ATTRIBUTE5 = X_ATTRIBUTE5,
569 ATTRIBUTE6 = X_ATTRIBUTE6,
570 ATTRIBUTE7 = X_ATTRIBUTE7,
571 ATTRIBUTE8 = X_ATTRIBUTE8,
572 ATTRIBUTE9 = X_ATTRIBUTE9,
573 ATTRIBUTE10 = X_ATTRIBUTE10,
574 ATTRIBUTE11 = X_ATTRIBUTE11,
575 ATTRIBUTE12 = X_ATTRIBUTE12,
576 ATTRIBUTE13 = X_ATTRIBUTE13,
577 ATTRIBUTE14 = X_ATTRIBUTE14,
578 ATTRIBUTE15 = X_ATTRIBUTE15,
579 ATTRIBUTE16 = X_ATTRIBUTE16,
580 ATTRIBUTE17 = X_ATTRIBUTE17,
581 ATTRIBUTE18 = X_ATTRIBUTE18,
582 ATTRIBUTE19 = X_ATTRIBUTE19,
583 ATTRIBUTE20 = X_ATTRIBUTE20,
584 ATTRIBUTE21 = X_ATTRIBUTE21,
585 ATTRIBUTE22 = X_ATTRIBUTE22,
586 ATTRIBUTE23 = X_ATTRIBUTE23,
587 ATTRIBUTE24 = X_ATTRIBUTE24,
588 ATTRIBUTE25 = X_ATTRIBUTE25,
589 ATTRIBUTE26 = X_ATTRIBUTE26,
590 ATTRIBUTE27 = X_ATTRIBUTE27,
591 ATTRIBUTE28 = X_ATTRIBUTE28,
592 ATTRIBUTE29 = X_ATTRIBUTE29,
593 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
594 ATTRIBUTE30 = X_ATTRIBUTE30,
595 ORGANIZATION_ID = X_ORGANIZATION_ID,
596 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
597 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
598 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
599 WHERE TECH_PARM_ID = X_TECH_PARM_ID;
600
601 IF (SQL%NOTFOUND) THEN
602 RAISE NO_DATA_FOUND;
603 END IF;
604
605 UPDATE GMD_TECH_PARAMETERS_TL SET
606 PARM_DESCRIPTION = X_PARM_DESCRIPTION,
607 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
608 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
609 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
610 SOURCE_LANG = USERENV('LANG')
611 WHERE TECH_PARM_ID = X_TECH_PARM_ID
612 AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG);
613
614 IF (SQL%NOTFOUND) THEN
615 RAISE NO_DATA_FOUND;
616 END IF;
617 END UPDATE_ROW;
618
619 PROCEDURE DELETE_ROW (
620 X_TECH_PARM_ID IN NUMBER
621 ) IS
622 BEGIN
623 UPDATE GMD_TECH_PARAMETERS_B
624 SET DELETE_MARK = 1
625 WHERE TECH_PARM_ID = X_TECH_PARM_ID;
626
627 IF (SQL%NOTFOUND) THEN
628 RAISE NO_DATA_FOUND;
629 END IF;
630 END DELETE_ROW;
631
632 PROCEDURE ADD_LANGUAGE
633 IS
634 BEGIN
635 DELETE FROM GMD_TECH_PARAMETERS_TL T
636 WHERE NOT EXISTS
637 (SELECT NULL
638 FROM GMD_TECH_PARAMETERS_B B
639 WHERE B.TECH_PARM_ID = T.TECH_PARM_ID
640 );
641
642 UPDATE GMD_TECH_PARAMETERS_TL T SET (
643 PARM_DESCRIPTION
644 ) = (SELECT
645 B.PARM_DESCRIPTION
646 FROM GMD_TECH_PARAMETERS_TL B
647 WHERE B.TECH_PARM_ID = T.TECH_PARM_ID
648 AND B.LANGUAGE = T.SOURCE_LANG)
649 WHERE (
650 T.TECH_PARM_ID,
651 T.LANGUAGE
652 ) IN (SELECT
653 SUBT.TECH_PARM_ID,
654 SUBT.LANGUAGE
655 FROM GMD_TECH_PARAMETERS_TL SUBB, GMD_TECH_PARAMETERS_TL SUBT
656 WHERE SUBB.TECH_PARM_ID = SUBT.TECH_PARM_ID
657 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
658 AND (SUBB.PARM_DESCRIPTION <> SUBT.PARM_DESCRIPTION
659 ));
660
661 INSERT INTO GMD_TECH_PARAMETERS_TL (
662 TECH_PARM_ID,
663 TECH_PARM_NAME,
664 PARM_DESCRIPTION,
665 CREATION_DATE,
666 CREATED_BY,
667 LAST_UPDATE_DATE,
668 LAST_UPDATED_BY,
669 LAST_UPDATE_LOGIN,
670 LANGUAGE,
671 SOURCE_LANG
672 ) SELECT
673 B.TECH_PARM_ID,
674 B.TECH_PARM_NAME,
675 B.PARM_DESCRIPTION,
676 B.CREATION_DATE,
677 B.CREATED_BY,
678 B.LAST_UPDATE_DATE,
679 B.LAST_UPDATED_BY,
680 B.LAST_UPDATE_LOGIN,
681 L.LANGUAGE_CODE,
682 B.SOURCE_LANG
683 FROM GMD_TECH_PARAMETERS_TL B, FND_LANGUAGES L
684 WHERE L.INSTALLED_FLAG IN ('I', 'B')
685 AND B.LANGUAGE = USERENV('LANG')
686 AND NOT EXISTS
687 (SELECT NULL
688 FROM GMD_TECH_PARAMETERS_TL T
689 WHERE T.TECH_PARM_ID = B.TECH_PARM_ID
690 AND T.LANGUAGE = L.LANGUAGE_CODE);
691 END ADD_LANGUAGE;
692
693 END GMD_TECH_PARAMETERS_PKG;