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;