1 PACKAGE xla_ae_journal_entry_pkg AS
2 /* $Header: xlajejex.pkh 120.25.12010000.1 2008/07/29 10:05:29 appldev ship $ */
3 /*===========================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +============================================================================+
8 | PACKAGE NAME |
9 | xla_ae_journal_entry_pkg |
10 | |
11 | DESCRIPTION |
12 | |
13 | |
14 | HISTORY |
15 | 20-NOV-2002 K.Boussema Created |
16 | 10-JAN-2003 K.Boussema Added 'dbdrv' command |
17 | 20-FEB-2003 K.Boussema Made changes for the new bulk approach of the|
18 | accounting engine |
19 | 19-APR-2003 K.Boussema Included Error messages |
20 | 05-MAI-2003 K.Boussema Added sla_ledger_id in ledger cache |
21 | 07-MAI-2003 K.Boussema Added event_created_by in event cache |
22 | 17-JUL-2003 K.Boussema Updated the call to accounting cache, 3055039|
23 | 29-JAN-2003 K.Boussema Reviewed the code to solve bug 3072881 |
24 | 13-NOV-2003 K.Boussema Increased the size of sl_coa_mapping_name |
25 | 26-NOV-2003 K.Boussema Added the pl/sql structure t_array_V33L |
26 | 21-Sep-2004 S.Singhania Made ffg changes for the Bulk Performance: |
27 | -- Defined new structures and global |
28 | variables. |
29 | -- Defined a new constant C_RELATED_INVALID|
30 | -- Modified routines GetLedgersInfo and |
31 | InsertJournalEntries |
32 | -- Added new routine set_event_info |
33 | -- Removed routine cache_event_info |
34 | 06-Oct-2004 K.Boussema Made changes for the Accounting Event Extract|
35 | Diagnostics feature. |
36 | 09-Mar-2005 W. Shen Ledger Currency Project |
37 | change the type definition t_rec_ledgers_info|
38 | Add a new function adjust_display_line_num |
39 | 14-Mar-2005 K.Boussema Changed for ADR-enhancements. |
40 | 10-May-2005 W. Shen Ledger currency Project. Add transaction_date |
41 | to t_rec_event(will add to procedure |
42 | set_event_info later) |
43 | remove the adjust_display_linenum function |
44 | 26-May-2005 A. Wan 4262811 MPA project |
45 | 1-Jul-2005 W. Shen add calculate_amts_flag to ledger cache |
46 | add ledger_category_code to ledger_cache |
47 +===========================================================================*/
48 --
49 --
50 --+==========================================================================+
51 --| |
52 --| |
53 --| PUBLIC structures |
54 --| |
55 --| |
56 --+==========================================================================+
57 --
58 --
59 TYPE t_array_value_num IS TABLE OF NUMBER INDEX BY VARCHAR2(30);
60 TYPE t_array_value_char IS TABLE OF VARCHAR2(240) INDEX BY VARCHAR2(30);
61 TYPE t_array_value_date IS TABLE OF DATE INDEX BY VARCHAR2(30);
62
63 TYPE t_array_header_num IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; -- 4262811
64
65 TYPE t_rec_value IS RECORD
66 (array_value_num t_array_value_num
67 ,array_value_char t_array_value_char
68 ,array_value_date t_array_value_date);
69
70 TYPE t_array_event IS TABLE OF t_rec_value INDEX BY BINARY_INTEGER;
71
72 g_array_event t_array_event;
73 g_null_array_event t_array_event;
74
75 TYPE t_array_event_id IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
76 TYPE t_array_ledger_id IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
77 TYPE t_array_balance_type IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
78 TYPE t_array_ae_header_id IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
79
80 --
81 --
82 TYPE t_array_V1L IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
83 TYPE t_array_V15L IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
84 TYPE t_array_V25L IS TABLE OF VARCHAR2(25) INDEX BY BINARY_INTEGER;
85 TYPE t_array_V30L IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
86 TYPE t_array_V33L IS TABLE OF VARCHAR2(33) INDEX BY BINARY_INTEGER;
87 TYPE t_array_V80L IS TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
88 TYPE t_array_V100L IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
89 TYPE t_array_V240L IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
90 TYPE t_array_V4000L IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
91 TYPE t_array_Num IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
92 TYPE t_array_Int IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;
93 TYPE t_array_Date IS TABLE OF DATE INDEX BY BINARY_INTEGER;
94 --
95 --
96 TYPE t_rec_event_tl IS RECORD
97 (event_class_name VARCHAR2(80)
98 ,session_event_class VARCHAR2(80)
99 ,event_type_name VARCHAR2(80)
100 ,session_event_type VARCHAR2(80)
101 );
102 --
103 --
104 TYPE t_rec_event IS RECORD
105 (application_id NUMBER
106 ,application_name VARCHAR2(240)
107 ,ledger_id NUMBER
108 ,base_ledger_id NUMBER
109 ,target_ledger_id NUMBER
110 ,legal_entity_id NUMBER
111 ,entity_id NUMBER
112 ,entity_code VARCHAR2(30)
113 ,transaction_num VARCHAR2(240)
114 ,event_id NUMBER
115 ,event_class VARCHAR2(30)
116 ,event_type VARCHAR2(30)
117 ,event_number NUMBER
118 ,event_date DATE
119 ,transaction_date DATE
120 ,reference_num_1 NUMBER
121 ,reference_num_2 NUMBER
122 ,reference_num_3 NUMBER
123 ,reference_num_4 NUMBER
124 ,reference_char_1 VARCHAR2(240)
125 ,reference_char_2 VARCHAR2(240)
126 ,reference_char_3 VARCHAR2(240)
127 ,reference_char_4 VARCHAR2(240)
128 ,reference_date_1 DATE
129 ,reference_date_2 DATE
130 ,reference_date_3 DATE
131 ,reference_date_4 DATE
132 ,event_created_by VARCHAR2(100)
133 ,accounting_mode VARCHAR2(1)
134 ,accounting_batch_id NUMBER
135 ,budgetary_control_flag VARCHAR2(1)
136 );
137 --
138 -- bulk performance
139 --
140 type t_array_event_new is table of t_rec_event index by binary_integer;
141 --
142 --
143 TYPE t_rec_ledgers_info IS RECORD
144 (
145 description_language VARCHAR2(15)
146 ,nls_desc_language VARCHAR2(30)
147 ,currency_code VARCHAR2(30)
148 ,sla_ledger_id INTEGER
149 ,source_coa_id INTEGER
150 ,target_coa_id INTEGER
151 ,ledger_reversal_option VARCHAR2(30)
152 ,sl_coa_mapping_name VARCHAR2(33)
153 ,sl_coa_mapping_id NUMBER
154 ,dynamic_insert_flag VARCHAR2(1)
155 ,minimum_accountable_unit NUMBER
156 ,rounding_rule_code VARCHAR2(30)
157 ,ledger_category_code VARCHAR2(30)
158 ,calculate_amts_flag VARCHAR2(1)
159 -- This flag indicate whether the amount needs to be calculate for secondary
160 -- and alc
161 )
162 ;
163 --
164 --
165 TYPE t_rec_product_rule IS RECORD
166 (
167 product_rule_type_code VARCHAR2(1),
168 product_rule_code VARCHAR2(30),
169 product_rule_version VARCHAR2(30),
170 product_rule_name VARCHAR2(80),
171 pad_session_name VARCHAR2(80),
172 pad_compile_status VARCHAR2(1),
173 amb_context_code VARCHAR2(30),
174 pad_package_name VARCHAR2(30)
175 )
176 ;
177 --
178 --+==========================================================================+
179 --| |
180 --| |
181 --| PUBLIC constants |
182 --| |
183 --| |
184 --+==========================================================================+
185 --
186 --
187 --
188 C_FINAL_JE CONSTANT VARCHAR2(1) := 'F';
189 C_INVALID_JE CONSTANT VARCHAR2(1) := 'I';
190 C_DRAFT_JE CONSTANT VARCHAR2(1) := 'D';
191 C_INCOMPLETE_JE CONSTANT VARCHAR2(1) := 'N';
192 --
193 --
194 C_ACTUAL CONSTANT VARCHAR2(1) := 'A';
195 C_BUDGET CONSTANT VARCHAR2(1) := 'B';
196 C_ENCUMBRANCE CONSTANT VARCHAR2(1) := 'E';
197 --
198 C_VALID CONSTANT NUMBER := 0;
199 C_INVALID CONSTANT NUMBER := 1;
200 C_NOT_CREATED CONSTANT NUMBER := 2;
201 --
202 -- bulk performance
203 --
204 C_RELATED_INVALID CONSTANT NUMBER := 3;
205 --
206 --
207 -- Accounting entry type code
208 --
209 C_STANDARD CONSTANT VARCHAR2(30) := 'STANDARD';
210 --
211 C_ALL CONSTANT VARCHAR2(1) := 'A';
212 C_SAME_SIDE CONSTANT VARCHAR2(1) := 'W';
213 C_NO_MERGE CONSTANT VARCHAR2(1) := 'N';
214 --
215 --
216 C_NUM CONSTANT NUMBER := 9.99E125;
217 C_CHAR CONSTANT VARCHAR2(1) := '#';
218 C_DATE CONSTANT DATE := TO_DATE('1','j');
219 --
220 --+==========================================================================+
221 --| |
222 --| |
223 --| Global variables |
224 --| |
225 --| |
226 --+==========================================================================+
227 --
228 --
229 g_array_event_id t_array_event_id; -- linear indexed
230 g_null_array_event_id t_array_event_id;
231 g_array_ledger_id t_array_ledger_id; -- linear indexed
232 g_array_balance_type t_array_balance_type; -- linear indexed
233 g_array_ae_header_id t_array_ae_header_id; -- linear indexed
234 g_array_header_num t_array_ae_header_id; -- 4262811
235
236 --
237 --
238 g_cache_event t_rec_event;
239 g_cache_event_tl t_rec_event_tl;
240 g_cache_ledgers_info t_rec_ledgers_info;
241 g_cache_pad t_rec_product_rule;
242 g_global_status NUMBER :=2;
243
244 --
245 /*======================================================================+
246 | |
247 | Public Function |
248 | |
249 | |
250 +======================================================================*/
251 --
252 FUNCTION GetAlternateCurrencyLedger(p_base_ledger_id IN NUMBER)
253 RETURN xla_accounting_cache_pkg.t_array_ledger_id
254 ;
255 --
256 --
257 --
258 /*======================================================================+
259 | |
260 | Public PROCEDURE |
261 | |
262 | Update the stats of the journal entries creation (0,1,2) |
263 +======================================================================*/
264 --
265 PROCEDURE UpdateResult( p_old_status IN OUT NOCOPY NUMBER
266 , p_new_status IN NUMBER
267 )
268 ;
269 --
270
271 --
272 /*======================================================================+
273 | |
274 | Public Procedure |
275 | |
276 | |
277 +======================================================================*/
278 --
279 PROCEDURE free_ae_cache
280 ;
281 --
282 /*======================================================================+
283 | |
284 | Public Procedure |
285 | |
286 | |
287 +======================================================================*/
288 --
289
290 PROCEDURE SetProductAcctDefinition(
291 p_product_rule_code IN VARCHAR2
292 , p_product_rule_type_code IN VARCHAR2
293 , p_product_rule_version IN VARCHAR2
294 , p_product_rule_name IN VARCHAR2
295 , p_amb_context_code IN VARCHAR2
296 );
297
298 --
299 --
300 /*======================================================================+
301 | |
302 | Public Procedure |
303 | |
304 | |
305 +======================================================================*/
306 --
307 FUNCTION GetLedgersInfo(
308 p_application_id IN NUMBER
309 ,p_base_ledger_id IN NUMBER
310 ,p_target_ledger_id IN NUMBER
311 ,p_primary_ledger_id IN NUMBER
312 ,p_pad_start_date IN DATE DEFAULT NULL
313 ,p_pad_end_date IN DATE DEFAULT NULL
314 )
315 RETURN BOOLEAN
316 ;
317 --
318 --
319 --
320 /*======================================================================+
321 | |
322 | Public Procedure |
323 | |
324 | |
325 +======================================================================*/
326 --
327 FUNCTION GetTranslatedEventInfo
328 RETURN BOOLEAN
329 ;
330 --
331 --
332 /*======================================================================+
333 | |
334 | Insert final headers and distribution links |
338 --
335 | |
336 | |
337 +======================================================================*/
339 FUNCTION InsertJournalEntries(p_application_id IN INTEGER
340 ,p_accounting_batch_id IN NUMBER
341 ,p_end_date IN DATE -- 4262811
342 ,p_accounting_mode in VARCHAR2
343 ,p_budgetary_control_mode IN VARCHAR2) -- 4458381
344 RETURN NUMBER
345 ;
346 --
347 /*======================================================================+
348 | |
349 | Public PROCEDURE - 4219869 |
350 | |
351 | Update the journal entry header status for specified balance type. |
352 +======================================================================*/
353 --
354 PROCEDURE UpdateJournalEntryStatus( p_hdr_idx IN NUMBER
355 , p_balance_type_code IN VARCHAR2
356 )
357 ;
358
359 /*======================================================================+
360 | |
361 | Public PROCEDURE - 4262811 (for MPA) |
362 | |
363 | Update the journal entry header status for specified balance type. |
364 +======================================================================*/
365 --
366 PROCEDURE UpdateJournalEntryStatus( p_hdr_idx IN NUMBER
367 )
368 ;
369
370 --
371 /*======================================================================+
372 | |
373 | |
374 | |
375 +======================================================================*/
376 PROCEDURE set_event_info
377 (p_application_id IN NUMBER
378 ,p_primary_ledger_id IN NUMBER
379 ,p_base_ledger_id IN NUMBER
380 ,p_target_ledger_id IN NUMBER
381 ,p_entity_id IN NUMBER
382 ,p_legal_entity_id IN NUMBER
383 ,p_entity_code IN VARCHAR2
384 ,p_transaction_num IN VARCHAR2
385 ,p_event_id IN NUMBER
386 ,p_event_class_code IN VARCHAR2
387 ,p_event_type_code IN VARCHAR2
388 ,p_event_number IN NUMBER
389 ,p_event_date IN DATE
390 ,p_transaction_date IN DATE
391 ,p_reference_num_1 IN NUMBER
392 ,p_reference_num_2 IN NUMBER
393 ,p_reference_num_3 IN NUMBER
394 ,p_reference_num_4 IN NUMBER
395 ,p_reference_char_1 IN VARCHAR2
396 ,p_reference_char_2 IN VARCHAR2
397 ,p_reference_char_3 IN VARCHAR2
398 ,p_reference_char_4 IN VARCHAR2
399 ,p_reference_date_1 IN DATE
400 ,p_reference_date_2 IN DATE
401 ,p_reference_date_3 IN DATE
402 ,p_reference_date_4 IN DATE
403 ,p_event_created_by IN VARCHAR2
407 --PROCEDURE adjust_display_line_num(p_application_id in number);
404 ,p_budgetary_control_flag IN VARCHAR2);
405 --
406
408
409 END xla_ae_journal_entry_pkg; -- end of package spec