22:
23: -- Hint: Primary key needs to be returned.
24: PROCEDURE Create_Attribute_Usage(
25: p_api_version_number IN NUMBER
26: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
27: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
28: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
29:
30: ,x_return_status OUT NOCOPY VARCHAR2
23: -- Hint: Primary key needs to be returned.
24: PROCEDURE Create_Attribute_Usage(
25: p_api_version_number IN NUMBER
26: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
27: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
28: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
29:
30: ,x_return_status OUT NOCOPY VARCHAR2
31: ,x_msg_count OUT NOCOPY NUMBER
24: PROCEDURE Create_Attribute_Usage(
25: p_api_version_number IN NUMBER
26: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
27: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
28: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
29:
30: ,x_return_status OUT NOCOPY VARCHAR2
31: ,x_msg_count OUT NOCOPY NUMBER
32: ,x_msg_data OUT NOCOPY VARCHAR2
41: l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
42: l_api_version_number CONSTANT NUMBER := 1.0;
43: l_return_status_full VARCHAR2(1);
44: l_object_version_number NUMBER := 1;
45: l_org_id NUMBER := FND_API.G_MISS_NUM;
46: l_attribute_usage_id NUMBER;
47: l_dummy NUMBER;
48: l_attribute_usage_rec attribute_usage_rec_type := p_attribute_usage_rec;
49:
60: -- Standard Start of API savepoint
61: SAVEPOINT CREATE_Attribute_Usage_PVT;
62:
63: -- Standard call to check for call compatibility.
64: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
65: p_api_version_number,
66: l_api_name,
67: G_PKG_NAME)
68: THEN
65: p_api_version_number,
66: l_api_name,
67: G_PKG_NAME)
68: THEN
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: END IF;
71:
72: -- Initialize message list if p_init_msg_list is set to TRUE.
73: IF FND_API.to_Boolean( p_init_msg_list )
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: END IF;
71:
72: -- Initialize message list if p_init_msg_list is set to TRUE.
73: IF FND_API.to_Boolean( p_init_msg_list )
74: THEN
75: FND_MSG_PUB.initialize;
76: END IF;
77:
80: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - start');
81: END IF;
82:
83: -- Initialize API return status to SUCCESS
84: x_return_status := FND_API.G_RET_STS_SUCCESS;
85:
86: -- Local variable initialization
87:
88: IF p_attribute_usage_rec.ATTRIBUTE_USAGE_ID IS NULL
85:
86: -- Local variable initialization
87:
88: IF p_attribute_usage_rec.ATTRIBUTE_USAGE_ID IS NULL
89: OR p_attribute_usage_rec.ATTRIBUTE_USAGE_ID = FND_API.g_miss_num THEN
90: LOOP
91: l_dummy := NULL;
92: OPEN c_id;
93: FETCH c_id INTO l_ATTRIBUTE_USAGE_ID;
109: IF FND_GLOBAL.User_Id IS NULL
110: THEN
111: FND_MESSAGE.set_name('PV', 'PV_API_USER_PROFILE_MISSING');
112: FND_MSG_PUB.add;
113: RAISE FND_API.G_EXC_ERROR;
114: END IF;
115:
116: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
117: THEN
112: FND_MSG_PUB.add;
113: RAISE FND_API.G_EXC_ERROR;
114: END IF;
115:
116: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
117: THEN
118: -- Debug message
119: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
120: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - Validate_Attribute_Usage');
133:
134: -- Invoke validation procedures
135: Validate_attribute_usage(
136: p_api_version_number => 1.0
137: ,p_init_msg_list => FND_API.G_FALSE
138: ,p_validation_level => p_validation_level
139: ,p_validation_mode => JTF_PLSQL_API.g_create
140: ,p_attribute_usage_rec => l_attribute_usage_rec
141: ,x_return_status => x_return_status
145:
146: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Validate_attribute_usage' );
147: END IF;
148:
149: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
150: RAISE FND_API.G_EXC_ERROR;
151: END IF;
152:
153: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Validate' );
146: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Validate_attribute_usage' );
147: END IF;
148:
149: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
150: RAISE FND_API.G_EXC_ERROR;
151: END IF;
152:
153: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Validate' );
154: -- Debug Message
179: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After' );
180:
181: x_attribute_usage_id := l_attribute_usage_id;
182:
183: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
184: RAISE FND_API.G_EXC_ERROR;
185: END IF;
186: --
187: -- End of API body
180:
181: x_attribute_usage_id := l_attribute_usage_id;
182:
183: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
184: RAISE FND_API.G_EXC_ERROR;
185: END IF;
186: --
187: -- End of API body
188: --
187: -- End of API body
188: --
189:
190: -- Standard check for p_commit
191: IF FND_API.to_Boolean( p_commit )
192: THEN
193: COMMIT WORK;
194: END IF;
195:
206: );
207: EXCEPTION
208: /*
209: WHEN PVX_Utility_PVT.resource_locked THEN
210: x_return_status := FND_API.g_ret_sts_error;
211: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
212: */
213: WHEN FND_API.G_EXC_ERROR THEN
214: ROLLBACK TO CREATE_Attribute_Usage_PVT;
209: WHEN PVX_Utility_PVT.resource_locked THEN
210: x_return_status := FND_API.g_ret_sts_error;
211: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
212: */
213: WHEN FND_API.G_EXC_ERROR THEN
214: ROLLBACK TO CREATE_Attribute_Usage_PVT;
215: x_return_status := FND_API.G_RET_STS_ERROR;
216: -- Standard call to get message count and if count=1, get the message
217: FND_MSG_PUB.Count_And_Get (
211: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
212: */
213: WHEN FND_API.G_EXC_ERROR THEN
214: ROLLBACK TO CREATE_Attribute_Usage_PVT;
215: x_return_status := FND_API.G_RET_STS_ERROR;
216: -- Standard call to get message count and if count=1, get the message
217: FND_MSG_PUB.Count_And_Get (
218: p_encoded => FND_API.G_FALSE,
219: p_count => x_msg_count,
214: ROLLBACK TO CREATE_Attribute_Usage_PVT;
215: x_return_status := FND_API.G_RET_STS_ERROR;
216: -- Standard call to get message count and if count=1, get the message
217: FND_MSG_PUB.Count_And_Get (
218: p_encoded => FND_API.G_FALSE,
219: p_count => x_msg_count,
220: p_data => x_msg_data
221: );
222:
219: p_count => x_msg_count,
220: p_data => x_msg_data
221: );
222:
223: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
224: ROLLBACK TO CREATE_Attribute_Usage_PVT;
225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226: -- Standard call to get message count and if count=1, get the message
227: FND_MSG_PUB.Count_And_Get (
221: );
222:
223: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
224: ROLLBACK TO CREATE_Attribute_Usage_PVT;
225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226: -- Standard call to get message count and if count=1, get the message
227: FND_MSG_PUB.Count_And_Get (
228: p_encoded => FND_API.G_FALSE,
229: p_count => x_msg_count,
224: ROLLBACK TO CREATE_Attribute_Usage_PVT;
225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226: -- Standard call to get message count and if count=1, get the message
227: FND_MSG_PUB.Count_And_Get (
228: p_encoded => FND_API.G_FALSE,
229: p_count => x_msg_count,
230: p_data => x_msg_data
231: );
232:
231: );
232:
233: WHEN OTHERS THEN
234: ROLLBACK TO CREATE_Attribute_Usage_PVT;
235: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
236: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
237: THEN
238: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
239: END IF;
238: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
239: END IF;
240: -- Standard call to get message count and if count=1, get the message
241: FND_MSG_PUB.Count_And_Get (
242: p_encoded => FND_API.G_FALSE,
243: p_count => x_msg_count,
244: p_data => x_msg_data
245: );
246: End Create_Attribute_Usage;
247:
248:
249: PROCEDURE Update_Attribute_Usage(
250: p_api_version_number IN NUMBER
251: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
252: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
253: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
254:
255: ,x_return_status OUT NOCOPY VARCHAR2
248:
249: PROCEDURE Update_Attribute_Usage(
250: p_api_version_number IN NUMBER
251: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
252: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
253: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
254:
255: ,x_return_status OUT NOCOPY VARCHAR2
256: ,x_msg_count OUT NOCOPY NUMBER
249: PROCEDURE Update_Attribute_Usage(
250: p_api_version_number IN NUMBER
251: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
252: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
253: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
254:
255: ,x_return_status OUT NOCOPY VARCHAR2
256: ,x_msg_count OUT NOCOPY NUMBER
257: ,x_msg_data OUT NOCOPY VARCHAR2
280: -- Standard Start of API savepoint
281: SAVEPOINT UPDATE_Attribute_Usage_PVT;
282:
283: -- Standard call to check for call compatibility.
284: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
285: p_api_version_number,
286: l_api_name,
287: G_PKG_NAME)
288: THEN
285: p_api_version_number,
286: l_api_name,
287: G_PKG_NAME)
288: THEN
289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
290: END IF;
291:
292: -- Initialize message list if p_init_msg_list is set to TRUE.
293: IF FND_API.to_Boolean( p_init_msg_list )
289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
290: END IF;
291:
292: -- Initialize message list if p_init_msg_list is set to TRUE.
293: IF FND_API.to_Boolean( p_init_msg_list )
294: THEN
295: FND_MSG_PUB.initialize;
296: END IF;
297:
301: END IF;
302:
303:
304: -- Initialize API return status to SUCCESS
305: x_return_status := FND_API.G_RET_STS_SUCCESS;
306:
307: -- Debug Message
308: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
309: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - Open Cursor to Select');
320: FND_MESSAGE.set_token('ENTITY','Attribute_Usage');
321: FND_MESSAGE.set_token('ID',TO_CHAR(l_tar_attribute_usage_rec.attribute_usage_id));
322: FND_MSG_PUB.add;
323: END IF;
324: RAISE FND_API.G_EXC_ERROR;
325: END IF;
326: -- Debug Message
327: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
328: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - Close Cursor');
332:
333:
334:
335: IF (l_tar_attribute_usage_rec.object_version_number is NULL or
336: l_tar_attribute_usage_rec.object_version_number = FND_API.G_MISS_NUM ) Then
337:
338: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
339: FND_MESSAGE.set_name('PV', 'PV_API_VERSION_MISSING');
340: FND_MESSAGE.set_token('COLUMN',TO_CHAR(l_tar_attribute_usage_rec.last_update_date));
339: FND_MESSAGE.set_name('PV', 'PV_API_VERSION_MISSING');
340: FND_MESSAGE.set_token('COLUMN',TO_CHAR(l_tar_attribute_usage_rec.last_update_date));
341: FND_MSG_PUB.add;
342: END IF;
343: RAISE FND_API.G_EXC_ERROR;
344: End if;
345:
346: -- Check Whether record has been changed by someone else
347: If (l_tar_attribute_usage_rec.object_version_number <> l_ref_attribute_usage_rec.object_version_number) Then
349: FND_MESSAGE.set_name('PV', 'PV_API_RECORD_CHANGED');
350: FND_MESSAGE.set_token('VALUE','Attribute_Usage');
351: FND_MSG_PUB.add;
352: END IF;
353: RAISE FND_API.G_EXC_ERROR;
354: End if;
355: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
356: THEN
357: -- Debug message
351: FND_MSG_PUB.add;
352: END IF;
353: RAISE FND_API.G_EXC_ERROR;
354: End if;
355: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
356: THEN
357: -- Debug message
358: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
359: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - Validate_Attribute_Usage');
361:
362: -- Invoke validation procedures
363: Validate_attribute_usage(
364: p_api_version_number => 1.0
365: ,p_init_msg_list => FND_API.G_FALSE
366: ,p_validation_level => p_validation_level
367: ,p_validation_mode => JTF_PLSQL_API.g_update
368: ,p_attribute_usage_rec => p_attribute_usage_rec
369: ,x_return_status => x_return_status
372: );
373:
374: END IF;
375:
376: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
377: RAISE FND_API.G_EXC_ERROR;
378: END IF;
379:
380:
373:
374: END IF;
375:
376: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
377: RAISE FND_API.G_EXC_ERROR;
378: END IF;
379:
380:
381: -- Debug Message
409: -- End of API body.
410: --
411:
412: -- Standard check for p_commit
413: IF FND_API.to_Boolean( p_commit )
414: THEN
415: COMMIT WORK;
416: END IF;
417:
428: );
429: EXCEPTION
430: /*
431: WHEN PVX_Utility_PVT.resource_locked THEN
432: x_return_status := FND_API.g_ret_sts_error;
433: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
434: */
435: WHEN FND_API.G_EXC_ERROR THEN
436: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
431: WHEN PVX_Utility_PVT.resource_locked THEN
432: x_return_status := FND_API.g_ret_sts_error;
433: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
434: */
435: WHEN FND_API.G_EXC_ERROR THEN
436: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
437: x_return_status := FND_API.G_RET_STS_ERROR;
438: -- Standard call to get message count and if count=1, get the message
439: FND_MSG_PUB.Count_And_Get (
433: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
434: */
435: WHEN FND_API.G_EXC_ERROR THEN
436: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
437: x_return_status := FND_API.G_RET_STS_ERROR;
438: -- Standard call to get message count and if count=1, get the message
439: FND_MSG_PUB.Count_And_Get (
440: p_encoded => FND_API.G_FALSE,
441: p_count => x_msg_count,
436: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
437: x_return_status := FND_API.G_RET_STS_ERROR;
438: -- Standard call to get message count and if count=1, get the message
439: FND_MSG_PUB.Count_And_Get (
440: p_encoded => FND_API.G_FALSE,
441: p_count => x_msg_count,
442: p_data => x_msg_data
443: );
444:
441: p_count => x_msg_count,
442: p_data => x_msg_data
443: );
444:
445: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
448: -- Standard call to get message count and if count=1, get the message
449: FND_MSG_PUB.Count_And_Get (
443: );
444:
445: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
448: -- Standard call to get message count and if count=1, get the message
449: FND_MSG_PUB.Count_And_Get (
450: p_encoded => FND_API.G_FALSE,
451: p_count => x_msg_count,
446: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
448: -- Standard call to get message count and if count=1, get the message
449: FND_MSG_PUB.Count_And_Get (
450: p_encoded => FND_API.G_FALSE,
451: p_count => x_msg_count,
452: p_data => x_msg_data
453: );
454:
453: );
454:
455: WHEN OTHERS THEN
456: ROLLBACK TO UPDATE_Attribute_Usage_PVT;
457: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
458: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
459: THEN
460: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
461: END IF;
460: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
461: END IF;
462: -- Standard call to get message count and if count=1, get the message
463: FND_MSG_PUB.Count_And_Get (
464: p_encoded => FND_API.G_FALSE,
465: p_count => x_msg_count,
466: p_data => x_msg_data
467: );
468: End Update_Attribute_Usage;
469:
470:
471: PROCEDURE Delete_Attribute_Usage(
472: p_api_version_number IN NUMBER
473: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
474: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
475: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
476:
477: ,x_return_status OUT NOCOPY VARCHAR2
470:
471: PROCEDURE Delete_Attribute_Usage(
472: p_api_version_number IN NUMBER
473: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
474: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
475: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
476:
477: ,x_return_status OUT NOCOPY VARCHAR2
478: ,x_msg_count OUT NOCOPY NUMBER
471: PROCEDURE Delete_Attribute_Usage(
472: p_api_version_number IN NUMBER
473: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
474: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
475: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
476:
477: ,x_return_status OUT NOCOPY VARCHAR2
478: ,x_msg_count OUT NOCOPY NUMBER
479: ,x_msg_data OUT NOCOPY VARCHAR2
492: -- Standard Start of API savepoint
493: SAVEPOINT DELETE_Attribute_Usage_PVT;
494:
495: -- Standard call to check for call compatibility.
496: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
497: p_api_version_number,
498: l_api_name,
499: G_PKG_NAME)
500: THEN
497: p_api_version_number,
498: l_api_name,
499: G_PKG_NAME)
500: THEN
501: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
502: END IF;
503:
504: -- Initialize message list if p_init_msg_list is set to TRUE.
505: IF FND_API.to_Boolean( p_init_msg_list )
501: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
502: END IF;
503:
504: -- Initialize message list if p_init_msg_list is set to TRUE.
505: IF FND_API.to_Boolean( p_init_msg_list )
506: THEN
507: FND_MSG_PUB.initialize;
508: END IF;
509:
513: END IF;
514:
515:
516: -- Initialize API return status to SUCCESS
517: x_return_status := FND_API.G_RET_STS_SUCCESS;
518:
519: --
520: -- Api body
521: --
532: -- End of API body
533: --
534:
535: -- Standard check for p_commit
536: IF FND_API.to_Boolean( p_commit )
537: THEN
538: COMMIT WORK;
539: END IF;
540:
551: );
552: EXCEPTION
553: /*
554: WHEN PVX_Utility_PVT.resource_locked THEN
555: x_return_status := FND_API.g_ret_sts_error;
556: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
557: */
558: WHEN FND_API.G_EXC_ERROR THEN
559: ROLLBACK TO DELETE_Attribute_Usage_PVT;
554: WHEN PVX_Utility_PVT.resource_locked THEN
555: x_return_status := FND_API.g_ret_sts_error;
556: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
557: */
558: WHEN FND_API.G_EXC_ERROR THEN
559: ROLLBACK TO DELETE_Attribute_Usage_PVT;
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: -- Standard call to get message count and if count=1, get the message
562: FND_MSG_PUB.Count_And_Get (
556: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
557: */
558: WHEN FND_API.G_EXC_ERROR THEN
559: ROLLBACK TO DELETE_Attribute_Usage_PVT;
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: -- Standard call to get message count and if count=1, get the message
562: FND_MSG_PUB.Count_And_Get (
563: p_encoded => FND_API.G_FALSE,
564: p_count => x_msg_count,
559: ROLLBACK TO DELETE_Attribute_Usage_PVT;
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: -- Standard call to get message count and if count=1, get the message
562: FND_MSG_PUB.Count_And_Get (
563: p_encoded => FND_API.G_FALSE,
564: p_count => x_msg_count,
565: p_data => x_msg_data
566: );
567:
564: p_count => x_msg_count,
565: p_data => x_msg_data
566: );
567:
568: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
569: ROLLBACK TO DELETE_Attribute_Usage_PVT;
570: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
571: -- Standard call to get message count and if count=1, get the message
572: FND_MSG_PUB.Count_And_Get (
566: );
567:
568: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
569: ROLLBACK TO DELETE_Attribute_Usage_PVT;
570: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
571: -- Standard call to get message count and if count=1, get the message
572: FND_MSG_PUB.Count_And_Get (
573: p_encoded => FND_API.G_FALSE,
574: p_count => x_msg_count,
569: ROLLBACK TO DELETE_Attribute_Usage_PVT;
570: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
571: -- Standard call to get message count and if count=1, get the message
572: FND_MSG_PUB.Count_And_Get (
573: p_encoded => FND_API.G_FALSE,
574: p_count => x_msg_count,
575: p_data => x_msg_data
576: );
577:
576: );
577:
578: WHEN OTHERS THEN
579: ROLLBACK TO DELETE_Attribute_Usage_PVT;
580: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
581: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
582: THEN
583: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
584: END IF;
583: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
584: END IF;
585: -- Standard call to get message count and if count=1, get the message
586: FND_MSG_PUB.Count_And_Get (
587: p_encoded => FND_API.G_FALSE,
588: p_count => x_msg_count,
589: p_data => x_msg_data
590: );
591: End Delete_Attribute_Usage;
594:
595: -- Hint: Primary key needs to be returned.
596: PROCEDURE Lock_Attribute_Usage(
597: p_api_version_number IN NUMBER
598: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
599:
600: ,x_return_status OUT NOCOPY VARCHAR2
601: ,x_msg_count OUT NOCOPY NUMBER
602: ,x_msg_data OUT NOCOPY VARCHAR2
625: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - start');
626: END IF;
627:
628: -- Initialize message list if p_init_msg_list is set to TRUE.
629: IF FND_API.to_Boolean( p_init_msg_list )
630: THEN
631: FND_MSG_PUB.initialize;
632: END IF;
633:
631: FND_MSG_PUB.initialize;
632: END IF;
633:
634: -- Standard call to check for call compatibility.
635: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
636: p_api_version_number,
637: l_api_name,
638: G_PKG_NAME)
639: THEN
636: p_api_version_number,
637: l_api_name,
638: G_PKG_NAME)
639: THEN
640: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
641: END IF;
642:
643:
644: -- Initialize API return status to SUCCESS
641: END IF;
642:
643:
644: -- Initialize API return status to SUCCESS
645: x_return_status := FND_API.G_RET_STS_SUCCESS;
646:
647:
648: ------------------------ lock -------------------------
649: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
660: FND_MESSAGE.set_name('PV', 'PV_API_RECORD_NOT_FOUND');
661: FND_MSG_PUB.add;
662: END IF;
663: END IF;
664: RAISE FND_API.g_exc_error;
665: END IF;
666:
667: CLOSE c_Attribute_Usage;
668:
667: CLOSE c_Attribute_Usage;
668:
669: -------------------- finish --------------------------
670: FND_MSG_PUB.count_and_get(
671: p_encoded => FND_API.g_false,
672: p_count => x_msg_count,
673: p_data => x_msg_data);
674: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
675: PVX_Utility_PVT.debug_message(l_full_name ||': end');
676: END IF;
677: EXCEPTION
678: /*
679: WHEN PVX_Utility_PVT.resource_locked THEN
680: x_return_status := FND_API.g_ret_sts_error;
681: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
682: */
683: WHEN FND_API.G_EXC_ERROR THEN
684: ROLLBACK TO LOCK_Attribute_Usage_PVT;
679: WHEN PVX_Utility_PVT.resource_locked THEN
680: x_return_status := FND_API.g_ret_sts_error;
681: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
682: */
683: WHEN FND_API.G_EXC_ERROR THEN
684: ROLLBACK TO LOCK_Attribute_Usage_PVT;
685: x_return_status := FND_API.G_RET_STS_ERROR;
686: -- Standard call to get message count and if count=1, get the message
687: FND_MSG_PUB.Count_And_Get (
681: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
682: */
683: WHEN FND_API.G_EXC_ERROR THEN
684: ROLLBACK TO LOCK_Attribute_Usage_PVT;
685: x_return_status := FND_API.G_RET_STS_ERROR;
686: -- Standard call to get message count and if count=1, get the message
687: FND_MSG_PUB.Count_And_Get (
688: p_encoded => FND_API.G_FALSE,
689: p_count => x_msg_count,
684: ROLLBACK TO LOCK_Attribute_Usage_PVT;
685: x_return_status := FND_API.G_RET_STS_ERROR;
686: -- Standard call to get message count and if count=1, get the message
687: FND_MSG_PUB.Count_And_Get (
688: p_encoded => FND_API.G_FALSE,
689: p_count => x_msg_count,
690: p_data => x_msg_data
691: );
692:
689: p_count => x_msg_count,
690: p_data => x_msg_data
691: );
692:
693: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694: ROLLBACK TO LOCK_Attribute_Usage_PVT;
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696: -- Standard call to get message count and if count=1, get the message
697: FND_MSG_PUB.Count_And_Get (
691: );
692:
693: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694: ROLLBACK TO LOCK_Attribute_Usage_PVT;
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696: -- Standard call to get message count and if count=1, get the message
697: FND_MSG_PUB.Count_And_Get (
698: p_encoded => FND_API.G_FALSE,
699: p_count => x_msg_count,
694: ROLLBACK TO LOCK_Attribute_Usage_PVT;
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696: -- Standard call to get message count and if count=1, get the message
697: FND_MSG_PUB.Count_And_Get (
698: p_encoded => FND_API.G_FALSE,
699: p_count => x_msg_count,
700: p_data => x_msg_data
701: );
702:
701: );
702:
703: WHEN OTHERS THEN
704: ROLLBACK TO LOCK_Attribute_Usage_PVT;
705: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
706: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
707: THEN
708: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
709: END IF;
708: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
709: END IF;
710: -- Standard call to get message count and if count=1, get the message
711: FND_MSG_PUB.Count_And_Get (
712: p_encoded => FND_API.G_FALSE,
713: p_count => x_msg_count,
714: p_data => x_msg_data
715: );
716: End Lock_Attribute_Usage;
723: IS
724: l_valid_flag VARCHAR2(1);
725:
726: BEGIN
727: x_return_status := FND_API.g_ret_sts_success;
728: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
729: l_valid_flag := PVX_Utility_PVT.check_uniqueness(
730: 'PV_ATTRIBUTE_USAGES',
731: 'ATTRIBUTE_USAGE_ID = ''' || p_attribute_usage_rec.ATTRIBUTE_USAGE_ID ||''''
737: ''' AND ATTRIBUTE_USAGE_ID <> ' || p_attribute_usage_rec.ATTRIBUTE_USAGE_ID
738: );
739: END IF;
740:
741: IF l_valid_flag = FND_API.g_false THEN
742: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
743: FND_MESSAGE.set_name('PV', 'PV_API_DUPLICATE_ENTITY');
744: FND_MESSAGE.set_token('ID',to_char(p_attribute_usage_rec.ATTRIBUTE_USAGE_ID) );
745: FND_MESSAGE.set_token('ENTITY','Attribute_Usage');
744: FND_MESSAGE.set_token('ID',to_char(p_attribute_usage_rec.ATTRIBUTE_USAGE_ID) );
745: FND_MESSAGE.set_token('ENTITY','Attribute_Usage');
746: FND_MSG_PUB.add;
747: END IF;
748: x_return_status := FND_API.g_ret_sts_error;
749: RETURN;
750: END IF;
751:
752: END check_uk_items;
757: ,x_return_status OUT NOCOPY VARCHAR2
758: )
759: IS
760: BEGIN
761: x_return_status := FND_API.g_ret_sts_success;
762: --DBMS_OUTPUT.PUT_LINE('p_validation_mode = '||p_validation_mode);
763: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
764:
765: --DBMS_OUTPUT.PUT_LINE('BEfore calling attribute_usage_id');
765: --DBMS_OUTPUT.PUT_LINE('BEfore calling attribute_usage_id');
766: --DBMS_OUTPUT.PUT_LINE('p_attribute_usage_rec.attribute_usage_id = '||
767: -- TO_CHAR(p_attribute_usage_rec.attribute_usage_id));
768:
769: IF p_attribute_usage_rec.attribute_usage_id = FND_API.g_miss_num
770: OR p_attribute_usage_rec.attribute_usage_id IS NULL THEN
771: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
772: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
773: FND_MESSAGE.set_token('COLUMN','attribute_usage_id');
772: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
773: FND_MESSAGE.set_token('COLUMN','attribute_usage_id');
774: FND_MSG_PUB.add;
775: END IF;
776: x_return_status := FND_API.g_ret_sts_error;
777: RETURN;
778: END IF;
779:
780:
777: RETURN;
778: END IF;
779:
780:
781: IF p_attribute_usage_rec.last_update_date = FND_API.g_miss_date
782: OR p_attribute_usage_rec.last_update_date IS NULL THEN
783: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
784: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
785: FND_MESSAGE.set_token('COLUMN','last_update_date');
784: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
785: FND_MESSAGE.set_token('COLUMN','last_update_date');
786: FND_MSG_PUB.add;
787: END IF;
788: x_return_status := FND_API.g_ret_sts_error;
789: RETURN;
790: END IF;
791:
792:
789: RETURN;
790: END IF;
791:
792:
793: IF p_attribute_usage_rec.last_updated_by = FND_API.g_miss_num
794: OR p_attribute_usage_rec.last_updated_by IS NULL THEN
795: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
796: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
797: FND_MESSAGE.set_token('COLUMN','last_updated_by');
796: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
797: FND_MESSAGE.set_token('COLUMN','last_updated_by');
798: FND_MSG_PUB.add;
799: END IF;
800: x_return_status := FND_API.g_ret_sts_error;
801: RETURN;
802: END IF;
803:
804:
801: RETURN;
802: END IF;
803:
804:
805: IF p_attribute_usage_rec.creation_date = FND_API.g_miss_date
806: OR p_attribute_usage_rec.creation_date IS NULL THEN
807: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
808: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
809: FND_MESSAGE.set_token('COLUMN','creation_date');
808: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
809: FND_MESSAGE.set_token('COLUMN','creation_date');
810: FND_MSG_PUB.add;
811: END IF;
812: x_return_status := FND_API.g_ret_sts_error;
813: RETURN;
814: END IF;
815:
816:
813: RETURN;
814: END IF;
815:
816:
817: IF p_attribute_usage_rec.created_by = FND_API.g_miss_num
818: OR p_attribute_usage_rec.created_by IS NULL THEN
819: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
820: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
821: FND_MESSAGE.set_token('COLUMN','created_by');
820: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
821: FND_MESSAGE.set_token('COLUMN','created_by');
822: FND_MSG_PUB.add;
823: END IF;
824: x_return_status := FND_API.g_ret_sts_error;
825: RETURN;
826: END IF;
827:
828:
825: RETURN;
826: END IF;
827:
828:
829: IF p_attribute_usage_rec.object_version_number = FND_API.g_miss_num
830: OR p_attribute_usage_rec.object_version_number IS NULL THEN
831: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
832: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
833: FND_MESSAGE.set_token('COLUMN','object_version_number');
832: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
833: FND_MESSAGE.set_token('COLUMN','object_version_number');
834: FND_MSG_PUB.add;
835: END IF;
836: x_return_status := FND_API.g_ret_sts_error;
837: RETURN;
838: END IF;
839:
840:
837: RETURN;
838: END IF;
839:
840:
841: IF p_attribute_usage_rec.attribute_usage_type = FND_API.g_miss_char
842: OR p_attribute_usage_rec.attribute_usage_type IS NULL THEN
843: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
844: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
845: FND_MESSAGE.set_token('COLUMN','attribute_usage_type');
844: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
845: FND_MESSAGE.set_token('COLUMN','attribute_usage_type');
846: FND_MSG_PUB.add;
847: END IF;
848: x_return_status := FND_API.g_ret_sts_error;
849: RETURN;
850: END IF;
851:
852:
849: RETURN;
850: END IF;
851:
852:
853: IF p_attribute_usage_rec.attribute_usage_code = FND_API.g_miss_char
854: OR p_attribute_usage_rec.attribute_usage_code IS NULL THEN
855: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
856: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
857: FND_MESSAGE.set_token('COLUMN','attribute_usage_code');
856: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
857: FND_MESSAGE.set_token('COLUMN','attribute_usage_code');
858: FND_MSG_PUB.add;
859: END IF;
860: x_return_status := FND_API.g_ret_sts_error;
861: RETURN;
862: END IF;
863:
864:
861: RETURN;
862: END IF;
863:
864:
865: IF p_attribute_usage_rec.attribute_id = FND_API.g_miss_num
866: OR p_attribute_usage_rec.attribute_id IS NULL THEN
867: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
868: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
869: FND_MESSAGE.set_token('COLUMN','attribute_id');
868: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
869: FND_MESSAGE.set_token('COLUMN','attribute_id');
870: FND_MSG_PUB.add;
871: END IF;
872: x_return_status := FND_API.g_ret_sts_error;
873: RETURN;
874: END IF;
875:
876:
873: RETURN;
874: END IF;
875:
876:
877: IF p_attribute_usage_rec.enabled_flag = FND_API.g_miss_char
878: OR p_attribute_usage_rec.enabled_flag IS NULL THEN
879: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
880: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
881: FND_MESSAGE.set_token('COLUMN','enabled_flag');
880: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
881: FND_MESSAGE.set_token('COLUMN','enabled_flag');
882: FND_MSG_PUB.add;
883: END IF;
884: x_return_status := FND_API.g_ret_sts_error;
885: RETURN;
886: END IF;
887: ELSE
888:
892: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
893: FND_MESSAGE.set_token('COLUMN','attribute_usage_id');
894: FND_MSG_PUB.add;
895: END IF;
896: x_return_status := FND_API.g_ret_sts_error;
897: RETURN;
898: END IF;
899:
900:
903: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
904: FND_MESSAGE.set_token('COLUMN','last_update_date');
905: FND_MSG_PUB.add;
906: END IF;
907: x_return_status := FND_API.g_ret_sts_error;
908: RETURN;
909: END IF;
910:
911:
914: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
915: FND_MESSAGE.set_token('COLUMN','last_updated_by');
916: FND_MSG_PUB.add;
917: END IF;
918: x_return_status := FND_API.g_ret_sts_error;
919: RETURN;
920: END IF;
921:
922:
925: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
926: FND_MESSAGE.set_token('COLUMN','creation_date');
927: FND_MSG_PUB.add;
928: END IF;
929: x_return_status := FND_API.g_ret_sts_error;
930: RETURN;
931: END IF;
932:
933:
936: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
937: FND_MESSAGE.set_token('COLUMN','created_by');
938: FND_MSG_PUB.add;
939: END IF;
940: x_return_status := FND_API.g_ret_sts_error;
941: RETURN;
942: END IF;
943:
944:
947: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
948: FND_MESSAGE.set_token('COLUMN','object_version_number');
949: FND_MSG_PUB.add;
950: END IF;
951: x_return_status := FND_API.g_ret_sts_error;
952: RETURN;
953: END IF;
954:
955:
958: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
959: FND_MESSAGE.set_token('COLUMN','attribute_usage_type');
960: FND_MSG_PUB.add;
961: END IF;
962: x_return_status := FND_API.g_ret_sts_error;
963: RETURN;
964: END IF;
965:
966:
969: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
970: FND_MESSAGE.set_token('COLUMN','attribute_usage_code');
971: FND_MSG_PUB.add;
972: END IF;
973: x_return_status := FND_API.g_ret_sts_error;
974: RETURN;
975: END IF;
976:
977:
980: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
981: FND_MESSAGE.set_token('COLUMN','attribute_id');
982: FND_MSG_PUB.add;
983: END IF;
984: x_return_status := FND_API.g_ret_sts_error;
985: RETURN;
986: END IF;
987:
988:
991: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
992: FND_MESSAGE.set_token('COLUMN','enabled_flag');
993: FND_MSG_PUB.add;
994: END IF;
995: x_return_status := FND_API.g_ret_sts_error;
996: RETURN;
997: END IF;
998: END IF;
999:
1004: x_return_status OUT NOCOPY VARCHAR2
1005: )
1006: IS
1007: BEGIN
1008: x_return_status := FND_API.g_ret_sts_success;
1009:
1010: -- Enter custom code here
1011:
1012: END check_FK_items;
1016: x_return_status OUT NOCOPY VARCHAR2
1017: )
1018: IS
1019: BEGIN
1020: x_return_status := FND_API.g_ret_sts_success;
1021:
1022: -- Enter custom code here
1023:
1024: END check_Lookup_items;
1040: p_attribute_usage_rec => p_attribute_usage_rec
1041: ,p_validation_mode => p_validation_mode
1042: ,x_return_status => x_return_status
1043: );
1044: IF x_return_status <> FND_API.g_ret_sts_success THEN
1045: RETURN;
1046: END IF;
1047:
1048: -- Check Items Required/NOT NULL API calls
1051: p_attribute_usage_rec => p_attribute_usage_rec
1052: ,p_validation_mode => p_validation_mode
1053: ,x_return_status => x_return_status
1054: );
1055: IF x_return_status <> FND_API.g_ret_sts_success THEN
1056: RETURN;
1057: END IF;
1058: -- Check Items Foreign Keys API calls
1059: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : Before check_FK_items' );
1060: check_FK_items(
1061: p_attribute_usage_rec => p_attribute_usage_rec
1062: ,x_return_status => x_return_status
1063: );
1064: IF x_return_status <> FND_API.g_ret_sts_success THEN
1065: RETURN;
1066: END IF;
1067: -- Check Items Lookups
1068: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : Before check_Lookup_items' );
1069: check_Lookup_items(
1070: p_attribute_usage_rec => p_attribute_usage_rec
1071: ,x_return_status => x_return_status
1072: );
1073: IF x_return_status <> FND_API.g_ret_sts_success THEN
1074: RETURN;
1075: END IF;
1076:
1077: END Check_Attr_Usage_Items;
1098: FETCH c_complete INTO l_attribute_usage_rec;
1099: CLOSE c_complete;
1100:
1101: -- attribute_usage_id
1102: IF p_attribute_usage_rec.attribute_usage_id = FND_API.g_miss_num THEN
1103: x_complete_rec.attribute_usage_id := l_attribute_usage_rec.attribute_usage_id;
1104: END IF;
1105:
1106: -- last_update_date
1103: x_complete_rec.attribute_usage_id := l_attribute_usage_rec.attribute_usage_id;
1104: END IF;
1105:
1106: -- last_update_date
1107: IF p_attribute_usage_rec.last_update_date = FND_API.g_miss_date THEN
1108: x_complete_rec.last_update_date := l_attribute_usage_rec.last_update_date;
1109: END IF;
1110:
1111: -- last_updated_by
1108: x_complete_rec.last_update_date := l_attribute_usage_rec.last_update_date;
1109: END IF;
1110:
1111: -- last_updated_by
1112: IF p_attribute_usage_rec.last_updated_by = FND_API.g_miss_num THEN
1113: x_complete_rec.last_updated_by := l_attribute_usage_rec.last_updated_by;
1114: END IF;
1115:
1116: -- creation_date
1113: x_complete_rec.last_updated_by := l_attribute_usage_rec.last_updated_by;
1114: END IF;
1115:
1116: -- creation_date
1117: IF p_attribute_usage_rec.creation_date = FND_API.g_miss_date THEN
1118: x_complete_rec.creation_date := l_attribute_usage_rec.creation_date;
1119: END IF;
1120:
1121: -- created_by
1118: x_complete_rec.creation_date := l_attribute_usage_rec.creation_date;
1119: END IF;
1120:
1121: -- created_by
1122: IF p_attribute_usage_rec.created_by = FND_API.g_miss_num THEN
1123: x_complete_rec.created_by := l_attribute_usage_rec.created_by;
1124: END IF;
1125:
1126: -- last_update_login
1123: x_complete_rec.created_by := l_attribute_usage_rec.created_by;
1124: END IF;
1125:
1126: -- last_update_login
1127: IF p_attribute_usage_rec.last_update_login = FND_API.g_miss_num THEN
1128: x_complete_rec.last_update_login := l_attribute_usage_rec.last_update_login;
1129: END IF;
1130:
1131: -- request_id
1128: x_complete_rec.last_update_login := l_attribute_usage_rec.last_update_login;
1129: END IF;
1130:
1131: -- request_id
1132: IF p_attribute_usage_rec.request_id = FND_API.g_miss_num THEN
1133: x_complete_rec.request_id := l_attribute_usage_rec.request_id;
1134: END IF;
1135:
1136: -- program_application_id
1133: x_complete_rec.request_id := l_attribute_usage_rec.request_id;
1134: END IF;
1135:
1136: -- program_application_id
1137: IF p_attribute_usage_rec.program_application_id = FND_API.g_miss_num THEN
1138: x_complete_rec.program_application_id := l_attribute_usage_rec.program_application_id;
1139: END IF;
1140:
1141: -- program_id
1138: x_complete_rec.program_application_id := l_attribute_usage_rec.program_application_id;
1139: END IF;
1140:
1141: -- program_id
1142: IF p_attribute_usage_rec.program_id = FND_API.g_miss_num THEN
1143: x_complete_rec.program_id := l_attribute_usage_rec.program_id;
1144: END IF;
1145:
1146: -- program_update_date
1143: x_complete_rec.program_id := l_attribute_usage_rec.program_id;
1144: END IF;
1145:
1146: -- program_update_date
1147: IF p_attribute_usage_rec.program_update_date = FND_API.g_miss_date THEN
1148: x_complete_rec.program_update_date := l_attribute_usage_rec.program_update_date;
1149: END IF;
1150:
1151: -- object_version_number
1148: x_complete_rec.program_update_date := l_attribute_usage_rec.program_update_date;
1149: END IF;
1150:
1151: -- object_version_number
1152: IF p_attribute_usage_rec.object_version_number = FND_API.g_miss_num THEN
1153: x_complete_rec.object_version_number := l_attribute_usage_rec.object_version_number;
1154: END IF;
1155:
1156: -- attribute_usage_type
1153: x_complete_rec.object_version_number := l_attribute_usage_rec.object_version_number;
1154: END IF;
1155:
1156: -- attribute_usage_type
1157: IF p_attribute_usage_rec.attribute_usage_type = FND_API.g_miss_char THEN
1158: x_complete_rec.attribute_usage_type := l_attribute_usage_rec.attribute_usage_type;
1159: END IF;
1160:
1161: -- attribute_usage_code
1158: x_complete_rec.attribute_usage_type := l_attribute_usage_rec.attribute_usage_type;
1159: END IF;
1160:
1161: -- attribute_usage_code
1162: IF p_attribute_usage_rec.attribute_usage_code = FND_API.g_miss_char THEN
1163: x_complete_rec.attribute_usage_code := l_attribute_usage_rec.attribute_usage_code;
1164: END IF;
1165:
1166: -- attribute_id
1163: x_complete_rec.attribute_usage_code := l_attribute_usage_rec.attribute_usage_code;
1164: END IF;
1165:
1166: -- attribute_id
1167: IF p_attribute_usage_rec.attribute_id = FND_API.g_miss_num THEN
1168: x_complete_rec.attribute_id := l_attribute_usage_rec.attribute_id;
1169: END IF;
1170:
1171: -- enabled_flag
1168: x_complete_rec.attribute_id := l_attribute_usage_rec.attribute_id;
1169: END IF;
1170:
1171: -- enabled_flag
1172: IF p_attribute_usage_rec.enabled_flag = FND_API.g_miss_char THEN
1173: x_complete_rec.enabled_flag := l_attribute_usage_rec.enabled_flag;
1174: END IF;
1175:
1176: -- security_group_id
1173: x_complete_rec.enabled_flag := l_attribute_usage_rec.enabled_flag;
1174: END IF;
1175:
1176: -- security_group_id
1177: --IF p_attribute_usage_rec.security_group_id = FND_API.g_miss_num THEN
1178: -- x_complete_rec.security_group_id := l_attribute_usage_rec.security_group_id;
1179: --END IF;
1180: -- Note: Developers need to modify the procedure
1181: -- to handle any business specific requirements.
1182: END Complete_attribute_usage_Rec;
1183:
1184: PROCEDURE Validate_Attribute_Usage(
1185: p_api_version_number IN NUMBER
1186: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1187: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
1188: ,p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.G_UPDATE
1189: ,p_attribute_usage_rec IN attribute_usage_rec_type
1190: ,x_return_status OUT NOCOPY VARCHAR2
1183:
1184: PROCEDURE Validate_Attribute_Usage(
1185: p_api_version_number IN NUMBER
1186: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1187: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
1188: ,p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.G_UPDATE
1189: ,p_attribute_usage_rec IN attribute_usage_rec_type
1190: ,x_return_status OUT NOCOPY VARCHAR2
1191: ,x_msg_count OUT NOCOPY NUMBER
1202: -- Standard Start of API savepoint
1203: SAVEPOINT VALIDATE_Attribute_Usage;
1204:
1205: -- Standard call to check for call compatibility.
1206: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1207: p_api_version_number,
1208: l_api_name,
1209: G_PKG_NAME)
1210: THEN
1207: p_api_version_number,
1208: l_api_name,
1209: G_PKG_NAME)
1210: THEN
1211: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1212: END IF;
1213:
1214: -- Initialize message list if p_init_msg_list is set to TRUE.
1215: IF FND_API.to_Boolean( p_init_msg_list )
1211: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1212: END IF;
1213:
1214: -- Initialize message list if p_init_msg_list is set to TRUE.
1215: IF FND_API.to_Boolean( p_init_msg_list )
1216: THEN
1217: FND_MSG_PUB.initialize;
1218: END IF;
1219: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1223: ,p_validation_mode => p_validation_mode
1224: ,x_return_status => x_return_status
1225: );
1226: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Check_Attr_Usage_Items' );
1227: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1228: RAISE FND_API.G_EXC_ERROR;
1229: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1230: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1231: END IF;
1224: ,x_return_status => x_return_status
1225: );
1226: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Check_Attr_Usage_Items' );
1227: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1228: RAISE FND_API.G_EXC_ERROR;
1229: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1230: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1231: END IF;
1232: END IF;
1225: );
1226: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Check_Attr_Usage_Items' );
1227: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1228: RAISE FND_API.G_EXC_ERROR;
1229: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1230: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1231: END IF;
1232: END IF;
1233:
1226: --DBMS_OUTPUT.PUT_LINE(l_full_name||' : After Check_Attr_Usage_Items' );
1227: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1228: RAISE FND_API.G_EXC_ERROR;
1229: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1230: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1231: END IF;
1232: END IF;
1233:
1234: Complete_attribute_usage_Rec(
1238:
1239: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1240: Validate_Attr_Usage_Rec(
1241: p_api_version_number => 1.0
1242: ,p_init_msg_list => FND_API.G_FALSE
1243: ,x_return_status => x_return_status
1244: ,x_msg_count => x_msg_count
1245: ,x_msg_data => x_msg_data
1246: ,p_attribute_usage_rec => l_attribute_usage_rec
1246: ,p_attribute_usage_rec => l_attribute_usage_rec
1247: ,p_validation_mode => p_validation_mode
1248: );
1249:
1250: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1251: RAISE FND_API.G_EXC_ERROR;
1252: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1247: ,p_validation_mode => p_validation_mode
1248: );
1249:
1250: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1251: RAISE FND_API.G_EXC_ERROR;
1252: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: END IF;
1248: );
1249:
1250: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1251: RAISE FND_API.G_EXC_ERROR;
1252: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: END IF;
1256:
1249:
1250: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1251: RAISE FND_API.G_EXC_ERROR;
1252: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: END IF;
1256:
1257:
1260: PVX_Utility_PVT.debug_message('Private API: '||l_full_name||' - start');
1261: END IF;
1262:
1263: -- Initialize API return status to SUCCESS
1264: x_return_status := FND_API.G_RET_STS_SUCCESS;
1265:
1266:
1267: -- Debug Message
1268: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
1276: );
1277: EXCEPTION
1278: /*
1279: WHEN PVX_Utility_PVT.resource_locked THEN
1280: x_return_status := FND_API.g_ret_sts_error;
1281: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1282: */
1283: WHEN FND_API.G_EXC_ERROR THEN
1284: ROLLBACK TO VALIDATE_Attribute_Usage;
1279: WHEN PVX_Utility_PVT.resource_locked THEN
1280: x_return_status := FND_API.g_ret_sts_error;
1281: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1282: */
1283: WHEN FND_API.G_EXC_ERROR THEN
1284: ROLLBACK TO VALIDATE_Attribute_Usage;
1285: x_return_status := FND_API.G_RET_STS_ERROR;
1286: -- Standard call to get message count and if count=1, get the message
1287: FND_MSG_PUB.Count_And_Get (
1281: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1282: */
1283: WHEN FND_API.G_EXC_ERROR THEN
1284: ROLLBACK TO VALIDATE_Attribute_Usage;
1285: x_return_status := FND_API.G_RET_STS_ERROR;
1286: -- Standard call to get message count and if count=1, get the message
1287: FND_MSG_PUB.Count_And_Get (
1288: p_encoded => FND_API.G_FALSE,
1289: p_count => x_msg_count,
1284: ROLLBACK TO VALIDATE_Attribute_Usage;
1285: x_return_status := FND_API.G_RET_STS_ERROR;
1286: -- Standard call to get message count and if count=1, get the message
1287: FND_MSG_PUB.Count_And_Get (
1288: p_encoded => FND_API.G_FALSE,
1289: p_count => x_msg_count,
1290: p_data => x_msg_data
1291: );
1292:
1289: p_count => x_msg_count,
1290: p_data => x_msg_data
1291: );
1292:
1293: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1294: ROLLBACK TO VALIDATE_Attribute_Usage;
1295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1296: -- Standard call to get message count and if count=1, get the message
1297: FND_MSG_PUB.Count_And_Get (
1291: );
1292:
1293: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1294: ROLLBACK TO VALIDATE_Attribute_Usage;
1295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1296: -- Standard call to get message count and if count=1, get the message
1297: FND_MSG_PUB.Count_And_Get (
1298: p_encoded => FND_API.G_FALSE,
1299: p_count => x_msg_count,
1294: ROLLBACK TO VALIDATE_Attribute_Usage;
1295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1296: -- Standard call to get message count and if count=1, get the message
1297: FND_MSG_PUB.Count_And_Get (
1298: p_encoded => FND_API.G_FALSE,
1299: p_count => x_msg_count,
1300: p_data => x_msg_data
1301: );
1302:
1301: );
1302:
1303: WHEN OTHERS THEN
1304: ROLLBACK TO VALIDATE_Attribute_Usage;
1305: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1306: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1307: THEN
1308: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1309: END IF;
1308: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1309: END IF;
1310: -- Standard call to get message count and if count=1, get the message
1311: FND_MSG_PUB.Count_And_Get (
1312: p_encoded => FND_API.G_FALSE,
1313: p_count => x_msg_count,
1314: p_data => x_msg_data
1315: );
1316: End Validate_Attribute_Usage;
1317:
1318:
1319: PROCEDURE Validate_Attr_Usage_Rec(
1320: p_api_version_number IN NUMBER
1321: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1322: ,x_return_status OUT NOCOPY VARCHAR2
1323: ,x_msg_count OUT NOCOPY NUMBER
1324: ,x_msg_data OUT NOCOPY VARCHAR2
1325: ,p_attribute_usage_rec IN attribute_usage_rec_type
1327: )
1328: IS
1329: BEGIN
1330: -- Initialize message list if p_init_msg_list is set to TRUE.
1331: IF FND_API.to_Boolean( p_init_msg_list )
1332: THEN
1333: FND_MSG_PUB.initialize;
1334: END IF;
1335:
1333: FND_MSG_PUB.initialize;
1334: END IF;
1335:
1336: -- Initialize API return status to SUCCESS
1337: x_return_status := FND_API.G_RET_STS_SUCCESS;
1338:
1339: -- Hint: Validate data
1340: -- If data not valid
1341: -- THEN
1338:
1339: -- Hint: Validate data
1340: -- If data not valid
1341: -- THEN
1342: -- x_return_status := FND_API.G_RET_STS_ERROR;
1343:
1344: -- Debug Message
1345: IF (FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
1346: PVX_Utility_PVT.debug_message('Private API: Validate_dm_model_rec');