[Home] [Help]
PACKAGE BODY: APPS.ASO_HEADER_RLTSHIP_PVT
Source
1 PACKAGE BODY ASO_HEADER_RLTSHIP_PVT as
2 /* $Header: asovhedb.pls 120.1 2005/06/29 12:41:41 appldev ship $ */
3 -- Start of Comments
4 -- Package name : ASO_HEADER_RLTSHIP_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_HEADER_RLTSHIP_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asovhedb.pls';
13 PROCEDURE Create_header_rltship(
14 P_Api_Version_Number IN NUMBER,
15 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
16 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
17 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
18 P_HEADER_RLTSHIP_Rec IN ASO_QUOTE_PUB.HEADER_RLTSHIP_Rec_Type := ASO_QUOTE_PUB.G_MISS_HEADER_RLTSHIP_REC,
19 X_HEADER_RELATIONSHIP_ID OUT NOCOPY /* file.sql.39 change */ NUMBER,
20 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
21 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
22 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
23 )
24 IS
25 l_api_name CONSTANT VARCHAR2(30) := 'Create_header_rltship';
26 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
27 G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
28 l_api_version_number CONSTANT NUMBER := 1.0;
29 l_return_status_full VARCHAR2(1);
30 --l_identity_sales_member_rec ASO_SALES_MEMBER_PUB.Sales_member_rec_Type;
31 BEGIN
32 -- Standard Start of API savepoint
33 SAVEPOINT CREATE_HEADER_RLTSHIP_PVT;
34
35 -- Standard call to check for call compatibility.
36 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
37 p_api_version_number,
38 l_api_name,
39 G_PKG_NAME)
40 THEN
41 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
42 END IF;
43
44
45 -- Initialize message list if p_init_msg_list is set to TRUE.
46 IF FND_API.to_Boolean( p_init_msg_list )
47 THEN
48 FND_MSG_PUB.initialize;
49 END IF;
50
51
52
53 -- Initialize API return status to SUCCESS
54 x_return_status := FND_API.G_RET_STS_SUCCESS;
55
56 --
57 -- API body
58 --
59
60 -- ******************************************************************
61 -- Validate Environment
62 -- ******************************************************************
63 IF FND_GLOBAL.User_Id IS NULL
64 THEN
65 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
66 THEN
67 FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
68 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
69 FND_MSG_PUB.ADD;
70 END IF;
71 RAISE FND_API.G_EXC_ERROR;
72 END IF;
73
74
75
76 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
77 THEN
78
79 -- Invoke validation procedures
80 Validate_header_rltship(
81 p_init_msg_list => FND_API.G_FALSE,
82 p_validation_level => p_validation_level,
83 p_validation_mode => ASO_UTILITY_PVT.G_CREATE,
84 P_HEADER_RLTSHIP_Rec => P_HEADER_RLTSHIP_Rec,
85 x_return_status => x_return_status,
86 x_msg_count => x_msg_count,
87 x_msg_data => x_msg_data);
88
89 END IF;
90
91 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
92 RAISE FND_API.G_EXC_ERROR;
93 END IF;
94
95
96 -- Invoke table handler(ASO_HEADER_RELATIONSHIPS_PKG.Insert_Row)
97 ASO_HEADER_RELATIONSHIPS_PKG.Insert_Row(
98 px_HEADER_RELATIONSHIP_ID => x_HEADER_RELATIONSHIP_ID,
99 p_CREATION_DATE => SYSDATE,
100 p_CREATED_BY => G_USER_ID,
101 p_LAST_UPDATE_DATE => SYSDATE,
102 p_LAST_UPDATED_BY => G_USER_ID,
103 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
104 p_REQUEST_ID => p_HEADER_RLTSHIP_rec.REQUEST_ID,
105 p_PROGRAM_APPLICATION_ID => p_HEADER_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
106 p_PROGRAM_ID => p_HEADER_RLTSHIP_rec.PROGRAM_ID,
107 p_PROGRAM_UPDATE_DATE => p_HEADER_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
108 p_QUOTE_HEADER_ID => p_HEADER_RLTSHIP_rec.QUOTE_HEADER_ID,
109 p_RELATED_HEADER_ID => p_HEADER_RLTSHIP_rec.RELATED_HEADER_ID,
110 p_RELATIONSHIP_TYPE_CODE => p_HEADER_RLTSHIP_rec.RELATIONAL_TYPE_CODE,
111 p_RECIPROCAL_FLAG => p_HEADER_RLTSHIP_rec.RECIPROCAL_FLAG,
112 p_OBJECT_VERSION_NUMBER => p_HEADER_RLTSHIP_rec.OBJECT_VERSION_NUMBER
113 );
114
115 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
116 RAISE FND_API.G_EXC_ERROR;
117 END IF;
118
119 --
120 -- End of API body
121 --
122
123 -- Standard check for p_commit
124 IF FND_API.to_Boolean( p_commit )
125 THEN
126 COMMIT WORK;
127 END IF;
128
129
130 -- Standard call to get message count and if count is 1, get message info.
131 FND_MSG_PUB.Count_And_Get
132 ( p_count => x_msg_count,
133 p_data => x_msg_data
134 );
135 EXCEPTION
136 WHEN FND_API.G_EXC_ERROR THEN
137 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
138 P_API_NAME => L_API_NAME
139 ,P_PKG_NAME => G_PKG_NAME
140 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
141 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
142 ,X_MSG_COUNT => X_MSG_COUNT
143 ,X_MSG_DATA => X_MSG_DATA
144 ,X_RETURN_STATUS => X_RETURN_STATUS);
145
146 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
147 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
148 P_API_NAME => L_API_NAME
149 ,P_PKG_NAME => G_PKG_NAME
150 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
151 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
152 ,X_MSG_COUNT => X_MSG_COUNT
153 ,X_MSG_DATA => X_MSG_DATA
154 ,X_RETURN_STATUS => X_RETURN_STATUS);
155
156 WHEN OTHERS THEN
157 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
158 P_API_NAME => L_API_NAME
159 ,P_PKG_NAME => G_PKG_NAME
160 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
161 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
162 ,X_MSG_COUNT => X_MSG_COUNT
163 ,X_MSG_DATA => X_MSG_DATA
164 ,X_RETURN_STATUS => X_RETURN_STATUS);
165
166 End Create_header_rltship;
167
168 PROCEDURE Update_header_rltship(
169 P_Api_Version_Number IN NUMBER,
170 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
171 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
172 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
173 P_HEADER_RLTSHIP_Rec IN ASO_quote_PUB.HEADER_RLTSHIP_Rec_Type,
174 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
175 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
176 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
177 )
178 IS
179
180 G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
181 G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
182 Cursor C_Get_header_rltship(P_HEADER_RELATIONSHIP_ID Number) IS
183 Select --rowid,
184 HEADER_RELATIONSHIP_ID,
185 CREATION_DATE,
186 CREATED_BY,
187 LAST_UPDATE_DATE,
188 LAST_UPDATED_BY,
189 LAST_UPDATE_LOGIN,
190 REQUEST_ID,
191 PROGRAM_APPLICATION_ID,
192 PROGRAM_ID,
193 PROGRAM_UPDATE_DATE,
194 QUOTE_HEADER_ID,
195 RELATED_HEADER_ID,
196 RELATIONSHIP_TYPE_CODE,
197 RECIPROCAL_FLAG
198 From ASO_HEADER_RELATIONSHIPS
199 where HEADER_RELATIONSHIP_ID = P_HEADER_RELATIONSHIP_ID;
200
201 l_api_name CONSTANT VARCHAR2(30) := 'Update_header_rltship';
202 l_api_version_number CONSTANT NUMBER := 1.0;
203 -- Local Variables
204 --l_identity_sales_member_rec ASO_SALES_MEMBER_PUB.Sales_member_rec_Type;
205 l_ref_HEADER_RLTSHIP_rec ASO_quote_PUB.HEADER_RLTSHIP_Rec_Type;
206 l_tar_HEADER_RLTSHIP_rec ASO_quote_PUB.HEADER_RLTSHIP_Rec_Type := P_HEADER_RLTSHIP_Rec;
207 l_rowid ROWID;
208 BEGIN
209 -- Standard Start of API savepoint
210 SAVEPOINT UPDATE_HEADER_RLTSHIP_PVT;
211
212 -- Standard call to check for call compatibility.
213 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
214 p_api_version_number,
215 l_api_name,
216 G_PKG_NAME)
217 THEN
218 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
219 END IF;
220
221
222 -- Initialize message list if p_init_msg_list is set to TRUE.
223 IF FND_API.to_Boolean( p_init_msg_list )
224 THEN
225 FND_MSG_PUB.initialize;
226 END IF;
227
228
229
230 -- Initialize API return status to SUCCESS
231 x_return_status := FND_API.G_RET_STS_SUCCESS;
232
233 --
234 -- Api body
235 --
236
237
238 Open C_Get_header_rltship( l_tar_HEADER_RLTSHIP_rec.HEADER_RELATIONSHIP_ID);
239
240 Fetch C_Get_header_rltship into
241 -- l_rowid,
242 l_ref_HEADER_RLTSHIP_rec.HEADER_RELATIONSHIP_ID,
243 l_ref_HEADER_RLTSHIP_rec.CREATION_DATE,
244 l_ref_HEADER_RLTSHIP_rec.CREATED_BY,
245 l_ref_HEADER_RLTSHIP_rec.LAST_UPDATE_DATE,
246 l_ref_HEADER_RLTSHIP_rec.LAST_UPDATED_BY,
247 l_ref_HEADER_RLTSHIP_rec.LAST_UPDATE_LOGIN,
248 l_ref_HEADER_RLTSHIP_rec.REQUEST_ID,
249 l_ref_HEADER_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
250 l_ref_HEADER_RLTSHIP_rec.PROGRAM_ID,
251 l_ref_HEADER_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
252 l_ref_HEADER_RLTSHIP_rec.QUOTE_HEADER_ID,
253 l_ref_HEADER_RLTSHIP_rec.RELATED_HEADER_ID,
254 l_ref_HEADER_RLTSHIP_rec.RELATIONAL_TYPE_CODE,
255 l_ref_HEADER_RLTSHIP_rec.RECIPROCAL_FLAG;
256
257 If ( C_Get_header_rltship%NOTFOUND) Then
258 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
259 THEN
260 FND_MESSAGE.Set_Name('ASO', 'API_MISSING_UPDATE_TARGET');
261 FND_MESSAGE.Set_Token ('INFO', 'header_rltship', FALSE);
262 FND_MSG_PUB.Add;
263 END IF;
264 raise FND_API.G_EXC_ERROR;
265 END IF;
266 Close C_Get_header_rltship;
267
268 If (l_tar_HEADER_RLTSHIP_rec.last_update_date is NULL or
269 l_tar_HEADER_RLTSHIP_rec.last_update_date = FND_API.G_MISS_Date ) Then
270 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
271 THEN
272 FND_MESSAGE.Set_Name('ASO', 'API_MISSING_ID');
273 FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
274 FND_MSG_PUB.ADD;
275 END IF;
276 raise FND_API.G_EXC_ERROR;
277 End if;
278 -- Check Whether record has been changed by someone else
279 If (l_tar_HEADER_RLTSHIP_rec.last_update_date <> l_ref_HEADER_RLTSHIP_rec.last_update_date) Then
280 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
281 THEN
282 FND_MESSAGE.Set_Name('ASO', 'API_RECORD_CHANGED');
283 FND_MESSAGE.Set_Token('INFO', 'header_rltship', FALSE);
284 FND_MSG_PUB.ADD;
285 END IF;
286 raise FND_API.G_EXC_ERROR;
287 End if;
288
289 -- Invoke table handler(ASO_HEADER_RELATIONSHIPS_PKG.Update_Row)
290 ASO_HEADER_RELATIONSHIPS_PKG.Update_Row(
291 p_HEADER_RELATIONSHIP_ID => p_HEADER_RLTSHIP_rec.HEADER_RELATIONSHIP_ID,
292 p_CREATION_DATE => SYSDATE,
293 p_CREATED_BY => G_USER_ID,
294 p_LAST_UPDATE_DATE => SYSDATE,
295 p_LAST_UPDATED_BY => G_USER_ID,
296 p_LAST_UPDATE_LOGIN => G_LOGIN_ID,
297 p_REQUEST_ID => p_HEADER_RLTSHIP_rec.REQUEST_ID,
298 p_PROGRAM_APPLICATION_ID => p_HEADER_RLTSHIP_rec.PROGRAM_APPLICATION_ID,
299 p_PROGRAM_ID => p_HEADER_RLTSHIP_rec.PROGRAM_ID,
300 p_PROGRAM_UPDATE_DATE => p_HEADER_RLTSHIP_rec.PROGRAM_UPDATE_DATE,
301 p_QUOTE_HEADER_ID => p_HEADER_RLTSHIP_rec.QUOTE_HEADER_ID,
302 p_RELATED_HEADER_ID => p_HEADER_RLTSHIP_rec.RELATED_HEADER_ID,
303 p_RELATIONSHIP_TYPE_CODE => p_HEADER_RLTSHIP_rec.RELATIONAL_TYPE_CODE,
304 p_RECIPROCAL_FLAG => p_HEADER_RLTSHIP_rec.RECIPROCAL_FLAG,
305 P_OBJECT_VERSION_NUMBER => p_HEADER_RLTSHIP_rec.OBJECT_VERSION_NUMBER
306 );
307 --
308 -- End of API body.
309 --
310
311 -- Standard check for p_commit
312 IF FND_API.to_Boolean( p_commit )
313 THEN
314 COMMIT WORK;
315 END IF;
316
317
318
319 -- Standard call to get message count and if count is 1, get message info.
320 FND_MSG_PUB.Count_And_Get
321 ( p_count => x_msg_count,
322 p_data => x_msg_data
323 );
324 EXCEPTION
325 WHEN FND_API.G_EXC_ERROR THEN
326 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
327 P_API_NAME => L_API_NAME
328 ,P_PKG_NAME => G_PKG_NAME
329 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
330 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
331 ,X_MSG_COUNT => X_MSG_COUNT
332 ,X_MSG_DATA => X_MSG_DATA
333 ,X_RETURN_STATUS => X_RETURN_STATUS);
334
335 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
336 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
337 P_API_NAME => L_API_NAME
338 ,P_PKG_NAME => G_PKG_NAME
339 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
340 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
341 ,X_MSG_COUNT => X_MSG_COUNT
342 ,X_MSG_DATA => X_MSG_DATA
343 ,X_RETURN_STATUS => X_RETURN_STATUS);
344
345 WHEN OTHERS THEN
346 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
347 P_API_NAME => L_API_NAME
348 ,P_PKG_NAME => G_PKG_NAME
349 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
350 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
351 ,X_MSG_COUNT => X_MSG_COUNT
352 ,X_MSG_DATA => X_MSG_DATA
353 ,X_RETURN_STATUS => X_RETURN_STATUS);
354 End Update_header_rltship;
355
356
357
358 -- *******************************************************
359 -- Start of Comments
360 -- *******************************************************
361 -- API Name: Delete_header_rltship
362 -- Type : Private
363 -- Pre-Req :
364 -- Parameters:
365 -- IN
366 -- p_api_version_number IN NUMBER Required
367 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
368 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
369 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
370 -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
371 -- P_HEADER_RLTSHIP_Rec IN HEADER_RLTSHIP_Rec_Type Required
372 --
373 -- OUT NOCOPY /* file.sql.39 change */ :
374 -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 -- x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
376 -- x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
377 PROCEDURE Delete_header_rltship(
378 P_Api_Version_Number IN NUMBER,
379 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
380 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
381 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
382 P_HEADER_RLTSHIP_id IN NUMBER,
383 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
384 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
385 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 )
387 IS
388 l_api_name CONSTANT VARCHAR2(30) := 'Delete_header_rltship';
389 l_api_version_number CONSTANT NUMBER := 1.0;
390 BEGIN
391 -- Standard Start of API savepoint
392 SAVEPOINT DELETE_HEADER_RLTSHIP_PVT;
393
394 -- Standard call to check for call compatibility.
395 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
396 p_api_version_number,
397 l_api_name,
398 G_PKG_NAME)
399 THEN
400 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
401 END IF;
402
403
404 -- Initialize message list if p_init_msg_list is set to TRUE.
405 IF FND_API.to_Boolean( p_init_msg_list )
406 THEN
407 FND_MSG_PUB.initialize;
408 END IF;
409
410 -- Initialize API return status to SUCCESS
411 x_return_status := FND_API.G_RET_STS_SUCCESS;
412
413 --
414 -- Api body
415 --
416
417 -- Invoke table handler(ASO_HEADER_RELATIONSHIPS_PKG.Delete_Row)
418 ASO_HEADER_RELATIONSHIPS_PKG.Delete_Row(
419 p_HEADER_RELATIONSHIP_ID => p_HEADER_RLTSHIP_ID);
420 --
421 -- End of API body
422 --
423
424 -- Standard check for p_commit
425 IF FND_API.to_Boolean( p_commit )
426 THEN
427 COMMIT WORK;
428 END IF;
429
430
431
432 -- Standard call to get message count and if count is 1, get message info.
433 FND_MSG_PUB.Count_And_Get
434 ( p_count => x_msg_count,
435 p_data => x_msg_data
436 );
437
438
439 EXCEPTION
440 WHEN FND_API.G_EXC_ERROR THEN
441 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
442 P_API_NAME => L_API_NAME
443 ,P_PKG_NAME => G_PKG_NAME
444 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
445 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
446 ,X_MSG_COUNT => X_MSG_COUNT
447 ,X_MSG_DATA => X_MSG_DATA
448 ,X_RETURN_STATUS => X_RETURN_STATUS);
449
450 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
451 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
452 P_API_NAME => L_API_NAME
453 ,P_PKG_NAME => G_PKG_NAME
454 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
455 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
456 ,X_MSG_COUNT => X_MSG_COUNT
457 ,X_MSG_DATA => X_MSG_DATA
458 ,X_RETURN_STATUS => X_RETURN_STATUS);
459
460 WHEN OTHERS THEN
461 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
462 P_API_NAME => L_API_NAME
463 ,P_PKG_NAME => G_PKG_NAME
464 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
465 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
466 ,X_MSG_COUNT => X_MSG_COUNT
467 ,X_MSG_DATA => X_MSG_DATA
468 ,X_RETURN_STATUS => X_RETURN_STATUS);
469 End Delete_header_rltship;
470
471 PROCEDURE Delete_header_rltship(
472 P_Api_Version_Number IN NUMBER,
473 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
474 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
475 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
476 P_HEADER_id IN NUMBER,
477 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
478 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
479 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
480 )
481 IS
482 CURSOR related_headers(p_header_id NUMBER) IS
483 SELECT header_relationship_id FROM
484 ASO_HEADER_RELATIONSHIPS
485 WHERE QUOTE_HEADER_ID = p_header_id
486 OR RELATED_HEADER_ID = p_header_id;
487
488
489 l_api_name CONSTANT VARCHAR2(30) := 'Delete_header_rltship';
490 l_api_version_number CONSTANT NUMBER := 1.0;
491 BEGIN
492 -- Standard Start of API savepoint
493 SAVEPOINT DELETE_HEADER_RLTSHIP_PVT;
494
495 -- Standard call to check for call compatibility.
496 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
497 p_api_version_number,
498 l_api_name,
499 G_PKG_NAME)
500 THEN
501 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
502 END IF;
503
504
505 -- Initialize message list if p_init_msg_list is set to TRUE.
506 IF FND_API.to_Boolean( p_init_msg_list )
507 THEN
508 FND_MSG_PUB.initialize;
509 END IF;
510
511
512 -- Initialize API return status to SUCCESS
513 x_return_status := FND_API.G_RET_STS_SUCCESS;
514
515 --
516 -- Api body
517 --
518 FOR i in related_headers(p_header_id) LOOP
519 Delete_header_rltship(
520 P_Api_Version_Number => 1.0,
521 p_validation_level => p_validation_level,
522 P_HEADER_RLTSHIP_id => i.header_relationship_id,
523 X_Return_Status => x_return_status,
524 X_Msg_Count => x_msg_count,
525 X_Msg_Data => x_msg_data
526 ) ;
527 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
528 RAISE FND_API.G_EXC_ERROR;
529 END IF;
530 END LOOP;
531
532 -- Standard check for p_commit
533 IF FND_API.to_Boolean( p_commit )
534 THEN
535 COMMIT WORK;
536 END IF;
537
538
539 -- Standard call to get message count and if count is 1, get message info.
540 FND_MSG_PUB.Count_And_Get
541 ( p_count => x_msg_count,
542 p_data => x_msg_data
543 );
544
545 EXCEPTION
546 WHEN FND_API.G_EXC_ERROR THEN
547 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
548 P_API_NAME => L_API_NAME
549 ,P_PKG_NAME => G_PKG_NAME
550 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
551 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
552 ,X_MSG_COUNT => X_MSG_COUNT
553 ,X_MSG_DATA => X_MSG_DATA
554 ,X_RETURN_STATUS => X_RETURN_STATUS);
555
556 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
557 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
558 P_API_NAME => L_API_NAME
559 ,P_PKG_NAME => G_PKG_NAME
560 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
561 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
562 ,X_MSG_COUNT => X_MSG_COUNT
563 ,X_MSG_DATA => X_MSG_DATA
564 ,X_RETURN_STATUS => X_RETURN_STATUS);
565
566 WHEN OTHERS THEN
567 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
568 P_API_NAME => L_API_NAME
569 ,P_PKG_NAME => G_PKG_NAME
570 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
571 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PVT
572 ,X_MSG_COUNT => X_MSG_COUNT
573 ,X_MSG_DATA => X_MSG_DATA
574 ,X_RETURN_STATUS => X_RETURN_STATUS);
575 End Delete_header_rltship;
576
577
578 PROCEDURE Validate_HEADER_RLTSHIP_ID (
579 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
580 P_Validation_mode IN VARCHAR2,
581 P_HEADER_RELATIONSHIP_ID IN NUMBER,
582 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
583 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
584 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
585 )
586 IS
587 BEGIN
588
589 -- Initialize message list if p_init_msg_list is set to TRUE.
590 IF FND_API.to_Boolean( p_init_msg_list )
591 THEN
592 FND_MSG_PUB.initialize;
593 END IF;
594
595
596 -- Initialize API return status to SUCCESS
597 x_return_status := FND_API.G_RET_STS_SUCCESS;
598
599 -- validate NOT NULL column
600 IF(p_HEADER_RELATIONSHIP_ID is NULL)
601 THEN
602 x_return_status := FND_API.G_RET_STS_ERROR;
603 END IF;
604
605
606 -- Standard call to get message count and if count is 1, get message info.
607 FND_MSG_PUB.Count_And_Get
608 ( p_count => x_msg_count,
609 p_data => x_msg_data
610 );
611
612 END Validate_HEADER_RLTSHIP_ID;
613
614 PROCEDURE Validate_REQUEST_ID (
615 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
616 P_Validation_mode IN VARCHAR2,
617 P_REQUEST_ID IN NUMBER,
618 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
619 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
620 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
621 )
622 IS
623 BEGIN
624
625 -- Initialize message list if p_init_msg_list is set to TRUE.
626 IF FND_API.to_Boolean( p_init_msg_list )
627 THEN
628 FND_MSG_PUB.initialize;
629 END IF;
630
631
632 -- Initialize API return status to SUCCESS
633 x_return_status := FND_API.G_RET_STS_SUCCESS;
634
635 -- Standard call to get message count and if count is 1, get message info.
636 FND_MSG_PUB.Count_And_Get
637 ( p_count => x_msg_count,
638 p_data => x_msg_data
639 );
640
641 END Validate_REQUEST_ID;
642
643 PROCEDURE Validate_PROGRAM_APPL_ID (
644 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
645 P_Validation_mode IN VARCHAR2,
646 P_PROGRAM_APPLICATION_ID IN NUMBER,
647 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
648 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
649 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
650 )
651
652 IS
653 BEGIN
654
655 -- Initialize message list if p_init_msg_list is set to TRUE.
656 IF FND_API.to_Boolean( p_init_msg_list )
657 THEN
658 FND_MSG_PUB.initialize;
659 END IF;
660
661
662 -- Initialize API return status to SUCCESS
663 x_return_status := FND_API.G_RET_STS_SUCCESS;
664
665 -- Standard call to get message count and if count is 1, get message info.
666 FND_MSG_PUB.Count_And_Get
667 ( p_count => x_msg_count,
668 p_data => x_msg_data
669 );
670
671 END Validate_PROGRAM_APPL_ID;
672
673 PROCEDURE Validate_PROGRAM_ID (
674 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
675 P_Validation_mode IN VARCHAR2,
676 P_PROGRAM_ID IN NUMBER,
677 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
678 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
679 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
680 )
681 IS
682 BEGIN
683
684 -- Initialize message list if p_init_msg_list is set to TRUE.
685 IF FND_API.to_Boolean( p_init_msg_list )
686 THEN
687 FND_MSG_PUB.initialize;
688 END IF;
689
690
691 -- Initialize API return status to SUCCESS
692 x_return_status := FND_API.G_RET_STS_SUCCESS;
693
694 -- Standard call to get message count and if count is 1, get message info.
695 FND_MSG_PUB.Count_And_Get
696 ( p_count => x_msg_count,
697 p_data => x_msg_data
698 );
699
700 END Validate_PROGRAM_ID;
701
702 PROCEDURE Validate_PROGRAM_UPDATE_DATE (
703 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
704 P_Validation_mode IN VARCHAR2,
705 P_PROGRAM_UPDATE_DATE IN DATE,
706 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
707 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
708 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
709 )
710 IS
711 BEGIN
712
713 -- Initialize message list if p_init_msg_list is set to TRUE.
714 IF FND_API.to_Boolean( p_init_msg_list )
715 THEN
716 FND_MSG_PUB.initialize;
717 END IF;
718
719
720 -- Initialize API return status to SUCCESS
721 x_return_status := FND_API.G_RET_STS_SUCCESS;
722
723
724 -- Standard call to get message count and if count is 1, get message info.
725 FND_MSG_PUB.Count_And_Get
726 ( p_count => x_msg_count,
727 p_data => x_msg_data
728 );
729
730 END Validate_PROGRAM_UPDATE_DATE;
731
732 PROCEDURE Validate_QUOTE_HEADER_ID (
733 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
734 P_Validation_mode IN VARCHAR2,
735 P_QUOTE_HEADER_ID IN NUMBER,
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 l_count NUMBER;
742 BEGIN
743
744 -- Initialize message list if p_init_msg_list is set to TRUE.
745 IF FND_API.to_Boolean( p_init_msg_list )
746 THEN
747 FND_MSG_PUB.initialize;
748 END IF;
749
750
751 -- Initialize API return status to SUCCESS
752 x_return_status := FND_API.G_RET_STS_SUCCESS;
753
754 -- Standard call to get message count and if count is 1, get message info.
755 FND_MSG_PUB.Count_And_Get
756 ( p_count => x_msg_count,
757 p_data => x_msg_data
758 );
759
760 END Validate_QUOTE_HEADER_ID;
761
762 PROCEDURE Validate_RELATED_HEADER_ID (
763 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
764 P_Validation_mode IN VARCHAR2,
765 P_RELATED_HEADER_ID IN NUMBER,
766 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
767 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
768 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
769 )
770 IS
771 l_count NUMBER;
772 BEGIN
773
774 -- Initialize message list if p_init_msg_list is set to TRUE.
775 IF FND_API.to_Boolean( p_init_msg_list )
776 THEN
777 FND_MSG_PUB.initialize;
778 END IF;
779
780
781 -- Initialize API return status to SUCCESS
782 x_return_status := FND_API.G_RET_STS_SUCCESS;
783 FND_MSG_PUB.Count_And_Get
784 ( p_count => x_msg_count,
785 p_data => x_msg_data
786 );
787
788
789
790 END Validate_RELATED_HEADER_ID;
791
792 PROCEDURE Validate_RLTSHIP_TYPE_CODE (
793 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
794 P_Validation_mode IN VARCHAR2,
795 P_RELATIONSHIP_TYPE_CODE IN VARCHAR2,
796 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
797 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
798 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
799 )
800 IS
801 l_count NUMBER;
802 BEGIN
803
804 -- Initialize message list if p_init_msg_list is set to TRUE.
805 IF FND_API.to_Boolean( p_init_msg_list )
806 THEN
807 FND_MSG_PUB.initialize;
808 END IF;
809
810
811 -- Initialize API return status to SUCCESS
812 x_return_status := FND_API.G_RET_STS_SUCCESS;
813
814 -- validate NOT NULL column
815 IF(p_RELATIONSHIP_TYPE_CODE is NULL)
816 THEN
817 x_return_status := FND_API.G_RET_STS_ERROR;
818 END IF;
819
820 IF((p_validation_mode = ASO_UTILITY_PVT.G_CREATE) OR (p_validation_mode = ASO_UTILITY_PVT.G_UPDATE and p_RELATIONSHIP_TYPE_CODE <> FND_API.G_MISS_CHAR))
821 THEN
822 -- Hint: Validate data
823 -- IF p_RELATIONSHIP_TYPE_CODE is not NULL and p_RELATIONSHIP_TYPE_CODE <> G_MISS_CHAR
824 -- verify if data is valid
825 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
826 NULL;
827
828
829 select count(*) into l_count
830 from aso_lookups
831 where lookup_type = 'ASO_HEADER_RELATIONSHIP_TYPE'
832 and lookup_code = p_RELATIONSHIP_TYPE_CODE;
833
834 if l_count < 1 then
835 x_return_status := FND_API.G_RET_STS_ERROR;
836 end if;
837 END IF;
838 -- Standard call to get message count and if count is 1, get message info.
839 FND_MSG_PUB.Count_And_Get
840 ( p_count => x_msg_count,
841 p_data => x_msg_data
842 );
843
844 END Validate_RLTSHIP_TYPE_CODE;
845
846 PROCEDURE Validate_RECIPROCAL_FLAG (
847 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
848 P_Validation_mode IN VARCHAR2,
849 P_RECIPROCAL_FLAG IN VARCHAR2,
850 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
851 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
852 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
853 )
854 IS
855 BEGIN
856
857 -- Initialize message list if p_init_msg_list is set to TRUE.
858 IF FND_API.to_Boolean( p_init_msg_list )
859 THEN
860 FND_MSG_PUB.initialize;
861 END IF;
862
863
864 -- Initialize API return status to SUCCESS
865 x_return_status := FND_API.G_RET_STS_SUCCESS;
866
867 -- Standard call to get message count and if count is 1, get message info.
868 FND_MSG_PUB.Count_And_Get
869 ( p_count => x_msg_count,
870 p_data => x_msg_data
871 );
872
873 END Validate_RECIPROCAL_FLAG;
874
875 PROCEDURE Validate_HEADER_RLTSHIP_rec(
876 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
877 P_Validation_mode IN VARCHAR2,
878 P_HEADER_RLTSHIP_Rec IN ASO_QUOTE_PUB.HEADER_RLTSHIP_Rec_Type,
879 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
880 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
881 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
882 )
883 IS
884 BEGIN
885
886 -- Initialize message list if p_init_msg_list is set to TRUE.
887 IF FND_API.to_Boolean( p_init_msg_list )
888 THEN
889 FND_MSG_PUB.initialize;
890 END IF;
891
892
893 -- Initialize API return status to SUCCESS
894 x_return_status := FND_API.G_RET_STS_SUCCESS;
895
896
897 -- Standard call to get message count and if count is 1, get message info.
898 FND_MSG_PUB.Count_And_Get
899 ( p_count => x_msg_count,
900 p_data => x_msg_data
901 );
902
903 END Validate_HEADER_RLTSHIP_Rec;
904
905 PROCEDURE Validate_header_rltship(
906 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
907 P_Validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
908 P_Validation_mode IN VARCHAR2,
909 P_HEADER_RLTSHIP_Rec IN ASO_quote_PUB.HEADER_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 l_api_name CONSTANT VARCHAR2(30) := 'Validate_header_rltship';
916 BEGIN
917 -- Initialize API return status to SUCCESS
918 x_return_status := FND_API.G_RET_STS_SUCCESS;
919
920 Validate_QUOTE_HEADER_ID(
921 p_init_msg_list => FND_API.G_FALSE,
922 p_validation_mode => p_validation_mode,
923 p_QUOTE_HEADER_ID => P_HEADER_RLTSHIP_Rec.QUOTE_HEADER_ID,
924 -- 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.
925 x_return_status => x_return_status,
926 x_msg_count => x_msg_count,
927 x_msg_data => x_msg_data);
928 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
929 raise FND_API.G_EXC_ERROR;
930 END IF;
931
932 Validate_RELATED_HEADER_ID(
933 p_init_msg_list => FND_API.G_FALSE,
934 p_validation_mode => p_validation_mode,
935 p_RELATED_HEADER_ID => P_HEADER_RLTSHIP_Rec.RELATED_HEADER_ID,
936 -- 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.
937 x_return_status => x_return_status,
938 x_msg_count => x_msg_count,
939 x_msg_data => x_msg_data);
940 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
941 raise FND_API.G_EXC_ERROR;
942 END IF;
943
944 Validate_RLTSHIP_TYPE_CODE(
945 p_init_msg_list => FND_API.G_FALSE,
946 p_validation_mode => p_validation_mode,
947 p_RELATIONSHIP_TYPE_CODE => P_HEADER_RLTSHIP_Rec.RELATIONAL_TYPE_CODE,
948 -- 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.
949 x_return_status => x_return_status,
950 x_msg_count => x_msg_count,
951 x_msg_data => x_msg_data);
952 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
953 raise FND_API.G_EXC_ERROR;
954 END IF;
955
956 Validate_RECIPROCAL_FLAG(
957 p_init_msg_list => FND_API.G_FALSE,
958 p_validation_mode => p_validation_mode,
959 p_RECIPROCAL_FLAG => P_HEADER_RLTSHIP_Rec.RECIPROCAL_FLAG,
960 -- 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.
961 x_return_status => x_return_status,
962 x_msg_count => x_msg_count,
963 x_msg_data => x_msg_data);
964 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
965 raise FND_API.G_EXC_ERROR;
966 END IF;
967
968 END Validate_header_rltship;
969
970 End ASO_HEADER_RLTSHIP_PVT;