DBA Data[Home] [Help]

PACKAGE BODY: APPS.EAM_NETWORK_ASSETS_PVT

Source


1 PACKAGE BODY EAM_NETWORK_ASSETS_PVT as
2 /* $Header: EAMVNWKB.pls 115.1 2002/11/22 22:56:01 aan noship $ */
3  -- Start of comments
4  -- API name    : EAM_NETWORK_ASSETS_PVT
5  -- Type     : Private
6  -- Function :
7  -- Pre-reqs : None.
8  -- Parameters  :
9  -- IN       P_API_VERSION                 IN NUMBER       REQUIRED
10  --          P_INIT_MSG_LIST               IN VARCHAR2     OPTIONAL
11  --             DEFAULT = FND_API.G_FALSE
12  --          P_COMMIT                      IN VARCHAR2     OPTIONAL
13  --             DEFAULT = FND_API.G_FALSE
14  --          P_VALIDATION_LEVEL            IN NUMBER       OPTIONAL
15  --             DEFAULT = FND_API.G_VALID_LEVEL_FULL
16  --          P_ROWID                       IN OUT VARCHAR2 REQUIRED
17  --          P_NETWORK_ASSOCIATION_ID     IN OUT NUMBER   REQUIRED
18  --          P_ORGANIZATION_ID             IN  NUMBER      REQUIRED
19  --          P_NETWORK_OBJECT_TYPE           IN  NUMBER      REQUIRED
20  --          P_NETWORK_OBJECT_ID           IN  NUMBER      REQUIRED
21  --          P_MAINTENANCE_OBJECT_TYPE           IN  NUMBER      REQUIRED
22  --          P_MAINTENANCE_OBJECT_ID           IN  NUMBER      REQUIRED
23  --          P_INVENTORY_ITEM_ID           IN  NUMBER      REQUIRED
24  --          P_SERIAL_NUMBER               IN  VARCHAR2    OPTIONAL
25  --          P_START_DATE_ACTIVE           IN  DATE        OPTIONAL
26  --          P_END_DATE_ACTIVE             IN  DATE        OPTIONAL
27  --          P_LAST_UPDATE_DATE            IN  DATE        REQUIRED
28  --          P_LAST_UPDATED_BY             IN  NUMBER      REQUIRED
29  --          P_CREATION_DATE               IN  DATE        REQUIRED
30  --          P_CREATED_BY                  IN  NUMBER      REQUIRED
31  --          P_LAST_UPDATE_LOGIN           IN  NUMBER      REQUIRED
32  --          P_ATTRIBUTE_CATEGORY          IN  VARCHAR2    OPTIONAL
33  --          P_ATTRIBUTE1                  IN  VARCHAR2    OPTIONAL
34  --          P_ATTRIBUTE2                  IN  VARCHAR2    OPTIONAL
35  --          P_ATTRIBUTE3                  IN  VARCHAR2    OPTIONAL
36  --          P_ATTRIBUTE4                  IN  VARCHAR2    OPTIONAL
37  --          P_ATTRIBUTE5                  IN  VARCHAR2    OPTIONAL
38  --          P_ATTRIBUTE6                  IN  VARCHAR2    OPTIONAL
39  --          P_ATTRIBUTE7                  IN  VARCHAR2    OPTIONAL
40  --          P_ATTRIBUTE8                  IN  VARCHAR2    OPTIONAL
41  --          P_ATTRIBUTE9                  IN  VARCHAR2    OPTIONAL
42  --          P_ATTRIBUTE10                 IN  VARCHAR2    OPTIONAL
43  --          P_ATTRIBUTE11                 IN  VARCHAR2    OPTIONAL
44  --          P_ATTRIBUTE12                 IN  VARCHAR2    OPTIONAL
45  --          P_ATTRIBUTE13                 IN  VARCHAR2    OPTIONAL
46  --          P_ATTRIBUTE14                 IN  VARCHAR2    OPTIONAL
47  --          P_ATTRIBUTE15                 IN  VARCHAR2    OPTIONAL
48  --          P_REQUEST_ID                  IN  NUMBER DEFAULT NULL OPTIONAL
49  --          P_PROGRAM_APPLICATION_ID      IN  NUMBER DEFAULT NULL OPTIONAL
50  --          P_PROGRAM_ID                  IN  NUMBER DEFAULT NULL OPTIONAL
51  --          P_PROGRAM_UPDATE_DATE         IN  DATE DEFAULT NULL
52  -- OUT      X_RETURN_STATUS               OUT VARCHAR2(1)
53  --          X_MSG_COUNT                   OUT NUMBER
54  --          X_MSG_DATA                    OUT VARCHAR2(2000)
55  --
56  -- Version  Current version 115.0
57  --
58  -- Notes    : Note text
59  --
60  -- End of comments
61 
62    g_pkg_name    CONSTANT VARCHAR2(30):= 'eam_network_assets_pvt';
63 
64 
65 PROCEDURE INSERT_ROW(
66   P_API_VERSION IN NUMBER,
67   P_INIT_MSG_LIST IN VARCHAR2 := FND_API.G_FALSE,
68   P_COMMIT IN VARCHAR2 := FND_API.G_FALSE,
69   P_VALIDATION_LEVEL IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
70   P_ROWID                         IN OUT NOCOPY VARCHAR2,
71   P_NETWORK_ASSOCIATION_ID       IN OUT NOCOPY NUMBER,
72   P_ORGANIZATION_ID               NUMBER,
73   P_NETWORK_OBJECT_TYPE           NUMBER,
74   P_NETWORK_OBJECT_ID             NUMBER,
75   P_MAINTENANCE_OBJECT_TYPE       NUMBER,
76   P_MAINTENANCE_OBJECT_ID	  NUMBER,
77   P_NETWORK_ITEM_ID      NUMBER,
78   P_NETWORK_SERIAL_NUMBER VARCHAR2,
79   P_INVENTORY_ITEM_ID    NUMBER,
80   P_SERIAL_NUMBER 	     VARCHAR2,
81   P_START_DATE_ACTIVE             DATE,
82   P_END_DATE_ACTIVE               DATE,
83   P_LAST_UPDATE_DATE              DATE,
84   P_LAST_UPDATED_BY               NUMBER,
85   P_CREATION_DATE                 DATE,
86   P_CREATED_BY                    NUMBER,
87   P_LAST_UPDATE_LOGIN             NUMBER,
88   P_ATTRIBUTE_CATEGORY            VARCHAR2,
89   P_ATTRIBUTE1                    VARCHAR2,
90   P_ATTRIBUTE2                    VARCHAR2,
91   P_ATTRIBUTE3                    VARCHAR2,
92   P_ATTRIBUTE4                    VARCHAR2,
93   P_ATTRIBUTE5                    VARCHAR2,
94   P_ATTRIBUTE6                    VARCHAR2,
95   P_ATTRIBUTE7                    VARCHAR2,
96   P_ATTRIBUTE8                    VARCHAR2,
97   P_ATTRIBUTE9                    VARCHAR2,
98   P_ATTRIBUTE10                   VARCHAR2,
99   P_ATTRIBUTE11                   VARCHAR2,
100   P_ATTRIBUTE12                   VARCHAR2,
101   P_ATTRIBUTE13                   VARCHAR2,
102   P_ATTRIBUTE14                   VARCHAR2,
103   P_ATTRIBUTE15                   VARCHAR2,
104   P_REQUEST_ID                    NUMBER,
105   P_PROGRAM_APPLICATION_ID        NUMBER,
106   P_PROGRAM_ID                    NUMBER,
107   P_PROGRAM_UPDATE_DATE           DATE,
108   X_RETURN_STATUS OUT NOCOPY VARCHAR2,
109   X_MSG_COUNT OUT NOCOPY NUMBER,
110   X_MSG_DATA OUT NOCOPY VARCHAR2
111   ) IS
112     l_api_name       CONSTANT VARCHAR2(30) := 'insert_row';
113     l_api_version    CONSTANT NUMBER       := 1.0;
114     l_full_name      CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
115 
116     CURSOR C IS SELECT rowid FROM MTL_EAM_NETWORK_ASSETS
117                  WHERE NETWORK_ASSOCIATION_ID = P_NETWORK_ASSOCIATION_ID;
118 
119    BEGIN
120 
121    -- Standard Start of API savepoint
122       SAVEPOINT insert_row;
123 
124    -- Standard call to check for call compatibility.
125       IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
126          RAISE fnd_api.g_exc_unexpected_error;
127       END IF;
128 
129    -- Initialize message list if p_init_msg_list is set to TRUE.
130       IF fnd_api.to_boolean(p_init_msg_list) THEN
131          fnd_msg_pub.initialize;
132       END IF;
133 
134    -- Initialize API return status to success
135       x_return_status := fnd_api.g_ret_sts_success;
136 
137    -- API body
138 
139        INSERT INTO MTL_EAM_NETWORK_ASSETS(
140        NETWORK_ASSOCIATION_ID,
141        ORGANIZATION_ID,
142        NETWORK_OBJECT_TYPE,
143        NETWORK_OBJECT_ID,
144        MAINTENANCE_OBJECT_TYPE,
145        MAINTENANCE_OBJECT_ID,
146        NETWORK_ITEM_ID,
147        NETWORK_SERIAL_NUMBER,
148        INVENTORY_ITEM_ID,
149        SERIAL_NUMBER,
150        START_DATE_ACTIVE,
151        END_DATE_ACTIVE,
152        LAST_UPDATE_DATE,
153        LAST_UPDATED_BY,
154        CREATION_DATE,
155        CREATED_BY,
156        LAST_UPDATE_LOGIN,
157        ATTRIBUTE_CATEGORY,
158        ATTRIBUTE1,
159        ATTRIBUTE2,
160        ATTRIBUTE3,
161        ATTRIBUTE4,
162        ATTRIBUTE5,
163        ATTRIBUTE6,
164        ATTRIBUTE7,
165        ATTRIBUTE8,
166        ATTRIBUTE9,
167        ATTRIBUTE10,
168        ATTRIBUTE11,
169        ATTRIBUTE12,
170        ATTRIBUTE13,
171        ATTRIBUTE14,
172        ATTRIBUTE15,
173        REQUEST_ID,
174        PROGRAM_APPLICATION_ID,
175        PROGRAM_ID,
176        PROGRAM_UPDATE_DATE
177        ) VALUES (
178        mtl_eam_network_assets_s.nextval,
179        P_ORGANIZATION_ID ,
180        P_NETWORK_OBJECT_TYPE ,
181        P_NETWORK_OBJECT_ID,
182        P_MAINTENANCE_OBJECT_TYPE,
183        P_MAINTENANCE_OBJECT_ID,
184        P_NETWORK_ITEM_ID,
185        P_NETWORK_SERIAL_NUMBER,
186        P_INVENTORY_ITEM_ID,
187        P_SERIAL_NUMBER,
188        P_START_DATE_ACTIVE,
189        P_END_DATE_ACTIVE,
190        P_LAST_UPDATE_DATE,
191        P_LAST_UPDATED_BY,
192        P_CREATION_DATE,
193        P_CREATED_BY,
194        P_LAST_UPDATE_LOGIN,
195        P_ATTRIBUTE_CATEGORY,
196        P_ATTRIBUTE1,
197        P_ATTRIBUTE2,
198        P_ATTRIBUTE3,
199        P_ATTRIBUTE4,
200        P_ATTRIBUTE5,
201        P_ATTRIBUTE6,
202        P_ATTRIBUTE7,
203        P_ATTRIBUTE8,
204        P_ATTRIBUTE9,
205        P_ATTRIBUTE10,
206        P_ATTRIBUTE11,
207        P_ATTRIBUTE12,
208        P_ATTRIBUTE13,
209        P_ATTRIBUTE14,
210        P_ATTRIBUTE15,
211        P_REQUEST_ID,
212        P_PROGRAM_APPLICATION_ID,
213        P_PROGRAM_ID,
214        P_PROGRAM_UPDATE_DATE
215        ) returning network_association_id, rowid into P_NETWORK_ASSOCIATION_ID, P_ROWID;
216 
217     OPEN C;
218     FETCH C INTO P_Rowid;
219     if (C%NOTFOUND) then
220       CLOSE C;
221       Raise NO_DATA_FOUND;
222     end if;
223     CLOSE C;
224 
225    -- End of API body.
226    -- Standard check of p_commit.
227       IF fnd_api.to_boolean(p_commit) THEN
228          COMMIT WORK;
229       END IF;
230 
231    -- Standard call to get message count and if count is 1, get message info.
232       fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
233    EXCEPTION
234       WHEN fnd_api.g_exc_error THEN
235          ROLLBACK TO insert_row;
236          x_return_status := fnd_api.g_ret_sts_error;
237          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
238       WHEN fnd_api.g_exc_unexpected_error THEN
239          ROLLBACK TO insert_row;
240          x_return_status := fnd_api.g_ret_sts_unexp_error;
241          fnd_msg_pub.count_and_get(
242             p_count => x_msg_count
243            ,p_data => x_msg_data);
244       WHEN OTHERS THEN
245          ROLLBACK TO insert_row;
246          x_return_status := fnd_api.g_ret_sts_unexp_error;
247 
248          IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
249             fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
250          END IF;
251 
252          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
253 
254   END Insert_Row;
255 
256 PROCEDURE LOCK_ROW(
257   P_API_VERSION IN NUMBER,
258     P_INIT_MSG_LIST IN VARCHAR2 := FND_API.G_FALSE,
259     P_COMMIT IN VARCHAR2 := FND_API.G_FALSE,
260     P_VALIDATION_LEVEL IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
261     P_ROWID                         VARCHAR2,
262     P_NETWORK_ASSOCIATION_ID        NUMBER,
263     P_ORGANIZATION_ID               NUMBER,
264     P_NETWORK_OBJECT_TYPE           NUMBER,
265     P_NETWORK_OBJECT_ID             NUMBER,
266     P_MAINTENANCE_OBJECT_TYPE	  NUMBER,
267     P_MAINTENANCE_OBJECT_ID	  NUMBER,
268     P_NETWORK_ITEM_ID      NUMBER,
269   P_NETWORK_SERIAL_NUMBER VARCHAR2,
270   P_INVENTORY_ITEM_ID    NUMBER,
271   P_SERIAL_NUMBER 	     VARCHAR2,
272     P_START_DATE_ACTIVE             DATE,
273     P_END_DATE_ACTIVE               DATE,
274     P_ATTRIBUTE_CATEGORY            VARCHAR2,
275     P_ATTRIBUTE1                    VARCHAR2,
276     P_ATTRIBUTE2                    VARCHAR2,
277     P_ATTRIBUTE3                    VARCHAR2,
278     P_ATTRIBUTE4                    VARCHAR2,
279     P_ATTRIBUTE5                    VARCHAR2,
280     P_ATTRIBUTE6                    VARCHAR2,
281     P_ATTRIBUTE7                    VARCHAR2,
282     P_ATTRIBUTE8                    VARCHAR2,
283     P_ATTRIBUTE9                    VARCHAR2,
284     P_ATTRIBUTE10                   VARCHAR2,
285     P_ATTRIBUTE11                   VARCHAR2,
286     P_ATTRIBUTE12                   VARCHAR2,
287     P_ATTRIBUTE13                   VARCHAR2,
288     P_ATTRIBUTE14                   VARCHAR2,
289     P_ATTRIBUTE15                   VARCHAR2,
290     P_REQUEST_ID                    NUMBER,
291     P_PROGRAM_APPLICATION_ID        NUMBER,
292     P_PROGRAM_ID                    NUMBER,
293     P_PROGRAM_UPDATE_DATE           DATE,
294     X_RETURN_STATUS OUT NOCOPY VARCHAR2,
295     X_MSG_COUNT OUT NOCOPY NUMBER,
296   X_MSG_DATA OUT NOCOPY VARCHAR2
297   ) IS
298     l_api_name       CONSTANT VARCHAR2(30) := 'lock_row';
299     l_api_version    CONSTANT NUMBER       := 1.0;
300     l_full_name      CONSTANT VARCHAR2(60)   := g_pkg_name || '.' || l_api_name;
301 
302     CURSOR C IS
303         SELECT *
304         FROM   MTL_EAM_NETWORK_ASSETS
305         WHERE  rowid = P_Rowid
306         FOR UPDATE of NETWORK_ASSOCIATION_ID NOWAIT;
307     Recinfo C%ROWTYPE;
308 
309   BEGIN
310 
311    -- Standard Start of API savepoint
312       SAVEPOINT lock_row;
313 
314    -- Standard call to check for call compatibility.
315       IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
316          RAISE fnd_api.g_exc_unexpected_error;
317       END IF;
318 
319    -- Initialize message list if p_init_msg_list is set to TRUE.
320       IF fnd_api.to_boolean(p_init_msg_list) THEN
321          fnd_msg_pub.initialize;
322       END IF;
323 
324    -- Initialize API return status to success
325       x_return_status := fnd_api.g_ret_sts_success;
326 
327    -- API body
328 
329     OPEN C;
330     FETCH C INTO Recinfo;
331     if (C%NOTFOUND) then
332       CLOSE C;
333       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
334       APP_EXCEPTION.Raise_Exception;
335     end if;
336     CLOSE C;
337     if (
338        (Recinfo.NETWORK_ASSOCIATION_ID =  P_NETWORK_ASSOCIATION_ID)
339        AND (   (Recinfo.ORGANIZATION_ID =  P_ORGANIZATION_ID)
340             OR (    (Recinfo.ORGANIZATION_ID IS NULL)
341                 AND (P_ORGANIZATION_ID IS NULL)))
342        AND (Recinfo.NETWORK_OBJECT_TYPE =  P_NETWORK_OBJECT_TYPE)
343        AND (Recinfo.NETWORK_OBJECT_ID =  P_NETWORK_OBJECT_ID)
344        AND (Recinfo.MAINTENANCE_OBJECT_TYPE =  P_MAINTENANCE_OBJECT_TYPE)
345        AND (Recinfo.MAINTENANCE_OBJECT_ID =  P_MAINTENANCE_OBJECT_ID)
346        AND (Recinfo.NETWORK_ITEM_ID =  P_NETWORK_ITEM_ID)
347        AND (Recinfo.NETWORK_SERIAL_NUMBER =  P_NETWORK_SERIAL_NUMBER)
348        AND (Recinfo.INVENTORY_ITEM_ID =  P_INVENTORY_ITEM_ID)
349        AND (Recinfo.SERIAL_NUMBER =  P_SERIAL_NUMBER)
350        AND (   (Recinfo.START_DATE_ACTIVE =  P_START_DATE_ACTIVE)
351             OR (    (Recinfo.START_DATE_ACTIVE IS NULL)
352                 AND (P_START_DATE_ACTIVE IS NULL)))
353        AND (   (Recinfo.END_DATE_ACTIVE =  P_END_DATE_ACTIVE)
354             OR (    (Recinfo.END_DATE_ACTIVE IS NULL)
355                 AND (P_END_DATE_ACTIVE IS NULL)))
356        AND (   (Recinfo.attribute_category =  P_Attribute_Category)
357             OR (    (Recinfo.attribute_category IS NULL)
358                 AND (P_Attribute_Category IS NULL)))
359        AND (   (Recinfo.attribute1 =  P_Attribute1)
363             OR (    (Recinfo.attribute2 IS NULL)
360             OR (    (Recinfo.attribute1 IS NULL)
361                 AND (P_Attribute1 IS NULL)))
362        AND (   (Recinfo.attribute2 =  P_Attribute2)
364                 AND (P_Attribute2 IS NULL)))
365        AND (   (Recinfo.attribute3 =  P_Attribute3)
366             OR (    (Recinfo.attribute3 IS NULL)
367                 AND (P_Attribute3 IS NULL)))
368        AND (   (Recinfo.attribute4 =  P_Attribute4)
369             OR (    (Recinfo.attribute4 IS NULL)
370                 AND (P_Attribute4 IS NULL)))
371        AND (   (Recinfo.attribute5 =  P_Attribute5)
372             OR (    (Recinfo.attribute5 IS NULL)
373                 AND (P_Attribute5 IS NULL)))
374        AND (   (Recinfo.attribute6 =  P_Attribute6)
375             OR (    (Recinfo.attribute6 IS NULL)
376                 AND (P_Attribute6 IS NULL)))
377        AND (   (Recinfo.attribute7 =  P_Attribute7)
378             OR (    (Recinfo.attribute7 IS NULL)
379                 AND (P_Attribute7 IS NULL)))
380        AND (   (Recinfo.attribute8 =  P_Attribute8)
381             OR (    (Recinfo.attribute8 IS NULL)
382                 AND (P_Attribute8 IS NULL)))
383        AND (   (Recinfo.attribute9 =  P_Attribute9)
384             OR (    (Recinfo.attribute9 IS NULL)
385                 AND (P_Attribute9 IS NULL)))
386        AND (   (Recinfo.attribute10 =  P_Attribute10)
387             OR (    (Recinfo.attribute10 IS NULL)
388                 AND (P_Attribute10 IS NULL)))
389        AND (   (Recinfo.attribute11 =  P_Attribute11)
390             OR (    (Recinfo.attribute11 IS NULL)
391                 AND (P_Attribute11 IS NULL)))
392        AND (   (Recinfo.attribute12 =  P_Attribute12)
393             OR (    (Recinfo.attribute12 IS NULL)
394                 AND (P_Attribute12 IS NULL)))
395        AND (   (Recinfo.attribute13 =  P_Attribute13)
396             OR (    (Recinfo.attribute13 IS NULL)
397                 AND (P_Attribute13 IS NULL)))
398        AND (   (Recinfo.attribute14 =  P_Attribute14)
399             OR (    (Recinfo.attribute14 IS NULL)
400                 AND (P_Attribute14 IS NULL)))
401        AND (   (Recinfo.attribute15 =  P_Attribute15)
402             OR (    (Recinfo.attribute15 IS NULL)
403                 AND (P_Attribute15 IS NULL)))
404        AND (   (Recinfo.REQUEST_ID = P_REQUEST_ID)
405             OR (    (Recinfo.REQUEST_ID IS NULL)
406                 AND (P_REQUEST_ID IS NULL)))
407        AND (   (Recinfo.PROGRAM_APPLICATION_ID = P_PROGRAM_APPLICATION_ID)
408             OR (    (Recinfo.PROGRAM_APPLICATION_ID IS NULL)
409                 AND (P_PROGRAM_APPLICATION_ID IS NULL)))
410        AND (   (Recinfo.PROGRAM_ID = P_PROGRAM_ID)
411             OR (    (Recinfo.PROGRAM_ID IS NULL)
412                 AND (P_PROGRAM_ID IS NULL)))
413        AND (   (Recinfo.PROGRAM_UPDATE_DATE = P_PROGRAM_UPDATE_DATE)
414             OR (    (Recinfo.PROGRAM_UPDATE_DATE IS NULL)
415                 AND (P_PROGRAM_UPDATE_DATE IS NULL)))
416       ) then
417       return;
418     else
419       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
420       APP_EXCEPTION.Raise_Exception;
421     end if;
422 
423    -- End of API body.
424    -- Standard check of p_commit.
425       IF fnd_api.to_boolean(p_commit) THEN
426          COMMIT WORK;
427       END IF;
428 
429    -- Standard call to get message count and if count is 1, get message info.
430       fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
431    EXCEPTION
432       WHEN fnd_api.g_exc_error THEN
433          ROLLBACK TO lock_row;
434          x_return_status := fnd_api.g_ret_sts_error;
435          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
436       WHEN fnd_api.g_exc_unexpected_error THEN
437          ROLLBACK TO lock_row;
438          x_return_status := fnd_api.g_ret_sts_unexp_error;
439          fnd_msg_pub.count_and_get(
440             p_count => x_msg_count
441            ,p_data => x_msg_data);
442       WHEN OTHERS THEN
443          ROLLBACK TO lock_row;
444          x_return_status := fnd_api.g_ret_sts_unexp_error;
445 
446          IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
447             fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
448          END IF;
449 
450          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
451 
452   END Lock_Row;
453 
454 PROCEDURE UPDATE_ROW(
455   P_API_VERSION IN NUMBER,
456   P_INIT_MSG_LIST IN VARCHAR2 := FND_API.G_FALSE,
457   P_COMMIT IN VARCHAR2 := FND_API.G_FALSE,
458   P_VALIDATION_LEVEL IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
459   P_ROWID                         VARCHAR2,
460   P_NETWORK_ASSOCIATION_ID       NUMBER,
461   P_ORGANIZATION_ID               NUMBER,
462   P_NETWORK_OBJECT_TYPE           NUMBER,
463   P_NETWORK_OBJECT_ID             NUMBER,
464   P_MAINTENANCE_OBJECT_TYPE       NUMBER,
465   P_MAINTENANCE_OBJECT_ID	  NUMBER,
466   P_NETWORK_ITEM_ID      NUMBER,
467   P_NETWORK_SERIAL_NUMBER VARCHAR2,
468   P_INVENTORY_ITEM_ID    NUMBER,
469   P_SERIAL_NUMBER 	     VARCHAR2,
470   P_START_DATE_ACTIVE             DATE,
471   P_END_DATE_ACTIVE               DATE,
472   P_LAST_UPDATE_DATE              DATE,
473   P_LAST_UPDATED_BY               NUMBER,
474   P_LAST_UPDATE_LOGIN             NUMBER,
475   P_ATTRIBUTE_CATEGORY            VARCHAR2,
476   P_ATTRIBUTE1                    VARCHAR2,
477   P_ATTRIBUTE2                    VARCHAR2,
478   P_ATTRIBUTE3                    VARCHAR2,
479   P_ATTRIBUTE4                    VARCHAR2,
480   P_ATTRIBUTE5                    VARCHAR2,
481   P_ATTRIBUTE6                    VARCHAR2,
482   P_ATTRIBUTE7                    VARCHAR2,
483   P_ATTRIBUTE8                    VARCHAR2,
484   P_ATTRIBUTE9                    VARCHAR2,
488   P_ATTRIBUTE13                   VARCHAR2,
485   P_ATTRIBUTE10                   VARCHAR2,
486   P_ATTRIBUTE11                   VARCHAR2,
487   P_ATTRIBUTE12                   VARCHAR2,
489   P_ATTRIBUTE14                   VARCHAR2,
490   P_ATTRIBUTE15                   VARCHAR2,
491   P_REQUEST_ID                    NUMBER,
492   P_PROGRAM_APPLICATION_ID        NUMBER,
493   P_PROGRAM_ID                    NUMBER,
494   P_PROGRAM_UPDATE_DATE           DATE,
495   X_RETURN_STATUS OUT NOCOPY VARCHAR2,
496   X_MSG_COUNT OUT NOCOPY NUMBER,
497   X_MSG_DATA OUT NOCOPY VARCHAR2
498   ) IS
499     l_api_name       CONSTANT VARCHAR2(30) := 'update_row';
500     l_api_version    CONSTANT NUMBER       := 1.0;
501     l_full_name      CONSTANT VARCHAR2(60) := g_pkg_name || '.' || l_api_name;
502   BEGIN
503    -- Standard Start of API savepoint
504       SAVEPOINT update_row;
505 
506    -- Standard call to check for call compatibility.
507       IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
508          RAISE fnd_api.g_exc_unexpected_error;
509       END IF;
510 
511    -- Initialize message list if p_init_msg_list is set to TRUE.
512       IF fnd_api.to_boolean(p_init_msg_list) THEN
513          fnd_msg_pub.initialize;
514       END IF;
515 
516    -- Initialize API return status to success
517       x_return_status := fnd_api.g_ret_sts_success;
518 
519    -- API body
520 
521     UPDATE MTL_EAM_NETWORK_ASSETS
522     SET
523      ORGANIZATION_ID                 =     P_ORGANIZATION_ID,
524      MAINTENANCE_OBJECT_TYPE	     =     P_MAINTENANCE_OBJECT_TYPE,
525      MAINTENANCE_OBJECT_ID	         =     P_MAINTENANCE_OBJECT_ID,
526      INVENTORY_ITEM_ID               =     P_INVENTORY_ITEM_ID,
527      SERIAL_NUMBER                   =     P_SERIAL_NUMBER,
528      START_DATE_ACTIVE               =     P_START_DATE_ACTIVE,
529      END_DATE_ACTIVE                 =     P_END_DATE_ACTIVE,
530      LAST_UPDATE_DATE                =     P_LAST_UPDATE_DATE,
531      LAST_UPDATED_BY                 =     P_LAST_UPDATED_BY,
532      LAST_UPDATE_LOGIN               =     P_LAST_UPDATE_LOGIN,
533      ATTRIBUTE_CATEGORY              =     P_ATTRIBUTE_CATEGORY,
534      ATTRIBUTE1                      =     P_ATTRIBUTE1,
535      ATTRIBUTE2                      =     P_ATTRIBUTE2,
536      ATTRIBUTE3                      =     P_ATTRIBUTE3,
537      ATTRIBUTE4                      =     P_ATTRIBUTE4,
538      ATTRIBUTE5                      =     P_ATTRIBUTE5,
539      ATTRIBUTE6                      =     P_ATTRIBUTE6,
540      ATTRIBUTE7                      =     P_ATTRIBUTE7,
541      ATTRIBUTE8                      =     P_ATTRIBUTE8,
542      ATTRIBUTE9                      =     P_ATTRIBUTE9,
543      ATTRIBUTE10                     =     P_ATTRIBUTE10,
544      ATTRIBUTE11                     =     P_ATTRIBUTE11,
545      ATTRIBUTE12                     =     P_ATTRIBUTE12,
546      ATTRIBUTE13                     =     P_ATTRIBUTE13,
547      ATTRIBUTE14                     =     P_ATTRIBUTE14,
548      ATTRIBUTE15                     =     P_ATTRIBUTE15,
549      REQUEST_ID                      =     P_REQUEST_ID,
550      PROGRAM_APPLICATION_ID          =     P_PROGRAM_APPLICATION_ID,
551      PROGRAM_ID                      =     P_PROGRAM_ID,
552      PROGRAM_UPDATE_DATE             =     P_PROGRAM_UPDATE_DATE
553     WHERE ROWID = P_ROWID;
554 
555     if (SQL%NOTFOUND) then
556       Raise NO_DATA_FOUND;
557     end if;
558 
559    -- End of API body.
560    -- Standard check of p_commit.
561       IF fnd_api.to_boolean(p_commit) THEN
562          COMMIT WORK;
563       END IF;
564 
565    -- Standard call to get message count and if count is 1, get message info.
566       fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
567    EXCEPTION
568       WHEN fnd_api.g_exc_error THEN
569          ROLLBACK TO update_row;
570          x_return_status := fnd_api.g_ret_sts_error;
571          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
572       WHEN fnd_api.g_exc_unexpected_error THEN
573          ROLLBACK TO update_row;
574          x_return_status := fnd_api.g_ret_sts_unexp_error;
575          fnd_msg_pub.count_and_get(
576             p_count => x_msg_count
577            ,p_data => x_msg_data);
578       WHEN OTHERS THEN
579          ROLLBACK TO update_row;
580          x_return_status := fnd_api.g_ret_sts_unexp_error;
581 
582          IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
583             fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
584          END IF;
585 
586          fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
587 
588   END Update_Row;
589 
590 END EAM_NETWORK_ASSETS_PVT;