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