120: * handles the encumbrace effect of splitting requisition lines. This api would
121: * be called from ORacle sourcing workflow.
122: *
123: * Returns:
124: * x_return_status - FND_API.G_RET_STS_SUCCESS if action succeeds
125: * FND_API.G_RET_STS_ERROR if action fails
126: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
127: * x_msg_count returns count of messages in the stack.
128: * x_msg_data returns message only if 1 message.
121: * be called from ORacle sourcing workflow.
122: *
123: * Returns:
124: * x_return_status - FND_API.G_RET_STS_SUCCESS if action succeeds
125: * FND_API.G_RET_STS_ERROR if action fails
126: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
127: * x_msg_count returns count of messages in the stack.
128: * x_msg_data returns message only if 1 message.
129: *
122: *
123: * Returns:
124: * x_return_status - FND_API.G_RET_STS_SUCCESS if action succeeds
125: * FND_API.G_RET_STS_ERROR if action fails
126: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
127: * x_msg_count returns count of messages in the stack.
128: * x_msg_data returns message only if 1 message.
129: *
130: * Possible values for PO_REQ_SPLIT_LINES_GT.record_status:
138: */
139:
140: PROCEDURE Split_RequisitionLines
141: ( p_api_version IN NUMBER ,
142: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE ,
143: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
144: x_return_status OUT NOCOPY VARCHAR2 ,
145: x_msg_count OUT NOCOPY NUMBER ,
146: x_msg_data OUT NOCOPY VARCHAR2 ,
139:
140: PROCEDURE Split_RequisitionLines
141: ( p_api_version IN NUMBER ,
142: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE ,
143: p_commit IN VARCHAR2 :=FND_API.G_FALSE ,
144: x_return_status OUT NOCOPY VARCHAR2 ,
145: x_msg_count OUT NOCOPY NUMBER ,
146: x_msg_data OUT NOCOPY VARCHAR2 ,
147: p_auction_header_id IN NUMBER
266: FND_LOG.string(FND_LOG.LEVEL_STATEMENT, l_module,
267: 'Compatible_API_Call ');
268: END IF;
269:
270: IF NOT FND_API.Compatible_API_Call
271: (
272: l_api_version,
273: p_api_version,
274: l_api_name,
274: l_api_name,
275: G_PKG_NAME
276: )
277: THEN
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: END IF;
280:
281:
282: l_progress :='020';
1754: p_requisition_header_id => i.requisition_header_id,
1755: p_calling_program => 'PO_NEGOTIATIONS',
1756: x_return_status => l_return_status
1757: );
1758: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1759: FND_MESSAGE.set_name('PO','PO_PDOI_TAX_CALCULATION_ERR');
1760: FND_MSG_PUB.add;
1761:
1762: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1758: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1759: FND_MESSAGE.set_name('PO','PO_PDOI_TAX_CALCULATION_ERR');
1760: FND_MSG_PUB.add;
1761:
1762: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.g_exc_error;
1764: ELSE
1765: RAISE FND_API.g_exc_unexpected_error;
1766: END IF;
1759: FND_MESSAGE.set_name('PO','PO_PDOI_TAX_CALCULATION_ERR');
1760: FND_MSG_PUB.add;
1761:
1762: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.g_exc_error;
1764: ELSE
1765: RAISE FND_API.g_exc_unexpected_error;
1766: END IF;
1767: END IF;
1761:
1762: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.g_exc_error;
1764: ELSE
1765: RAISE FND_API.g_exc_unexpected_error;
1766: END IF;
1767: END IF;
1768: END LOOP;
1769:
1884: 'After: Calling HANDLE_TAX_ADJUSTMENTS; Status is
1885: '||l_return_status);
1886: END IF;
1887:
1888: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1889: RAISE FND_API.g_exc_error;
1890: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1891: RAISE FND_API.g_exc_unexpected_error;
1892: END IF;
1885: '||l_return_status);
1886: END IF;
1887:
1888: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1889: RAISE FND_API.g_exc_error;
1890: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1891: RAISE FND_API.g_exc_unexpected_error;
1892: END IF;
1893: -- JFMIP, support for Req Modify when encumbrance is enabled END
1886: END IF;
1887:
1888: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1889: RAISE FND_API.g_exc_error;
1890: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1891: RAISE FND_API.g_exc_unexpected_error;
1892: END IF;
1893: -- JFMIP, support for Req Modify when encumbrance is enabled END
1894:
1887:
1888: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1889: RAISE FND_API.g_exc_error;
1890: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1891: RAISE FND_API.g_exc_unexpected_error;
1892: END IF;
1893: -- JFMIP, support for Req Modify when encumbrance is enabled END
1894:
1895: -- Bug 4723367 START
1966: '||l_return_status);
1967: END IF;
1968:
1969:
1970: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1971: RAISE FND_API.g_exc_error;
1972: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1973: RAISE FND_API.g_exc_unexpected_error;
1974: END IF;
1967: END IF;
1968:
1969:
1970: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1971: RAISE FND_API.g_exc_error;
1972: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1973: RAISE FND_API.g_exc_unexpected_error;
1974: END IF;
1975: --
1968:
1969:
1970: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1971: RAISE FND_API.g_exc_error;
1972: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1973: RAISE FND_API.g_exc_unexpected_error;
1974: END IF;
1975: --
1976:
1969:
1970: IF (l_return_status = FND_API.g_ret_sts_error) THEN
1971: RAISE FND_API.g_exc_error;
1972: ELSIF (l_return_status = FND_API.g_ret_sts_unexp_error) THEN
1973: RAISE FND_API.g_exc_unexpected_error;
1974: END IF;
1975: --
1976:
1977: END IF; -- if l_encumbrance_flag..
1977: END IF; -- if l_encumbrance_flag..
1978:
1979: END IF; -- requisition_line_id_rslt_tbl.COUNT>1
1980:
1981: IF FND_API.To_Boolean( p_commit ) THEN
1982: COMMIT WORK;
1983: END IF;
1984:
1985: -- Standard call to get message count and if count is 1,
1994: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
1995: FND_LOG.string(FND_LOG.LEVEL_STATEMENT, l_module,
1996: 'Before: Setting success status to x_return_status');
1997: END IF;
1998: x_return_status := FND_API.G_RET_STS_SUCCESS;
1999:
2000: EXCEPTION
2001: WHEN FND_API.g_exc_unexpected_error THEN
2002: ROLLBACK TO Split_RequisitionLines_PVT;
1997: END IF;
1998: x_return_status := FND_API.G_RET_STS_SUCCESS;
1999:
2000: EXCEPTION
2001: WHEN FND_API.g_exc_unexpected_error THEN
2002: ROLLBACK TO Split_RequisitionLines_PVT;
2003: x_msg_data := FND_MSG_PUB.GET();
2004: x_return_status := FND_API.g_ret_sts_unexp_error;
2005: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
2000: EXCEPTION
2001: WHEN FND_API.g_exc_unexpected_error THEN
2002: ROLLBACK TO Split_RequisitionLines_PVT;
2003: x_msg_data := FND_MSG_PUB.GET();
2004: x_return_status := FND_API.g_ret_sts_unexp_error;
2005: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
2006: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
2007: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
2008: END IF;
2006: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
2007: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
2008: END IF;
2009:
2010: WHEN FND_API.g_exc_error THEN
2011: ROLLBACK TO Split_RequisitionLines_PVT;
2012: x_return_status := FND_API.g_ret_sts_error;
2013: FND_MSG_PUB.Count_And_Get
2014: ( p_count => x_msg_count ,
2008: END IF;
2009:
2010: WHEN FND_API.g_exc_error THEN
2011: ROLLBACK TO Split_RequisitionLines_PVT;
2012: x_return_status := FND_API.g_ret_sts_error;
2013: FND_MSG_PUB.Count_And_Get
2014: ( p_count => x_msg_count ,
2015: p_data => x_msg_data
2016: );
2024:
2025: -- Log a debug message, add the error the the API message list.
2026: PO_DEBUG.handle_unexp_error(g_pkg_name,l_api_name,l_progress);
2027:
2028: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2029:
2030: FND_MSG_PUB.Count_And_Get(
2031: p_count => x_msg_count
2032: , p_data => x_msg_data
2538: 'Compatible_API_Call ');
2539: END IF;
2540: END IF;
2541:
2542: IF NOT FND_API.Compatible_API_Call
2543: (
2544: l_api_version,
2545: p_api_version,
2546: l_api_name,
2546: l_api_name,
2547: G_PKG_NAME
2548: )
2549: THEN
2550: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2551: END IF;
2552:
2553: --do the dump of input values if the log level is statement.
2554: l_progress :='015';
2724: 'After: Calling encumbrance api; Status is '||x_return_status);
2725: END IF;
2726: END IF;
2727:
2728: IF (x_return_status = FND_API.g_ret_sts_error) OR
2729: (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2730:
2731: IF G_FND_DEBUG = 'Y' THEN
2732: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
2725: END IF;
2726: END IF;
2727:
2728: IF (x_return_status = FND_API.g_ret_sts_error) OR
2729: (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2730:
2731: IF G_FND_DEBUG = 'Y' THEN
2732: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
2733: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
2736: END IF;
2737: END IF;
2738:
2739:
2740: IF (x_return_status = FND_API.g_ret_sts_error) THEN
2741: RAISE FND_API.g_exc_error;
2742: ELSIF (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2743: RAISE FND_API.g_exc_unexpected_error;
2744: END IF;
2737: END IF;
2738:
2739:
2740: IF (x_return_status = FND_API.g_ret_sts_error) THEN
2741: RAISE FND_API.g_exc_error;
2742: ELSIF (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2743: RAISE FND_API.g_exc_unexpected_error;
2744: END IF;
2745: END IF; /*IF (x_return_status = FND_API.g_ret_sts_error)*/
2738:
2739:
2740: IF (x_return_status = FND_API.g_ret_sts_error) THEN
2741: RAISE FND_API.g_exc_error;
2742: ELSIF (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2743: RAISE FND_API.g_exc_unexpected_error;
2744: END IF;
2745: END IF; /*IF (x_return_status = FND_API.g_ret_sts_error)*/
2746: END LOOP;
2739:
2740: IF (x_return_status = FND_API.g_ret_sts_error) THEN
2741: RAISE FND_API.g_exc_error;
2742: ELSIF (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2743: RAISE FND_API.g_exc_unexpected_error;
2744: END IF;
2745: END IF; /*IF (x_return_status = FND_API.g_ret_sts_error)*/
2746: END LOOP;
2747:
2741: RAISE FND_API.g_exc_error;
2742: ELSIF (x_return_status = FND_API.g_ret_sts_unexp_error) THEN
2743: RAISE FND_API.g_exc_unexpected_error;
2744: END IF;
2745: END IF; /*IF (x_return_status = FND_API.g_ret_sts_error)*/
2746: END LOOP;
2747:
2748: -- Switch the org context back to the current OU if it has been changed
2749: IF (l_org_context_changed = 'Y') THEN
2756: --this is handled within the encumbrance call now
2757: --(in po_document_funds_pvt.do_req_split)
2758:
2759:
2760: IF FND_API.To_Boolean( p_commit ) THEN
2761: COMMIT WORK;
2762: END IF;
2763:
2764: -- Standard call to get message count and if count is 1,
2775: FND_LOG.string(FND_LOG.LEVEL_STATEMENT, l_module,
2776: 'Before: Setting success status to x_return_status');
2777: END IF;
2778: END IF;
2779: x_return_status := FND_API.G_RET_STS_SUCCESS;
2780:
2781: EXCEPTION
2782: WHEN FND_API.g_exc_unexpected_error THEN
2783: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2778: END IF;
2779: x_return_status := FND_API.G_RET_STS_SUCCESS;
2780:
2781: EXCEPTION
2782: WHEN FND_API.g_exc_unexpected_error THEN
2783: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2784: x_msg_data := FND_MSG_PUB.GET();
2785: x_return_status := FND_API.g_ret_sts_unexp_error;
2786: IF G_FND_DEBUG = 'Y' THEN
2781: EXCEPTION
2782: WHEN FND_API.g_exc_unexpected_error THEN
2783: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2784: x_msg_data := FND_MSG_PUB.GET();
2785: x_return_status := FND_API.g_ret_sts_unexp_error;
2786: IF G_FND_DEBUG = 'Y' THEN
2787: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
2788: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
2789: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
2788: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
2789: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
2790: END IF;
2791: END IF;
2792: WHEN FND_API.g_exc_error THEN
2793: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2794: x_return_status := FND_API.g_ret_sts_error;
2795: FND_MSG_PUB.Count_And_Get
2796: ( p_count => x_msg_count ,
2790: END IF;
2791: END IF;
2792: WHEN FND_API.g_exc_error THEN
2793: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2794: x_return_status := FND_API.g_ret_sts_error;
2795: FND_MSG_PUB.Count_And_Get
2796: ( p_count => x_msg_count ,
2797: p_data => x_msg_data
2798: );
2805:
2806: WHEN OTHERS THEN
2807: ROLLBACK TO HANDLE_FUNDS_REVERSAL_PVT;
2808: --x_msg_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST);
2809: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2810:
2811: FND_MSG_PUB.Count_And_Get
2812: ( p_count => x_msg_count ,
2813: p_data => x_msg_data
2882: 'Compatible_API_Call ');
2883: END IF;
2884: END IF;
2885:
2886: IF NOT FND_API.Compatible_API_Call
2887: (
2888: l_api_version,
2889: p_api_version,
2890: l_api_name,
2890: l_api_name,
2891: G_PKG_NAME
2892: )
2893: THEN
2894: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2895: END IF;
2896:
2897: --do the dump of input values if the log level is statement.
2898: l_progress :='015';
3058: 'Before Commit');
3059: END IF;
3060: END IF;
3061:
3062: IF FND_API.To_Boolean( p_commit ) THEN
3063: COMMIT WORK;
3064: END IF;
3065:
3066: IF G_FND_DEBUG = 'Y' THEN
3084: FND_LOG.string(FND_LOG.LEVEL_STATEMENT, l_module,
3085: 'Before: Setting success status to x_return_status');
3086: END IF;
3087: END IF;
3088: x_return_status := FND_API.G_RET_STS_SUCCESS;
3089:
3090:
3091: EXCEPTION
3092: WHEN FND_API.g_exc_unexpected_error THEN
3088: x_return_status := FND_API.G_RET_STS_SUCCESS;
3089:
3090:
3091: EXCEPTION
3092: WHEN FND_API.g_exc_unexpected_error THEN
3093: ROLLBACK TO HANDLE_TAX_ADJUSTMENTS_PVT;
3094: x_msg_data := FND_MSG_PUB.GET();
3095: x_return_status := FND_API.g_ret_sts_unexp_error;
3096: IF G_FND_DEBUG = 'Y' THEN
3091: EXCEPTION
3092: WHEN FND_API.g_exc_unexpected_error THEN
3093: ROLLBACK TO HANDLE_TAX_ADJUSTMENTS_PVT;
3094: x_msg_data := FND_MSG_PUB.GET();
3095: x_return_status := FND_API.g_ret_sts_unexp_error;
3096: IF G_FND_DEBUG = 'Y' THEN
3097: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
3098: FND_LOG.string(FND_LOG.LEVEL_EXCEPTION, l_module,
3099: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
3099: 'Exception: UnexpectedError '||x_msg_data||sqlerrm);
3100: END IF;
3101: END IF;
3102:
3103: WHEN FND_API.g_exc_error THEN
3104: ROLLBACK TO HANDLE_TAX_ADJUSTMENTS_PVT;
3105: x_return_status := FND_API.g_ret_sts_error;
3106: FND_MSG_PUB.Count_And_Get
3107: ( p_count => x_msg_count ,
3101: END IF;
3102:
3103: WHEN FND_API.g_exc_error THEN
3104: ROLLBACK TO HANDLE_TAX_ADJUSTMENTS_PVT;
3105: x_return_status := FND_API.g_ret_sts_error;
3106: FND_MSG_PUB.Count_And_Get
3107: ( p_count => x_msg_count ,
3108: p_data => x_msg_data
3109: );
3116:
3117: WHEN OTHERS THEN
3118: ROLLBACK TO HANDLE_TAX_ADJUSTMENTS_PVT;
3119: --x_msg_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST);
3120: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3121:
3122: FND_MSG_PUB.Count_And_Get
3123: ( p_count => x_msg_count ,
3124: p_data => x_msg_data