DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_LITIGATION_PVT

Source


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