DBA Data[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