DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_PRICE_ADJ_RLTSHIP_PVT

Source


1 PACKAGE BODY ASO_PRICE_ADJ_RLTSHIP_PVT as
2 /* $Header: asovprlb.pls 120.1 2005/06/29 12:43:32 appldev ship $ */
3 -- Start of Comments
4 -- Package name     : ASO_PRICE_ADJ_RLTSHIP_PVT
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_PRICE_ADJ_RLTSHIP_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovprlb.pls';
13 
14 
15 
16 --   *******************************************************
17 --    Start of Comments
18 --   *******************************************************
19 --   API Name:  Create_price_adj_rltship
20 --   Type    :  Private
21 --   Pre-Req :
22 --   Parameters:
23 --   IN
24 --       p_api_version_number      IN   NUMBER     Required
25 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
26 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
27 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
28 --       P_PRICE_ADJ_RLTSHIP_Rec     IN PRICE_ADJ_RLTSHIP_Rec_Type  Required
29 --
30 --   OUT:
31 --       x_return_status           OUT NOCOPY /* file.sql.39 change */   VARCHAR2
32 --       x_msg_count               OUT NOCOPY /* file.sql.39 change */   NUMBER
33 --       x_msg_data                OUT NOCOPY /* file.sql.39 change */   VARCHAR2
34 --   Version : Current version 2.0
35 --   Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
36 --         and basic operation, developer must manually add parameters and business logic as necessary.
37 --
38 --   End of Comments
39 --
40 PROCEDURE Create_price_adj_rltship(
41     P_Api_Version_Number         IN   NUMBER,
42     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
43     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
44     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
45     P_PRICE_ADJ_RLTSHIP_Rec     IN    ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type
46 							   := ASO_QUOTE_PUB.G_MISS_PRICE_ADJ_RLTSHIP_REC,
47   --Hint: Add detail tables as parameter lists if it's master-detail relationship.
48     X_ADJ_RELATIONSHIP_ID     OUT NOCOPY /* file.sql.39 change */   NUMBER,
49     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
50     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
51     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
52     )
53 IS
54 
55 l_api_name                CONSTANT VARCHAR2(30) := 'Create_price_adj_rltship';
56 l_api_version_number      CONSTANT NUMBER   := 1.0;
57 
58 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
59 G_LOGIN_ID        NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
60  BEGIN
61       -- Standard Start of API savepoint
62       SAVEPOINT CREATE_PRICE_ADJ_RLTSHIP_PVT;
63 
64       -- Standard call to check for call compatibility.
65       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
66                          	             p_api_version_number,
67                                            l_api_name,
68                                            G_PKG_NAME)
69       THEN
70           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
71       END IF;
72 
73 
74       -- Initialize message list if p_init_msg_list is set to TRUE.
75       IF FND_API.to_Boolean( p_init_msg_list )
76       THEN
77           FND_MSG_PUB.initialize;
78       END IF;
79 
80 
81       -- Initialize API return status to SUCCESS
82       x_return_status := FND_API.G_RET_STS_SUCCESS;
83 
84       --
85       -- API body
86       --
87 
88 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
89 /*
90       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
91       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
92       THEN
93           AS_CALLOUT_PKG.Create_line_rltship_BC(
94                   p_api_version_number   =>  2.0,
95                   p_init_msg_list        =>  FND_API.G_FALSE,
96                   p_commit               =>  FND_API.G_FALSE,
97                   p_validation_level     =>  p_validation_level,
98                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
99           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
100                   x_return_status        =>  x_return_status,
101                   x_msg_count            =>  x_msg_count,
102                   x_msg_data             =>  x_msg_data);
103       END IF;
104 */
105       -- ******************************************************************
106       -- Validate Environment
107       -- ******************************************************************
108       IF FND_GLOBAL.User_Id IS NULL
109       THEN
110           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
111           THEN
112               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
113               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
114               FND_MSG_PUB.ADD;
115           END IF;
116           RAISE FND_API.G_EXC_ERROR;
117       END IF;
118 
119 
120       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
121       THEN
122 
123           Validate_PRICE_ADJ_RLTSHIP(
124              P_Validation_level     =>  p_validation_level,
125              P_Validation_mode      =>  ASO_UTILITY_PVT.G_CREATE,
126              P_PRICE_ADJ_RLTSHIP_Rec => P_PRICE_ADJ_RLTSHIP_rec,
127              x_return_status    => x_return_status,
128              x_msg_count        => x_msg_count,
129              x_msg_data         => x_msg_data);
130 
131       END IF;
132       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
133           RAISE FND_API.G_EXC_ERROR;
134       END IF;
135 
136 
137       -- Invoke table handler
138          ASO_PRICE_RLTSHIPS_PKG.Insert_row
139          (
140           px_ADJ_RELATIONSHIP_ID  => x_ADJ_RELATIONSHIP_ID  ,
141           p_CREATION_DATE         => SYSDATE ,
142           p_CREATED_BY            => G_USER_ID ,
143           p_LAST_UPDATE_DATE      => SYSDATE,
144           p_LAST_UPDATED_BY       => G_USER_ID ,
145           p_LAST_UPDATE_LOGIN     => G_LOGIN_ID ,
146           p_PROGRAM_APPLICATION_ID => P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_APPLICATION_ID,
147           p_PROGRAM_ID            => P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_ID ,
148           p_PROGRAM_UPDATE_DATE =>P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_UPDATE_DATE ,
149           p_REQUEST_ID           =>P_PRICE_ADJ_RLTSHIP_Rec.Request_id   ,
150           p_QUOTE_LINE_ID        =>P_PRICE_ADJ_RLTSHIP_Rec.quote_line_id  ,
151           p_PRICE_ADJUSTMENT_ID  =>P_PRICE_ADJ_RLTSHIP_Rec.price_adjustment_id,
152           p_RLTD_PRICE_ADJ_ID  => P_PRICE_ADJ_RLTSHIP_Rec.rltd_price_adj_id,
153 		p_quote_shipment_id  => P_PRICE_ADJ_RLTSHIP_Rec.quote_shipment_id,
154 		p_OBJECT_VERSION_NUMBER => P_PRICE_ADJ_RLTSHIP_Rec.OBJECT_VERSION_NUMBER);
155 
156       -- Hint: Primary key should be returned.
157       -- x_LINE_RELATIONSHIP_ID := px_LINE_RELATIONSHIP_ID;
158 
159       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
160           RAISE FND_API.G_EXC_ERROR;
161       END IF;
162 
163       --
164       -- End of API body
165       --
166 
167       -- Standard check for p_commit
168       IF FND_API.to_Boolean( p_commit )
169       THEN
170           COMMIT WORK;
171       END IF;
172 
173 
174     -- Standard call to get message count and if count is 1, get message info.
175       FND_MSG_PUB.Count_And_Get
176       (  p_count          =>   x_msg_count,
177          p_data           =>   x_msg_data
178       );
179 
180 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
181 /*
182       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
183       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
184       THEN
185           AS_CALLOUT_PKG.Create_line_rltship_AC(
186                   p_api_version_number   =>  2.0,
187                   p_init_msg_list        =>  FND_API.G_FALSE,
188                   p_commit               =>  FND_API.G_FALSE,
189                   p_validation_level     =>  p_validation_level,
190                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
191           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
192                   x_return_status        =>  x_return_status,
193                   x_msg_count            =>  x_msg_count,
194                   x_msg_data             =>  x_msg_data);
195       END IF;
196 */
197       EXCEPTION
198              WHEN FND_API.G_EXC_ERROR THEN
199               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
200                    P_API_NAME => L_API_NAME
201                   ,P_PKG_NAME => G_PKG_NAME
202                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
203                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
204                   ,X_MSG_COUNT => X_MSG_COUNT
205                   ,X_MSG_DATA => X_MSG_DATA
206                   ,X_RETURN_STATUS => X_RETURN_STATUS);
207 
208           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
209               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
210                    P_API_NAME => L_API_NAME
211                   ,P_PKG_NAME => G_PKG_NAME
212                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
213                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
214                   ,X_MSG_COUNT => X_MSG_COUNT
215                   ,X_MSG_DATA => X_MSG_DATA
216                   ,X_RETURN_STATUS => X_RETURN_STATUS);
217 
218           WHEN OTHERS THEN
219               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
220                    P_API_NAME => L_API_NAME
221                   ,P_PKG_NAME => G_PKG_NAME
222                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
223                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
224                   ,X_MSG_COUNT => X_MSG_COUNT
225                   ,X_MSG_DATA => X_MSG_DATA
226                   ,X_RETURN_STATUS => X_RETURN_STATUS);
227 
228 END Create_price_adj_rltship;
229 
230 --   *******************************************************
231 --    Start of Comments
232 --   *******************************************************
233 --   API Name:  Update_price_adj_rltship
234 --   Type    :  Private
235 --   Pre-Req :
236 --   Parameters:
237 --   IN
238 --       p_api_version_number      IN   NUMBER     Required
239 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
240 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
241 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
242 --       p_identity_salesforce_id  IN   NUMBER     Optional  Default = NULL
243 --       P_PRICE_ADJ_RLTSHIP_Rec     IN PRICE_ADJ_RLTSHIP_Rec_Type  Required
244 --
245 --   OUT:
246 --       x_return_status           OUT NOCOPY /* file.sql.39 change */   VARCHAR2
247 --       x_msg_count               OUT NOCOPY /* file.sql.39 change */   NUMBER
248 --       x_msg_data                OUT NOCOPY /* file.sql.39 change */   VARCHAR2
249 --   Version : Current version 2.0
250 --   Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
251 --         and basic operation, developer must manually add parameters and business logic as necessary.
252 --
253 --   End of Comments
254 --
255 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
256 PROCEDURE Update_price_adj_rltship(
257     P_Api_Version_Number         IN   NUMBER,
258     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
259     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
260     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
261     P_PRICE_ADJ_RLTSHIP_Rec      IN   ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type,
262     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
266 IS
263     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
264     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
265     )
267 
268 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
269 G_LOGIN_ID        NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
270 Cursor C_Get_price_rltship(lc_ADJ_RELATIONSHIP_ID Number) IS
271     Select --rowid,
272 	ADJ_RELATIONSHIP_ID	,
273  	CREATION_DATE		,
274  	CREATED_BY		,
275  	LAST_UPDATE_DATE	,
276  	LAST_UPDATED_BY		,
277  	LAST_UPDATE_LOGIN	,
278  	PROGRAM_APPLICATION_ID 	,
279  	PROGRAM_ID		,
280  	PROGRAM_UPDATE_DATE	,
281  	REQUEST_ID		,
282  	QUOTE_LINE_ID		,
283  	PRICE_ADJUSTMENT_ID	,
284  	RLTD_PRICE_ADJ_ID
285     From  ASO_PRICE_ADJ_RELATIONSHIPS
286     where ADJ_RELATIONSHIP_ID = lc_ADJ_RELATIONSHIP_ID;
287     -- Hint: Developer need to provide Where clause
288     --For Update NOWAIT;
289 
290 l_api_name                CONSTANT VARCHAR2(30) := 'Update_price_adj_rltship';
291 l_api_version_number      CONSTANT NUMBER   := 1.0;
292 l_ref_PRICE_ADJ_RLTSHIP_rec  ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type;
293 l_tar_PRICE_ADJ_RLTSHIP_rec  ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type := P_PRICE_ADJ_RLTSHIP_Rec;
294 l_rowid  ROWID;
295  BEGIN
296       -- Standard Start of API savepoint
297       SAVEPOINT UPDATE_PRICE_ADJ_RLTSHIP_PVT;
298 
299       -- Standard call to check for call compatibility.
300       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
301                          	             p_api_version_number,
302                                            l_api_name,
303                                            G_PKG_NAME)
304       THEN
305           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
306       END IF;
307 
308 
309       -- Initialize message list if p_init_msg_list is set to TRUE.
310       IF FND_API.to_Boolean( p_init_msg_list )
311       THEN
312           FND_MSG_PUB.initialize;
313       END IF;
314 
315 
316       -- Initialize API return status to SUCCESS
317       x_return_status := FND_API.G_RET_STS_SUCCESS;
318 
319       --
320       -- Api body
321       --
322 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
323 /*
324       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
325       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
326       THEN
327           AS_CALLOUT_PKG.Update_line_rltship_BU(
328                   p_api_version_number   =>  2.0,
329                   p_init_msg_list        =>  FND_API.G_FALSE,
330                   p_commit               =>  FND_API.G_FALSE,
331                   p_validation_level     =>  p_validation_level,
332                   p_identity_salesforce_id => p_identity_salesforce_id,
333                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
334           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
335                   x_return_status        =>  x_return_status,
336                   x_msg_count            =>  x_msg_count,
337                   x_msg_data             =>  x_msg_data);
338       END IF;
339 
340 */
341       Open C_Get_price_rltship( l_tar_PRICE_ADJ_RLTSHIP_rec.ADJ_RELATIONSHIP_ID);
342 
343       Fetch C_Get_price_rltship into
344                  --  l_rowid,
345          l_ref_PRICE_ADJ_RLTSHIP_rec.ADJ_RELATIONSHIP_ID	,
346  	l_ref_PRICE_ADJ_RLTSHIP_rec.CREATION_DATE		,
347  	l_ref_PRICE_ADJ_RLTSHIP_rec.CREATED_BY		,
348  	l_ref_PRICE_ADJ_RLTSHIP_rec.LAST_UPDATE_DATE	,
349  	l_ref_PRICE_ADJ_RLTSHIP_rec.LAST_UPDATED_BY		,
350  	l_ref_PRICE_ADJ_RLTSHIP_rec.LAST_UPDATE_LOGIN	,
351  	l_ref_PRICE_ADJ_RLTSHIP_rec.PROGRAM_APPLICATION_ID 	,
352  	l_ref_PRICE_ADJ_RLTSHIP_rec.PROGRAM_ID		,
353  	l_ref_PRICE_ADJ_RLTSHIP_rec.PROGRAM_UPDATE_DATE	,
354  	l_ref_PRICE_ADJ_RLTSHIP_rec.REQUEST_ID		,
355  	l_ref_PRICE_ADJ_RLTSHIP_rec.QUOTE_LINE_ID		,
356  	l_ref_PRICE_ADJ_RLTSHIP_rec.PRICE_ADJUSTMENT_ID	,
357  	l_ref_PRICE_ADJ_RLTSHIP_rec.RLTD_PRICE_ADJ_ID	;
358 
359 
360        If ( C_Get_price_rltship%NOTFOUND) Then
361            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
362            THEN
363                FND_MESSAGE.Set_Name('ASO', 'API_MISSING_UPDATE_TARGET');
364                FND_MESSAGE.Set_Token ('INFO', 'price_adj_rltship', FALSE);
365                FND_MSG_PUB.Add;
366            END IF;
367            raise FND_API.G_EXC_ERROR;
368        END IF;
369        -- Debug Message
370        -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: - Close Cursor');
371        Close     C_Get_price_rltship;
372 
373 
374 
375       If (l_tar_PRICE_ADJ_RLTSHIP_rec.last_update_date is NULL or
376           l_tar_PRICE_ADJ_RLTSHIP_rec.last_update_date = FND_API.G_MISS_Date ) Then
377           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
378           THEN
379               FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
380               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
381               FND_MSG_PUB.ADD;
382           END IF;
383           raise FND_API.G_EXC_ERROR;
384       End if;
385       -- Check Whether record has been changed by someone else
386       If (l_tar_PRICE_ADJ_RLTSHIP_rec.last_update_date <> l_ref_PRICE_ADJ_RLTSHIP_rec.last_update_date) Then
387           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
388           THEN
389               FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
390               FND_MESSAGE.Set_Token('INFO', 'price_adj_rltship', FALSE);
391               FND_MSG_PUB.ADD;
392           END IF;
393           raise FND_API.G_EXC_ERROR;
394       End if;
395 
396       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
397       THEN
398 
402              P_Validation_mode      =>  ASO_UTILITY_PVT.G_CREATE,
399           -- Invoke validation procedures
400            Validate_PRICE_ADJ_RLTSHIP(
401              P_Validation_level     =>  p_validation_level,
403              P_PRICE_ADJ_RLTSHIP_Rec => P_PRICE_ADJ_RLTSHIP_rec,
404              x_return_status    => x_return_status,
405              x_msg_count        => x_msg_count,
406              x_msg_data         => x_msg_data);
407 
408       END IF;
409 
410       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
411           RAISE FND_API.G_EXC_ERROR;
412       END IF;
413 
414       -- Hint: Add corresponding Master-Detail business logic here if necessary.
415 
416       -- Debug Message
417       -- ASO_UTILITY_PVT.Print(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
418 
419                 -- Invoke table handler
420          ASO_PRICE_RLTSHIPS_PKG.Update_row
421          (
422           p_ADJ_RELATIONSHIP_ID  =>P_PRICE_ADJ_RLTSHIP_Rec.ADJ_RELATIONSHIP_ID,
423           p_CREATION_DATE         => SYSDATE ,
424           p_CREATED_BY            => G_USER_ID ,
425           p_LAST_UPDATE_DATE      => SYSDATE,
426           p_LAST_UPDATED_BY       => G_USER_ID ,
427           p_LAST_UPDATE_LOGIN     => G_LOGIN_ID ,
428           p_PROGRAM_APPLICATION_ID => P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_APPLICATION_ID,
429           p_PROGRAM_ID            => P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_ID ,
430           p_PROGRAM_UPDATE_DATE =>P_PRICE_ADJ_RLTSHIP_Rec.PROGRAM_UPDATE_DATE ,
431           p_REQUEST_ID           =>P_PRICE_ADJ_RLTSHIP_Rec.Request_id   ,
432           p_QUOTE_LINE_ID        =>P_PRICE_ADJ_RLTSHIP_Rec.quote_line_id  ,
433           p_PRICE_ADJUSTMENT_ID  =>P_PRICE_ADJ_RLTSHIP_Rec.price_adjustment_id,
434           p_RLTD_PRICE_ADJ_ID  => P_PRICE_ADJ_RLTSHIP_Rec.rltd_price_adj_id,
435 		p_quote_shipment_id  => P_PRICE_ADJ_RLTSHIP_Rec.quote_shipment_id,
436 		p_OBJECT_VERSION_NUMBER => P_PRICE_ADJ_RLTSHIP_Rec.OBJECT_VERSION_NUMBER);
437 
438 
439       --
440       -- End of API body.
441       --
442 
443       -- Standard check for p_commit
444       IF FND_API.to_Boolean( p_commit )
445       THEN
446           COMMIT WORK;
447       END IF;
448 
449 
450       -- Standard call to get message count and if count is 1, get message info.
454       );
451       FND_MSG_PUB.Count_And_Get
452       (  p_count          =>   x_msg_count,
453          p_data           =>   x_msg_data
455 
456 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
457 /*
458       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
459       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
460       THEN
461           AS_CALLOUT_PKG.Update_line_rltship_AU(
462                   p_api_version_number   =>  2.0,
463                   p_init_msg_list        =>  FND_API.G_FALSE,
464                   p_commit               =>  FND_API.G_FALSE,
465                   p_validation_level     =>  p_validation_level,
466                   p_identity_salesforce_id => p_identity_salesforce_id,
467                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
468           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
469                   x_return_status        =>  x_return_status,
470                   x_msg_count            =>  x_msg_count,
471                   x_msg_data             =>  x_msg_data);
472       END IF;
473 */
474       EXCEPTION
475  WHEN FND_API.G_EXC_ERROR THEN
476               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
477                    P_API_NAME => L_API_NAME
478                   ,P_PKG_NAME => G_PKG_NAME
479                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
480                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
481                   ,X_MSG_COUNT => X_MSG_COUNT
482                   ,X_MSG_DATA => X_MSG_DATA
486               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
483                   ,X_RETURN_STATUS => X_RETURN_STATUS);
484 
485           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
487                    P_API_NAME => L_API_NAME
488                   ,P_PKG_NAME => G_PKG_NAME
489                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
490                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
491                   ,X_MSG_COUNT => X_MSG_COUNT
492                   ,X_MSG_DATA => X_MSG_DATA
493                   ,X_RETURN_STATUS => X_RETURN_STATUS);
494 
495           WHEN OTHERS THEN
496               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
497                    P_API_NAME => L_API_NAME
498                   ,P_PKG_NAME => G_PKG_NAME
499                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
500                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
501                   ,X_MSG_COUNT => X_MSG_COUNT
502                   ,X_MSG_DATA => X_MSG_DATA
503                   ,X_RETURN_STATUS => X_RETURN_STATUS);
504 End Update_price_adj_rltship;
505 
506 
507 --   *******************************************************
508 --    Start of Comments
509 --   *******************************************************
510 --   API Name:  Delete_price_adj_rltship
511 --   Type    :  Private
512 --   Pre-Req :
513 --   Parameters:
514 --   IN
515 --       p_api_version_number      IN   NUMBER     Required
516 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
517 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
518 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
519 --       p_identity_salesforce_id  IN   NUMBER     Optional  Default = NULL
520 --       P_PRICE_ADJ_RLTSHIP_Rec     IN PRICE_ADJ_RLTSHIP_Rec_Type  Required
521 --
522 --   OUT:
523 --       x_return_status           OUT NOCOPY /* file.sql.39 change */   VARCHAR2
524 --       x_msg_count               OUT NOCOPY /* file.sql.39 change */   NUMBER
525 --       x_msg_data                OUT NOCOPY /* file.sql.39 change */   VARCHAR2
526 --   Version : Current version 2.0
527 --   Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
528 --         and basic operation, developer must manually add parameters and business logic as necessary.
529 --
530 --   End of Comments
531 --
532 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
533 --       The Master delete procedure may not be needed depends on different business requirements.
534 
535 
536 PROCEDURE Delete_price_adj_rltship(
537     P_Api_Version_Number         IN   NUMBER,
538     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
539     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
540     p_validation_level         IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
541     P_PRICE_ADJ_RLTSHIP_Rec     IN ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type,
542     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
543     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
544     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
545     )
546 IS
547 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_price_adj_rltship';
548 l_api_version_number      CONSTANT NUMBER   := 1.0;
549 
550 
551  CURSOR C_adj_rltship(quote_line_id NUMBER) IS
552  SELECT adj_relationship_id
553  FROM aso_price_adj_relationships
554  WHERE quote_line_id = P_PRICE_ADJ_RLTSHIP_Rec.quote_line_id;
555 
556  BEGIN
557       -- Standard Start of API savepoint
558       SAVEPOINT DELETE_PRICE_ADJ_RLTSHIP_PVT;
559 
560       -- Standard call to check for call compatibility.
561       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
562                          	             p_api_version_number,
563                                            l_api_name,
564                                            G_PKG_NAME)
565       THEN
566           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
567       END IF;
568 
569 
570       -- Initialize message list if p_init_msg_list is set to TRUE.
571       IF FND_API.to_Boolean( p_init_msg_list )
572       THEN
573           FND_MSG_PUB.initialize;
574       END IF;
575 
576 
577       -- Initialize API return status to SUCCESS
578       x_return_status := FND_API.G_RET_STS_SUCCESS;
579 
580       --
581       -- API body
582       --
583 
584 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
585 /*
586       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
587       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
588       THEN
589           AS_CALLOUT_PKG.Create_line_rltship_BC(
590                   p_api_version_number   =>  2.0,
591                   p_init_msg_list        =>  FND_API.G_FALSE,
592                   p_commit               =>  FND_API.G_FALSE,
593                   p_validation_level     =>  p_validation_level,
594                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
598                   x_msg_data             =>  x_msg_data);
595           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
596                   x_return_status        =>  x_return_status,
597                   x_msg_count            =>  x_msg_count,
599       END IF;
600 */
601       -- ******************************************************************
602       -- Validate Environment
603       -- ******************************************************************
604       IF FND_GLOBAL.User_Id IS NULL
605       THEN
606           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
607           THEN
608               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
609               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
610               FND_MSG_PUB.ADD;
611           END IF;
612           RAISE FND_API.G_EXC_ERROR;
613       END IF;
614 
615 
616       For i in C_adj_rltship(P_PRICE_ADJ_RLTSHIP_Rec.quote_line_id) LOOP
617 
618         ASO_PRICE_RLTSHIPS_PKG.Delete_Row(
619          p_ADJ_RELATIONSHIP_ID => i.adj_relationship_id);
620       END LOOP;
621 
622      IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
623           RAISE FND_API.G_EXC_ERROR;
624       END IF;
625 
626       --
627       -- End of API body
628       --
629 
630       -- Standard check for p_commit
631       IF FND_API.to_Boolean( p_commit )
632       THEN
633           COMMIT WORK;
634       END IF;
635 
636 
637     -- Standard call to get message count and if count is 1, get message info.
638       FND_MSG_PUB.Count_And_Get
639       (  p_count          =>   x_msg_count,
640          p_data           =>   x_msg_data
641       );
642 
643 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
644 /*
645       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
646       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
647       THEN
648           AS_CALLOUT_PKG.Create_line_rltship_AC(
649                   p_api_version_number   =>  2.0,
650                   p_init_msg_list        =>  FND_API.G_FALSE,
651                   p_commit               =>  FND_API.G_FALSE,
652                   p_validation_level     =>  p_validation_level,
653                   P_LINE_RLTSHIP_Rec      =>  P_LINE_RLTSHIP_Rec,
654           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
655                   x_return_status        =>  x_return_status,
656                   x_msg_count            =>  x_msg_count,
657                   x_msg_data             =>  x_msg_data);
658       END IF;
659 */
660       EXCEPTION
661              WHEN FND_API.G_EXC_ERROR THEN
662               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
663                    P_API_NAME => L_API_NAME
664                   ,P_PKG_NAME => G_PKG_NAME
665                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
666                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
667                   ,X_MSG_COUNT => X_MSG_COUNT
668                   ,X_MSG_DATA => X_MSG_DATA
669                   ,X_RETURN_STATUS => X_RETURN_STATUS);
670 
671           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
672               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
673                    P_API_NAME => L_API_NAME
674                   ,P_PKG_NAME => G_PKG_NAME
675                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
676                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
677                   ,X_MSG_COUNT => X_MSG_COUNT
678                   ,X_MSG_DATA => X_MSG_DATA
679                   ,X_RETURN_STATUS => X_RETURN_STATUS);
680 
681           WHEN OTHERS THEN
682               ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
683                    P_API_NAME => L_API_NAME
684                   ,P_PKG_NAME => G_PKG_NAME
685                   ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
686                   ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
687                   ,X_MSG_COUNT => X_MSG_COUNT
688                   ,X_MSG_DATA => X_MSG_DATA
689                   ,X_RETURN_STATUS => X_RETURN_STATUS);
690 
691 END Delete_price_adj_rltship;
692 
693 
694 
695 -- Start of Comments
696 --
697 -- Item level validation procedures
698 --
699 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
700 --                  For create: G_CREATE, for update: G_UPDATE
701 -- Note: 1. This is automated generated item level validation procedure.
702 --          The actual validation detail is needed to be added.
703 --
704 -- End of Comments
705 
706 PROCEDURE Validate_ADJ_RELATIONSHIP_ID (
707     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
708     P_Validation_mode            IN   VARCHAR2,
709     P_ADJ_RELATIONSHIP_ID                IN   NUMBER,
710     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
711     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
712     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
713     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
714     )
715 IS
716 BEGIN
717 NULL;
718 END;
719 
720 -- Start of Comments
721 --
722 -- Item level validation procedures
723 --
724 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
725 --                  For create: G_CREATE, for update: G_UPDATE
729 -- End of Comments
726 -- Note: 1. This is automated generated item level validation procedure.
727 --          The actual validation detail is needed to be added.
728 --
730 
731 PROCEDURE Validate_PROGRAM_APPL_ID (
732     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
733     P_Validation_mode            IN   VARCHAR2,
734     P_PROGRAM_APPLICATION_ID                IN   NUMBER,
735     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
736     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
737     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
738     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
739     )
740 IS
741 BEGIN
742 NULL;
743 END;
744 
745 -- Start of Comments
746 --
747 -- Item level validation procedures
748 --
749 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
750 --                  For create: G_CREATE, for update: G_UPDATE
751 -- Note: 1. This is automated generated item level validation procedure.
752 --          The actual validation detail is needed to be added.
753 --
754 -- End of Comments
755 
756 PROCEDURE Validate_PROGRAM_ID (
757     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
758     P_Validation_mode            IN   VARCHAR2,
759     P_PROGRAM_ID                IN   NUMBER,
760     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
761     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
762     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
763     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
764     )
765 IS
766 BEGIN
767 NULL;
768 END;
769 
770 -- Start of Comments
771 --
772 -- Item level validation procedures
773 --
774 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
775 --                  For create: G_CREATE, for update: G_UPDATE
776 -- Note: 1. This is automated generated item level validation procedure.
777 --          The actual validation detail is needed to be added.
778 --
779 -- End of Comments
780 
781 PROCEDURE Validate_PROGRAM_UPDATE_DATE (
782     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
783     P_Validation_mode            IN   VARCHAR2,
784     P_PROGRAM_UPDATE_DATE                IN   DATE,
785     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
786     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
787     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
788     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
789     )
790 IS
791 BEGIN
792 NULL;
793 END;
794 
795 -- Start of Comments
796 --
797 -- Item level validation procedures
798 --
799 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
800 --                  For create: G_CREATE, for update: G_UPDATE
801 -- Note: 1. This is automated generated item level validation procedure.
802 --          The actual validation detail is needed to be added.
803 --
804 -- End of Comments
805 
806 PROCEDURE Validate_REQUEST_ID (
807     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
808     P_Validation_mode            IN   VARCHAR2,
809     P_REQUEST_ID                IN   NUMBER,
810     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
811     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
812     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
813     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
814     )
815 IS
816 BEGIN
817 NULL;
818 END;
819 
820 -- Start of Comments
821 --
822 -- Item level validation procedures
823 --
824 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
825 --                  For create: G_CREATE, for update: G_UPDATE
826 -- Note: 1. This is automated generated item level validation procedure.
827 --          The actual validation detail is needed to be added.
828 --
829 -- End of Comments
830 
831 PROCEDURE Validate_QUOTE_LINE_ID (
832     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
833     P_Validation_mode            IN   VARCHAR2,
834     P_QUOTE_LINE_ID                IN   NUMBER,
835     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
836     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
837     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
838     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
839     )
840 IS
841 BEGIN
842 NULL;
843 END;
844 
845 -- Start of Comments
846 --
847 -- Item level validation procedures
848 --
849 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
850 --                  For create: G_CREATE, for update: G_UPDATE
851 -- Note: 1. This is automated generated item level validation procedure.
852 --          The actual validation detail is needed to be added.
853 --
854 -- End of Comments
855 
856 PROCEDURE Validate_PRICE_ADJUSTMENT_ID (
857     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
861     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
858     P_Validation_mode            IN   VARCHAR2,
859     P_PRICE_ADJUSTMENT_ID                IN   NUMBER,
860     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
862     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
863     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
864     )
865 IS
866 BEGIN
867 NULL;
868 END;
869 
870 -- Start of Comments
871 --
872 -- Item level validation procedures
873 --
874 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
875 --                  For create: G_CREATE, for update: G_UPDATE
876 -- Note: 1. This is automated generated item level validation procedure.
877 --          The actual validation detail is needed to be added.
878 --
879 -- End of Comments
880 
881 PROCEDURE Validate_RLTD_PRICE_ADJ_ID (
882     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
883     P_Validation_mode            IN   VARCHAR2,
884     P_RLTD_PRICE_ADJ_ID                IN   NUMBER,
885     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY /* file.sql.39 change */      AS_UTILITY_PVT.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
886     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
887     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
888     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
889     )
890 IS
891 BEGIN
892 NULL;
893 END;
894 
895 -- Start of Comments
896 --
897 -- Record level validation procedures
898 --
899 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
900 --                  For create: G_CREATE, for update: G_UPDATE
901 -- Note: 1. This is automated generated item level validation procedure.
902 --          The actual validation detail is needed to be added.
906 PROCEDURE Validate_PRICE_ADJ_RLTSHIP_rec(
903 --       2. Developer can manually added inter-field level validation.
904 -- End of Comments
905 
907     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
908     P_Validation_mode            IN   VARCHAR2,
909     P_PRICE_ADJ_RLTSHIP_Rec     IN    ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type,
910     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
911     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
912     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
913     )
914 IS
915 BEGIN
916 NULL;
917 END;
918 
919 -- Start of Comments
920 --
921 --  validation procedures
922 --
923 -- p_validation_mode is a constant defined in AS_UTILITY_PVT package
924 --                  For create: G_CREATE, for update: G_UPDATE
925 -- Note: 1. This is automated generated item level validation procedure.
926 --          The actual validation detail is needed to be added.
927 --       2. We can also validate table instead of record. There will be an option for user to choose.
928 -- End of Comments
929 
930 PROCEDURE Validate_price_adj_rltship(
931     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
932     P_Validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
933     P_Validation_mode            IN   VARCHAR2,
934     P_PRICE_ADJ_RLTSHIP_Rec     IN    ASO_QUOTE_PUB.PRICE_ADJ_RLTSHIP_Rec_Type,
935     X_Return_Status              OUT NOCOPY /* file.sql.39 change */   VARCHAR2,
936     X_Msg_Count                  OUT NOCOPY /* file.sql.39 change */   NUMBER,
937     X_Msg_Data                   OUT NOCOPY /* file.sql.39 change */   VARCHAR2
938     )
939 IS
940 BEGIN
941 NULL;
942 END;
943 
944 
945 End ASO_PRICE_ADJ_RLTSHIP_PVT;