DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_OPERATION_ACTIVITIES_PVT

Source


1 PACKAGE BODY GMD_OPERATION_ACTIVITIES_PVT AS
2 /*  $Header: GMDVOPAB.pls 120.0 2005/05/25 19:18:18 appldev noship $
3  +=========================================================================+
4  | FILENAME                                                                |
5  |     GMDVOPAB.pls                                                        |
6  |                                                                         |
7  | DESCRIPTION                                                             |
8  |     This package contains private definitions for  			   |
9  |     creating and modifying operation activities                         |
10  |                                                                         |
11  | HISTORY                                                                 |
12  |     22-SEPT-2002  Sandra Dulyk    Created                               |
13  | 27-DEC-2002 S.Dulyk    Bug 2669986 Added break_ind and max_break cols   |
14  | 20-FEB-2004  NSRIVAST  Bug# 3222090,Removed call to                     |
15  |                        FND_PROFILE.VALUE('AFLOG_ENABLED')               |
16  +=========================================================================+
17   API Name  : GMD_OPERATION_ACTIVITIES_PVT
18   Type      : Private
19   Function  : This package contains private procedures used to create, modify, and delete operation activties
20   Pre-reqs  : N/A
21   Parameters: Per function
22 
23   Current Vers  : 1.0
24 
25   Previous Vers : 1.0
26 
27   Initial Vers  : 1.0
28   Notes
29 */
30 
31 --Bug 3222090, NSRIVAST 20-FEB-2004, BEGIN
32 --Forward declaration.
33    FUNCTION set_debug_flag RETURN VARCHAR2;
34    l_debug VARCHAR2(1) := set_debug_flag;
35 
36    FUNCTION set_debug_flag RETURN VARCHAR2 IS
37    l_debug VARCHAR2(1):= 'N';
38    BEGIN
39     IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
40       l_debug := 'Y';
41     END IF;
42     RETURN l_debug;
43    END set_debug_flag;
44 --Bug 3222090, NSRIVAST 20-FEB-2004, END
45 
46 
47 /*===========================================================================================
48 Procedure
49    insert_operation_activity
50 Description
51   This particular procedure is used to insert an operation activity
52 Parameters
53 ================================================ */
54  PROCEDURE insert_operation_activity
55  ( p_oprn_id		IN	gmd_operations.oprn_id%TYPE
56  , p_oprn_activity		IN	gmd_operation_activities%ROWTYPE
57  , x_message_count 		OUT NOCOPY  	NUMBER
58  , x_message_list 		OUT NOCOPY  	VARCHAR2
59  , x_return_status		OUT NOCOPY  	VARCHAR2)  IS
60 
61    v_activity	gmd_operation_activities.activity%TYPE;
62    v_oprn_line_id	gmd_operation_activities.oprn_line_id%TYPE;
63    l_errmsg     		VARCHAR2(240);
64    setup_failure  		EXCEPTION;
65    l_mesg_count NUMBER;
66    l_mesg_list NUMBER;
67    l_retn_status VARCHAR2(30);
68 
69  BEGIN
70    IF (l_debug = 'Y') THEN
71      gmd_debug.put_line('In insert_operation_activity private.');
72    END IF;
73 
74    /* Initially let us assign the return status to success */
75    x_return_status := FND_API.g_ret_sts_success;
76 
77    /* get values for row who cols */
78    IF NOT gmd_api_grp.setup_done THEN
79       gmd_api_grp.setup_done := gmd_api_grp.setup;
80    END IF;
81    IF NOT gmd_api_grp.setup_done THEN
82       RAISE setup_failure;
83    END IF;
84 
85    /* insert operation activities */
86    IF (l_debug = 'Y') THEN
87      gmd_debug.put_line('Begin Loop - in insert_operation_activity loop (private). '||
88                          ' Curr Activity is ' || p_oprn_activity.activity);
89    END IF;
90 
91    insert into GMD_OPERATION_ACTIVITIES (
92                OPRN_LINE_ID,
93                OPRN_ID,
94                ACTIVITY ,
95                OFFSET_INTERVAL,
96                ACTIVITY_FACTOR,
97                DELETE_MARK ,
98                SEQUENCE_DEPENDENT_IND,
99                BREAK_IND,
100                MAX_BREAK,
101                MATERIAL_IND,
102                ATTRIBUTE1,
103                ATTRIBUTE2,
104                ATTRIBUTE3,
105                ATTRIBUTE4,
106                ATTRIBUTE5,
107                ATTRIBUTE6,
108                ATTRIBUTE7,
109                ATTRIBUTE8,
110                ATTRIBUTE9,
111                ATTRIBUTE10,
112                ATTRIBUTE11,
113                ATTRIBUTE12,
114                ATTRIBUTE13,
115                ATTRIBUTE14,
116                ATTRIBUTE15,
117                ATTRIBUTE16,
118                ATTRIBUTE17,
119                ATTRIBUTE18,
120                ATTRIBUTE19,
121                ATTRIBUTE20,
122                ATTRIBUTE21,
123                ATTRIBUTE30,
124                ATTRIBUTE_CATEGORY,
125                ATTRIBUTE25,
126                ATTRIBUTE26,
127                ATTRIBUTE27,
128                ATTRIBUTE28,
129                ATTRIBUTE29,
130                ATTRIBUTE22,
131                ATTRIBUTE23,
132                ATTRIBUTE24,
133                CREATION_DATE,
134                CREATED_BY,
135                LAST_UPDATE_DATE,
136                LAST_UPDATED_BY,
137                LAST_UPDATE_LOGIN      )
138         values (
139                p_oprn_activity.OPRN_LINE_ID,
140                NVL(p_oprn_id, p_oprn_activity.OPRN_ID),
141                p_oprn_activity.ACTIVITY ,
142                p_oprn_activity.OFFSET_INTERVAL,
143                p_oprn_activity.ACTIVITY_FACTOR,
144                0 ,
145                p_oprn_activity.SEQUENCE_DEPENDENT_IND,
146                p_oprn_activity.break_ind,
147                p_oprn_activity.max_break,
148                p_oprn_activity.material_ind,
149                p_oprn_activity.ATTRIBUTE1,
150                p_oprn_activity.ATTRIBUTE2,
151                p_oprn_activity.ATTRIBUTE3,
152                p_oprn_activity.ATTRIBUTE4,
153                p_oprn_activity.ATTRIBUTE5,
154                p_oprn_activity.ATTRIBUTE6,
155                p_oprn_activity.ATTRIBUTE7,
156                p_oprn_activity.ATTRIBUTE8,
157                p_oprn_activity.ATTRIBUTE9,
158                p_oprn_activity.ATTRIBUTE10,
159                p_oprn_activity.ATTRIBUTE11,
160                p_oprn_activity.ATTRIBUTE12,
161                p_oprn_activity.ATTRIBUTE13,
162                p_oprn_activity.ATTRIBUTE14,
163                p_oprn_activity.ATTRIBUTE15,
164                p_oprn_activity.ATTRIBUTE16,
165                p_oprn_activity.ATTRIBUTE17,
166                p_oprn_activity.ATTRIBUTE18,
167                p_oprn_activity.ATTRIBUTE19,
168                p_oprn_activity.ATTRIBUTE20,
169                p_oprn_activity.ATTRIBUTE21,
170                p_oprn_activity.ATTRIBUTE30,
171                p_oprn_activity.ATTRIBUTE_CATEGORY,
172                p_oprn_activity.ATTRIBUTE25,
173                p_oprn_activity.ATTRIBUTE26,
174                p_oprn_activity.ATTRIBUTE27,
175                p_oprn_activity.ATTRIBUTE28,
176                p_oprn_activity.ATTRIBUTE29,
177                p_oprn_activity.ATTRIBUTE22,
178                p_oprn_activity.ATTRIBUTE23,
179                p_oprn_activity.ATTRIBUTE24,
180                sysdate,
181                gmd_api_grp.user_id,
182                sysdate,
183                gmd_api_grp.user_id,
184                gmd_api_grp.user_id);
185 
186     IF (l_debug = 'Y') THEN
187       gmd_debug.put_line('End insert_operation_activity private');
188     END IF;
189 
190   EXCEPTION
191      WHEN setup_failure THEN
192          x_return_status := FND_API.G_RET_STS_ERROR;
193 
194       WHEN OTHERS THEN
195           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
196           FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
197           FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
198           FND_MSG_PUB.ADD;
199           FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
200           			       P_data  => x_message_list);
201   END insert_operation_activity;
202 
203   /*===============================================
204   Procedure
205      update_operation_activity
206   Description
207     This particular procedure is used to update an
208     operation activity Parameters
209   ================================================ */
210   PROCEDURE update_operation_activity
211   ( p_oprn_line_id	IN	gmd_operation_activities.oprn_line_id%TYPE
212   , p_update_table	IN	gmd_operation_activities_pub.update_tbl_type
213   , x_message_count 	OUT NOCOPY  	NUMBER
214   , x_message_list 	OUT NOCOPY  	VARCHAR2
215   , x_return_status	OUT NOCOPY  	VARCHAR2)    IS
216 
217     CURSOR retrieve_oprn_actv( p_oprn_line_id	gmd_operation_activities.oprn_line_id%TYPE ) IS
218        SELECT *
219        FROM gmd_operation_activities
220        WHERE oprn_line_Id = p_oprn_line_id;
221 
222     v_oprn_actv_update_rec   gmd_operation_activities%ROWTYPE;
223     l_errmsg     		VARCHAR2(240);
224     setup_failure  		EXCEPTION;
225    BEGIN
226      IF (l_debug = 'Y') THEN
227        gmd_debug.put_line(' In update_operation_activity private');
228      END IF;
229 
230      /* Initially let us assign the return status to success */
231      x_return_status := FND_API.g_ret_sts_success;
232 
233      OPEN retrieve_oprn_actv(p_oprn_line_id);
234      FETCH retrieve_oprn_actv INTO v_oprn_actv_update_rec;
235      CLOSE retrieve_oprn_actv;
236 
237      FOR i IN 1 .. p_update_table.count LOOP
238        IF (l_debug = 'Y') THEN
239          gmd_debug.put_line('Begin Loop - in update_operation_activity loop (private). '||
240                             'Col to update is ' || p_update_table(i).p_col_to_update);
241        END IF;
242 
243        IF  UPPER(p_update_table(i).p_col_to_update) = 'OFFSET_INTERVAL' THEN
244         	     v_oprn_actv_update_rec.offset_interval := p_update_table(i).p_value;
245        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ACTIVITY_FACTOR' THEN
246         	     v_oprn_actv_update_rec.activity_factor := p_update_table(i).p_value;
247        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ACTIVITY' THEN
248         	     v_oprn_actv_update_rec.activity := p_update_table(i).p_value;
249        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'SEQUENCE_DEPENDENT_IND' THEN
250         	     v_oprn_actv_update_rec.sequence_dependent_ind := p_update_table(i).p_value;
251        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'BREAK_IND' THEN
252         	     v_oprn_actv_update_rec.break_ind := p_update_table(i).p_value;
253        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'MAX_BREAK' THEN
254                    v_oprn_actv_update_rec.max_break := p_update_table(i).p_value;
255        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'MATERIAL_IND' THEN
256                    v_oprn_actv_update_rec.material_ind := p_update_table(i).p_value;
257        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'DELETE_MARK' THEN
258         	     v_oprn_actv_update_rec.delete_mark := p_update_table(i).p_value;
259        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE1' THEN
260                       v_oprn_actv_update_rec.attribute1 := p_update_table(i).p_value;
261        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE2' THEN
262         	     v_oprn_actv_update_rec.attribute2 := p_update_table(i).p_value;
263        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE3' THEN
264         	     v_oprn_actv_update_rec.attribute3 := p_update_table(i).p_value;
265        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE4' THEN
266         	     v_oprn_actv_update_rec.attribute4 := p_update_table(i).p_value;
267        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE5' THEN
268         	     v_oprn_actv_update_rec.attribute5 := p_update_table(i).p_value;
269        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE6' THEN
270         	     v_oprn_actv_update_rec.attribute6 := p_update_table(i).p_value;
271        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE7' THEN
272         	     v_oprn_actv_update_rec.attribute7 := p_update_table(i).p_value;
273        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE8' THEN
274         	     v_oprn_actv_update_rec.attribute8 := p_update_table(i).p_value;
275        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE9' THEN
276         	     v_oprn_actv_update_rec.attribute9 := p_update_table(i).p_value;
277        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE10' THEN
278         	     v_oprn_actv_update_rec.attribute10 := p_update_table(i).p_value;
279        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE11' THEN
280         	     v_oprn_actv_update_rec.attribute11 := p_update_table(i).p_value;
281        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE12' THEN
282         	     v_oprn_actv_update_rec.attribute12 := p_update_table(i).p_value;
283        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE13' THEN
284         	     v_oprn_actv_update_rec.attribute13 := p_update_table(i).p_value;
285        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE14' THEN
286         	     v_oprn_actv_update_rec.attribute14 := p_update_table(i).p_value;
287        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE15' THEN
288         	     v_oprn_actv_update_rec.attribute15 := p_update_table(i).p_value;
289        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE16' THEN
290         	     v_oprn_actv_update_rec.attribute16 := p_update_table(i).p_value;
291        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE17' THEN
292         	     v_oprn_actv_update_rec.attribute17 := p_update_table(i).p_value;
293        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE18' THEN
294         	     v_oprn_actv_update_rec.attribute18 := p_update_table(i).p_value;
295        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE19' THEN
296         	     v_oprn_actv_update_rec.attribute19 := p_update_table(i).p_value;
297        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE20' THEN
298         	     v_oprn_actv_update_rec.attribute20 := p_update_table(i).p_value;
299        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE21' THEN
300         	     v_oprn_actv_update_rec.attribute21 := p_update_table(i).p_value;
301        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE22' THEN
302         	     v_oprn_actv_update_rec.attribute22 := p_update_table(i).p_value;
303        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE23' THEN
304         	     v_oprn_actv_update_rec.attribute23 := p_update_table(i).p_value;
305        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE24' THEN
306         	     v_oprn_actv_update_rec.attribute24 := p_update_table(i).p_value;
307        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE25' THEN
308         	     v_oprn_actv_update_rec.attribute25 := p_update_table(i).p_value;
309        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE26' THEN
310         	     v_oprn_actv_update_rec.attribute26 := p_update_table(i).p_value;
311        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE27' THEN
312         	     v_oprn_actv_update_rec.attribute27 := p_update_table(i).p_value;
313        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE28' THEN
314         	     v_oprn_actv_update_rec.attribute28 := p_update_table(i).p_value;
315        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE29' THEN
316         	     v_oprn_actv_update_rec.attribute29 := p_update_table(i).p_value;
317        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE30' THEN
318         	     v_oprn_actv_update_rec.attribute30 := p_update_table(i).p_value;
319        ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE_CATEGORY' THEN
320         	     v_oprn_actv_update_rec.attribute_category := p_update_table(i).p_value;
321        END IF;
322 
323 
324       IF (l_debug = 'Y') THEN
325         gmd_debug.put_line('Update_operation_activity private - after set cols for activities tbl.  Col to update is ' || p_update_table(i).p_col_to_update);
326       END IF;
327 
328      END LOOP;
329 
330      IF x_return_status = 'S' THEN
331         /* Set row who columns */
332         IF NOT gmd_api_grp.setup_done THEN
333            gmd_api_grp.setup_done := gmd_api_grp.setup;
334         END IF;
335         IF NOT gmd_api_grp.setup_done THEN
336            RAISE setup_failure;
337         END IF;
338 
339         IF (l_debug = 'Y') THEN
340           gmd_debug.put_line('before update table -  update_operation_activity private');
341         END IF;
342 
343        	update  GMD_OPERATION_ACTIVITIES
344        	set     ACTIVITY   = v_oprn_actv_update_rec.activity,
345                 OFFSET_INTERVAL = v_oprn_actv_update_rec.offset_interval,
346                 ACTIVITY_FACTOR = v_oprn_actv_update_rec.activity_factor,
347                 DELETE_MARK = v_oprn_actv_update_rec.delete_mark,
348                 SEQUENCE_DEPENDENT_IND = v_oprn_actv_update_rec.sequence_dependent_ind,
349                 BREAK_IND = v_oprn_actv_update_rec.break_ind,
350                 MAX_BREAK = v_oprn_actv_update_rec.max_break,
351                 MATERIAL_IND = v_oprn_actv_update_rec.material_ind,
352                 ATTRIBUTE1 = v_oprn_actv_update_rec.attribute1,
353             	ATTRIBUTE2 = v_oprn_actv_update_rec.attribute2,
354             	ATTRIBUTE3 = v_oprn_actv_update_rec.attribute3,
355             	ATTRIBUTE4 = v_oprn_actv_update_rec.attribute4,
356             	ATTRIBUTE5 = v_oprn_actv_update_rec.attribute5,
357             	ATTRIBUTE6 = v_oprn_actv_update_rec.attribute6,
358             	ATTRIBUTE7 = v_oprn_actv_update_rec.attribute7,
359             	ATTRIBUTE8 = v_oprn_actv_update_rec.attribute8,
360             	ATTRIBUTE9 = v_oprn_actv_update_rec.attribute9,
361             	ATTRIBUTE10 = v_oprn_actv_update_rec.attribute10,
362             	ATTRIBUTE11 = v_oprn_actv_update_rec.attribute11,
363             	ATTRIBUTE12 = v_oprn_actv_update_rec.attribute12,
364             	ATTRIBUTE13 = v_oprn_actv_update_rec.attribute13,
365             	ATTRIBUTE14 = v_oprn_actv_update_rec.attribute14,
366             	ATTRIBUTE15 = v_oprn_actv_update_rec.attribute15,
367             	ATTRIBUTE16 = v_oprn_actv_update_rec.attribute16,
368             	ATTRIBUTE17 = v_oprn_actv_update_rec.attribute17,
369             	ATTRIBUTE18 = v_oprn_actv_update_rec.attribute18,
370             	ATTRIBUTE19 = v_oprn_actv_update_rec.attribute19,
371             	ATTRIBUTE20 = v_oprn_actv_update_rec.attribute20,
372             	ATTRIBUTE21 = v_oprn_actv_update_rec.attribute21,
373             	ATTRIBUTE30 = v_oprn_actv_update_rec.attribute30,
374          	ATTRIBUTE_CATEGORY = v_oprn_actv_update_rec.attribute_category,
375         	ATTRIBUTE25 = v_oprn_actv_update_rec.attribute25,
376             	ATTRIBUTE26 = v_oprn_actv_update_rec.attribute26,
377             	ATTRIBUTE27 = v_oprn_actv_update_rec.attribute27,
378             	ATTRIBUTE28 = v_oprn_actv_update_rec.attribute28,
379             	ATTRIBUTE29 = v_oprn_actv_update_rec.attribute29,
380             	ATTRIBUTE22 = v_oprn_actv_update_rec.attribute22,
381             	ATTRIBUTE23 = v_oprn_actv_update_rec.attribute23,
382             	ATTRIBUTE24 = v_oprn_actv_update_rec.attribute24,
383             	LAST_UPDATE_DATE = sysdate,
384             	LAST_UPDATED_BY = gmd_api_grp.user_id,
385             	LAST_UPDATE_LOGIN  = gmd_api_grp.user_id
386           where oprn_line_id = p_oprn_line_id;
387      END IF;
388 
389      IF (l_debug = 'Y') THEN
390        gmd_debug.put_line('END of update_operation_activity private');
391      END IF;
392 
393   EXCEPTION
394      WHEN setup_failure THEN
395         x_return_status := FND_API.G_RET_STS_ERROR;
396 
397      WHEN OTHERS THEN
398          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
399          FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
400          FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
401          FND_MSG_PUB.ADD;
402          FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
403        			            P_data  => x_message_list);
404 
405   END update_operation_activity;
406 
407   /*===========================================================================================
408   Procedure
409      delete_operation_activity
410   Description
411     This particular procedure is used to delete an operation activity
412   Parameters
413   ================================================ */
414   PROCEDURE delete_operation_activity
415   ( p_oprn_line_id		IN	gmd_operation_activities.oprn_line_id%TYPE
416   , x_message_count 		OUT NOCOPY  	NUMBER
417   , x_message_list 		OUT NOCOPY  	VARCHAR2
418   , x_return_status		OUT NOCOPY  	VARCHAR2) IS
419 
420           setup_failure  		EXCEPTION;
421           l_errmsg     		VARCHAR2(240);
422 
423   BEGIN
424     /* begin delete operation activity PVT*/
425     DELETE from GMD_OPERATION_ACTIVITIES
426     WHERE oprn_line_id = p_oprn_line_id;
427 
428     /* delete associated operation resources */
429     DELETE from GMD_OPERATION_RESOURCES
430     WHERE oprn_line_id = p_oprn_line_id;
431 
432     IF (l_debug = 'Y') THEN
433       gmd_debug.put_line('END of delete_operation_activity PVT');
434     END IF;
435 
436 
437       EXCEPTION
438          WHEN setup_failure THEN
439              x_return_status := FND_API.G_RET_STS_ERROR;
440 
441           WHEN OTHERS THEN
442               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
443               FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
444               FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
445               FND_MSG_PUB.ADD;
446               FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
447             			                         P_data  => x_message_list);
448 
449            l_errmsg := sqlerrm;
450 
451 
452 END delete_operation_activity;
453 
454 END GMD_OPERATION_ACTIVITIES_PVT;