[Home] [Help]
PACKAGE BODY: APPS.IEX_REPOSSESSION_PVT
Source
1 PACKAGE BODY IEX_REPOSSESSION_PVT as
2 /* $Header: iexvrpsb.pls 120.4 2010/09/27 09:51:17 gnramasa ship $ */
3 -- Start of Comments
4 -- Package name : IEX_REPOSSESSION_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_REPOSSESSION_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvrpsb.pls';
13
14
15 -- Hint: Primary key needs to be returned.
16 PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
17
18 PROCEDURE Create_repossession(
19 P_Api_Version_Number IN NUMBER,
20 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
21 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
22 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
23 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_FALSE,
24 P_Admin_Flag IN VARCHAR2 := FND_API.G_FALSE,
25 P_Admin_Group_Id IN NUMBER,
26 P_Identity_Salesforce_Id IN NUMBER,
27 --P_profile_tbl IN AS_UTILITY_PUB.PROFILE_TBL_TYPE,
28 P_RPS_Rec IN RPS_Rec_Type := G_MISS_RPS_REC,
29 --Hint: Add detail tables as parameter lists if it's master-detail relationship.
30 X_REPOSSESSION_ID OUT NOCOPY NUMBER,
31 X_Return_Status OUT NOCOPY VARCHAR2,
32 X_Msg_Count OUT NOCOPY NUMBER,
33 X_Msg_Data OUT NOCOPY VARCHAR2
34 )
35
36 IS
37 l_api_name CONSTANT VARCHAR2(30) := 'Create_repossession';
38 l_api_version_number CONSTANT NUMBER := 2.0;
39 l_return_status_full VARCHAR2(1);
40 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
41 l_access_flag VARCHAR2(1);
42 BEGIN
43 -- Standard Start of API savepoint
44 SAVEPOINT CREATE_REPOSSESSION_PVT;
45
46 -- Standard call to check for call compatibility.
47 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
48 p_api_version_number,
49 l_api_name,
50 G_PKG_NAME)
51 THEN
52 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
53 END IF;
54
55
56 -- Initialize message list if p_init_msg_list is set to TRUE.
57 IF FND_API.to_Boolean( p_init_msg_list )
58 THEN
59 FND_MSG_PUB.initialize;
60 END IF;
61
62
63
64 -- Initialize API return status to SUCCESS
65 x_return_status := FND_API.G_RET_STS_SUCCESS;
66
67 --
68 -- API body
69 --
70 -- ******************************************************************
71 -- Validate Environment
72 -- ******************************************************************
73 IF FND_GLOBAL.User_Id IS NULL
74 THEN
75 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
76 THEN
77 FND_MESSAGE.Set_Name('IEX', 'UT_CANNOT_GET_PROFILE_VALUE');
78 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
79 FND_MSG_PUB.ADD;
80 END IF;
81 RAISE FND_API.G_EXC_ERROR;
82 END IF;
83
84
85 IF p_validation_level = FND_API.G_VALID_LEVEL_FULL
86 THEN
87 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
88 p_api_version_number => 2.0
89 ,p_init_msg_list => p_init_msg_list
90 ,p_salesforce_id => NULL
91 ,p_admin_group_id => p_admin_group_id
92 ,x_return_status => x_return_status
93 ,x_msg_count => x_msg_count
94 ,x_msg_data => x_msg_data
95 ,x_sales_member_rec => l_identity_sales_member_rec);
96
97
98 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
99 RAISE FND_API.G_EXC_ERROR;
100 END IF;
101
102 END IF;
103
104
105 -- Invoke validation procedures
106 Validate_repossession(
107 p_init_msg_list => FND_API.G_FALSE,
108 p_validation_level => p_validation_level,
109 p_validation_mode => AS_UTILITY_PVT.G_CREATE,
110 P_RPS_Rec => P_RPS_Rec,
111 x_return_status => x_return_status,
112 x_msg_count => x_msg_count,
113 x_msg_data => x_msg_data);
114
115 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
116 RAISE FND_API.G_EXC_ERROR;
117 END IF;
118
119
120 IF p_check_access_flag = 'Y'
121 THEN
122 -- Please un-comment here and complete it
123 -- AS_ACCESS_PUB.Has_???Access(
124 -- p_api_version_number => 2.0
125 -- ,p_init_msg_list => p_init_msg_list
126 -- ,p_validation_level => p_validation_level
127 -- ,p_profile_tbl => p_profile_tbl
128 -- ,p_admin_flag => p_admin_flag
129 -- ,p_admin_group_id => p_admin_group_id
130 -- ,p_person_id => l_identity_sales_member_rec.employee_person_id
131 -- ,p_customer_id =>
132 -- ,p_check_access_flag => 'Y'
133 -- ,p_identity_salesforce_id => p_identity_salesforce_id
134 -- ,p_partner_cont_party_id => NULL
135 -- ,x_return_status => x_return_status
136 -- ,x_msg_count => x_msg_count
137 -- ,x_msg_data => x_msg_data
138 -- ,x_access_flag => l_access_flag);
139
140
141
142 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
143 RAISE FND_API.G_EXC_ERROR;
144 END IF;
145
146 END IF;
147 -- Hint: Add corresponding Master-Detail business logic here if necessary.
148
149
150 -- Invoke table handler(IEX_REPOSSESSIONS_PKG.Insert_Row)
151 IEX_REPOSSESSIONS_PKG.Insert_Row(
152 px_REPOSSESSION_ID => x_REPOSSESSION_ID
153 ,p_DELINQUENCY_ID => p_RPS_rec.DELINQUENCY_ID
154 ,p_PARTY_ID => p_RPS_rec.PARTY_ID
155 ,p_CUST_ACCOUNT_ID => p_RPS_rec.CUST_ACCOUNT_ID
156 ,p_UNPAID_REASON_CODE => p_RPS_rec.UNPAID_REASON_CODE
157 ,p_REMARKET_FLAG => p_RPS_rec.REMARKET_FLAG
158 ,p_REPOSSESSION_DATE => p_RPS_rec.REPOSSESSION_DATE
159 ,p_ASSET_ID => p_RPS_rec.ASSET_ID
160 ,p_ASSET_VALUE => p_RPS_rec.ASSET_VALUE
161 ,p_ASSET_NUMBER => p_RPS_rec.ASSET_NUMBER
162 ,p_REQUEST_ID => p_RPS_rec.REQUEST_ID
163 ,p_PROGRAM_APPLICATION_ID => p_RPS_rec.PROGRAM_APPLICATION_ID
164 ,p_PROGRAM_ID => p_RPS_rec.PROGRAM_ID
165 ,p_PROGRAM_UPDATE_DATE => p_RPS_rec.PROGRAM_UPDATE_DATE
166 ,p_ATTRIBUTE_CATEGORY => p_RPS_rec.ATTRIBUTE_CATEGORY
167 ,p_ATTRIBUTE1 => p_RPS_rec.ATTRIBUTE1
168 ,p_ATTRIBUTE2 => p_RPS_rec.ATTRIBUTE2
169 ,p_ATTRIBUTE3 => p_RPS_rec.ATTRIBUTE3
170 ,p_ATTRIBUTE4 => p_RPS_rec.ATTRIBUTE4
171 ,p_ATTRIBUTE5 => p_RPS_rec.ATTRIBUTE5
172 ,p_ATTRIBUTE6 => p_RPS_rec.ATTRIBUTE6
173 ,p_ATTRIBUTE7 => p_RPS_rec.ATTRIBUTE7
174 ,p_ATTRIBUTE8 => p_RPS_rec.ATTRIBUTE8
175 ,p_ATTRIBUTE9 => p_RPS_rec.ATTRIBUTE9
176 ,p_ATTRIBUTE10 => p_RPS_rec.ATTRIBUTE10
177 ,p_ATTRIBUTE11 => p_RPS_rec.ATTRIBUTE11
178 ,p_ATTRIBUTE12 => p_RPS_rec.ATTRIBUTE12
179 ,p_ATTRIBUTE13 => p_RPS_rec.ATTRIBUTE13
180 ,p_ATTRIBUTE14 => p_RPS_rec.ATTRIBUTE14
181 ,p_ATTRIBUTE15 => p_RPS_rec.ATTRIBUTE15
182 ,p_CREATED_BY => FND_GLOBAL.USER_ID
183 ,p_CREATION_DATE => SYSDATE
184 ,p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID
185 ,p_LAST_UPDATE_DATE => SYSDATE
186 --,p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID --commented for bug 10034220 gnramasa 24th Sep 10
187 ,p_LAST_UPDATE_LOGIN => FND_GLOBAL.USER_ID
188 ,p_CREDIT_HOLD_REQUEST_FLAG => p_RPS_rec.CREDIT_HOLD_REQUEST_FLAG
189 ,p_CREDIT_HOLD_APPROVED_FLAG => p_RPS_rec.CREDIT_HOLD_APPROVED_FLAG
190 ,p_SERVICE_HOLD_REQUEST_FLAG => p_RPS_rec.SERVICE_HOLD_REQUEST_FLAG
191 ,p_SERVICE_HOLD_APPROVED_FLAG => p_RPS_rec.SERVICE_HOLD_APPROVED_FLAG
192 ,p_SUGGESTION_APPROVED_FLAG => p_RPS_rec.SUGGESTION_APPROVED_FLAG
193 ,p_DISPOSITION_CODE => P_RPS_REC.DISPOSITION_CODE
194 ,p_CUSTOMER_SITE_USE_ID => p_rps_rec.CUSTOMER_SITE_USE_ID
195 ,p_ORG_ID => p_rps_rec.ORG_ID
196 ,p_CONTRACT_ID => p_rps_rec.CONTRACT_ID
197 ,p_CONTRACT_NUMBER => p_rps_rec.CONTRACT_NUMBER
198 );
199 -- Hint: Primary key should be returned.
200 -- x_REPOSSESSION_ID := px_REPOSSESSION_ID;
201
202 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
203 RAISE FND_API.G_EXC_ERROR;
204 END IF;
205
206 --
207 -- End of API body
208 --
209
210 -- Standard check for p_commit
211 IF FND_API.to_Boolean( p_commit )
212 THEN
213 COMMIT WORK;
214 END IF;
215
216
217
218 -- Standard call to get message count and if count is 1, get message info.
219 FND_MSG_PUB.Count_And_Get
220 ( p_count => x_msg_count,
221 p_data => x_msg_data
222 );
223
224 EXCEPTION
225 WHEN FND_API.G_EXC_ERROR THEN
226 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
227 P_API_NAME => L_API_NAME
228 ,P_PKG_NAME => G_PKG_NAME
229 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
230 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
231 ,X_MSG_COUNT => X_MSG_COUNT
232 ,X_MSG_DATA => X_MSG_DATA
233 ,X_RETURN_STATUS => X_RETURN_STATUS);
234
235 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
236 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
237 P_API_NAME => L_API_NAME
238 ,P_PKG_NAME => G_PKG_NAME
239 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
240 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
241 ,X_MSG_COUNT => X_MSG_COUNT
242 ,X_MSG_DATA => X_MSG_DATA
243 ,X_RETURN_STATUS => X_RETURN_STATUS);
244
245 WHEN OTHERS THEN
246 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
247 P_API_NAME => L_API_NAME
248 ,P_PKG_NAME => G_PKG_NAME
249 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
250 ,P_SQLCODE => SQLCODE
251 ,P_SQLERRM => SQLERRM
252 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
253 ,X_MSG_COUNT => X_MSG_COUNT
254 ,X_MSG_DATA => X_MSG_DATA
255 ,X_RETURN_STATUS => X_RETURN_STATUS);
256 End Create_repossession;
257
258
259 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
260 PROCEDURE Update_repossession(
261 P_Api_Version_Number IN NUMBER,
262 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
263 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
264 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
265 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_FALSE,
266 P_Admin_Flag IN VARCHAR2 := FND_API.G_FALSE,
267 P_Admin_Group_Id IN NUMBER,
268 P_Identity_Salesforce_Id IN NUMBER,
269 --P_profile_tbl IN AS_UTILITY_PUB.PROFILE_TBL_TYPE,
270 P_RPS_Rec IN RPS_Rec_Type,
271 X_Return_Status OUT NOCOPY VARCHAR2,
272 X_Msg_Count OUT NOCOPY NUMBER,
273 X_Msg_Data OUT NOCOPY VARCHAR2
274 )
275
276 IS
277 /*
278 Cursor C_Get_repossession(REPOSSESSION_ID Number) IS
279 Select rowid,
280 REPOSSESSION_ID,
281 DELINQUENCY_ID,
282 PARTY_ID,
283 CUST_ACCOUNT_ID,
284 UNPAID_REASON_CODE,
285 REMARKET_FLAG,
286 REPOSSESSION_DATE,
287 ASSET_ID,
288 ASSET_VALUE,
289 ASSET_NUMBER,
290 REQUEST_ID,
291 PROGRAM_APPLICATION_ID,
292 PROGRAM_ID,
293 PROGRAM_UPDATE_DATE,
294 ATTRIBUTE_CATEGORY,
295 ATTRIBUTE1,
296 ATTRIBUTE2,
297 ATTRIBUTE3,
298 ATTRIBUTE4,
299 ATTRIBUTE5,
300 ATTRIBUTE6,
301 ATTRIBUTE7,
302 ATTRIBUTE8,
303 ATTRIBUTE9,
304 ATTRIBUTE10,
305 ATTRIBUTE11,
306 ATTRIBUTE12,
307 ATTRIBUTE13,
308 ATTRIBUTE14,
309 ATTRIBUTE15,
310 CREATED_BY,
311 CREATION_DATE,
312 LAST_UPDATED_BY,
313 LAST_UPDATE_DATE,
314 LAST_UPDATE_LOGIN,
315 CREDIT_HOLD_REQUEST_FLAG,
316 CREDIT_HOLD_APPROVED_FLAG,
317 SERVICE_HOLD_REQUEST_FLAG,
318 SERVICE_HOLD_APPROVED_FLAG,
319 SUGGESTION_APPROVED_FLAG,
320 DISPOSITION_CODE
321 From IEX_REPOSSESSIONS
322 -- Hint: Developer need to provide Where clause
323 For Update NOWAIT;
324 */
325 l_api_name CONSTANT VARCHAR2(30) := 'Update_repossession';
326 l_api_version_number CONSTANT NUMBER := 2.0;
327 -- Local Variables
328 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
329 l_ref_RPS_rec IEX_repossession_PVT.RPS_Rec_Type;
330 l_tar_RPS_rec IEX_repossession_PVT.RPS_Rec_Type := P_RPS_Rec;
331 l_rowid ROWID;
332 BEGIN
333 -- Standard Start of API savepoint
334 SAVEPOINT UPDATE_REPOSSESSION_PVT;
335
336 -- Standard call to check for call compatibility.
337 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
338 p_api_version_number,
339 l_api_name,
340 G_PKG_NAME)
341 THEN
342 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
343 END IF;
344
345
346 -- Initialize message list if p_init_msg_list is set to TRUE.
347 IF FND_API.to_Boolean( p_init_msg_list )
348 THEN
349 FND_MSG_PUB.initialize;
350 END IF;
351
352
353
354 -- Initialize API return status to SUCCESS
355 x_return_status := FND_API.G_RET_STS_SUCCESS;
356
357 --
358 -- Api body
359 --
360
361 IF p_validation_level = FND_API.G_VALID_LEVEL_FULL
362 THEN
363 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
364 p_api_version_number => 2.0
365 ,p_init_msg_list => p_init_msg_list
366 ,p_salesforce_id => p_identity_salesforce_id
367 ,p_admin_group_id => p_admin_group_id
368 ,x_return_status => x_return_status
369 ,x_msg_count => x_msg_count
370 ,x_msg_data => x_msg_data
371 ,x_sales_member_rec => l_identity_sales_member_rec);
372
373
374 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
375 RAISE FND_API.G_EXC_ERROR;
376 END IF;
377
378 END IF;
379
380 /*
381 Open C_Get_repossession( l_tar_RPS_rec.REPOSSESSION_ID);
382
383 Fetch C_Get_repossession into
384 l_rowid,
385 l_ref_RPS_rec.REPOSSESSION_ID,
386 l_ref_RPS_rec.DELINQUENCY_ID,
387 l_ref_RPS_rec.PARTY_ID,
388 l_ref_RPS_rec.CUST_ACCOUNT_ID,
389 l_ref_RPS_rec.UNPAID_REASON_CODE,
390 l_ref_RPS_rec.REMARKET_FLAG,
391 l_ref_RPS_rec.REPOSSESSION_DATE,
392 l_ref_RPS_rec.ASSET_ID,
393 l_ref_RPS_rec.ASSET_VALUE,
394 l_ref_RPS_rec.ASSET_NUMBER,
395 l_ref_RPS_rec.REQUEST_ID,
396 l_ref_RPS_rec.PROGRAM_APPLICATION_ID,
397 l_ref_RPS_rec.PROGRAM_ID,
398 l_ref_RPS_rec.PROGRAM_UPDATE_DATE,
399 l_ref_RPS_rec.ATTRIBUTE_CATEGORY,
400 l_ref_RPS_rec.ATTRIBUTE1,
401 l_ref_RPS_rec.ATTRIBUTE2,
402 l_ref_RPS_rec.ATTRIBUTE3,
403 l_ref_RPS_rec.ATTRIBUTE4,
404 l_ref_RPS_rec.ATTRIBUTE5,
405 l_ref_RPS_rec.ATTRIBUTE6,
406 l_ref_RPS_rec.ATTRIBUTE7,
407 l_ref_RPS_rec.ATTRIBUTE8,
408 l_ref_RPS_rec.ATTRIBUTE9,
409 l_ref_RPS_rec.ATTRIBUTE10,
410 l_ref_RPS_rec.ATTRIBUTE11,
411 l_ref_RPS_rec.ATTRIBUTE12,
412 l_ref_RPS_rec.ATTRIBUTE13,
413 l_ref_RPS_rec.ATTRIBUTE14,
414 l_ref_RPS_rec.ATTRIBUTE15,
415 l_ref_RPS_rec.CREATED_BY,
416 l_ref_RPS_rec.CREATION_DATE,
417 l_ref_RPS_rec.LAST_UPDATED_BY,
418 l_ref_RPS_rec.LAST_UPDATE_DATE,
419 l_ref_RPS_rec.LAST_UPDATE_LOGIN,
420 l_ref_RPS_rec.CREDIT_HOLD_REQUEST_FLAG,
421 l_ref_RPS_rec.CREDIT_HOLD_APPROVED_FLAG,
422 l_ref_RPS_rec.SERVICE_HOLD_REQUEST_FLAG,
423 l_ref_RPS_rec.SERVICE_HOLD_APPROVED_FLAG,
424 l_ref_RPS_rec.SUGGESTION_APPROVED_FLAG,
425 l_ref_rps_rec.DISPOSITION_CODE;
426
427 If ( C_Get_repossession%NOTFOUND) Then
428 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
429 THEN
430 FND_MESSAGE.Set_Name('IEX', 'API_MISSING_UPDATE_TARGET');
431 FND_MESSAGE.Set_Token ('INFO', 'repossession', FALSE);
432 FND_MSG_PUB.Add;
433 END IF;
434 Close C_Get_repossession;
435 raise FND_API.G_EXC_ERROR;
436 END IF;
437 Close C_Get_repossession;
438 */
439
440
441 If (l_tar_RPS_rec.last_update_date is NULL or
442 l_tar_RPS_rec.last_update_date = FND_API.G_MISS_Date ) Then
443 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
444 THEN
445 FND_MESSAGE.Set_Name('IEX', 'API_MISSING_ID');
446 FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
447 FND_MSG_PUB.ADD;
448 END IF;
449 raise FND_API.G_EXC_ERROR;
450 End if;
451 -- Check Whether record has been changed by someone else
452 /*
453 If (l_tar_RPS_rec.last_update_date <> l_ref_RPS_rec.last_update_date) Then
454 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
455 THEN
456 FND_MESSAGE.Set_Name('IEX', 'API_RECORD_CHANGED');
457 FND_MESSAGE.Set_Token('INFO', 'repossession', FALSE);
458 FND_MSG_PUB.ADD;
459 END IF;
460 raise FND_API.G_EXC_ERROR;
461 End if;
462 */
463
464 -- Invoke validation procedures
465 Validate_repossession(
466 p_init_msg_list => FND_API.G_FALSE,
467 p_validation_level => p_validation_level,
468 p_validation_mode => AS_UTILITY_PVT.G_UPDATE,
469 P_RPS_Rec => P_RPS_Rec,
470 x_return_status => x_return_status,
471 x_msg_count => x_msg_count,
472 x_msg_data => x_msg_data);
473
474 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
475 RAISE FND_API.G_EXC_ERROR;
476 END IF;
477
478
479 IF p_check_access_flag = 'Y'
480 THEN
481 -- Please un-comment here and complete it
482 -- AS_ACCESS_PUB.Has_???Access(
483 -- p_api_version_number => 2.0
484 -- ,p_init_msg_list => p_init_msg_list
485 -- ,p_validation_level => p_validation_level
486 -- ,p_profile_tbl => p_profile_tbl
487 -- ,p_admin_flag => p_admin_flag
488 -- ,p_admin_group_id => p_admin_group_id
489 -- ,p_person_id => l_identity_sales_member_rec.employee_person_id
490 -- ,p_customer_id =>
491 -- ,p_check_access_flag => 'Y'
492 -- ,p_identity_salesforce_id => p_identity_salesforce_id
493 -- ,p_partner_cont_party_id => NULL
494 -- ,x_return_status => x_return_status
495 -- ,x_msg_count => x_msg_count
496 -- ,x_msg_data => x_msg_data
497 -- ,x_access_flag => l_access_flag);
498
499 -- END IF;
500
501
502 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
503 RAISE FND_API.G_EXC_ERROR;
504 END IF;
505
506 END IF;
507 -- Hint: Add corresponding Master-Detail business logic here if necessary.
508
509
510 -- Invoke table handler(IEX_REPOSSESSIONS_PKG.Update_Row)
511 IEX_REPOSSESSIONS_PKG.Update_Row(
512 p_REPOSSESSION_ID => p_RPS_rec.REPOSSESSION_ID
513 ,p_DELINQUENCY_ID => p_RPS_rec.DELINQUENCY_ID
514 ,p_PARTY_ID => p_RPS_rec.PARTY_ID
515 ,p_CUST_ACCOUNT_ID => p_RPS_rec.CUST_ACCOUNT_ID
516 ,p_UNPAID_REASON_CODE => p_RPS_rec.UNPAID_REASON_CODE
517 ,p_REMARKET_FLAG => p_RPS_rec.REMARKET_FLAG
518 ,p_REPOSSESSION_DATE => p_RPS_rec.REPOSSESSION_DATE
519 ,p_ASSET_ID => p_RPS_rec.ASSET_ID
520 ,p_ASSET_VALUE => p_RPS_rec.ASSET_VALUE
521 ,p_ASSET_NUMBER => p_RPS_rec.ASSET_NUMBER
522 ,p_REQUEST_ID => p_RPS_rec.REQUEST_ID
523 ,p_PROGRAM_APPLICATION_ID => p_RPS_rec.PROGRAM_APPLICATION_ID
524 ,p_PROGRAM_ID => p_RPS_rec.PROGRAM_ID
525 ,p_PROGRAM_UPDATE_DATE => p_RPS_rec.PROGRAM_UPDATE_DATE
526 ,p_ATTRIBUTE_CATEGORY => p_RPS_rec.ATTRIBUTE_CATEGORY
527 ,p_ATTRIBUTE1 => p_RPS_rec.ATTRIBUTE1
528 ,p_ATTRIBUTE2 => p_RPS_rec.ATTRIBUTE2
529 ,p_ATTRIBUTE3 => p_RPS_rec.ATTRIBUTE3
530 ,p_ATTRIBUTE4 => p_RPS_rec.ATTRIBUTE4
531 ,p_ATTRIBUTE5 => p_RPS_rec.ATTRIBUTE5
532 ,p_ATTRIBUTE6 => p_RPS_rec.ATTRIBUTE6
533 ,p_ATTRIBUTE7 => p_RPS_rec.ATTRIBUTE7
534 ,p_ATTRIBUTE8 => p_RPS_rec.ATTRIBUTE8
535 ,p_ATTRIBUTE9 => p_RPS_rec.ATTRIBUTE9
536 ,p_ATTRIBUTE10 => p_RPS_rec.ATTRIBUTE10
537 ,p_ATTRIBUTE11 => p_RPS_rec.ATTRIBUTE11
538 ,p_ATTRIBUTE12 => p_RPS_rec.ATTRIBUTE12
539 ,p_ATTRIBUTE13 => p_RPS_rec.ATTRIBUTE13
540 ,p_ATTRIBUTE14 => p_RPS_rec.ATTRIBUTE14
541 ,p_ATTRIBUTE15 => p_RPS_rec.ATTRIBUTE15
542 ,p_CREATED_BY => FND_API.G_MISS_NUM
543 ,p_CREATION_DATE => FND_API.G_MISS_DATE
544 ,p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID
545 ,p_LAST_UPDATE_DATE => SYSDATE
546 --,p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID --commented for bug 10034220 gnramasa 24th Sep 10
547 ,p_LAST_UPDATE_LOGIN => FND_GLOBAL.USER_ID
548 ,p_CREDIT_HOLD_REQUEST_FLAG => p_RPS_rec.CREDIT_HOLD_REQUEST_FLAG
549 ,p_CREDIT_HOLD_APPROVED_FLAG => p_RPS_rec.CREDIT_HOLD_APPROVED_FLAG
550 ,p_SERVICE_HOLD_REQUEST_FLAG => p_RPS_rec.SERVICE_HOLD_REQUEST_FLAG
551 ,p_SERVICE_HOLD_APPROVED_FLAG => p_RPS_rec.SERVICE_HOLD_APPROVED_FLAG
552 ,p_SUGGESTION_APPROVED_FLAG => p_RPS_rec.SUGGESTION_APPROVED_FLAG
553 ,p_DISPOSITION_CODE => p_RPS_REC.DISPOSITION_CODE
554 ,p_CUSTOMER_SITE_USE_ID => p_rps_rec.CUSTOMER_SITE_USE_ID
555 ,p_ORG_ID => p_rps_rec.ORG_ID
556 ,p_CONTRACT_ID => p_rps_rec.CONTRACT_ID
557 ,p_CONTRACT_NUMBER => p_rps_rec.CONTRACT_NUMBER
558 );
559 --
560 -- End of API body.
561 --
562
563 -- Standard check for p_commit
564 IF FND_API.to_Boolean( p_commit )
565 THEN
566 COMMIT WORK;
567 END IF;
568
569
570
571 -- Standard call to get message count and if count is 1, get message info.
572 FND_MSG_PUB.Count_And_Get
573 ( p_count => x_msg_count,
574 p_data => x_msg_data
575 );
576
577 EXCEPTION
578 WHEN FND_API.G_EXC_ERROR THEN
579 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
580 P_API_NAME => L_API_NAME
581 ,P_PKG_NAME => G_PKG_NAME
582 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
583 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
584 ,X_MSG_COUNT => X_MSG_COUNT
585 ,X_MSG_DATA => X_MSG_DATA
586 ,X_RETURN_STATUS => X_RETURN_STATUS);
587
588 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
589 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
590 P_API_NAME => L_API_NAME
591 ,P_PKG_NAME => G_PKG_NAME
592 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
593 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
594 ,X_MSG_COUNT => X_MSG_COUNT
595 ,X_MSG_DATA => X_MSG_DATA
596 ,X_RETURN_STATUS => X_RETURN_STATUS);
597
598 WHEN OTHERS THEN
599 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
600 P_API_NAME => L_API_NAME
601 ,P_PKG_NAME => G_PKG_NAME
602 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
603 ,P_SQLCODE => SQLCODE
604 ,P_SQLERRM => SQLERRM
605 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
606 ,X_MSG_COUNT => X_MSG_COUNT
607 ,X_MSG_DATA => X_MSG_DATA
608 ,X_RETURN_STATUS => X_RETURN_STATUS);
609 End Update_repossession;
610
611
612 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
613 -- The Master delete procedure may not be needed depends on different business requirements.
614 PROCEDURE Delete_repossession(
615 P_Api_Version_Number IN NUMBER,
616 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
617 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
618 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
619 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_FALSE,
620 P_Admin_Flag IN VARCHAR2 := FND_API.G_FALSE,
621 P_Admin_Group_Id IN NUMBER,
622 P_Identity_Salesforce_Id IN NUMBER,
623 P_Profile_Tbl IN AS_UTILITY_PUB.PROFILE_TBL_TYPE,
624 P_RPS_Rec IN RPS_Rec_Type,
625 X_Return_Status OUT NOCOPY VARCHAR2,
626 X_Msg_Count OUT NOCOPY NUMBER,
627 X_Msg_Data OUT NOCOPY VARCHAR2
628 )
629
630 IS
631 l_api_name CONSTANT VARCHAR2(30) := 'Delete_repossession';
632 l_api_version_number CONSTANT NUMBER := 2.0;
633 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
634 BEGIN
635 -- Standard Start of API savepoint
636 SAVEPOINT DELETE_REPOSSESSION_PVT;
637
638 -- Standard call to check for call compatibility.
639 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
640 p_api_version_number,
641 l_api_name,
642 G_PKG_NAME)
643 THEN
644 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
645 END IF;
646
647
648 -- Initialize message list if p_init_msg_list is set to TRUE.
649 IF FND_API.to_Boolean( p_init_msg_list )
650 THEN
651 FND_MSG_PUB.initialize;
652 END IF;
653
654
655
656
657 -- Initialize API return status to SUCCESS
658 x_return_status := FND_API.G_RET_STS_SUCCESS;
659
660 --
661 -- Api body
662 --
663
664 IF p_validation_level = FND_API.G_VALID_LEVEL_FULL
665 THEN
666 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
667 p_api_version_number => 2.0
668 ,p_init_msg_list => p_init_msg_list
669 ,p_salesforce_id => p_identity_salesforce_id
670 ,p_admin_group_id => p_admin_group_id
671 ,x_return_status => x_return_status
672 ,x_msg_count => x_msg_count
673 ,x_msg_data => x_msg_data
674 ,x_sales_member_rec => l_identity_sales_member_rec);
675
676
677 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
678 RAISE FND_API.G_EXC_ERROR;
679 END IF;
680
681 END IF;
682
683 IF p_check_access_flag = 'Y'
684 THEN
685 -- Please un-comment here and complete it
686 -- AS_ACCESS_PUB.Has_???Access(
687 -- p_api_version_number => 2.0
688 -- ,p_init_msg_list => p_init_msg_list
689 -- ,p_validation_level => p_validation_level
690 -- ,p_profile_tbl => p_profile_tbl
691 -- ,p_admin_flag => p_admin_flag
692 -- ,p_admin_group_id => p_admin_group_id
693 -- ,p_person_id => l_identity_sales_member_rec.employee_person_id
694 -- ,p_customer_id =>
695 -- ,p_check_access_flag => 'Y'
696 -- ,p_identity_salesforce_id => p_identity_salesforce_id
697 -- ,p_partner_cont_party_id => NULL
698 -- ,x_return_status => x_return_status
699 -- ,x_msg_count => x_msg_count
700 -- ,x_msg_data => x_msg_data
701 -- ,x_access_flag => l_access_flag);
702
703
704 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
705 RAISE FND_API.G_EXC_ERROR;
706 END IF;
707
708 END IF;
709
710 -- Invoke table handler(IEX_REPOSSESSIONS_PKG.Delete_Row)
711 IEX_REPOSSESSIONS_PKG.Delete_Row(
712 p_REPOSSESSION_ID => p_RPS_rec.REPOSSESSION_ID);
713 --
714 -- End of API body
715 --
716
717 -- Standard check for p_commit
718 IF FND_API.to_Boolean( p_commit )
719 THEN
720 COMMIT WORK;
721 END IF;
722
723
724
725 -- Standard call to get message count and if count is 1, get message info.
726 FND_MSG_PUB.Count_And_Get
727 ( p_count => x_msg_count,
728 p_data => x_msg_data
729 );
730
731 EXCEPTION
732 WHEN FND_API.G_EXC_ERROR THEN
733 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
734 P_API_NAME => L_API_NAME
735 ,P_PKG_NAME => G_PKG_NAME
736 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
737 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
738 ,X_MSG_COUNT => X_MSG_COUNT
739 ,X_MSG_DATA => X_MSG_DATA
740 ,X_RETURN_STATUS => X_RETURN_STATUS);
741
742 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
743 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
744 P_API_NAME => L_API_NAME
745 ,P_PKG_NAME => G_PKG_NAME
746 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
747 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
748 ,X_MSG_COUNT => X_MSG_COUNT
749 ,X_MSG_DATA => X_MSG_DATA
750 ,X_RETURN_STATUS => X_RETURN_STATUS);
751
752 WHEN OTHERS THEN
753 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
754 P_API_NAME => L_API_NAME
755 ,P_PKG_NAME => G_PKG_NAME
756 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
757 ,P_SQLCODE => SQLCODE
758 ,P_SQLERRM => SQLERRM
759 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
760 ,X_MSG_COUNT => X_MSG_COUNT
761 ,X_MSG_DATA => X_MSG_DATA
762 ,X_RETURN_STATUS => X_RETURN_STATUS);
763 End Delete_repossession;
764
765
766 -- This procudure defines the columns for the Dynamic SQL.
767 PROCEDURE Define_Columns(
768 P_RPS_Rec IN RPS_Rec_Type,
769 p_cur_get_RPS IN NUMBER
770 )
771 IS
772 BEGIN
773
774 -- define all columns for IEX_REPOSSESSIONS view
775 dbms_sql.define_column(p_cur_get_RPS, 1, P_RPS_Rec.REPOSSESSION_ID);
776 dbms_sql.define_column(p_cur_get_RPS, 2, P_RPS_Rec.DELINQUENCY_ID);
777 dbms_sql.define_column(p_cur_get_RPS, 3, P_RPS_Rec.PARTY_ID);
778 dbms_sql.define_column(p_cur_get_RPS, 4, P_RPS_Rec.CUST_ACCOUNT_ID);
779 dbms_sql.define_column(p_cur_get_RPS, 5, P_RPS_Rec.UNPAID_REASON_CODE, 30);
780 dbms_sql.define_column(p_cur_get_RPS, 6, P_RPS_Rec.REMARKET_FLAG, 1);
781 dbms_sql.define_column(p_cur_get_RPS, 7, P_RPS_Rec.REPOSSESSION_DATE);
782 dbms_sql.define_column(p_cur_get_RPS, 8, P_RPS_Rec.ASSET_ID);
783 dbms_sql.define_column(p_cur_get_RPS, 9, P_RPS_Rec.ASSET_VALUE);
784 dbms_sql.define_column(p_cur_get_RPS, 10, P_RPS_Rec.ASSET_NUMBER);
785 dbms_sql.define_column(p_cur_get_RPS, 11, P_RPS_Rec.REQUEST_ID);
786 dbms_sql.define_column(p_cur_get_RPS, 12, P_RPS_Rec.ATTRIBUTE_CATEGORY, 240);
787 dbms_sql.define_column(p_cur_get_RPS, 13, P_RPS_Rec.ATTRIBUTE1, 240);
788 dbms_sql.define_column(p_cur_get_RPS, 14, P_RPS_Rec.ATTRIBUTE2, 240);
789 dbms_sql.define_column(p_cur_get_RPS, 15, P_RPS_Rec.ATTRIBUTE3, 240);
790 dbms_sql.define_column(p_cur_get_RPS, 16, P_RPS_Rec.ATTRIBUTE4, 240);
791 dbms_sql.define_column(p_cur_get_RPS, 17, P_RPS_Rec.ATTRIBUTE5, 240);
792 dbms_sql.define_column(p_cur_get_RPS, 18, P_RPS_Rec.ATTRIBUTE6, 240);
793 dbms_sql.define_column(p_cur_get_RPS, 19, P_RPS_Rec.ATTRIBUTE7, 240);
794 dbms_sql.define_column(p_cur_get_RPS, 20, P_RPS_Rec.ATTRIBUTE8, 240);
795 dbms_sql.define_column(p_cur_get_RPS, 21, P_RPS_Rec.ATTRIBUTE9, 240);
796 dbms_sql.define_column(p_cur_get_RPS, 22, P_RPS_Rec.ATTRIBUTE10, 240);
797 dbms_sql.define_column(p_cur_get_RPS, 23, P_RPS_Rec.ATTRIBUTE11, 240);
798 dbms_sql.define_column(p_cur_get_RPS, 24, P_RPS_Rec.ATTRIBUTE12, 240);
799 dbms_sql.define_column(p_cur_get_RPS, 25, P_RPS_Rec.ATTRIBUTE13, 240);
800 dbms_sql.define_column(p_cur_get_RPS, 26, P_RPS_Rec.ATTRIBUTE14, 240);
801 dbms_sql.define_column(p_cur_get_RPS, 27, P_RPS_Rec.ATTRIBUTE15, 240);
802 dbms_sql.define_column(p_cur_get_RPS, 28, P_RPS_Rec.CREDIT_HOLD_REQUEST_FLAG, 1);
803 dbms_sql.define_column(p_cur_get_RPS, 29, P_RPS_Rec.CREDIT_HOLD_APPROVED_FLAG, 1);
804 dbms_sql.define_column(p_cur_get_RPS, 30, P_RPS_Rec.SERVICE_HOLD_REQUEST_FLAG, 1);
805 dbms_sql.define_column(p_cur_get_RPS, 31, P_RPS_Rec.SERVICE_HOLD_APPROVED_FLAG, 1);
806 dbms_sql.define_column(p_cur_get_RPS, 32, P_RPS_Rec.SUGGESTION_APPROVED_FLAG, 1);
807 dbms_sql.define_column(p_cur_get_RPS, 33, P_RPS_Rec.DISPOSITION_CODE, 30);
808 dbms_sql.define_column(p_cur_get_RPS, 34, P_RPS_Rec.CUSTOMER_SITE_USE_ID);
809 dbms_sql.define_column(p_cur_get_RPS, 35, P_RPS_Rec.ORG_ID);
810 dbms_sql.define_column(p_cur_get_RPS, 36, P_RPS_Rec.CONTRACT_ID);
811 dbms_sql.define_column(p_cur_get_RPS, 37, P_RPS_Rec.CONTRACT_NUMBER, 250);
812
813 END Define_Columns;
814
815 -- This procudure gets column values by the Dynamic SQL.
816 PROCEDURE Get_Column_Values(
817 p_cur_get_RPS IN NUMBER,
818 X_RPS_Rec OUT NOCOPY rps_rec_type --IEX_REPOSSESSION_PUB.RPS_Rec_Type
819 )
820 IS
821 BEGIN
822
823 -- get all column values for IEX_REPOSSESSIONS table
824 dbms_sql.column_value(p_cur_get_RPS, 1, X_RPS_Rec.REPOSSESSION_ID);
825 dbms_sql.column_value(p_cur_get_RPS, 2, X_RPS_Rec.DELINQUENCY_ID);
826 dbms_sql.column_value(p_cur_get_RPS, 3, X_RPS_Rec.PARTY_ID);
827 dbms_sql.column_value(p_cur_get_RPS, 4, X_RPS_Rec.CUST_ACCOUNT_ID);
828 dbms_sql.column_value(p_cur_get_RPS, 5, X_RPS_Rec.UNPAID_REASON_CODE);
829 dbms_sql.column_value(p_cur_get_RPS, 6, X_RPS_Rec.REMARKET_FLAG);
830 dbms_sql.column_value(p_cur_get_RPS, 7, X_RPS_Rec.REPOSSESSION_DATE);
831 dbms_sql.column_value(p_cur_get_RPS, 8, X_RPS_Rec.ASSET_ID);
832 dbms_sql.column_value(p_cur_get_RPS, 9, X_RPS_Rec.ASSET_VALUE);
833 dbms_sql.column_value(p_cur_get_RPS, 10, X_RPS_Rec.ASSET_NUMBER);
834 dbms_sql.column_value(p_cur_get_RPS, 11, X_RPS_Rec.REQUEST_ID);
835 dbms_sql.column_value(p_cur_get_RPS, 12, X_RPS_Rec.ATTRIBUTE_CATEGORY);
836 dbms_sql.column_value(p_cur_get_RPS, 13, X_RPS_Rec.ATTRIBUTE1);
837 dbms_sql.column_value(p_cur_get_RPS, 14, X_RPS_Rec.ATTRIBUTE2);
838 dbms_sql.column_value(p_cur_get_RPS, 15, X_RPS_Rec.ATTRIBUTE3);
839 dbms_sql.column_value(p_cur_get_RPS, 16, X_RPS_Rec.ATTRIBUTE4);
840 dbms_sql.column_value(p_cur_get_RPS, 17, X_RPS_Rec.ATTRIBUTE5);
841 dbms_sql.column_value(p_cur_get_RPS, 18, X_RPS_Rec.ATTRIBUTE6);
842 dbms_sql.column_value(p_cur_get_RPS, 19, X_RPS_Rec.ATTRIBUTE7);
843 dbms_sql.column_value(p_cur_get_RPS, 20, X_RPS_Rec.ATTRIBUTE8);
844 dbms_sql.column_value(p_cur_get_RPS, 21, X_RPS_Rec.ATTRIBUTE9);
845 dbms_sql.column_value(p_cur_get_RPS, 22, X_RPS_Rec.ATTRIBUTE10);
846 dbms_sql.column_value(p_cur_get_RPS, 23, X_RPS_Rec.ATTRIBUTE11);
847 dbms_sql.column_value(p_cur_get_RPS, 24, X_RPS_Rec.ATTRIBUTE12);
848 dbms_sql.column_value(p_cur_get_RPS, 25, X_RPS_Rec.ATTRIBUTE13);
849 dbms_sql.column_value(p_cur_get_RPS, 26, X_RPS_Rec.ATTRIBUTE14);
850 dbms_sql.column_value(p_cur_get_RPS, 27, X_RPS_Rec.ATTRIBUTE15);
851 dbms_sql.column_value(p_cur_get_RPS, 28, X_RPS_Rec.CREDIT_HOLD_REQUEST_FLAG);
852 dbms_sql.column_value(p_cur_get_RPS, 29, X_RPS_Rec.CREDIT_HOLD_APPROVED_FLAG);
853 dbms_sql.column_value(p_cur_get_RPS, 30, X_RPS_Rec.SERVICE_HOLD_REQUEST_FLAG);
854 dbms_sql.column_value(p_cur_get_RPS, 31, X_RPS_Rec.SERVICE_HOLD_APPROVED_FLAG);
855 dbms_sql.column_value(p_cur_get_RPS, 32, X_RPS_Rec.SUGGESTION_APPROVED_FLAG);
856 dbms_sql.column_value(p_cur_get_RPS, 33, X_RPS_Rec.DISPOSITION_CODE);
857 dbms_sql.column_value(p_cur_get_RPS, 34, X_RPS_Rec.CUSTOMER_SITE_USE_ID);
858 dbms_sql.column_value(p_cur_get_RPS, 35, X_RPS_Rec.ORG_ID);
859 dbms_sql.column_value(p_cur_get_RPS, 36, X_RPS_Rec.CONTRACT_ID);
860 dbms_sql.column_value(p_cur_get_RPS, 37, X_RPS_Rec.CONTRACT_NUMBER);
861
862 END Get_Column_Values;
863
864 PROCEDURE Gen_RPS_order_cl(
865 p_order_by_rec IN RPS_sort_rec_type, -- IEX_REPOSSESSION_PUB.RPS_sort_rec_type,
866 x_order_by_cl OUT NOCOPY VARCHAR2,
867 x_return_status OUT NOCOPY VARCHAR2,
868 x_msg_count OUT NOCOPY NUMBER,
869 x_msg_data OUT NOCOPY VARCHAR2
870 )
871 IS
872 l_order_by_cl VARCHAR2(1000) := NULL;
873 l_util_order_by_tbl AS_UTILITY_PVT.Util_order_by_tbl_type;
874 BEGIN
875
876 -- Hint: Developer should add more statements according to IEX_sort_rec_type
877 -- Ex:
878 -- l_util_order_by_tbl(1).col_choice := p_order_by_rec.customer_name;
879 -- l_util_order_by_tbl(1).col_name := 'Customer_Name';
880
881
882 AS_UTILITY_PVT.Translate_OrderBy(
883 p_api_version_number => 1.0
884 ,p_init_msg_list => FND_API.G_FALSE
885 ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
886 ,p_order_by_tbl => l_util_order_by_tbl
887 ,x_order_by_clause => l_order_by_cl
888 ,x_return_status => x_return_status
889 ,x_msg_count => x_msg_count
890 ,x_msg_data => x_msg_data);
891
892 IF(l_order_by_cl IS NOT NULL) THEN
893 x_order_by_cl := 'order by' || l_order_by_cl;
894 ELSE
895 x_order_by_cl := NULL;
896 END IF;
897
898 END Gen_RPS_order_cl;
899
900 -- This procedure bind the variables for the Dynamic SQL
901 PROCEDURE Bind(
902 P_RPS_Rec IN RPS_Rec_Type, --IEX_REPOSSESSION_PUB.RPS_Rec_Type,
903 -- Hint: Add more binding variables here
904 p_cur_get_RPS IN NUMBER
905 )
906 IS
907 BEGIN
908 -- Bind variables
909 -- Only those that are not NULL
910
911 -- The following example applies to all columns,
912 -- developers can copy and paste them.
913 IF( (P_RPS_Rec.REPOSSESSION_ID IS NOT NULL) AND (P_RPS_Rec.REPOSSESSION_ID <> FND_API.G_MISS_NUM) )
914 THEN
915 DBMS_SQL.BIND_VARIABLE(p_cur_get_RPS, ':p_REPOSSESSION_ID', P_RPS_Rec.REPOSSESSION_ID);
916 END IF;
917
918 END Bind;
919
920 PROCEDURE Gen_Select(
921 x_select_cl OUT NOCOPY VARCHAR2
922 )
923 IS
924 BEGIN
925
926 x_select_cl := 'Select ' ||
927 'IEX_REPOSSESSIONS.REPOSSESSION_ID,' ||
928 'IEX_REPOSSESSIONS.DELINQUENCY_ID,' ||
929 'IEX_REPOSSESSIONS.PARTY_ID,' ||
930 'IEX_REPOSSESSIONS.CUST_ACCOUNT_ID,' ||
931 'IEX_REPOSSESSIONS.UNPAID_REASON_CODE,' ||
932 'IEX_REPOSSESSIONS.REMARKET_FLAG,' ||
933 'IEX_REPOSSESSIONS.REPOSSESSION_DATE,' ||
934 'IEX_REPOSSESSIONS.ASSET_ID,' ||
935 'IEX_REPOSSESSIONS.ASSET_VALUE,' ||
936 'IEX_REPOSSESSIONS.ASSET_NUMBER,' ||
937 'IEX_REPOSSESSIONS.REQUEST_ID,' ||
938 'IEX_REPOSSESSIONS.PROGRAM_APPLICATION_ID,' ||
939 'IEX_REPOSSESSIONS.PROGRAM_ID,' ||
940 'IEX_REPOSSESSIONS.PROGRAM_UPDATE_DATE,' ||
941 'IEX_REPOSSESSIONS.ATTRIBUTE_CATEGORY,' ||
942 'IEX_REPOSSESSIONS.ATTRIBUTE1,' ||
943 'IEX_REPOSSESSIONS.ATTRIBUTE2,' ||
944 'IEX_REPOSSESSIONS.ATTRIBUTE3,' ||
945 'IEX_REPOSSESSIONS.ATTRIBUTE4,' ||
946 'IEX_REPOSSESSIONS.ATTRIBUTE5,' ||
947 'IEX_REPOSSESSIONS.ATTRIBUTE6,' ||
948 'IEX_REPOSSESSIONS.ATTRIBUTE7,' ||
949 'IEX_REPOSSESSIONS.ATTRIBUTE8,' ||
950 'IEX_REPOSSESSIONS.ATTRIBUTE9,' ||
951 'IEX_REPOSSESSIONS.ATTRIBUTE10,' ||
952 'IEX_REPOSSESSIONS.ATTRIBUTE11,' ||
953 'IEX_REPOSSESSIONS.ATTRIBUTE12,' ||
954 'IEX_REPOSSESSIONS.ATTRIBUTE13,' ||
955 'IEX_REPOSSESSIONS.ATTRIBUTE14,' ||
956 'IEX_REPOSSESSIONS.ATTRIBUTE15,' ||
957 'IEX_REPOSSESSIONS.CREATED_BY,' ||
958 'IEX_REPOSSESSIONS.CREATION_DATE,' ||
959 'IEX_REPOSSESSIONS.LAST_UPDATED_BY,' ||
960 'IEX_REPOSSESSIONS.LAST_UPDATE_DATE,' ||
961 'IEX_REPOSSESSIONS.LAST_UPDATE_LOGIN,' ||
962 'IEX_REPOSSESSIONS.SECURITY_GROUP_ID,' ||
963 'IEX_REPOSSESSIONS.CREDIT_HOLD_REQUEST_FLAG,' ||
964 'IEX_REPOSSESSIONS.CREDIT_HOLD_APPROVED_FLAG,' ||
965 'IEX_REPOSSESSIONS.SERVICE_HOLD_REQUEST_FLAG,' ||
966 'IEX_REPOSSESSIONS.SERVICE_HOLD_APPROVED_FLAG,' ||
967 'IEX_REPOSSESSIONS.SUGGESTION_APPROVED_FLAG,' ||
968 'IEX_REPOSSESSIONS.DISPOSITION_CODE,' ||
969 'IEX_REPOSSESSIONS.CUSTOMER_SITE_USE_ID,' ||
970 'IEX_REPOSSESSIONS.ORG_ID,' ||
971 'IEX_REPOSSESSIONS.CONTRACT_ID,' ||
972 'IEX_REPOSSESSIONS.CONTRACT_NUMBER' ||
973 'from IEX_REPOSSESSIONS';
974
975 END Gen_Select;
976
977 PROCEDURE Gen_RPS_Where(
978 P_RPS_Rec IN RPS_Rec_Type, --IEX_REPOSSESSION_PUB.RPS_Rec_Type,
979 x_RPS_where OUT NOCOPY VARCHAR2
980 )
981 IS
982 -- cursors to check if wildcard values '%' and '_' have been passed
983 -- as item values
984 CURSOR c_chk_str1(p_rec_item VARCHAR2) IS
985 SELECT INSTR(p_rec_item, '%', 1, 1)
986 FROM DUAL;
987 CURSOR c_chk_str2(p_rec_item VARCHAR2) IS
988 SELECT INSTR(p_rec_item, '_', 1, 1)
989 FROM DUAL;
990
991 -- return values from cursors
992 str_csr1 NUMBER;
993 str_csr2 NUMBER;
994 l_operator VARCHAR2(10);
995 BEGIN
996
997 -- There are three examples for each kind of datatype:
998 -- NUMBER, DATE, VARCHAR2.
999 -- Developer can copy and paste the following codes for your own record.
1000
1001 -- example for NUMBER datatype
1002 IF( (P_RPS_Rec.REPOSSESSION_ID IS NOT NULL) AND (P_RPS_Rec.REPOSSESSION_ID <> FND_API.G_MISS_NUM) )
1003 THEN
1004 IF(x_RPS_where IS NULL) THEN
1005 x_RPS_where := 'Where';
1006 ELSE
1007 x_RPS_where := x_RPS_where || ' AND ';
1008 END IF;
1009 x_RPS_where := x_RPS_where || 'P_RPS_Rec.REPOSSESSION_ID = :p_REPOSSESSION_ID';
1010 END IF;
1011
1012 -- example for DATE datatype
1013 IF( (P_RPS_Rec.REPOSSESSION_DATE IS NOT NULL) AND (P_RPS_Rec.REPOSSESSION_DATE <> FND_API.G_MISS_DATE) )
1014 THEN
1015 -- check if item value contains '%' wildcard
1016 OPEN c_chk_str1(P_RPS_Rec.REPOSSESSION_DATE);
1017 FETCH c_chk_str1 INTO str_csr1;
1018 CLOSE c_chk_str1;
1019
1020 IF(str_csr1 <> 0) THEN
1021 l_operator := ' LIKE ';
1022 ELSE
1023 l_operator := ' = ';
1024 END IF;
1025
1026 -- check if item value contains '_' wildcard
1027 OPEN c_chk_str2(P_RPS_Rec.REPOSSESSION_DATE);
1028 FETCH c_chk_str2 INTO str_csr2;
1029 CLOSE c_chk_str2;
1030
1031 IF(str_csr2 <> 0) THEN
1032 l_operator := ' LIKE ';
1033 ELSE
1034 l_operator := ' = ';
1035 END IF;
1036
1037 IF(x_RPS_where IS NULL) THEN
1038 x_RPS_where := 'Where ';
1039 ELSE
1040 x_RPS_where := x_RPS_where || ' AND ';
1041 END IF;
1042 x_RPS_where := x_RPS_where || 'P_RPS_Rec.REPOSSESSION_DATE ' || l_operator || ' :p_REPOSSESSION_DATE';
1043 END IF;
1044
1045 -- example for VARCHAR2 datatype
1046 IF( (P_RPS_Rec.UNPAID_REASON_CODE IS NOT NULL) AND (P_RPS_Rec.UNPAID_REASON_CODE <> FND_API.G_MISS_CHAR) )
1047 THEN
1048 -- check if item value contains '%' wildcard
1049 OPEN c_chk_str1(P_RPS_Rec.UNPAID_REASON_CODE);
1050 FETCH c_chk_str1 INTO str_csr1;
1051 CLOSE c_chk_str1;
1052
1053 IF(str_csr1 <> 0) THEN
1054 l_operator := ' LIKE ';
1055 ELSE
1056 l_operator := ' = ';
1057 END IF;
1058
1059 -- check if item value contains '_' wildcard
1060 OPEN c_chk_str2(P_RPS_Rec.UNPAID_REASON_CODE);
1061 FETCH c_chk_str2 INTO str_csr2;
1062 CLOSE c_chk_str2;
1063
1064 IF(str_csr2 <> 0) THEN
1065 l_operator := ' LIKE ';
1066 ELSE
1067 l_operator := ' = ';
1068 END IF;
1069
1070 IF(x_RPS_where IS NULL) THEN
1071 x_RPS_where := 'Where ';
1072 ELSE
1073 x_RPS_where := x_RPS_where || ' AND ';
1074 END IF;
1075 x_RPS_where := x_RPS_where || 'P_RPS_Rec.UNPAID_REASON_CODE ' || l_operator || ' :p_UNPAID_REASON_CODE';
1076 END IF;
1077
1078 -- Add more IF statements for each column below
1079
1080
1081 END Gen_RPS_Where;
1082
1083 PROCEDURE Get_repossession(
1084 P_Api_Version_Number IN NUMBER,
1085 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1086 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1087 P_Admin_Group_id IN NUMBER,
1088 P_identity_salesforce_id IN NUMBER := NULL,
1089 P_RPS_Rec IN RPS_Rec_Type, --IEX_repossession_PUB.RPS_Rec_Type,
1090 -- Hint: Add list of bind variables here
1091 p_rec_requested IN NUMBER := G_DEFAULT_NUM_REC_FETCH,
1092 p_start_rec_prt IN NUMBER := 1,
1093 p_return_tot_count IN NUMBER := FND_API.G_FALSE,
1094 -- Hint: user defined record type
1095 p_order_by_rec IN RPS_sort_Rec_Type,--IEX_repossession_PUB.RPS_sort_rec_type,
1096 x_return_status OUT NOCOPY VARCHAR2,
1097 x_msg_count OUT NOCOPY NUMBER,
1098 x_msg_data OUT NOCOPY VARCHAR2,
1099 X_RPS_Tbl OUT NOCOPY rps_tbl_type, --IEX_repossession_PUB.RPS_Tbl_Type,
1100 x_returned_rec_count OUT NOCOPY NUMBER,
1101 x_next_rec_ptr OUT NOCOPY NUMBER,
1102 x_tot_rec_count OUT NOCOPY NUMBER
1103 -- other optional parameters
1104 -- x_tot_rec_amount OUT NOCOPY NUMBER
1105 )
1106
1107 IS
1108 l_api_name CONSTANT VARCHAR2(30) := 'Get_repossession';
1109 l_api_version_number CONSTANT NUMBER := 2.0;
1110
1111 -- Local identity variables
1112 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
1113
1114 -- Local record counters
1115 l_returned_rec_count NUMBER := 0; -- number of records returned in x_X_RPS_Rec
1116 l_next_record_ptr NUMBER := 1;
1117 l_ignore NUMBER;
1118
1119 -- total number of records accessable by caller
1120 l_tot_rec_count NUMBER := 0;
1121 l_tot_rec_amount NUMBER := 0;
1122
1123 -- Status local variables
1124 l_return_status VARCHAR2(1); -- Return value from procedures
1125 l_return_status_full VARCHAR2(1); -- Calculated return status from
1126
1127 -- Dynamic SQL statement elements
1128 l_cur_get_RPS NUMBER;
1129 l_select_cl VARCHAR2(2000) := '';
1130 l_order_by_cl VARCHAR2(2000);
1131 l_RPS_where VARCHAR2(2000) := '';
1132
1133 -- For flex field query
1134 l_flex_where_tbl_type AS_FOUNDATION_PVT.flex_where_tbl_type;
1135 l_flex_where VARCHAR2(2000) := NULL;
1136 l_counter NUMBER;
1137
1138 -- Local scratch record
1139 l_RPS_rec rps_rec_type; --IEX_REPOSSESSION_PUB.RPS_Rec_Type;
1140 l_crit_RPS_rec rps_rec_type; --IEX_REPOSSESSION_PUB.RPS_Rec_Type;
1141 BEGIN
1142 -- Standard Start of API savepoint
1143 SAVEPOINT GET_REPOSSESSION_PVT;
1144
1145 -- Standard call to check for call compatibility.
1146 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1147 p_api_version_number,
1148 l_api_name,
1149 G_PKG_NAME)
1150 THEN
1151 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152 END IF;
1153
1154
1155 -- Initialize message list if p_init_msg_list is set to TRUE.
1156 IF FND_API.to_Boolean( p_init_msg_list )
1157 THEN
1158 FND_MSG_PUB.initialize;
1159 END IF;
1160
1161
1162
1163
1164 -- Initialize API return status to SUCCESS
1165 x_return_status := FND_API.G_RET_STS_SUCCESS;
1166
1167 --
1168 -- Api body
1169 --
1170
1171 IF p_validation_level = FND_API.G_VALID_LEVEL_FULL
1172 THEN
1173 AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
1174 p_api_version_number => 2.0
1175 ,p_init_msg_list => p_init_msg_list
1176 ,p_salesforce_id => p_identity_salesforce_id
1177 ,p_admin_group_id => p_admin_group_id
1178 ,x_return_status => x_return_status
1179 ,x_msg_count => x_msg_count
1180 ,x_msg_data => x_msg_data
1181 ,x_sales_member_rec => l_identity_sales_member_rec);
1182
1183
1184 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1185 RAISE FND_API.G_EXC_ERROR;
1186 END IF;
1187
1188 END IF;
1189 -- *************************************************
1190 -- Generate Dynamic SQL based on criteria passed in.
1191 -- Doing this for performance. Indexes are disabled when using NVL within static SQL statement.
1192 -- Ignore condition when criteria is NULL
1193 -- Generate Select clause and From clause
1194 -- Hint: Developer should modify Gen_Select procedure.
1195 Gen_Select(l_select_cl);
1196
1197 -- Hint: Developer should modify and implement Gen_Where precedure.
1198 Gen_RPS_Where(l_crit_RPS_rec, l_RPS_where);
1199
1200 -- Generate Where clause for flex fields
1201 -- Hint: Developer can use table/view alias in the From clause generated in Gen_Select procedure
1202
1203 FOR l_counter IN 1..15 LOOP
1204 l_flex_where_tbl_type(l_counter).name := 'IEX_REPOSSESSIONS.attribute' || l_counter;
1205 END LOOP;
1206
1207 l_flex_where_tbl_type(16).name := 'IEX_REPOSSESSIONS.attribute_category';
1208 l_flex_where_tbl_type(1).value := P_RPS_Rec.attribute1;
1209 l_flex_where_tbl_type(2).value := P_RPS_Rec.attribute2;
1210 l_flex_where_tbl_type(3).value := P_RPS_Rec.attribute3;
1211 l_flex_where_tbl_type(4).value := P_RPS_Rec.attribute4;
1212 l_flex_where_tbl_type(5).value := P_RPS_Rec.attribute5;
1213 l_flex_where_tbl_type(6).value := P_RPS_Rec.attribute6;
1214 l_flex_where_tbl_type(7).value := P_RPS_Rec.attribute7;
1215 l_flex_where_tbl_type(8).value := P_RPS_Rec.attribute8;
1216 l_flex_where_tbl_type(9).value := P_RPS_Rec.attribute9;
1217 l_flex_where_tbl_type(10).value := P_RPS_Rec.attribute10;
1218 l_flex_where_tbl_type(11).value := P_RPS_Rec.attribute11;
1219 l_flex_where_tbl_type(12).value := P_RPS_Rec.attribute12;
1220 l_flex_where_tbl_type(13).value := P_RPS_Rec.attribute13;
1221 l_flex_where_tbl_type(14).value := P_RPS_Rec.attribute14;
1222 l_flex_where_tbl_type(15).value := P_RPS_Rec.attribute15;
1223 l_flex_where_tbl_type(16).value := P_RPS_Rec.attribute_category;
1224
1225 AS_FOUNDATION_PVT.Gen_Flexfield_Where(
1226 p_flex_where_tbl_type => l_flex_where_tbl_type,
1227 x_flex_where_clause => l_flex_where);
1228
1229 -- Hint: if master/detail relationship, generate Where clause for lines level criteria
1230 -- Generate order by clause
1231 Gen_RPS_order_cl(p_order_by_rec, l_order_by_cl, l_return_status, x_msg_count, x_msg_data);
1232
1233
1234 l_cur_get_RPS := dbms_sql.open_cursor;
1235
1236 -- Hint: concatenate all where clause (include flex field/line level if any applies)
1237 -- dbms_sql.parse(l_cur_get_RPS, l_select_cl || l_head_where || l_flex_where || l_lines_where
1238 -- || l_steam_where || l_order_by_cl, dbms_sql.native);
1239
1240 -- Hint: Developer should implement Bind Variables procedure according to bind variables in the parameter list
1241 -- Bind(l_crit_RPS_rec, l_crit_exp_purchase_rec, p_start_date, p_end_date,
1242 -- p_crit_exp_salesforce_id, p_crit_ptr_salesforce_id,
1243 -- p_crit_salesgroup_id, p_crit_ptr_manager_person_id,
1244 -- p_win_prob_ceiling, p_win_prob_floor,
1245 -- p_total_amt_ceiling, p_total_amt_floor,
1246 -- l_cur_get_RPS);
1247
1248 -- Bind flexfield variables
1249 AS_FOUNDATION_PVT.Bind_Flexfield_Where(
1250 p_cursor_id => l_cur_get_RPS,
1251 p_flex_where_tbl_type => l_flex_where_tbl_type);
1252
1253 -- Define all Select Columns
1254 Define_Columns(l_crit_RPS_rec, l_cur_get_RPS);
1255
1256 -- Execute
1257
1258 l_ignore := dbms_sql.execute(l_cur_get_RPS);
1259
1260
1261 -- This loop is here to avoid calling a function in the main
1262 -- cursor. Basically, calling this function seems to disable
1263 -- index, but verification is needed. This is a good
1264 -- place to optimize the code if required.
1265
1266 LOOP
1267 -- 1. There are more rows in the cursor.
1268 -- 2. User does not care about total records, and we need to return more.
1269 -- 3. Or user cares about total number of records.
1270 IF((dbms_sql.fetch_rows(l_cur_get_RPS)>0) AND ((p_return_tot_count = FND_API.G_TRUE)
1271 OR (l_returned_rec_count<p_rec_requested) OR (p_rec_requested=FND_API.G_MISS_NUM)))
1272 THEN
1273
1274 -- Hint: Developer need to implement this part
1275 -- dbms_sql.column_value(l_cur_get_opp, 1, l_opp_rec.lead_id);
1276 -- dbms_sql.column_value(l_cur_get_opp, 7, l_opp_rec.customer_id);
1277 -- dbms_sql.column_value(l_cur_get_opp, 8, l_opp_rec.address_id);
1278
1279 -- Hint: Check access for this record (e.x. AS_ACCESS_PVT.Has_OpportunityAccess)
1280 -- Return this particular record if
1281 -- 1. The caller has access to record.
1282 -- 2. The number of records returned < number of records caller requested in this run.
1283 -- 3. The record comes AFTER or Equal to the start index the caller requested.
1284
1285 -- Developer should check whether there is access privilege here
1286 -- IF(l_RPS_rec.member_access <> 'N' OR l_RPS_rec.member_role <> 'N') THEN
1287 Get_Column_Values(l_cur_get_RPS, l_RPS_rec);
1288 l_tot_rec_count := l_tot_rec_count + 1;
1289 IF(l_returned_rec_count < p_rec_requested) AND (l_tot_rec_count >= p_start_rec_prt) THEN
1290 l_returned_rec_count := l_returned_rec_count + 1;
1291 -- insert into resultant tables
1292 X_RPS_Tbl(l_returned_rec_count) := l_RPS_rec;
1293 END IF;
1294 -- END IF;
1295 ELSE
1296 EXIT;
1297 END IF;
1298 END LOOP;
1299 --
1300 -- End of API body
1301 --
1302
1303
1304
1305 -- Standard call to get message count and if count is 1, get message info.
1306 FND_MSG_PUB.Count_And_Get
1307 ( p_count => x_msg_count,
1308 p_data => x_msg_data
1309 );
1310
1311 EXCEPTION
1312 WHEN FND_API.G_EXC_ERROR THEN
1313 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1314 P_API_NAME => L_API_NAME
1315 ,P_PKG_NAME => G_PKG_NAME
1316 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1317 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
1318 ,X_MSG_COUNT => X_MSG_COUNT
1319 ,X_MSG_DATA => X_MSG_DATA
1320 ,X_RETURN_STATUS => X_RETURN_STATUS);
1321
1322 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1323 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1324 P_API_NAME => L_API_NAME
1325 ,P_PKG_NAME => G_PKG_NAME
1326 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1327 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
1328 ,X_MSG_COUNT => X_MSG_COUNT
1329 ,X_MSG_DATA => X_MSG_DATA
1330 ,X_RETURN_STATUS => X_RETURN_STATUS);
1331
1332 WHEN OTHERS THEN
1333 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1334 P_API_NAME => L_API_NAME
1335 ,P_PKG_NAME => G_PKG_NAME
1336 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1337 ,P_SQLCODE => SQLCODE
1338 ,P_SQLERRM => SQLERRM
1339 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
1340 ,X_MSG_COUNT => X_MSG_COUNT
1341 ,X_MSG_DATA => X_MSG_DATA
1342 ,X_RETURN_STATUS => X_RETURN_STATUS);
1343 End Get_repossession;
1344
1345
1346 -- Item-level validation procedures
1347 PROCEDURE Validate_REPOSSESSION_ID (
1348 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1349 P_Validation_mode IN VARCHAR2,
1350 P_REPOSSESSION_ID IN NUMBER,
1351 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1352 X_Return_Status OUT NOCOPY VARCHAR2,
1353 X_Msg_Count OUT NOCOPY NUMBER,
1354 X_Msg_Data OUT NOCOPY VARCHAR2
1355 )
1356 IS
1357 BEGIN
1358
1359 -- Initialize message list if p_init_msg_list is set to TRUE.
1360 IF FND_API.to_Boolean( p_init_msg_list )
1361 THEN
1362 FND_MSG_PUB.initialize;
1363 END IF;
1364
1365
1366 -- Initialize API return status to SUCCESS
1367 x_return_status := FND_API.G_RET_STS_SUCCESS;
1368
1369 -- validate NOT NULL column
1370 IF(p_REPOSSESSION_ID is NULL)
1371 THEN
1372 x_return_status := FND_API.G_RET_STS_ERROR;
1373 END IF;
1374
1375 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1376 THEN
1377 -- Hint: Validate data
1378 -- IF p_REPOSSESSION_ID is not NULL and p_REPOSSESSION_ID <> G_MISS_CHAR
1379 -- verify if data is valid
1380 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1381 NULL;
1382 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1383 THEN
1384 -- Hint: Validate data
1385 -- IF p_REPOSSESSION_ID <> G_MISS_CHAR
1386 -- verify if data is valid
1387 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1388 NULL;
1389 END IF;
1390
1391 -- Standard call to get message count and if count is 1, get message info.
1392 FND_MSG_PUB.Count_And_Get
1393 ( p_count => x_msg_count,
1394 p_data => x_msg_data
1395 );
1396
1397 END Validate_REPOSSESSION_ID;
1398
1399
1400 PROCEDURE Validate_DELINQUENCY_ID (
1401 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1402 P_Validation_mode IN VARCHAR2,
1403 P_DELINQUENCY_ID IN NUMBER,
1404 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1405 X_Return_Status OUT NOCOPY VARCHAR2,
1406 X_Msg_Count OUT NOCOPY NUMBER,
1407 X_Msg_Data OUT NOCOPY VARCHAR2
1408 )
1409 IS
1410 BEGIN
1411
1412 -- Initialize message list if p_init_msg_list is set to TRUE.
1413 IF FND_API.to_Boolean( p_init_msg_list )
1414 THEN
1415 FND_MSG_PUB.initialize;
1416 END IF;
1417
1418
1419 -- Initialize API return status to SUCCESS
1420 x_return_status := FND_API.G_RET_STS_SUCCESS;
1421
1422 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1423 THEN
1424 -- Hint: Validate data
1425 -- IF p_DELINQUENCY_ID is not NULL and p_DELINQUENCY_ID <> G_MISS_CHAR
1426 -- verify if data is valid
1427 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1428 NULL;
1429 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1430 THEN
1431 -- Hint: Validate data
1432 -- IF p_DELINQUENCY_ID <> G_MISS_CHAR
1433 -- verify if data is valid
1434 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1435 NULL;
1436 END IF;
1437
1438 -- Standard call to get message count and if count is 1, get message info.
1439 FND_MSG_PUB.Count_And_Get
1440 ( p_count => x_msg_count,
1441 p_data => x_msg_data
1442 );
1443
1444 END Validate_DELINQUENCY_ID;
1445
1446
1447 PROCEDURE Validate_PARTY_ID (
1448 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1449 P_Validation_mode IN VARCHAR2,
1450 P_PARTY_ID IN NUMBER,
1451 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1452 X_Return_Status OUT NOCOPY VARCHAR2,
1453 X_Msg_Count OUT NOCOPY NUMBER,
1454 X_Msg_Data OUT NOCOPY VARCHAR2
1455 )
1456 IS
1457 BEGIN
1458
1459 -- Initialize message list if p_init_msg_list is set to TRUE.
1460 IF FND_API.to_Boolean( p_init_msg_list )
1461 THEN
1462 FND_MSG_PUB.initialize;
1463 END IF;
1464
1465
1466 -- Initialize API return status to SUCCESS
1467 x_return_status := FND_API.G_RET_STS_SUCCESS;
1468
1469 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1470 THEN
1471 -- Hint: Validate data
1472 -- IF p_PARTY_ID is not NULL and p_PARTY_ID <> G_MISS_CHAR
1473 -- verify if data is valid
1474 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1475 NULL;
1476 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1477 THEN
1478 -- Hint: Validate data
1479 -- IF p_PARTY_ID <> G_MISS_CHAR
1480 -- verify if data is valid
1481 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1482 NULL;
1483 END IF;
1484
1485 -- Standard call to get message count and if count is 1, get message info.
1486 FND_MSG_PUB.Count_And_Get
1487 ( p_count => x_msg_count,
1488 p_data => x_msg_data
1489 );
1490
1491 END Validate_PARTY_ID;
1492
1493
1494 PROCEDURE Validate_CUST_ACCOUNT_ID (
1495 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1496 P_Validation_mode IN VARCHAR2,
1497 P_CUST_ACCOUNT_ID IN NUMBER,
1498 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1499 X_Return_Status OUT NOCOPY VARCHAR2,
1500 X_Msg_Count OUT NOCOPY NUMBER,
1501 X_Msg_Data OUT NOCOPY VARCHAR2
1502 )
1503 IS
1504 BEGIN
1505
1506 -- Initialize message list if p_init_msg_list is set to TRUE.
1507 IF FND_API.to_Boolean( p_init_msg_list )
1508 THEN
1509 FND_MSG_PUB.initialize;
1510 END IF;
1511
1512
1513 -- Initialize API return status to SUCCESS
1514 x_return_status := FND_API.G_RET_STS_SUCCESS;
1515
1516 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1517 THEN
1518 -- Hint: Validate data
1519 -- IF p_CUST_ACCOUNT_ID is not NULL and p_CUST_ACCOUNT_ID <> G_MISS_CHAR
1520 -- verify if data is valid
1521 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1522 NULL;
1523 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1524 THEN
1525 -- Hint: Validate data
1526 -- IF p_CUST_ACCOUNT_ID <> G_MISS_CHAR
1527 -- verify if data is valid
1528 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1529 NULL;
1530 END IF;
1531
1532 -- Standard call to get message count and if count is 1, get message info.
1533 FND_MSG_PUB.Count_And_Get
1534 ( p_count => x_msg_count,
1535 p_data => x_msg_data
1536 );
1537
1538 END Validate_CUST_ACCOUNT_ID;
1539
1540
1541 PROCEDURE Validate_UNPAID_REASON_CODE (
1542 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1543 P_Validation_mode IN VARCHAR2,
1544 P_UNPAID_REASON_CODE IN VARCHAR2,
1545 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1546 X_Return_Status OUT NOCOPY VARCHAR2,
1547 X_Msg_Count OUT NOCOPY NUMBER,
1548 X_Msg_Data OUT NOCOPY VARCHAR2
1549 )
1550 IS
1551 BEGIN
1552
1553 -- Initialize message list if p_init_msg_list is set to TRUE.
1554 IF FND_API.to_Boolean( p_init_msg_list )
1555 THEN
1556 FND_MSG_PUB.initialize;
1557 END IF;
1558
1559
1560 -- Initialize API return status to SUCCESS
1561 x_return_status := FND_API.G_RET_STS_SUCCESS;
1562
1563 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1564 THEN
1565 -- Hint: Validate data
1566 -- IF p_UNPAID_REASON_CODE is not NULL and p_UNPAID_REASON_CODE <> G_MISS_CHAR
1567 -- verify if data is valid
1568 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1569 NULL;
1570 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1571 THEN
1572 -- Hint: Validate data
1573 -- IF p_UNPAID_REASON_CODE <> G_MISS_CHAR
1574 -- verify if data is valid
1575 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1576 NULL;
1577 END IF;
1578
1579 -- Standard call to get message count and if count is 1, get message info.
1580 FND_MSG_PUB.Count_And_Get
1581 ( p_count => x_msg_count,
1582 p_data => x_msg_data
1583 );
1584
1585 END Validate_UNPAID_REASON_CODE;
1586
1587
1588 PROCEDURE Validate_REMARKET_FLAG (
1589 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1590 P_Validation_mode IN VARCHAR2,
1591 P_REMARKET_FLAG IN VARCHAR2,
1592 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1593 X_Return_Status OUT NOCOPY VARCHAR2,
1594 X_Msg_Count OUT NOCOPY NUMBER,
1595 X_Msg_Data OUT NOCOPY VARCHAR2
1596 )
1597 IS
1598 BEGIN
1599
1600 -- Initialize message list if p_init_msg_list is set to TRUE.
1601 IF FND_API.to_Boolean( p_init_msg_list )
1602 THEN
1603 FND_MSG_PUB.initialize;
1604 END IF;
1605
1606
1607 -- Initialize API return status to SUCCESS
1608 x_return_status := FND_API.G_RET_STS_SUCCESS;
1609
1610 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1611 THEN
1612 -- Hint: Validate data
1613 -- IF p_REMARKET_FLAG is not NULL and p_REMARKET_FLAG <> G_MISS_CHAR
1614 -- verify if data is valid
1615 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1616 NULL;
1617 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1618 THEN
1619 -- Hint: Validate data
1620 -- IF p_REMARKET_FLAG <> G_MISS_CHAR
1621 -- verify if data is valid
1622 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1623 NULL;
1624 END IF;
1625
1626 -- Standard call to get message count and if count is 1, get message info.
1627 FND_MSG_PUB.Count_And_Get
1628 ( p_count => x_msg_count,
1629 p_data => x_msg_data
1630 );
1631
1632 END Validate_REMARKET_FLAG;
1633
1634
1635 PROCEDURE Validate_REPOSSESSION_DATE (
1636 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1637 P_Validation_mode IN VARCHAR2,
1638 P_REPOSSESSION_DATE IN DATE,
1639 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1640 X_Return_Status OUT NOCOPY VARCHAR2,
1641 X_Msg_Count OUT NOCOPY NUMBER,
1642 X_Msg_Data OUT NOCOPY VARCHAR2
1643 )
1644 IS
1645 BEGIN
1646
1647 -- Initialize message list if p_init_msg_list is set to TRUE.
1648 IF FND_API.to_Boolean( p_init_msg_list )
1649 THEN
1650 FND_MSG_PUB.initialize;
1651 END IF;
1652
1653
1654 -- Initialize API return status to SUCCESS
1655 x_return_status := FND_API.G_RET_STS_SUCCESS;
1656
1657 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1658 THEN
1659 -- Hint: Validate data
1660 -- IF p_REPOSSESSION_DATE is not NULL and p_REPOSSESSION_DATE <> G_MISS_CHAR
1661 -- verify if data is valid
1662 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1663 NULL;
1664 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1665 THEN
1666 -- Hint: Validate data
1667 -- IF p_REPOSSESSION_DATE <> G_MISS_CHAR
1668 -- verify if data is valid
1669 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1670 NULL;
1671 END IF;
1672
1673 -- Standard call to get message count and if count is 1, get message info.
1674 FND_MSG_PUB.Count_And_Get
1675 ( p_count => x_msg_count,
1676 p_data => x_msg_data
1677 );
1678
1679 END Validate_REPOSSESSION_DATE;
1680
1681
1682 PROCEDURE Validate_ASSET_ID (
1683 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1684 P_Validation_mode IN VARCHAR2,
1685 P_ASSET_ID IN NUMBER,
1686 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1687 X_Return_Status OUT NOCOPY VARCHAR2,
1688 X_Msg_Count OUT NOCOPY NUMBER,
1689 X_Msg_Data OUT NOCOPY VARCHAR2
1690 )
1691 IS
1692 BEGIN
1693
1694 -- Initialize message list if p_init_msg_list is set to TRUE.
1695 IF FND_API.to_Boolean( p_init_msg_list )
1696 THEN
1697 FND_MSG_PUB.initialize;
1698 END IF;
1699
1700
1701 -- Initialize API return status to SUCCESS
1702 x_return_status := FND_API.G_RET_STS_SUCCESS;
1703
1704 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1705 THEN
1706 -- Hint: Validate data
1707 -- IF p_ASSET_ID is not NULL and p_ASSET_ID <> G_MISS_CHAR
1708 -- verify if data is valid
1709 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1710 NULL;
1711 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1712 THEN
1713 -- Hint: Validate data
1714 -- IF p_ASSET_ID <> G_MISS_CHAR
1715 -- verify if data is valid
1716 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1717 NULL;
1718 END IF;
1719
1720 -- Standard call to get message count and if count is 1, get message info.
1721 FND_MSG_PUB.Count_And_Get
1722 ( p_count => x_msg_count,
1723 p_data => x_msg_data
1724 );
1725
1726 END Validate_ASSET_ID;
1727
1728
1729 PROCEDURE Validate_ASSET_VALUE (
1730 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1731 P_Validation_mode IN VARCHAR2,
1732 P_ASSET_VALUE IN NUMBER,
1733 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1734 X_Return_Status OUT NOCOPY VARCHAR2,
1735 X_Msg_Count OUT NOCOPY NUMBER,
1736 X_Msg_Data OUT NOCOPY VARCHAR2
1737 )
1738 IS
1739 BEGIN
1740
1741 -- Initialize message list if p_init_msg_list is set to TRUE.
1742 IF FND_API.to_Boolean( p_init_msg_list )
1743 THEN
1744 FND_MSG_PUB.initialize;
1745 END IF;
1746
1747
1748 -- Initialize API return status to SUCCESS
1749 x_return_status := FND_API.G_RET_STS_SUCCESS;
1750
1751 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1752 THEN
1753 -- Hint: Validate data
1754 -- IF p_ASSET_VALUE is not NULL and p_ASSET_VALUE <> G_MISS_CHAR
1755 -- verify if data is valid
1756 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1757 NULL;
1758 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1759 THEN
1760 -- Hint: Validate data
1761 -- IF p_ASSET_VALUE <> G_MISS_CHAR
1762 -- verify if data is valid
1763 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1764 NULL;
1765 END IF;
1766
1767 -- Standard call to get message count and if count is 1, get message info.
1768 FND_MSG_PUB.Count_And_Get
1769 ( p_count => x_msg_count,
1770 p_data => x_msg_data
1771 );
1772
1773 END Validate_ASSET_VALUE;
1774
1775
1776 PROCEDURE Validate_ASSET_NUMBER (
1777 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1778 P_Validation_mode IN VARCHAR2,
1779 P_ASSET_NUMBER IN NUMBER,
1780 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1781 X_Return_Status OUT NOCOPY VARCHAR2,
1782 X_Msg_Count OUT NOCOPY NUMBER,
1783 X_Msg_Data OUT NOCOPY VARCHAR2
1784 )
1785 IS
1786 BEGIN
1787
1788 -- Initialize message list if p_init_msg_list is set to TRUE.
1789 IF FND_API.to_Boolean( p_init_msg_list )
1790 THEN
1791 FND_MSG_PUB.initialize;
1792 END IF;
1793
1794
1795 -- Initialize API return status to SUCCESS
1796 x_return_status := FND_API.G_RET_STS_SUCCESS;
1797
1798 -- validate NOT NULL column
1799 IF(p_ASSET_NUMBER is NULL)
1800 THEN
1801 x_return_status := FND_API.G_RET_STS_ERROR;
1802 END IF;
1803
1804 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1805 THEN
1806 -- Hint: Validate data
1807 -- IF p_ASSET_NUMBER is not NULL and p_ASSET_NUMBER <> G_MISS_CHAR
1808 -- verify if data is valid
1809 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1810 NULL;
1811 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1812 THEN
1813 -- Hint: Validate data
1814 -- IF p_ASSET_NUMBER <> G_MISS_CHAR
1815 -- verify if data is valid
1816 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1817 NULL;
1818 END IF;
1819
1820 -- Standard call to get message count and if count is 1, get message info.
1821 FND_MSG_PUB.Count_And_Get
1822 ( p_count => x_msg_count,
1823 p_data => x_msg_data
1824 );
1825
1826 END Validate_ASSET_NUMBER;
1827
1828
1829 PROCEDURE v_CREDIT_HOLD_REQUEST_FLAG (
1830 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1831 P_Validation_mode IN VARCHAR2,
1832 P_CREDIT_HOLD_REQUEST_FLAG IN VARCHAR2,
1833 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1834 X_Return_Status OUT NOCOPY VARCHAR2,
1835 X_Msg_Count OUT NOCOPY NUMBER,
1836 X_Msg_Data OUT NOCOPY VARCHAR2
1837 )
1838 IS
1839 BEGIN
1840
1841 -- Initialize message list if p_init_msg_list is set to TRUE.
1842 IF FND_API.to_Boolean( p_init_msg_list )
1843 THEN
1844 FND_MSG_PUB.initialize;
1845 END IF;
1846
1847
1848 -- Initialize API return status to SUCCESS
1849 x_return_status := FND_API.G_RET_STS_SUCCESS;
1850
1851 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1852 THEN
1853 -- Hint: Validate data
1854 -- IF p_CREDIT_HOLD_REQUEST_FLAG is not NULL and p_CREDIT_HOLD_REQUEST_FLAG <> G_MISS_CHAR
1855 -- verify if data is valid
1856 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1857 NULL;
1858 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1859 THEN
1860 -- Hint: Validate data
1861 -- IF p_CREDIT_HOLD_REQUEST_FLAG <> G_MISS_CHAR
1862 -- verify if data is valid
1863 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1864 NULL;
1865 END IF;
1866
1867 -- Standard call to get message count and if count is 1, get message info.
1868 FND_MSG_PUB.Count_And_Get
1869 ( p_count => x_msg_count,
1870 p_data => x_msg_data
1871 );
1872
1873 END v_CREDIT_HOLD_REQUEST_FLAG;
1874
1875
1876 PROCEDURE v_CREDIT_HOLD_APPROVED_FLAG (
1877 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1878 P_Validation_mode IN VARCHAR2,
1879 P_CREDIT_HOLD_APPROVED_FLAG IN VARCHAR2,
1880 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1881 X_Return_Status OUT NOCOPY VARCHAR2,
1882 X_Msg_Count OUT NOCOPY NUMBER,
1883 X_Msg_Data OUT NOCOPY VARCHAR2
1884 )
1885 IS
1886 BEGIN
1887
1888 -- Initialize message list if p_init_msg_list is set to TRUE.
1889 IF FND_API.to_Boolean( p_init_msg_list )
1890 THEN
1891 FND_MSG_PUB.initialize;
1892 END IF;
1893
1894
1895 -- Initialize API return status to SUCCESS
1896 x_return_status := FND_API.G_RET_STS_SUCCESS;
1897
1898 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1899 THEN
1900 -- Hint: Validate data
1901 -- IF p_CREDIT_HOLD_APPROVED_FLAG is not NULL and p_CREDIT_HOLD_APPROVED_FLAG <> G_MISS_CHAR
1902 -- verify if data is valid
1903 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1904 NULL;
1905 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1906 THEN
1907 -- Hint: Validate data
1908 -- IF p_CREDIT_HOLD_APPROVED_FLAG <> G_MISS_CHAR
1909 -- verify if data is valid
1910 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1911 NULL;
1912 END IF;
1913
1914 -- Standard call to get message count and if count is 1, get message info.
1915 FND_MSG_PUB.Count_And_Get
1916 ( p_count => x_msg_count,
1917 p_data => x_msg_data
1918 );
1919
1920 END v_CREDIT_HOLD_APPROVED_FLAG;
1921
1922
1923 PROCEDURE v_SERVICE_HOLD_REQUEST_FLAG (
1924 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1925 P_Validation_mode IN VARCHAR2,
1926 P_SERVICE_HOLD_REQUEST_FLAG IN VARCHAR2,
1927 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1928 X_Return_Status OUT NOCOPY VARCHAR2,
1929 X_Msg_Count OUT NOCOPY NUMBER,
1930 X_Msg_Data OUT NOCOPY VARCHAR2
1931 )
1932 IS
1933 BEGIN
1934
1935 -- Initialize message list if p_init_msg_list is set to TRUE.
1936 IF FND_API.to_Boolean( p_init_msg_list )
1937 THEN
1938 FND_MSG_PUB.initialize;
1939 END IF;
1940
1941
1942 -- Initialize API return status to SUCCESS
1943 x_return_status := FND_API.G_RET_STS_SUCCESS;
1944
1945 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1946 THEN
1947 -- Hint: Validate data
1948 -- IF p_SERVICE_HOLD_REQUEST_FLAG is not NULL and p_SERVICE_HOLD_REQUEST_FLAG <> G_MISS_CHAR
1949 -- verify if data is valid
1950 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1951 NULL;
1952 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
1953 THEN
1954 -- Hint: Validate data
1955 -- IF p_SERVICE_HOLD_REQUEST_FLAG <> G_MISS_CHAR
1956 -- verify if data is valid
1957 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1958 NULL;
1959 END IF;
1960
1961 -- Standard call to get message count and if count is 1, get message info.
1962 FND_MSG_PUB.Count_And_Get
1963 ( p_count => x_msg_count,
1964 p_data => x_msg_data
1965 );
1966
1967 END v_SERVICE_HOLD_REQUEST_FLAG;
1968
1969
1970 PROCEDURE v_SERVICE_HOLD_APPROVED_FLAG (
1971 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1972 P_Validation_mode IN VARCHAR2,
1973 P_SERVICE_HOLD_APPROVED_FLAG IN VARCHAR2,
1974 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
1975 X_Return_Status OUT NOCOPY VARCHAR2,
1976 X_Msg_Count OUT NOCOPY NUMBER,
1977 X_Msg_Data OUT NOCOPY VARCHAR2
1978 )
1979 IS
1980 BEGIN
1981
1982 -- Initialize message list if p_init_msg_list is set to TRUE.
1983 IF FND_API.to_Boolean( p_init_msg_list )
1984 THEN
1985 FND_MSG_PUB.initialize;
1986 END IF;
1987
1988
1989 -- Initialize API return status to SUCCESS
1990 x_return_status := FND_API.G_RET_STS_SUCCESS;
1991
1992 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
1993 THEN
1994 -- Hint: Validate data
1995 -- IF p_SERVICE_HOLD_APPROVED_FLAG is not NULL and p_SERVICE_HOLD_APPROVED_FLAG <> G_MISS_CHAR
1996 -- verify if data is valid
1997 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1998 NULL;
1999 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
2000 THEN
2001 -- Hint: Validate data
2002 -- IF p_SERVICE_HOLD_APPROVED_FLAG <> G_MISS_CHAR
2003 -- verify if data is valid
2004 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2005 NULL;
2006 END IF;
2007
2008 -- Standard call to get message count and if count is 1, get message info.
2009 FND_MSG_PUB.Count_And_Get
2010 ( p_count => x_msg_count,
2011 p_data => x_msg_data
2012 );
2013
2014 END v_SERVICE_HOLD_APPROVED_FLAG;
2015
2016
2017 PROCEDURE v_SUGGESTION_APPROVED_FLAG (
2018 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2019 P_Validation_mode IN VARCHAR2,
2020 P_SUGGESTION_APPROVED_FLAG IN VARCHAR2,
2021 -- Hint: You may add 'X_Item_Property_Rec OUT NOCOPY AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2022 X_Return_Status OUT NOCOPY VARCHAR2,
2023 X_Msg_Count OUT NOCOPY NUMBER,
2024 X_Msg_Data OUT NOCOPY VARCHAR2
2025 )
2026 IS
2027 BEGIN
2028
2029 -- Initialize message list if p_init_msg_list is set to TRUE.
2030 IF FND_API.to_Boolean( p_init_msg_list )
2031 THEN
2032 FND_MSG_PUB.initialize;
2033 END IF;
2034
2035
2036 -- Initialize API return status to SUCCESS
2037 x_return_status := FND_API.G_RET_STS_SUCCESS;
2038
2039 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
2040 THEN
2041 -- Hint: Validate data
2042 -- IF p_SUGGESTION_APPROVED_FLAG is not NULL and p_SUGGESTION_APPROVED_FLAG <> G_MISS_CHAR
2043 -- verify if data is valid
2044 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2045 NULL;
2046 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
2047 THEN
2048 -- Hint: Validate data
2049 -- IF p_SUGGESTION_APPROVED_FLAG <> G_MISS_CHAR
2050 -- verify if data is valid
2051 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2052 NULL;
2053 END IF;
2054
2055 -- Standard call to get message count and if count is 1, get message info.
2056 FND_MSG_PUB.Count_And_Get
2057 ( p_count => x_msg_count,
2058 p_data => x_msg_data
2059 );
2060
2061 END v_SUGGESTION_APPROVED_FLAG;
2062
2063
2064 -- Hint: inter-field level validation can be added here.
2065 -- Hint: If p_validation_mode = AS_UTILITY_PVT.G_VALIDATE_UPDATE, we should use cursor
2066 -- to get old values for all fields used in inter-field validation and set all G_MISS_XXX fields to original value
2067 -- stored in database table.
2068 PROCEDURE Validate_RPS_rec(
2069 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2070 P_Validation_mode IN VARCHAR2,
2071 P_RPS_Rec IN RPS_Rec_Type,
2072 X_Return_Status OUT NOCOPY VARCHAR2,
2073 X_Msg_Count OUT NOCOPY NUMBER,
2074 X_Msg_Data OUT NOCOPY VARCHAR2
2075 )
2076 IS
2077 BEGIN
2078
2079 -- Initialize message list if p_init_msg_list is set to TRUE.
2080 IF FND_API.to_Boolean( p_init_msg_list )
2081 THEN
2082 FND_MSG_PUB.initialize;
2083 END IF;
2084
2085
2086 -- Initialize API return status to SUCCESS
2087 x_return_status := FND_API.G_RET_STS_SUCCESS;
2088
2089 -- Hint: Validate data
2090 -- If data not valid
2091 -- THEN
2092 -- x_return_status := FND_API.G_RET_STS_ERROR;
2093
2094
2095 -- Standard call to get message count and if count is 1, get message info.
2096 FND_MSG_PUB.Count_And_Get
2097 ( p_count => x_msg_count,
2098 p_data => x_msg_data
2099 );
2100
2101 END Validate_RPS_Rec;
2102
2103 PROCEDURE Validate_repossession(
2104 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2105 P_Validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2106 P_Validation_mode IN VARCHAR2,
2107 P_RPS_Rec IN RPS_Rec_Type,
2108 X_Return_Status OUT NOCOPY VARCHAR2,
2109 X_Msg_Count OUT NOCOPY NUMBER,
2110 X_Msg_Data OUT NOCOPY VARCHAR2
2111 )
2112 IS
2113 l_api_name CONSTANT VARCHAR2(30) := 'Validate_repossession';
2114 BEGIN
2115
2116
2117 -- Initialize API return status to SUCCESS
2118 x_return_status := FND_API.G_RET_STS_SUCCESS;
2119
2120 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_ITEM) THEN
2121 -- Hint: We provide validation procedure for every column. Developer should delete
2122 -- unnecessary validation procedures.
2123 Validate_REPOSSESSION_ID(
2124 p_init_msg_list => FND_API.G_FALSE,
2125 p_validation_mode => p_validation_mode,
2126 p_REPOSSESSION_ID => P_RPS_Rec.REPOSSESSION_ID,
2127 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2128 x_return_status => x_return_status,
2129 x_msg_count => x_msg_count,
2130 x_msg_data => x_msg_data);
2131
2132 Validate_DELINQUENCY_ID(
2133 p_init_msg_list => FND_API.G_FALSE,
2134 p_validation_mode => p_validation_mode,
2135 p_DELINQUENCY_ID => P_RPS_Rec.DELINQUENCY_ID,
2136 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2137 x_return_status => x_return_status,
2138 x_msg_count => x_msg_count,
2139 x_msg_data => x_msg_data);
2140
2141 Validate_PARTY_ID(
2142 p_init_msg_list => FND_API.G_FALSE,
2143 p_validation_mode => p_validation_mode,
2144 p_PARTY_ID => P_RPS_Rec.PARTY_ID,
2145 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2146 x_return_status => x_return_status,
2147 x_msg_count => x_msg_count,
2148 x_msg_data => x_msg_data);
2149
2150 Validate_CUST_ACCOUNT_ID(
2151 p_init_msg_list => FND_API.G_FALSE,
2152 p_validation_mode => p_validation_mode,
2153 p_CUST_ACCOUNT_ID => P_RPS_Rec.CUST_ACCOUNT_ID,
2154 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2155 x_return_status => x_return_status,
2156 x_msg_count => x_msg_count,
2157 x_msg_data => x_msg_data);
2158
2159 Validate_UNPAID_REASON_CODE(
2160 p_init_msg_list => FND_API.G_FALSE,
2161 p_validation_mode => p_validation_mode,
2162 p_UNPAID_REASON_CODE => P_RPS_Rec.UNPAID_REASON_CODE,
2163 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2164 x_return_status => x_return_status,
2165 x_msg_count => x_msg_count,
2166 x_msg_data => x_msg_data);
2167
2168 Validate_REMARKET_FLAG(
2169 p_init_msg_list => FND_API.G_FALSE,
2170 p_validation_mode => p_validation_mode,
2171 p_REMARKET_FLAG => P_RPS_Rec.REMARKET_FLAG,
2172 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2173 x_return_status => x_return_status,
2174 x_msg_count => x_msg_count,
2175 x_msg_data => x_msg_data);
2176
2177 Validate_REPOSSESSION_DATE(
2178 p_init_msg_list => FND_API.G_FALSE,
2179 p_validation_mode => p_validation_mode,
2180 p_REPOSSESSION_DATE => P_RPS_Rec.REPOSSESSION_DATE,
2181 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2182 x_return_status => x_return_status,
2183 x_msg_count => x_msg_count,
2184 x_msg_data => x_msg_data);
2185
2186 Validate_ASSET_ID(
2187 p_init_msg_list => FND_API.G_FALSE,
2188 p_validation_mode => p_validation_mode,
2189 p_ASSET_ID => P_RPS_Rec.ASSET_ID,
2190 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2191 x_return_status => x_return_status,
2192 x_msg_count => x_msg_count,
2193 x_msg_data => x_msg_data);
2194
2195 Validate_ASSET_VALUE(
2196 p_init_msg_list => FND_API.G_FALSE,
2197 p_validation_mode => p_validation_mode,
2198 p_ASSET_VALUE => P_RPS_Rec.ASSET_VALUE,
2199 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2200 x_return_status => x_return_status,
2201 x_msg_count => x_msg_count,
2202 x_msg_data => x_msg_data);
2203
2204 Validate_ASSET_NUMBER(
2205 p_init_msg_list => FND_API.G_FALSE,
2206 p_validation_mode => p_validation_mode,
2207 p_ASSET_NUMBER => P_RPS_Rec.ASSET_NUMBER,
2208 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2209 x_return_status => x_return_status,
2210 x_msg_count => x_msg_count,
2211 x_msg_data => x_msg_data);
2212
2213 v_CREDIT_HOLD_REQUEST_FLAG(
2214 p_init_msg_list => FND_API.G_FALSE,
2215 p_validation_mode => p_validation_mode,
2216 p_CREDIT_HOLD_REQUEST_FLAG => P_RPS_Rec.CREDIT_HOLD_REQUEST_FLAG,
2217 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2218 x_return_status => x_return_status,
2219 x_msg_count => x_msg_count,
2220 x_msg_data => x_msg_data);
2221
2222 v_CREDIT_HOLD_APPROVED_FLAG(
2223 p_init_msg_list => FND_API.G_FALSE,
2224 p_validation_mode => p_validation_mode,
2225 p_CREDIT_HOLD_APPROVED_FLAG => P_RPS_Rec.CREDIT_HOLD_APPROVED_FLAG,
2226 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2227 x_return_status => x_return_status,
2228 x_msg_count => x_msg_count,
2229 x_msg_data => x_msg_data);
2230
2231 v_SERVICE_HOLD_REQUEST_FLAG(
2232 p_init_msg_list => FND_API.G_FALSE,
2233 p_validation_mode => p_validation_mode,
2234 p_SERVICE_HOLD_REQUEST_FLAG => P_RPS_Rec.SERVICE_HOLD_REQUEST_FLAG,
2235 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2236 x_return_status => x_return_status,
2237 x_msg_count => x_msg_count,
2238 x_msg_data => x_msg_data);
2239
2240 v_SERVICE_HOLD_APPROVED_FLAG(
2241 p_init_msg_list => FND_API.G_FALSE,
2242 p_validation_mode => p_validation_mode,
2243 p_SERVICE_HOLD_APPROVED_FLAG => P_RPS_Rec.SERVICE_HOLD_APPROVED_FLAG,
2244 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2245 x_return_status => x_return_status,
2246 x_msg_count => x_msg_count,
2247 x_msg_data => x_msg_data);
2248
2249 v_SUGGESTION_APPROVED_FLAG(
2250 p_init_msg_list => FND_API.G_FALSE,
2251 p_validation_mode => p_validation_mode,
2252 p_SUGGESTION_APPROVED_FLAG => P_RPS_Rec.SUGGESTION_APPROVED_FLAG,
2253 -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY parameter if you'd like to pass back item property.
2254 x_return_status => x_return_status,
2255 x_msg_count => x_msg_count,
2256 x_msg_data => x_msg_data);
2257
2258 END IF;
2259
2260 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_RECORD) THEN
2261 -- Hint: Inter-field level validation can be added here
2262 -- invoke record level validation procedures
2263 Validate_RPS_Rec(
2264 p_init_msg_list => FND_API.G_FALSE,
2265 p_validation_mode => p_validation_mode,
2266 P_RPS_Rec => P_RPS_Rec,
2267 x_return_status => x_return_status,
2268 x_msg_count => x_msg_count,
2269 x_msg_data => x_msg_data);
2270
2271 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2272 raise FND_API.G_EXC_ERROR;
2273 END IF;
2274 END IF;
2275
2276 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_INTER_RECORD) THEN
2277 -- invoke inter-record level validation procedures
2278 NULL;
2279 END IF;
2280
2281 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_INTER_ENTITY) THEN
2282 -- invoke inter-entity level validation procedures
2283 NULL;
2284 END IF;
2285
2286
2287 END Validate_repossession;
2288
2289 End IEX_REPOSSESSION_PVT;