1 PACKAGE xla_accounting_cache_pkg AUTHID CURRENT_USER AS
2 -- $Header: xlaapche.pkh 120.18 2010/08/19 10:59:32 kapkumar 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 --8238617
68 g_primary_ledger_currency VARCHAR2(30):=null;
69
70 TYPE t_array_ledger_attrs IS RECORD (
71 array_ledger_id t_array_num
72 ,array_ledger_type t_array_varchar
73 ,array_ledger_currency_code t_array_varchar
74 ,array_rounding_rule_code t_array_varchar
75 ,array_rounding_offset t_array_num
76 ,array_mau t_array_num
77 ,array_default_rate_type t_array_varchar
78 ,array_inhert_type_flag t_array_varchar
79 ,array_max_roll_date t_array_num
80 );
81
82
83 g_reversal_error BOOLEAN DEFAULT FALSE; --bug 7253269
84 g_hist_bflow_error_exists BOOLEAN DEFAULT FALSE; -- This line belongs to historic upgraded data.
85
86
87 -------------------------------------------------------------------------------
88 -- Following sturctures are used for caching PADs
89 -------------------------------------------------------------------------------
90 TYPE t_rec_pad IS RECORD
91 (acctg_method_rule_id NUMBER
92 ,amb_context_code VARCHAR2(30)
93 ,product_rule_owner VARCHAR2(1)
94 ,product_rule_code VARCHAR2(30)
95 ,ledger_product_rule_name VARCHAR2(80)
96 ,session_product_rule_name VARCHAR2(80)
97 ,pad_package_name VARCHAR2(80)
98 ,compile_status_code VARCHAR2(1)
99 ,start_date_active DATE
100 ,end_date_active DATE);
101
102 -------------------------------------------------------------------------------
103 --
104 -------------------------------------------------------------------------------
105 TYPE t_array_pad IS TABLE OF t_rec_pad INDEX BY BINARY_INTEGER;
106
107
108 --bug10037318 mapping sets caching start
109
110 TYPE mapping_record_char IS RECORD (
111 value_constant XLA_MAPPING_SET_VALUES.value_constant%TYPE,
112 effective_date_from XLA_MAPPING_SET_VALUES.effective_date_from%TYPE,
113 effective_date_to XLA_MAPPING_SET_VALUES.effective_date_to%TYPE);
114
115 TYPE mapping_record_num IS RECORD (
116 value_code_combination_id XLA_MAPPING_SET_VALUES.value_code_combination_id%TYPE,
117 effective_date_from XLA_MAPPING_SET_VALUES.effective_date_from%TYPE,
118 effective_date_to XLA_MAPPING_SET_VALUES.effective_date_to%TYPE);
119
120
121 TYPE mapping_table_char IS TABLE OF mapping_record_char INDEX BY VARCHAR2(500);
122 TYPE mapping_table_num IS TABLE OF mapping_record_num INDEX BY VARCHAR2(500);
123
124 l_mapping_table_char mapping_table_char;
125 l_mapping_table_num mapping_table_num;
126
127 --bug10037318 mapping sets caching end
128
129
130 PROCEDURE load_application_ledgers
131 (p_application_id IN INTEGER
132 ,p_event_ledger_id IN INTEGER -- ledger id stamped on events
133 ,p_max_event_date IN DATE DEFAULT TRUNC(sysdate));
134
135 PROCEDURE get_pad_info
136 (p_ledger_id IN NUMBER -- primary/secondary ledger id
137 ,p_event_date IN DATE
138 ,p_pad_owner OUT NOCOPY VARCHAR2
139 ,p_pad_code OUT NOCOPY VARCHAR2
140 ,p_ledger_pad_name OUT NOCOPY VARCHAR2
141 ,p_session_pad_name OUT NOCOPY VARCHAR2
142 ,p_pad_compile_status OUT NOCOPY VARCHAR2
143 ,p_pad_package_name OUT NOCOPY VARCHAR2);
144
145 FUNCTION GetArrayPad
146 (p_ledger_id IN NUMBER -- primary/secondary ledger id
147 ,p_max_event_date IN DATE
148 ,p_min_event_date IN DATE)
149 RETURN t_array_pad;
150
151 PROCEDURE get_event_info
152 (p_ledger_id IN NUMBER
153 ,p_event_class_code IN VARCHAR2
154 ,p_event_type_code IN VARCHAR2
155 ,p_ledger_event_class_name OUT NOCOPY VARCHAR2
156 ,p_session_event_class_name OUT NOCOPY VARCHAR2
157 ,p_ledger_event_type_name OUT NOCOPY VARCHAR2
158 ,p_session_event_type_name OUT NOCOPY VARCHAR2);
159
160 FUNCTION get_je_category
161 (p_ledger_id IN NUMBER
162 ,p_event_class_code IN VARCHAR2)
163 RETURN VARCHAR2;
164
165 -------------------------------------------------------------------------------
166 -- get system source values from accounting cache
167 -------------------------------------------------------------------------------
168
169 FUNCTION GetValueNum
170 (p_source_code IN VARCHAR2
171 ,p_target_ledger_id IN NUMBER)
172 RETURN NUMBER;
173
174 FUNCTION GetValueNum
175 (p_source_code IN VARCHAR2)
176 RETURN NUMBER;
177
178 FUNCTION GetValueDate
179 (p_source_code IN VARCHAR2
180 ,p_target_ledger_id IN NUMBER)
181 RETURN DATE;
182
183 FUNCTION GetValueDate
184 (p_source_code IN VARCHAR2)
185 RETURN DATE;
186
187 FUNCTION GetValueChar
188 (p_source_code IN VARCHAR2
189 ,p_target_ledger_id IN NUMBER)
190 RETURN VARCHAR2;
191
192 FUNCTION GetValueChar
193 (p_source_code IN VARCHAR2)
194 RETURN VARCHAR2;
195
196 FUNCTION GetSessionValueChar
197 (p_source_code IN VARCHAR2
198 ,p_target_ledger_id IN NUMBER)
199 RETURN VARCHAR2;
200
201 FUNCTION GetSessionValueChar
202 (p_source_code IN VARCHAR2)
203 RETURN VARCHAR2;
204
205 -------------------------------------------------------------------------------
206 -- Get base ledgers, alternate currency ledgers from accounting
207 -- cache
208 -------------------------------------------------------------------------------
209
210 FUNCTION GetAlcLedgers
211 (p_primary_ledger_id IN NUMBER )
212 RETURN t_array_ledger_id;
213
214 FUNCTION GetLedgers
215 RETURN t_array_ledger_id;
216
217 Procedure BuildLedgerArray
218 ( p_array_ledger_attrs OUT NOCOPY t_array_ledger_attrs)
219 ;
220 PROCEDURE GetLedgerArray
221 ( p_array_ledger_attrs OUT NOCOPY t_array_ledger_attrs)
222 ;
223
224 FUNCTION GetCurrencyMau(p_currency_code IN VARCHAR2) return NUMBER
225 ;
226 END xla_accounting_cache_pkg;