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