6: -- Function : Create Matching Lines
7: -- Pre-reqs : None
8: -- Parameters :
9: -- IN : p_api_version IN NUMBER
10: -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
11: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
12: -- p_matches_int_tbl IN OUT NOCOPY inl_matches_type_tbl
13: --
14: -- OUT : x_return_status OUT NOCOPY VARCHAR2
7: -- Pre-reqs : None
8: -- Parameters :
9: -- IN : p_api_version IN NUMBER
10: -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
11: -- p_commit IN VARCHAR2 := FND_API.G_FALSE
12: -- p_matches_int_tbl IN OUT NOCOPY inl_matches_type_tbl
13: --
14: -- OUT : x_return_status OUT NOCOPY VARCHAR2
15: -- x_msg_count OUT NOCOPY NUMBER
19: --
20: -- Notes :
21: PROCEDURE Create_MatchIntLines(
22: p_api_version IN NUMBER,
23: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
24: p_commit IN VARCHAR2 := FND_API.G_FALSE,
25: p_matches_int_tbl IN OUT NOCOPY inl_matches_int_type_tbl,
26: x_return_status OUT NOCOPY VARCHAR2,
27: x_msg_count OUT NOCOPY NUMBER,
20: -- Notes :
21: PROCEDURE Create_MatchIntLines(
22: p_api_version IN NUMBER,
23: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
24: p_commit IN VARCHAR2 := FND_API.G_FALSE,
25: p_matches_int_tbl IN OUT NOCOPY inl_matches_int_type_tbl,
26: x_return_status OUT NOCOPY VARCHAR2,
27: x_msg_count OUT NOCOPY NUMBER,
28: x_msg_data OUT NOCOPY VARCHAR2
49: -- Standard Start of API savepoint
50: SAVEPOINT Create_MatchIntLines_GRP;
51:
52: -- Initialize message list if p_init_msg_list is set to TRUE.
53: IF FND_API.to_Boolean( p_init_msg_list ) THEN
54: FND_MSG_PUB.initialize;
55: END IF;
56:
57: -- Check for call compatibility.
54: FND_MSG_PUB.initialize;
55: END IF;
56:
57: -- Check for call compatibility.
58: IF NOT FND_API.Compatible_API_Call (
59: p_current_version_number => l_api_version,
60: p_caller_version_number => p_api_version,
61: p_api_name => l_api_name,
62: p_pkg_name => g_pkg_name)
60: p_caller_version_number => p_api_version,
61: p_api_name => l_api_name,
62: p_pkg_name => g_pkg_name)
63: THEN
64: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65: END IF;
66:
67: -- Initialize API return status to success
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
64: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65: END IF;
66:
67: -- Initialize API return status to success
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
69:
70: IF NVL(p_matches_int_tbl.LAST,0) > 0 THEN
71: FOR i IN NVL(p_matches_int_tbl.FIRST,0)..NVL(p_matches_int_tbl.LAST,0) LOOP
72: SELECT inl_matches_int_s.NEXTVAL
167: END LOOP;
168: END IF;
169:
170: -- If any errors happen abort API.
171: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
168: END IF;
169:
170: -- If any errors happen abort API.
171: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
169:
170: -- If any errors happen abort API.
171: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
177: -- Standard check of p_commit.
170: -- If any errors happen abort API.
171: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
172: RAISE FND_API.G_EXC_ERROR;
173: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
177: -- Standard check of p_commit.
178: IF FND_API.To_Boolean( p_commit ) THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
177: -- Standard check of p_commit.
178: IF FND_API.To_Boolean( p_commit ) THEN
179: COMMIT WORK;
180: END IF;
181:
182: -- Standard call to get message count and if count is 1, get message info.
180: END IF;
181:
182: -- Standard call to get message count and if count is 1, get message info.
183: FND_MSG_PUB.Count_And_Get(
184: p_encoded => FND_API.g_false,
185: p_count => x_msg_count,
186: p_data => x_msg_data
187: );
188:
191: p_module_name => g_module_name,
192: p_procedure_name => l_api_name
193: );
194: EXCEPTION
195: WHEN FND_API.G_EXC_ERROR THEN
196: -- Standard Expected Error Logging
197: INL_LOGGING_PVT.Log_ExpecError (
198: p_module_name => g_module_name,
199: p_procedure_name => l_api_name
198: p_module_name => g_module_name,
199: p_procedure_name => l_api_name
200: );
201: ROLLBACK TO Create_MatchIntLines_GRP;
202: x_return_status := FND_API.G_RET_STS_ERROR;
203: FND_MSG_PUB.Count_And_Get(
204: p_encoded => FND_API.g_false,
205: p_count => x_msg_count,
206: p_data => x_msg_data
200: );
201: ROLLBACK TO Create_MatchIntLines_GRP;
202: x_return_status := FND_API.G_RET_STS_ERROR;
203: FND_MSG_PUB.Count_And_Get(
204: p_encoded => FND_API.g_false,
205: p_count => x_msg_count,
206: p_data => x_msg_data
207: );
208: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
204: p_encoded => FND_API.g_false,
205: p_count => x_msg_count,
206: p_data => x_msg_data
207: );
208: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
209: -- Standard Unexpected Error Logging
210: INL_LOGGING_PVT.Log_UnexpecError (
211: p_module_name => g_module_name,
212: p_procedure_name => l_api_name
211: p_module_name => g_module_name,
212: p_procedure_name => l_api_name
213: );
214: ROLLBACK TO Create_MatchIntLines_GRP;
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216: FND_MSG_PUB.Count_And_Get(
217: p_encoded => FND_API.g_false,
218: p_count => x_msg_count,
219: p_data => x_msg_data
213: );
214: ROLLBACK TO Create_MatchIntLines_GRP;
215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216: FND_MSG_PUB.Count_And_Get(
217: p_encoded => FND_API.g_false,
218: p_count => x_msg_count,
219: p_data => x_msg_data
220: );
221: WHEN OTHERS THEN
224: p_module_name => g_module_name,
225: p_procedure_name => l_api_name
226: );
227: ROLLBACK TO Create_MatchIntLines_GRP;
228: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
229: IF FND_MSG_PUB.Check_Msg_Level(p_message_level=>FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
230: FND_MSG_PUB.Add_Exc_Msg(
231: p_pkg_name => g_pkg_name,
232: p_procedure_name => l_api_name
232: p_procedure_name => l_api_name
233: );
234: END IF;
235: FND_MSG_PUB.Count_And_Get(
236: p_encoded => FND_API.g_false,
237: p_count => x_msg_count,
238: p_data => x_msg_data
239: );
240: END Create_MatchIntLines;
251: -- Function : Create matches in LCM for actuals captured from a given AP Invoice.
252: -- Pre-reqs : None
253: -- Parameters :
254: -- IN : p_api_version IN NUMBER
255: -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
256: -- p_commit IN NUMBER := FND_API.G_FALSE
257: -- p_invoice_id IN NUMBER
258: --
259: -- OUT : x_return_status OUT NOCOPY VARCHAR2
252: -- Pre-reqs : None
253: -- Parameters :
254: -- IN : p_api_version IN NUMBER
255: -- p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
256: -- p_commit IN NUMBER := FND_API.G_FALSE
257: -- p_invoice_id IN NUMBER
258: --
259: -- OUT : x_return_status OUT NOCOPY VARCHAR2
260: -- x_msg_count OUT NOCOPY NUMBER
262: --
263: -- Version : Current version 1.0
264: --
265: PROCEDURE Create_MatchesFromAP(p_api_version IN NUMBER,
266: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
267: p_commit IN VARCHAR2 := FND_API.G_FALSE,
268: p_invoice_id IN NUMBER,
269: p_match_status_flag IN VARCHAR2 := 'S', --Bug#14604983
270: x_return_status OUT NOCOPY VARCHAR2,
263: -- Version : Current version 1.0
264: --
265: PROCEDURE Create_MatchesFromAP(p_api_version IN NUMBER,
266: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
267: p_commit IN VARCHAR2 := FND_API.G_FALSE,
268: p_invoice_id IN NUMBER,
269: p_match_status_flag IN VARCHAR2 := 'S', --Bug#14604983
270: x_return_status OUT NOCOPY VARCHAR2,
271: x_msg_count OUT NOCOPY NUMBER,
367: -- Standard Start of API savepoint
368: SAVEPOINT Create_MatchesFromAP_GRP;
369:
370: -- Initialize message list if p_init_msg_list is set to TRUE.
371: IF FND_API.to_Boolean( p_init_msg_list ) THEN
372: FND_MSG_PUB.initialize;
373: END IF;
374:
375: -- Check for call compatibility.
372: FND_MSG_PUB.initialize;
373: END IF;
374:
375: -- Check for call compatibility.
376: IF NOT FND_API.Compatible_API_Call (
377: p_current_version_number => l_api_version,
378: p_caller_version_number => p_api_version,
379: p_api_name => l_api_name,
380: p_pkg_name => g_pkg_name)
378: p_caller_version_number => p_api_version,
379: p_api_name => l_api_name,
380: p_pkg_name => g_pkg_name)
381: THEN
382: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
383: END IF;
384:
385: -- Initialize API return status to success
386: x_return_status := FND_API.G_RET_STS_SUCCESS;
382: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
383: END IF;
384:
385: -- Initialize API return status to success
386: x_return_status := FND_API.G_RET_STS_SUCCESS;
387:
388: i := 0;
389: -- Getting AP Distribution Lines
390: l_debug_info := 'Getting AP Distribution Lines';
593: -- Call Create_MatchIntLines to create Matches and
594: -- set Pending Matching Flag to 'Y' in Shipment Header.
595: Create_MatchIntLines(
596: p_api_version => 1.0,
597: p_init_msg_list => FND_API.G_FALSE,
598: p_commit => FND_API.G_FALSE,
599: p_matches_int_tbl => l_matches_int_tbl,
600: x_return_status => l_return_status,
601: x_msg_count => l_msg_count,
594: -- set Pending Matching Flag to 'Y' in Shipment Header.
595: Create_MatchIntLines(
596: p_api_version => 1.0,
597: p_init_msg_list => FND_API.G_FALSE,
598: p_commit => FND_API.G_FALSE,
599: p_matches_int_tbl => l_matches_int_tbl,
600: x_return_status => l_return_status,
601: x_msg_count => l_msg_count,
602: x_msg_data => l_msg_data
604:
605: END IF;
606:
607: -- If any errors happen abort the process.
608: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
609: RAISE FND_API.G_EXC_ERROR;
610: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612: END IF;
605: END IF;
606:
607: -- If any errors happen abort the process.
608: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
609: RAISE FND_API.G_EXC_ERROR;
610: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612: END IF;
613:
606:
607: -- If any errors happen abort the process.
608: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
609: RAISE FND_API.G_EXC_ERROR;
610: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612: END IF;
613:
614: -- Standard check of p_commit.
607: -- If any errors happen abort the process.
608: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
609: RAISE FND_API.G_EXC_ERROR;
610: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612: END IF;
613:
614: -- Standard check of p_commit.
615: IF FND_API.To_Boolean( p_commit ) THEN
611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612: END IF;
613:
614: -- Standard check of p_commit.
615: IF FND_API.To_Boolean( p_commit ) THEN
616: COMMIT WORK;
617: END IF;
618:
619: -- Standard call to get message count and if count is 1, get message info.
617: END IF;
618:
619: -- Standard call to get message count and if count is 1, get message info.
620: FND_MSG_PUB.Count_And_Get(
621: p_encoded => FND_API.g_false,
622: p_count => x_msg_count,
623: p_data => x_msg_data
624: );
625:
628: p_module_name => g_module_name,
629: p_procedure_name => l_api_name
630: );
631: EXCEPTION
632: WHEN FND_API.G_EXC_ERROR THEN
633: -- Standard Expected Error Logging
634: INL_LOGGING_PVT.Log_ExpecError (
635: p_module_name => g_module_name,
636: p_procedure_name => l_api_name
635: p_module_name => g_module_name,
636: p_procedure_name => l_api_name
637: );
638: ROLLBACK TO Create_MatchesFromAP_GRP;
639: x_return_status := FND_API.G_RET_STS_ERROR;
640: FND_MSG_PUB.Count_And_Get(
641: p_encoded => FND_API.g_false,
642: p_count => x_msg_count,
643: p_data => x_msg_data
637: );
638: ROLLBACK TO Create_MatchesFromAP_GRP;
639: x_return_status := FND_API.G_RET_STS_ERROR;
640: FND_MSG_PUB.Count_And_Get(
641: p_encoded => FND_API.g_false,
642: p_count => x_msg_count,
643: p_data => x_msg_data
644: );
645: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
641: p_encoded => FND_API.g_false,
642: p_count => x_msg_count,
643: p_data => x_msg_data
644: );
645: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
646: -- Standard Unexpected Error Logging
647: INL_LOGGING_PVT.Log_UnexpecError (
648: p_module_name => g_module_name,
649: p_procedure_name => l_api_name
648: p_module_name => g_module_name,
649: p_procedure_name => l_api_name
650: );
651: ROLLBACK TO Create_MatchesFromAP_GRP;
652: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
653:
654: FND_MSG_PUB.Count_And_Get(
655: p_encoded => FND_API.g_false,
656: p_count => x_msg_count,
651: ROLLBACK TO Create_MatchesFromAP_GRP;
652: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
653:
654: FND_MSG_PUB.Count_And_Get(
655: p_encoded => FND_API.g_false,
656: p_count => x_msg_count,
657: p_data => x_msg_data
658: );
659: WHEN OTHERS THEN
662: p_module_name => g_module_name,
663: p_procedure_name => l_api_name
664: );
665: ROLLBACK TO Create_MatchesFromAP_GRP;
666: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
667: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
668: THEN
669: FND_MSG_PUB.Add_Exc_Msg(
670: p_pkg_name => g_pkg_name,
671: p_procedure_name => l_api_name
672: );
673: END IF;
674: FND_MSG_PUB.Count_And_Get(
675: p_encoded => FND_API.g_false,
676: p_count => x_msg_count,
677: p_data => x_msg_data
678: );
679: END Create_MatchesFromAP;