DBA Data[Home] [Help]

PACKAGE: APPS.XLA_ACCOUNTING_CACHE_PKG

Source


1 PACKAGE xla_accounting_cache_pkg AS
2 -- $Header: xlaapche.pkh 120.14.12010000.3 2008/11/14 12:05:23 shrakuma ship $
3 /*===========================================================================+
4 |             Copyright (c) 2001-2002 Oracle Corporation                     |
5 |                       Redwood Shores, CA, USA                              |
6 |                         All rights reserved.                               |
7 +============================================================================+
8 | FILENAME                                                                   |
9 |    xlaapche.pkh                                                            |
10 |                                                                            |
11 | PACKAGE NAME                                                               |
12 |    xla_accounting_cache_pkg                                                |
13 |                                                                            |
14 | DESCRIPTION                                                                |
15 |    This package is defined to cache the frequently used data during        |
16 |    execution of Accounting Program. This is to improve performance and     |
17 |    provide modular structure and lean interaction between Accounting Engine|
18 |    and Accounting Program.                                                 |
19 |                                                                            |
20 |    Note: the APIs do not excute COMMIT or ROLLBACK.                        |
21 |                                                                            |
22 | HISTORY                                                                    |
23 |    30-Oct-02  S. Singhania    Created                                      |
24 |    19-Dec-02  S. Singhania    Added specifications for set_process_cache   |
25 |    21-Feb-03  S. Singhania    Made changes for the new bulk approach of the|
26 |                                 accounting program                         |
27 |                                      - added 'p_max_event_date' param to   |
28 |                                           load_application_ledgers         |
29 |                                      - added procedure 'get_pad_info'      |
30 |    04-Apr-03  S. Singhania    Modified the specifications for:             |
31 |                                 - GetValueNum                              |
32 |                                 - GetValueDate                             |
33 |                                 - GetValueChar                             |
34 |    07-May-03  S. Singhania    Based on requirements from the 'Accounting   |
35 |                                 Engine' remodified the specifications for: |
36 |                                 - GetValueNum                              |
37 |                                 - GetValueDate                             |
38 |                                 - GetValueChar                             |
39 |                                 - load_application_ledgers                 |
40 |                                 - GetAlcLedgers                            |
41 |                               Renamed 'GetBaseLedgers' to 'GetLedgers'     |
42 |    16-Jul-03  S. Singhania    Added following APIs:                        |
43 |                                 - GetValueNum         (Overloaded)         |
44 |                                 - GetValueDate        (Overloaded)         |
45 |                                 - GetValueChar        (Overloaded)         |
46 |                                 - GetSessionValueChar                      |
47 |                                 - GetSessionValueChar (Overloaded)         |
48 |                                 - get_event_info                           |
49 |                               Modified specifications for:                 |
50 |                                 - GetValueChar                             |
51 |                                 - Get_PAD_info                             |
52 |    11-Sep-03  S. Singhania    Made changes to cache je_category (# 3109690)|
53 |                                 - Added API GET_JE_CATEGORY                |
54 |    20-Sep-04  S. Singhania    Added the following to support bulk changes  |
55 |                                 in the accounting engine                   |
56 |                                 - Added types T_REC_PAD and T_ARRAY_PAD    |
57 |                                 - Added API GetArrayPad                    |
58 |    9-Mar-05   W. Shen         Add the function BuildLedgerArray and        |
59 |                                 GetLedgerArray to support the calculation  |
60 |                                 of rounding                                |
61 |    26-May-05   W. Shen         Add the function GetCurrencyMau             |
62 +===========================================================================*/
63 
64 TYPE t_array_ledger_id IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
65 TYPE t_array_num       IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
66 TYPE t_array_varchar   IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
67 
68 TYPE t_array_ledger_attrs IS RECORD (
69   array_ledger_id              t_array_num
70  ,array_ledger_type            t_array_varchar
71  ,array_ledger_currency_code   t_array_varchar
72  ,array_rounding_rule_code     t_array_varchar
73  ,array_rounding_offset        t_array_num
74  ,array_mau                    t_array_num
75  ,array_default_rate_type      t_array_varchar
76  ,array_inhert_type_flag       t_array_varchar
77  ,array_max_roll_date          t_array_num
78 );
79 
80 
81 g_reversal_error               BOOLEAN DEFAULT FALSE;    --bug 7253269
82 g_hist_bflow_error_exists      BOOLEAN DEFAULT FALSE;    -- This line belongs to historic upgraded data.
83 
84 
85 -------------------------------------------------------------------------------
86 -- Following sturctures are used for caching PADs
87 -------------------------------------------------------------------------------
88 TYPE t_rec_pad IS RECORD
89    (acctg_method_rule_id               NUMBER
90    ,amb_context_code                   VARCHAR2(30)
91    ,product_rule_owner                 VARCHAR2(1)
92    ,product_rule_code                  VARCHAR2(30)
93    ,ledger_product_rule_name           VARCHAR2(80)
94    ,session_product_rule_name          VARCHAR2(80)
95    ,pad_package_name                   VARCHAR2(80)
96    ,compile_status_code                VARCHAR2(1)
97    ,start_date_active                  DATE
98    ,end_date_active                    DATE);
99 
100 -------------------------------------------------------------------------------
101 --
102 -------------------------------------------------------------------------------
103 TYPE t_array_pad IS TABLE OF t_rec_pad INDEX BY BINARY_INTEGER;
104 
105 
106 PROCEDURE load_application_ledgers
107        (p_application_id             IN  INTEGER
108        ,p_event_ledger_id            IN  INTEGER -- ledger id stamped on events
109        ,p_max_event_date             IN  DATE        DEFAULT TRUNC(sysdate));
110 
111 PROCEDURE get_pad_info
112        (p_ledger_id                  IN  NUMBER -- primary/secondary ledger id
113        ,p_event_date                 IN  DATE
114        ,p_pad_owner                  OUT NOCOPY VARCHAR2
115        ,p_pad_code                   OUT NOCOPY VARCHAR2
116        ,p_ledger_pad_name            OUT NOCOPY VARCHAR2
117        ,p_session_pad_name           OUT NOCOPY VARCHAR2
118        ,p_pad_compile_status         OUT NOCOPY VARCHAR2
119        ,p_pad_package_name           OUT NOCOPY VARCHAR2);
120 
121 FUNCTION GetArrayPad
122        (p_ledger_id                  IN  NUMBER -- primary/secondary ledger id
123        ,p_max_event_date             IN  DATE
124        ,p_min_event_date             IN  DATE)
125 RETURN t_array_pad;
126 
127 PROCEDURE get_event_info
128         (p_ledger_id                  IN  NUMBER
129         ,p_event_class_code           IN  VARCHAR2
130         ,p_event_type_code            IN  VARCHAR2
131         ,p_ledger_event_class_name    OUT NOCOPY VARCHAR2
132         ,p_session_event_class_name   OUT NOCOPY VARCHAR2
133         ,p_ledger_event_type_name     OUT NOCOPY VARCHAR2
134         ,p_session_event_type_name    OUT NOCOPY VARCHAR2);
135 
136 FUNCTION get_je_category
137         (p_ledger_id                  IN  NUMBER
138         ,p_event_class_code           IN  VARCHAR2)
139 RETURN VARCHAR2;
140 
141 -------------------------------------------------------------------------------
142 -- get system source values from accounting cache
143 -------------------------------------------------------------------------------
144 
145 FUNCTION GetValueNum
146        (p_source_code                IN VARCHAR2
147        ,p_target_ledger_id           IN NUMBER)
148 RETURN NUMBER;
149 
150 FUNCTION GetValueNum
151        (p_source_code                IN VARCHAR2)
152 RETURN NUMBER;
153 
154 FUNCTION GetValueDate
155        (p_source_code                IN VARCHAR2
156        ,p_target_ledger_id           IN NUMBER)
157 RETURN DATE;
158 
159 FUNCTION GetValueDate
160        (p_source_code                IN VARCHAR2)
161 RETURN DATE;
162 
163 FUNCTION GetValueChar
164        (p_source_code                IN VARCHAR2
165        ,p_target_ledger_id           IN NUMBER)
166 RETURN VARCHAR2;
167 
168 FUNCTION GetValueChar
169        (p_source_code                IN VARCHAR2)
170 RETURN VARCHAR2;
171 
172 FUNCTION GetSessionValueChar
173        (p_source_code                IN VARCHAR2
174        ,p_target_ledger_id           IN NUMBER)
175 RETURN VARCHAR2;
176 
177 FUNCTION GetSessionValueChar
178        (p_source_code                IN VARCHAR2)
179 RETURN VARCHAR2;
180 
181 -------------------------------------------------------------------------------
182 -- Get base ledgers, alternate currency ledgers from accounting
183 -- cache
184 -------------------------------------------------------------------------------
185 
186 FUNCTION GetAlcLedgers
187        (p_primary_ledger_id          IN NUMBER )
188 RETURN t_array_ledger_id;
189 
190 FUNCTION GetLedgers
191 RETURN t_array_ledger_id;
192 
193 Procedure BuildLedgerArray
194 ( p_array_ledger_attrs OUT NOCOPY t_array_ledger_attrs)
195 ;
196 PROCEDURE GetLedgerArray
197 ( p_array_ledger_attrs OUT NOCOPY t_array_ledger_attrs)
198 ;
199 
200 FUNCTION GetCurrencyMau(p_currency_code IN VARCHAR2) return NUMBER
201 ;
202 END xla_accounting_cache_pkg;