DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_OPERATION_RESOURCES_PVT

Source


1 PACKAGE BODY GMD_OPERATION_RESOURCES_PVT AS
2 /*  $Header: GMDVOPRB.pls 120.0 2005/05/26 01:03:54 appldev noship $ */
3 /*
4  +=========================================================================+
5  | FILENAME                                                                |
6  |     GMDVOPRB.pls                                                        |
7  |                                                                         |
8  | DESCRIPTION                                                             |
9  |     This package contains private definitions for  			   |
10  |     creating, modifying, deleting operation resources                   |
11  |                                                                         |
12  | HISTORY                                                                 |
13  |     27-SEP-2002  Sandra Dulyk    Created                                |
14  |     25-NOV-2002  Thomas Daniel   Bug# 2679110                           |
15  |                                  Added checks to handle the errors and  |
16  |                                  also added further validations         |
17  |    20-FEB-2004  NSRIVAST         Bug# 3222090,Removed call to           |
18  |                                  FND_PROFILE.VALUE('AFLOG_ENABLED')     |
19  +=========================================================================+
20   API Name  : GMD_OPERATION_RESOURCES_PVT
21   Type      : Private
22   Function  : This package contains private procedures used to create, modify, and delete operation resources
23   Pre-reqs  : N/A
24   Parameters: Per function
25 
26   Current Vers  : 1.0
27 
28   Previous Vers : 1.0
29 
30   Initial Vers  : 1.0
31   Notes
32 */
33 
34 --Bug 3222090, NSRIVAST 20-FEB-2004, BEGIN
35 --Forward declaration.
36    FUNCTION set_debug_flag RETURN VARCHAR2;
37    l_debug VARCHAR2(1) := set_debug_flag;
38 
39    FUNCTION set_debug_flag RETURN VARCHAR2 IS
40    l_debug VARCHAR2(1):= 'N';
41    BEGIN
42     IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
43       l_debug := 'Y';
44     END IF;
45     RETURN l_debug;
46    END set_debug_flag;
47 --Bug 3222090, NSRIVAST 20-FEB-2004, END
48 
49 /*===========================================================================================
50 Procedure
51    insert_operation_resources
52 Description
53   This particular procedure is used to insert an operation resources
54 Parameters
55 ================================================ */
56 PROCEDURE insert_operation_resources
57 (p_oprn_line_id		IN	gmd_operation_activities.oprn_line_id%TYPE
58 , p_oprn_rsrc_tbl		IN GMD_OPERATION_RESOURCES_PUB.gmd_oprn_resources_tbl_type
59 , x_message_count 		OUT NOCOPY  	NUMBER
60 , x_message_list 		OUT NOCOPY  	VARCHAR2
61 , x_return_status		OUT NOCOPY  	VARCHAR2)       IS
62 
63   CURSOR Cur_check_resource (V_oprn_line_id NUMBER, V_resources VARCHAR2) IS
64     SELECT activity
65     FROM   gmd_operation_resources a, gmd_operation_activities b
66     WHERE  a.oprn_line_id = V_oprn_line_id
67     AND    resources = V_resources
68     AND    a.oprn_line_id = b.oprn_line_id;
69 
70    l_mesg_count		NUMBER;
71    l_mesg_list		VARCHAR2(240);
72    l_retn_status	VARCHAR2(1);
73    l_activity		gmd_activities.activity%TYPE;
74 
75 BEGIN
76     IF (l_debug = 'Y') THEN
77       gmd_debug.put_line('In insert_operation_resources public.');
78     END IF;
79 
80     /* Initially let us assign the return status to success */
81     x_return_status := FND_API.g_ret_sts_success;
82 
83     /* set row who columns */
84     IF NOT gmd_api_grp.setup_done THEN
85       gmd_api_grp.setup_done := gmd_api_grp.setup;
86       IF NOT gmd_api_grp.setup_done THEN
87          RAISE FND_API.G_EXC_ERROR;
88       END IF;
89     END IF;
90 
91     /*Before insert operation resources loop */
92     FOR i in 1 .. p_oprn_rsrc_tbl.count LOOP
93       /* Before inserting the resource let us check if this resource already exists */
94       /* for the current operation */
95       OPEN Cur_check_resource (p_oprn_line_id, p_oprn_rsrc_tbl(i).RESOURCES);
96       FETCH Cur_check_resource INTO l_activity;
97       IF Cur_check_resource%FOUND THEN
98         CLOSE Cur_check_resource;
99         FND_MESSAGE.SET_NAME('GMD', 'GMD_DUP_ACTV_RSRC');
100         FND_MESSAGE.SET_TOKEN('RESOURCE', p_oprn_rsrc_tbl(i).resources);
101         FND_MESSAGE.SET_TOKEN('ACTIVITY', l_activity);
102         FND_MSG_PUB.ADD;
103         RAISE FND_API.G_EXC_ERROR;
104       END IF;
105       CLOSE Cur_check_resource;
106 
107 
108             insert into GMD_OPERATION_RESOURCES (
109     	                    OPRN_LINE_ID,
110                                        RESOURCES ,
111                                        RESOURCE_USAGE         ,
112                                       RESOURCE_COUNT         ,
113                                       resource_usage_uom               ,
114                                       PROCESS_QTY        ,
115                                       RESOURCE_PROCESS_UOM        ,
116                                       PRIM_RSRC_IND       ,
117                                       SCALE_TYPE             ,
118                                       COST_ANALYSIS_CODE     ,
119                                       COST_CMPNTCLS_ID       ,
120                                       OFFSET_INTERVAL        ,
121                                       DELETE_MARK            ,
122                                       MIN_CAPACITY          ,
123                                       MAX_CAPACITY          ,
124                                       resource_capacity_uom          ,
125                                       ATTRIBUTE_CATEGORY     ,
126                                       ATTRIBUTE1             ,
127                                       ATTRIBUTE2             ,
128                                       ATTRIBUTE3             ,
129                                       ATTRIBUTE4             ,
130                                       ATTRIBUTE5             ,
131                                       ATTRIBUTE6             ,
132                                       ATTRIBUTE7             ,
133                                       ATTRIBUTE8             ,
134                                       ATTRIBUTE9             ,
135                                       ATTRIBUTE10            ,
136                                       ATTRIBUTE11            ,
137                                       ATTRIBUTE12            ,
138                                       ATTRIBUTE13            ,
139                                       ATTRIBUTE14            ,
140                                       ATTRIBUTE15            ,
141                                       ATTRIBUTE16            ,
142                                       ATTRIBUTE17            ,
143                                       ATTRIBUTE18        ,
144                                        ATTRIBUTE19        ,
145                                       ATTRIBUTE20          ,
146                                       ATTRIBUTE21           ,
147                                       ATTRIBUTE22            ,
148                                       ATTRIBUTE23            ,
149                                       ATTRIBUTE24            ,
150                                       ATTRIBUTE25            ,
151                                       ATTRIBUTE26            ,
152                                       ATTRIBUTE27            ,
153                                       ATTRIBUTE28            ,
154                                       ATTRIBUTE29            ,
155                                       ATTRIBUTE30            ,
156                                       CREATION_DATE      ,
157                                       CREATED_BY             ,
158                                       LAST_UPDATE_DATE,
159                                       LAST_UPDATED_BY   ,
160                                       LAST_UPDATE_LOGIN  )
161             	     values (
162        	          		       p_oprn_line_id,
163                                        p_oprn_rsrc_tbl(i).RESOURCES              ,
164                                        p_oprn_rsrc_tbl(i).RESOURCE_USAGE  ,
165                                        p_oprn_rsrc_tbl(i).RESOURCE_COUNT   ,
166                                        p_oprn_rsrc_tbl(i).resource_usage_uom               ,
167                                        p_oprn_rsrc_tbl(i).PROCESS_QTY        ,
168                                        p_oprn_rsrc_tbl(i).RESOURCE_PROCESS_UOM        ,
169                                        p_oprn_rsrc_tbl(i).PRIM_RSRC_IND       ,
170                                        p_oprn_rsrc_tbl(i).SCALE_TYPE             ,
171                                       p_oprn_rsrc_tbl(i).COST_ANALYSIS_CODE     ,
172                                       p_oprn_rsrc_tbl(i).COST_CMPNTCLS_ID       ,
173                                       p_oprn_rsrc_tbl(i).OFFSET_INTERVAL        ,
174                                       0        ,
175                                       p_oprn_rsrc_tbl(i).MIN_CAPACITY          ,
176                                       p_oprn_rsrc_tbl(i).MAX_CAPACITY          ,
177                                       p_oprn_rsrc_tbl(i).resource_capacity_uom          ,
178                                       p_oprn_rsrc_tbl(i).ATTRIBUTE_CATEGORY     ,
179                                       p_oprn_rsrc_tbl(i).ATTRIBUTE1             ,
180                                       p_oprn_rsrc_tbl(i).ATTRIBUTE2             ,
181                                       p_oprn_rsrc_tbl(i).ATTRIBUTE3             ,
182                                       p_oprn_rsrc_tbl(i).ATTRIBUTE4             ,
183                                       p_oprn_rsrc_tbl(i).ATTRIBUTE5             ,
184                                       p_oprn_rsrc_tbl(i).ATTRIBUTE6             ,
185                                       p_oprn_rsrc_tbl(i).ATTRIBUTE7             ,
186                                       p_oprn_rsrc_tbl(i).ATTRIBUTE8             ,
187                                       p_oprn_rsrc_tbl(i).ATTRIBUTE9             ,
188                                       p_oprn_rsrc_tbl(i).ATTRIBUTE10            ,
189                                       p_oprn_rsrc_tbl(i).ATTRIBUTE11            ,
190                                       p_oprn_rsrc_tbl(i).ATTRIBUTE12            ,
191                                       p_oprn_rsrc_tbl(i).ATTRIBUTE13            ,
192                                       p_oprn_rsrc_tbl(i).ATTRIBUTE14            ,
193                                       p_oprn_rsrc_tbl(i).ATTRIBUTE15            ,
194                                       p_oprn_rsrc_tbl(i).ATTRIBUTE16            ,
195                                       p_oprn_rsrc_tbl(i).ATTRIBUTE17            ,
196                                       p_oprn_rsrc_tbl(i).ATTRIBUTE18        ,
197                                        p_oprn_rsrc_tbl(i).ATTRIBUTE19        ,
198                                       p_oprn_rsrc_tbl(i).ATTRIBUTE20          ,
199                                       p_oprn_rsrc_tbl(i).ATTRIBUTE21           ,
200                                       p_oprn_rsrc_tbl(i).ATTRIBUTE22            ,
201                                       p_oprn_rsrc_tbl(i).ATTRIBUTE23            ,
202                                       p_oprn_rsrc_tbl(i).ATTRIBUTE24            ,
203                                       p_oprn_rsrc_tbl(i).ATTRIBUTE25            ,
204                                       p_oprn_rsrc_tbl(i).ATTRIBUTE26            ,
205                                       p_oprn_rsrc_tbl(i).ATTRIBUTE27            ,
206                                       p_oprn_rsrc_tbl(i).ATTRIBUTE28            ,
207                                       p_oprn_rsrc_tbl(i).ATTRIBUTE29            ,
208                                       p_oprn_rsrc_tbl(i).ATTRIBUTE30            ,
209             	                     sysdate,
210             	                     gmd_api_grp.user_id,
211             	                     sysdate,
212             	                     gmd_api_grp.user_id,
213             	                     gmd_api_grp.user_id);
214            END LOOP;
215            IF (l_debug = 'Y') THEN
216              gmd_debug.put_line('End insert oprn rsrc loop -  insert_operation_rsrc private');
217            END IF;
218 
219    EXCEPTION
220      WHEN FND_API.G_EXC_ERROR THEN
221          x_return_status := FND_API.G_RET_STS_ERROR;
222      WHEN OTHERS THEN
223          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
224          FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
225          FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
226          FND_MSG_PUB.ADD;
227          FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
228          			    P_data  => x_message_list);
229 
230 
231 END insert_operation_resources;
232 
233 /*===========================================================================================
234 Procedure
235    update_operation_resources
236 Description
237   This particular procedure is used to update operation resources
238 Parameters
239 ================================================ */
240 PROCEDURE update_operation_resources
241 ( p_oprn_line_id		IN	gmd_operation_resources.oprn_line_id%TYPE
242 , p_resources			IN	gmd_operation_resources.resources%TYPE
243 , p_update_table		IN	gmd_operation_resources_pub.update_tbl_type
244 , x_message_count 		OUT NOCOPY  	NUMBER
245 , x_message_list 		OUT NOCOPY  	VARCHAR2
246 , x_return_status		OUT NOCOPY  	VARCHAR2)    IS
247 
248    l_mesg_count		NUMBER;
249    l_mesg_list		VARCHAR2(240);
250    l_retn_status		VARCHAR2(1);
251     v_oprn_rsrc_update_rec       gmd_operation_resources%ROWTYPE;
252     l_rsrc_usage 		varchar2(100);
253     setup_failure EXCEPTION;
254 
255     CURSOR get_resource_info(p_oprn_line_id gmd_operation_resources.oprn_line_id%TYPE , p_resources gmd_operation_resources.resources%TYPE)  IS
256        SELECT *
257        FROM gmd_operation_resources
258        WHERE oprn_line_id = p_oprn_line_id
259          AND resources = p_resources;
260 
261 BEGIN
262 
263 /* Initially let us assign the return status to success */
264     x_return_status := FND_API.g_ret_sts_success;
265 
266     IF (l_debug = 'Y') THEN
267 
268       gmd_debug.put_line('Start of update_operation_rsrc PVT');
269     END IF;
270 
271     OPEN get_resource_info(p_oprn_line_id, p_resources);
272     FETCH get_resource_info INTO v_oprn_rsrc_update_rec;
273     CLOSE get_resource_info;
274 
275       FOR i IN 1 .. p_update_table.count LOOP
276         IF (l_debug = 'Y') THEN
277 
278           gmd_debug.put_line('Begin Loop - in update_operation_rsrc loop (private).  Col to update is ' || p_update_table(i).p_col_to_update);
279         END IF;
280 
281          IF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCE_USAGE' THEN
282     	     v_oprn_rsrc_update_rec.resource_usage := p_update_table(i).p_value;
283          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCES' THEN
284     	     v_oprn_rsrc_update_rec.resources := p_update_table(i).p_value;
285          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'resource_usage_uom' THEN
286           	     v_oprn_rsrc_update_rec.resource_usage_uom := p_update_table(i).p_value;
287          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'PROCESS_QTY' THEN
288           	     v_oprn_rsrc_update_rec.process_qty := p_update_table(i).p_value;
289          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'SCALE_TYPE' THEN
290           	     v_oprn_rsrc_update_rec.scale_type := p_update_table(i).p_value;
291          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'COST_CMPNTCLS_ID' THEN
292           	     v_oprn_rsrc_update_rec.cost_cmpntcls_id := p_update_table(i).p_value;
293          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'COST_ANALYSIS_CODE' THEN
294           	     v_oprn_rsrc_update_rec.cost_analysis_code := p_update_table(i).p_value;
295         ELSIF UPPER(p_update_table(i).p_col_to_update) = 'PRIM_RSRC_IND' THEN
296           	     v_oprn_rsrc_update_rec.prim_rsrc_ind := p_update_table(i).p_value;
297         ELSIF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCE_COUNT' THEN
298           	     v_oprn_rsrc_update_rec.resource_count := p_update_table(i).p_value;
299          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'OFFSET_INTERVAL' THEN
300           	     v_oprn_rsrc_update_rec.offset_interval := p_update_table(i).p_value;
301         ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE1' THEN
302                         v_oprn_rsrc_update_rec.attribute1 := p_update_table(i).p_value;
303          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE2' THEN
304           	     v_oprn_rsrc_update_rec.attribute2 := p_update_table(i).p_value;
305          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE3' THEN
306           	     v_oprn_rsrc_update_rec.attribute3 := p_update_table(i).p_value;
307          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE4' THEN
308           	     v_oprn_rsrc_update_rec.attribute4 := p_update_table(i).p_value;
309          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE5' THEN
310           	     v_oprn_rsrc_update_rec.attribute5 := p_update_table(i).p_value;
311          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE6' THEN
312           	     v_oprn_rsrc_update_rec.attribute6 := p_update_table(i).p_value;
313          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE7' THEN
314           	     v_oprn_rsrc_update_rec.attribute7 := p_update_table(i).p_value;
315          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE8' THEN
316           	     v_oprn_rsrc_update_rec.attribute8 := p_update_table(i).p_value;
317          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE9' THEN
318           	     v_oprn_rsrc_update_rec.attribute9 := p_update_table(i).p_value;
319          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE10' THEN
320           	     v_oprn_rsrc_update_rec.attribute10 := p_update_table(i).p_value;
321          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE11' THEN
322           	     v_oprn_rsrc_update_rec.attribute11 := p_update_table(i).p_value;
323          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE12' THEN
324           	     v_oprn_rsrc_update_rec.attribute12 := p_update_table(i).p_value;
325          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE13' THEN
326           	     v_oprn_rsrc_update_rec.attribute13 := p_update_table(i).p_value;
327          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE14' THEN
328           	     v_oprn_rsrc_update_rec.attribute14 := p_update_table(i).p_value;
329          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE15' THEN
330           	     v_oprn_rsrc_update_rec.attribute15 := p_update_table(i).p_value;
331          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE16' THEN
332           	     v_oprn_rsrc_update_rec.attribute16 := p_update_table(i).p_value;
333          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE17' THEN
334           	     v_oprn_rsrc_update_rec.attribute17 := p_update_table(i).p_value;
335          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE18' THEN
336           	     v_oprn_rsrc_update_rec.attribute18 := p_update_table(i).p_value;
337          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE19' THEN
338           	     v_oprn_rsrc_update_rec.attribute19 := p_update_table(i).p_value;
339          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE20' THEN
340           	     v_oprn_rsrc_update_rec.attribute20 := p_update_table(i).p_value;
341          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE21' THEN
342           	     v_oprn_rsrc_update_rec.attribute21 := p_update_table(i).p_value;
343          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE22' THEN
344           	     v_oprn_rsrc_update_rec.attribute22 := p_update_table(i).p_value;
345          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE23' THEN
346           	     v_oprn_rsrc_update_rec.attribute23 := p_update_table(i).p_value;
347          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE24' THEN
348           	     v_oprn_rsrc_update_rec.attribute24 := p_update_table(i).p_value;
349          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE25' THEN
350           	     v_oprn_rsrc_update_rec.attribute25 := p_update_table(i).p_value;
351          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE26' THEN
352           	     v_oprn_rsrc_update_rec.attribute26 := p_update_table(i).p_value;
353          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE27' THEN
354           	     v_oprn_rsrc_update_rec.attribute27 := p_update_table(i).p_value;
355          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE28' THEN
356           	     v_oprn_rsrc_update_rec.attribute28 := p_update_table(i).p_value;
357          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE29' THEN
358           	     v_oprn_rsrc_update_rec.attribute29 := p_update_table(i).p_value;
359          ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE30' THEN
360           	     v_oprn_rsrc_update_rec.attribute30 := p_update_table(i).p_value;
361         ELSIF UPPER(p_update_table(i).p_col_to_update) = 'ATTRIBUTE_CATEGORY' THEN
362           	     v_oprn_rsrc_update_rec.attribute_category := p_update_table(i).p_value;
363          END IF;
364 
365       IF (l_debug = 'Y') THEN
366 
367         gmd_debug.put_line('Update_operation_rsrc private - after set cols for rsrc tbl.  Col to update is ' || p_update_table(i).p_col_to_update);
368       END IF;
369 
370     END LOOP;
371 
372      IF x_return_status = 'S' THEN
373 
374          /* Set row who columns */
375          FND_PROFILE.put('USER_ID', 2060);
376          IF NOT gmd_api_grp.setup_done THEN
377             gmd_api_grp.setup_done := gmd_api_grp.setup;
378          END IF;
379          IF NOT gmd_api_grp.setup_done THEN
380            RAISE setup_failure;
381          END IF;
382 
383       IF (l_debug = 'Y') THEN
384 
385         gmd_debug.put_line('before update table -  update_operation_rsrc private');
386       END IF;
387 
388    	update GMD_OPERATION_RESOURCES
389        	set           RESOURCE_USAGE       = v_oprn_rsrc_update_rec.resource_usage,
390         RESOURCES           = v_oprn_rsrc_update_rec.resources,
391  		RESOURCE_COUNT      = v_oprn_rsrc_update_rec.resource_count,
392  		resource_usage_uom            = v_oprn_rsrc_update_rec.resource_usage_uom,
393  		PROCESS_QTY         = v_oprn_rsrc_update_rec.process_qty,
394  		RESOURCE_PROCESS_UOM         = v_oprn_rsrc_update_rec.RESOURCE_PROCESS_UOM,
395  		PRIM_RSRC_IND       = v_oprn_rsrc_update_rec.prim_rsrc_ind,
396  		SCALE_TYPE          = v_oprn_rsrc_update_rec.scale_type,
397  		COST_ANALYSIS_CODE  = v_oprn_rsrc_update_rec.cost_analysis_code,
398  		COST_CMPNTCLS_ID    = v_oprn_rsrc_update_rec.cost_cmpntcls_id,
399  		OFFSET_INTERVAL     = v_oprn_rsrc_update_rec.offset_interval,
400   	                     ATTRIBUTE1 = v_oprn_rsrc_update_rec.attribute1,
401             	                     ATTRIBUTE2 = v_oprn_rsrc_update_rec.attribute2,
402             	                     ATTRIBUTE3 = v_oprn_rsrc_update_rec.attribute3,
403             	                     ATTRIBUTE4 = v_oprn_rsrc_update_rec.attribute4,
404             	                     ATTRIBUTE5 = v_oprn_rsrc_update_rec.attribute5,
405             	                     ATTRIBUTE6 = v_oprn_rsrc_update_rec.attribute6,
406             	                     ATTRIBUTE7 = v_oprn_rsrc_update_rec.attribute7,
407             	                     ATTRIBUTE8 = v_oprn_rsrc_update_rec.attribute8,
408             	                     ATTRIBUTE9 = v_oprn_rsrc_update_rec.attribute9,
409             	                     ATTRIBUTE10 = v_oprn_rsrc_update_rec.attribute10,
410             	                     ATTRIBUTE11 = v_oprn_rsrc_update_rec.attribute11,
411             	                     ATTRIBUTE12 = v_oprn_rsrc_update_rec.attribute12,
412             	                     ATTRIBUTE13 = v_oprn_rsrc_update_rec.attribute13,
413             	                     ATTRIBUTE14 = v_oprn_rsrc_update_rec.attribute14,
414             	                     ATTRIBUTE15 = v_oprn_rsrc_update_rec.attribute15,
415             	                     ATTRIBUTE16 = v_oprn_rsrc_update_rec.attribute16,
416             	                     ATTRIBUTE17 = v_oprn_rsrc_update_rec.attribute17,
417             	                     ATTRIBUTE18 = v_oprn_rsrc_update_rec.attribute18,
418             	                     ATTRIBUTE19 = v_oprn_rsrc_update_rec.attribute19,
419             	                     ATTRIBUTE20 = v_oprn_rsrc_update_rec.attribute20,
420             	                     ATTRIBUTE21 = v_oprn_rsrc_update_rec.attribute21,
421             	                     ATTRIBUTE30 = v_oprn_rsrc_update_rec.attribute30,
422          	                     ATTRIBUTE_CATEGORY = v_oprn_rsrc_update_rec.attribute_category,
423         		  ATTRIBUTE25 = v_oprn_rsrc_update_rec.attribute25,
424             	                     ATTRIBUTE26 = v_oprn_rsrc_update_rec.attribute26,
425             	                     ATTRIBUTE27 = v_oprn_rsrc_update_rec.attribute27,
426             	                     ATTRIBUTE28 = v_oprn_rsrc_update_rec.attribute28,
427             	                     ATTRIBUTE29 = v_oprn_rsrc_update_rec.attribute29,
428             	                     ATTRIBUTE22 = v_oprn_rsrc_update_rec.attribute22,
429             	                     ATTRIBUTE23 = v_oprn_rsrc_update_rec.attribute23,
430             	                     ATTRIBUTE24 = v_oprn_rsrc_update_rec.attribute24,
431             	                     LAST_UPDATE_DATE = sysdate,
432             	                     LAST_UPDATED_BY = gmd_api_grp.user_id,
433             	                     LAST_UPDATE_LOGIN  = gmd_api_grp.user_id
434             	        where oprn_line_id = p_oprn_line_id
435             	              and resources = p_resources;
436 
437        END IF;
438 
439 
440    IF (l_debug = 'Y') THEN
441 
442      gmd_debug.put_line('END of update_operation_resource PVT');
443    END IF;
444 
445    EXCEPTION
446      WHEN setup_failure THEN
447          x_return_status := FND_API.G_RET_STS_ERROR;
448      WHEN OTHERS THEN
449          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
450          FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
451          FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
452          FND_MSG_PUB.ADD;
453          FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
454          			                         P_data  => x_message_list);
455 
456 
457 END update_operation_resources;
458 
459 /*===========================================================================================
460 Procedure
461    delete_operation_resources
462 Description
463   This particular procedure is used to delete operation resources
464 Parameters
465 ================================================ */
466 PROCEDURE delete_operation_resource
467 ( p_oprn_line_id		IN	gmd_operation_resources.oprn_line_id%TYPE
468 , p_resources			IN 	gmd_operation_resources.resources%TYPE
469 , x_message_count 		OUT NOCOPY  	NUMBER
470 , x_message_list 		OUT NOCOPY  	VARCHAR2
471 , x_return_status		OUT NOCOPY  	VARCHAR2)  IS
472 
473    l_mesg_count		NUMBER;
474    l_mesg_list		VARCHAR2(240);
475    l_retn_status		VARCHAR2(1);
476    setup_failure        EXCEPTION;
477 BEGIN
478 
479    /* Initially let us assign the return status to success */
480     x_return_status := FND_API.g_ret_sts_success;
481 
482    /* Set row who columns */
483    FND_PROFILE.put('USER_ID', 2060);
484    IF NOT gmd_api_grp.setup_done THEN
485        gmd_api_grp.setup_done := gmd_api_grp.setup;
486    END IF;
487    IF NOT gmd_api_grp.setup_done THEN
488        RAISE setup_failure;
489    END IF;
490 
491     IF (l_debug = 'Y') THEN
492       gmd_debug.put_line('START of delete_operation_resources PVT');
493     END IF;
494 
495    DELETE from GMD_OPERATION_RESOURCES
496    WHERE oprn_line_id = p_oprn_line_id
497         and resources = p_resources;
498 
499        IF (l_debug = 'Y') THEN
500 
501          gmd_debug.put_line('END of delete_operation_resources PVT');
502        END IF;
503 
504    EXCEPTION
505     WHEN setup_failure THEN
506          x_return_status := FND_API.G_RET_STS_ERROR;
507     WHEN OTHERS THEN
508          x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
509          FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
510          FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
511          FND_MSG_PUB.ADD;
512          FND_MSG_PUB.COUNT_AND_GET (P_count => x_message_count,
513          			                         P_data  => x_message_list);
514 
515 
516 END delete_operation_resource;
517 
518 END GMD_OPERATION_RESOURCES_PVT;