DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_FTE_INTEGRATION_GRP

Source


1 PACKAGE BODY PO_FTE_INTEGRATION_GRP AS
2 /* $Header: POXGFTEB.pls 120.1 2005/06/29 18:35:12 shsiung noship $ */
3 
4 --CONSTANTS
5 g_pkg_name  CONSTANT VARCHAR2(30) := 'PO_FTE_INTEGRATION_GRP';
6 c_log_head  CONSTANT VARCHAR2(50) := 'po.plsql.'|| g_pkg_name || '.';
7 g_fnd_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
8 
9 -------------------------------------------------------------------------------
10 --Start of Comments
11 --Name: get_po_release_attributes
12 --Pre-reqs:
13 --  None.
14 --Modifies:
15 --  None.
16 --Locks:
17 --  None.
18 --Function:
19 --  Get attributes of Standard Purchase Order and Blanket Release for
20 --  Transportation delivery record.
21 --Parameters:
22 --IN:
23 --p_api_version
24 --  Specifies API version.
25 --p_line_location_id
26 --  Corresponding to po_line_location_id
27 --OUT:
28 --x_return_status
29 --  Indicates API return status as 'S', 'E' or 'U'.
30 --x_msg_count
31 --  Error messages number.
32 --x_msg_data
33 --  Error messages body.
34 --x_po_release_attributes
35 --Testing:
36 --  Call this API when only line_location_id exists.
37 --End of Comments
38 -------------------------------------------------------------------------------
39 
40 
41 PROCEDURE get_po_release_attributes
42 (
43     p_api_version            IN         NUMBER,
44     x_return_status          OUT NOCOPY VARCHAR2,
45     x_msg_count              OUT NOCOPY NUMBER,
46     x_msg_data               OUT NOCOPY VARCHAR2,
47     p_line_location_id       IN         NUMBER,
48     x_po_releases_attributes OUT NOCOPY po_release_rec_type
49 )
50 IS
51 l_api_name       CONSTANT VARCHAR2(100) := 'get_po_release_attributes';
52 l_api_version    CONSTANT NUMBER        := 1.0;
53 l_progress       VARCHAR2(3)            := '001';
54 
55 BEGIN
56     IF (g_fnd_debug = 'Y') THEN
57         IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
58           FND_LOG.string(
59             log_level => FND_LOG.LEVEL_STATEMENT,
60             module    => c_log_head || '.'||l_api_name||'.' || l_progress,
61             message   => 'Check API Call Compatibility');
62         END IF;
63     END IF;
64 
65     -- Standard call to check for call compatibility.
66     IF NOT FND_API.Compatible_API_Call(
67                p_current_version_number => l_api_version,
68                p_caller_version_number  => p_api_version,
69                p_api_name               => l_api_name,
70                p_pkg_name               => g_pkg_name) THEN
71         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72     END IF;
73 
74     -- Initialize API return status to success
75     x_return_status := FND_API.G_RET_STS_SUCCESS;
76 
77     l_progress:='010';
78     IF (g_fnd_debug = 'Y') THEN
79         IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
80           FND_LOG.string(
81             log_level => FND_LOG.LEVEL_STATEMENT,
82             module    => c_log_head || '.'||l_api_name||'.' || l_progress,
83             message   => 'Call PO_FTE_INTEGRATION_PVT.get_po_release_attributes');
84         END IF;
85     END IF;
86 
87     PO_FTE_INTEGRATION_PVT.get_po_release_attributes(
88         p_api_version            => p_api_version,
89         x_return_status          => x_return_status,
90         x_msg_count              => x_msg_count,
91         x_msg_data               => x_msg_data,
92         p_line_location_id       => p_line_location_id,
93         x_po_releases_attributes => x_po_releases_attributes);
94 
95     l_progress:='020';
96     IF (g_fnd_debug = 'Y') THEN
97         IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
98           FND_LOG.string(
99             log_level => FND_LOG.LEVEL_STATEMENT,
100             module    => c_log_head || '.'||l_api_name||'.' || l_progress,
101             message   => 'Call returns with status' || x_return_status);
102         END IF;
103     END IF;
104 
105 EXCEPTION
106     WHEN OTHERS THEN
107         IF (g_fnd_debug = 'Y') THEN
108             IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_EXCEPTION) THEN
109               FND_LOG.string( log_level => FND_LOG.LEVEL_EXCEPTION,
110                             module    => c_log_head || '.'||l_api_name,
111                             message   => 'unexpected error');
112             END IF;
113         END IF;
114         FND_MSG_PUB.add_exc_msg ( G_PKG_NAME, l_api_name );
115         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
116 
117 END get_po_release_attributes;
118 
119 -- Following wrappers for FTE Team to po_status_check API added in DropShip FPJ project
120 
121 -------------------------------------------------------------------------------
122 --Start of Comments
123 --Name: po_status_check
124 --Pre-reqs:
125 --  None.
126 --Modifies:
127 --  None.
128 --Locks:
129 --  None.
130 --Function:
131 --  This is just a wrapper provided for Transportation Team for po_status_check
132 --  This just calls group procedure PO_DOCUMENT_CHECKS_GRP.po_status_check
133 --  Detailed comments maintained in PVT Package Body PO_DOCUMENT_CHECKS_PVT.po_status_check
134 --End of Comments
135 -------------------------------------------------------------------------------
136 PROCEDURE po_status_check (
137     p_api_version         IN NUMBER,
138     p_header_id           IN PO_TBL_NUMBER,
139     p_release_id          IN PO_TBL_NUMBER,
140     p_document_type       IN PO_TBL_VARCHAR30,
141     p_document_subtype    IN PO_TBL_VARCHAR30,
142     p_document_num        IN PO_TBL_VARCHAR30,
143     p_vendor_order_num    IN PO_TBL_VARCHAR30,
144     p_line_id             IN PO_TBL_NUMBER,
145     p_line_location_id    IN PO_TBL_NUMBER,
146     p_distribution_id     IN PO_TBL_NUMBER,
147     p_mode                IN VARCHAR2,
148     p_lock_flag           IN VARCHAR2 := 'N',
149     x_po_status_rec       OUT NOCOPY PO_STATUS_REC_TYPE,
150     x_return_status       OUT NOCOPY VARCHAR2
151 ) IS
152 
153 l_api_name    CONSTANT VARCHAR(30) := 'PO_STATUS_CHECK';
154 
155 BEGIN
156 
157 --Call the group procedure to actually validate and do po status check
158 PO_DOCUMENT_CHECKS_GRP.po_status_check(
159     p_api_version => p_api_version,
160     p_header_id => p_header_id,
161     p_release_id => p_release_id,
162     p_document_type => p_document_type,
163     p_document_subtype => p_document_subtype,
164     p_document_num => p_document_num,
165     p_vendor_order_num => p_vendor_order_num,
166     p_line_id => p_line_id,
167     p_line_location_id => p_line_location_id,
168     p_distribution_id => p_distribution_id,
169     p_mode => p_mode,
170     p_lock_flag => p_lock_flag,
171     x_po_status_rec => x_po_status_rec,
172     x_return_status  => x_return_status);
173 
174 EXCEPTION
175     WHEN OTHERS THEN
176         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
177         FND_MSG_PUB.add_exc_msg(G_PKG_NAME, l_api_name);
178 
179 END po_status_check;
180 
181 -------------------------------------------------------------------------------
182 --Start of Comments
183 --Name: po_status_check
184 --Pre-reqs:
185 --  None.
186 --Modifies:
187 --  None.
188 --Locks:
189 --  None.
190 --Function:
191 --  A convenience procedure for a single entity and takes in scalar input IDs.
192 --  This is just a wrapper provided for Transportation Team for po_status_check.
193 --  This just calls group procedure PO_DOCUMENT_CHECKS_GRP.po_status_check.
194 --  Detailed comments maintained in PVT Package Body PO_DOCUMENT_CHECKS_PVT.po_status_check
195 --End of Comments
196 -------------------------------------------------------------------------------
197 PROCEDURE po_status_check (
198     p_api_version           IN NUMBER,
199     p_header_id             IN NUMBER := NULL,
200     p_release_id            IN NUMBER := NULL,
201     p_document_type         IN VARCHAR2 := NULL,
202     p_document_subtype      IN VARCHAR2 := NULL,
203     p_document_num          IN VARCHAR2 := NULL,
204     p_vendor_order_num      IN VARCHAR2 := NULL,
205     p_line_id               IN NUMBER := NULL,
206     p_line_location_id      IN NUMBER := NULL,
207     p_distribution_id       IN NUMBER := NULL,
208     p_mode                  IN VARCHAR2,
209     p_lock_flag             IN VARCHAR2 := 'N',
210     x_po_status_rec         OUT NOCOPY PO_STATUS_REC_TYPE,
211     x_return_status         OUT NOCOPY VARCHAR2
212 ) IS
213 
214 l_api_name    CONSTANT VARCHAR(30) := 'PO_STATUS_CHECK';
215 
216 BEGIN
217 
218 --Call the group procedure to actually validate and do po status check
219 PO_DOCUMENT_CHECKS_GRP.po_status_check(
220     p_api_version => p_api_version,
221     p_header_id => p_header_id,
222     p_release_id => p_release_id,
223     p_document_type => p_document_type,
224     p_document_subtype => p_document_subtype,
225     p_document_num => p_document_num,
226     p_vendor_order_num => p_vendor_order_num,
227     p_line_id => p_line_id,
228     p_line_location_id => p_line_location_id,
229     p_distribution_id => p_distribution_id,
230     p_mode => p_mode,
231     p_lock_flag => p_lock_flag,
232     x_po_status_rec => x_po_status_rec,
233     x_return_status  => x_return_status);
234 
235 EXCEPTION
236     WHEN OTHERS THEN
237         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
238         FND_MSG_PUB.add_exc_msg(G_PKG_NAME, l_api_name);
239 
240 END po_status_check;
241 
242 END PO_FTE_INTEGRATION_GRP;