[Home] [Help]
PACKAGE BODY: APPS.GMD_QC_TESTS_PVT
Source
1 PACKAGE BODY gmd_qc_tests_pvt AS
2 /* $Header: GMDVTSTB.pls 115.8 2004/05/05 09:47:18 rboddu noship $ */
3 PROCEDURE insert_row (
4 X_ROWID in out NOCOPY ROWID,
5 X_TEST_ID in out NOCOPY NUMBER,
6 X_TEST_OPRN_LINE_ID in NUMBER,
7 X_TEST_PROVIDER_CODE in VARCHAR2,
8 X_DELETE_MARK in NUMBER,
9 X_TEXT_CODE in NUMBER,
10 X_ATTRIBUTE_CATEGORY in VARCHAR2,
11 X_ATTRIBUTE1 in VARCHAR2,
12 X_ATTRIBUTE2 in VARCHAR2,
13 X_ATTRIBUTE3 in VARCHAR2,
14 X_ATTRIBUTE4 in VARCHAR2,
15 X_ATTRIBUTE5 in VARCHAR2,
16 X_ATTRIBUTE6 in VARCHAR2,
17 X_ATTRIBUTE7 in VARCHAR2,
18 X_ATTRIBUTE8 in VARCHAR2,
19 X_ATTRIBUTE9 in VARCHAR2,
20 X_ATTRIBUTE10 in VARCHAR2,
21 X_ATTRIBUTE11 in VARCHAR2,
22 X_ATTRIBUTE12 in VARCHAR2,
23 X_ATTRIBUTE13 in VARCHAR2,
24 X_ATTRIBUTE14 in VARCHAR2,
25 X_ATTRIBUTE15 in VARCHAR2,
26 X_ATTRIBUTE16 in VARCHAR2,
27 X_ATTRIBUTE17 in VARCHAR2,
28 X_ATTRIBUTE18 in VARCHAR2,
29 X_ATTRIBUTE19 in VARCHAR2,
30 X_ATTRIBUTE20 in VARCHAR2,
31 X_ATTRIBUTE21 in VARCHAR2,
32 X_ATTRIBUTE22 in VARCHAR2,
33 X_ATTRIBUTE23 in VARCHAR2,
34 X_ATTRIBUTE24 in VARCHAR2,
35 X_ATTRIBUTE25 in VARCHAR2,
36 X_ATTRIBUTE26 in VARCHAR2,
37 X_ATTRIBUTE27 in VARCHAR2,
38 X_ATTRIBUTE28 in VARCHAR2,
39 X_ATTRIBUTE29 in VARCHAR2,
40 X_ATTRIBUTE30 in VARCHAR2,
41 X_TEST_CODE in VARCHAR2,
42 X_TEST_METHOD_ID in NUMBER,
43 X_TEST_CLASS in VARCHAR2,
44 X_TEST_TYPE in VARCHAR2,
45 X_TEST_UNIT in VARCHAR2,
46 X_MIN_VALUE_NUM in NUMBER,
47 X_MAX_VALUE_NUM in NUMBER,
48 X_EXP_ERROR_TYPE in VARCHAR2,
49 X_BELOW_SPEC_MIN in NUMBER,
50 X_ABOVE_SPEC_MIN in NUMBER,
51 X_BELOW_SPEC_MAX in NUMBER,
52 X_ABOVE_SPEC_MAX in NUMBER,
53 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
54 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
55 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
56 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
57 X_EXPRESSION in VARCHAR2,
58 X_DISPLAY_PRECISION in NUMBER,
59 X_REPORT_PRECISION in NUMBER,
60 X_PRIORITY in VARCHAR2,
61 X_TEST_OPRN_ID in NUMBER,
62 X_TEST_DESC in VARCHAR2,
63 X_CREATION_DATE in DATE,
64 X_CREATED_BY in NUMBER,
65 X_LAST_UPDATE_DATE in DATE,
66 X_LAST_UPDATED_BY in NUMBER,
67 X_LAST_UPDATE_LOGIN in NUMBER,
68 X_TEST_GROUP_ORDER IN NUMBER
69 ) is
70 CURSOR C IS SELECT ROWID FROM gmd_qc_tests_b
71 WHERE TEST_ID = X_TEST_ID
72 ;
73
74 BEGIN
75
76 IF X_TEST_ID IS NULL THEN
77 SELECT GMD_QC_TEST_ID_S.NEXTVAL INTO X_TEST_ID FROM DUAL;
78 END IF;
79
80 insert into GMD_QC_TESTS_B (
81 TEST_OPRN_LINE_ID,
82 TEST_PROVIDER_CODE,
83 DELETE_MARK,
84 TEXT_CODE,
85 ATTRIBUTE_CATEGORY,
86 ATTRIBUTE1,
87 ATTRIBUTE2,
88 ATTRIBUTE3,
89 ATTRIBUTE4,
90 ATTRIBUTE5,
91 ATTRIBUTE6,
92 ATTRIBUTE7,
93 ATTRIBUTE8,
94 ATTRIBUTE9,
95 ATTRIBUTE10,
96 ATTRIBUTE11,
97 ATTRIBUTE12,
98 ATTRIBUTE13,
99 ATTRIBUTE14,
100 ATTRIBUTE15,
101 ATTRIBUTE16,
102 ATTRIBUTE17,
103 ATTRIBUTE18,
104 ATTRIBUTE19,
105 ATTRIBUTE20,
106 ATTRIBUTE21,
107 ATTRIBUTE22,
108 ATTRIBUTE23,
109 ATTRIBUTE24,
110 ATTRIBUTE25,
111 ATTRIBUTE26,
112 ATTRIBUTE27,
113 ATTRIBUTE28,
114 ATTRIBUTE29,
115 ATTRIBUTE30,
116 TEST_ID,
117 TEST_CODE,
118 TEST_METHOD_ID,
119 TEST_CLASS,
120 TEST_TYPE,
121 TEST_UNIT,
122 MIN_VALUE_NUM,
123 MAX_VALUE_NUM,
124 EXP_ERROR_TYPE,
125 BELOW_SPEC_MIN,
126 ABOVE_SPEC_MIN,
127 BELOW_SPEC_MAX,
128 ABOVE_SPEC_MAX,
129 BELOW_MIN_ACTION_CODE,
130 ABOVE_MIN_ACTION_CODE,
131 BELOW_MAX_ACTION_CODE,
132 ABOVE_MAX_ACTION_CODE,
133 EXPRESSION,
134 DISPLAY_PRECISION,
135 REPORT_PRECISION,
136 PRIORITY,
137 TEST_OPRN_ID,
138 CREATION_DATE,
139 CREATED_BY,
140 LAST_UPDATE_DATE,
141 LAST_UPDATED_BY,
142 LAST_UPDATE_LOGIN,
143 TEST_GROUP_ORDER
144 ) values (
145 X_TEST_OPRN_LINE_ID,
146 X_TEST_PROVIDER_CODE,
147 X_DELETE_MARK,
148 X_TEXT_CODE,
149 X_ATTRIBUTE_CATEGORY,
150 X_ATTRIBUTE1,
151 X_ATTRIBUTE2,
152 X_ATTRIBUTE3,
153 X_ATTRIBUTE4,
154 X_ATTRIBUTE5,
155 X_ATTRIBUTE6,
156 X_ATTRIBUTE7,
157 X_ATTRIBUTE8,
158 X_ATTRIBUTE9,
159 X_ATTRIBUTE10,
160 X_ATTRIBUTE11,
161 X_ATTRIBUTE12,
162 X_ATTRIBUTE13,
163 X_ATTRIBUTE14,
164 X_ATTRIBUTE15,
165 X_ATTRIBUTE16,
166 X_ATTRIBUTE17,
167 X_ATTRIBUTE18,
168 X_ATTRIBUTE19,
169 X_ATTRIBUTE20,
170 X_ATTRIBUTE21,
171 X_ATTRIBUTE22,
172 X_ATTRIBUTE23,
173 X_ATTRIBUTE24,
174 X_ATTRIBUTE25,
175 X_ATTRIBUTE26,
176 X_ATTRIBUTE27,
177 X_ATTRIBUTE28,
178 X_ATTRIBUTE29,
179 X_ATTRIBUTE30,
180 X_TEST_ID,
181 X_TEST_CODE,
182 X_TEST_METHOD_ID,
183 X_TEST_CLASS,
184 X_TEST_TYPE,
185 X_TEST_UNIT,
186 X_MIN_VALUE_NUM,
187 X_MAX_VALUE_NUM,
188 X_EXP_ERROR_TYPE,
189 X_BELOW_SPEC_MIN,
190 X_ABOVE_SPEC_MIN,
191 X_BELOW_SPEC_MAX,
192 X_ABOVE_SPEC_MAX,
193 X_BELOW_MIN_ACTION_CODE,
194 X_ABOVE_MIN_ACTION_CODE,
195 X_BELOW_MAX_ACTION_CODE,
196 X_ABOVE_MAX_ACTION_CODE,
197 X_EXPRESSION,
198 X_DISPLAY_PRECISION,
199 X_REPORT_PRECISION,
200 X_PRIORITY,
201 X_TEST_OPRN_ID,
202 NVL(X_CREATION_DATE,SYSDATE),
203 NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
204 NVL(X_LAST_UPDATE_DATE,SYSDATE),
205 NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
206 NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
207 X_TEST_GROUP_ORDER
208 );
209
210 insert into GMD_QC_TESTS_TL (
211 TEST_ID,
212 TEST_DESC,
213 CREATION_DATE,
214 CREATED_BY,
215 LAST_UPDATED_BY,
216 LAST_UPDATE_DATE,
217 LAST_UPDATE_LOGIN,
218 LANGUAGE,
219 SOURCE_LANG
220 ) select
221 X_TEST_ID,
222 X_TEST_DESC,
223 NVL(X_CREATION_DATE,SYSDATE),
224 NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
225 NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
226 NVL(X_LAST_UPDATE_DATE,SYSDATE),
227 NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
228 L.LANGUAGE_CODE,
229 userenv('LANG')
230 from FND_LANGUAGES L
231 where L.INSTALLED_FLAG in ('I', 'B')
232 and not exists
233 (select NULL
234 from GMD_QC_TESTS_TL T
235 where T.TEST_ID = X_TEST_ID
236 and T.LANGUAGE = L.LANGUAGE_CODE);
237
238 open c;
239 fetch c into X_ROWID;
240 if (c%notfound) then
241 close c;
242 raise no_data_found;
243 end if;
244 close c;
245
246 end INSERT_ROW;
247
248 FUNCTION INSERT_ROW(p_qc_tests_rec IN OUT NOCOPY GMD_QC_TESTS%ROWTYPE)
249 RETURN BOOLEAN IS
250 l_rowid ROWID ;
251 BEGIN
252
253 GMD_QC_TESTS_PVT.INSERT_ROW(
254 X_ROWID => l_rowid,
255 X_TEST_ID => p_qc_tests_rec.TEST_ID,
256 X_TEST_OPRN_LINE_ID => p_qc_tests_rec.TEST_OPRN_LINE_ID,
257 X_TEST_PROVIDER_CODE => p_qc_tests_rec.TEST_PROVIDER_CODE,
258 X_DELETE_MARK => p_qc_tests_rec.DELETE_MARK,
259 X_TEXT_CODE => p_qc_tests_rec.TEXT_CODE,
260 X_ATTRIBUTE_CATEGORY => p_qc_tests_rec.ATTRIBUTE_CATEGORY,
261 X_ATTRIBUTE1 => p_qc_tests_rec.ATTRIBUTE1,
262 X_ATTRIBUTE2 => p_qc_tests_rec.ATTRIBUTE2,
263 X_ATTRIBUTE3 => p_qc_tests_rec.ATTRIBUTE3,
264 X_ATTRIBUTE4 => p_qc_tests_rec.ATTRIBUTE4,
265 X_ATTRIBUTE5 => p_qc_tests_rec.ATTRIBUTE5,
266 X_ATTRIBUTE6 => p_qc_tests_rec.ATTRIBUTE6,
267 X_ATTRIBUTE7 => p_qc_tests_rec.ATTRIBUTE7,
268 X_ATTRIBUTE8 => p_qc_tests_rec.ATTRIBUTE8,
269 X_ATTRIBUTE9 => p_qc_tests_rec.ATTRIBUTE9,
270 X_ATTRIBUTE10 => p_qc_tests_rec.ATTRIBUTE10,
271 X_ATTRIBUTE11 => p_qc_tests_rec.ATTRIBUTE11,
272 X_ATTRIBUTE12 => p_qc_tests_rec.ATTRIBUTE12,
273 X_ATTRIBUTE13 => p_qc_tests_rec.ATTRIBUTE13,
274 X_ATTRIBUTE14 => p_qc_tests_rec.ATTRIBUTE14,
275 X_ATTRIBUTE15 => p_qc_tests_rec.ATTRIBUTE15,
276 X_ATTRIBUTE16 => p_qc_tests_rec.ATTRIBUTE16,
277 X_ATTRIBUTE17 => p_qc_tests_rec.ATTRIBUTE17,
278 X_ATTRIBUTE18 => p_qc_tests_rec.ATTRIBUTE18,
279 X_ATTRIBUTE19 => p_qc_tests_rec.ATTRIBUTE19,
280 X_ATTRIBUTE20 => p_qc_tests_rec.ATTRIBUTE20,
281 X_ATTRIBUTE21 => p_qc_tests_rec.ATTRIBUTE21,
282 X_ATTRIBUTE22 => p_qc_tests_rec.ATTRIBUTE22,
283 X_ATTRIBUTE23 => p_qc_tests_rec.ATTRIBUTE23,
284 X_ATTRIBUTE24 => p_qc_tests_rec.ATTRIBUTE24,
285 X_ATTRIBUTE25 => p_qc_tests_rec.ATTRIBUTE25,
286 X_ATTRIBUTE26 => p_qc_tests_rec.ATTRIBUTE26,
287 X_ATTRIBUTE27 => p_qc_tests_rec.ATTRIBUTE27,
288 X_ATTRIBUTE28 => p_qc_tests_rec.ATTRIBUTE28,
289 X_ATTRIBUTE29 => p_qc_tests_rec.ATTRIBUTE29,
290 X_ATTRIBUTE30 => p_qc_tests_rec.ATTRIBUTE30,
291 X_TEST_CODE => p_qc_tests_rec.TEST_CODE,
292 X_TEST_METHOD_ID => p_qc_tests_rec.TEST_METHOD_ID,
293 X_TEST_CLASS => p_qc_tests_rec.TEST_CLASS,
294 X_TEST_TYPE => p_qc_tests_rec.TEST_TYPE,
295 X_TEST_UNIT => p_qc_tests_rec.TEST_UNIT,
296 X_MIN_VALUE_NUM => p_qc_tests_rec.MIN_VALUE_NUM,
297 X_MAX_VALUE_NUM => p_qc_tests_rec.MAX_VALUE_NUM,
298 X_EXP_ERROR_TYPE => p_qc_tests_rec.EXP_ERROR_TYPE,
299 X_BELOW_SPEC_MIN => p_qc_tests_rec.BELOW_SPEC_MIN,
300 X_ABOVE_SPEC_MIN => p_qc_tests_rec.ABOVE_SPEC_MIN,
301 X_BELOW_SPEC_MAX => p_qc_tests_rec.BELOW_SPEC_MAX,
302 X_ABOVE_SPEC_MAX => p_qc_tests_rec.ABOVE_SPEC_MAX,
303 X_BELOW_MIN_ACTION_CODE => p_qc_tests_rec.BELOW_MIN_ACTION_CODE,
304 X_ABOVE_MIN_ACTION_CODE => p_qc_tests_rec.ABOVE_MIN_ACTION_CODE,
305 X_BELOW_MAX_ACTION_CODE => p_qc_tests_rec.BELOW_MAX_ACTION_CODE,
306 X_ABOVE_MAX_ACTION_CODE => p_qc_tests_rec.ABOVE_MAX_ACTION_CODE,
307 X_EXPRESSION => p_qc_tests_rec.EXPRESSION,
308 X_DISPLAY_PRECISION => p_qc_tests_rec.DISPLAY_PRECISION,
309 X_REPORT_PRECISION => p_qc_tests_rec.REPORT_PRECISION,
310 X_PRIORITY => p_qc_tests_rec.PRIORITY,
311 X_TEST_OPRN_ID => p_qc_tests_rec.TEST_OPRN_ID,
312 X_TEST_DESC => p_qc_tests_rec.TEST_DESC,
313 X_CREATION_DATE => p_qc_tests_rec.CREATION_DATE,
314 X_CREATED_BY => p_qc_tests_rec.CREATED_BY,
315 X_LAST_UPDATE_DATE => p_qc_tests_rec.LAST_UPDATE_DATE,
316 X_LAST_UPDATED_BY => p_qc_tests_rec.LAST_UPDATED_BY,
317 X_LAST_UPDATE_LOGIN => p_qc_tests_rec.LAST_UPDATE_LOGIN,
318 X_TEST_GROUP_ORDER => p_qc_tests_rec.TEST_GROUP_ORDER);
319
320 return TRUE;
321
322 EXCEPTION WHEN OTHERS THEN
323 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_QC_TESTS_PVT.INSERT_ROW','ERROR',
324 SUBSTR(SQLERRM,1,100),'POSITION','010');
325 RETURN FALSE;
326
327 END INSERT_ROW;
328
329 procedure LOCK_ROW (
330 X_TEST_ID in NUMBER,
331 X_TEST_OPRN_LINE_ID in NUMBER,
332 X_TEST_PROVIDER_CODE in VARCHAR2,
333 X_DELETE_MARK in NUMBER,
334 X_TEXT_CODE in NUMBER,
335 X_ATTRIBUTE_CATEGORY in VARCHAR2,
336 X_ATTRIBUTE1 in VARCHAR2,
337 X_ATTRIBUTE2 in VARCHAR2,
338 X_ATTRIBUTE3 in VARCHAR2,
339 X_ATTRIBUTE4 in VARCHAR2,
340 X_ATTRIBUTE5 in VARCHAR2,
341 X_ATTRIBUTE6 in VARCHAR2,
342 X_ATTRIBUTE7 in VARCHAR2,
343 X_ATTRIBUTE8 in VARCHAR2,
344 X_ATTRIBUTE9 in VARCHAR2,
345 X_ATTRIBUTE10 in VARCHAR2,
346 X_ATTRIBUTE11 in VARCHAR2,
347 X_ATTRIBUTE12 in VARCHAR2,
348 X_ATTRIBUTE13 in VARCHAR2,
349 X_ATTRIBUTE14 in VARCHAR2,
350 X_ATTRIBUTE15 in VARCHAR2,
351 X_ATTRIBUTE16 in VARCHAR2,
352 X_ATTRIBUTE17 in VARCHAR2,
353 X_ATTRIBUTE18 in VARCHAR2,
354 X_ATTRIBUTE19 in VARCHAR2,
355 X_ATTRIBUTE20 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_CODE in VARCHAR2,
367 X_TEST_METHOD_ID in NUMBER,
368 X_TEST_CLASS in VARCHAR2,
369 X_TEST_TYPE in VARCHAR2,
370 X_TEST_UNIT in VARCHAR2,
371 X_MIN_VALUE_NUM in NUMBER,
372 X_MAX_VALUE_NUM in NUMBER,
373 X_EXP_ERROR_TYPE in VARCHAR2,
374 X_BELOW_SPEC_MIN in NUMBER,
375 X_ABOVE_SPEC_MIN in NUMBER,
376 X_BELOW_SPEC_MAX in NUMBER,
377 X_ABOVE_SPEC_MAX in NUMBER,
378 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
379 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
380 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
381 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
382 X_EXPRESSION in VARCHAR2,
383 X_DISPLAY_PRECISION in NUMBER,
384 X_REPORT_PRECISION in NUMBER,
385 X_PRIORITY in VARCHAR2,
386 X_TEST_OPRN_ID in NUMBER,
387 X_TEST_DESC in VARCHAR2,
388 X_TEST_GROUP_ORDER IN NUMBER
389 ) is
390 cursor c is select
391 TEST_OPRN_LINE_ID,
392 TEST_PROVIDER_CODE,
393 DELETE_MARK,
394 TEXT_CODE,
395 ATTRIBUTE_CATEGORY,
396 ATTRIBUTE1,
397 ATTRIBUTE2,
398 ATTRIBUTE3,
399 ATTRIBUTE4,
400 ATTRIBUTE5,
401 ATTRIBUTE6,
402 ATTRIBUTE7,
403 ATTRIBUTE8,
404 ATTRIBUTE9,
405 ATTRIBUTE10,
406 ATTRIBUTE11,
407 ATTRIBUTE12,
408 ATTRIBUTE13,
409 ATTRIBUTE14,
410 ATTRIBUTE15,
411 ATTRIBUTE16,
412 ATTRIBUTE17,
413 ATTRIBUTE18,
414 ATTRIBUTE19,
415 ATTRIBUTE20,
416 ATTRIBUTE21,
417 ATTRIBUTE22,
418 ATTRIBUTE23,
419 ATTRIBUTE24,
420 ATTRIBUTE25,
421 ATTRIBUTE26,
422 ATTRIBUTE27,
423 ATTRIBUTE28,
424 ATTRIBUTE29,
425 ATTRIBUTE30,
426 TEST_CODE,
427 TEST_METHOD_ID,
428 TEST_CLASS,
429 TEST_TYPE,
430 TEST_UNIT,
431 MIN_VALUE_NUM,
432 MAX_VALUE_NUM,
433 EXP_ERROR_TYPE,
434 BELOW_SPEC_MIN,
435 ABOVE_SPEC_MIN,
436 BELOW_SPEC_MAX,
437 ABOVE_SPEC_MAX,
438 BELOW_MIN_ACTION_CODE,
439 ABOVE_MIN_ACTION_CODE,
440 BELOW_MAX_ACTION_CODE,
441 ABOVE_MAX_ACTION_CODE,
442 EXPRESSION,
443 DISPLAY_PRECISION,
444 REPORT_PRECISION,
445 PRIORITY,
446 TEST_OPRN_ID,
447 TEST_GROUP_ORDER
448 from GMD_QC_TESTS_B
449 where TEST_ID = X_TEST_ID
450 for update of TEST_ID nowait;
451 recinfo c%rowtype;
452
453 cursor c1 is select
454 TEST_DESC,
455 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
456 from GMD_QC_TESTS_TL
457 where TEST_ID = X_TEST_ID
458 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
459 for update of TEST_ID nowait;
460 BEGIN
461 open c;
462 fetch c into recinfo;
463 if (c%notfound) then
464 close c;
465 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
466 app_exception.raise_exception;
467 end if;
468 close c;
469 if ( ((recinfo.TEST_OPRN_LINE_ID = X_TEST_OPRN_LINE_ID)
470 OR ((recinfo.TEST_OPRN_LINE_ID is null) AND (X_TEST_OPRN_LINE_ID is null)))
471 AND ((recinfo.TEST_PROVIDER_CODE = X_TEST_PROVIDER_CODE)
472 OR ((recinfo.TEST_PROVIDER_CODE is null) AND (X_TEST_PROVIDER_CODE is null)))
473 AND (recinfo.DELETE_MARK = X_DELETE_MARK)
474 AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
475 OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
476 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
477 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
478 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
479 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
480 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
481 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
482 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
483 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
484 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
485 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
486 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
487 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
488 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
489 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
490 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
491 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
492 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
493 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
494 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
495 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
496 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
497 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
498 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
499 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
500 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
501 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
502 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
503 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
504 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
505 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
506 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
507 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
508 AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
509 OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
510 AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
511 OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
512 AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
513 OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
514 AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
515 OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
516 AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
517 OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
518 AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
519 OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
520 AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
521 OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
522 AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
523 OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
524 AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
525 OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
526 AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
527 OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
528 AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
529 OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
530 AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
531 OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
532 AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
533 OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
534 AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
535 OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
536 AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
537 OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
538 AND (recinfo.TEST_CODE = X_TEST_CODE)
539 AND (recinfo.TEST_METHOD_ID = X_TEST_METHOD_ID)
540 AND ((recinfo.TEST_CLASS = X_TEST_CLASS)
541 OR ((recinfo.TEST_CLASS is null) AND (X_TEST_CLASS is null)))
542 AND (recinfo.TEST_TYPE = X_TEST_TYPE)
543 AND ((recinfo.TEST_UNIT = X_TEST_UNIT)
544 OR ((recinfo.TEST_UNIT is null) AND (X_TEST_UNIT is null)))
545 AND ((recinfo.MIN_VALUE_NUM = X_MIN_VALUE_NUM)
546 OR ((recinfo.MIN_VALUE_NUM is null) AND (X_MIN_VALUE_NUM is null)))
547 AND ((recinfo.MAX_VALUE_NUM = X_MAX_VALUE_NUM)
548 OR ((recinfo.MAX_VALUE_NUM is null) AND (X_MAX_VALUE_NUM 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.EXPRESSION = X_EXPRESSION)
568 OR ((recinfo.EXPRESSION is null) AND (X_EXPRESSION 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.PRIORITY = X_PRIORITY)
574 OR ((recinfo.PRIORITY is null) AND (X_PRIORITY is null)))
575 AND ((recinfo.TEST_OPRN_ID = X_TEST_OPRN_ID)
576 OR ((recinfo.TEST_OPRN_ID is null) AND (X_TEST_OPRN_ID is null)))
577 AND ((recinfo.TEST_GROUP_ORDER = X_TEST_GROUP_ORDER)
578 OR ((recinfo.TEST_GROUP_ORDER is null) AND (X_TEST_GROUP_ORDER is null)))
579 ) then
580 null;
581 else
582 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
583 app_exception.raise_exception;
584 end if;
585
586 for tlinfo in c1 loop
587 if (tlinfo.BASELANG = 'Y') then
588 if ( (tlinfo.TEST_DESC = X_TEST_DESC)
589 ) then
590 null;
591 else
592 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
593 app_exception.raise_exception;
594 end if;
595 end if;
596 end loop;
597 return;
598 end LOCK_ROW;
599
600 procedure UPDATE_ROW (
601 X_TEST_ID in NUMBER,
602 X_TEST_OPRN_LINE_ID in NUMBER,
603 X_TEST_PROVIDER_CODE in VARCHAR2,
604 X_DELETE_MARK in NUMBER,
605 X_TEXT_CODE in NUMBER,
606 X_ATTRIBUTE_CATEGORY in VARCHAR2,
607 X_ATTRIBUTE1 in VARCHAR2,
608 X_ATTRIBUTE2 in VARCHAR2,
609 X_ATTRIBUTE3 in VARCHAR2,
610 X_ATTRIBUTE4 in VARCHAR2,
611 X_ATTRIBUTE5 in VARCHAR2,
612 X_ATTRIBUTE6 in VARCHAR2,
613 X_ATTRIBUTE7 in VARCHAR2,
614 X_ATTRIBUTE8 in VARCHAR2,
615 X_ATTRIBUTE9 in VARCHAR2,
616 X_ATTRIBUTE10 in VARCHAR2,
617 X_ATTRIBUTE11 in VARCHAR2,
618 X_ATTRIBUTE12 in VARCHAR2,
619 X_ATTRIBUTE13 in VARCHAR2,
620 X_ATTRIBUTE14 in VARCHAR2,
621 X_ATTRIBUTE15 in VARCHAR2,
622 X_ATTRIBUTE16 in VARCHAR2,
623 X_ATTRIBUTE17 in VARCHAR2,
624 X_ATTRIBUTE18 in VARCHAR2,
625 X_ATTRIBUTE19 in VARCHAR2,
626 X_ATTRIBUTE20 in VARCHAR2,
627 X_ATTRIBUTE21 in VARCHAR2,
628 X_ATTRIBUTE22 in VARCHAR2,
629 X_ATTRIBUTE23 in VARCHAR2,
630 X_ATTRIBUTE24 in VARCHAR2,
631 X_ATTRIBUTE25 in VARCHAR2,
632 X_ATTRIBUTE26 in VARCHAR2,
633 X_ATTRIBUTE27 in VARCHAR2,
634 X_ATTRIBUTE28 in VARCHAR2,
635 X_ATTRIBUTE29 in VARCHAR2,
636 X_ATTRIBUTE30 in VARCHAR2,
637 X_TEST_CODE in VARCHAR2,
638 X_TEST_METHOD_ID in NUMBER,
639 X_TEST_CLASS in VARCHAR2,
640 X_TEST_TYPE in VARCHAR2,
641 X_TEST_UNIT in VARCHAR2,
642 X_MIN_VALUE_NUM in NUMBER,
643 X_MAX_VALUE_NUM in NUMBER,
644 X_EXP_ERROR_TYPE in VARCHAR2,
645 X_BELOW_SPEC_MIN in NUMBER,
646 X_ABOVE_SPEC_MIN in NUMBER,
647 X_BELOW_SPEC_MAX in NUMBER,
648 X_ABOVE_SPEC_MAX in NUMBER,
649 X_BELOW_MIN_ACTION_CODE in VARCHAR2,
650 X_ABOVE_MIN_ACTION_CODE in VARCHAR2,
651 X_BELOW_MAX_ACTION_CODE in VARCHAR2,
652 X_ABOVE_MAX_ACTION_CODE in VARCHAR2,
653 X_EXPRESSION in VARCHAR2,
654 X_DISPLAY_PRECISION in NUMBER,
655 X_REPORT_PRECISION in NUMBER,
656 X_PRIORITY in VARCHAR2,
657 X_TEST_OPRN_ID in NUMBER,
658 X_TEST_DESC in VARCHAR2,
659 X_LAST_UPDATE_DATE in DATE,
660 X_LAST_UPDATED_BY in NUMBER,
661 X_LAST_UPDATE_LOGIN in NUMBER,
662 X_TEST_GROUP_ORDER IN NUMBER
663 ) is
664 begin
665 update GMD_QC_TESTS_B set
666 TEST_OPRN_LINE_ID = X_TEST_OPRN_LINE_ID,
667 TEST_PROVIDER_CODE = X_TEST_PROVIDER_CODE,
668 DELETE_MARK = X_DELETE_MARK,
669 TEXT_CODE = X_TEXT_CODE,
670 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
671 ATTRIBUTE1 = X_ATTRIBUTE1,
672 ATTRIBUTE2 = X_ATTRIBUTE2,
673 ATTRIBUTE3 = X_ATTRIBUTE3,
674 ATTRIBUTE4 = X_ATTRIBUTE4,
675 ATTRIBUTE5 = X_ATTRIBUTE5,
676 ATTRIBUTE6 = X_ATTRIBUTE6,
677 ATTRIBUTE7 = X_ATTRIBUTE7,
678 ATTRIBUTE8 = X_ATTRIBUTE8,
679 ATTRIBUTE9 = X_ATTRIBUTE9,
680 ATTRIBUTE10 = X_ATTRIBUTE10,
681 ATTRIBUTE11 = X_ATTRIBUTE11,
682 ATTRIBUTE12 = X_ATTRIBUTE12,
683 ATTRIBUTE13 = X_ATTRIBUTE13,
684 ATTRIBUTE14 = X_ATTRIBUTE14,
685 ATTRIBUTE15 = X_ATTRIBUTE15,
686 ATTRIBUTE16 = X_ATTRIBUTE16,
687 ATTRIBUTE17 = X_ATTRIBUTE17,
688 ATTRIBUTE18 = X_ATTRIBUTE18,
689 ATTRIBUTE19 = X_ATTRIBUTE19,
690 ATTRIBUTE20 = X_ATTRIBUTE20,
691 ATTRIBUTE21 = X_ATTRIBUTE21,
692 ATTRIBUTE22 = X_ATTRIBUTE22,
693 ATTRIBUTE23 = X_ATTRIBUTE23,
694 ATTRIBUTE24 = X_ATTRIBUTE24,
695 ATTRIBUTE25 = X_ATTRIBUTE25,
696 ATTRIBUTE26 = X_ATTRIBUTE26,
697 ATTRIBUTE27 = X_ATTRIBUTE27,
698 ATTRIBUTE28 = X_ATTRIBUTE28,
699 ATTRIBUTE29 = X_ATTRIBUTE29,
700 ATTRIBUTE30 = X_ATTRIBUTE30,
701 TEST_CODE = X_TEST_CODE,
702 TEST_METHOD_ID = X_TEST_METHOD_ID,
703 TEST_CLASS = X_TEST_CLASS,
704 TEST_TYPE = X_TEST_TYPE,
705 TEST_UNIT = X_TEST_UNIT,
706 MIN_VALUE_NUM = X_MIN_VALUE_NUM,
707 MAX_VALUE_NUM = X_MAX_VALUE_NUM,
708 EXP_ERROR_TYPE = X_EXP_ERROR_TYPE,
709 BELOW_SPEC_MIN = X_BELOW_SPEC_MIN,
710 ABOVE_SPEC_MIN = X_ABOVE_SPEC_MIN,
711 BELOW_SPEC_MAX = X_BELOW_SPEC_MAX,
712 ABOVE_SPEC_MAX = X_ABOVE_SPEC_MAX,
713 BELOW_MIN_ACTION_CODE = X_BELOW_MIN_ACTION_CODE,
714 ABOVE_MIN_ACTION_CODE = X_ABOVE_MIN_ACTION_CODE,
715 BELOW_MAX_ACTION_CODE = X_BELOW_MAX_ACTION_CODE,
716 ABOVE_MAX_ACTION_CODE = X_ABOVE_MAX_ACTION_CODE,
717 EXPRESSION = X_EXPRESSION,
718 DISPLAY_PRECISION = X_DISPLAY_PRECISION,
719 REPORT_PRECISION = X_REPORT_PRECISION,
720 PRIORITY = X_PRIORITY,
721 TEST_OPRN_ID = X_TEST_OPRN_ID,
722 LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
723 LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
724 LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
725 TEST_GROUP_ORDER = X_TEST_GROUP_ORDER
726 where TEST_ID = X_TEST_ID;
727
728 if (sql%notfound) then
729 raise no_data_found;
730 end if;
731
732 update GMD_QC_TESTS_TL set
733 TEST_DESC = X_TEST_DESC,
734 LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
735 LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
736 LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
737 SOURCE_LANG = userenv('LANG')
738 where TEST_ID = X_TEST_ID
739 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
740
741 if (sql%notfound) then
742 raise no_data_found;
743 end if;
744 end UPDATE_ROW;
745
746 procedure ADD_LANGUAGE
747 is
748 begin
749 delete from GMD_QC_TESTS_TL T
750 where not exists
751 (select NULL
752 from GMD_QC_TESTS_B B
753 where B.TEST_ID = T.TEST_ID
754 );
755
756 update GMD_QC_TESTS_TL T set (
757 TEST_DESC
758 ) = (select
759 B.TEST_DESC
760 from GMD_QC_TESTS_TL B
761 where B.TEST_ID = T.TEST_ID
762 and B.LANGUAGE = T.SOURCE_LANG)
763 where (
764 T.TEST_ID,
765 T.LANGUAGE
766 ) in (select
767 SUBT.TEST_ID,
768 SUBT.LANGUAGE
769 from GMD_QC_TESTS_TL SUBB, GMD_QC_TESTS_TL SUBT
770 where SUBB.TEST_ID = SUBT.TEST_ID
771 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
772 and (SUBB.TEST_DESC <> SUBT.TEST_DESC
773 ));
774
775 insert into GMD_QC_TESTS_TL (
776 TEST_ID,
777 TEST_DESC,
778 CREATION_DATE,
779 CREATED_BY,
780 LAST_UPDATED_BY,
781 LAST_UPDATE_DATE,
782 LAST_UPDATE_LOGIN,
783 LANGUAGE,
784 SOURCE_LANG
785 ) select
786 B.TEST_ID,
787 B.TEST_DESC,
788 B.CREATION_DATE,
789 B.CREATED_BY,
790 B.LAST_UPDATED_BY,
791 B.LAST_UPDATE_DATE,
792 B.LAST_UPDATE_LOGIN,
793 L.LANGUAGE_CODE,
794 B.SOURCE_LANG
795 from GMD_QC_TESTS_TL B, FND_LANGUAGES L
796 where L.INSTALLED_FLAG in ('I', 'B')
797 and B.LANGUAGE = userenv('LANG')
798 and not exists
799 (select NULL
800 from GMD_QC_TESTS_TL T
801 where T.TEST_ID = B.TEST_ID
802 and T.LANGUAGE = L.LANGUAGE_CODE);
803 end ADD_LANGUAGE;
804
805
806 FUNCTION fetch_row (
807 p_gmd_qc_tests IN gmd_qc_tests%ROWTYPE ,
808 x_gmd_qc_tests OUT NOCOPY gmd_qc_tests%ROWTYPE
809 )
810 RETURN BOOLEAN
811 IS
812 BEGIN
813
814
815 IF (p_gmd_qc_tests.test_id IS NOT NULL) THEN
816 SELECT *
817 INTO x_gmd_qc_tests
818 FROM gmd_qc_tests
819 WHERE test_id = p_gmd_qc_tests.test_id ;
820 RETURN TRUE;
821 ELSIF (p_gmd_qc_tests.test_code IS NOT NULL) THEN
822 SELECT *
823 INTO x_gmd_qc_tests
824 FROM gmd_qc_tests
825 WHERE test_code = p_gmd_qc_tests.test_code ;
826 RETURN TRUE;
827 ELSE
828 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_QC_TESTS');
829 RETURN FALSE;
830 END IF;
831
832
833 RETURN FALSE;
834
835 EXCEPTION
836 WHEN NO_DATA_FOUND
837 THEN
838 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_QC_TESTS');
839 RETURN FALSE;
840 WHEN OTHERS
841 THEN
842 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_QC_TESTS_PVT.FETCH_ROW','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
843 RETURN FALSE;
844 END fetch_row;
845
846 FUNCTION lock_row (
847 p_test_id IN NUMBER ,
848 p_test_code IN VARCHAR2
849 )
850 RETURN BOOLEAN
851 IS
852
853 dummy NUMBER;
854 BEGIN
855
856 IF (p_test_id IS NOT NULL) THEN
857 SELECT test_id
858 INTO dummy
859 FROM gmd_qc_tests_b
860 WHERE test_id = p_test_id
861 FOR UPDATE OF test_id NOWAIT ;
862 ELSIF (p_test_code IS NOT NULL) THEN
863 SELECT test_id
864 INTO dummy
865 FROM gmd_qc_tests_b
866 WHERE test_code = p_test_code
867 FOR UPDATE OF test_id NOWAIT ;
868 ELSE
869 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_QC_TESTS');
870 RETURN FALSE;
871 END IF;
872
873 RETURN TRUE;
874
875 EXCEPTION
876 WHEN NO_DATA_FOUND
877 THEN
878 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_QC_TESTS');
879 RETURN FALSE;
880 WHEN OTHERS
881 THEN
882 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_QC_TESTS_PVT.LOCK_ROW','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
883 RETURN FALSE;
884 END lock_row;
885
886 FUNCTION mark_for_delete (
887 p_test_id IN NUMBER ,
888 p_test_code IN VARCHAR2 ,
889 p_last_update_date IN DATE ,
890 p_last_updated_by IN NUMBER ,
891 p_last_update_login IN NUMBER
892 )
893 RETURN BOOLEAN
894 IS
895
896 BEGIN
897
898 IF (p_test_id IS NOT NULL) THEN
899 UPDATE gmd_qc_tests_b
900 SET delete_mark = 1,
901 last_update_date = NVL(p_last_update_date,SYSDATE),
902 last_updated_by = NVL(p_last_updated_by,FND_GLOBAL.USER_ID),
903 last_update_login = NVL(p_last_update_login,FND_GLOBAL.LOGIN_ID)
904 WHERE test_id = p_test_id ;
905 IF SQL%NOTFOUND THEN
906 RAISE NO_DATA_FOUND ;
907 END IF;
908 ELSIF (p_test_code IS NOT NULL) THEN
909 UPDATE gmd_qc_tests_b
910 SET delete_mark = 1,
911 last_update_date = NVL(p_last_update_date,SYSDATE),
912 last_updated_by = NVL(p_last_updated_by,FND_GLOBAL.USER_ID),
913 last_update_login = NVL(p_last_update_login,FND_GLOBAL.LOGIN_ID)
914 WHERE test_code = p_test_code ;
915 IF SQL%NOTFOUND THEN
916 RAISE NO_DATA_FOUND ;
917 END IF;
918 ELSE
919 gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_QC_TESTS');
920 RETURN FALSE;
921 END IF;
922
923 RETURN TRUE;
924
925 EXCEPTION
926 WHEN NO_DATA_FOUND
927 THEN
928 gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_QC_TESTS');
929 RETURN FALSE;
930 WHEN OTHERS
931 THEN
932 gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_QC_TESTS_PVT.MARK_FOR_DELETE','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
933 RETURN FALSE;
934 END mark_for_delete;
935
936 END gmd_qc_tests_pvt;