DBA Data[Home] [Help]

PACKAGE: APPS.CST_RECEIPTACCRUALPEREND_PVT

Source


1 PACKAGE CST_ReceiptAccrualPerEnd_PVT AUTHID CURRENT_USER AS
2 /* $Header: CSTVRAPS.pls 120.5.12010000.2 2008/08/08 14:27:09 mpuranik ship $ */
3 
4 -----------------------------------------------------------------------------
5 -- Record type for System_setup information
6 -----------------------------------------------------------------------------
7 /* Bug6987381 : Added Org_id */
8 TYPE cst_sys_setup_rec_type IS RECORD (
9         set_of_books_id                 NUMBER(15),
10         chart_of_accounts_id            NUMBER(15),
11         functional_currency_code        VARCHAR2(15),
12         purch_encumbrance_flag          VARCHAR2(1),
13         period_name                     VARCHAR2(15),
14         accrual_effect_date             DATE,
15         accrual_cutoff_date             DATE,
16         period_end_date                 DATE,
17         transaction_date                DATE,
18         user_je_source_name             VARCHAR2(25),
19         user_je_category_name           VARCHAR2(25),
20 	org_id                          NUMBER(15)
21         );
22 
23 -----------------------------------------------------------------------------
24 -- Record type for period end accrual information
25 -----------------------------------------------------------------------------
26 TYPE cst_accrual_info_rec_type IS RECORD (
27         rcv_acc_event_id                NUMBER,
28         actual_flag                     VARCHAR2(1),
29         currency_code                   VARCHAR2(15),
30         code_combination_id             NUMBER,
31         entered_dr                      NUMBER,
32         entered_cr                      NUMBER,
33         accounted_dr                    NUMBER,
34         accounted_cr                    NUMBER,
35         currency_conversion_date        DATE,
36         user_currency_conversion_type   VARCHAR2(30),
37         currency_conversion_rate        NUMBER,
38         po_header_id                    NUMBER,
39         distribution_id                 NUMBER,
40         po_number                       VARCHAR2(25),
41         source_doc_quantity             NUMBER,
42         entered_rec_tax                 NUMBER,
43         entered_nr_tax                  NUMBER,
44         accounted_rec_tax               NUMBER,
45         accounted_nr_tax                NUMBER,
46         accrual_method_flag             VARCHAR2(1),
47         accounting_line_type            VARCHAR2(25),
48         parent_rcv_acc_event_id         NUMBER
49         );
50 
51 -----------------------------------------------------------------------------
52 -- Table types for RCV_RECEIVING_SUB_LEDGER
53 -----------------------------------------------------------------------------
54 TYPE rcv_acc_event_id_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
55 TYPE pnt_rcv_acc_event_id_tbl_type IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
56 TYPE actual_flag_tbl_type          IS TABLE OF VARCHAR2(1)   INDEX BY BINARY_INTEGER;
57 TYPE currency_code_tbl_type        IS TABLE OF VARCHAR2(15)  INDEX BY BINARY_INTEGER;
58 TYPE code_combination_id_tbl_type  IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
59 TYPE entered_dr_tbl_type           IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
60 TYPE entered_cr_tbl_type           IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
61 TYPE accounted_dr_tbl_type         IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
62 TYPE accounted_cr_tbl_type         IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
63 TYPE curr_conversion_date_tbl_type IS TABLE OF DATE          INDEX BY BINARY_INTEGER;
64 TYPE user_curr_conversion_tbl_type IS TABLE OF VARCHAR2(30)  INDEX BY BINARY_INTEGER;
65 TYPE curr_conversion_rate_tbl_type IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
66 TYPE po_header_id_tbl_type         IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
67 TYPE shipment_id_tbl_type          IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
68 TYPE distribution_id_tbl_type      IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
69 TYPE po_number_tbl_type            IS TABLE OF VARCHAR2(25)  INDEX BY BINARY_INTEGER;
70 TYPE source_doc_quantity_tbl_type  IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
71 TYPE entered_rec_tax_tbl_type      IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
72 TYPE entered_nr_tax_tbl_type       IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
73 TYPE accounted_rec_tax_tbl_type    IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
74 TYPE accounted_nr_tax_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
75 TYPE accrual_method_flag_tbl_type  IS TABLE OF VARCHAR2(1)   INDEX BY BINARY_INTEGER;
76 TYPE accounting_line_type_tbl_type IS TABLE OF VARCHAR2(25)  INDEX BY BINARY_INTEGER;
77 
78 -----------------------------------------------------------------------------
79 -- Table types for RCV_ACCOUNTING_EVENTS
80 -----------------------------------------------------------------------------
81 TYPE rae_event_id_tbl_type         IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
82 TYPE rae_event_type_id_tbl_type    IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
83 TYPE rae_inv_org_id_tbl_type       IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
84 TYPE rae_po_number_tbl_type        IS TABLE OF VARCHAR2(25)  INDEX BY BINARY_INTEGER;
85 TYPE rae_distribution_id_tbl_type  IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
86 TYPE rae_qty_received_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
87 TYPE rae_qty_invoiced_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
88 TYPE rae_unit_pice_tbl_type        IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
89 TYPE rae_txn_qty_tbl_type          IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
90 TYPE rae_txn_amount_tbl_type       IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
91 TYPE rae_currency_code_tbl_type    IS TABLE OF VARCHAR2(15)  INDEX BY BINARY_INTEGER;
92 TYPE rae_cur_conv_type_tbl_type    IS TABLE OF VARCHAR2(30)  INDEX BY BINARY_INTEGER;
93 TYPE rae_cur_conv_rate_tbl_type    IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
94 TYPE rae_cur_conv_date_tbl_type    IS TABLE OF DATE          INDEX BY BINARY_INTEGER;
95 
96 TYPE accrual_index_tbl_type        IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
97 TYPE encum_index_tbl_type          IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
98 /*Bug6987381*/
99 TYPE rae_pnt_event_id_tbl_type     IS TABLE OF NUMBER        INDEX BY BINARY_INTEGER;
100 
101 -----------------------------------------------------------------------------
102 -- PL/SQL tables for RCV_RECEIVING_SUB_LEDGER
103 -----------------------------------------------------------------------------
104 g_rcv_acc_event_id_tbl             RCV_ACC_EVENT_ID_TBL_TYPE;
105 g_pnt_rcv_acc_event_id_tbl         PNT_RCV_ACC_EVENT_ID_TBL_TYPE;
106 g_actual_flag_tbl                  ACTUAL_FLAG_TBL_TYPE;
107 g_currency_code_tbl                CURRENCY_CODE_TBL_TYPE;
108 g_code_combination_id_tbl          CODE_COMBINATION_ID_TBL_TYPE;
109 g_entered_dr_tbl                   ENTERED_DR_TBL_TYPE;
110 g_entered_cr_tbl                   ENTERED_CR_TBL_TYPE;
111 g_accounted_dr_tbl                 ACCOUNTED_DR_TBL_TYPE;
112 g_accounted_cr_tbl                 ACCOUNTED_CR_TBL_TYPE;
113 g_curr_conversion_date_tbl         CURR_CONVERSION_DATE_TBL_TYPE;
114 g_user_curr_conversion_tbl         USER_CURR_CONVERSION_TBL_TYPE;
115 g_curr_conversion_rate_tbl         CURR_CONVERSION_RATE_TBL_TYPE;
116 g_po_header_id_tbl                 PO_HEADER_ID_TBL_TYPE;
117 g_shipment_id_tbl                  SHIPMENT_ID_TBL_TYPE;
118 g_distribution_id_tbl              DISTRIBUTION_ID_TBL_TYPE;
119 g_po_number_tbl                    PO_NUMBER_TBL_TYPE;
120 g_source_doc_quantity_tbl          SOURCE_DOC_QUANTITY_TBL_TYPE;
121 g_entered_rec_tax_tbl              ENTERED_REC_TAX_TBL_TYPE;
122 g_entered_nr_tax_tbl               ENTERED_NR_TAX_TBL_TYPE;
123 g_accounted_rec_tax_tbl            ACCOUNTED_REC_TAX_TBL_TYPE;
124 g_accounted_nr_tax_tbl             ACCOUNTED_NR_TAX_TBL_TYPE;
125 g_accrual_method_flag_tbl          ACCRUAL_METHOD_FLAG_TBL_TYPE;
126 g_accounting_line_type_tbl         ACCOUNTING_LINE_TYPE_TBL_TYPE;
127 
128 -----------------------------------------------------------------------------
129 -- List of distribution_id, for which Accrued flag has to be set to 'Y'
130 -- The table will be populated by CST_PerEndAccruals_PVT.Create_PerEndAccruals
131 -----------------------------------------------------------------------------
132 g_accrued_dist_id_tbl              DISTRIBUTION_ID_TBL_TYPE;
133 
134 -----------------------------------------------------------------------------
135 -- PL/SQL tables for RCV_ACCOUNTING_EVENTS
136 -----------------------------------------------------------------------------
137 g_rae_event_id_tbl                 RAE_EVENT_ID_TBL_TYPE;
138 g_rae_event_type_id_tbl            RAE_EVENT_TYPE_ID_TBL_TYPE;
139 g_rae_distribution_id_tbl          RAE_DISTRIBUTION_ID_TBL_TYPE;
140 g_rae_inv_org_id_tbl               RAE_INV_ORG_ID_TBL_TYPE;
141 g_rae_po_number_tbl                RAE_PO_NUMBER_TBL_TYPE;
142 g_rae_qty_received_tbl             RAE_QTY_RECEIVED_TBL_TYPE;
143 g_rae_qty_invoiced_tbl             RAE_QTY_INVOICED_TBL_TYPE;
144 g_rae_unit_pice_tbl                RAE_UNIT_PICE_TBL_TYPE;
145 g_rae_txn_qty_tbl                  RAE_TXN_QTY_TBL_TYPE;
146 g_rae_txn_amount_tbl               RAE_TXN_AMOUNT_TBL_TYPE;
147 g_rae_currency_code_tbl            RAE_CURRENCY_CODE_TBL_TYPE;
148 g_rae_cur_conv_type_tbl            RAE_CUR_CONV_TYPE_TBL_TYPE;
149 g_rae_cur_conv_rate_tbl            RAE_CUR_CONV_RATE_TBL_TYPE;
150 g_rae_cur_conv_date_tbl            RAE_CUR_CONV_DATE_TBL_TYPE;
151 /*Bug6987381*/
152 g_rae_pnt_event_id_tbl             RAE_PNT_EVENT_ID_TBL_TYPE;
153 -----------------------------------------------------------------------------
154 -- PL/SQL tables, which works as index tables for accounting_event_id PL/SQL table
155 -----------------------------------------------------------------------------
156 g_accrual_index_tbl                ACCRUAL_INDEX_TBL_TYPE;
157 g_encum_index_tbl                  ENCUM_INDEX_TBL_TYPE;
158 
159 -----------------------------------------------------------------------------
160 -- Global counter, stores no. of rows in PL/SQL tables for
161 -- RCV_RECEIVING_SUB_LEDGER
162 -----------------------------------------------------------------------------
163 g_counter                          NUMBER;
164 
165 
166 -----------------------------------------------------------------------------
167 -- Start of comments
168 --   API name        : Start_Process
169 --   Type            : Private
170 --   Function        : Starting point for Receipt Accruals - Period End
171 --                     Concurrent Program.
172 --   Pre-reqs        : None.
173 --   Parameters      :
174 --   IN              :
175 --     p_min_accrual_amount   NUMBER       Required
176 --     p_vendor_id        NUMBER       Required
177 --     p_struct_num       NUMBER       Required
178 --     p_category_id      NUMBER       Required
179 --     p_period_name      VARCHAR2     Required
180 --
181 --   OUT             :
182 --     errbuf             VARCHAR2
183 --     retcode            NUMBER
184 --
185 --   Version : Current version       1.0
186 --
187 -- End of comments
188 -----------------------------------------------------------------------------
189 PROCEDURE Start_Process
190 (
191     errbuf                          OUT     NOCOPY VARCHAR2,
192     retcode                         OUT     NOCOPY NUMBER,
193 
194     p_min_accrual_amount            IN      NUMBER,
195     p_vendor_id                     IN      NUMBER,
196     p_struct_num                    IN      NUMBER,
197     p_category_id                   IN      NUMBER,
198     p_period_name                   IN      VARCHAR2
199 );
200 
201 -----------------------------------------------------------------------------
202 -- Start of comments
203 --   API name        : Seed_RcvAccountingEvents
204 --   Type            : Private
205 --   Function        : The procedure created events in RCV_ACCOUNTING_EVENTS
206 --                     table.
207 --                     The procedure generates data for RAE and creates PL/SQL
208 --                     table, which will be used for bulk inserting the data
209 --                     in RCV_ACCOUNTING_EVENTS.
210 --
211 --   Pre-reqs        : None.
212 --   Parameters      :
213 --   IN              :
214 --     p_api_version      NUMBER       Required
215 --     p_init_msg_list    VARCHAR2     Required
216 --     p_commit           VARCHAR2     Required
217 --     p_validation_level NUMBER       Required
218 --     p_sys_setup_rec    CST_SYS_SETUP_REC_TYPE Required
219 --
220 --   OUT             :
221 --     x_return_status    VARCHAR2
222 --     x_msg_count        NUMBER
223 --     x_msg_data         VARCHAR2
224 --
225 --   Version : Current version       1.0
226 --
227 -- End of comments
228 -----------------------------------------------------------------------------
229 PROCEDURE Seed_RcvAccountingEvents
230 (
231     p_api_version                   IN      NUMBER,
232     p_init_msg_list                 IN      VARCHAR2,
233     p_commit                        IN      VARCHAR2,
234     p_validation_level              IN      NUMBER,
235 
236     x_return_status                 OUT     NOCOPY VARCHAR2,
237     x_msg_count                     OUT     NOCOPY NUMBER,
238     x_msg_data                      OUT     NOCOPY VARCHAR2,
239 
240     p_sys_setup_rec                 IN      CST_SYS_SETUP_REC_TYPE
241 );
242 
243 -----------------------------------------------------------------------------
244 -- Start of comments
245 --   API name        : Create_AccrualAccount
246 --   Type            : Private
247 --   Function        : The procedure fetches data from temp table
248 --                     CST_PER_END_ACCRUALS_TEMP, and populates PL/SQL tables
249 --                     with the corresponding accrual info for the tables
250 --                     RCV_RECEIVING_SUB_LEDGER
251 --
252 --   Pre-reqs        : None.
253 --   Parameters      :
254 --   IN              :
255 --     p_api_version      NUMBER       Required
256 --     p_init_msg_list    VARCHAR2     Required
257 --     p_commit           VARCHAR2     Required
258 --     p_validation_level NUMBER       Required
259 --     p_sys_setup_rec    CST_SYS_SETUP_REC_TYPE Required
260 --
261 --   OUT             :
262 --     x_return_status    VARCHAR2
263 --     x_msg_count        NUMBER
264 --     x_msg_data         VARCHAR2
265 --
266 --   Version : Current version       1.0
267 --
268 -- End of comments
269 -----------------------------------------------------------------------------
270 PROCEDURE Create_AccrualAccount
271 (
272     p_api_version                   IN      NUMBER,
273     p_init_msg_list                 IN      VARCHAR2,
274     p_commit                        IN      VARCHAR2,
275     p_validation_level              IN      NUMBER,
276 
277     x_return_status                 OUT     NOCOPY VARCHAR2,
278     x_msg_count                     OUT     NOCOPY NUMBER,
279     x_msg_data                      OUT     NOCOPY VARCHAR2,
280 
281     p_sys_setup_rec                 IN      CST_SYS_SETUP_REC_TYPE
282 );
283 
284 -----------------------------------------------------------------------------
285 -- Start of comments
286 --   API name        : Insert_Account
287 --   Type            : Private
288 --   Function        : The procedure adds a new row to the PL/SQL tables for
289 --                     each accrual_info_rec record.
290 --
291 --   Pre-reqs        : None.
292 --   Parameters      :
293 --   IN              :
294 --     p_api_version      NUMBER       Required
295 --     p_init_msg_list    VARCHAR2     Required
296 --     p_commit           VARCHAR2     Required
297 --     p_validation_level NUMBER       Required
298 --     p_accrual_info_rec CST_ACCRUAL_INFO_REC_TYPE  Required
299 --     p_sys_setup_rec    CST_SYS_SETUP_REC_TYPE     Required
300 --
301 --   OUT             :
302 --     x_return_status    VARCHAR2
303 --     x_msg_count        NUMBER
304 --     x_msg_data         VARCHAR2
305 --
306 --   Version : Current version       1.0
307 --
308 -- End of comments
309 -----------------------------------------------------------------------------
310 PROCEDURE Insert_Account
311 (
312     p_api_version                   IN      NUMBER,
313     p_init_msg_list                 IN      VARCHAR2,
314     p_commit                        IN      VARCHAR2,
315     p_validation_level              IN      NUMBER,
316 
317     x_return_status                 OUT     NOCOPY VARCHAR2,
318     x_msg_count                     OUT     NOCOPY NUMBER,
319     x_msg_data                      OUT     NOCOPY VARCHAR2,
320 
321     p_accrual_info_rec              IN      CST_ACCRUAL_INFO_REC_TYPE,
322     p_sys_setup_rec                 IN      CST_SYS_SETUP_REC_TYPE
323 );
324 
325 -----------------------------------------------------------------------------
326 -- Start of comments
327 --   API name        : Insert_AccrualSubLedger
328 --   Type            : Private
329 --   Function        : Insert accounting entries in RCV_RECEIVING_SUB_LEDGER
330 --   Pre-reqs        : None.
331 --   Parameters      :
332 --   IN              :
333 --     p_api_version      NUMBER       Required
334 --     p_init_msg_list    VARCHAR2     Required
335 --     p_commit           VARCHAR2     Required
336 --     p_validation_level NUMBER       Required
337 --     p_sys_setup_rec    CST_SYS_SETUP_REC_TYPE     Required
338 --
339 --   OUT             :
340 --     x_return_status    VARCHAR2
341 --     x_msg_count        NUMBER
342 --     x_msg_data         VARCHAR2
343 --
344 --   Version : Current version       1.0
345 --
346 -- End of comments
347 -----------------------------------------------------------------------------
348 PROCEDURE Insert_AccrualSubLedger
349 (
350     p_api_version                   IN      NUMBER,
351     p_init_msg_list                 IN      VARCHAR2,
352     p_commit                        IN      VARCHAR2,
353     p_validation_level              IN      NUMBER,
354 
355     x_return_status                 OUT     NOCOPY VARCHAR2,
356     x_msg_count                     OUT     NOCOPY NUMBER,
357     x_msg_data                      OUT     NOCOPY VARCHAR2,
358 
359     p_sys_setup_rec                 IN      CST_SYS_SETUP_REC_TYPE
360 );
361 
362 -----------------------------------------------------------------------------
363 -- Start of comments
364 --   API name        : Get_SystemSetup
365 --   Type            : Private
366 --   Function        : Get system set-up information e.g. set_of_books,
367 --                     functional_currency, chart_of_accounts,
368 --                     purchase_encumbrance_flag etc
369 --
370 --   Pre-reqs        : None.
371 --   Parameters      :
372 --   IN              :
373 --     p_api_version      NUMBER       Required
374 --     p_init_msg_list    VARCHAR2     Required
375 --     p_validation_level NUMBER       Required
376 --     p_period_name      VARCHAR2     Required
377 --
378 --   OUT             :
379 --     x_return_status    VARCHAR2
380 --     x_msg_count        NUMBER
381 --     x_msg_data         VARCHAR2
382 --     x_sys_setup_rec    CST_SYS_SETUP_REC_TYPE
383 --
384 --   Version : Current version       1.0
385 --
386 -- End of comments
387 -----------------------------------------------------------------------------
388 PROCEDURE Get_SystemSetup
389 (
390     p_api_version                   IN      NUMBER,
391     p_init_msg_list                 IN      VARCHAR2,
392     p_validation_level              IN      NUMBER,
393 
394     x_return_status                 OUT     NOCOPY VARCHAR2,
395     x_msg_count                     OUT     NOCOPY NUMBER,
396     x_msg_data                      OUT     NOCOPY VARCHAR2,
397 
398     p_period_name                   IN      VARCHAR2,
399     x_sys_setup_rec                 OUT     NOCOPY CST_SYS_SETUP_REC_TYPE
400 );
401 
402 END CST_ReceiptAccrualPerEnd_PVT;