1 package ZX_TDS_RULE_BASE_DETM_PVT as
2 /* $Header: zxdirulenginpvts.pls 120.19 2006/02/21 02:23:11 nipatel ship $ */
3 TYPE det_factor_templ_code_tbl IS TABLE OF
4 ZX_DET_FACTOR_TEMPL_B.det_factor_templ_code%TYPE
5 INDEX BY BINARY_INTEGER;
6
7 TYPE condition_group_code_tbl IS TABLE OF
8 ZX_CONDITION_GROUPS_B.condition_group_code%TYPE
9 INDEX BY BINARY_INTEGER;
10
11 TYPE condition_group_id_tbl IS TABLE OF
12 ZX_CONDITION_GROUPS_B.condition_group_id%TYPE
13 INDEX BY BINARY_INTEGER;
14
15 TYPE more_than10_tbl IS TABLE OF
16 ZX_CONDITION_GROUPS_B.More_Than_Max_Cond_Flag%TYPE
17 INDEX BY BINARY_INTEGER;
18
19 TYPE chart_of_accounts_id_tbl IS TABLE OF
20 ZX_CONDITION_GROUPS_B.CHART_OF_ACCOUNTS_ID%TYPE
21 INDEX BY BINARY_INTEGER;
22
23 TYPE ledger_id_tbl IS TABLE OF
24 ZX_CONDITION_GROUPS_B.LEDGER_ID%TYPE
25 INDEX BY BINARY_INTEGER;
26
27 TYPE determining_factor_class_tbl IS TABLE OF
28 ZX_DET_FACTOR_TEMPL_DTL.Determining_Factor_Class_Code%TYPE
29 INDEX BY BINARY_INTEGER;
30
31 TYPE determining_factor_cq_tbl IS TABLE OF
32 ZX_DET_FACTOR_TEMPL_DTL.Determining_Factor_Cq_Code%TYPE
33 INDEX BY BINARY_INTEGER;
34
35 TYPE tax_parameter_code_tbl IS TABLE OF
36 ZX_PARAMETERS_B.tax_parameter_code%TYPE
37 INDEX BY BINARY_INTEGER;
38
39 TYPE data_type_tbl IS TABLE OF
40 ZX_CONDITIONS.Data_Type_Code%TYPE
41 INDEX BY BINARY_INTEGER;
42
43 TYPE determining_factor_code_tbl IS TABLE OF
44 ZX_DETERMINING_FACTORS_B.determining_factor_code%TYPE
45 INDEX BY BINARY_INTEGER;
46
47 TYPE operator_tbl IS TABLE OF
48 ZX_CONDITIONS.Operator_Code%TYPE
49 INDEX BY BINARY_INTEGER;
50
51 TYPE numeric_value_tbl IS TABLE OF
52 ZX_CONDITIONS.numeric_value%TYPE
53 INDEX BY BINARY_INTEGER;
54
55 TYPE alphanumeric_value_tbl IS TABLE OF
56 ZX_CONDITIONS.alphanumeric_value%TYPE
57 INDEX BY BINARY_INTEGER;
58
59 TYPE value_low_tbl IS TABLE OF
60 ZX_CONDITIONS.value_low%TYPE
61 INDEX BY BINARY_INTEGER;
62
63 TYPE value_high_tbl IS TABLE OF
64 ZX_CONDITIONS.value_high%TYPE
65 INDEX BY BINARY_INTEGER;
66
67 TYPE date_value_tbl IS TABLE OF
68 ZX_CONDITIONS.date_value%TYPE
69 INDEX BY BINARY_INTEGER;
70
71 TYPE tax_tbl IS TABLE OF
72 ZX_TAXES_B.tax%TYPE
73 INDEX BY BINARY_INTEGER;
74
75 TYPE tax_regime_code_tbl IS TABLE OF
76 ZX_REGIMES_B.tax_regime_code%TYPE
77 INDEX BY BINARY_INTEGER;
78
79 TYPE tax_rule_id_tbl IS TABLE OF
80 ZX_RULES_B.tax_rule_id%TYPE
81 INDEX BY BINARY_INTEGER;
82
83 TYPE result_id_tbl IS TABLE OF
84 ZX_PROCESS_RESULTS.result_id%TYPE
85 INDEX BY BINARY_INTEGER;
86
87 TYPE constraint_id_tbl IS TABLE OF
88 ZX_CONDITION_GROUPS_B.constraint_id%TYPE
89 INDEX BY BINARY_INTEGER;
90
91 TYPE rule_det_factor_cq_tbl IS TABLE OF
92 ZX_RULES_B.determining_factor_cq_code%TYPE
93 INDEX BY BINARY_INTEGER;
94
95 TYPE rule_geography_type_tbl IS TABLE OF
96 ZX_RULES_B.geography_type%TYPE
97 INDEX BY BINARY_INTEGER;
98
99 TYPE rule_geography_id_tbl IS TABLE OF
100 ZX_RULES_B.geography_id%TYPE
101 INDEX BY BINARY_INTEGER;
102
103 g_determining_factor_class_tbl determining_factor_class_tbl;
104 g_determining_factor_cq_tbl determining_factor_cq_tbl;
105 g_data_type_tbl data_type_tbl;
106 g_determining_factor_code_tbl determining_factor_code_tbl;
107 g_tax_parameter_code_tbl tax_parameter_code_tbl;
108 g_operator_tbl operator_tbl;
109 g_numeric_value_tbl numeric_value_tbl;
110 g_date_value_tbl date_value_tbl;
111 g_alphanum_value_tbl alphanumeric_value_tbl;
112 g_value_low_tbl value_low_tbl;
113 g_value_high_tbl value_high_tbl;
114
115 -- Parameters required for evaluating Constraint, Condition Set and Exception Set.
116 g_cec_ship_to_party_site_id NUMBER;
117 g_cec_bill_to_party_site_id NUMBER;
118 g_cec_ship_to_party_id NUMBER;
119 g_cec_bill_to_party_id NUMBER;
120 g_cec_ship_to_site_use_id NUMBER;
121 g_cec_bill_to_site_use_id NUMBER;
122 g_cec_poo_location_id NUMBER;
123 g_cec_poa_location_id NUMBER;
124 g_cec_trx_id NUMBER;
125 g_cec_trx_line_id NUMBER;
126 g_cec_ledger_id NUMBER;
127 g_cec_internal_organization_id NUMBER;
128 g_cec_so_organization_id NUMBER;
129 g_cec_product_org_id NUMBER;
130 g_cec_product_id NUMBER;
131 g_cec_trx_type_id NUMBER;
132 g_cec_trx_line_date DATE;
133 g_cec_fob_point VARCHAR2(30);
134
135 g_segment_array FND_FLEX_EXT.SegmentArray;
136
137 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
138
139 PROCEDURE rule_base_process(
140 p_service_type_code IN ZX_RULES_B.SERVICE_TYPE_CODE%TYPE,
141 p_structure_name IN VARCHAR2,
142 p_structure_index IN BINARY_INTEGER,
143 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
144 p_tax_id IN ZX_TAXES_B.TAX_ID%TYPE,
145 p_tax_status_code IN ZX_STATUS_B.TAX_STATUS_CODE%TYPE,
146 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
147 p_tax_rule_code IN ZX_RULES_B.TAX_RULE_CODE%TYPE,
148 p_recovery_type_code IN ZX_RULES_B.RECOVERY_TYPE_CODE%TYPE,
149 p_zx_result_rec OUT NOCOPY ZX_PROCESS_RESULTS%ROWTYPE,
150 p_return_status OUT NOCOPY VARCHAR2,
151 p_error_buffer OUT NOCOPY VARCHAR2);
152
153 PROCEDURE get_tsrm_num_value(
154 p_structure_name IN VARCHAR2,
155 p_structure_index IN BINARY_INTEGER,
156 p_parameter_code IN ZX_PARAMETERS_B.TAX_PARAMETER_CODE%TYPE,
157 p_trx_numeric_value OUT NOCOPY ZX_CONDITIONS.NUMERIC_VALUE%TYPE,
158 p_return_status OUT NOCOPY VARCHAR2,
159 p_error_buffer OUT NOCOPY VARCHAR2);
160
161 PROCEDURE get_tsrm_alphanum_value(
162 p_structure_name IN VARCHAR2,
163 p_structure_index IN BINARY_INTEGER,
164 p_parameter_code IN ZX_PARAMETERS_B.TAX_PARAMETER_CODE%TYPE,
165 p_trx_alphanumeric_value OUT NOCOPY ZX_CONDITIONS.ALPHANUMERIC_VALUE%TYPE,
166 p_return_status OUT NOCOPY VARCHAR2,
167 p_error_buffer OUT NOCOPY VARCHAR2);
168
169 FUNCTION get_trx_value_index(
170 p_Det_Factor_Class_Code IN ZX_CONDITIONS.Determining_Factor_Class_Code%TYPE,
171 p_determining_factor_code IN ZX_CONDITIONS.determining_factor_code%TYPE,
172 p_Determining_Factor_Cq_Code IN ZX_CONDITIONS.Determining_Factor_Cq_Code%TYPE,
173 p_condition_value IN ZX_CONDITIONS.ALPHANUMERIC_VALUE%TYPE )
174 RETURN BINARY_INTEGER;
175
176 -- Made the following public for bug 4959835
177 PROCEDURE init_cec_params(
178 p_structure_name IN VARCHAR2,
179 p_structure_index IN BINARY_INTEGER,
180 p_return_status IN OUT NOCOPY VARCHAR2,
181 p_error_buffer IN OUT NOCOPY VARCHAR2);
182
183 -----------------------------------------------------------------------
184 -- PUBLIC FUNCTION
185 -- evaluate_if_first_party
186 --
187 -- DESCRIPTION
188 --
189 -- This function evaluates if the determining factor class qualifier (for
190 -- registrations and party fiscal classifications) represents a first party
191 -- or not for the input event class
192 --
193
194 FUNCTION evaluate_if_first_party(
195 p_det_fact_cq_code IN ZX_CONDITIONS.DETERMINING_FACTOR_CQ_CODE%TYPE)
196 RETURN BOOLEAN;
197
198
199 end ZX_TDS_RULE_BASE_DETM_PVT;