DBA Data[Home] [Help]

PACKAGE: APPS.XLA_AE_JOURNAL_ENTRY_PKG

Source


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