DBA Data[Home] [Help]

PACKAGE: APPS.CST_PERENDACCRUALS_PVT

Source


1 PACKAGE CST_PerEndAccruals_PVT AS
2 /* $Header: CSTVPEAS.pls 120.5.12010000.1 2008/07/24 17:26:04 appldev ship $ */
3 
4 -----------------------------------------------------------------------------
5 -- Defining global variables for the calling api.
6 -----------------------------------------------------------------------------
7 G_RECEIPT_ACCRUAL_PER_END           CONSTANT NUMBER := 1;
8 G_UNINVOICED_RECEIPT_REPORT         CONSTANT NUMBER := 2;
9 
10 -- Global variables to track the quantities for each distribution. Using global
11 -- variables, since the API is being called by PAC Period end process also.
12 g_shipment_net_qty_received                  NUMBER;
13 g_shipment_net_qty_delivered                 NUMBER;
14 g_dist_net_qty_delivered                     NUMBER;
15 g_distribution_id                            NUMBER;
16 g_shipment_id                                NUMBER;
17 g_nqr                                        NUMBER;
18 g_nqd                                        NUMBER;
19 
20 -----------------------------------------------------------------------------
21 -- PL/SQL table types for accrual info to be inserted in temp table
22 -----------------------------------------------------------------------------
23 TYPE acr_dist_id_tbl_type          IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
24 TYPE acr_shipment_id_tbl_type      IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
25 TYPE acr_category_id_tbl_type      IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
26 TYPE acr_match_option_tbl_type     IS TABLE OF VARCHAR2(1)   INDEX BY BINARY_INTEGER;
27 TYPE acr_qty_received_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
28 TYPE acr_qty_billed_tbl_type       IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
29 TYPE acr_accrual_qty_tbl_type      IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
30 TYPE acr_encum_qty_tbl_type        IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
31 TYPE acr_unit_price_tbl_type       IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
32 TYPE acr_accrual_amount_tbl_type   IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
33 TYPE acr_encum_amount_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
34 TYPE acr_cur_code_tbl_type         IS TABLE OF VARCHAR2(15)  INDEX BY BINARY_INTEGER;
35 TYPE acr_cur_conv_type_tbl_type    IS TABLE OF VARCHAR2(30)  INDEX BY BINARY_INTEGER;
36 TYPE acr_cur_conv_rate_tbl_type    IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
37 TYPE acr_cur_conv_date_tbl_type    IS TABLE OF DATE          INDEX BY BINARY_INTEGER;
38 
39 TYPE dist_nqd_tbl_type             IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
40 g_dist_nqd_tbl                     dist_nqd_tbl_type;
41 
42 -----------------------------------------------------------------------------
43 -- Start of comments
44 --   API name        : Create_PerEndAccruals
45 --   Type            : Private
46 --   Function        : Starting point for Period End Accrual program.
47 --                     The API creates period end accrual entries in the
48 --                     temporary table CST_PER_END_ACCRUALS_TEMP.
49 --   Pre-reqs        : None.
50 --   Parameters      :
51 --   IN              :
52 --     p_api_version      NUMBER       Required
53 --     p_init_msg_list    VARCHAR2     Required
54 --     p_commit           VARCHAR2     Required
55 --     p_validation_level NUMBER       Required
56 --     p_min_accrual_amount NUMBER     Required
57 --                                     Minimum Accrual Amount
58 --     p_vendor_id        NUMBER       Optional         default NULL
59 --     p_vendor_from      VARCHAR2     Optional         default NULL
60 --                                     Vendor From
61 --     p_vendor_to        VARCHAR2     Optional         default NULL
62 --                                     Vendor to
63 --     p_category_id      NUMBER       Optional         default NULL
64 --                                     Category Id
65 --     p_category_from    VARCHAR2     Optional         default NULL
66 --                                     Category From
67 --     p_category_to      VARCHAR2     Optional         default NULL
68 --                                     Category to
69 --     p_end_date         DATE         Required
70 --                                     Period End date
71 --     p_accrued_receipt  VARCHAR2     Optional         default NULL
72 --                                     Accrued receipts, 'Y' or 'N'
73 --     p_online_accruals  VARCHAR2     Optional         default NULL
74 --                                     Include online accruals 'Y' or 'N'
75 --     p_online_accruals  VARCHAR2     Optional         default NULL
76 --                                     Include Closed POs 'Y' or 'N'
77 --
78 --                                     p_online_accruals, p_accrued_receipts and
79 --                                     p_online_accruals are used for Uninvoiced
80 --                                     Receipts Report, in other case this value
81 --                                     will be 'N'
82 --     p_calling_api      NUMBER       Optional
83 --
84 --   OUT             :
85 --     x_return_status    VARCHAR2
86 --     x_msg_count        NUMBER
87 --     x_msg_data         VARCHAR2
88 --
89 --   Version : Current version       1.0
90 --
91 -- End of comments
92 -----------------------------------------------------------------------------
93 PROCEDURE Create_PerEndAccruals
94 (
95     p_api_version                   IN      NUMBER,
96     p_init_msg_list                 IN      VARCHAR2,
97     p_commit                        IN      VARCHAR2,
98     p_validation_level              IN      NUMBER,
99     x_return_status                 OUT     NOCOPY VARCHAR2,
100     x_msg_count                     OUT     NOCOPY NUMBER,
101     x_msg_data                      OUT     NOCOPY VARCHAR2,
102 
103     p_min_accrual_amount            IN      NUMBER,
104     p_vendor_id                     IN      NUMBER   DEFAULT NULL,
105     p_vendor_from                   IN      VARCHAR2 DEFAULT NULL,
106     p_vendor_to                     IN      VARCHAR2 DEFAULT NULL,
107     p_category_id                   IN      NUMBER   DEFAULT NULL,
108     p_category_from                 IN      VARCHAR2 DEFAULT NULL,
109     p_category_to                   IN      VARCHAR2 DEFAULT NULL,
110     p_end_date                      IN      DATE,
111     p_accrued_receipt               IN      VARCHAR2 DEFAULT NULL,
112     p_online_accruals               IN      VARCHAR2 DEFAULT NULL,
113     p_closed_pos                    IN      VARCHAR2 DEFAULT NULL,
114     p_calling_api                   IN      NUMBER
115 );
116 
117 -----------------------------------------------------------------------------
118 -- Start of comments
119 --   API name        : Calculate_AccrualAmount
120 --   Type            : Private
121 --   Function        : The procedure calculates and returns the record for the
122 --                     CST_PER_END_ACCRUALS_TEMP
123 --
124 --   Pre-reqs        : None.
125 --   Parameters      :
126 --   IN              :
127 --     p_api_version      NUMBER       Required
128 --     p_init_msg_list    VARCHAR2     Required
129 --     p_validation_level NUMBER       Required
130 --     p_service_flag     NUMBER       Required
131 --                                     1 for AMOUNT and 0 for QUANTITY
132 --                                     based
133 --     p_dist_qty         NUMBER       Required
134 --     p_shipment_qty     NUMBER       Required
135 --     p_end_date         DATE         Required
136 --     p_transaction_id   NUMBER       Optional         default NULL
137 --                                     rcv_transaction_id, in case this
138 --                                     is not NULL, all the calculations
139 --                                     to be done will be related to the
140 --                                     txn_id only.
141 --                                     The txn_id will be used for PAC period
142 --                                     end accrual procedure
143 --
144 --   OUT             :
145 --     x_return_status    VARCHAR2
146 --     x_msg_count        NUMBER
147 --     x_msg_data         VARCHAR2
148 --     x_accrual_rec      CST_PER_END_ACCRUALS_TEMP%ROWTYPE
149 --
150 --   Version : Current version       1.0
151 --
152 -- End of comments
153 -----------------------------------------------------------------------------
154 PROCEDURE Calculate_AccrualAmount
155 (
156     p_api_version                   IN      NUMBER,
157     p_init_msg_list                 IN      VARCHAR2,
158     p_validation_level              IN      NUMBER,
159     x_return_status                 OUT     NOCOPY VARCHAR2,
160     x_msg_count                     OUT     NOCOPY NUMBER,
161     x_msg_data                      OUT     NOCOPY VARCHAR2,
162 
163     p_service_flag                  IN      NUMBER,
164     p_dist_qty                      IN      NUMBER,
165     p_shipment_qty                  IN      NUMBER,
166     p_end_date                      IN      DATE,
167     p_transaction_id                IN      NUMBER DEFAULT NULL,
168 
169     x_accrual_rec                   IN OUT  NOCOPY CST_PER_END_ACCRUALS_TEMP%ROWTYPE
170 );
171 
172 -----------------------------------------------------------------------------
173 -- Start of comments
174 --   API name        : Calculate_AccrualAmount
175 --   Type            : Private
176 --   Function        : Procedure for PAC period end accrual process.
177 --                     The procedure will return accrual and encum quantities only
178 --                     This procedure will be used by the following programs:
179 --                      1. Periodic Period end accruals process
180 --                      2. Periodic Material and Receiving Distribution Report
181 --
182 --   Pre-reqs        : None.
183 --   Parameters      :
184 --   IN              :
185 --     p_api_version      NUMBER       Required
186 --     p_init_msg_list    VARCHAR2     Required
187 --     p_validation_level NUMBER       Required
188 --     p_match_option     VARCHAR2     Required
189 --                                     'R' for match to receipt or
190 --                                     'P' for Match to PO
191 --     p_distribution_id  NUMBER       Required
192 --     p_shipment_id      NUMBER       Required
193 --     p_transaction_id   NUMBER       Required
194 --     p_service_flag     NUMBER       Required
195 --                                     1 for AMOUNT and 0 for QUANTITY
196 --                                     based
197 --     p_dist_qty         NUMBER       Required
198 --     p_shipment_qty     NUMBER       Required
199 --     p_end_date         DATE         Required
200 --
201 --   OUT             :
202 --     x_return_status    VARCHAR2
203 --     x_msg_count        NUMBER
204 --     x_msg_data         VARCHAR2
205 --     x_accrual_qty      NUMBER
206 --     x_encum_qty        NUMBER
207 --
208 --   Version : Current version       1.0
209 --
210 -- End of comments
211 -----------------------------------------------------------------------------
212 PROCEDURE Calculate_AccrualAmount
213 (
214     p_api_version                   IN      NUMBER,
215     p_init_msg_list                 IN      VARCHAR2,
216     p_validation_level              IN      NUMBER,
217     x_return_status                 OUT     NOCOPY VARCHAR2,
218     x_msg_count                     OUT     NOCOPY NUMBER,
219     x_msg_data                      OUT     NOCOPY VARCHAR2,
220 
221     p_match_option                  IN      VARCHAR2,
222     p_distribution_id               IN      NUMBER,
223     p_shipment_id                   IN      NUMBER,
224     p_transaction_id                IN      NUMBER,
225     p_service_flag                  IN      NUMBER,
226     p_dist_qty                      IN      NUMBER,
227     p_shipment_qty                  IN      NUMBER,
228     p_end_date                      IN      DATE,
229 
230     x_accrual_qty                   OUT     NOCOPY NUMBER,
231     x_encum_qty                     OUT     NOCOPY NUMBER
232 );
233 
234 -----------------------------------------------------------------------------
235 -- Start of comments
236 --   API name        : Get_RcvQuantity
237 --   Type            : Private
238 --   Function        : Returns the Net Quantity Received and net quantity
239 --                     delivered against a Shipment or against a Receipt
240 --
241 --                     net_qty_received = Quantity received
242 --                                       - return to vendor + corrections
243 --
244 --                     net_qty_delivered = Quantity delivered
245 --                                      - return to receiving + corrections
246 --
247 --                     The returned value will be in PO's UOM.
248 --
249 --   Pre-reqs        : None.
250 --   Parameters      :
251 --   IN              :
252 --     p_api_version      NUMBER       Required
253 --     p_init_msg_list    VARCHAR2     Required
254 --     p_validation_level NUMBER       Required
255 --     p_line_location_id NUMBER       Optional         default NULL
259 --                                     RCV Shipment id against which net quantity
256 --                                     Shipment id against which net quantity
257 --                                     received and delivered is to be calculated
258 --     p_rcv_shipment_id  NUMBER       Optional         default NULL
260 --                                     received and delivered is to be calculated
261 --                                     in case of Match to Receipt cases
262 --     p_rcv_txn_id       NUMBER       Optional         default NULL
263 --                                     The txn_id will be used for PAC period
264 --                                     end accrual procedure
265 --     p_service_flag     NUMBER       Required
266 --     p_end_date         DATE         Required
267 --
268 --     Note: Both p_line_location_id and p_rcv_txn_id should not be NULL
269 --           at a time
270 --
271 --   OUT             :
272 --     x_return_status    VARCHAR2
273 --     x_msg_count        NUMBER
274 --     x_msg_data         VARCHAR2
275 --     g_nqr              NUMBER
276 --     g_nqd              NUMBER
277 --     g_dist_nqd         NUMBER
278 --
279 --   Version : Current version       1.0
280 --
281 -- End of comments
282 -----------------------------------------------------------------------------
283 PROCEDURE Get_RcvQuantity
284 (
285     p_api_version                   IN      NUMBER,
286     p_init_msg_list                 IN      VARCHAR2,
287     p_validation_level              IN      NUMBER,
288     x_return_status                 OUT     NOCOPY VARCHAR2,
289     x_msg_count                     OUT     NOCOPY NUMBER,
290     x_msg_data                      OUT     NOCOPY VARCHAR2,
291 
292     p_line_location_id              IN      NUMBER DEFAULT NULL,
293     p_rcv_shipment_id               IN      NUMBER DEFAULT NULL,
294     p_rcv_txn_id                    IN      NUMBER DEFAULT NULL,
295     p_service_flag                  IN      NUMBER,
296     p_end_date                      IN      DATE
297 );
298 
299 -----------------------------------------------------------------------------
300 -- Start of comments
301 --   API name        : Get_InvoiceQuantity
302 --   Type            : Private
303 --   Function        : Returns quantity invoiced against the distribution
304 --                     or the receipt.
305 --
306 --   Pre-reqs        : None.
307 --   Parameters      :
308 --   IN              :
309 --     p_api_version      NUMBER       Required
310 --     p_init_msg_list    VARCHAR2     Required
311 --     p_validation_level NUMBER       Required
312 --     p_match_option     VARCHAR2     Required
313 --                                     determines, whether to calculate quantity
314 --                                     invoiced against distribution or receive
315 --                                     transaction
316 --     p_dist_id          NUMBER       Required
317 --                                     Distribution_id against which net quantity
318 --                                     invoiced is to be calculated
319 --     p_rcv_txn_id       NUMBER       Optional         default NULL
320 --                                     The txn_id will be used for PAC period
321 --                                     end accrual procedure
322 --     p_service_flag     NUMBER       Required
323 --     p_end_date         DATE         Required
324 --
325 --   OUT             :
326 --     x_return_status    VARCHAR2
327 --     x_msg_count        NUMBER
328 --     x_msg_data         VARCHAR2
329 --     x_quantity_invoiced NUMBER
330 --
331 --   Version : Current version       1.0
332 --
333 -- End of comments
334 -----------------------------------------------------------------------------
335 PROCEDURE Get_InvoiceQuantity
336 (
337     p_api_version                   IN      NUMBER,
338     p_init_msg_list                 IN      VARCHAR2,
339     p_validation_level              IN      NUMBER,
340     x_return_status                 OUT     NOCOPY VARCHAR2,
341     x_msg_count                     OUT     NOCOPY NUMBER,
342     x_msg_data                      OUT     NOCOPY VARCHAR2,
343 
344     p_match_option                  IN      VARCHAR2,
345     p_dist_id                       IN      NUMBER,
346     p_rcv_txn_id                    IN      NUMBER DEFAULT NULL,
347     p_service_flag                  IN      NUMBER,
348     p_end_date                      IN      DATE,
349     x_quantity_invoiced             OUT     NOCOPY NUMBER
350 );
351 
352 END CST_PerEndAccruals_PVT;