46: -- Parameters
47: --
48: -- IN
49: -- p_api_version_number IN NUMBER Required
50: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
51: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
52: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
53: -- p_approver_rec IN approver_rec_type Required
54: --
47: --
48: -- IN
49: -- p_api_version_number IN NUMBER Required
50: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
51: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
52: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
53: -- p_approver_rec IN approver_rec_type Required
54: --
55: -- OUT
48: -- IN
49: -- p_api_version_number IN NUMBER Required
50: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
51: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
52: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
53: -- p_approver_rec IN approver_rec_type Required
54: --
55: -- OUT
56: -- x_return_status OUT VARCHAR2
72: PV_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
73:
74: PROCEDURE Create_Ptr_Enr_Temp_Appr(
75: p_api_version_number IN NUMBER,
76: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
77: p_commit IN VARCHAR2 := FND_API.G_FALSE,
78: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
79:
80: x_return_status OUT NOCOPY VARCHAR2,
73:
74: PROCEDURE Create_Ptr_Enr_Temp_Appr(
75: p_api_version_number IN NUMBER,
76: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
77: p_commit IN VARCHAR2 := FND_API.G_FALSE,
78: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
79:
80: x_return_status OUT NOCOPY VARCHAR2,
81: x_msg_count OUT NOCOPY NUMBER,
74: PROCEDURE Create_Ptr_Enr_Temp_Appr(
75: p_api_version_number IN NUMBER,
76: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
77: p_commit IN VARCHAR2 := FND_API.G_FALSE,
78: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
79:
80: x_return_status OUT NOCOPY VARCHAR2,
81: x_msg_count OUT NOCOPY NUMBER,
82: x_msg_data OUT NOCOPY VARCHAR2,
89: L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Ptr_Enr_Temp_Appr';
90: L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
91: l_return_status_full VARCHAR2(1);
92: l_object_version_number NUMBER := 1;
93: l_org_id NUMBER := FND_API.G_MISS_NUM;
94: l_entity_approver_id NUMBER;
95: l_dummy NUMBER;
96: CURSOR c_id IS
97: SELECT pv_ge_temp_approvers_s.NEXTVAL
105: -- Standard Start of API savepoint
106: SAVEPOINT create_ptr_enr_temp_appr_pvt;
107:
108: -- Standard call to check for call compatibility.
109: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
110: p_api_version_number,
111: l_api_name,
112: G_PKG_NAME)
113: THEN
110: p_api_version_number,
111: l_api_name,
112: G_PKG_NAME)
113: THEN
114: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
115: END IF;
116:
117:
118: -- Initialize message list if p_init_msg_list is set to TRUE.
115: END IF;
116:
117:
118: -- Initialize message list if p_init_msg_list is set to TRUE.
119: IF FND_API.to_Boolean( p_init_msg_list )
120: THEN
121: FND_MSG_PUB.initialize;
122: END IF;
123:
131:
132:
133:
134: -- Initialize API return status to SUCCESS
135: x_return_status := FND_API.G_RET_STS_SUCCESS;
136:
137: -- =========================================================================
138: -- Validate Environment
139: -- =========================================================================
141: IF FND_GLOBAL.USER_ID IS NULL
142: THEN
143: FND_MESSAGE.Set_Name ('PV', 'USER_PROFILE_MISSING');
144: FND_MSG_PUB.Add;
145: RAISE FND_API.G_EXC_ERROR;
146: END IF;
147:
148:
149:
146: END IF;
147:
148:
149:
150: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
151: THEN
152: -- Debug message
153: IF (PV_DEBUG_HIGH_ON) THEN
154:
157:
158: -- Invoke validation procedures
159: Validate_ptr_enr_temp_appr(
160: p_api_version_number => 1.0,
161: p_init_msg_list => FND_API.G_FALSE,
162: p_validation_level => p_validation_level,
163: p_validation_mode => JTF_PLSQL_API.g_create,
164: p_approver_rec => p_approver_rec,
165: x_return_status => x_return_status,
166: x_msg_count => x_msg_count,
167: x_msg_data => x_msg_data);
168: END IF;
169:
170: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
171: RAISE FND_API.G_EXC_ERROR;
172: END IF;
173:
174: -- Local variable initialization
167: x_msg_data => x_msg_data);
168: END IF;
169:
170: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
171: RAISE FND_API.G_EXC_ERROR;
172: END IF;
173:
174: -- Local variable initialization
175:
172: END IF;
173:
174: -- Local variable initialization
175:
176: IF p_approver_rec.entity_approver_id IS NULL OR p_approver_rec.entity_approver_id = FND_API.g_miss_num THEN
177: LOOP
178: l_dummy := NULL;
179: OPEN c_id;
180: FETCH c_id INTO l_entity_approver_id;
212: p_last_update_login => FND_GLOBAL.conc_login_id
213: );
214:
215: x_entity_approver_id := l_entity_approver_id;
216: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
217: RAISE FND_API.G_EXC_ERROR;
218: END IF;
219: --
220: -- End of API body
213: );
214:
215: x_entity_approver_id := l_entity_approver_id;
216: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
217: RAISE FND_API.G_EXC_ERROR;
218: END IF;
219: --
220: -- End of API body
221: --
220: -- End of API body
221: --
222:
223: -- Standard check for p_commit
224: IF FND_API.to_Boolean( p_commit )
225: THEN
226: COMMIT WORK;
227: END IF;
228:
241: );
242: EXCEPTION
243:
244: WHEN PVX_UTILITY_PVT.resource_locked THEN
245: x_return_status := FND_API.g_ret_sts_error;
246: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
247: FND_MSG_PUB.Add;
248:
249: WHEN FND_API.G_EXC_ERROR THEN
245: x_return_status := FND_API.g_ret_sts_error;
246: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
247: FND_MSG_PUB.Add;
248:
249: WHEN FND_API.G_EXC_ERROR THEN
250: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
251: x_return_status := FND_API.G_RET_STS_ERROR;
252: -- Standard call to get message count and if count=1, get the message
253: FND_MSG_PUB.Count_And_Get (
247: FND_MSG_PUB.Add;
248:
249: WHEN FND_API.G_EXC_ERROR THEN
250: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
251: x_return_status := FND_API.G_RET_STS_ERROR;
252: -- Standard call to get message count and if count=1, get the message
253: FND_MSG_PUB.Count_And_Get (
254: p_encoded => FND_API.G_FALSE,
255: p_count => x_msg_count,
250: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
251: x_return_status := FND_API.G_RET_STS_ERROR;
252: -- Standard call to get message count and if count=1, get the message
253: FND_MSG_PUB.Count_And_Get (
254: p_encoded => FND_API.G_FALSE,
255: p_count => x_msg_count,
256: p_data => x_msg_data
257: );
258:
255: p_count => x_msg_count,
256: p_data => x_msg_data
257: );
258:
259: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
260: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: -- Standard call to get message count and if count=1, get the message
263: FND_MSG_PUB.Count_And_Get (
257: );
258:
259: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
260: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: -- Standard call to get message count and if count=1, get the message
263: FND_MSG_PUB.Count_And_Get (
264: p_encoded => FND_API.G_FALSE,
265: p_count => x_msg_count,
260: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: -- Standard call to get message count and if count=1, get the message
263: FND_MSG_PUB.Count_And_Get (
264: p_encoded => FND_API.G_FALSE,
265: p_count => x_msg_count,
266: p_data => x_msg_data
267: );
268:
267: );
268:
269: WHEN OTHERS THEN
270: ROLLBACK TO CREATE_Ptr_Enr_Temp_Appr_PVT;
271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
273: THEN
274: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
275: END IF;
274: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
275: END IF;
276: -- Standard call to get message count and if count=1, get the message
277: FND_MSG_PUB.Count_And_Get (
278: p_encoded => FND_API.G_FALSE,
279: p_count => x_msg_count,
280: p_data => x_msg_data
281: );
282: End Create_Ptr_Enr_Temp_Appr;
294: -- Parameters
295: --
296: -- IN
297: -- p_api_version_number IN NUMBER Required
298: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
299: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
300: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
301: -- p_approver_rec IN approver_rec_type Required
302: --
295: --
296: -- IN
297: -- p_api_version_number IN NUMBER Required
298: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
299: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
300: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
301: -- p_approver_rec IN approver_rec_type Required
302: --
303: -- OUT
296: -- IN
297: -- p_api_version_number IN NUMBER Required
298: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
299: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
300: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
301: -- p_approver_rec IN approver_rec_type Required
302: --
303: -- OUT
304: -- x_return_status OUT VARCHAR2
316: -- ==============================================================================
317:
318: PROCEDURE Update_Ptr_Enr_Temp_Appr(
319: p_api_version_number IN NUMBER,
320: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
321: p_commit IN VARCHAR2 := FND_API.G_FALSE,
322: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
323:
324: x_return_status OUT NOCOPY VARCHAR2,
317:
318: PROCEDURE Update_Ptr_Enr_Temp_Appr(
319: p_api_version_number IN NUMBER,
320: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
321: p_commit IN VARCHAR2 := FND_API.G_FALSE,
322: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
323:
324: x_return_status OUT NOCOPY VARCHAR2,
325: x_msg_count OUT NOCOPY NUMBER,
318: PROCEDURE Update_Ptr_Enr_Temp_Appr(
319: p_api_version_number IN NUMBER,
320: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
321: p_commit IN VARCHAR2 := FND_API.G_FALSE,
322: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
323:
324: x_return_status OUT NOCOPY VARCHAR2,
325: x_msg_count OUT NOCOPY NUMBER,
326: x_msg_data OUT NOCOPY VARCHAR2,
351: -- Standard Start of API savepoint
352: SAVEPOINT update_ptr_enr_temp_appr_pvt;
353:
354: -- Standard call to check for call compatibility.
355: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
356: p_api_version_number,
357: l_api_name,
358: G_PKG_NAME)
359: THEN
356: p_api_version_number,
357: l_api_name,
358: G_PKG_NAME)
359: THEN
360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
361: END IF;
362:
363:
364: -- Initialize message list if p_init_msg_list is set to TRUE.
361: END IF;
362:
363:
364: -- Initialize message list if p_init_msg_list is set to TRUE.
365: IF FND_API.to_Boolean( p_init_msg_list )
366: THEN
367: FND_MSG_PUB.initialize;
368: END IF;
369:
377:
378:
379:
380: -- Initialize API return status to SUCCESS
381: x_return_status := FND_API.G_RET_STS_SUCCESS;
382:
383: -- Debug Message
384: IF (PV_DEBUG_HIGH_ON) THEN
385:
395: --kvattiku: Oct 27, 05 Commented out and replacing it with FND_MSG calls
396: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
397: -- p_token_name => 'INFO',
398: -- p_token_value => 'Ptr_Enr_Temp_Appr') ;
399: --RAISE FND_API.G_EXC_ERROR;
400:
401: FND_MESSAGE.Set_Name ('PV', 'API_MISSING_UPDATE_TARGET');
402: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
403: FND_MSG_PUB.Add;
400:
401: FND_MESSAGE.Set_Name ('PV', 'API_MISSING_UPDATE_TARGET');
402: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
403: FND_MSG_PUB.Add;
404: x_return_status := FND_API.G_RET_STS_ERROR;
405: RAISE FND_API.G_EXC_ERROR;
406: END IF;
407:
408: -- Debug Message
401: FND_MESSAGE.Set_Name ('PV', 'API_MISSING_UPDATE_TARGET');
402: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
403: FND_MSG_PUB.Add;
404: x_return_status := FND_API.G_RET_STS_ERROR;
405: RAISE FND_API.G_EXC_ERROR;
406: END IF;
407:
408: -- Debug Message
409: IF (PV_DEBUG_HIGH_ON) THEN
413: CLOSE c_get_Ptr_Enr_Temp_Appr;
414:
415:
416: If (l_tar_approver_rec.object_version_number is NULL or
417: l_tar_approver_rec.object_version_number = FND_API.G_MISS_NUM )
418: Then
419:
420: --kvattiku: Oct 27, 05 Commented out and replacing it with FND_MSG calls
421: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
420: --kvattiku: Oct 27, 05 Commented out and replacing it with FND_MSG calls
421: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
422: -- p_token_name => 'COLUMN',
423: -- p_token_value => 'Last_Update_Date') ;
424: --raise FND_API.G_EXC_ERROR;
425:
426: FND_MESSAGE.Set_Name ('PV', 'API_VERSION_MISSING');
427: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date');
428: FND_MSG_PUB.Add;
425:
426: FND_MESSAGE.Set_Name ('PV', 'API_VERSION_MISSING');
427: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date');
428: FND_MSG_PUB.Add;
429: x_return_status := FND_API.G_RET_STS_ERROR;
430: RAISE FND_API.G_EXC_ERROR;
431:
432: End if;
433: -- Check Whether record has been changed by someone else
426: FND_MESSAGE.Set_Name ('PV', 'API_VERSION_MISSING');
427: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date');
428: FND_MSG_PUB.Add;
429: x_return_status := FND_API.G_RET_STS_ERROR;
430: RAISE FND_API.G_EXC_ERROR;
431:
432: End if;
433: -- Check Whether record has been changed by someone else
434: If (l_tar_approver_rec.object_version_number <> l_ref_approver_rec.object_version_number)
437: --kvattiku: Oct 27, 05 Commented out and replacing it with FND_MSG calls
438: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
439: -- p_token_name => 'INFO',
440: -- p_token_value => 'Ptr_Enr_Temp_Appr') ;
441: --raise FND_API.G_EXC_ERROR;
442:
443: FND_MESSAGE.Set_Name ('PV', 'API_RECORD_CHANGED');
444: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
445: FND_MSG_PUB.Add;
442:
443: FND_MESSAGE.Set_Name ('PV', 'API_RECORD_CHANGED');
444: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
445: FND_MSG_PUB.Add;
446: x_return_status := FND_API.G_RET_STS_ERROR;
447: RAISE FND_API.G_EXC_ERROR;
448:
449: End if;
450:
443: FND_MESSAGE.Set_Name ('PV', 'API_RECORD_CHANGED');
444: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
445: FND_MSG_PUB.Add;
446: x_return_status := FND_API.G_RET_STS_ERROR;
447: RAISE FND_API.G_EXC_ERROR;
448:
449: End if;
450:
451:
448:
449: End if;
450:
451:
452: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
453: THEN
454: -- Debug message
455: IF (PV_DEBUG_HIGH_ON) THEN
456:
459:
460: -- Invoke validation procedures
461: Validate_ptr_enr_temp_appr(
462: p_api_version_number => 1.0,
463: p_init_msg_list => FND_API.G_FALSE,
464: p_validation_level => p_validation_level,
465: p_validation_mode => JTF_PLSQL_API.g_update,
466: p_approver_rec => p_approver_rec,
467: x_return_status => x_return_status,
468: x_msg_count => x_msg_count,
469: x_msg_data => x_msg_data);
470: END IF;
471:
472: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
473: RAISE FND_API.G_EXC_ERROR;
474: END IF;
475:
476:
469: x_msg_data => x_msg_data);
470: END IF;
471:
472: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
473: RAISE FND_API.G_EXC_ERROR;
474: END IF;
475:
476:
477: -- Debug Message
498: -- End of API body.
499: --
500:
501: -- Standard check for p_commit
502: IF FND_API.to_Boolean( p_commit )
503: THEN
504: COMMIT WORK;
505: END IF;
506:
518: p_data => x_msg_data
519: );
520: EXCEPTION
521: WHEN PVX_Utility_PVT.API_RECORD_CHANGED THEN
522: x_return_status := Fnd_Api.G_RET_STS_ERROR;
523: IF (PV_DEBUG_HIGH_ON) THEN
524: Pvx_Utility_Pvt.debug_message('PRIVATE API: - OPEN CURSOR');
525: END IF;
526: OPEN c_get_Ptr_Enr_Temp_Appr( l_tar_approver_rec.entity_approver_id);
535: Pvx_Utility_Pvt.debug_message('PRIVATE API: - CLOSE CURSOR');
536: END IF;
537: CLOSE c_get_Ptr_Enr_Temp_Appr;
538: If (l_tar_approver_rec.object_version_number <> l_ref_approver_rec.object_version_number) THEN
539: x_return_status := Fnd_Api.G_RET_STS_ERROR;
540: FND_MESSAGE.Set_Name ('PV', 'API_RECORD_CHANGED');
541: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
542: FND_MSG_PUB.Add;
543: END IF;
541: FND_MESSAGE.Set_Token('INFO', 'Ptr_Enr_Temp_Appr');
542: FND_MSG_PUB.Add;
543: END IF;
544: Fnd_Msg_Pub.Count_And_Get (
545: p_encoded => Fnd_Api.G_FALSE,
546: p_count => x_msg_count,
547: p_data => x_msg_data
548: );
549:
549:
550: WHEN PVX_UTILITY_PVT.resource_locked THEN
551:
552: --kvattiku: Oct 27, 05 Commented out and replacing it with FND_MSG calls
553: --x_return_status := FND_API.g_ret_sts_error;
554: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
555:
556: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
557: FND_MSG_PUB.Add;
554: --PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
555:
556: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
557: FND_MSG_PUB.Add;
558: x_return_status := FND_API.G_RET_STS_ERROR;
559:
560: FND_MSG_PUB.Count_And_Get (
561: p_encoded => FND_API.G_FALSE,
562: p_count => x_msg_count,
557: FND_MSG_PUB.Add;
558: x_return_status := FND_API.G_RET_STS_ERROR;
559:
560: FND_MSG_PUB.Count_And_Get (
561: p_encoded => FND_API.G_FALSE,
562: p_count => x_msg_count,
563: p_data => x_msg_data
564: );
565:
563: p_data => x_msg_data
564: );
565:
566:
567: WHEN FND_API.G_EXC_ERROR THEN
568: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
569: x_return_status := FND_API.G_RET_STS_ERROR;
570: -- Standard call to get message count and if count=1, get the message
571: FND_MSG_PUB.Count_And_Get (
565:
566:
567: WHEN FND_API.G_EXC_ERROR THEN
568: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
569: x_return_status := FND_API.G_RET_STS_ERROR;
570: -- Standard call to get message count and if count=1, get the message
571: FND_MSG_PUB.Count_And_Get (
572: p_encoded => FND_API.G_FALSE,
573: p_count => x_msg_count,
568: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
569: x_return_status := FND_API.G_RET_STS_ERROR;
570: -- Standard call to get message count and if count=1, get the message
571: FND_MSG_PUB.Count_And_Get (
572: p_encoded => FND_API.G_FALSE,
573: p_count => x_msg_count,
574: p_data => x_msg_data
575: );
576:
573: p_count => x_msg_count,
574: p_data => x_msg_data
575: );
576:
577: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
578: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: -- Standard call to get message count and if count=1, get the message
581: FND_MSG_PUB.Count_And_Get (
575: );
576:
577: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
578: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: -- Standard call to get message count and if count=1, get the message
581: FND_MSG_PUB.Count_And_Get (
582: p_encoded => FND_API.G_FALSE,
583: p_count => x_msg_count,
578: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: -- Standard call to get message count and if count=1, get the message
581: FND_MSG_PUB.Count_And_Get (
582: p_encoded => FND_API.G_FALSE,
583: p_count => x_msg_count,
584: p_data => x_msg_data
585: );
586:
585: );
586:
587: WHEN OTHERS THEN
588: ROLLBACK TO UPDATE_Ptr_Enr_Temp_Appr_PVT;
589: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
590: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
591: THEN
592: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
593: END IF;
592: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
593: END IF;
594: -- Standard call to get message count and if count=1, get the message
595: FND_MSG_PUB.Count_And_Get (
596: p_encoded => FND_API.G_FALSE,
597: p_count => x_msg_count,
598: p_data => x_msg_data
599: );
600: End Update_Ptr_Enr_Temp_Appr;
612: -- Parameters
613: --
614: -- IN
615: -- p_api_version_number IN NUMBER Required
616: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
617: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
618: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
619: -- p_entity_approver_id IN NUMBER
620: -- p_object_version_number IN NUMBER Optional Default = NULL
613: --
614: -- IN
615: -- p_api_version_number IN NUMBER Required
616: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
617: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
618: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
619: -- p_entity_approver_id IN NUMBER
620: -- p_object_version_number IN NUMBER Optional Default = NULL
621: --
614: -- IN
615: -- p_api_version_number IN NUMBER Required
616: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
617: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
618: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
619: -- p_entity_approver_id IN NUMBER
620: -- p_object_version_number IN NUMBER Optional Default = NULL
621: --
622: -- OUT
635: -- ==============================================================================
636:
637: PROCEDURE Delete_Ptr_Enr_Temp_Appr(
638: p_api_version_number IN NUMBER,
639: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
640: p_commit IN VARCHAR2 := FND_API.G_FALSE,
641: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
642: x_return_status OUT NOCOPY VARCHAR2,
643: x_msg_count OUT NOCOPY NUMBER,
636:
637: PROCEDURE Delete_Ptr_Enr_Temp_Appr(
638: p_api_version_number IN NUMBER,
639: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
640: p_commit IN VARCHAR2 := FND_API.G_FALSE,
641: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
642: x_return_status OUT NOCOPY VARCHAR2,
643: x_msg_count OUT NOCOPY NUMBER,
644: x_msg_data OUT NOCOPY VARCHAR2,
637: PROCEDURE Delete_Ptr_Enr_Temp_Appr(
638: p_api_version_number IN NUMBER,
639: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
640: p_commit IN VARCHAR2 := FND_API.G_FALSE,
641: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
642: x_return_status OUT NOCOPY VARCHAR2,
643: x_msg_count OUT NOCOPY NUMBER,
644: x_msg_data OUT NOCOPY VARCHAR2,
645: p_entity_approver_id IN NUMBER,
655: -- Standard Start of API savepoint
656: SAVEPOINT delete_ptr_enr_temp_appr_pvt;
657:
658: -- Standard call to check for call compatibility.
659: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
660: p_api_version_number,
661: l_api_name,
662: G_PKG_NAME)
663: THEN
660: p_api_version_number,
661: l_api_name,
662: G_PKG_NAME)
663: THEN
664: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
665: END IF;
666:
667:
668: -- Initialize message list if p_init_msg_list is set to TRUE.
665: END IF;
666:
667:
668: -- Initialize message list if p_init_msg_list is set to TRUE.
669: IF FND_API.to_Boolean( p_init_msg_list )
670: THEN
671: FND_MSG_PUB.initialize;
672: END IF;
673:
681:
682:
683:
684: -- Initialize API return status to SUCCESS
685: x_return_status := FND_API.G_RET_STS_SUCCESS;
686:
687: --
688: -- Api body
689: --
701: -- End of API body
702: --
703:
704: -- Standard check for p_commit
705: IF FND_API.to_Boolean( p_commit )
706: THEN
707: COMMIT WORK;
708: END IF;
709:
722: );
723: EXCEPTION
724:
725: WHEN PVX_UTILITY_PVT.resource_locked THEN
726: x_return_status := FND_API.g_ret_sts_error;
727: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
728: FND_MSG_PUB.Add;
729:
730: WHEN FND_API.G_EXC_ERROR THEN
726: x_return_status := FND_API.g_ret_sts_error;
727: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
728: FND_MSG_PUB.Add;
729:
730: WHEN FND_API.G_EXC_ERROR THEN
731: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
732: x_return_status := FND_API.G_RET_STS_ERROR;
733: -- Standard call to get message count and if count=1, get the message
734: FND_MSG_PUB.Count_And_Get (
728: FND_MSG_PUB.Add;
729:
730: WHEN FND_API.G_EXC_ERROR THEN
731: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
732: x_return_status := FND_API.G_RET_STS_ERROR;
733: -- Standard call to get message count and if count=1, get the message
734: FND_MSG_PUB.Count_And_Get (
735: p_encoded => FND_API.G_FALSE,
736: p_count => x_msg_count,
731: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
732: x_return_status := FND_API.G_RET_STS_ERROR;
733: -- Standard call to get message count and if count=1, get the message
734: FND_MSG_PUB.Count_And_Get (
735: p_encoded => FND_API.G_FALSE,
736: p_count => x_msg_count,
737: p_data => x_msg_data
738: );
739:
736: p_count => x_msg_count,
737: p_data => x_msg_data
738: );
739:
740: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
741: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743: -- Standard call to get message count and if count=1, get the message
744: FND_MSG_PUB.Count_And_Get (
738: );
739:
740: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
741: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743: -- Standard call to get message count and if count=1, get the message
744: FND_MSG_PUB.Count_And_Get (
745: p_encoded => FND_API.G_FALSE,
746: p_count => x_msg_count,
741: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743: -- Standard call to get message count and if count=1, get the message
744: FND_MSG_PUB.Count_And_Get (
745: p_encoded => FND_API.G_FALSE,
746: p_count => x_msg_count,
747: p_data => x_msg_data
748: );
749:
748: );
749:
750: WHEN OTHERS THEN
751: ROLLBACK TO DELETE_Ptr_Enr_Temp_Appr_PVT;
752: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
753: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
754: THEN
755: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
756: END IF;
755: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
756: END IF;
757: -- Standard call to get message count and if count=1, get the message
758: FND_MSG_PUB.Count_And_Get (
759: p_encoded => FND_API.G_FALSE,
760: p_count => x_msg_count,
761: p_data => x_msg_data
762: );
763: End Delete_Ptr_Enr_Temp_Appr;
777: -- Parameters
778: --
779: -- IN
780: -- p_api_version_number IN NUMBER Required
781: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
782: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
783: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
784: -- p_approver_rec IN approver_rec_type Required
785: --
778: --
779: -- IN
780: -- p_api_version_number IN NUMBER Required
781: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
782: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
783: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
784: -- p_approver_rec IN approver_rec_type Required
785: --
786: -- OUT
779: -- IN
780: -- p_api_version_number IN NUMBER Required
781: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
782: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
783: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
784: -- p_approver_rec IN approver_rec_type Required
785: --
786: -- OUT
787: -- x_return_status OUT VARCHAR2
799: -- ==============================================================================
800:
801: PROCEDURE Lock_Ptr_Enr_Temp_Appr(
802: p_api_version_number IN NUMBER,
803: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
804:
805: x_return_status OUT NOCOPY VARCHAR2,
806: x_msg_count OUT NOCOPY NUMBER,
807: x_msg_data OUT NOCOPY VARCHAR2,
825: END IF;
826:
827:
828: -- Initialize message list if p_init_msg_list is set to TRUE.
829: IF FND_API.to_Boolean( p_init_msg_list )
830: THEN
831: FND_MSG_PUB.initialize;
832: END IF;
833:
833:
834:
835:
836: -- Standard call to check for call compatibility.
837: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
838: p_api_version_number,
839: l_api_name,
840: G_PKG_NAME)
841: THEN
838: p_api_version_number,
839: l_api_name,
840: G_PKG_NAME)
841: THEN
842: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
843: END IF;
844:
845:
846:
844:
845:
846:
847: -- Initialize API return status to SUCCESS
848: x_return_status := FND_API.G_RET_STS_SUCCESS;
849:
850:
851: ------------------------ lock -------------------------
852: Pv_Ge_Temp_Approvers_Pkg.Lock_Row(l_entity_approver_id,p_object_version);
853:
854:
855: -------------------- finish --------------------------
856: FND_MSG_PUB.count_and_get(
857: p_encoded => FND_API.g_false,
858: p_count => x_msg_count,
859: p_data => x_msg_data);
860: IF (PV_DEBUG_HIGH_ON) THEN
861:
863: END IF;
864: EXCEPTION
865:
866: WHEN PVX_UTILITY_PVT.resource_locked THEN
867: x_return_status := FND_API.g_ret_sts_error;
868: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
869: FND_MSG_PUB.Add;
870:
871: WHEN FND_API.G_EXC_ERROR THEN
867: x_return_status := FND_API.g_ret_sts_error;
868: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
869: FND_MSG_PUB.Add;
870:
871: WHEN FND_API.G_EXC_ERROR THEN
872: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
873: x_return_status := FND_API.G_RET_STS_ERROR;
874: -- Standard call to get message count and if count=1, get the message
875: FND_MSG_PUB.Count_And_Get (
869: FND_MSG_PUB.Add;
870:
871: WHEN FND_API.G_EXC_ERROR THEN
872: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
873: x_return_status := FND_API.G_RET_STS_ERROR;
874: -- Standard call to get message count and if count=1, get the message
875: FND_MSG_PUB.Count_And_Get (
876: p_encoded => FND_API.G_FALSE,
877: p_count => x_msg_count,
872: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
873: x_return_status := FND_API.G_RET_STS_ERROR;
874: -- Standard call to get message count and if count=1, get the message
875: FND_MSG_PUB.Count_And_Get (
876: p_encoded => FND_API.G_FALSE,
877: p_count => x_msg_count,
878: p_data => x_msg_data
879: );
880:
877: p_count => x_msg_count,
878: p_data => x_msg_data
879: );
880:
881: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
882: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
883: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
884: -- Standard call to get message count and if count=1, get the message
885: FND_MSG_PUB.Count_And_Get (
879: );
880:
881: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
882: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
883: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
884: -- Standard call to get message count and if count=1, get the message
885: FND_MSG_PUB.Count_And_Get (
886: p_encoded => FND_API.G_FALSE,
887: p_count => x_msg_count,
882: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
883: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
884: -- Standard call to get message count and if count=1, get the message
885: FND_MSG_PUB.Count_And_Get (
886: p_encoded => FND_API.G_FALSE,
887: p_count => x_msg_count,
888: p_data => x_msg_data
889: );
890:
889: );
890:
891: WHEN OTHERS THEN
892: ROLLBACK TO LOCK_Ptr_Enr_Temp_Appr_PVT;
893: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
894: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
895: THEN
896: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
897: END IF;
896: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
897: END IF;
898: -- Standard call to get message count and if count=1, get the message
899: FND_MSG_PUB.Count_And_Get (
900: p_encoded => FND_API.G_FALSE,
901: p_count => x_msg_count,
902: p_data => x_msg_data
903: );
904: End Lock_Ptr_Enr_Temp_Appr;
913: IS
914: l_valid_flag VARCHAR2(1);
915:
916: BEGIN
917: x_return_status := FND_API.g_ret_sts_success;
918: IF p_validation_mode = JTF_PLSQL_API.g_create
919: AND p_approver_rec.entity_approver_id IS NOT NULL
920: THEN
921: l_valid_flag := PVX_UTILITY_PVT.check_uniqueness(
923: 'entity_approver_id = ''' || p_approver_rec.entity_approver_id ||''''
924: );
925: END IF;
926:
927: IF l_valid_flag = FND_API.g_false THEN
928: FND_MESSAGE.Set_Name ('PV', 'PV_entity_approver_id_DUPLICATE');
929: FND_MSG_PUB.Add;
930: x_return_status := FND_API.g_ret_sts_error;
931: END IF;
926:
927: IF l_valid_flag = FND_API.g_false THEN
928: FND_MESSAGE.Set_Name ('PV', 'PV_entity_approver_id_DUPLICATE');
929: FND_MSG_PUB.Add;
930: x_return_status := FND_API.g_ret_sts_error;
931: END IF;
932:
933: END check_Approver_Uk_Items;
934:
940: x_return_status OUT NOCOPY VARCHAR2
941: )
942: IS
943: BEGIN
944: x_return_status := FND_API.g_ret_sts_success;
945:
946: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
947:
948: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char OR p_approver_rec.arc_appr_for_entity_code IS NULL THEN
944: x_return_status := FND_API.g_ret_sts_success;
945:
946: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
947:
948: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char OR p_approver_rec.arc_appr_for_entity_code IS NULL THEN
949: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
950: FND_MESSAGE.Set_Token('MISS_FIELD', 'ARC_APPR_FOR_ENTITY_CODE');
951: FND_MSG_PUB.Add;
952: x_return_status := FND_API.g_ret_sts_error;
948: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char OR p_approver_rec.arc_appr_for_entity_code IS NULL THEN
949: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
950: FND_MESSAGE.Set_Token('MISS_FIELD', 'ARC_APPR_FOR_ENTITY_CODE');
951: FND_MSG_PUB.Add;
952: x_return_status := FND_API.g_ret_sts_error;
953: END IF;
954:
955:
956: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM OR p_approver_rec.appr_for_entity_id IS NULL THEN
952: x_return_status := FND_API.g_ret_sts_error;
953: END IF;
954:
955:
956: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM OR p_approver_rec.appr_for_entity_id IS NULL THEN
957: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
958: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPR_FOR_ENTITY_ID');
959: FND_MSG_PUB.Add;
960: x_return_status := FND_API.g_ret_sts_error;
956: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM OR p_approver_rec.appr_for_entity_id IS NULL THEN
957: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
958: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPR_FOR_ENTITY_ID');
959: FND_MSG_PUB.Add;
960: x_return_status := FND_API.g_ret_sts_error;
961: END IF;
962:
963:
964: IF p_approver_rec.approval_status_code = FND_API.g_miss_char OR p_approver_rec.approval_status_code IS NULL THEN
960: x_return_status := FND_API.g_ret_sts_error;
961: END IF;
962:
963:
964: IF p_approver_rec.approval_status_code = FND_API.g_miss_char OR p_approver_rec.approval_status_code IS NULL THEN
965: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
966: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPROVAL_STATUS_CODE');
967: FND_MSG_PUB.Add;
968: x_return_status := FND_API.g_ret_sts_error;
964: IF p_approver_rec.approval_status_code = FND_API.g_miss_char OR p_approver_rec.approval_status_code IS NULL THEN
965: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
966: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPROVAL_STATUS_CODE');
967: FND_MSG_PUB.Add;
968: x_return_status := FND_API.g_ret_sts_error;
969: END IF;
970:
971:
972: ELSE
971:
972: ELSE
973:
974:
975: IF p_approver_rec.entity_approver_id = FND_API.G_MISS_NUM THEN
976: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
977: FND_MESSAGE.Set_Token('MISS_FIELD', 'ENTITY_APPROVER_ID');
978: FND_MSG_PUB.Add;
979: x_return_status := FND_API.g_ret_sts_error;
975: IF p_approver_rec.entity_approver_id = FND_API.G_MISS_NUM THEN
976: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
977: FND_MESSAGE.Set_Token('MISS_FIELD', 'ENTITY_APPROVER_ID');
978: FND_MSG_PUB.Add;
979: x_return_status := FND_API.g_ret_sts_error;
980: END IF;
981:
982:
983: IF p_approver_rec.object_version_number = FND_API.G_MISS_NUM THEN
979: x_return_status := FND_API.g_ret_sts_error;
980: END IF;
981:
982:
983: IF p_approver_rec.object_version_number = FND_API.G_MISS_NUM THEN
984: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
985: FND_MESSAGE.Set_Token('MISS_FIELD', 'OBJECT_VERSION_NUMBER');
986: FND_MSG_PUB.Add;
987: x_return_status := FND_API.g_ret_sts_error;
983: IF p_approver_rec.object_version_number = FND_API.G_MISS_NUM THEN
984: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
985: FND_MESSAGE.Set_Token('MISS_FIELD', 'OBJECT_VERSION_NUMBER');
986: FND_MSG_PUB.Add;
987: x_return_status := FND_API.g_ret_sts_error;
988: END IF;
989:
990:
991: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char THEN
987: x_return_status := FND_API.g_ret_sts_error;
988: END IF;
989:
990:
991: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char THEN
992: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
993: FND_MESSAGE.Set_Token('MISS_FIELD', 'ARC_APPR_FOR_ENTITY_CODE');
994: FND_MSG_PUB.Add;
995: x_return_status := FND_API.g_ret_sts_error;
991: IF p_approver_rec.arc_appr_for_entity_code = FND_API.g_miss_char THEN
992: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
993: FND_MESSAGE.Set_Token('MISS_FIELD', 'ARC_APPR_FOR_ENTITY_CODE');
994: FND_MSG_PUB.Add;
995: x_return_status := FND_API.g_ret_sts_error;
996: END IF;
997:
998:
999: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM THEN
995: x_return_status := FND_API.g_ret_sts_error;
996: END IF;
997:
998:
999: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM THEN
1000: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
1001: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPR_FOR_ENTITY_ID');
1002: FND_MSG_PUB.Add;
1003: x_return_status := FND_API.g_ret_sts_error;
999: IF p_approver_rec.appr_for_entity_id = FND_API.G_MISS_NUM THEN
1000: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
1001: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPR_FOR_ENTITY_ID');
1002: FND_MSG_PUB.Add;
1003: x_return_status := FND_API.g_ret_sts_error;
1004: END IF;
1005:
1006:
1007: IF p_approver_rec.approval_status_code = FND_API.g_miss_char THEN
1003: x_return_status := FND_API.g_ret_sts_error;
1004: END IF;
1005:
1006:
1007: IF p_approver_rec.approval_status_code = FND_API.g_miss_char THEN
1008: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
1009: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPROVAL_STATUS_CODE');
1010: FND_MSG_PUB.Add;
1011: x_return_status := FND_API.g_ret_sts_error;
1007: IF p_approver_rec.approval_status_code = FND_API.g_miss_char THEN
1008: FND_MESSAGE.Set_Name ('PV', 'AMS_API_MISSING_FIELD');
1009: FND_MESSAGE.Set_Token('MISS_FIELD', 'APPROVAL_STATUS_CODE');
1010: FND_MSG_PUB.Add;
1011: x_return_status := FND_API.g_ret_sts_error;
1012: END IF;
1013: END IF;
1014:
1015: END check_Approver_Req_Items;
1021: x_return_status OUT NOCOPY VARCHAR2
1022: )
1023: IS
1024: BEGIN
1025: x_return_status := FND_API.g_ret_sts_success;
1026:
1027: -- Enter custom code here
1028:
1029: END check_Approver_Fk_Items;
1035: x_return_status OUT NOCOPY VARCHAR2
1036: )
1037: IS
1038: BEGIN
1039: x_return_status := FND_API.g_ret_sts_success;
1040:
1041: -- Enter custom code here
1042:
1043: END check_Approver_Lookup_Items;
1052: IS
1053: l_return_status VARCHAR2(1);
1054: BEGIN
1055:
1056: l_return_status := FND_API.g_ret_sts_success;
1057: -- Check Items Uniqueness API calls
1058:
1059: check_Approver_Uk_Items(
1060: p_approver_rec => p_approver_rec,
1059: check_Approver_Uk_Items(
1060: p_approver_rec => p_approver_rec,
1061: p_validation_mode => p_validation_mode,
1062: x_return_status => x_return_status);
1063: IF x_return_status <> FND_API.g_ret_sts_success THEN
1064: l_return_status := FND_API.g_ret_sts_error;
1065: END IF;
1066:
1067: -- Check Items Required/NOT NULL API calls
1060: p_approver_rec => p_approver_rec,
1061: p_validation_mode => p_validation_mode,
1062: x_return_status => x_return_status);
1063: IF x_return_status <> FND_API.g_ret_sts_success THEN
1064: l_return_status := FND_API.g_ret_sts_error;
1065: END IF;
1066:
1067: -- Check Items Required/NOT NULL API calls
1068:
1069: check_approver_req_items(
1070: p_approver_rec => p_approver_rec,
1071: p_validation_mode => p_validation_mode,
1072: x_return_status => x_return_status);
1073: IF x_return_status <> FND_API.g_ret_sts_success THEN
1074: l_return_status := FND_API.g_ret_sts_error;
1075: END IF;
1076: -- Check Items Foreign Keys API calls
1077:
1070: p_approver_rec => p_approver_rec,
1071: p_validation_mode => p_validation_mode,
1072: x_return_status => x_return_status);
1073: IF x_return_status <> FND_API.g_ret_sts_success THEN
1074: l_return_status := FND_API.g_ret_sts_error;
1075: END IF;
1076: -- Check Items Foreign Keys API calls
1077:
1078: check_approver_FK_items(
1077:
1078: check_approver_FK_items(
1079: p_approver_rec => p_approver_rec,
1080: x_return_status => x_return_status);
1081: IF x_return_status <> FND_API.g_ret_sts_success THEN
1082: l_return_status := FND_API.g_ret_sts_error;
1083: END IF;
1084: -- Check Items Lookups
1085:
1078: check_approver_FK_items(
1079: p_approver_rec => p_approver_rec,
1080: x_return_status => x_return_status);
1081: IF x_return_status <> FND_API.g_ret_sts_success THEN
1082: l_return_status := FND_API.g_ret_sts_error;
1083: END IF;
1084: -- Check Items Lookups
1085:
1086: check_approver_Lookup_items(
1085:
1086: check_approver_Lookup_items(
1087: p_approver_rec => p_approver_rec,
1088: x_return_status => x_return_status);
1089: IF x_return_status <> FND_API.g_ret_sts_success THEN
1090: l_return_status := FND_API.g_ret_sts_error;
1091: END IF;
1092:
1093: x_return_status := l_return_status;
1086: check_approver_Lookup_items(
1087: p_approver_rec => p_approver_rec,
1088: x_return_status => x_return_status);
1089: IF x_return_status <> FND_API.g_ret_sts_success THEN
1090: l_return_status := FND_API.g_ret_sts_error;
1091: END IF;
1092:
1093: x_return_status := l_return_status;
1094:
1194: l_approver_rec approver_rec_type := p_approver_rec;
1195: BEGIN
1196: -- Developers should put their code to default the record type
1197: -- e.g. IF p_campaign_rec.status_code IS NULL
1198: -- OR p_campaign_rec.status_code = FND_API.G_MISS_CHAR THEN
1199: -- l_campaign_rec.status_code := 'NEW' ;
1200: -- END IF ;
1201: --
1202: NULL ;
1206:
1207:
1208: PROCEDURE Validate_Ptr_Enr_Temp_Appr(
1209: p_api_version_number IN NUMBER,
1210: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1211: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1212: p_approver_rec IN approver_rec_type,
1213: p_validation_mode IN VARCHAR2,
1214: x_return_status OUT NOCOPY VARCHAR2,
1207:
1208: PROCEDURE Validate_Ptr_Enr_Temp_Appr(
1209: p_api_version_number IN NUMBER,
1210: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1211: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1212: p_approver_rec IN approver_rec_type,
1213: p_validation_mode IN VARCHAR2,
1214: x_return_status OUT NOCOPY VARCHAR2,
1215: x_msg_count OUT NOCOPY NUMBER,
1226: -- Standard Start of API savepoint
1227: SAVEPOINT validate_ptr_enr_temp_appr_;
1228:
1229: -- Standard call to check for call compatibility.
1230: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1231: p_api_version_number,
1232: l_api_name,
1233: G_PKG_NAME)
1234: THEN
1231: p_api_version_number,
1232: l_api_name,
1233: G_PKG_NAME)
1234: THEN
1235: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1236: END IF;
1237:
1238:
1239: -- Initialize message list if p_init_msg_list is set to TRUE.
1236: END IF;
1237:
1238:
1239: -- Initialize message list if p_init_msg_list is set to TRUE.
1240: IF FND_API.to_Boolean( p_init_msg_list )
1241: THEN
1242: FND_MSG_PUB.initialize;
1243: END IF;
1244:
1249: p_validation_mode => p_validation_mode,
1250: x_return_status => x_return_status
1251: );
1252:
1253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1254: RAISE FND_API.G_EXC_ERROR;
1255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1257: END IF;
1250: x_return_status => x_return_status
1251: );
1252:
1253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1254: RAISE FND_API.G_EXC_ERROR;
1255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1257: END IF;
1258: END IF;
1251: );
1252:
1253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1254: RAISE FND_API.G_EXC_ERROR;
1255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1257: END IF;
1258: END IF;
1259:
1252:
1253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1254: RAISE FND_API.G_EXC_ERROR;
1255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1257: END IF;
1258: END IF;
1259:
1260: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1272:
1273: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1274: Validate_approver_Rec(
1275: p_api_version_number => 1.0,
1276: p_init_msg_list => FND_API.G_FALSE,
1277: x_return_status => x_return_status,
1278: x_msg_count => x_msg_count,
1279: x_msg_data => x_msg_data,
1280: p_approver_rec => l_approver_rec);
1278: x_msg_count => x_msg_count,
1279: x_msg_data => x_msg_data,
1280: p_approver_rec => l_approver_rec);
1281:
1282: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1283: RAISE FND_API.G_EXC_ERROR;
1284: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1286: END IF;
1279: x_msg_data => x_msg_data,
1280: p_approver_rec => l_approver_rec);
1281:
1282: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1283: RAISE FND_API.G_EXC_ERROR;
1284: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1286: END IF;
1287: END IF;
1280: p_approver_rec => l_approver_rec);
1281:
1282: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1283: RAISE FND_API.G_EXC_ERROR;
1284: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1286: END IF;
1287: END IF;
1288:
1281:
1282: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1283: RAISE FND_API.G_EXC_ERROR;
1284: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1286: END IF;
1287: END IF;
1288:
1289:
1295:
1296:
1297:
1298: -- Initialize API return status to SUCCESS
1299: x_return_status := FND_API.G_RET_STS_SUCCESS;
1300:
1301:
1302: -- Debug Message
1303: IF (PV_DEBUG_HIGH_ON) THEN
1313: );
1314: EXCEPTION
1315:
1316: WHEN PVX_UTILITY_PVT.resource_locked THEN
1317: x_return_status := FND_API.g_ret_sts_error;
1318: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
1319: FND_MSG_PUB.Add;
1320:
1321: WHEN FND_API.G_EXC_ERROR THEN
1317: x_return_status := FND_API.g_ret_sts_error;
1318: FND_MESSAGE.Set_Name ('PV', 'PV_API_RESOURCE_LOCKED');
1319: FND_MSG_PUB.Add;
1320:
1321: WHEN FND_API.G_EXC_ERROR THEN
1322: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1323: x_return_status := FND_API.G_RET_STS_ERROR;
1324: -- Standard call to get message count and if count=1, get the message
1325: FND_MSG_PUB.Count_And_Get (
1319: FND_MSG_PUB.Add;
1320:
1321: WHEN FND_API.G_EXC_ERROR THEN
1322: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1323: x_return_status := FND_API.G_RET_STS_ERROR;
1324: -- Standard call to get message count and if count=1, get the message
1325: FND_MSG_PUB.Count_And_Get (
1326: p_encoded => FND_API.G_FALSE,
1327: p_count => x_msg_count,
1322: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1323: x_return_status := FND_API.G_RET_STS_ERROR;
1324: -- Standard call to get message count and if count=1, get the message
1325: FND_MSG_PUB.Count_And_Get (
1326: p_encoded => FND_API.G_FALSE,
1327: p_count => x_msg_count,
1328: p_data => x_msg_data
1329: );
1330:
1327: p_count => x_msg_count,
1328: p_data => x_msg_data
1329: );
1330:
1331: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1332: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1333: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1334: -- Standard call to get message count and if count=1, get the message
1335: FND_MSG_PUB.Count_And_Get (
1329: );
1330:
1331: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1332: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1333: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1334: -- Standard call to get message count and if count=1, get the message
1335: FND_MSG_PUB.Count_And_Get (
1336: p_encoded => FND_API.G_FALSE,
1337: p_count => x_msg_count,
1332: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1333: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1334: -- Standard call to get message count and if count=1, get the message
1335: FND_MSG_PUB.Count_And_Get (
1336: p_encoded => FND_API.G_FALSE,
1337: p_count => x_msg_count,
1338: p_data => x_msg_data
1339: );
1340:
1339: );
1340:
1341: WHEN OTHERS THEN
1342: ROLLBACK TO VALIDATE_Ptr_Enr_Temp_Appr_;
1343: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1344: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1345: THEN
1346: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1347: END IF;
1346: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1347: END IF;
1348: -- Standard call to get message count and if count=1, get the message
1349: FND_MSG_PUB.Count_And_Get (
1350: p_encoded => FND_API.G_FALSE,
1351: p_count => x_msg_count,
1352: p_data => x_msg_data
1353: );
1354: End Validate_Ptr_Enr_Temp_Appr;
1355:
1356:
1357: PROCEDURE Validate_Approver_Rec (
1358: p_api_version_number IN NUMBER,
1359: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1360: x_return_status OUT NOCOPY VARCHAR2,
1361: x_msg_count OUT NOCOPY NUMBER,
1362: x_msg_data OUT NOCOPY VARCHAR2,
1363: p_approver_rec IN approver_rec_type
1364: )
1365: IS
1366: BEGIN
1367: -- Initialize message list if p_init_msg_list is set to TRUE.
1368: IF FND_API.to_Boolean( p_init_msg_list )
1369: THEN
1370: FND_MSG_PUB.initialize;
1371: END IF;
1372:
1372:
1373:
1374:
1375: -- Initialize API return status to SUCCESS
1376: x_return_status := FND_API.G_RET_STS_SUCCESS;
1377:
1378: -- Hint: Validate data
1379: -- If data not valid
1380: -- THEN
1377:
1378: -- Hint: Validate data
1379: -- If data not valid
1380: -- THEN
1381: -- x_return_status := FND_API.G_RET_STS_ERROR;
1382:
1383: -- Debug Message
1384: IF (PV_DEBUG_HIGH_ON) THEN
1385: