DBA Data[Home] [Help]

PACKAGE BODY: APPS.GME_BATCH_STEP_ACTIVITIES_DBL

Source


1 PACKAGE BODY gme_batch_step_activities_dbl AS
2 /* $Header: GMEVGSAB.pls 120.1 2005/06/03 10:59:59 appldev  $ */
3 
4    /* Global Variables */
5    g_table_name          VARCHAR2 (80) DEFAULT 'GME_BATCH_STEP_ACTIVITIES';
6    g_debug               VARCHAR2 (5)  := fnd_profile.VALUE ('AFLOG_LEVEL');
7    g_pkg_name   CONSTANT VARCHAR2 (30) := 'GME_BATCH_STEP_ACTIVITIES_DBL';
8 
9 /*============================================================================
10  |                         Copyright (c) 2001 Oracle Corporation
11  |                                 TVP, Reading
12  |                                  All rights reserved
13  =============================================================================
14  |   FILENAME
15  |      GMEVGSAB.pls
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  |   06-FEB-04 Rishi Varma Bug 3372774
32  |             Added the max_break and break_ind fields to the
33  |             insert_row,update_row and fetch_row procedures.
34  |
35  |
36  |
37  =============================================================================
38 */
39 
40    /* Api start of comments
41  +============================================================================
42  |   FUNCTION NAME
43  |      insert_row
44  |
45  |   TYPE
46  |      Private
47  |   USAGE
48  |      Insert_Row will insert a row in gme_batch_step_activities
49  |
50  |
51  |   DESCRIPTION
52  |      Insert_Row will insert a row in gme_batch_step_activities
53  |
54  |
55  |
56  |   PARAMETERS
57  |     p_batch_step_activities IN            gme_batch_step_activities%ROWTYPE
58  |     x_batch_step_activities IN OUT NOCOPY gme_batch_step_activities%ROWTYPE
59  |
60  |   RETURNS
61  |      BOOLEAN
62  |   HISTORY
63  |   12-MAR-01 Thomas Daniel   Created
64  |   02-APR-03  Bharati Satpute  Bug 2848936 Added material_ind to complete MTQ
65  |              functionality in APS
66  |   06-FEB-04  Rishi Varma  Bug 3372774 Added break_ind,max_break fields.
67  |
68  |
69  +=============================================================================
70  Api end of comments
71 */
72    FUNCTION insert_row (
73       p_batch_step_activities   IN              gme_batch_step_activities%ROWTYPE
74      ,x_batch_step_activities   IN OUT NOCOPY   gme_batch_step_activities%ROWTYPE)
75       RETURN BOOLEAN
76    IS
77       l_api_name   CONSTANT VARCHAR2 (30) := 'insert_row';
78    BEGIN
79       IF g_debug <= gme_debug.g_log_procedure THEN
80          gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
81                              || l_api_name);
82       END IF;
83 
84       x_batch_step_activities := p_batch_step_activities;
85 
86       INSERT INTO gme_batch_step_activities
87                   (batch_id
88                   ,activity
89                   ,batchstep_id
90                   ,batchstep_activity_id
91                   ,oprn_line_id
92                   ,offset_interval
93                   ,plan_start_date
94                   ,actual_start_date
95                   ,plan_cmplt_date
96                   ,actual_cmplt_date
97                   ,plan_activity_factor
98                   ,sequence_dependent_ind
99                   ,delete_mark
100                   ,attribute_category
101                   ,attribute1
102                   ,attribute2
103                   ,attribute3
104                   ,attribute4
105                   ,attribute5
106                   ,attribute6
107                   ,attribute7
108                   ,attribute8
109                   ,attribute9
110                   ,attribute10
111                   ,attribute11
112                   ,attribute12
113                   ,attribute13
114                   ,attribute14
115                   ,attribute15
116                   ,attribute16
117                   ,attribute17
118                   ,attribute18
119                   ,attribute19
120                   ,attribute20
121                   ,attribute21
122                   ,attribute22
123                   ,attribute23
124                   ,attribute24
125                   ,attribute25
126                   ,attribute26
127                   ,attribute27
128                   ,attribute28
129                   ,attribute29
130                   ,attribute30
131                   ,creation_date, created_by
132                   ,last_update_date, last_updated_by
133                   ,last_update_login
134                   ,text_code
135                   ,actual_activity_factor
136                   ,material_ind
137                   -- rishi 3372774 06-FEB-04 start
138       ,            break_ind
139                   ,max_break
140                             --rishi 3372774 06-FEB-04 end
141                   )
142            VALUES (x_batch_step_activities.batch_id
143                   ,x_batch_step_activities.activity
144                   ,x_batch_step_activities.batchstep_id
145                   ,gme_batch_step_activity_s.NEXTVAL
146                   ,x_batch_step_activities.oprn_line_id
147                   ,x_batch_step_activities.offset_interval
148                   ,x_batch_step_activities.plan_start_date
149                   ,x_batch_step_activities.actual_start_date
150                   ,x_batch_step_activities.plan_cmplt_date
151                   ,x_batch_step_activities.actual_cmplt_date
152                   ,x_batch_step_activities.plan_activity_factor
153                   ,x_batch_step_activities.sequence_dependent_ind
154                   ,x_batch_step_activities.delete_mark
155                   ,x_batch_step_activities.attribute_category
156                   ,x_batch_step_activities.attribute1
157                   ,x_batch_step_activities.attribute2
158                   ,x_batch_step_activities.attribute3
159                   ,x_batch_step_activities.attribute4
160                   ,x_batch_step_activities.attribute5
161                   ,x_batch_step_activities.attribute6
162                   ,x_batch_step_activities.attribute7
163                   ,x_batch_step_activities.attribute8
164                   ,x_batch_step_activities.attribute9
165                   ,x_batch_step_activities.attribute10
166                   ,x_batch_step_activities.attribute11
167                   ,x_batch_step_activities.attribute12
168                   ,x_batch_step_activities.attribute13
169                   ,x_batch_step_activities.attribute14
170                   ,x_batch_step_activities.attribute15
171                   ,x_batch_step_activities.attribute16
172                   ,x_batch_step_activities.attribute17
173                   ,x_batch_step_activities.attribute18
174                   ,x_batch_step_activities.attribute19
175                   ,x_batch_step_activities.attribute20
176                   ,x_batch_step_activities.attribute21
177                   ,x_batch_step_activities.attribute22
178                   ,x_batch_step_activities.attribute23
179                   ,x_batch_step_activities.attribute24
180                   ,x_batch_step_activities.attribute25
181                   ,x_batch_step_activities.attribute26
182                   ,x_batch_step_activities.attribute27
183                   ,x_batch_step_activities.attribute28
184                   ,x_batch_step_activities.attribute29
185                   ,x_batch_step_activities.attribute30
186                   ,gme_common_pvt.g_timestamp, gme_common_pvt.g_user_ident
187                   ,gme_common_pvt.g_timestamp, gme_common_pvt.g_user_ident
188                   ,gme_common_pvt.g_login_id
189                   ,x_batch_step_activities.text_code
190                   ,x_batch_step_activities.actual_activity_factor
191                   ,x_batch_step_activities.material_ind
192                   --rishi 3372774 06-FEB-2004 start
193       ,            x_batch_step_activities.break_ind
194                   ,x_batch_step_activities.max_break
195                                                     --rishi 3372774 06-FEB-2004 end
196                   )
197         RETURNING batchstep_activity_id
198              INTO x_batch_step_activities.batchstep_activity_id;
199 
200       IF SQL%FOUND THEN
201          RETURN TRUE;
202       ELSE
203          RETURN FALSE;
204       END IF;
205    EXCEPTION
206       WHEN OTHERS THEN
207          IF g_debug <= gme_debug.g_log_unexpected THEN
208             gme_debug.put_line (   'When others exception in '
209                                 || g_pkg_name
210                                 || '.'
211                                 || l_api_name
212                                 || ' Error is '
213                                 || SQLERRM);
214          END IF;
215 
216          gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
217          RETURN FALSE;
218    END insert_row;
219 
220 /* Api start of comments
221  +============================================================================
222  |   FUNCTION NAME
223  |      fetch_row
224  |
225  |   TYPE
226  |      Private
227  |   USAGE
228  |      Fetch_Row will fetch a row in gme_batch_step_activities
229  |
230  |
231  |   DESCRIPTION
232  |      Fetch_Row will fetch a row in gme_batch_step_activities
233  |
234  |
235  |
236  |   PARAMETERS
237  |     p_batch_step_activities IN            gme_batch_step_activities%ROWTYPE
238  |     x_batch_step_activities IN OUT NOCOPY gme_batch_step_activities%ROWTYPE
239  |
240  |   RETURNS
241  |      BOOLEAN
242  |   HISTORY
243  |   12-MAR-01 Thomas Daniel   Created
244  |   02-APR-03  Bharati Satpute  Added material_ind to complete MTQ
245  |              functionality in APS
246  |   06-FEB-2004 Rishi Varma  Bug#3372774 Added break_ind,max_break fields.
247  |
248  |
249  |
250  +=============================================================================
251  Api end of comments
252 */
253    FUNCTION fetch_row (
254       p_batch_step_activities   IN              gme_batch_step_activities%ROWTYPE
255      ,x_batch_step_activities   IN OUT NOCOPY   gme_batch_step_activities%ROWTYPE)
256       RETURN BOOLEAN
257    IS
258       l_api_name   CONSTANT VARCHAR2 (30) := 'fetch_row';
259    BEGIN
260       IF g_debug <= gme_debug.g_log_procedure THEN
261          gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
262                              || l_api_name);
263       END IF;
264 
265       IF p_batch_step_activities.batchstep_activity_id IS NOT NULL THEN
266          SELECT batch_id
267                ,activity
268                ,batchstep_id
269                ,batchstep_activity_id
270                ,oprn_line_id
271                ,offset_interval
272                ,plan_start_date
273                ,actual_start_date
274                ,plan_cmplt_date
275                ,actual_cmplt_date
276                ,plan_activity_factor
277                ,sequence_dependent_ind
278                ,delete_mark
279                ,attribute_category
280                ,attribute1
281                ,attribute2
282                ,attribute3
283                ,attribute4
284                ,attribute5
285                ,attribute6
286                ,attribute7
287                ,attribute8
288                ,attribute9
289                ,attribute10
290                ,attribute11
291                ,attribute12
292                ,attribute13
293                ,attribute14
294                ,attribute15
295                ,attribute16
296                ,attribute17
297                ,attribute18
298                ,attribute19
299                ,attribute20
300                ,attribute21
301                ,attribute22
302                ,attribute23
303                ,attribute24
304                ,attribute25
305                ,attribute26
306                ,attribute27
307                ,attribute28
308                ,attribute29
309                ,attribute30
310                ,creation_date
311                ,created_by
312                ,last_update_date
313                ,last_updated_by
314                ,last_update_login
315                ,text_code
316                ,actual_activity_factor
317                ,material_ind
318                --rishi 3372774 06-FEB-2004 start
319          ,      break_ind
320                ,max_break
321            --rishi 3372774 06-FEB-2004 end
322          INTO   x_batch_step_activities.batch_id
323                ,x_batch_step_activities.activity
324                ,x_batch_step_activities.batchstep_id
325                ,x_batch_step_activities.batchstep_activity_id
326                ,x_batch_step_activities.oprn_line_id
327                ,x_batch_step_activities.offset_interval
328                ,x_batch_step_activities.plan_start_date
329                ,x_batch_step_activities.actual_start_date
330                ,x_batch_step_activities.plan_cmplt_date
331                ,x_batch_step_activities.actual_cmplt_date
332                ,x_batch_step_activities.plan_activity_factor
333                ,x_batch_step_activities.sequence_dependent_ind
334                ,x_batch_step_activities.delete_mark
335                ,x_batch_step_activities.attribute_category
336                ,x_batch_step_activities.attribute1
337                ,x_batch_step_activities.attribute2
338                ,x_batch_step_activities.attribute3
339                ,x_batch_step_activities.attribute4
340                ,x_batch_step_activities.attribute5
341                ,x_batch_step_activities.attribute6
342                ,x_batch_step_activities.attribute7
343                ,x_batch_step_activities.attribute8
344                ,x_batch_step_activities.attribute9
345                ,x_batch_step_activities.attribute10
346                ,x_batch_step_activities.attribute11
347                ,x_batch_step_activities.attribute12
348                ,x_batch_step_activities.attribute13
349                ,x_batch_step_activities.attribute14
350                ,x_batch_step_activities.attribute15
351                ,x_batch_step_activities.attribute16
352                ,x_batch_step_activities.attribute17
353                ,x_batch_step_activities.attribute18
354                ,x_batch_step_activities.attribute19
355                ,x_batch_step_activities.attribute20
356                ,x_batch_step_activities.attribute21
357                ,x_batch_step_activities.attribute22
358                ,x_batch_step_activities.attribute23
359                ,x_batch_step_activities.attribute24
360                ,x_batch_step_activities.attribute25
361                ,x_batch_step_activities.attribute26
362                ,x_batch_step_activities.attribute27
363                ,x_batch_step_activities.attribute28
364                ,x_batch_step_activities.attribute29
365                ,x_batch_step_activities.attribute30
366                ,x_batch_step_activities.creation_date
367                ,x_batch_step_activities.created_by
368                ,x_batch_step_activities.last_update_date
369                ,x_batch_step_activities.last_updated_by
370                ,x_batch_step_activities.last_update_login
371                ,x_batch_step_activities.text_code
372                ,x_batch_step_activities.actual_activity_factor
373                ,x_batch_step_activities.material_ind
374                --rishi 3372774 06-FEB-2004 start
375          ,      x_batch_step_activities.break_ind
376                ,x_batch_step_activities.max_break
377            --rishi 3372774 06-FEB-2004 end
378          FROM   gme_batch_step_activities
379           WHERE batchstep_activity_id =
380                                  p_batch_step_activities.batchstep_activity_id;
381       ELSIF     p_batch_step_activities.batch_id IS NOT NULL
382             AND p_batch_step_activities.batchstep_id IS NOT NULL
383             AND p_batch_step_activities.activity IS NOT NULL THEN
384          SELECT batch_id
385                ,activity
386                ,batchstep_id
387                ,batchstep_activity_id
388                ,oprn_line_id
389                ,offset_interval
390                ,plan_start_date
391                ,actual_start_date
392                ,plan_cmplt_date
393                ,actual_cmplt_date
394                ,plan_activity_factor
395                ,sequence_dependent_ind
396                ,delete_mark
397                ,attribute_category
398                ,attribute1
399                ,attribute2
400                ,attribute3
401                ,attribute4
402                ,attribute5
403                ,attribute6
404                ,attribute7
405                ,attribute8
406                ,attribute9
407                ,attribute10
408                ,attribute11
409                ,attribute12
410                ,attribute13
411                ,attribute14
412                ,attribute15
413                ,attribute16
414                ,attribute17
415                ,attribute18
416                ,attribute19
417                ,attribute20
418                ,attribute21
419                ,attribute22
420                ,attribute23
421                ,attribute24
422                ,attribute25
423                ,attribute26
424                ,attribute27
425                ,attribute28
426                ,attribute29
427                ,attribute30
428                ,creation_date
429                ,created_by
430                ,last_update_date
431                ,last_updated_by
432                ,last_update_login
433                ,text_code
434                ,actual_activity_factor
435                ,material_ind
436                --rishi 3372774 06-FEB-04 start
437          ,      break_ind
438                ,max_break
439            --rishi 3372774 06-FEB-04 end
440          INTO   x_batch_step_activities.batch_id
441                ,x_batch_step_activities.activity
442                ,x_batch_step_activities.batchstep_id
443                ,x_batch_step_activities.batchstep_activity_id
444                ,x_batch_step_activities.oprn_line_id
445                ,x_batch_step_activities.offset_interval
446                ,x_batch_step_activities.plan_start_date
447                ,x_batch_step_activities.actual_start_date
448                ,x_batch_step_activities.plan_cmplt_date
449                ,x_batch_step_activities.actual_cmplt_date
450                ,x_batch_step_activities.plan_activity_factor
451                ,x_batch_step_activities.sequence_dependent_ind
452                ,x_batch_step_activities.delete_mark
453                ,x_batch_step_activities.attribute_category
454                ,x_batch_step_activities.attribute1
455                ,x_batch_step_activities.attribute2
456                ,x_batch_step_activities.attribute3
457                ,x_batch_step_activities.attribute4
458                ,x_batch_step_activities.attribute5
459                ,x_batch_step_activities.attribute6
460                ,x_batch_step_activities.attribute7
461                ,x_batch_step_activities.attribute8
462                ,x_batch_step_activities.attribute9
463                ,x_batch_step_activities.attribute10
464                ,x_batch_step_activities.attribute11
465                ,x_batch_step_activities.attribute12
466                ,x_batch_step_activities.attribute13
467                ,x_batch_step_activities.attribute14
468                ,x_batch_step_activities.attribute15
469                ,x_batch_step_activities.attribute16
470                ,x_batch_step_activities.attribute17
471                ,x_batch_step_activities.attribute18
472                ,x_batch_step_activities.attribute19
473                ,x_batch_step_activities.attribute20
474                ,x_batch_step_activities.attribute21
475                ,x_batch_step_activities.attribute22
476                ,x_batch_step_activities.attribute23
477                ,x_batch_step_activities.attribute24
478                ,x_batch_step_activities.attribute25
479                ,x_batch_step_activities.attribute26
480                ,x_batch_step_activities.attribute27
481                ,x_batch_step_activities.attribute28
482                ,x_batch_step_activities.attribute29
483                ,x_batch_step_activities.attribute30
484                ,x_batch_step_activities.creation_date
485                ,x_batch_step_activities.created_by
486                ,x_batch_step_activities.last_update_date
487                ,x_batch_step_activities.last_updated_by
488                ,x_batch_step_activities.last_update_login
489                ,x_batch_step_activities.text_code
490                ,x_batch_step_activities.actual_activity_factor
491                ,x_batch_step_activities.material_ind
492                --rishi 3372774 06-FEB-2004 start
493          ,      x_batch_step_activities.break_ind
494                ,x_batch_step_activities.max_break
495            --rishi 3372774 06-FEB-2004 end
496          FROM   gme_batch_step_activities
497           WHERE batch_id = p_batch_step_activities.batch_id
498             AND batchstep_id = p_batch_step_activities.batchstep_id
499             AND activity = p_batch_step_activities.activity;
500       ELSE
501          gme_common_pvt.log_message ('GME_NO_KEYS'
502                                     ,'TABLE_NAME'
503                                     ,g_table_name);
504          RETURN FALSE;
505       END IF;
506 
507       RETURN TRUE;
508    EXCEPTION
509       WHEN NO_DATA_FOUND THEN
510          gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
511                                     ,'TABLE_NAME'
512                                     ,g_table_name);
513          RETURN FALSE;
514       WHEN OTHERS THEN
515          IF g_debug <= gme_debug.g_log_unexpected THEN
516             gme_debug.put_line (   'When others exception in '
517                                 || g_pkg_name
518                                 || '.'
519                                 || l_api_name
520                                 || ' Error is '
521                                 || SQLERRM);
522          END IF;
523 
524          gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
525          RETURN FALSE;
526    END fetch_row;
527 
528 /* Api start of comments
529  +============================================================================
530  |   FUNCTION NAME
531  |      delete_row
532  |
533  |   TYPE
534  |      Private
535  |   USAGE
536  |      Delete_Row will delete a row in gme_batch_step_activities
537  |
538  |
539  |   DESCRIPTION
540  |      Delete_Row will delete a row in gme_batch_step_activities
541  |
542  |
543  |
544  |   PARAMETERS
545  |     p_batch_step_activities IN  gme_batch_step_activities%ROWTYPE
546  |
547  |   RETURNS
548  |      BOOLEAN
549  |   HISTORY
550  |   12-MAR-01 Thomas Daniel   Created
551  |   26-AUG-02  Bharati satpute  Bug2404126
552  |   Added Error message ' GME_RECORD_CHANGED' |
553  |
554  +=============================================================================
555  Api end of comments
556 */
557    FUNCTION delete_row (
558       p_batch_step_activities   IN   gme_batch_step_activities%ROWTYPE)
559       RETURN BOOLEAN
560    IS
561       l_dummy                NUMBER        := 0;
562       locked_by_other_user   EXCEPTION;
563       PRAGMA EXCEPTION_INIT (locked_by_other_user, -54);
564       l_api_name    CONSTANT VARCHAR2 (30) := 'delete_row';
565    BEGIN
566       IF g_debug <= gme_debug.g_log_procedure THEN
567          gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
568                              || l_api_name);
569       END IF;
570 
571       IF p_batch_step_activities.batchstep_activity_id IS NOT NULL THEN
572          SELECT     1
573                INTO l_dummy
574                FROM gme_batch_step_activities
575               WHERE batchstep_activity_id =
576                                  p_batch_step_activities.batchstep_activity_id
577          FOR UPDATE NOWAIT;
578 
579          DELETE FROM gme_batch_step_activities
580                WHERE batchstep_activity_id =
581                                  p_batch_step_activities.batchstep_activity_id;
582       ELSIF     p_batch_step_activities.batch_id IS NOT NULL
583             AND p_batch_step_activities.batchstep_id IS NOT NULL
584             AND p_batch_step_activities.activity IS NOT NULL THEN
585          SELECT     1
586                INTO l_dummy
587                FROM gme_batch_step_activities
588               WHERE batch_id = p_batch_step_activities.batch_id
589                 AND batchstep_id = p_batch_step_activities.batchstep_id
590                 AND activity = p_batch_step_activities.activity
591          FOR UPDATE NOWAIT;
592 
593          DELETE FROM gme_batch_step_activities
594                WHERE batch_id = p_batch_step_activities.batch_id
595                  AND batchstep_id = p_batch_step_activities.batchstep_id
596                  AND activity = p_batch_step_activities.activity;
597       ELSE
598          gme_common_pvt.log_message ('GME_NO_KEYS'
599                                     ,'TABLE_NAME'
600                                     ,g_table_name);
601          RETURN FALSE;
602       END IF;
603 
604       IF SQL%FOUND THEN
605          RETURN TRUE;
606       ELSE
607          IF l_dummy = 0 THEN
608             gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
609                                        ,'TABLE_NAME'
610                                        ,g_table_name);
611          ELSE
612             gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
613                                        ,'TABLE_NAME'
614                                        ,g_table_name);
615          END IF;
616 
617          RETURN FALSE;
618       END IF;
619    EXCEPTION
620       WHEN locked_by_other_user THEN
621          gme_common_pvt.log_message ('GME_RECORD_LOCKED'
622                                     ,'TABLE_NAME'
623                                     ,g_table_name
624                                     ,'RECORD'
625                                     ,'Activities'
626                                     ,'KEY'
627                                     ,p_batch_step_activities.activity);
628          RETURN FALSE;
629       WHEN OTHERS THEN
630          IF g_debug <= gme_debug.g_log_unexpected THEN
631             gme_debug.put_line (   'When others exception in '
632                                 || g_pkg_name
633                                 || '.'
634                                 || l_api_name
635                                 || ' Error is '
636                                 || SQLERRM);
637          END IF;
638 
639          gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
640          RETURN FALSE;
641    END delete_row;
642 
643 /* Api start of comments
644  +============================================================================
645  |   FUNCTION NAME
646  |      update_row
647  |
648  |   TYPE
649  |      Private
650  |   USAGE
651  |      Update_Row will update a row in gme_batch_step_activities
652  |
653  |
654  |   DESCRIPTION
655  |      Update_Row will update a row in gme_batch_step_activities
656  |
657  |
658  |
659  |   PARAMETERS
660  |     p_batch_step_activities IN  gme_batch_step_activities%ROWTYPE
661  |
662  |   RETURNS
663  |      BOOLEAN
664  |   HISTORY
665  |   12-MAR-01 Thomas Daniel   Created
666  |   23-AUG-02  Bharati Satpute Added message GME_RECORD_CHANGED
667  |   10-FEB-04  Rishi Varma Bug# 3372774 Added max_break,break_ind columns.
668  |
669  |
670  +=============================================================================
671  Api end of comments
672 */
673    FUNCTION update_row (
674       p_batch_step_activities   IN   gme_batch_step_activities%ROWTYPE)
675       RETURN BOOLEAN
676    IS
677       l_dummy                NUMBER        := 0;
678       locked_by_other_user   EXCEPTION;
679       PRAGMA EXCEPTION_INIT (locked_by_other_user, -54);
680       l_api_name    CONSTANT VARCHAR2 (30) := 'update_row';
681    BEGIN
682       IF g_debug <= gme_debug.g_log_procedure THEN
683          gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
684                              || l_api_name);
685       END IF;
686 
687       IF p_batch_step_activities.batchstep_activity_id IS NOT NULL THEN
688          SELECT     1
689                INTO l_dummy
690                FROM gme_batch_step_activities
691               WHERE batchstep_activity_id =
692                                  p_batch_step_activities.batchstep_activity_id
693          FOR UPDATE NOWAIT;
694 
695          UPDATE gme_batch_step_activities
696             SET batch_id = p_batch_step_activities.batch_id
697                ,activity = p_batch_step_activities.activity
698                ,batchstep_id = p_batch_step_activities.batchstep_id
699                ,oprn_line_id = p_batch_step_activities.oprn_line_id
700                ,offset_interval = p_batch_step_activities.offset_interval
701                ,plan_start_date = p_batch_step_activities.plan_start_date
702                ,actual_start_date = p_batch_step_activities.actual_start_date
703                ,plan_cmplt_date = p_batch_step_activities.plan_cmplt_date
704                ,actual_cmplt_date = p_batch_step_activities.actual_cmplt_date
705                ,plan_activity_factor =
706                                   p_batch_step_activities.plan_activity_factor
707                ,sequence_dependent_ind =
708                                 p_batch_step_activities.sequence_dependent_ind
709                ,delete_mark = p_batch_step_activities.delete_mark
710                ,attribute_category =
711                                     p_batch_step_activities.attribute_category
712                ,attribute1 = p_batch_step_activities.attribute1
713                ,attribute2 = p_batch_step_activities.attribute2
714                ,attribute3 = p_batch_step_activities.attribute3
715                ,attribute4 = p_batch_step_activities.attribute4
716                ,attribute5 = p_batch_step_activities.attribute5
717                ,attribute6 = p_batch_step_activities.attribute6
718                ,attribute7 = p_batch_step_activities.attribute7
719                ,attribute8 = p_batch_step_activities.attribute8
720                ,attribute9 = p_batch_step_activities.attribute9
721                ,attribute10 = p_batch_step_activities.attribute10
722                ,attribute11 = p_batch_step_activities.attribute11
723                ,attribute12 = p_batch_step_activities.attribute12
724                ,attribute13 = p_batch_step_activities.attribute13
725                ,attribute14 = p_batch_step_activities.attribute14
726                ,attribute15 = p_batch_step_activities.attribute15
727                ,attribute16 = p_batch_step_activities.attribute16
728                ,attribute17 = p_batch_step_activities.attribute17
729                ,attribute18 = p_batch_step_activities.attribute18
730                ,attribute19 = p_batch_step_activities.attribute19
731                ,attribute20 = p_batch_step_activities.attribute20
732                ,attribute21 = p_batch_step_activities.attribute21
733                ,attribute22 = p_batch_step_activities.attribute22
734                ,attribute23 = p_batch_step_activities.attribute23
735                ,attribute24 = p_batch_step_activities.attribute24
736                ,attribute25 = p_batch_step_activities.attribute25
737                ,attribute26 = p_batch_step_activities.attribute26
738                ,attribute27 = p_batch_step_activities.attribute27
739                ,attribute28 = p_batch_step_activities.attribute28
740                ,attribute29 = p_batch_step_activities.attribute29
741                ,attribute30 = p_batch_step_activities.attribute30
742                ,last_update_date = gme_common_pvt.g_timestamp
743                ,last_updated_by = gme_common_pvt.g_user_ident
744                ,last_update_login = gme_common_pvt.g_login_id
745                ,text_code = p_batch_step_activities.text_code
746                ,actual_activity_factor =
747                                 p_batch_step_activities.actual_activity_factor
748                ,material_ind = p_batch_step_activities.material_ind
749                --rishi 3372774 10-FEB-2004 start
750          ,      break_ind = p_batch_step_activities.break_ind
751                ,max_break = p_batch_step_activities.max_break
752           --rishi 3372774 10-FEB-2004 end
753          WHERE  batchstep_activity_id =
754                                  p_batch_step_activities.batchstep_activity_id
755             AND last_update_date = p_batch_step_activities.last_update_date;
756       ELSIF     p_batch_step_activities.batch_id IS NOT NULL
757             AND p_batch_step_activities.batchstep_id IS NOT NULL
758             AND p_batch_step_activities.activity IS NOT NULL THEN
759          SELECT     1
760                INTO l_dummy
761                FROM gme_batch_step_activities
762               WHERE batch_id = p_batch_step_activities.batch_id
763                 AND batchstep_id = p_batch_step_activities.batchstep_id
764                 AND activity = p_batch_step_activities.activity
765          FOR UPDATE NOWAIT;
766 
767          UPDATE gme_batch_step_activities
768             SET batch_id = p_batch_step_activities.batch_id
769                ,activity = p_batch_step_activities.activity
770                ,batchstep_id = p_batch_step_activities.batchstep_id
771                ,oprn_line_id = p_batch_step_activities.oprn_line_id
772                ,offset_interval = p_batch_step_activities.offset_interval
773                ,plan_start_date = p_batch_step_activities.plan_start_date
774                ,actual_start_date = p_batch_step_activities.actual_start_date
775                ,plan_cmplt_date = p_batch_step_activities.plan_cmplt_date
776                ,actual_cmplt_date = p_batch_step_activities.actual_cmplt_date
777                ,plan_activity_factor =
778                                   p_batch_step_activities.plan_activity_factor
779                ,sequence_dependent_ind =
780                                 p_batch_step_activities.sequence_dependent_ind
781                ,delete_mark = p_batch_step_activities.delete_mark
782                ,attribute_category =
783                                     p_batch_step_activities.attribute_category
784                ,attribute1 = p_batch_step_activities.attribute1
785                ,attribute2 = p_batch_step_activities.attribute2
786                ,attribute3 = p_batch_step_activities.attribute3
787                ,attribute4 = p_batch_step_activities.attribute4
788                ,attribute5 = p_batch_step_activities.attribute5
789                ,attribute6 = p_batch_step_activities.attribute6
790                ,attribute7 = p_batch_step_activities.attribute7
791                ,attribute8 = p_batch_step_activities.attribute8
792                ,attribute9 = p_batch_step_activities.attribute9
793                ,attribute10 = p_batch_step_activities.attribute10
794                ,attribute11 = p_batch_step_activities.attribute11
795                ,attribute12 = p_batch_step_activities.attribute12
796                ,attribute13 = p_batch_step_activities.attribute13
797                ,attribute14 = p_batch_step_activities.attribute14
798                ,attribute15 = p_batch_step_activities.attribute15
799                ,attribute16 = p_batch_step_activities.attribute16
800                ,attribute17 = p_batch_step_activities.attribute17
801                ,attribute18 = p_batch_step_activities.attribute18
802                ,attribute19 = p_batch_step_activities.attribute19
803                ,attribute20 = p_batch_step_activities.attribute20
804                ,attribute21 = p_batch_step_activities.attribute21
805                ,attribute22 = p_batch_step_activities.attribute22
806                ,attribute23 = p_batch_step_activities.attribute23
807                ,attribute24 = p_batch_step_activities.attribute24
808                ,attribute25 = p_batch_step_activities.attribute25
809                ,attribute26 = p_batch_step_activities.attribute26
810                ,attribute27 = p_batch_step_activities.attribute27
811                ,attribute28 = p_batch_step_activities.attribute28
812                ,attribute29 = p_batch_step_activities.attribute29
813                ,attribute30 = p_batch_step_activities.attribute30
814                ,last_update_date = gme_common_pvt.g_timestamp
815                ,last_updated_by = gme_common_pvt.g_user_ident
816                ,last_update_login = gme_common_pvt.g_login_id
817                ,text_code = p_batch_step_activities.text_code
818                ,actual_activity_factor =
819                                 p_batch_step_activities.actual_activity_factor
820                ,material_ind = p_batch_step_activities.material_ind
821                --rishi 3372774 10-FEB-2004 start
822          ,      break_ind = p_batch_step_activities.break_ind
823                ,max_break = p_batch_step_activities.max_break
824           --rishi 3372774 10-FEB-2004 end
825          WHERE  batch_id = p_batch_step_activities.batch_id
826             AND batchstep_id = p_batch_step_activities.batchstep_id
827             AND activity = p_batch_step_activities.activity
828             AND last_update_date = p_batch_step_activities.last_update_date;
829       ELSE
830          gme_common_pvt.log_message ('GME_NO_KEYS'
831                                     ,'TABLE_NAME'
832                                     ,g_table_name);
833          RETURN FALSE;
834       END IF;
835 
836       IF SQL%FOUND THEN
837          RETURN TRUE;
838       ELSE
839          IF l_dummy = 0 THEN
840             gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
841                                        ,'TABLE_NAME'
842                                        ,g_table_name);
843          ELSE
844             gme_common_pvt.log_message ('GME_RECORD_CHANGED'
845                                        ,'TABLE_NAME'
846                                        ,g_table_name);
847          END IF;
848 
849          RETURN FALSE;
850       END IF;
851    EXCEPTION
852       WHEN NO_DATA_FOUND THEN
853          IF l_dummy = 0 THEN
854             gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
855                                        ,'TABLE_NAME'
856                                        ,g_table_name);
857          ELSE
858             gme_common_pvt.log_message ('GME_RECORD_CHANGED'
859                                        ,'TABLE_NAME'
860                                        ,g_table_name);
861          END IF;
862 
863          RETURN FALSE;
864       WHEN locked_by_other_user THEN
865          gme_common_pvt.log_message ('GME_RECORD_LOCKED'
866                                     ,'TABLE_NAME'
867                                     ,g_table_name
868                                     ,'RECORD'
869                                     ,'Activities'
870                                     ,'KEY'
871                                     ,p_batch_step_activities.activity);
872          RETURN FALSE;
873       WHEN OTHERS THEN
874          IF g_debug <= gme_debug.g_log_unexpected THEN
875             gme_debug.put_line (   'When others exception in '
876                                 || g_pkg_name
877                                 || '.'
878                                 || l_api_name
879                                 || ' Error is '
880                                 || SQLERRM);
881          END IF;
882 
883          gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
884          RETURN FALSE;
885    END update_row;
886 
887 /* Api start of comments
888  +============================================================================
889  |   FUNCTION NAME
890  |      lock_row
891  |
892  |   TYPE
893  |      Private
894  |   USAGE
895  |      Lock_Row will lock a row in gme_batch_step_activities
896  |
897  |
898  |   DESCRIPTION
899  |      Lock_Row will lock a row in gme_batch_step_activities
900  |
901  |
902  |
903  |   PARAMETERS
904  |     p_batch_step_activities IN  gme_batch_step_activities%ROWTYPE
905  |
906  |   RETURNS
907  |      BOOLEAN
908  |   HISTORY
909  |   12-MAR-01 Thomas Daniel   Created
910  |
911  |
912  |
913  +=============================================================================
914  Api end of comments
915 */
916    FUNCTION lock_row (
917       p_batch_step_activities   IN   gme_batch_step_activities%ROWTYPE)
918       RETURN BOOLEAN
919    IS
920       l_dummy               NUMBER;
921       l_api_name   CONSTANT VARCHAR2 (30) := 'lock_row';
922    BEGIN
923       IF g_debug <= gme_debug.g_log_procedure THEN
924          gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
925                              || l_api_name);
926       END IF;
927 
928       IF p_batch_step_activities.batchstep_activity_id IS NOT NULL THEN
929          SELECT     1
930                INTO l_dummy
931                FROM gme_batch_step_activities
932               WHERE batchstep_activity_id =
933                                  p_batch_step_activities.batchstep_activity_id
934          FOR UPDATE NOWAIT;
935       ELSIF     p_batch_step_activities.batch_id IS NOT NULL
936             AND p_batch_step_activities.batchstep_id IS NOT NULL
937             AND p_batch_step_activities.activity IS NOT NULL THEN
938          SELECT     1
939                INTO l_dummy
940                FROM gme_batch_step_activities
941               WHERE batch_id = p_batch_step_activities.batch_id
942                 AND batchstep_id = p_batch_step_activities.batchstep_id
943                 AND activity = p_batch_step_activities.activity
944          FOR UPDATE NOWAIT;
945       END IF;
946 
947       RETURN TRUE;
948    EXCEPTION
949       WHEN app_exception.record_lock_exception THEN
950          gme_common_pvt.log_message ('GME_RECORD_LOCKED'
951                                     ,'TABLE_NAME'
952                                     ,g_table_name
953                                     ,'RECORD'
954                                     ,'Activities'
955                                     ,'KEY'
956                                     ,p_batch_step_activities.activity);
957          RETURN FALSE;
958       WHEN OTHERS THEN
959          IF g_debug <= gme_debug.g_log_unexpected THEN
960             gme_debug.put_line (   'When others exception in '
961                                 || g_pkg_name
962                                 || '.'
963                                 || l_api_name
964                                 || ' Error is '
965                                 || SQLERRM);
966          END IF;
967 
968          RETURN FALSE;
969    END lock_row;
970 END gme_batch_step_activities_dbl;