DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_PARTY_RLTSHIP_PVT

Source


1 PACKAGE BODY ASO_PARTY_RLTSHIP_PVT as
2 /* $Header: asovparb.pls 120.1 2005/06/29 12:42:44 appldev ship $ */
3 -- Start of Comments
4 -- Package name     : ASO_PARTY_RLTSHIP_PVT
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_PARTY_RLTSHIP_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovparb.pls';
13 
14 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
15 G_LOGIN_ID        NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
16 
17 -- Hint: Primary key needs to be returned.
18 PROCEDURE Create_party_rltship(
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_PARTY_RLTSHIP_Rec     IN    ASO_quote_PUB.PARTY_RLTSHIP_Rec_Type  := ASO_quote_PUB.G_MISS_PARTY_RLTSHIP_REC,
24     X_PARTY_RELATIONSHIP_ID     OUT NOCOPY /* file.sql.39 change */    NUMBER,
25     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
26     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
27     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
28     )
29 
30  IS
31 l_api_name                CONSTANT VARCHAR2(30) := 'Create_party_rltship';
32 l_api_version_number      CONSTANT NUMBER   := 1.0;
33 l_return_status_full        VARCHAR2(1);
34 --l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
35  BEGIN
36       -- Standard Start of API savepoint
37       SAVEPOINT CREATE_PARTY_RLTSHIP_PVT;
38 
39       -- Standard call to check for call compatibility.
40       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
41                          	             p_api_version_number,
42                                            l_api_name,
43                                            G_PKG_NAME)
44       THEN
45           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
46       END IF;
47 
48 
49       -- Initialize message list if p_init_msg_list is set to TRUE.
50       IF FND_API.to_Boolean( p_init_msg_list )
51       THEN
52           FND_MSG_PUB.initialize;
53       END IF;
54 
55 
56       -- Debug Message
57      -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
58 
59 
60       -- Initialize API return status to SUCCESS
61       x_return_status := FND_API.G_RET_STS_SUCCESS;
62 
63       --
64       -- API body
65       --
66 
67       -- ******************************************************************
68       -- Validate Environment
69       -- ******************************************************************
70       IF FND_GLOBAL.User_Id IS NULL
71       THEN
72           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
73           THEN
74               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
75               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
76               FND_MSG_PUB.ADD;
77           END IF;
78           RAISE FND_API.G_EXC_ERROR;
79       END IF;
80 
81 
82       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
83       THEN
84           -- Debug message
85  --         ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: Validate_party_rltship');
86 
87           -- Invoke validation procedures
88           Validate_party_rltship(
89               p_init_msg_list    => FND_API.G_FALSE,
90               p_validation_level => p_validation_level,
91               p_validation_mode  => ASO_UTILITY_PVT.G_CREATE,
92               P_PARTY_RLTSHIP_Rec  =>  P_PARTY_RLTSHIP_Rec,
93               x_return_status    => x_return_status,
94               x_msg_count        => x_msg_count,
95               x_msg_data         => x_msg_data);
96       END IF;
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       -- Hint: Add corresponding Master-Detail business logic here if necessary.
103 
104       -- Debug Message
105    --   ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling create table handler');
106 
107       -- Invoke table handler(ASO_PARTY_RELATIONSHIPS_PKG.Insert_Row)
108       ASO_PARTY_RELATIONSHIPS_PKG.Insert_Row(
109           px_PARTY_RELATIONSHIP_ID  => x_PARTY_RELATIONSHIP_ID,
110           p_CREATION_DATE  => SYSDATE,
111           p_CREATED_BY  => G_USER_ID,
112           p_LAST_UPDATE_DATE  => SYSDATE,
113           p_LAST_UPDATED_BY  => G_USER_ID,
114           p_LAST_UPDATE_LOGIN  => G_LOGIN_ID,
115           p_REQUEST_ID  => p_PARTY_RLTSHIP_rec.REQUEST_ID,
116        p_PROGRAM_APPLICATION_ID  => p_PARTY_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
117           p_PROGRAM_ID  => p_PARTY_RLTSHIP_rec.PROGRAM_ID,
118           p_PROGRAM_UPDATE_DATE  => p_PARTY_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
119           p_QUOTE_HEADER_ID  => p_PARTY_RLTSHIP_rec.QUOTE_HEADER_ID,
120           p_QUOTE_LINE_ID  => p_PARTY_RLTSHIP_rec.QUOTE_LINE_ID,
121           p_OBJECT_TYPE_CODE  => p_PARTY_RLTSHIP_rec.OBJECT_TYPE_CODE,
122           p_OBJECT_ID  => p_PARTY_RLTSHIP_rec.OBJECT_ID,
123       p_RELATIONSHIP_TYPE_CODE  => p_PARTY_RLTSHIP_rec.RELATIONSHIP_TYPE_CODE,
124 	 p_OBJECT_VERSION_NUMBER => p_PARTY_RLTSHIP_rec.OBJECT_VERSION_NUMBER);
125       -- x_PARTY_RELATIONSHIP_ID := px_PARTY_RELATIONSHIP_ID;
126 
127       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
128           RAISE FND_API.G_EXC_ERROR;
129       END IF;
130 
131       --
132       -- End of API body
133       --
134 
135       -- Standard check for p_commit
136       IF FND_API.to_Boolean( p_commit )
137       THEN
138           COMMIT WORK;
139       END IF;
140 
141 
142       -- Debug Message
143 --      ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
144 
145 
146       -- Standard call to get message count and if count is 1, get message info.
147       FND_MSG_PUB.Count_And_Get
148       (  p_count          =>   x_msg_count,
149          p_data           =>   x_msg_data
150       );
151 
152 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
153       EXCEPTION
154                   WHEN FND_API.G_EXC_ERROR THEN
155               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
156                    P_API_NAME => L_API_NAME
157                   ,P_PKG_NAME => G_PKG_NAME
158                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
159                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
160                   ,X_MSG_COUNT => X_MSG_COUNT
161                   ,X_MSG_DATA => X_MSG_DATA
162                   ,X_RETURN_STATUS => X_RETURN_STATUS);
163 
164           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
165               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
166                    P_API_NAME => L_API_NAME
167                   ,P_PKG_NAME => G_PKG_NAME
168                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
169                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
170                   ,X_MSG_COUNT => X_MSG_COUNT
171                   ,X_MSG_DATA => X_MSG_DATA
172                   ,X_RETURN_STATUS => X_RETURN_STATUS);
173 
174           WHEN OTHERS THEN
175               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
176                    P_API_NAME => L_API_NAME
177                   ,P_PKG_NAME => G_PKG_NAME
178                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
179                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
180                   ,X_MSG_COUNT => X_MSG_COUNT
181                   ,X_MSG_DATA => X_MSG_DATA
182                   ,X_RETURN_STATUS => X_RETURN_STATUS);
183 End Create_party_rltship;
184 
185 
186 PROCEDURE Update_party_rltship(
187     P_Api_Version_Number         IN   NUMBER,
188     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
189     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
190     p_validation_level           IN  NUMBER       := FND_API.G_VALID_LEVEL_FULL,
191 --    P_Identity_Salesforce_Id     IN   NUMBER       := NULL,
192     P_PARTY_RLTSHIP_Rec     IN    ASO_quote_PUB.PARTY_RLTSHIP_Rec_Type,
193     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
194     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
195     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
196     )
197 
198  IS
199 
200 Cursor C_Get_party_rltship(PARTY_RELATIONSHIP_ID Number) IS
201     Select --rowid,
202            PARTY_RELATIONSHIP_ID,
203            CREATION_DATE,
204            CREATED_BY,
205            LAST_UPDATE_DATE,
206            LAST_UPDATED_BY,
207            LAST_UPDATE_LOGIN,
208            REQUEST_ID,
209            PROGRAM_APPLICATION_ID,
210            PROGRAM_ID,
211            PROGRAM_UPDATE_DATE,
212            QUOTE_HEADER_ID,
213            QUOTE_LINE_ID,
214            OBJECT_TYPE_CODE,
215            OBJECT_ID,
216            RELATIONSHIP_TYPE_CODE
217     From  ASO_PARTY_RELATIONSHIPS
218     where PARTY_RELATIONSHIP_ID = P_PARTY_RLTSHIP_Rec.PARTY_RELATIONSHIP_ID;
219        --For Update NOWAIT;
220 
221 l_api_name                CONSTANT VARCHAR2(30) := 'Update_party_rltship';
222 l_api_version_number      CONSTANT NUMBER   := 1.0;
223 -- Local Variables
224 --l_identity_sales_member_rec   AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
225 l_ref_PARTY_RLTSHIP_rec  ASO_quote_pub.PARTY_RLTSHIP_Rec_Type;
226 l_tar_PARTY_RLTSHIP_rec  ASO_quote_pub.PARTY_RLTSHIP_Rec_Type := P_PARTY_RLTSHIP_Rec;
227 l_rowid  ROWID;
228  BEGIN
229       -- Standard Start of API savepoint
230       SAVEPOINT UPDATE_PARTY_RLTSHIP_PVT;
231 
232       -- Standard call to check for call compatibility.
233       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
234                          	             p_api_version_number,
235                                            l_api_name,
236                                            G_PKG_NAME)
237       THEN
238           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
239       END IF;
240 
241 
242       -- Initialize message list if p_init_msg_list is set to TRUE.
243       IF FND_API.to_Boolean( p_init_msg_list )
244       THEN
245           FND_MSG_PUB.initialize;
246       END IF;
247 
248 
249       -- Debug Message
250  --     ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
251 
252 
253       -- Initialize API return status to SUCCESS
254       x_return_status := FND_API.G_RET_STS_SUCCESS;
255 
256       --
257       -- Api body
258       --
259 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
260       Open C_Get_party_rltship( l_tar_PARTY_RLTSHIP_rec.PARTY_RELATIONSHIP_ID);
261 
262       Fetch C_Get_party_rltship into
263        --        l_rowid,
264                l_ref_PARTY_RLTSHIP_rec.PARTY_RELATIONSHIP_ID,
265                l_ref_PARTY_RLTSHIP_rec.CREATION_DATE,
266                l_ref_PARTY_RLTSHIP_rec.CREATED_BY,
267                l_ref_PARTY_RLTSHIP_rec.LAST_UPDATE_DATE,
268                l_ref_PARTY_RLTSHIP_rec.LAST_UPDATED_BY,
269                l_ref_PARTY_RLTSHIP_rec.LAST_UPDATE_LOGIN,
270                l_ref_PARTY_RLTSHIP_rec.REQUEST_ID,
271                l_ref_PARTY_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
272                l_ref_PARTY_RLTSHIP_rec.PROGRAM_ID,
273                l_ref_PARTY_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
274                l_ref_PARTY_RLTSHIP_rec.QUOTE_HEADER_ID,
275                l_ref_PARTY_RLTSHIP_rec.QUOTE_LINE_ID,
276                l_ref_PARTY_RLTSHIP_rec.OBJECT_TYPE_CODE,
277                l_ref_PARTY_RLTSHIP_rec.OBJECT_ID,
278 	       l_ref_PARTY_RLTSHIP_rec.RELATIONSHIP_TYPE_CODE;
279 
280        If ( C_Get_party_rltship%NOTFOUND) Then
281            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
282            THEN
283                FND_MESSAGE.Set_Name('ASO', 'API_MISSING_UPDATE_TARGET');
284                FND_MESSAGE.Set_Token ('INFO', 'party_rltship', FALSE);
285                FND_MSG_PUB.Add;
286            END IF;
287            raise FND_API.G_EXC_ERROR;
288        END IF;
289        -- Debug Message
290        --ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: - Close Cursor');
291        Close     C_Get_party_rltship;
292 
293 
294       If (l_tar_PARTY_RLTSHIP_rec.last_update_date is NULL or
295           l_tar_PARTY_RLTSHIP_rec.last_update_date = FND_API.G_MISS_Date ) Then
296           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
297           THEN
298               FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
299               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
300               FND_MSG_PUB.ADD;
301           END IF;
302           raise FND_API.G_EXC_ERROR;
303       End if;
304       -- Check Whether record has been changed by someone else
305       If (l_tar_PARTY_RLTSHIP_rec.last_update_date <> l_ref_PARTY_RLTSHIP_rec.last_update_date) Then
306           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
307           THEN
308               FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
309               FND_MESSAGE.Set_Token('INFO', 'party_rltship', FALSE);
310               FND_MSG_PUB.ADD;
311           END IF;
312           raise FND_API.G_EXC_ERROR;
313       End if;
314 
315       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
316       THEN
317           -- Debug message
318 --          ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: Validate_party_rltship');
319 
320           -- Invoke validation procedures
321           Validate_party_rltship(
322               p_init_msg_list    => FND_API.G_FALSE,
323               p_validation_level => p_validation_level,
324               p_validation_mode  => ASO_UTILITY_PVT.G_UPDATE,
325               P_PARTY_RLTSHIP_Rec  =>  P_PARTY_RLTSHIP_Rec,
326               x_return_status    => x_return_status,
327               x_msg_count        => x_msg_count,
328               x_msg_data         => x_msg_data);
329       END IF;
330 
331       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
332           RAISE FND_API.G_EXC_ERROR;
333       END IF;
334 
335 
336       -- Debug Message
337 --      ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
338 
339       -- Invoke table handler(ASO_PARTY_RELATIONSHIPS_PKG.Update_Row)
340       ASO_PARTY_RELATIONSHIPS_PKG.Update_Row(
341           p_PARTY_RELATIONSHIP_ID  => p_PARTY_RLTSHIP_rec.PARTY_RELATIONSHIP_ID,
342           p_CREATION_DATE  => SYSDATE,
343           p_CREATED_BY  => G_USER_ID,
344           p_LAST_UPDATE_DATE  => SYSDATE,
345           p_LAST_UPDATED_BY  => G_USER_ID,
346           p_LAST_UPDATE_LOGIN  => G_LOGIN_ID,
347           p_REQUEST_ID  => p_PARTY_RLTSHIP_rec.REQUEST_ID,
348           p_PROGRAM_APPLICATION_ID  => p_PARTY_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
349           p_PROGRAM_ID  => p_PARTY_RLTSHIP_rec.PROGRAM_ID,
350           p_PROGRAM_UPDATE_DATE  => p_PARTY_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
351           p_QUOTE_HEADER_ID  => p_PARTY_RLTSHIP_rec.QUOTE_HEADER_ID,
352           p_QUOTE_LINE_ID  => p_PARTY_RLTSHIP_rec.QUOTE_LINE_ID,
353           p_OBJECT_TYPE_CODE  => p_PARTY_RLTSHIP_rec.OBJECT_TYPE_CODE,
354           p_OBJECT_ID  => p_PARTY_RLTSHIP_rec.OBJECT_ID,
355           p_RELATIONSHIP_TYPE_CODE  => p_PARTY_RLTSHIP_rec.RELATIONSHIP_TYPE_CODE,
356 		p_OBJECT_VERSION_NUMBER => p_PARTY_RLTSHIP_rec.OBJECT_VERSION_NUMBER);
357       --
358       -- End of API body.
359       --
360 
361       -- Standard check for p_commit
362       IF FND_API.to_Boolean( p_commit )
363       THEN
364           COMMIT WORK;
365       END IF;
366 
367 
368       -- Debug Message
369 --      ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
370 
371 
372       -- Standard call to get message count and if count is 1, get message info.
373       FND_MSG_PUB.Count_And_Get
374       (  p_count          =>   x_msg_count,
375          p_data           =>   x_msg_data
376       );
377 
378 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
379       EXCEPTION
380                   WHEN FND_API.G_EXC_ERROR THEN
381               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
382                    P_API_NAME => L_API_NAME
383                   ,P_PKG_NAME => G_PKG_NAME
384                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
385                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
386                   ,X_MSG_COUNT => X_MSG_COUNT
387                   ,X_MSG_DATA => X_MSG_DATA
388                   ,X_RETURN_STATUS => X_RETURN_STATUS);
389 
390           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
391               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
392                    P_API_NAME => L_API_NAME
393                   ,P_PKG_NAME => G_PKG_NAME
394                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
395                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
396                   ,X_MSG_COUNT => X_MSG_COUNT
397                   ,X_MSG_DATA => X_MSG_DATA
398                   ,X_RETURN_STATUS => X_RETURN_STATUS);
399 
400           WHEN OTHERS THEN
401               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
402                    P_API_NAME => L_API_NAME
403                   ,P_PKG_NAME => G_PKG_NAME
404                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
405                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
406                   ,X_MSG_COUNT => X_MSG_COUNT
407                   ,X_MSG_DATA => X_MSG_DATA
408                   ,X_RETURN_STATUS => X_RETURN_STATUS);
409 End Update_party_rltship;
410 
411 
412 --       The Master delete procedure may not be needed depends on different business requirements.
413 PROCEDURE Delete_party_rltship(
414     P_Api_Version_Number         IN   NUMBER,
415     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
416     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
417     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
418 --    P_identity_salesforce_id     IN   NUMBER       := NULL,
419     P_PARTY_RLTSHIP_Rec     IN ASO_quote_PUB.PARTY_RLTSHIP_Rec_Type,
420     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
421     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
422     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
423     )
424 
425  IS
426 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_party_rltship';
427 l_api_version_number      CONSTANT NUMBER   := 1.0;
428 --l_identity_sales_member_rec  AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
429  BEGIN
430       -- Standard Start of API savepoint
431       SAVEPOINT DELETE_PARTY_RLTSHIP_PVT;
432 
433       -- Standard call to check for call compatibility.
434       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
435                          	             p_api_version_number,
436                                            l_api_name,
437                                            G_PKG_NAME)
438       THEN
439           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
440       END IF;
441 
442 
443       -- Initialize message list if p_init_msg_list is set to TRUE.
444       IF FND_API.to_Boolean( p_init_msg_list )
445       THEN
446           FND_MSG_PUB.initialize;
447       END IF;
448 
449 
450       -- Debug Message
451  --     ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
452 
453 
454       -- Initialize API return status to SUCCESS
455       x_return_status := FND_API.G_RET_STS_SUCCESS;
456 
457       --
458       -- Api body
459       --
460 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
461       -- Invoke table handler(ASO_PARTY_RELATIONSHIPS_PKG.Delete_Row)
462       ASO_PARTY_RELATIONSHIPS_PKG.Delete_Row(
463           p_PARTY_RELATIONSHIP_ID  => p_PARTY_RLTSHIP_rec.PARTY_RELATIONSHIP_ID);
464       --
465       -- End of API body
466       --
467 
468       -- Standard check for p_commit
469       IF FND_API.to_Boolean( p_commit )
470       THEN
471           COMMIT WORK;
472       END IF;
473 
474 
475       -- Debug Message
476 --      ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
477 
478 
479       -- Standard call to get message count and if count is 1, get message info.
480       FND_MSG_PUB.Count_And_Get
481       (  p_count          =>   x_msg_count,
482          p_data           =>   x_msg_data
483       );
484 
485 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
486       EXCEPTION
487                   WHEN FND_API.G_EXC_ERROR THEN
488               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
489                    P_API_NAME => L_API_NAME
490                   ,P_PKG_NAME => G_PKG_NAME
491                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
492                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
493                   ,X_MSG_COUNT => X_MSG_COUNT
494                   ,X_MSG_DATA => X_MSG_DATA
495                   ,X_RETURN_STATUS => X_RETURN_STATUS);
496 
497           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
498               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
499                    P_API_NAME => L_API_NAME
500                   ,P_PKG_NAME => G_PKG_NAME
501                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
502                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
503                   ,X_MSG_COUNT => X_MSG_COUNT
504                   ,X_MSG_DATA => X_MSG_DATA
505                   ,X_RETURN_STATUS => X_RETURN_STATUS);
506 
507           WHEN OTHERS THEN
508               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
509                    P_API_NAME => L_API_NAME
510                   ,P_PKG_NAME => G_PKG_NAME
511                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
512                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
513                   ,X_MSG_COUNT => X_MSG_COUNT
514                   ,X_MSG_DATA => X_MSG_DATA
515                   ,X_RETURN_STATUS => X_RETURN_STATUS);
516 
517 End Delete_party_rltship;
518 
519 
520 
521 
522 -- Item-level validation procedures
523 PROCEDURE Validate_PARTY_RLTSHIP_ID (
524     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
525     P_Validation_mode            IN   VARCHAR2,
526     P_PARTY_RELATIONSHIP_ID                IN   NUMBER,
527     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
528     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
529     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
530     )
531 IS
532 BEGIN
533 
534       -- Initialize message list if p_init_msg_list is set to TRUE.
535       IF FND_API.to_Boolean( p_init_msg_list )
536       THEN
537           FND_MSG_PUB.initialize;
538       END IF;
539 
540 
541       -- Initialize API return status to SUCCESS
542       x_return_status := FND_API.G_RET_STS_SUCCESS;
543 
544       -- validate NOT NULL column
545       IF(p_PARTY_RELATIONSHIP_ID is NULL)
546       THEN
547           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(PARTY_RELATIONSHIP_ID)');
548           x_return_status := FND_API.G_RET_STS_ERROR;
549       END IF;
550 
551       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
552       THEN
553           -- Hint: Validate data
554           -- IF p_PARTY_RELATIONSHIP_ID is not NULL and p_PARTY_RELATIONSHIP_ID <> G_MISS_CHAR
555           -- verify if data is valid
556           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
557           NULL;
558       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
559       THEN
560           -- Hint: Validate data
561           -- IF p_PARTY_RELATIONSHIP_ID <> G_MISS_CHAR
562           -- verify if data is valid
563           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
564           NULL;
565       END IF;
566 
567       -- Standard call to get message count and if count is 1, get message info.
568       FND_MSG_PUB.Count_And_Get
569       (  p_count          =>   x_msg_count,
570          p_data           =>   x_msg_data
571       );
572 
573 END Validate_PARTY_RLTSHIP_ID;
574 
575 
576 PROCEDURE Validate_REQUEST_ID (
577     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
578     P_Validation_mode            IN   VARCHAR2,
579     P_REQUEST_ID                IN   NUMBER,
580     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
581     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
582     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
583     )
584 IS
585 BEGIN
586 
587       -- Initialize message list if p_init_msg_list is set to TRUE.
588       IF FND_API.to_Boolean( p_init_msg_list )
589       THEN
590           FND_MSG_PUB.initialize;
591       END IF;
592 
593 
594       -- Initialize API return status to SUCCESS
595       x_return_status := FND_API.G_RET_STS_SUCCESS;
596 
597       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
598       THEN
599           -- Hint: Validate data
600           -- IF p_REQUEST_ID is not NULL and p_REQUEST_ID <> G_MISS_CHAR
601           -- verify if data is valid
602           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
603           NULL;
604       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
605       THEN
606           -- Hint: Validate data
607           -- IF p_REQUEST_ID <> G_MISS_CHAR
608           -- verify if data is valid
609           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
610           NULL;
611       END IF;
612 
613       -- Standard call to get message count and if count is 1, get message info.
614       FND_MSG_PUB.Count_And_Get
615       (  p_count          =>   x_msg_count,
616          p_data           =>   x_msg_data
617       );
618 
619 END Validate_REQUEST_ID;
620 
621 
622 PROCEDURE Validate_PROG_APPL_ID (
623     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
624     P_Validation_mode            IN   VARCHAR2,
625     P_PROGRAM_APPLICATION_ID                IN   NUMBER,
626     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
627     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
628     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
629     )
630 IS
631 BEGIN
632 
633       -- Initialize message list if p_init_msg_list is set to TRUE.
634       IF FND_API.to_Boolean( p_init_msg_list )
635       THEN
636           FND_MSG_PUB.initialize;
637       END IF;
638 
639 
640       -- Initialize API return status to SUCCESS
641       x_return_status := FND_API.G_RET_STS_SUCCESS;
642 
643       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
644       THEN
645           -- Hint: Validate data
646           -- IF p_PROGRAM_APPLICATION_ID is not NULL and p_PROGRAM_APPLICATION_ID <> G_MISS_CHAR
647           -- verify if data is valid
648           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
649           NULL;
650       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
651       THEN
652           -- Hint: Validate data
653           -- IF p_PROGRAM_APPLICATION_ID <> G_MISS_CHAR
654           -- verify if data is valid
655           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
656           NULL;
657       END IF;
658 
659       -- Standard call to get message count and if count is 1, get message info.
660       FND_MSG_PUB.Count_And_Get
661       (  p_count          =>   x_msg_count,
662          p_data           =>   x_msg_data
663       );
664 
665 END Validate_PROG_APPL_ID;
666 
667 
668 PROCEDURE Validate_PROGRAM_ID (
669     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
670     P_Validation_mode            IN   VARCHAR2,
671     P_PROGRAM_ID                IN   NUMBER,
672     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
673     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
674     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
675     )
676 IS
677 BEGIN
678 
679       -- Initialize message list if p_init_msg_list is set to TRUE.
680       IF FND_API.to_Boolean( p_init_msg_list )
681       THEN
682           FND_MSG_PUB.initialize;
683       END IF;
684 
685 
686       -- Initialize API return status to SUCCESS
687       x_return_status := FND_API.G_RET_STS_SUCCESS;
688 
689       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
690       THEN
691           -- Hint: Validate data
692           -- IF p_PROGRAM_ID is not NULL and p_PROGRAM_ID <> G_MISS_CHAR
693           -- verify if data is valid
694           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
695           NULL;
696       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
697       THEN
698           -- Hint: Validate data
699           -- IF p_PROGRAM_ID <> G_MISS_CHAR
700           -- verify if data is valid
701           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
702           NULL;
703       END IF;
704 
705       -- Standard call to get message count and if count is 1, get message info.
706       FND_MSG_PUB.Count_And_Get
707       (  p_count          =>   x_msg_count,
708          p_data           =>   x_msg_data
709       );
710 
711 END Validate_PROGRAM_ID;
712 
713 
714 PROCEDURE Validate_PROGRAM_UPDATE_DATE (
715     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
716     P_Validation_mode            IN   VARCHAR2,
717     P_PROGRAM_UPDATE_DATE                IN   DATE,
718     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
719     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
720     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
721     )
722 IS
723 BEGIN
724 
725       -- Initialize message list if p_init_msg_list is set to TRUE.
726       IF FND_API.to_Boolean( p_init_msg_list )
727       THEN
728           FND_MSG_PUB.initialize;
729       END IF;
730 
731 
732       -- Initialize API return status to SUCCESS
733       x_return_status := FND_API.G_RET_STS_SUCCESS;
734 
735       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
736       THEN
737           -- Hint: Validate data
738           -- IF p_PROGRAM_UPDATE_DATE is not NULL and p_PROGRAM_UPDATE_DATE <> G_MISS_CHAR
739           -- verify if data is valid
740           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
741           NULL;
742       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
743       THEN
744           -- Hint: Validate data
745           -- IF p_PROGRAM_UPDATE_DATE <> G_MISS_CHAR
746           -- verify if data is valid
747           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
748           NULL;
749       END IF;
750 
751       -- Standard call to get message count and if count is 1, get message info.
752       FND_MSG_PUB.Count_And_Get
753       (  p_count          =>   x_msg_count,
754          p_data           =>   x_msg_data
755       );
756 
757 END Validate_PROGRAM_UPDATE_DATE;
758 
759 
760 PROCEDURE Validate_QUOTE_OBJECT_TYPE (
761     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
762     P_Validation_mode            IN   VARCHAR2,
763     P_QUOTE_OBJECT_TYPE                IN   VARCHAR2,
764     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
765     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
766     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
767     )
768 IS
769 BEGIN
770 
771       -- Initialize message list if p_init_msg_list is set to TRUE.
772       IF FND_API.to_Boolean( p_init_msg_list )
773       THEN
774           FND_MSG_PUB.initialize;
775       END IF;
776 
777 
778       -- Initialize API return status to SUCCESS
779       x_return_status := FND_API.G_RET_STS_SUCCESS;
780 
781       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
782       THEN
783           -- Hint: Validate data
784           -- IF p_QUOTE_OBJECT_TYPE is not NULL and p_QUOTE_OBJECT_TYPE <> G_MISS_CHAR
785           -- verify if data is valid
786           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
787           NULL;
788       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
789       THEN
790           -- Hint: Validate data
791           -- IF p_QUOTE_OBJECT_TYPE <> G_MISS_CHAR
792           -- verify if data is valid
793           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
794           NULL;
795       END IF;
796 
797       -- Standard call to get message count and if count is 1, get message info.
798       FND_MSG_PUB.Count_And_Get
799       (  p_count          =>   x_msg_count,
800          p_data           =>   x_msg_data
801       );
802 
803 END Validate_QUOTE_OBJECT_TYPE;
804 
805 
806 PROCEDURE Validate_QUOTE_OBJECT_ID (
807     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
808     P_Validation_mode            IN   VARCHAR2,
809     P_QUOTE_OBJECT_ID                IN   NUMBER,
810     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
811     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
812     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
813     )
814 IS
815 BEGIN
816 
817       -- Initialize message list if p_init_msg_list is set to TRUE.
818       IF FND_API.to_Boolean( p_init_msg_list )
819       THEN
820           FND_MSG_PUB.initialize;
821       END IF;
822 
823 
824       -- Initialize API return status to SUCCESS
825       x_return_status := FND_API.G_RET_STS_SUCCESS;
826 
827       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
828       THEN
829           -- Hint: Validate data
830           -- IF p_QUOTE_OBJECT_ID is not NULL and p_QUOTE_OBJECT_ID <> G_MISS_CHAR
831           -- verify if data is valid
832           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
833           NULL;
834       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
835       THEN
836           -- IF p_QUOTE_OBJECT_ID <> G_MISS_CHAR
837           -- verify if data is valid
838           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
839           NULL;
840       END IF;
841 
842       -- Standard call to get message count and if count is 1, get message info.
843       FND_MSG_PUB.Count_And_Get
844       (  p_count          =>   x_msg_count,
845          p_data           =>   x_msg_data
846       );
847 
848 END Validate_QUOTE_OBJECT_ID;
849 
850 
851 PROCEDURE Validate_RLTSHIP_TYPE_CODE (
852     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
853     P_Validation_mode            IN   VARCHAR2,
854     P_RELATIONSHIP_TYPE_CODE                IN   VARCHAR2,
855     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
856     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
857     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
858     )
859 IS
860 BEGIN
861 
862       -- Initialize message list if p_init_msg_list is set to TRUE.
863       IF FND_API.to_Boolean( p_init_msg_list )
864       THEN
865           FND_MSG_PUB.initialize;
866       END IF;
867 
868 
869       -- Initialize API return status to SUCCESS
870       x_return_status := FND_API.G_RET_STS_SUCCESS;
871 
872       -- validate NOT NULL column
873       IF(p_RELATIONSHIP_TYPE_CODE is NULL)
874       THEN
875           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(RELATIONSHIP_TYPE_CODE)');
876           x_return_status := FND_API.G_RET_STS_ERROR;
877       END IF;
878 
879       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
880       THEN
881           -- Hint: Validate data
882           -- IF p_RELATIONSHIP_TYPE_CODE is not NULL and p_RELATIONSHIP_TYPE_CODE <> G_MISS_CHAR
883           -- verify if data is valid
884           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
885           NULL;
886       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
887       THEN
888           -- Hint: Validate data
889           -- IF p_RELATIONSHIP_TYPE_CODE <> G_MISS_CHAR
890           -- verify if data is valid
891           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
892           NULL;
893       END IF;
894 
895       -- Standard call to get message count and if count is 1, get message info.
896       FND_MSG_PUB.Count_And_Get
897       (  p_count          =>   x_msg_count,
898          p_data           =>   x_msg_data
899       );
900 
901 END Validate_RLTSHIP_TYPE_CODE;
902 
903 
904 PROCEDURE Validate_RELATED_OBJ_TYPE_CODE (
905     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
906     P_Validation_mode            IN   VARCHAR2,
907     P_RELATED_OBJECT_TYPE_CODE                IN   VARCHAR2,
908     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
909     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
910     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
911     )
912 IS
913 BEGIN
914 
915       -- Initialize message list if p_init_msg_list is set to TRUE.
916       IF FND_API.to_Boolean( p_init_msg_list )
917       THEN
918           FND_MSG_PUB.initialize;
919       END IF;
920 
921 
922       -- Initialize API return status to SUCCESS
923       x_return_status := FND_API.G_RET_STS_SUCCESS;
924 
925       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
926       THEN
927           -- Hint: Validate data
928           -- IF p_RELATED_OBJECT_TYPE_CODE is not NULL and p_RELATED_OBJECT_TYPE_CODE <> G_MISS_CHAR
929           -- verify if data is valid
930           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
931           NULL;
932       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
933       THEN
934           -- Hint: Validate data
935           -- IF p_RELATED_OBJECT_TYPE_CODE <> G_MISS_CHAR
936           -- verify if data is valid
937           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
938           NULL;
939       END IF;
940 
941       -- Standard call to get message count and if count is 1, get message info.
942       FND_MSG_PUB.Count_And_Get
943       (  p_count          =>   x_msg_count,
944          p_data           =>   x_msg_data
945       );
946 
947 END Validate_RELATED_OBJ_TYPE_CODE;
948 
949 
950 PROCEDURE Validate_RELATED_OBJECT_ID (
951     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
952     P_Validation_mode            IN   VARCHAR2,
953     P_RELATED_OBJECT_ID                IN   NUMBER,
954     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
955     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
956     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
957     )
958 IS
959 BEGIN
960 
961       -- Initialize message list if p_init_msg_list is set to TRUE.
962       IF FND_API.to_Boolean( p_init_msg_list )
963       THEN
964           FND_MSG_PUB.initialize;
965       END IF;
966 
967 
968       -- Initialize API return status to SUCCESS
969       x_return_status := FND_API.G_RET_STS_SUCCESS;
970 
971       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
972       THEN
973           -- Hint: Validate data
974           -- IF p_RELATED_OBJECT_ID is not NULL and p_RELATED_OBJECT_ID <> G_MISS_CHAR
975           -- verify if data is valid
976           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
977           NULL;
978       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
979       THEN
980           -- Hint: Validate data
981           -- IF p_RELATED_OBJECT_ID <> G_MISS_CHAR
982           -- verify if data is valid
983           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
984           NULL;
985       END IF;
986 
987       -- Standard call to get message count and if count is 1, get message info.
988       FND_MSG_PUB.Count_And_Get
989       (  p_count          =>   x_msg_count,
990          p_data           =>   x_msg_data
991       );
992 
993 END Validate_RELATED_OBJECT_ID;
994 
995 
996 PROCEDURE Validate_QUOTE_HEADER_ID (
997     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
998     P_Validation_mode            IN   VARCHAR2,
999     P_QUOTE_HEADER_ID                IN   NUMBER,
1000     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1001     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1002     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1003     )
1004 IS
1005 BEGIN
1006 
1007       -- Initialize message list if p_init_msg_list is set to TRUE.
1008       IF FND_API.to_Boolean( p_init_msg_list )
1009       THEN
1010           FND_MSG_PUB.initialize;
1011       END IF;
1012 
1013 
1014       -- Initialize API return status to SUCCESS
1015       x_return_status := FND_API.G_RET_STS_SUCCESS;
1016 
1017       -- validate NOT NULL column
1018       IF(p_QUOTE_HEADER_ID is NULL)
1019       THEN
1020           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(QUOTE_HEADER_ID)');
1021           x_return_status := FND_API.G_RET_STS_ERROR;
1022       END IF;
1023 
1024       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
1025       THEN
1026           -- Hint: Validate data
1027           -- IF p_QUOTE_HEADER_ID is not NULL and p_QUOTE_HEADER_ID <> G_MISS_CHAR
1028           -- verify if data is valid
1029           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1030           NULL;
1031       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
1032       THEN
1033           -- Hint: Validate data
1034           -- IF p_QUOTE_HEADER_ID <> G_MISS_CHAR
1035           -- verify if data is valid
1036           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1037           NULL;
1038       END IF;
1039 
1040       -- Standard call to get message count and if count is 1, get message info.
1041       FND_MSG_PUB.Count_And_Get
1042       (  p_count          =>   x_msg_count,
1043          p_data           =>   x_msg_data
1044       );
1045 
1046 END Validate_QUOTE_HEADER_ID;
1047 
1048 
1049 PROCEDURE Validate_QUOTE_LINE_ID (
1050     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1051     P_Validation_mode            IN   VARCHAR2,
1052     P_QUOTE_LINE_ID                IN   NUMBER,
1053     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1054     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1055     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1056     )
1057 IS
1058 BEGIN
1059 
1060       -- Initialize message list if p_init_msg_list is set to TRUE.
1061       IF FND_API.to_Boolean( p_init_msg_list )
1062       THEN
1063           FND_MSG_PUB.initialize;
1064       END IF;
1065 
1066 
1067       -- Initialize API return status to SUCCESS
1068       x_return_status := FND_API.G_RET_STS_SUCCESS;
1069 
1070       -- validate NOT NULL column
1071       IF(p_QUOTE_LINE_ID is NULL)
1072       THEN
1073           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(QUOTE_LINE_ID)');
1074           x_return_status := FND_API.G_RET_STS_ERROR;
1075       END IF;
1076 
1077       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
1078       THEN
1079           -- Hint: Validate data
1080           -- IF p_QUOTE_LINE_ID is not NULL and p_QUOTE_LINE_ID <> G_MISS_CHAR
1081           -- verify if data is valid
1082           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1083           NULL;
1084       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
1085       THEN
1086           -- Hint: Validate data
1087           -- IF p_QUOTE_LINE_ID <> G_MISS_CHAR
1088           -- verify if data is valid
1089           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1090           NULL;
1091       END IF;
1092 
1093       -- Standard call to get message count and if count is 1, get message info.
1094       FND_MSG_PUB.Count_And_Get
1095       (  p_count          =>   x_msg_count,
1096          p_data           =>   x_msg_data
1097       );
1098 
1099 END Validate_QUOTE_LINE_ID;
1100 
1101 
1102 PROCEDURE Validate_OBJECT_TYPE_CODE (
1103     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1104     P_Validation_mode            IN   VARCHAR2,
1105     P_OBJECT_TYPE_CODE                IN   VARCHAR2,
1106     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1107     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1108     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1109     )
1110 IS
1111 BEGIN
1112 
1113       -- Initialize message list if p_init_msg_list is set to TRUE.
1114       IF FND_API.to_Boolean( p_init_msg_list )
1115       THEN
1116           FND_MSG_PUB.initialize;
1117       END IF;
1118 
1119 
1120       -- Initialize API return status to SUCCESS
1121       x_return_status := FND_API.G_RET_STS_SUCCESS;
1122 
1123       -- validate NOT NULL column
1124       IF(p_OBJECT_TYPE_CODE is NULL)
1125       THEN
1126           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(OBJECT_TYPE_CODE)');
1127           x_return_status := FND_API.G_RET_STS_ERROR;
1128       END IF;
1129 
1130       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
1131       THEN
1132           -- Hint: Validate data
1133           -- IF p_OBJECT_TYPE_CODE is not NULL and p_OBJECT_TYPE_CODE <> G_MISS_CHAR
1134           -- verify if data is valid
1135           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1136           NULL;
1137       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
1138       THEN
1139           -- Hint: Validate data
1140           -- IF p_OBJECT_TYPE_CODE <> G_MISS_CHAR
1141           -- verify if data is valid
1142           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1143           NULL;
1144       END IF;
1145 
1146       -- Standard call to get message count and if count is 1, get message info.
1147       FND_MSG_PUB.Count_And_Get
1148       (  p_count          =>   x_msg_count,
1149          p_data           =>   x_msg_data
1150       );
1151 
1152 END Validate_OBJECT_TYPE_CODE;
1153 
1154 
1155 PROCEDURE Validate_OBJECT_ID (
1156     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1157     P_Validation_mode            IN   VARCHAR2,
1158     P_OBJECT_ID                IN   NUMBER,
1159     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1160     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1161     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1162     )
1163 IS
1164 BEGIN
1165 
1166       -- Initialize message list if p_init_msg_list is set to TRUE.
1167       IF FND_API.to_Boolean( p_init_msg_list )
1168       THEN
1169           FND_MSG_PUB.initialize;
1170       END IF;
1171 
1172 
1173       -- Initialize API return status to SUCCESS
1174       x_return_status := FND_API.G_RET_STS_SUCCESS;
1175 
1176       -- validate NOT NULL column
1177       IF(p_OBJECT_ID is NULL)
1178       THEN
1179           --ASO_UTILITY_PVT.Print('ERROR', 'Private party_rltship API: -Violate NOT NULL constraint(OBJECT_ID)');
1180           x_return_status := FND_API.G_RET_STS_ERROR;
1181       END IF;
1182 
1183       IF(p_validation_mode = ASO_UTILITY_PVT.G_CREATE)
1184       THEN
1185           -- Hint: Validate data
1186           -- IF p_OBJECT_ID is not NULL and p_OBJECT_ID <> G_MISS_CHAR
1187           -- verify if data is valid
1188           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1189           NULL;
1190       ELSIF(p_validation_mode = ASO_UTILITY_PVT.G_UPDATE)
1191       THEN
1192           -- Hint: Validate data
1193           -- IF p_OBJECT_ID <> G_MISS_CHAR
1194           -- verify if data is valid
1195           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1196           NULL;
1197       END IF;
1198 
1199       -- Standard call to get message count and if count is 1, get message info.
1200       FND_MSG_PUB.Count_And_Get
1201       (  p_count          =>   x_msg_count,
1202          p_data           =>   x_msg_data
1203       );
1204 
1205 END Validate_OBJECT_ID;
1206 
1207 
1208 -- Hint: inter-field level validation can be added here.
1209 -- Hint: If p_validation_mode = ASO_UTILITY_PVT.G_VALIDATE_UPDATE, we should use cursor
1210 --       to get old values for all fields used in inter-field validation and set all G_MISS_XXX fields to original value
1211 --       stored in database table.
1212 PROCEDURE Validate_PARTY_RLTSHIP_rec(
1213     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1214     P_Validation_mode            IN   VARCHAR2,
1215     P_PARTY_RLTSHIP_Rec     IN    ASO_quote_PUB.PARTY_RLTSHIP_Rec_Type,
1216     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1217     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1218     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1219     )
1220 IS
1221 BEGIN
1222 
1223       -- Initialize message list if p_init_msg_list is set to TRUE.
1224       IF FND_API.to_Boolean( p_init_msg_list )
1225       THEN
1226           FND_MSG_PUB.initialize;
1227       END IF;
1228 
1229 
1230       -- Initialize API return status to SUCCESS
1231       x_return_status := FND_API.G_RET_STS_SUCCESS;
1232 
1233       -- Hint: Validate data
1234       -- If data not valid
1235       -- THEN
1236       -- x_return_status := FND_API.G_RET_STS_ERROR;
1237 
1238       -- Debug Message
1239       --ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'API_INVALID_RECORD');
1240 
1241       -- Standard call to get message count and if count is 1, get message info.
1242       FND_MSG_PUB.Count_And_Get
1243       (  p_count          =>   x_msg_count,
1244          p_data           =>   x_msg_data
1245       );
1246 
1247 END Validate_PARTY_RLTSHIP_Rec;
1248 
1249 PROCEDURE Validate_party_rltship(
1250     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1251     P_Validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
1252     P_Validation_mode            IN   VARCHAR2,
1253     P_PARTY_RLTSHIP_Rec     IN    ASO_quote_PUB.PARTY_RLTSHIP_Rec_Type,
1254     X_Return_Status              OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
1255     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */    NUMBER,
1256     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */    VARCHAR2
1257     )
1258 IS
1259 l_api_name   CONSTANT VARCHAR2(30) := 'Validate_party_rltship';
1260  BEGIN
1261 
1262       -- Debug Message
1263 --      --ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
1264 
1265 
1266       -- Initialize API return status to SUCCESS
1267       x_return_status := FND_API.G_RET_STS_SUCCESS;
1268 
1269       IF (p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM) THEN
1270           -- Hint: We provide validation procedure for every column. Developer should delete
1271           --       unnecessary validation procedures.
1272           Validate_PARTY_RLTSHIP_ID(
1273               p_init_msg_list          => FND_API.G_FALSE,
1274               p_validation_mode        => p_validation_mode,
1275               p_PARTY_RELATIONSHIP_ID   => P_PARTY_RLTSHIP_Rec.PARTY_RELATIONSHIP_ID,
1276               -- Hint: You may add x_item_property_rec as one of your OUT NOCOPY /* file.sql.39 change */ parameter if you'd like to pass back item property.
1277               x_return_status          => x_return_status,
1278               x_msg_count              => x_msg_count,
1279               x_msg_data               => x_msg_data);
1280           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1281               raise FND_API.G_EXC_ERROR;
1282           END IF;
1283 
1284   /*        Validate_REQUEST_ID(
1285               p_init_msg_list          => FND_API.G_FALSE,
1286               p_validation_mode        => p_validation_mode,
1287               p_REQUEST_ID   => P_PARTY_RLTSHIP_Rec.REQUEST_ID,
1288               x_return_status          => x_return_status,
1289               x_msg_count              => x_msg_count,
1290               x_msg_data               => x_msg_data);
1291           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1292               raise FND_API.G_EXC_ERROR;
1293           END IF;
1294 
1295           Validate_PROGRAM_APPLICATION_ID(
1296               p_init_msg_list          => FND_API.G_FALSE,
1297               p_validation_mode        => p_validation_mode,
1298               p_PROGRAM_APPLICATION_ID   => P_PARTY_RLTSHIP_Rec.PROGRAM_APPLICATION_ID,
1299               x_return_status          => x_return_status,
1300               x_msg_count              => x_msg_count,
1301               x_msg_data               => x_msg_data);
1302           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1303               raise FND_API.G_EXC_ERROR;
1304           END IF;
1305 
1306           Validate_PROGRAM_ID(
1307               p_init_msg_list          => FND_API.G_FALSE,
1308               p_validation_mode        => p_validation_mode,
1309               p_PROGRAM_ID   => P_PARTY_RLTSHIP_Rec.PROGRAM_ID,
1310               x_return_status          => x_return_status,
1311               x_msg_count              => x_msg_count,
1312               x_msg_data               => x_msg_data);
1313           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1314               raise FND_API.G_EXC_ERROR;
1315           END IF;
1316 
1317           Validate_PROGRAM_UPDATE_DATE(
1318               p_init_msg_list          => FND_API.G_FALSE,
1319               p_validation_mode        => p_validation_mode,
1320               p_PROGRAM_UPDATE_DATE   => P_PARTY_RLTSHIP_Rec.PROGRAM_UPDATE_DATE,
1321               x_return_status          => x_return_status,
1322               x_msg_count              => x_msg_count,
1323               x_msg_data               => x_msg_data);
1324           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1325               raise FND_API.G_EXC_ERROR;
1326           END IF;
1327 
1328 
1329           Validate_QUOTE_OBJECT_TYPE(
1330               p_init_msg_list          => FND_API.G_FALSE,
1331               p_validation_mode        => p_validation_mode,
1332               p_QUOTE_OBJECT_TYPE   => P_PARTY_RLTSHIP_Rec.QUOTE_OBJECT_TYPE,
1333               x_return_status          => x_return_status,
1334               x_msg_count              => x_msg_count,
1335               x_msg_data               => x_msg_data);
1336           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1337               raise FND_API.G_EXC_ERROR;
1338           END IF;
1339 
1340           Validate_QUOTE_OBJECT_ID(
1341               p_init_msg_list          => FND_API.G_FALSE,
1342               p_validation_mode        => p_validation_mode,
1343               p_QUOTE_OBJECT_ID   => P_PARTY_RLTSHIP_Rec.QUOTE_OBJECT_ID,
1344               x_return_status          => x_return_status,
1345               x_msg_count              => x_msg_count,
1346               x_msg_data               => x_msg_data);
1347           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1348               raise FND_API.G_EXC_ERROR;
1349           END IF;
1350 */
1351           Validate_RLTSHIP_TYPE_CODE(
1352               p_init_msg_list          => FND_API.G_FALSE,
1353               p_validation_mode        => p_validation_mode,
1354               p_RELATIONSHIP_TYPE_CODE   => P_PARTY_RLTSHIP_Rec.RELATIONSHIP_TYPE_CODE,
1355               x_return_status          => x_return_status,
1356               x_msg_count              => x_msg_count,
1357               x_msg_data               => x_msg_data);
1358           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1359               raise FND_API.G_EXC_ERROR;
1360           END IF;
1361 /*
1362           Validate_RELATED_OBJ_TYPE_CODE(
1363               p_init_msg_list          => FND_API.G_FALSE,
1364               p_validation_mode        => p_validation_mode,
1365               p_RELATED_OBJECT_TYPE_CODE   => P_PARTY_RLTSHIP_Rec.RELATED_OBJECT_TYPE_CODE,
1366               x_return_status          => x_return_status,
1367               x_msg_count              => x_msg_count,
1368               x_msg_data               => x_msg_data);
1369           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1370               raise FND_API.G_EXC_ERROR;
1371           END IF;
1372 
1373           Validate_RELATED_OBJECT_ID(
1374               p_init_msg_list          => FND_API.G_FALSE,
1375               p_validation_mode        => p_validation_mode,
1376               p_RELATED_OBJECT_ID   => P_PARTY_RLTSHIP_Rec.RELATED_OBJECT_ID,
1377               x_return_status          => x_return_status,
1378               x_msg_count              => x_msg_count,
1379               x_msg_data               => x_msg_data);
1380           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1381               raise FND_API.G_EXC_ERROR;
1382           END IF;
1383 */
1384           Validate_QUOTE_HEADER_ID(
1385               p_init_msg_list          => FND_API.G_FALSE,
1386               p_validation_mode        => p_validation_mode,
1387               p_QUOTE_HEADER_ID   => P_PARTY_RLTSHIP_Rec.QUOTE_HEADER_ID,
1388               x_return_status          => x_return_status,
1389               x_msg_count              => x_msg_count,
1390               x_msg_data               => x_msg_data);
1391           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1392               raise FND_API.G_EXC_ERROR;
1393           END IF;
1394 
1395           Validate_QUOTE_LINE_ID(
1396               p_init_msg_list          => FND_API.G_FALSE,
1397               p_validation_mode        => p_validation_mode,
1398               p_QUOTE_LINE_ID   => P_PARTY_RLTSHIP_Rec.QUOTE_LINE_ID,
1399               x_return_status          => x_return_status,
1400               x_msg_count              => x_msg_count,
1401               x_msg_data               => x_msg_data);
1402           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1403               raise FND_API.G_EXC_ERROR;
1404           END IF;
1405 
1406           Validate_OBJECT_TYPE_CODE(
1407               p_init_msg_list          => FND_API.G_FALSE,
1408               p_validation_mode        => p_validation_mode,
1409               p_OBJECT_TYPE_CODE   => P_PARTY_RLTSHIP_Rec.OBJECT_TYPE_CODE,
1410               x_return_status          => x_return_status,
1411               x_msg_count              => x_msg_count,
1412               x_msg_data               => x_msg_data);
1413           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1414               raise FND_API.G_EXC_ERROR;
1415           END IF;
1416 
1417           Validate_OBJECT_ID(
1418               p_init_msg_list          => FND_API.G_FALSE,
1419               p_validation_mode        => p_validation_mode,
1420               p_OBJECT_ID   => P_PARTY_RLTSHIP_Rec.OBJECT_ID,
1421               x_return_status          => x_return_status,
1422               x_msg_count              => x_msg_count,
1423               x_msg_data               => x_msg_data);
1424           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1425               raise FND_API.G_EXC_ERROR;
1426           END IF;
1427 
1428       END IF;
1429 
1430 /*      IF (p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_RECORD) THEN
1431           -- Hint: Inter-field level validation can be added here
1432           -- invoke record level validation procedures
1433           Validate_PARTY_RLTSHIP_Rec(
1434               p_init_msg_list          => FND_API.G_FALSE,
1435               p_validation_mode        => p_validation_mode,
1436           P_PARTY_RLTSHIP_Rec     =>    P_PARTY_RLTSHIP_Rec,
1437               x_return_status          => x_return_status,
1438               x_msg_count              => x_msg_count,
1439               x_msg_data               => x_msg_data);
1440 
1441           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1442               raise FND_API.G_EXC_ERROR;
1443           END IF;
1444       END IF;
1445 
1446       IF (p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_INTER_RECORD) THEN
1447           -- invoke inter-record level validation procedures
1448           NULL;
1449       END IF;
1450 
1451       IF (p_validation_level >= ASO_UTILITY_PVT.G_VALID_LEVEL_INTER_ENTITY) THEN
1452           -- invoke inter-entity level validation procedures
1453           NULL;
1454       END IF;
1455 
1456 
1457       -- Debug Message
1458       --ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
1459 */
1460 
1461 END Validate_party_rltship;
1462 
1463 End ASO_PARTY_RLTSHIP_PVT;