[Home] [Help]
PACKAGE BODY: APPS.PO_TAX_SV
Source
1 PACKAGE BODY PO_TAX_SV AS
2 /* $Header: POXPTAXB.pls 115.6 2003/08/29 22:28:38 zxzhang ship $ */
3
4 G_PKG_NAME CONSTANT varchar2(30) := 'PO_TAX_SV';
5 G_MODULE_PREFIX CONSTANT VARCHAR2(60) := 'po.plsql.' || G_PKG_NAME || '.';
6 G_FND_DEBUG VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
7 G_FND_DEBUG_LEVEL VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_LEVEL'),'0');
8
9 FUNCTION get_tax(x_calling_form IN VARCHAR2,
10 x_distribution_id IN NUMBER) return NUMBER is
11
12 x_recoverable_tax NUMBER;
13 x_nonrecoverable_tax NUMBER;
14
15 x_progress VARCHAR2(3) := '000';
16
17 BEGIN
18
19 x_progress := '001';
20
21 IF x_calling_form = 'PO' OR x_calling_form = 'RELEASE' THEN
22 SELECT recoverable_tax, nonrecoverable_tax
23 INTO x_recoverable_tax, x_nonrecoverable_tax
24 FROM po_distributions_all
25 WHERE po_distribution_id = x_distribution_id;
26
27 ELSIF x_calling_form = 'REQ' THEN
28 SELECT recoverable_tax, nonrecoverable_tax
29 INTO x_recoverable_tax, x_nonrecoverable_tax
30 FROM po_req_distributions_all
31 where distribution_id = x_distribution_id;
32
33 END IF;
34
35 return(nvl(x_nonrecoverable_tax, 0));
36
37 EXCEPTION
38 WHEN OTHERS THEN
39 return(nvl(x_nonrecoverable_tax, 0));
40
41 END get_tax;
42
43
44 -- <FPJ Retroactive Price START>
45 --------------------------------------------------------------------------------
46 --Start of Comments
47 --Name: Get_All_PO_Tax
48 --Pre-reqs:
49 -- None.
50 --Modifies:
51 -- None.
52 --Locks:
53 -- None.
54 --Function:
55 -- This procedure returns non-recoverable tax, recoverable tax,
56 -- prior non-recoverable tax (from archive), and prior recoverable
57 -- tax (from archive).
58 --Parameters:
59 --IN:
60 --p_api_version
61 -- Version number of API that caller expects. It
62 -- should match the l_api_version defined in the
63 -- procedure (expected value : 1.0)
64 --p_distribution_id
65 -- The distribution id of the document: refer to po_distribution_id
66 --OUT:
67 --x_recoverable_tax
68 -- recoverable tax
69 --x_non_recoverable_tax
70 -- non-recoverable tax
71 --x_old_recoverable_tax
72 -- prior recoverable tax (from archive)
73 --x_old_non_recoverable_tax
74 -- prior non-recoverable tax (from archive)
75 --x_return_status
76 -- FND_API.G_RET_STS_SUCCESS if API succeeds
77 -- FND_API.G_RET_STS_ERROR if API fails
78 -- FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
79 --x_msg_data
80 -- Contains error msg in case x_return_status returned
81 -- FND_API.G_RET_STS_ERROR or FND_API.G_RET_STS_UNEXP_ERROR
82 --Testing:
83 --
84 --End of Comments
85 --------------------------------------------------------------------------------
86 Procedure Get_All_PO_Tax(
87 p_api_version IN NUMBER,
88 p_distribution_id IN NUMBER,
89 x_recoverable_tax OUT NOCOPY NUMBER,
90 x_non_recoverable_tax OUT NOCOPY NUMBER,
91 x_old_recoverable_tax OUT NOCOPY NUMBER,
92 x_old_non_recoverable_tax OUT NOCOPY NUMBER,
93 x_return_status OUT NOCOPY VARCHAR2,
94 x_msg_data OUT NOCOPY VARCHAR2)
95 IS
96 l_api_name CONSTANT varchar2(30) := 'Get_All_PO_Tax';
97 l_api_version CONSTANT NUMBER := 1.0;
98 l_progress VARCHAR2(3);
99 BEGIN
100 l_progress := '000';
101 -- Standard call to check for call compatibility
102 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
103 THEN
104 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
105 END IF;
106
107 l_progress := '010';
108 SELECT pd.recoverable_tax new_tax,
109 pd.nonrecoverable_tax new_nr_tax,
110 pda.recoverable_tax old_tax,
111 pda.nonrecoverable_tax old_nr_tax
112 INTO x_recoverable_tax,
113 x_non_recoverable_tax,
114 x_old_recoverable_tax,
115 x_old_non_recoverable_tax
116 FROM po_distributions_all pd,
117 po_distributions_archive_all pda
118 WHERE pd.po_distribution_id = p_distribution_id
119 AND pd.po_distribution_id = pda.po_distribution_id (+)
120 AND pda.latest_external_flag (+) = 'Y';
121
122 l_progress := '020';
123 x_return_status := FND_API.G_RET_STS_SUCCESS;
124 x_msg_data := NULL;
125 EXCEPTION
126 WHEN OTHERS THEN
127 po_message_s.sql_error('Exception of Get_All_PO_Tax()',
128 l_progress , sqlcode);
129 FND_MSG_PUB.Add;
130 x_msg_data := FND_MSG_PUB.GET(p_msg_index => FND_MSG_PUB.G_LAST,
131 p_encoded => 'F');
132 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
133 END;
134
135 -- <FPJ Retroactive Price END>
136
137 END po_tax_sv;
138