DBA Data[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;