[Home] [Help]
PACKAGE BODY: APPS.GMD_SPEC_TESTS_PVT
Source
1 package body GMD_SPEC_TESTS_PVT as
2 /* $Header: GMDVSPTB.pls 120.0 2005/05/25 19:16:49 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_SPEC_ID in NUMBER,
6 X_TEST_ID in NUMBER,
7 X_ATTRIBUTE1 in VARCHAR2,
8 X_ATTRIBUTE2 in VARCHAR2,
9 X_MIN_VALUE_CHAR in VARCHAR2,
10 X_TEST_METHOD_ID in NUMBER,
11 X_SEQ in NUMBER,
12 X_FROM_BASE_IND in VARCHAR2,
13 X_EXCLUDE_IND in VARCHAR2,
14 X_MODIFIED_IND in VARCHAR2,
15 X_TEST_QTY in NUMBER,
16 X_TEST_QTY_UOM in VARCHAR2,
17 X_MIN_VALUE_NUM in NUMBER,
18 X_TARGET_VALUE_NUM in NUMBER,
19 X_MAX_VALUE_NUM in NUMBER,
20 X_ATTRIBUTE5 in VARCHAR2,
21 X_ATTRIBUTE6 in VARCHAR2,
22 X_ATTRIBUTE7 in VARCHAR2,
23 X_ATTRIBUTE8 in VARCHAR2,
24 X_ATTRIBUTE9 in VARCHAR2,
25 X_ATTRIBUTE10 in VARCHAR2,
26 X_ATTRIBUTE11 in VARCHAR2,
27 X_ATTRIBUTE12 in VARCHAR2,
28 X_ATTRIBUTE13 in VARCHAR2,
29 X_ATTRIBUTE14 in VARCHAR2,
30 X_ATTRIBUTE15 in VARCHAR2,
31 X_ATTRIBUTE16 in VARCHAR2,
32 X_ATTRIBUTE17 in VARCHAR2,
33 X_ATTRIBUTE18 in VARCHAR2,
34 X_USE_TO_CONTROL_STEP in VARCHAR2,
35 X_PRINT_SPEC_IND in VARCHAR2,
36 X_PRINT_RESULT_IND in VARCHAR2,
37 X_TEXT_CODE in NUMBER,
38 X_ATTRIBUTE_CATEGORY in VARCHAR2,
39 X_ATTRIBUTE3 in VARCHAR2,
40 X_RETEST_LOT_EXPIRY_IND in VARCHAR2,
41 X_ATTRIBUTE19 in VARCHAR2,
42 X_ATTRIBUTE20 in VARCHAR2,
43 X_MAX_VALUE_CHAR in VARCHAR2,
44 X_TEST_REPLICATE in NUMBER,
45 X_CHECK_RESULT_INTERVAL in NUMBER,
46 X_OUT_OF_SPEC_ACTION in VARCHAR2,
47 X_EXP_ERROR_TYPE in VARCHAR2,
48 X_BELOW_SPEC_MIN in NUMBER,
49 X_ABOVE_SPEC_MIN in NUMBER,
50 X_BELOW_SPEC_MAX in NUMBER,
51 X_ABOVE_SPEC_MAX in NUMBER,
52 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
53 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
54 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
55 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
56 X_OPTIONAL_IND in VARCHAR2,
57 X_DISPLAY_PRECISION in NUMBER,
58 X_REPORT_PRECISION in NUMBER,
59 X_TEST_PRIORITY in VARCHAR2,
60 X_PRINT_ON_COA_IND in VARCHAR2,
61 X_TARGET_VALUE_CHAR in VARCHAR2,
62 X_ATTRIBUTE4 in VARCHAR2,
63 X_ATTRIBUTE21 in VARCHAR2,
64 X_ATTRIBUTE22 in VARCHAR2,
65 X_ATTRIBUTE23 in VARCHAR2,
66 X_ATTRIBUTE24 in VARCHAR2,
67 X_ATTRIBUTE25 in VARCHAR2,
68 X_ATTRIBUTE26 in VARCHAR2,
69 X_ATTRIBUTE27 in VARCHAR2,
70 X_ATTRIBUTE28 in VARCHAR2,
71 X_ATTRIBUTE29 in VARCHAR2,
72 X_ATTRIBUTE30 in VARCHAR2,
73 X_TEST_DISPLAY in VARCHAR2,
74 X_CREATION_DATE in DATE,
75 X_CREATED_BY in NUMBER,
76 X_LAST_UPDATE_DATE in DATE,
77 X_LAST_UPDATED_BY in NUMBER,
78 X_LAST_UPDATE_LOGIN in NUMBER,
79 X_VIABILITY_DURATION in number,
80 X_TEST_EXPIRATION_DAYS in number,
81 X_TEST_EXPIRATION_HOURS in number,
82 X_TEST_EXPIRATION_MINUTES in number,
83 X_TEST_EXPIRATION_SECONDS in number,
84 X_CALC_UOM_CONV_IND in VARCHAR2,
85 X_TO_QTY_UOM in VARCHAR2
86 ) is
87 cursor C is select ROWID from GMD_SPEC_TESTS_B
88 where SPEC_ID = X_SPEC_ID
89 and TEST_ID = X_TEST_ID
90 ;
91 begin
92 insert into GMD_SPEC_TESTS_B (
93 ATTRIBUTE1,
94 ATTRIBUTE2,
95 MIN_VALUE_CHAR,
96 SPEC_ID,
97 TEST_ID,
98 TEST_METHOD_ID,
99 SEQ,
100 FROM_BASE_IND,
101 EXCLUDE_IND,
102 MODIFIED_IND,
103 TEST_QTY,
104 TEST_QTY_UOM,
105 MIN_VALUE_NUM,
106 TARGET_VALUE_NUM,
107 MAX_VALUE_NUM,
108 ATTRIBUTE5,
109 ATTRIBUTE6,
110 ATTRIBUTE7,
111 ATTRIBUTE8,
112 ATTRIBUTE9,
113 ATTRIBUTE10,
114 ATTRIBUTE11,
115 ATTRIBUTE12,
116 ATTRIBUTE13,
117 ATTRIBUTE14,
118 ATTRIBUTE15,
119 ATTRIBUTE16,
120 ATTRIBUTE17,
121 ATTRIBUTE18,
122 USE_TO_CONTROL_STEP,
123 PRINT_SPEC_IND,
124 PRINT_RESULT_IND,
125 TEXT_CODE,
126 ATTRIBUTE_CATEGORY,
127 ATTRIBUTE3,
128 RETEST_LOT_EXPIRY_IND,
129 ATTRIBUTE19,
130 ATTRIBUTE20,
131 MAX_VALUE_CHAR,
132 TEST_REPLICATE,
133 CHECK_RESULT_INTERVAL,
134 OUT_OF_SPEC_ACTION,
135 EXP_ERROR_TYPE,
136 BELOW_SPEC_MIN,
137 ABOVE_SPEC_MIN,
138 BELOW_SPEC_MAX,
139 ABOVE_SPEC_MAX,
140 BELOW_MIN_ACTION_CODE,
141 ABOVE_MIN_ACTION_CODE,
142 BELOW_MAX_ACTION_CODE,
143 ABOVE_MAX_ACTION_CODE,
144 OPTIONAL_IND,
145 DISPLAY_PRECISION,
146 REPORT_PRECISION,
147 TEST_PRIORITY,
148 PRINT_ON_COA_IND,
149 TARGET_VALUE_CHAR,
150 ATTRIBUTE4,
151 ATTRIBUTE21,
152 ATTRIBUTE22,
153 ATTRIBUTE23,
154 ATTRIBUTE24,
155 ATTRIBUTE25,
156 ATTRIBUTE26,
157 ATTRIBUTE27,
158 ATTRIBUTE28,
159 ATTRIBUTE29,
160 ATTRIBUTE30,
161 CREATION_DATE,
162 CREATED_BY,
163 LAST_UPDATE_DATE,
164 LAST_UPDATED_BY,
165 LAST_UPDATE_LOGIN,
166 VIABILITY_DURATION,
167 DAYS,
168 HOURS,
169 MINUTES,
170 SECONDS,
171 CALC_UOM_CONV_IND,
172 TO_QTY_UOM
173 ) values (
174 X_ATTRIBUTE1,
175 X_ATTRIBUTE2,
176 X_MIN_VALUE_CHAR,
177 X_SPEC_ID,
178 X_TEST_ID,
179 X_TEST_METHOD_ID,
180 X_SEQ,
181 X_FROM_BASE_IND,
182 X_EXCLUDE_IND,
183 X_MODIFIED_IND,
184 X_TEST_QTY,
185 X_TEST_QTY_UOM,
186 X_MIN_VALUE_NUM,
187 X_TARGET_VALUE_NUM,
188 X_MAX_VALUE_NUM,
189 X_ATTRIBUTE5,
190 X_ATTRIBUTE6,
191 X_ATTRIBUTE7,
192 X_ATTRIBUTE8,
193 X_ATTRIBUTE9,
194 X_ATTRIBUTE10,
195 X_ATTRIBUTE11,
196 X_ATTRIBUTE12,
197 X_ATTRIBUTE13,
198 X_ATTRIBUTE14,
199 X_ATTRIBUTE15,
200 X_ATTRIBUTE16,
201 X_ATTRIBUTE17,
202 X_ATTRIBUTE18,
203 X_USE_TO_CONTROL_STEP,
204 X_PRINT_SPEC_IND,
205 X_PRINT_RESULT_IND,
206 X_TEXT_CODE,
207 X_ATTRIBUTE_CATEGORY,
208 X_ATTRIBUTE3,
209 X_RETEST_LOT_EXPIRY_IND,
210 X_ATTRIBUTE19,
211 X_ATTRIBUTE20,
212 X_MAX_VALUE_CHAR,
213 X_TEST_REPLICATE,
214 X_CHECK_RESULT_INTERVAL,
215 X_OUT_OF_SPEC_ACTION,
216 X_EXP_ERROR_TYPE,
217 X_BELOW_SPEC_MIN,
218 X_ABOVE_SPEC_MIN,
219 X_BELOW_SPEC_MAX,
220 X_ABOVE_SPEC_MAX,
221 X_BELOW_MIN_ACTION_CODE,
222 X_ABOVE_MIN_ACTION_CODE,
223 X_BELOW_MAX_ACTION_CODE,
224 X_ABOVE_MAX_ACTION_CODE,
225 X_OPTIONAL_IND,
226 X_DISPLAY_PRECISION,
227 X_REPORT_PRECISION,
228 X_TEST_PRIORITY,
229 X_PRINT_ON_COA_IND,
230 X_TARGET_VALUE_CHAR,
231 X_ATTRIBUTE4,
232 X_ATTRIBUTE21,
233 X_ATTRIBUTE22,
234 X_ATTRIBUTE23,
235 X_ATTRIBUTE24,
236 X_ATTRIBUTE25,
237 X_ATTRIBUTE26,
238 X_ATTRIBUTE27,
239 X_ATTRIBUTE28,
240 X_ATTRIBUTE29,
241 X_ATTRIBUTE30,
242 NVL(X_CREATION_DATE,SYSDATE),
243 NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
244 NVL(X_LAST_UPDATE_DATE,SYSDATE),
245 NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
246 NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
247 X_VIABILITY_DURATION,
248 X_TEST_EXPIRATION_DAYS,
249 X_TEST_EXPIRATION_HOURS,
250 X_TEST_EXPIRATION_MINUTES,
251 X_TEST_EXPIRATION_SECONDS,
252 X_CALC_UOM_CONV_IND,
253 X_TO_QTY_UOM
254 );
255
256 insert into GMD_SPEC_TESTS_TL (
257 CREATED_BY,
258 LAST_UPDATED_BY,
259 LAST_UPDATE_DATE,
260 LAST_UPDATE_LOGIN,
261 SPEC_ID,
262 TEST_ID,
263 TEST_DISPLAY,
264 CREATION_DATE,
265 LANGUAGE,
266 SOURCE_LANG
267 ) select
268 NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
269 NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
270 NVL(X_LAST_UPDATE_DATE,SYSDATE),
271 NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
272 X_SPEC_ID,
273 X_TEST_ID,
274 X_TEST_DISPLAY,
275 NVL(X_CREATION_DATE,SYSDATE),
276 L.LANGUAGE_CODE,
277 userenv('LANG')
278 from FND_LANGUAGES L
279 where L.INSTALLED_FLAG in ('I', 'B')
280 and not exists
281 (select NULL
282 from GMD_SPEC_TESTS_TL T
283 where T.SPEC_ID = X_SPEC_ID
284 and T.TEST_ID = X_TEST_ID
285 and T.LANGUAGE = L.LANGUAGE_CODE);
286
287 open c;
288 fetch c into X_ROWID;
289 if (c%notfound) then
290 close c;
291 raise no_data_found;
292 end if;
293 close c;
294
295 end INSERT_ROW;
296
297 procedure LOCK_ROW (
298 X_SPEC_ID in NUMBER,
299 X_TEST_ID in NUMBER,
300 X_ATTRIBUTE1 in VARCHAR2,
301 X_ATTRIBUTE2 in VARCHAR2,
302 X_MIN_VALUE_CHAR in VARCHAR2,
303 X_TEST_METHOD_ID in NUMBER,
304 X_SEQ in NUMBER,
305 X_FROM_BASE_IND in VARCHAR2,
306 X_EXCLUDE_IND in VARCHAR2,
307 X_MODIFIED_IND in VARCHAR2,
308 X_TEST_QTY in NUMBER,
309 X_TEST_QTY_UOM in VARCHAR2,
310 X_MIN_VALUE_NUM in NUMBER,
311 X_TARGET_VALUE_NUM in NUMBER,
312 X_MAX_VALUE_NUM in NUMBER,
313 X_ATTRIBUTE5 in VARCHAR2,
314 X_ATTRIBUTE6 in VARCHAR2,
315 X_ATTRIBUTE7 in VARCHAR2,
316 X_ATTRIBUTE8 in VARCHAR2,
317 X_ATTRIBUTE9 in VARCHAR2,
318 X_ATTRIBUTE10 in VARCHAR2,
319 X_ATTRIBUTE11 in VARCHAR2,
320 X_ATTRIBUTE12 in VARCHAR2,
321 X_ATTRIBUTE13 in VARCHAR2,
322 X_ATTRIBUTE14 in VARCHAR2,
323 X_ATTRIBUTE15 in VARCHAR2,
324 X_ATTRIBUTE16 in VARCHAR2,
325 X_ATTRIBUTE17 in VARCHAR2,
326 X_ATTRIBUTE18 in VARCHAR2,
327 X_USE_TO_CONTROL_STEP in VARCHAR2,
328 X_PRINT_SPEC_IND in VARCHAR2,
329 X_PRINT_RESULT_IND in VARCHAR2,
330 X_TEXT_CODE in NUMBER,
331 X_ATTRIBUTE_CATEGORY in VARCHAR2,
332 X_ATTRIBUTE3 in VARCHAR2,
333 X_RETEST_LOT_EXPIRY_IND in VARCHAR2,
334 X_ATTRIBUTE19 in VARCHAR2,
335 X_ATTRIBUTE20 in VARCHAR2,
336 X_MAX_VALUE_CHAR in VARCHAR2,
337 X_TEST_REPLICATE in NUMBER,
338 X_CHECK_RESULT_INTERVAL in NUMBER,
339 X_OUT_OF_SPEC_ACTION in VARCHAR2,
340 X_EXP_ERROR_TYPE in VARCHAR2,
341 X_BELOW_SPEC_MIN in NUMBER,
342 X_ABOVE_SPEC_MIN in NUMBER,
343 X_BELOW_SPEC_MAX in NUMBER,
344 X_ABOVE_SPEC_MAX in NUMBER,
345 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
346 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
347 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
348 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
349 X_OPTIONAL_IND in VARCHAR2,
350 X_DISPLAY_PRECISION in NUMBER,
351 X_REPORT_PRECISION in NUMBER,
352 X_TEST_PRIORITY in VARCHAR2,
353 X_PRINT_ON_COA_IND in VARCHAR2,
354 X_TARGET_VALUE_CHAR in VARCHAR2,
355 X_ATTRIBUTE4 in VARCHAR2,
356 X_ATTRIBUTE21 in VARCHAR2,
357 X_ATTRIBUTE22 in VARCHAR2,
358 X_ATTRIBUTE23 in VARCHAR2,
359 X_ATTRIBUTE24 in VARCHAR2,
360 X_ATTRIBUTE25 in VARCHAR2,
361 X_ATTRIBUTE26 in VARCHAR2,
362 X_ATTRIBUTE27 in VARCHAR2,
363 X_ATTRIBUTE28 in VARCHAR2,
364 X_ATTRIBUTE29 in VARCHAR2,
365 X_ATTRIBUTE30 in VARCHAR2,
366 X_TEST_DISPLAY in VARCHAR2,
367 X_VIABILITY_DURATION in number,
368 X_TEST_EXPIRATION_DAYS in number,
369 X_TEST_EXPIRATION_HOURS in number,
370 X_TEST_EXPIRATION_MINUTES in number,
371 X_TEST_EXPIRATION_SECONDS in number,
372 X_CALC_UOM_CONV_IND in VARCHAR2,
373 X_TO_QTY_UOM in VARCHAR2
374 ) is
375 cursor c is select
376 ATTRIBUTE1,
377 ATTRIBUTE2,
378 MIN_VALUE_CHAR,
379 TEST_METHOD_ID,
380 SEQ,
381 FROM_BASE_IND,
382 EXCLUDE_IND,
383 MODIFIED_IND,
384 TEST_QTY,
385 TEST_QTY_UOM,
386 MIN_VALUE_NUM,
387 TARGET_VALUE_NUM,
388 MAX_VALUE_NUM,
389 ATTRIBUTE5,
390 ATTRIBUTE6,
391 ATTRIBUTE7,
392 ATTRIBUTE8,
393 ATTRIBUTE9,
394 ATTRIBUTE10,
395 ATTRIBUTE11,
396 ATTRIBUTE12,
397 ATTRIBUTE13,
398 ATTRIBUTE14,
399 ATTRIBUTE15,
400 ATTRIBUTE16,
401 ATTRIBUTE17,
402 ATTRIBUTE18,
403 USE_TO_CONTROL_STEP,
404 PRINT_SPEC_IND,
405 PRINT_RESULT_IND,
406 TEXT_CODE,
407 ATTRIBUTE_CATEGORY,
408 ATTRIBUTE3,
409 RETEST_LOT_EXPIRY_IND,
410 ATTRIBUTE19,
411 ATTRIBUTE20,
412 MAX_VALUE_CHAR,
413 TEST_REPLICATE,
414 CHECK_RESULT_INTERVAL,
415 OUT_OF_SPEC_ACTION,
416 EXP_ERROR_TYPE,
417 BELOW_SPEC_MIN,
418 ABOVE_SPEC_MIN,
419 BELOW_SPEC_MAX,
420 ABOVE_SPEC_MAX,
421 BELOW_MIN_ACTION_CODE,
422 ABOVE_MIN_ACTION_CODE,
423 BELOW_MAX_ACTION_CODE,
424 ABOVE_MAX_ACTION_CODE,
425 OPTIONAL_IND,
426 DISPLAY_PRECISION,
427 REPORT_PRECISION,
428 TEST_PRIORITY,
429 PRINT_ON_COA_IND,
430 TARGET_VALUE_CHAR,
431 ATTRIBUTE4,
432 ATTRIBUTE21,
433 ATTRIBUTE22,
434 ATTRIBUTE23,
435 ATTRIBUTE24,
436 ATTRIBUTE25,
437 ATTRIBUTE26,
438 ATTRIBUTE27,
439 ATTRIBUTE28,
440 ATTRIBUTE29,
441 ATTRIBUTE30,
442 VIABILITY_DURATION,
443 DAYS,
444 HOURS,
445 MINUTES,
446 SECONDS,
447 CALC_UOM_CONV_IND,
448 TO_QTY_UOM
449 from GMD_SPEC_TESTS_B
450 where SPEC_ID = X_SPEC_ID
451 and TEST_ID = X_TEST_ID
452 for update of SPEC_ID nowait;
453 recinfo c%rowtype;
454
455 cursor c1 is select
456 TEST_DISPLAY,
457 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
458 from GMD_SPEC_TESTS_TL
459 where SPEC_ID = X_SPEC_ID
460 and TEST_ID = X_TEST_ID
461 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
462 for update of SPEC_ID nowait;
463 begin
464 open c;
465 fetch c into recinfo;
466 if (c%notfound) then
467 close c;
468 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
469 app_exception.raise_exception;
470 end if;
471 close c;
472 if ( ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
473 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
474 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
475 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
476 AND ((recinfo.MIN_VALUE_CHAR = X_MIN_VALUE_CHAR)
477 OR ((recinfo.MIN_VALUE_CHAR is null) AND (X_MIN_VALUE_CHAR is null)))
478 AND (recinfo.TEST_METHOD_ID = X_TEST_METHOD_ID)
479 AND (recinfo.SEQ = X_SEQ)
480 AND ((recinfo.FROM_BASE_IND = X_FROM_BASE_IND)
481 OR ((recinfo.FROM_BASE_IND is null) AND (X_FROM_BASE_IND is null)))
482 AND ((recinfo.EXCLUDE_IND = X_EXCLUDE_IND)
483 OR ((recinfo.EXCLUDE_IND is null) AND (X_EXCLUDE_IND is null)))
484 AND ((recinfo.MODIFIED_IND = X_MODIFIED_IND)
485 OR ((recinfo.MODIFIED_IND is null) AND (X_MODIFIED_IND is null)))
486 AND ((recinfo.TEST_QTY = X_TEST_QTY)
487 OR ((recinfo.TEST_QTY is null) AND (X_TEST_QTY is null)))
488 AND ((recinfo.TEST_QTY_UOM = X_TEST_QTY_UOM)
489 OR ((recinfo.TEST_QTY_UOM is null) AND (X_TEST_QTY_UOM is null)))
490 AND ((recinfo.MIN_VALUE_NUM = X_MIN_VALUE_NUM)
491 OR ((recinfo.MIN_VALUE_NUM is null) AND (X_MIN_VALUE_NUM is null)))
492 AND ((recinfo.TARGET_VALUE_NUM = X_TARGET_VALUE_NUM)
493 OR ((recinfo.TARGET_VALUE_NUM is null) AND (X_TARGET_VALUE_NUM is null)))
494 AND ((recinfo.MAX_VALUE_NUM = X_MAX_VALUE_NUM)
495 OR ((recinfo.MAX_VALUE_NUM is null) AND (X_MAX_VALUE_NUM is null)))
496 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
497 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
498 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
499 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
500 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
501 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
502 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
503 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
504 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
505 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
506 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
507 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
508 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
509 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
510 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
511 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
512 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
513 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
514 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
515 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
516 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
517 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
518 AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
519 OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
520 AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
521 OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
522 AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
523 OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
524 AND ((recinfo.USE_TO_CONTROL_STEP = X_USE_TO_CONTROL_STEP)
525 OR ((recinfo.USE_TO_CONTROL_STEP is null) AND (X_USE_TO_CONTROL_STEP is null)))
526 AND ((recinfo.PRINT_SPEC_IND = X_PRINT_SPEC_IND)
527 OR ((recinfo.PRINT_SPEC_IND is null) AND (X_PRINT_SPEC_IND is null)))
528 AND ((recinfo.PRINT_RESULT_IND = X_PRINT_RESULT_IND)
529 OR ((recinfo.PRINT_RESULT_IND is null) AND (X_PRINT_RESULT_IND is null)))
530 AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
531 OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
532 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
533 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
534 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
535 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
536 AND ((recinfo.RETEST_LOT_EXPIRY_IND = X_RETEST_LOT_EXPIRY_IND)
537 OR ((recinfo.RETEST_LOT_EXPIRY_IND is null) AND (X_RETEST_LOT_EXPIRY_IND is null)))
538 AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
539 OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
540 AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
541 OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
542 AND ((recinfo.MAX_VALUE_CHAR = X_MAX_VALUE_CHAR)
543 OR ((recinfo.MAX_VALUE_CHAR is null) AND (X_MAX_VALUE_CHAR is null)))
544 AND (recinfo.TEST_REPLICATE = X_TEST_REPLICATE)
545 AND ((recinfo.CHECK_RESULT_INTERVAL = X_CHECK_RESULT_INTERVAL)
546 OR ((recinfo.CHECK_RESULT_INTERVAL is null) AND (X_CHECK_RESULT_INTERVAL is null)))
547 AND ((recinfo.OUT_OF_SPEC_ACTION = X_OUT_OF_SPEC_ACTION)
548 OR ((recinfo.OUT_OF_SPEC_ACTION is null) AND (X_OUT_OF_SPEC_ACTION is null)))
549 AND ((recinfo.EXP_ERROR_TYPE = X_EXP_ERROR_TYPE)
550 OR ((recinfo.EXP_ERROR_TYPE is null) AND (X_EXP_ERROR_TYPE is null)))
551 AND ((recinfo.BELOW_SPEC_MIN = X_BELOW_SPEC_MIN)
552 OR ((recinfo.BELOW_SPEC_MIN is null) AND (X_BELOW_SPEC_MIN is null)))
553 AND ((recinfo.ABOVE_SPEC_MIN = X_ABOVE_SPEC_MIN)
554 OR ((recinfo.ABOVE_SPEC_MIN is null) AND (X_ABOVE_SPEC_MIN is null)))
555 AND ((recinfo.BELOW_SPEC_MAX = X_BELOW_SPEC_MAX)
556 OR ((recinfo.BELOW_SPEC_MAX is null) AND (X_BELOW_SPEC_MAX is null)))
557 AND ((recinfo.ABOVE_SPEC_MAX = X_ABOVE_SPEC_MAX)
558 OR ((recinfo.ABOVE_SPEC_MAX is null) AND (X_ABOVE_SPEC_MAX is null)))
559 AND ((recinfo.BELOW_MIN_ACTION_CODE = X_BELOW_MIN_ACTION_CODE)
560 OR ((recinfo.BELOW_MIN_ACTION_CODE is null) AND (X_BELOW_MIN_ACTION_CODE is null)))
561 AND ((recinfo.ABOVE_MIN_ACTION_CODE = X_ABOVE_MIN_ACTION_CODE)
562 OR ((recinfo.ABOVE_MIN_ACTION_CODE is null) AND (X_ABOVE_MIN_ACTION_CODE is null)))
563 AND ((recinfo.BELOW_MAX_ACTION_CODE = X_BELOW_MAX_ACTION_CODE)
564 OR ((recinfo.BELOW_MAX_ACTION_CODE is null) AND (X_BELOW_MAX_ACTION_CODE is null)))
565 AND ((recinfo.ABOVE_MAX_ACTION_CODE = X_ABOVE_MAX_ACTION_CODE)
566 OR ((recinfo.ABOVE_MAX_ACTION_CODE is null) AND (X_ABOVE_MAX_ACTION_CODE is null)))
567 AND ((recinfo.OPTIONAL_IND = X_OPTIONAL_IND)
568 OR ((recinfo.OPTIONAL_IND is null) AND (X_OPTIONAL_IND is null)))
569 AND ((recinfo.DISPLAY_PRECISION = X_DISPLAY_PRECISION)
570 OR ((recinfo.DISPLAY_PRECISION is null) AND (X_DISPLAY_PRECISION is null)))
571 AND ((recinfo.REPORT_PRECISION = X_REPORT_PRECISION)
572 OR ((recinfo.REPORT_PRECISION is null) AND (X_REPORT_PRECISION is null)))
573 AND (recinfo.TEST_PRIORITY = X_TEST_PRIORITY)
574 --AND ((recinfo.PRINT_ON_COA_IND = X_PRINT_ON_COA_IND)
575 -- OR ((recinfo.PRINT_ON_COA_IND is null) AND (X_PRINT_ON_COA_IND is null)))
576 AND ((recinfo.TARGET_VALUE_CHAR = X_TARGET_VALUE_CHAR)
577 OR ((recinfo.TARGET_VALUE_CHAR is null) AND (X_TARGET_VALUE_CHAR is null)))
578 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
579 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
580 AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
581 OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
582 AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
583 OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
584 AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
585 OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
586 AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
587 OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
588 AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
589 OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
590 AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
591 OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
592 AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
593 OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
594 AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
595 OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
596 AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
597 OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
598 AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
599 OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
600 /*AND ((recinfo.VIABILITY_DURATION = X_VIABILITY_DURATION)
601 OR ((recinfo.VIABILITY_DURATION is null) AND (X_VIABILITY_DURATION is null)))
602 AND ((recinfo.DAYS = X_TEST_EXPIRATION_DAYS)
603 OR ((recinfo.DAYS is null) AND (X_TEST_EXPIRATION_DAYS is null)))
604 AND ((recinfo.HOURS = X_TEST_EXPIRATION_HOURS)
605 OR ((recinfo.HOURS is null) AND (X_TEST_EXPIRATION_HOURS is null)))
606 AND ((recinfo.MINUTES = X_TEST_EXPIRATION_MINUTES)
607 OR ((recinfo.MINUTES is null) AND (X_TEST_EXPIRATION_MINUTES is null)))
608 AND ((recinfo.SECONDS = X_TEST_EXPIRATION_SECONDS)
609 OR ((recinfo.SECONDS is null) AND (X_TEST_EXPIRATION_SECONDS is null)) )*/
610 AND ((recinfo.CALC_UOM_CONV_IND = X_CALC_UOM_CONV_IND)
611 OR ((recinfo.CALC_UOM_CONV_IND is null) AND (X_CALC_UOM_CONV_IND is null)))
612 AND ((recinfo.TO_QTY_UOM = X_TO_QTY_UOM)
613 OR ((recinfo.TO_QTY_UOM is null) AND (X_TO_QTY_UOM is null)))
614
615 ) then
616 null;
617 else
618 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
619 app_exception.raise_exception;
620 end if;
621
622 for tlinfo in c1 loop
623 if (tlinfo.BASELANG = 'Y') then
624 if ( ((tlinfo.TEST_DISPLAY = X_TEST_DISPLAY)
625 OR ((tlinfo.TEST_DISPLAY is null) AND (X_TEST_DISPLAY is null)))
626 ) then
627 null;
628 else
629 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
630 app_exception.raise_exception;
631 end if;
632 end if;
633 end loop;
634 return;
635 end LOCK_ROW;
636
637
638 procedure UPDATE_ROW (
639 X_SPEC_ID in NUMBER,
640 X_TEST_ID in NUMBER,
641 X_ATTRIBUTE1 in VARCHAR2,
642 X_ATTRIBUTE2 in VARCHAR2,
643 X_MIN_VALUE_CHAR in VARCHAR2,
644 X_TEST_METHOD_ID in NUMBER,
645 X_SEQ in NUMBER,
646 X_FROM_BASE_IND in VARCHAR2,
647 X_EXCLUDE_IND in VARCHAR2,
648 X_MODIFIED_IND in VARCHAR2,
649 X_TEST_QTY in NUMBER,
650 X_TEST_QTY_UOM in VARCHAR2,
651 X_MIN_VALUE_NUM in NUMBER,
652 X_TARGET_VALUE_NUM in NUMBER,
653 X_MAX_VALUE_NUM in NUMBER,
654 X_ATTRIBUTE5 in VARCHAR2,
655 X_ATTRIBUTE6 in VARCHAR2,
656 X_ATTRIBUTE7 in VARCHAR2,
657 X_ATTRIBUTE8 in VARCHAR2,
658 X_ATTRIBUTE9 in VARCHAR2,
659 X_ATTRIBUTE10 in VARCHAR2,
660 X_ATTRIBUTE11 in VARCHAR2,
661 X_ATTRIBUTE12 in VARCHAR2,
662 X_ATTRIBUTE13 in VARCHAR2,
663 X_ATTRIBUTE14 in VARCHAR2,
664 X_ATTRIBUTE15 in VARCHAR2,
665 X_ATTRIBUTE16 in VARCHAR2,
666 X_ATTRIBUTE17 in VARCHAR2,
667 X_ATTRIBUTE18 in VARCHAR2,
668 X_USE_TO_CONTROL_STEP in VARCHAR2,
669 X_PRINT_SPEC_IND in VARCHAR2,
670 X_PRINT_RESULT_IND in VARCHAR2,
671 X_TEXT_CODE in NUMBER,
672 X_ATTRIBUTE_CATEGORY in VARCHAR2,
673 X_ATTRIBUTE3 in VARCHAR2,
674 X_RETEST_LOT_EXPIRY_IND in VARCHAR2,
675 X_ATTRIBUTE19 in VARCHAR2,
676 X_ATTRIBUTE20 in VARCHAR2,
677 X_MAX_VALUE_CHAR in VARCHAR2,
678 X_TEST_REPLICATE in NUMBER,
679 X_CHECK_RESULT_INTERVAL in NUMBER,
680 X_OUT_OF_SPEC_ACTION in VARCHAR2,
681 X_EXP_ERROR_TYPE in VARCHAR2,
682 X_BELOW_SPEC_MIN in NUMBER,
683 X_ABOVE_SPEC_MIN in NUMBER,
684 X_BELOW_SPEC_MAX in NUMBER,
685 X_ABOVE_SPEC_MAX in NUMBER,
686 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
687 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
688 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
689 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
690 X_OPTIONAL_IND in VARCHAR2,
691 X_DISPLAY_PRECISION in NUMBER,
692 X_REPORT_PRECISION in NUMBER,
693 X_TEST_PRIORITY in VARCHAR2,
694 X_PRINT_ON_COA_IND in VARCHAR2,
695 X_TARGET_VALUE_CHAR in VARCHAR2,
696 X_ATTRIBUTE4 in VARCHAR2,
697 X_ATTRIBUTE21 in VARCHAR2,
698 X_ATTRIBUTE22 in VARCHAR2,
699 X_ATTRIBUTE23 in VARCHAR2,
700 X_ATTRIBUTE24 in VARCHAR2,
701 X_ATTRIBUTE25 in VARCHAR2,
702 X_ATTRIBUTE26 in VARCHAR2,
703 X_ATTRIBUTE27 in VARCHAR2,
704 X_ATTRIBUTE28 in VARCHAR2,
705 X_ATTRIBUTE29 in VARCHAR2,
706 X_ATTRIBUTE30 in VARCHAR2,
707 X_TEST_DISPLAY in VARCHAR2,
708 X_LAST_UPDATE_DATE in DATE,
709 X_LAST_UPDATED_BY in NUMBER,
710 X_LAST_UPDATE_LOGIN in NUMBER,
711 X_VIABILITY_DURATION in number,
712 X_TEST_EXPIRATION_DAYS in number,
713 X_TEST_EXPIRATION_HOURS in number,
714 X_TEST_EXPIRATION_MINUTES in number,
715 X_TEST_EXPIRATION_SECONDS in number,
716 X_CALC_UOM_CONV_IND in VARCHAR2,
717 X_TO_QTY_UOM in VARCHAR2
718 ) is
719 begin
720 update GMD_SPEC_TESTS_B set
721 ATTRIBUTE1 = X_ATTRIBUTE1,
722 ATTRIBUTE2 = X_ATTRIBUTE2,
723 MIN_VALUE_CHAR = X_MIN_VALUE_CHAR,
724 TEST_METHOD_ID = X_TEST_METHOD_ID,
725 SEQ = X_SEQ,
726 FROM_BASE_IND = X_FROM_BASE_IND,
727 EXCLUDE_IND = X_EXCLUDE_IND,
728 MODIFIED_IND = X_MODIFIED_IND,
729 TEST_QTY = X_TEST_QTY,
730 TEST_QTY_UOM = X_TEST_QTY_UOM,
731 MIN_VALUE_NUM = X_MIN_VALUE_NUM,
732 TARGET_VALUE_NUM = X_TARGET_VALUE_NUM,
733 MAX_VALUE_NUM = X_MAX_VALUE_NUM,
734 ATTRIBUTE5 = X_ATTRIBUTE5,
735 ATTRIBUTE6 = X_ATTRIBUTE6,
736 ATTRIBUTE7 = X_ATTRIBUTE7,
737 ATTRIBUTE8 = X_ATTRIBUTE8,
738 ATTRIBUTE9 = X_ATTRIBUTE9,
739 ATTRIBUTE10 = X_ATTRIBUTE10,
740 ATTRIBUTE11 = X_ATTRIBUTE11,
741 ATTRIBUTE12 = X_ATTRIBUTE12,
742 ATTRIBUTE13 = X_ATTRIBUTE13,
743 ATTRIBUTE14 = X_ATTRIBUTE14,
744 ATTRIBUTE15 = X_ATTRIBUTE15,
745 ATTRIBUTE16 = X_ATTRIBUTE16,
746 ATTRIBUTE17 = X_ATTRIBUTE17,
747 ATTRIBUTE18 = X_ATTRIBUTE18,
748 USE_TO_CONTROL_STEP = X_USE_TO_CONTROL_STEP,
749 PRINT_SPEC_IND = X_PRINT_SPEC_IND,
750 PRINT_RESULT_IND = X_PRINT_RESULT_IND,
751 TEXT_CODE = X_TEXT_CODE,
752 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
753 ATTRIBUTE3 = X_ATTRIBUTE3,
754 RETEST_LOT_EXPIRY_IND = X_RETEST_LOT_EXPIRY_IND,
755 ATTRIBUTE19 = X_ATTRIBUTE19,
756 ATTRIBUTE20 = X_ATTRIBUTE20,
757 MAX_VALUE_CHAR = X_MAX_VALUE_CHAR,
758 TEST_REPLICATE = X_TEST_REPLICATE,
759 CHECK_RESULT_INTERVAL = X_CHECK_RESULT_INTERVAL,
760 OUT_OF_SPEC_ACTION = X_OUT_OF_SPEC_ACTION,
761 EXP_ERROR_TYPE = X_EXP_ERROR_TYPE,
762 BELOW_SPEC_MIN = X_BELOW_SPEC_MIN,
763 ABOVE_SPEC_MIN = X_ABOVE_SPEC_MIN,
764 BELOW_SPEC_MAX = X_BELOW_SPEC_MAX,
765 ABOVE_SPEC_MAX = X_ABOVE_SPEC_MAX,
766 BELOW_MIN_ACTION_CODE = X_BELOW_MIN_ACTION_CODE,
767 ABOVE_MIN_ACTION_CODE = X_ABOVE_MIN_ACTION_CODE,
768 BELOW_MAX_ACTION_CODE = X_BELOW_MAX_ACTION_CODE,
769 ABOVE_MAX_ACTION_CODE = X_ABOVE_MAX_ACTION_CODE,
770 OPTIONAL_IND = X_OPTIONAL_IND,
771 DISPLAY_PRECISION = X_DISPLAY_PRECISION,
772 REPORT_PRECISION = X_REPORT_PRECISION,
773 TEST_PRIORITY = X_TEST_PRIORITY,
774 PRINT_ON_COA_IND = X_PRINT_ON_COA_IND,
775 TARGET_VALUE_CHAR = X_TARGET_VALUE_CHAR,
776 ATTRIBUTE4 = X_ATTRIBUTE4,
777 ATTRIBUTE21 = X_ATTRIBUTE21,
778 ATTRIBUTE22 = X_ATTRIBUTE22,
779 ATTRIBUTE23 = X_ATTRIBUTE23,
780 ATTRIBUTE24 = X_ATTRIBUTE24,
781 ATTRIBUTE25 = X_ATTRIBUTE25,
782 ATTRIBUTE26 = X_ATTRIBUTE26,
783 ATTRIBUTE27 = X_ATTRIBUTE27,
784 ATTRIBUTE28 = X_ATTRIBUTE28,
785 ATTRIBUTE29 = X_ATTRIBUTE29,
786 ATTRIBUTE30 = X_ATTRIBUTE30,
787 LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
788 LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
789 LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
790 VIABILITY_DURATION = X_VIABILITY_DURATION ,
791 DAYS = X_TEST_EXPIRATION_DAYS ,
792 HOURS = X_TEST_EXPIRATION_HOURS ,
793 MINUTES = X_TEST_EXPIRATION_MINUTES ,
794 SECONDS = X_TEST_EXPIRATION_SECONDS ,
795 CALC_UOM_CONV_IND = X_CALC_UOM_CONV_IND ,
796 TO_QTY_UOM = X_TO_QTY_UOM
797 where SPEC_ID = X_SPEC_ID
798 and TEST_ID = X_TEST_ID;
799
800 if (sql%notfound) then
801 raise no_data_found;
802 end if;
803
804 update GMD_SPEC_TESTS_TL set
805 TEST_DISPLAY = X_TEST_DISPLAY,
806 LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
807 LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
808 LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
809 SOURCE_LANG = userenv('LANG')
810 where SPEC_ID = X_SPEC_ID
811 and TEST_ID = X_TEST_ID
812 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
813
814 if (sql%notfound) then
815 raise no_data_found;
816 end if;
817 end UPDATE_ROW;
818
819 FUNCTION DELETE_ROW (
820 P_SPEC_ID in NUMBER,
821 P_TEST_ID in NUMBER
822 ) RETURN BOOLEAN IS
823 begin
824 IF p_spec_id IS NOT NULL and p_test_id IS NOT NULL THEN
825 delete from GMD_SPEC_TESTS_TL
826 where SPEC_ID = P_SPEC_ID
827 and TEST_ID = P_TEST_ID;
828
829 if (sql%notfound) then
830 raise no_data_found;
831 end if;
832
833 delete from GMD_SPEC_TESTS_B
834 where SPEC_ID = P_SPEC_ID
835 and TEST_ID = P_TEST_ID;
836
837 if (sql%notfound) then
838 raise no_data_found;
839 end if;
840 ELSE
841 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_TESTS');
842 RETURN FALSE;
843 END IF;
844
845 RETURN TRUE;
846
847 EXCEPTION
848 WHEN NO_DATA_FOUND
849 THEN
850 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SPEC_TESTS');
851 RETURN FALSE;
852 WHEN OTHERS
853 THEN
854 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SPEC_TESTS_PVT.DELETE_ROW','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
855 RETURN FALSE;
856 end DELETE_ROW;
857
858
859 procedure ADD_LANGUAGE
860 is
861 begin
862 delete from GMD_SPEC_TESTS_TL T
863 where not exists
864 (select NULL
865 from GMD_SPEC_TESTS_B B
866 where B.SPEC_ID = T.SPEC_ID
867 and B.TEST_ID = T.TEST_ID
868 );
869
870 update GMD_SPEC_TESTS_TL T set (
871 TEST_DISPLAY
872 ) = (select
873 B.TEST_DISPLAY
874 from GMD_SPEC_TESTS_TL B
875 where B.SPEC_ID = T.SPEC_ID
876 and B.TEST_ID = T.TEST_ID
877 and B.LANGUAGE = T.SOURCE_LANG)
878 where (
879 T.SPEC_ID,
880 T.TEST_ID,
881 T.LANGUAGE
882 ) in (select
883 SUBT.SPEC_ID,
884 SUBT.TEST_ID,
885 SUBT.LANGUAGE
886 from GMD_SPEC_TESTS_TL SUBB, GMD_SPEC_TESTS_TL SUBT
887 where SUBB.SPEC_ID = SUBT.SPEC_ID
888 and SUBB.TEST_ID = SUBT.TEST_ID
889 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
890 and (SUBB.TEST_DISPLAY <> SUBT.TEST_DISPLAY
891 or (SUBB.TEST_DISPLAY is null and SUBT.TEST_DISPLAY is not null)
892 or (SUBB.TEST_DISPLAY is not null and SUBT.TEST_DISPLAY is null)
893 ));
894
895 insert into GMD_SPEC_TESTS_TL (
896 CREATED_BY,
897 LAST_UPDATED_BY,
898 LAST_UPDATE_DATE,
899 LAST_UPDATE_LOGIN,
900 SPEC_ID,
901 TEST_ID,
902 TEST_DISPLAY,
903 CREATION_DATE,
904 LANGUAGE,
905 SOURCE_LANG
906 ) select
907 B.CREATED_BY,
908 B.LAST_UPDATED_BY,
909 B.LAST_UPDATE_DATE,
910 B.LAST_UPDATE_LOGIN,
911 B.SPEC_ID,
912 B.TEST_ID,
913 B.TEST_DISPLAY,
914 B.CREATION_DATE,
915 L.LANGUAGE_CODE,
916 B.SOURCE_LANG
917 from GMD_SPEC_TESTS_TL B, FND_LANGUAGES L
918 where L.INSTALLED_FLAG in ('I', 'B')
919 and B.LANGUAGE = userenv('LANG')
920 and not exists
921 (select NULL
922 from GMD_SPEC_TESTS_TL T
923 where T.SPEC_ID = B.SPEC_ID
924 and T.TEST_ID = B.TEST_ID
925 and T.LANGUAGE = L.LANGUAGE_CODE);
926 end ADD_LANGUAGE;
927
928 FUNCTION fetch_row (
929 p_spec_tests IN gmd_spec_tests%ROWTYPE
930 , x_spec_tests OUT NOCOPY gmd_spec_tests%ROWTYPE
931 )
932 RETURN BOOLEAN
933 IS
934 BEGIN
935 IF (p_spec_tests.spec_id IS NOT NULL) and (p_spec_tests.spec_id IS NOT NULL) THEN
936 SELECT *
937 INTO x_spec_tests
938 FROM gmd_spec_tests
939 WHERE spec_id = p_spec_tests.spec_id and test_id = p_spec_tests.test_id;
940 ELSE
941 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_TESTS');
942 RETURN FALSE;
943 END IF;
944 RETURN TRUE;
945
946 EXCEPTION
947 WHEN NO_DATA_FOUND
948 THEN
949 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SPEC_TESTS');
950 RETURN FALSE;
951 WHEN OTHERS
952 THEN
953 fnd_msg_pub.add_exc_msg ('GMD_SPEC_TESTS_PVT', 'FETCH_ROW');
954 RETURN FALSE;
955
956 END fetch_row;
957
958 FUNCTION lock_row (
959 p_spec_id IN NUMBER ,
960 p_test_id IN NUMBER
961 )
962 RETURN BOOLEAN
963 IS
964 dummy NUMBER;
965 BEGIN
966
967 IF (p_spec_id IS NOT NULL) and (p_test_id is NOT NULL) THEN
968 SELECT spec_id
969 INTO dummy
970 FROM gmd_spec_tests_b
971 WHERE spec_id = p_spec_id
972 AND test_id = p_test_id
973 FOR UPDATE OF spec_id NOWAIT ;
974 ELSE
975 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SPEC_TESTS');
976 RETURN FALSE;
977 END IF;
978
979 RETURN TRUE;
980
981 EXCEPTION
982 WHEN NO_DATA_FOUND
983 THEN
984 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SPEC_TESTS');
985 RETURN FALSE;
986 WHEN OTHERS
987 THEN
988 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SPEC_TESTS_PVT.LOCK_ROW','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
989 RETURN FALSE;
990 END lock_row;
991
992 FUNCTION INSERT_ROW(p_spec_tests IN OUT NOCOPY GMD_SPEC_TESTS%ROWTYPE)
993 RETURN BOOLEAN IS
994 l_rowid ROWID ;
995 BEGIN
996
997 GMD_SPEC_TESTS_PVT.INSERT_ROW(
998 X_ROWID => l_rowid,
999 X_SPEC_ID => p_spec_tests.spec_id,
1000 X_TEST_ID => p_spec_tests.test_id,
1001 X_TEST_METHOD_ID => p_spec_tests.test_method_id,
1002 X_MIN_VALUE_CHAR => p_spec_tests.min_value_char,
1003 X_MAX_VALUE_CHAR => p_spec_tests.max_value_char,
1004 X_SEQ => p_spec_tests.seq,
1005 X_FROM_BASE_IND => p_spec_tests.from_base_ind,
1006 X_EXCLUDE_IND => p_spec_tests.exclude_ind,
1007 X_MODIFIED_IND => p_spec_tests.modified_ind,
1008 X_TEST_QTY => p_spec_tests.test_qty,
1009 X_TEST_QTY_UOM => p_spec_tests.TEST_QTY_UOM,
1010 X_MIN_VALUE_NUM => p_spec_tests.min_value_num,
1011 X_MAX_VALUE_NUM => p_spec_tests.max_value_num,
1012 X_TARGET_VALUE_NUM => p_spec_tests.target_value_num,
1013 X_USE_TO_CONTROL_STEP => p_spec_tests.use_to_control_step,
1014 X_PRINT_SPEC_IND => p_spec_tests.print_spec_ind,
1015 X_PRINT_RESULT_IND => p_spec_tests.print_result_ind,
1016 X_RETEST_LOT_EXPIRY_IND => p_spec_tests.retest_lot_expiry_ind,
1017 X_TEST_REPLICATE => p_spec_tests.test_replicate,
1018 X_CHECK_RESULT_INTERVAL => p_spec_tests.check_result_interval,
1019 X_OUT_OF_SPEC_ACTION => p_spec_tests.out_of_spec_action,
1020 X_EXP_ERROR_TYPE => p_spec_tests.exp_error_type,
1021 X_BELOW_SPEC_MIN => p_spec_tests.below_spec_min,
1022 X_ABOVE_SPEC_MIN => p_spec_tests.above_spec_min,
1023 X_BELOW_SPEC_MAX => p_spec_tests.below_spec_max,
1024 X_ABOVE_SPEC_MAX => p_spec_tests.above_spec_max,
1025 X_BELOW_MIN_ACTION_CODE => p_spec_tests.below_min_action_code,
1026 X_ABOVE_MIN_ACTION_CODE => p_spec_tests.above_min_action_code,
1027 X_BELOW_MAX_ACTION_CODE => p_spec_tests.below_max_action_code,
1028 X_ABOVE_MAX_ACTION_CODE => p_spec_tests.above_max_action_code,
1029 X_OPTIONAL_IND => p_spec_tests.optional_ind,
1030 X_DISPLAY_PRECISION => p_spec_tests.display_precision,
1031 X_REPORT_PRECISION => p_spec_tests.report_precision,
1032 X_TEST_PRIORITY => p_spec_tests.test_priority,
1033 X_PRINT_ON_COA_IND => p_spec_tests.print_on_coa_ind,
1034 X_TARGET_VALUE_CHAR => p_spec_tests.target_value_char,
1035 X_TEST_DISPLAY => p_spec_tests.test_display,
1036 X_TEXT_CODE => p_spec_tests.TEXT_CODE,
1037 X_ATTRIBUTE_CATEGORY => p_spec_tests.ATTRIBUTE_CATEGORY,
1038 X_ATTRIBUTE1 => p_spec_tests.ATTRIBUTE1,
1039 X_ATTRIBUTE2 => p_spec_tests.ATTRIBUTE2,
1040 X_ATTRIBUTE3 => p_spec_tests.ATTRIBUTE3,
1041 X_ATTRIBUTE4 => p_spec_tests.ATTRIBUTE4,
1042 X_ATTRIBUTE5 => p_spec_tests.ATTRIBUTE5,
1043 X_ATTRIBUTE6 => p_spec_tests.ATTRIBUTE6,
1044 X_ATTRIBUTE7 => p_spec_tests.ATTRIBUTE7,
1045 X_ATTRIBUTE8 => p_spec_tests.ATTRIBUTE8,
1046 X_ATTRIBUTE9 => p_spec_tests.ATTRIBUTE9,
1047 X_ATTRIBUTE10 => p_spec_tests.ATTRIBUTE10,
1048 X_ATTRIBUTE11 => p_spec_tests.ATTRIBUTE11,
1049 X_ATTRIBUTE12 => p_spec_tests.ATTRIBUTE12,
1050 X_ATTRIBUTE13 => p_spec_tests.ATTRIBUTE13,
1051 X_ATTRIBUTE14 => p_spec_tests.ATTRIBUTE14,
1052 X_ATTRIBUTE15 => p_spec_tests.ATTRIBUTE15,
1053 X_ATTRIBUTE16 => p_spec_tests.ATTRIBUTE16,
1054 X_ATTRIBUTE17 => p_spec_tests.ATTRIBUTE17,
1055 X_ATTRIBUTE18 => p_spec_tests.ATTRIBUTE18,
1056 X_ATTRIBUTE19 => p_spec_tests.ATTRIBUTE19,
1057 X_ATTRIBUTE20 => p_spec_tests.ATTRIBUTE20,
1058 X_ATTRIBUTE21 => p_spec_tests.ATTRIBUTE21,
1059 X_ATTRIBUTE22 => p_spec_tests.ATTRIBUTE22,
1060 X_ATTRIBUTE23 => p_spec_tests.ATTRIBUTE23,
1061 X_ATTRIBUTE24 => p_spec_tests.ATTRIBUTE24,
1062 X_ATTRIBUTE25 => p_spec_tests.ATTRIBUTE25,
1063 X_ATTRIBUTE26 => p_spec_tests.ATTRIBUTE26,
1064 X_ATTRIBUTE27 => p_spec_tests.ATTRIBUTE27,
1065 X_ATTRIBUTE28 => p_spec_tests.ATTRIBUTE28,
1066 X_ATTRIBUTE29 => p_spec_tests.ATTRIBUTE29,
1067 X_ATTRIBUTE30 => p_spec_tests.ATTRIBUTE30,
1068 X_CREATION_DATE => p_spec_tests.CREATION_DATE,
1069 X_CREATED_BY => p_spec_tests.CREATED_BY,
1070 X_LAST_UPDATE_DATE => p_spec_tests.LAST_UPDATE_DATE,
1071 X_LAST_UPDATED_BY => p_spec_tests.LAST_UPDATED_BY,
1072 X_LAST_UPDATE_LOGIN => p_spec_tests.LAST_UPDATE_LOGIN,
1073 X_VIABILITY_DURATION => p_spec_tests.VIABILITY_DURATION ,
1074 X_TEST_EXPIRATION_DAYS => p_spec_tests.DAYS ,
1075 X_TEST_EXPIRATION_HOURS => p_spec_tests.HOURS ,
1076 X_TEST_EXPIRATION_MINUTES => p_spec_tests.MINUTES ,
1077 X_TEST_EXPIRATION_SECONDS => p_spec_tests.SECONDS ,
1078 X_CALC_UOM_CONV_IND => p_spec_tests.CALC_UOM_CONV_IND ,
1079 X_TO_QTY_UOM => p_spec_tests.TO_QTY_UOM
1080 );
1081
1082 return TRUE;
1083
1084 EXCEPTION WHEN OTHERS THEN
1085 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_QC_TESTS_PVT.INSERT_ROW','ERROR',
1086 SUBSTR(SQLERRM,1,100),'POSITION','010');
1087 RETURN FALSE;
1088
1089 END INSERT_ROW;
1090 end GMD_SPEC_TESTS_PVT;