[Home] [Help]
PACKAGE BODY: APPS.GME_BATCH_STEP_ITEMS_DBL
Source
1 PACKAGE BODY gme_batch_step_items_dbl AS
2 /* $Header: GMEVGSIB.pls 120.2.12010000.1 2008/07/25 10:30:53 appldev ship $ */
3
4 /* Global Variables */
5 g_table_name VARCHAR2 (80) DEFAULT 'GME_BATCH_STEP_ITEMS';
6 g_debug VARCHAR2 (5) := fnd_profile.VALUE ('AFLOG_LEVEL');
7 g_pkg_name CONSTANT VARCHAR2 (30) := 'GME_BATCH_STEP_ITEMS_DBL';
8
9 /*============================================================================
10 | Copyright (c) 2001 Oracle Corporation
11 | TVP, Reading
12 | All rights reserved
13 =============================================================================
14 | FILENAME
15 |
16 |
17 | DESCRIPTION
18 |
19 |
20 |
21 |
22 | NOTES
23 |
24 | HISTORY
25 | 12-MAR-01 Thomas Daniel Created
26 |
27 | - insert_row
28 | - fetch_row
29 | - update_row
30 | - lock_row
31 |
32 |
33 =============================================================================
34 */
35
36 /* Api start of comments
37 +============================================================================
38 | FUNCTION NAME
39 | insert_row
40 |
41 | TYPE
42 | Private
43 | USAGE
44 | Insert_Row will insert a row in gme_batch_step_items
45 |
46 |
47 | DESCRIPTION
48 | Insert_Row will insert a row in gme_batch_step_items
49 |
50 |
51 |
52 | PARAMETERS
53 | p_batch_step_items IN gme_batch_step_items%ROWTYPE
54 | x_batch_step_items IN OUT NOCOPY gme_batch_step_items%ROWTYPE
55 |
56 | RETURNS
57 | BOOLEAN
58 | HISTORY
59 | 12-MAR-01 Thomas Daniel Created
60 | 29-APR-04 Rishi Varma 3307549
61 | Added the fields minimum_transfer_qty,maximum_delay
62 | and minimum_delay.
63 | Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
64 |
65 |
66 +=============================================================================
67 Api end of comments
68 */
69 FUNCTION insert_row (
70 p_batch_step_items IN gme_batch_step_items%ROWTYPE
71 ,x_batch_step_items IN OUT NOCOPY gme_batch_step_items%ROWTYPE)
72 RETURN BOOLEAN
73 IS
74 l_api_name CONSTANT VARCHAR2 (30) := 'insert_row';
75 BEGIN
76 IF g_debug <= gme_debug.g_log_procedure THEN
77 gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
78 || l_api_name);
79 END IF;
80
81 x_batch_step_items := p_batch_step_items;
82
83 INSERT INTO gme_batch_step_items
84 (material_detail_id
85 ,batch_id
86 ,batchstep_id
87 ,text_code
88 ,minimum_transfer_qty
89 ,minimum_delay
90 ,maximum_delay
91 --Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
92 ,ATTRIBUTE_CATEGORY
93 ,ATTRIBUTE1
94 ,ATTRIBUTE2
95 ,ATTRIBUTE3
96 ,ATTRIBUTE4
97 ,ATTRIBUTE5
98 ,ATTRIBUTE6
99 ,ATTRIBUTE7
100 ,ATTRIBUTE8
101 ,ATTRIBUTE9
102 ,ATTRIBUTE10
103 ,ATTRIBUTE11
104 ,ATTRIBUTE12
105 ,ATTRIBUTE13
106 ,ATTRIBUTE14
107 ,ATTRIBUTE15
108 ,ATTRIBUTE16
109 ,ATTRIBUTE17
110 ,ATTRIBUTE18
111 ,ATTRIBUTE19
112 ,ATTRIBUTE20
113 ,ATTRIBUTE21
114 ,ATTRIBUTE22
115 ,ATTRIBUTE23
116 ,ATTRIBUTE24
117 ,ATTRIBUTE25
118 ,ATTRIBUTE26
119 ,ATTRIBUTE27
120 ,ATTRIBUTE28
121 ,ATTRIBUTE29
122 ,ATTRIBUTE30
123 ,last_update_login, last_update_date
124 ,last_updated_by, creation_date
125 ,created_by)
126 VALUES (x_batch_step_items.material_detail_id
127 ,x_batch_step_items.batch_id
128 ,x_batch_step_items.batchstep_id
129 ,x_batch_step_items.text_code
130 ,x_batch_step_items.minimum_transfer_qty
131 ,x_batch_step_items.minimum_delay
132 ,x_batch_step_items.maximum_delay
133 --Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
134 ,x_batch_step_items.ATTRIBUTE_CATEGORY
135 ,x_batch_step_items.ATTRIBUTE1
136 ,x_batch_step_items.ATTRIBUTE2
137 ,x_batch_step_items.ATTRIBUTE3
138 ,x_batch_step_items.ATTRIBUTE4
139 ,x_batch_step_items.ATTRIBUTE5
140 ,x_batch_step_items.ATTRIBUTE6
141 ,x_batch_step_items.ATTRIBUTE7
142 ,x_batch_step_items.ATTRIBUTE8
143 ,x_batch_step_items.ATTRIBUTE9
144 ,x_batch_step_items.ATTRIBUTE10
145 ,x_batch_step_items.ATTRIBUTE11
146 ,x_batch_step_items.ATTRIBUTE12
147 ,x_batch_step_items.ATTRIBUTE13
148 ,x_batch_step_items.ATTRIBUTE14
149 ,x_batch_step_items.ATTRIBUTE15
150 ,x_batch_step_items.ATTRIBUTE16
151 ,x_batch_step_items.ATTRIBUTE17
152 ,x_batch_step_items.ATTRIBUTE18
153 ,x_batch_step_items.ATTRIBUTE19
154 ,x_batch_step_items.ATTRIBUTE20
155 ,x_batch_step_items.ATTRIBUTE21
156 ,x_batch_step_items.ATTRIBUTE22
157 ,x_batch_step_items.ATTRIBUTE23
158 ,x_batch_step_items.ATTRIBUTE24
159 ,x_batch_step_items.ATTRIBUTE25
160 ,x_batch_step_items.ATTRIBUTE26
161 ,x_batch_step_items.ATTRIBUTE27
162 ,x_batch_step_items.ATTRIBUTE28
163 ,x_batch_step_items.ATTRIBUTE29
164 ,x_batch_step_items.ATTRIBUTE30
165 ,gme_common_pvt.g_login_id, gme_common_pvt.g_timestamp
166 ,gme_common_pvt.g_user_ident, gme_common_pvt.g_timestamp
167 ,gme_common_pvt.g_user_ident);
168
169 RETURN TRUE;
170 EXCEPTION
171 WHEN OTHERS THEN
172 IF g_debug <= gme_debug.g_log_unexpected THEN
173 gme_debug.put_line ( 'When others exception in '
174 || g_pkg_name
175 || '.'
176 || l_api_name
177 || ' Error is '
178 || SQLERRM);
179 END IF;
180
181 gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
182 RETURN FALSE;
183 END insert_row;
184
185 /* Api start of comments
186 +============================================================================
187 | FUNCTION NAME
188 | fetch_row
189 |
190 | TYPE
191 | Private
192 | USAGE
193 | Fetch_Row will fetch a row in gme_batch_step_items
194 |
195 |
196 | DESCRIPTION
197 | Fetch_Row will fetch a row in gme_batch_step_items
198 |
199 |
200 |
201 | PARAMETERS
202 | p_batch_step_items IN gme_batch_step_items%ROWTYPE
203 | x_batch_step_items IN OUT NOCOPY gme_batch_step_items%ROWTYPE
204 |
205 | RETURNS
206 | BOOLEAN
207 | HISTORY
208 | 12-MAR-01 Thomas Daniel Created
209 | 29-APR-04 Rishi Varma 3307549
210 | Added the fields minimum_transfer_qty,maximum_delay
211 | and minimum_delay.
212 | Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
213 |
214 |
215 |
216 +=============================================================================
217 Api end of comments
218 */
219 FUNCTION fetch_row (
220 p_batch_step_items IN gme_batch_step_items%ROWTYPE
221 ,x_batch_step_items IN OUT NOCOPY gme_batch_step_items%ROWTYPE)
222 RETURN BOOLEAN
223 IS
224 l_api_name CONSTANT VARCHAR2 (30) := 'fetch_row';
225 BEGIN
226 IF g_debug <= gme_debug.g_log_procedure THEN
227 gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
228 || l_api_name);
229 END IF;
230
231 IF p_batch_step_items.material_detail_id IS NOT NULL THEN
232 SELECT material_detail_id
233 ,batch_id
234 ,batchstep_id
235 ,text_code
236 ,minimum_transfer_qty
237 ,minimum_delay
238 ,maximum_delay
239 --Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
240 ,ATTRIBUTE_CATEGORY
241 ,ATTRIBUTE1
242 ,ATTRIBUTE2
243 ,ATTRIBUTE3
244 ,ATTRIBUTE4
245 ,ATTRIBUTE5
246 ,ATTRIBUTE6
247 ,ATTRIBUTE7
248 ,ATTRIBUTE8
249 ,ATTRIBUTE9
250 ,ATTRIBUTE10
251 ,ATTRIBUTE11
252 ,ATTRIBUTE12
253 ,ATTRIBUTE13
254 ,ATTRIBUTE14
255 ,ATTRIBUTE15
256 ,ATTRIBUTE16
257 ,ATTRIBUTE17
258 ,ATTRIBUTE18
259 ,ATTRIBUTE19
260 ,ATTRIBUTE20
261 ,ATTRIBUTE21
262 ,ATTRIBUTE22
263 ,ATTRIBUTE23
264 ,ATTRIBUTE24
265 ,ATTRIBUTE25
266 ,ATTRIBUTE26
267 ,ATTRIBUTE27
268 ,ATTRIBUTE28
269 ,ATTRIBUTE29
270 ,ATTRIBUTE30
271 ,last_update_login
272 ,last_update_date
273 ,last_updated_by
274 ,creation_date
275 ,created_by
276 INTO x_batch_step_items.material_detail_id
277 ,x_batch_step_items.batch_id
278 ,x_batch_step_items.batchstep_id
279 ,x_batch_step_items.text_code
280 ,x_batch_step_items.minimum_transfer_qty
281 ,x_batch_step_items.minimum_delay
282 ,x_batch_step_items.maximum_delay
283 --Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
284 ,x_batch_step_items.ATTRIBUTE_CATEGORY
285 ,x_batch_step_items.ATTRIBUTE1
286 ,x_batch_step_items.ATTRIBUTE2
287 ,x_batch_step_items.ATTRIBUTE3
288 ,x_batch_step_items.ATTRIBUTE4
289 ,x_batch_step_items.ATTRIBUTE5
290 ,x_batch_step_items.ATTRIBUTE6
291 ,x_batch_step_items.ATTRIBUTE7
292 ,x_batch_step_items.ATTRIBUTE8
293 ,x_batch_step_items.ATTRIBUTE9
294 ,x_batch_step_items.ATTRIBUTE10
295 ,x_batch_step_items.ATTRIBUTE11
296 ,x_batch_step_items.ATTRIBUTE12
297 ,x_batch_step_items.ATTRIBUTE13
298 ,x_batch_step_items.ATTRIBUTE14
299 ,x_batch_step_items.ATTRIBUTE15
300 ,x_batch_step_items.ATTRIBUTE16
301 ,x_batch_step_items.ATTRIBUTE17
302 ,x_batch_step_items.ATTRIBUTE18
303 ,x_batch_step_items.ATTRIBUTE19
304 ,x_batch_step_items.ATTRIBUTE20
305 ,x_batch_step_items.ATTRIBUTE21
306 ,x_batch_step_items.ATTRIBUTE22
307 ,x_batch_step_items.ATTRIBUTE23
308 ,x_batch_step_items.ATTRIBUTE24
309 ,x_batch_step_items.ATTRIBUTE25
310 ,x_batch_step_items.ATTRIBUTE26
311 ,x_batch_step_items.ATTRIBUTE27
312 ,x_batch_step_items.ATTRIBUTE28
313 ,x_batch_step_items.ATTRIBUTE29
314 ,x_batch_step_items.ATTRIBUTE30
315 ,x_batch_step_items.last_update_login
316 ,x_batch_step_items.last_update_date
317 ,x_batch_step_items.last_updated_by
318 ,x_batch_step_items.creation_date
319 ,x_batch_step_items.created_by
320 FROM gme_batch_step_items
321 WHERE material_detail_id = p_batch_step_items.material_detail_id;
322 ELSE
323 gme_common_pvt.log_message ('GME_NO_KEYS'
324 ,'TABLE_NAME'
325 ,g_table_name);
326 RETURN FALSE;
327 END IF;
328
329 RETURN TRUE;
330 EXCEPTION
331 WHEN NO_DATA_FOUND THEN
332 gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
333 ,'TABLE_NAME'
334 ,g_table_name);
335 RETURN FALSE;
336 WHEN OTHERS THEN
337 IF g_debug <= gme_debug.g_log_unexpected THEN
338 gme_debug.put_line ( 'When others exception in '
339 || g_pkg_name
340 || '.'
341 || l_api_name
342 || ' Error is '
343 || SQLERRM);
344 END IF;
345
346 gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
347 RETURN FALSE;
348 END fetch_row;
349
350 /* Api start of comments
351 +============================================================================
352 | FUNCTION NAME
353 | delete_row
354 |
355 | TYPE
356 | Private
357 | USAGE
358 | Delete_Row will delete a row in gme_batch_step_items
359 |
360 |
361 | DESCRIPTION
362 | Delete_Row will delete a row in gme_batch_step_items
363 |
364 |
365 |
366 | PARAMETERS
367 | p_batch_step_items IN gme_batch_step_items%ROWTYPE
368 |
369 | RETURNS
370 | BOOLEAN
371 | HISTORY
372 | 12-MAR-01 Thomas Daniel Created
373 | 26-AUG-02 Bharati Satpute Bug2404126
374 | Added error message 'GME_RECORD_CHANGED'
375 |
376 |
377 +=============================================================================
378 Api end of comments
379 */
380 FUNCTION delete_row (p_batch_step_items IN gme_batch_step_items%ROWTYPE)
381 RETURN BOOLEAN
382 IS
383 l_dummy NUMBER := 0;
384 locked_by_other_user EXCEPTION;
385 PRAGMA EXCEPTION_INIT (locked_by_other_user, -54);
386 l_api_name CONSTANT VARCHAR2 (30) := 'delete_row';
387 BEGIN
388 IF g_debug <= gme_debug.g_log_procedure THEN
389 gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
390 || l_api_name);
391 END IF;
392
393 IF p_batch_step_items.material_detail_id IS NOT NULL THEN
394 SELECT 1
395 INTO l_dummy
396 FROM gme_batch_step_items
397 WHERE material_detail_id = p_batch_step_items.material_detail_id
398 FOR UPDATE NOWAIT;
399
400 DELETE FROM gme_batch_step_items
401 WHERE material_detail_id =
402 p_batch_step_items.material_detail_id;
403 ELSE
404 gme_common_pvt.log_message ('GME_NO_KEYS'
405 ,'TABLE_NAME'
406 ,g_table_name);
407 RETURN FALSE;
408 END IF;
409
410 IF SQL%FOUND THEN
411 RETURN TRUE;
412 ELSE
416 ,g_table_name);
413 IF l_dummy = 0 THEN
414 gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
415 ,'TABLE_NAME'
417 ELSE
418 gme_common_pvt.log_message ('GME_RECORD_CHANGED'
419 ,'TABLE_NAME'
420 ,g_table_name);
421 END IF;
422
423 RETURN FALSE;
424 END IF;
425 EXCEPTION
426 WHEN NO_DATA_FOUND THEN
427 IF l_dummy = 0 THEN
428 gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
429 ,'TABLE_NAME'
430 ,g_table_name);
431 ELSE
432 gme_common_pvt.log_message ('GME_RECORD_CHANGED'
433 ,'TABLE_NAME'
434 ,g_table_name);
435 END IF;
436
437 RETURN FALSE;
438 WHEN locked_by_other_user THEN
439 gme_common_pvt.log_message
440 ('GME_RECORD_LOCKED'
441 ,'TABLE_NAME'
442 ,g_table_name
443 ,'RECORD'
444 ,'Material detail id'
445 ,'KEY'
446 ,TO_CHAR (p_batch_step_items.material_detail_id) );
447 RETURN FALSE;
448 WHEN OTHERS THEN
449 IF g_debug <= gme_debug.g_log_unexpected THEN
450 gme_debug.put_line ( 'When others exception in '
451 || g_pkg_name
452 || '.'
453 || l_api_name
454 || ' Error is '
455 || SQLERRM);
456 END IF;
457
458 gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
459 RETURN FALSE;
460 END delete_row;
461
462 /* Api start of comments
463 +============================================================================
464 | FUNCTION NAME
465 | update_row
466 |
467 | TYPE
468 | Private
469 | USAGE
470 | Update_Row will update a row in gme_batch_step_items
471 |
472 |
473 | DESCRIPTION
474 | Update_Row will update a row in gme_batch_step_items
475 |
476 |
477 |
478 | PARAMETERS
479 | p_batch_step_items IN gme_batch_step_items%ROWTYPE
480 |
481 | RETURNS
482 | BOOLEAN
483 | HISTORY
484 | 12-MAR-01 Thomas Daniel Created
485 | 26-AUG-02 Bharati Satpute Bug2404126
486 | Added error message 'GME_RECORD_CHANGED'
487 | 13-MAY-04 Rishi Varma 3307549
488 | Added the fields minimum_transfer_qty,maximum_delay
489 | and minimum_delay.
490 | Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
491 |
492 +=============================================================================
493 Api end of comments
494 */
495 FUNCTION update_row (p_batch_step_items IN gme_batch_step_items%ROWTYPE)
496 RETURN BOOLEAN
497 IS
498 l_dummy NUMBER (5) := 0;
499 locked_by_other_user EXCEPTION;
500 PRAGMA EXCEPTION_INIT (locked_by_other_user, -54);
501 l_api_name CONSTANT VARCHAR2 (30) := 'update_row';
502 BEGIN
503 IF g_debug <= gme_debug.g_log_procedure THEN
504 gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
505 || l_api_name);
506 END IF;
507
508 IF p_batch_step_items.material_detail_id IS NOT NULL THEN
509 SELECT 1
510 INTO l_dummy
511 FROM gme_batch_step_items
512 WHERE material_detail_id = p_batch_step_items.material_detail_id
513 FOR UPDATE NOWAIT;
514
515 UPDATE gme_batch_step_items
516 SET batch_id = p_batch_step_items.batch_id
517 ,batchstep_id = p_batch_step_items.batchstep_id
518 ,text_code = p_batch_step_items.text_code
519 ,minimum_transfer_qty = p_batch_step_items.minimum_transfer_qty
520 ,minimum_delay = p_batch_step_items.minimum_delay
521 ,maximum_delay = p_batch_step_items.maximum_delay
522 --Rajesh Patangya DFF Enhancement 03Jan2008 Bug# 6195829
523 ,ATTRIBUTE_CATEGORY = p_batch_step_items.ATTRIBUTE_CATEGORY
524 ,ATTRIBUTE1 = p_batch_step_items.ATTRIBUTE1
525 ,ATTRIBUTE2 = p_batch_step_items.ATTRIBUTE2
526 ,ATTRIBUTE3 = p_batch_step_items.ATTRIBUTE3
527 ,ATTRIBUTE4 = p_batch_step_items.ATTRIBUTE4
528 ,ATTRIBUTE5 = p_batch_step_items.ATTRIBUTE5
529 ,ATTRIBUTE6 = p_batch_step_items.ATTRIBUTE6
530 ,ATTRIBUTE7 = p_batch_step_items.ATTRIBUTE7
531 ,ATTRIBUTE8 = p_batch_step_items.ATTRIBUTE8
532 ,ATTRIBUTE9 = p_batch_step_items.ATTRIBUTE9
533 ,ATTRIBUTE10 = p_batch_step_items.ATTRIBUTE10
534 ,ATTRIBUTE11 =p_batch_step_items.ATTRIBUTE11
535 ,ATTRIBUTE12 =p_batch_step_items.ATTRIBUTE12
536 ,ATTRIBUTE13 =p_batch_step_items.ATTRIBUTE13
540 ,ATTRIBUTE17 = p_batch_step_items.ATTRIBUTE17
537 ,ATTRIBUTE14 =p_batch_step_items.ATTRIBUTE14
538 ,ATTRIBUTE15 =p_batch_step_items.ATTRIBUTE15
539 ,ATTRIBUTE16 = p_batch_step_items.ATTRIBUTE16
541 ,ATTRIBUTE18 = p_batch_step_items.ATTRIBUTE18
542 ,ATTRIBUTE19 = p_batch_step_items.ATTRIBUTE19
543 ,ATTRIBUTE20 = p_batch_step_items.ATTRIBUTE20
544 ,ATTRIBUTE21 = p_batch_step_items.ATTRIBUTE21
545 ,ATTRIBUTE22 = p_batch_step_items.ATTRIBUTE22
546 ,ATTRIBUTE23 = p_batch_step_items.ATTRIBUTE23
547 ,ATTRIBUTE24 = p_batch_step_items.ATTRIBUTE24
548 ,ATTRIBUTE25 = p_batch_step_items.ATTRIBUTE25
549 ,ATTRIBUTE26 = p_batch_step_items.ATTRIBUTE26
550 ,ATTRIBUTE27 = p_batch_step_items.ATTRIBUTE27
551 ,ATTRIBUTE28 = p_batch_step_items.ATTRIBUTE28
552 ,ATTRIBUTE29 = p_batch_step_items.ATTRIBUTE29
553 ,ATTRIBUTE30 = p_batch_step_items.ATTRIBUTE30
554 ,last_update_login = gme_common_pvt.g_login_id
555 ,last_update_date = gme_common_pvt.g_timestamp
556 ,last_updated_by = gme_common_pvt.g_user_ident
557 WHERE material_detail_id = p_batch_step_items.material_detail_id
558 AND last_update_date = p_batch_step_items.last_update_date;
559 ELSE
560 gme_common_pvt.log_message ('GME_NO_KEYS'
561 ,'TABLE_NAME'
562 ,g_table_name);
563 RETURN FALSE;
564 END IF;
565
566 IF SQL%FOUND THEN
567 RETURN TRUE;
568 ELSE
569 IF l_dummy = 0 THEN
570 gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
571 ,'TABLE_NAME'
572 ,g_table_name);
573 ELSE
574 gme_common_pvt.log_message ('GME_RECORD_CHANGED'
575 ,'TABLE_NAME'
576 ,g_table_name);
577 END IF;
578
579 RETURN FALSE;
580 END IF;
581 EXCEPTION
582 WHEN NO_DATA_FOUND THEN
583 IF l_dummy = 0 THEN
584 gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
585 ,'TABLE_NAME'
586 ,g_table_name);
587 ELSE
588 gme_common_pvt.log_message ('GME_RECORD_CHANGED'
589 ,'TABLE_NAME'
590 ,g_table_name);
591 END IF;
592
593 RETURN FALSE;
594 WHEN locked_by_other_user THEN
595 gme_common_pvt.log_message
596 ('GME_RECORD_LOCKED'
597 ,'TABLE_NAME'
598 ,g_table_name
599 ,'RECORD'
600 ,'Material detail id'
601 ,'KEY'
602 ,TO_CHAR (p_batch_step_items.material_detail_id) );
603 RETURN FALSE;
604 WHEN OTHERS THEN
605 IF g_debug <= gme_debug.g_log_unexpected THEN
606 gme_debug.put_line ( 'When others exception in '
607 || g_pkg_name
608 || '.'
609 || l_api_name
610 || ' Error is '
611 || SQLERRM);
612 END IF;
613
614 gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
615 RETURN FALSE;
616 END update_row;
617
618 /* Api start of comments
619 +============================================================================
620 | FUNCTION NAME
621 | lock_row
622 |
623 | TYPE
624 | Private
625 | USAGE
626 | Lock_Row will lock a row in gme_batch_step_items
627 |
628 |
629 | DESCRIPTION
630 | Lock_Row will lock a row in gme_batch_step_items
631 |
632 |
633 |
634 | PARAMETERS
635 | p_batch_step_items IN gme_batch_step_items%ROWTYPE
636 |
637 | RETURNS
638 | BOOLEAN
639 | HISTORY
640 | 12-MAR-01 Thomas Daniel Created
641 |
642 |
643 |
644 +=============================================================================
645 Api end of comments
646 */
647 FUNCTION lock_row (p_batch_step_items IN gme_batch_step_items%ROWTYPE)
648 RETURN BOOLEAN
649 IS
650 l_dummy NUMBER;
651 l_api_name CONSTANT VARCHAR2 (30) := 'lock_row';
652 BEGIN
653 IF g_debug <= gme_debug.g_log_procedure THEN
654 gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
655 || l_api_name);
656 END IF;
657
658 IF p_batch_step_items.material_detail_id IS NOT NULL THEN
659 SELECT 1
660 INTO l_dummy
661 FROM gme_batch_step_items
662 WHERE material_detail_id = p_batch_step_items.material_detail_id
663 FOR UPDATE NOWAIT;
664 END IF;
665
666 RETURN TRUE;
667 EXCEPTION
668 WHEN app_exception.record_lock_exception THEN
669 gme_common_pvt.log_message
670 ('GME_RECORD_LOCKED'
671 ,'TABLE_NAME'
672 ,g_table_name
673 ,'RECORD'
674 ,'Material detail id'
675 ,'KEY'
676 ,TO_CHAR (p_batch_step_items.material_detail_id) );
677 RETURN FALSE;
678 WHEN OTHERS THEN
679 IF g_debug <= gme_debug.g_log_unexpected THEN
680 gme_debug.put_line ( 'When others exception in '
681 || g_pkg_name
682 || '.'
683 || l_api_name
684 || ' Error is '
685 || SQLERRM);
686 END IF;
687
688 RETURN FALSE;
689 END lock_row;
690 END gme_batch_step_items_dbl;