[Home] [Help]
PACKAGE BODY: APPS.ZX_TAXWARE_TAX_SERVICE_PKG
Source
1 PACKAGE BODY ZX_TAXWARE_TAX_SERVICE_PKG as
2 /*$Header: zxtxwsrvcpkgb.pls 120.24.12010000.3 2009/01/10 03:24:09 sachandr ship $*/
3
4 /* ======================================================================*
5 | FND Logging infrastructure |
6 * ======================================================================*/
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ZX_TAXWARE_TAX_SERVICE_PKG';
8 G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
9 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
10 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
11 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
12 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
13 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
14 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
15 G_MODULE_NAME CONSTANT VARCHAR2(80) := 'ZX.PLSQL.ZX_TAXWARE_TAX_SERVICE_PKG.';
16
17 -- Service Indicator
18 SERVIND CHAR;
19 NOSERV_IND CONSTANT SERVIND%TYPE := ' ';
20 SERVICE_IND CONSTANT SERVIND%TYPE := 'S';
21 RENTAL_IND CONSTANT SERVIND%TYPE := 'R';
22 G_tax_selection ZX_TAX_TAXWARE_GEN.SELPARMTYP%TYPE;
23 G_STRING VARCHAR2(200);
24 g_docment_type_id number;
25 g_trasaction_id number;
26 g_tax_regime_code varchar2(80);
27 g_transaction_line_id number;
28 g_trx_level_type varchar2(20);
29 l_trx_line_context_changed BOOLEAN;
30 g_StTaxAmt number;
31 g_CoTaxAmt number;
32 g_CiTaxAmt number;
33 cache_index number :=0;
34 l_state_tax_cnt NUMBER;
35 l_county_tax_cnt NUMBER;
36 l_city_tax_cnt NUMBER;
37 l_state_cert_no varchar2(150);
38 l_county_cert_no varchar2(150);
39 l_city_cert_no varchar2(150);
40
41 Type cache_record_type is record(
42 internal_organization_id number,
43 document_type_id number,
44 transaction_id number,
45 transaction_line_id number
46 );
47
48 type cache_tab is table of cache_record_type index by binary_integer;
49 cache_table cache_tab;
50
51 TYPE NUMBER_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
52 TYPE VARCHAR2_1_tbl_type IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
53 TYPE VARCHAR2_2_tbl_type IS TABLE OF VARCHAR2(2) INDEX BY BINARY_INTEGER;
54 TYPE VARCHAR2_15_tbl_type IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
55 TYPE VARCHAR2_30_tbl_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
56 TYPE VARCHAR2_80_tbl_type IS TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
57 TYPE VARCHAR2_50_tbl_type IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
58 TYPE VARCHAR2_240_tbl_type IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
59 TYPE DATE_tbl_type IS TABLE OF DATE INDEX BY BINARY_INTEGER;
60
61
62 TYPE SYNC_TAX_LINES_TBL IS RECORD(
63 document_type_id NUMBER_tbl_type,
64 transaction_id NUMBER_tbl_type,
65 transaction_line_id NUMBER_tbl_type,
66 trx_level_type VARCHAR2_30_tbl_type,
67 country_code VARCHAR2_30_tbl_type,
68 tax VARCHAR2_30_tbl_type,
69 situs VARCHAR2_30_tbl_type,
70 tax_jurisdiction VARCHAR2_30_tbl_type,
71 tax_currency_code VARCHAR2_15_tbl_type,
72 tax_curr_tax_amount NUMBER_tbl_type,
73 tax_amount NUMBER_tbl_type,
74 tax_rate_percentage NUMBER_tbl_type,
75 taxable_amount NUMBER_tbl_type,
76 exempt_rate_modifier NUMBER_tbl_type,
77 exempt_reason VARCHAR2_240_tbl_type,
78 tax_only_line_flag VARCHAR2_1_tbl_type,
79 inclusive_tax_line_flag VARCHAR2_1_tbl_type,
80 use_tax_flag VARCHAR2_1_tbl_type,
81 ebiz_override_flag VARCHAR2_1_tbl_type,
82 user_override_flag VARCHAR2_1_tbl_type,
83 last_manual_entry VARCHAR2_30_tbl_type,
84 manually_entered_flag VARCHAR2_1_tbl_type,
85 cancel_flag VARCHAR2_1_tbl_type,
86 delete_flag VARCHAR2_1_tbl_type
87 );
88
89 /*-----------------------------------------------------------------------*/
90 /* Taxware error messages - based on Completion code */
91 /*-----------------------------------------------------------------------*/
92 --
93 -- Generic Tax Calculation error messages
94 --
95 TGMSG_SUCCESS CONSTANT VARCHAR2(80) :=
96 'Tax calculation processing completed successfully.';
97 TGMSG_EMPTY CONSTANT VARCHAR2(80) := ' ';
98 TGMSG_INVALIDZIP CONSTANT VARCHAR2(80) := 'Zip code is not numeric.';
99 TGMSG_INVALIDST CONSTANT VARCHAR2(80) := 'Invalid state code.';
100 TGMSG_INVALIDGRS CONSTANT VARCHAR2(80) :=
101 'CalcType = G and supplied gross amount is zero.';
102 TGMSG_INVALIDTAXAMT CONSTANT VARCHAR2(80) :=
103 'CalcType = T and supplied tax amount is zero.';
104 TGMSG_GENINVZIPST CONSTANT VARCHAR2(80) :=
105 'Invalid zip code - zip code is not in range for state.';
106 TGMSG_INVALIDLINK CONSTANT VARCHAR2(80) :=
107 'Linkage parameters are invalid (possibly missing ENDLINK).';
108 TGMSG_TAXACCESSERR CONSTANT VARCHAR2(80) := 'Error accessing Tax Master File.';
109 TGMSG_TAXNOTOPEN CONSTANT VARCHAR2(80) := 'Tax file is not open.';
110 TGMSG_INVCALCTYP CONSTANT VARCHAR2(80) :=
111 'Calculation type is not G, T, or space.';
112 TGMSG_PRDACCESSERR CONSTANT VARCHAR2(80) := 'Error accessing product file.';
113 TGMSG_RUNTIMEOPENERR CONSTANT VARCHAR2(80) :=
114 'Error accessing TAX010 runtime files.';
115 TGMSG_RATEISZERO CONSTANT VARCHAR2(80) := 'Total rate determined by TAX010 is zero. Gross amount cannot be determined.';
116 TGMSG_NEGFIELDS CONSTANT VARCHAR2(80) := 'Negative field passed to TAX010.';
117 TGMSG_INVALIDDTE CONSTANT VARCHAR2(80) :=
118 'Invalid date passed - defaulted to system date.';
119 TGMSG_APOFPO CONSTANT VARCHAR2(80) :=
120 'No taxes calculated for APO/FPO zip code.';
121 TGMSG_AUDACCESSERR CONSTANT VARCHAR2(80) := 'Error accessing audit file.';
122 TGMSG_INVCALCERR CONSTANT VARCHAR2(80) :=
123 'Calculation error file requested but not defined in TAXSET.H';
124 TGMSG_CERRACCESSERR CONSTANT VARCHAR2(80) :=
125 'Error accessing calculation error file.';
126 TGMSG_JERRACCESSERR CONSTANT VARCHAR2(80) :=
127 'Error accessing jurisdiction error file.';
128 TGMSG_INVJURERR CONSTANT VARCHAR2(80) :=
129 'Error accessing jurisdiction error file.';
130 TGMSG_INVJURPROC CONSTANT VARCHAR2(80) :=
131 'Jurisdiction processing requested but not defined in TAXSET.H';
132 TGMSG_INVSELPARM CONSTANT VARCHAR2(80) :=
133 'Tax selection parameter was not 1, 2, 3, or space.';
134 TGMSG_JURISERROR CONSTANT VARCHAR2(80) := 'A jurisdiction error has occurred. Tax calculation will not be performed.';
135 TGMSG_UNKNOWN CONSTANT VARCHAR2(80) :=
136 'Unrecognized Tax Calculation general completion code: ';
137 TGMSG_STEPNOTOPENERR CONSTANT VARCHAR2(80) :=
138 'Error accessing STEP90 runtime files.';
139 TGMSG_STEPNOCUSTERR CONSTANT VARCHAR2(80) :=
140 'STEP processing requested but customer number was blank.';
141 TGMSG_NOSTEPPROC CONSTANT VARCHAR2(200) := 'Either a Tax Certificate was present or CalcType = T or the transcation was a credit, NO STEP processing.';
142 TGMSG_STEPFILEOPENERR CONSTANT VARCHAR2(80) :=
143 'STEP OPEN was successful but the subsequent call to STEP failed.';
144 TGMSG_STEPPARAMERR CONSTANT VARCHAR2(80) :=
145 'One or more of STEP parameters were invalid.';
146 TGMSG_STEPMISCERR CONSTANT VARCHAR2(80) :=
147 'Unknown STEP Error Occurred. No further processing occurs.';
148 TGMSG_PRDINVALID4CU CONSTANT VARCHAR2(80) := 'The product code passed is invalid for a Consumer Use or service transaction.';
149 TGMSG_NEXMERCHACCESSERR CONSTANT VARCHAR2(80) :=
150 'Company profile indexed file could not be accessed.';
151 TGMSG_NEXNOMERCHRECERR CONSTANT VARCHAR2(80) :=
152 'No company profile record found for Company ID passed to TAX010.';
153 TGMSG_NEXSTATEACCESSERR CONSTANT VARCHAR2(80) :=
154 'State nexus indexed file could not be accessed.';
155 TGMSG_NEXLOCALACCESSERR CONSTANT VARCHAR2(80) :=
156 'Local nexus indexed file could not be accessed.';
157 TGMSG_NOCOMPIDERROR CONSTANT VARCHAR2(80) := 'No Company ID was passed.';
158 TGMSG_NEXPRONOTOPENERR CONSTANT VARCHAR2(80) :=
159 'Nexus data files could not be opened.';
160 TGMSG_NOSTATENEXRECERR CONSTANT VARCHAR2(80) := 'No state nexus record found.';
161 TGMSG_NEXPRONOTCLOSEERR CONSTANT VARCHAR2(80) :=
162 'Nexus data files could not be closed.';
163 TGMSG_CONUSEFILEERR CONSTANT VARCHAR2(80) :=
164 'Consumer use file could not be accessed.';
165 TGMSG_PRDINVALID4SERV CONSTANT VARCHAR2(80) :=
166 'Product code invalid for service.';
167 TGMSG_CALC_E_ERROR CONSTANT VARCHAR2(80) :=
168 'Error in calculation type E processing.';
169 TGMSG_EXEMPTLGRGROSS CONSTANT VARCHAR2(80) :=
170 'Exempt amount larger than gross plus exempt.' ;
171 TGMSG_AMOUNTOVERFLOW CONSTANT VARCHAR2(80) := 'Amount passed exceeds the maximum value that can be stored in the audit file.';
172 TGMSG_PRODCONVNOTOPEN CONSTANT VARCHAR2(80) :=
173 'Product conversion files could not be opened.';
174 TGMSG_PRODCDCONVNOTFOUND CONSTANT VARCHAR2(80) :=
175 'Product conversion files could not be found.';
176 TGMSG_PRODCONVCLOSEERR CONSTANT VARCHAR2(80) :=
177 'Error while closing product conversion files.';
178
179 --
180 -- Location Specific Tax Calculation error messages
181 -- Note: Since all these completion codes indicate warning, These
182 -- completion codes are not trapped. Future use.
183 --
184 TMSG_INVTAXIND CONSTANT VARCHAR2(80) :=
185 'Sales/use tax indicator not valid, defaulted to sales tax.';
186 TMSG_OVRRDERATE CONSTANT VARCHAR2(80) :=
187 'Used override rate for calculation.';
188 TMSG_OVRRDEAMT CONSTANT VARCHAR2(80) :=
189 'Used override amount for calculation.';
190 TMSG_NOTAXIND CONSTANT VARCHAR2(80) :=
191 'Used no tax indicator for calculation.';
192 TMSG_PRODRATE CONSTANT VARCHAR2(80) :=
193 'Used product code rate to calculate taxes.';
194 TMSG_PRODMAXUSE CONSTANT VARCHAR2(80) := 'The product file rates used to calculate taxes were adjusted per max tax.';
195 TMSG_PRODMAXINV CONSTANT VARCHAR2(80) :=
196 'Product file rates were used to calculate taxes.';
197 TMSG_MAXADJUST CONSTANT VARCHAR2(80) :=
198 'Taxes adjusted per product maximum tax laws.';
199 TMSG_NITEM_INCOMPAT_MAX CONSTANT VARCHAR2(80) :=
200 'Number of items is not compatible with maximum tax laws.';
201 TMSG_DEFAULT_CURRENT CONSTANT VARCHAR2(80) :=
202 'Invoice date is before prior date on file - used current rate.';
203 TMSG_NO_TAXES CONSTANT VARCHAR2(80) := 'Administration code is 2 - taxes not calculated for this location type.';
204 TMSG_STATE_TAX_ONLY CONSTANT VARCHAR2(80) := 'State administration is 3 - taxes not calculated for this location type.';
205 TMSG_STATE_FED_USE_ONLY CONSTANT VARCHAR2(80) := 'Administration code is 4 - use taxes not calculated for this location type';
206 TMSG_STATE_FED_SALES_ONLY CONSTANT VARCHAR2(80) := 'Administration code is 5 - sales taxes not calculated for this location type';
207 TMSG_CITY_DEFAULT CONSTANT VARCHAR2(80) := 'Used county code/defaulted to most likely city.';
208 TMSG_CNLO_NO_TAXES CONSTANT VARCHAR2(80) := 'Administration code is 2 - taxes not calculated.';
209 TMSG_CNLO_USE_ONLY CONSTANT VARCHAR2(80) := 'Administration code is 3 - use taxes not calculated.';
210 TMSG_CNLO_SALES_ONLY CONSTANT VARCHAR2(80) := 'Administration code is 4 - sales taxes not calculated.';
211 TMSG_CNLO_NOTAXFORZP CONSTANT VARCHAR2(80) := 'This state has city/town taxes but not for this zip. no taxes calculated';
212 TMSG_UNKNOWN CONSTANT VARCHAR2(80) := 'Unrecognized location completion code: ';
213 --
214 -- Generic Jurisdiction error messages
215 --
216 JGMSG_JURSUCCESS CONSTANT VARCHAR2(80) := 'Jurisdiction processing completed successfully.';
217 JGMSG_JURINVPOT CONSTANT VARCHAR2(80) := 'Invalid POT (Not O or D).';
218 JGMSG_JURINVSRVIN CONSTANT VARCHAR2(80) := 'Invalid service indicator (not S, R, or space).';
219 JGMSG_JURERROR CONSTANT VARCHAR2(80) := 'Jurisdiction error.';
220 --
221 -- Location Specific Jurisdiction error messages
222 --
223 JMSG_LOCCNTYDEF CONSTANT VARCHAR2(80) := 'Defaulted to system county code.';
224 JMSG_LOCINVSTATE CONSTANT VARCHAR2(80) := 'Invalid state code.';
225 JMSG_LOCNOZIP CONSTANT VARCHAR2(80) := 'Zip code was not supplied.';
226 JMSG_LOCINVZIP CONSTANT VARCHAR2(80) := 'Invalid zip code.';
227 JMSG_LOCNOGEO CONSTANT VARCHAR2(80) := 'The city or geo code was not supplied.';
228 JMSG_LOCINVCITY CONSTANT VARCHAR2(80) := 'City code is spaces or not numeric.';
229 JMSG_UNKNOWN CONSTANT VARCHAR2(80) := 'Unrecognized Jurisdiction location completion code: ';
230
231 /*------------------------------------------------
232 | Global Variables |
233 ------------------------------------------------*/
234 C_LINES_PER_COMMIT CONSTANT NUMBER := 1000;
235 I Number; --Index Variable.
236 g_line_level_action varchar2(20);
237 l_document_type zx_lines_det_factors.event_class_code%type;
238 -- PG_DEBUG varchar2(1);
239 -- x_return_status varchar2(20);
240
241 /* ======================================================================*
242 | Data Type Definitions |
243 * ======================================================================*/
244
245 type char_tab is table of char index by binary_integer;
246 type num_tab is table of number(15) index by binary_integer;
247 type num1_tab is table of number index by binary_integer;
248 type date_tab is table of date index by binary_integer;
249 type var1_tab is table of varchar2(1) index by binary_integer;
250 type var2_tab is table of varchar2(80) index by binary_integer;
251 type var3_tab is table of varchar2(2000) index by binary_integer;
252 type var4_tab is table of varchar2(150) index by binary_integer;
253 type var5_tab is table of varchar2(240) index by binary_integer;
254
255
256 /*Private Procedures*/
257 PROCEDURE PERFORM_VALIDATE(X_RETURN_STATUS OUT NOCOPY VARCHAR2);
258 PROCEDURE PERFORM_LINE_CREATION(p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
259 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
260 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
261 PROCEDURE PERFORM_LINE_DELETION (X_RETURN_STATUS OUT NOCOPY VARCHAR2);
262 PROCEDURE PERFORM_UPDATE (p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
263 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
264 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
265 FUNCTION SET_PARAMETERS(
266 l_Tax_Link IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
267 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
268 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm) RETURN BOOLEAN;
269 FUNCTION CALCULATE_TAX(
270 l_TaxLink IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
271 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
272 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm) RETURN BOOLEAN;
273 PROCEDURE TAX_RESULTS_PROCESSING(
274 p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
275 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
276 l_TaxLink IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
277 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
278 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm,
279 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
280
281 PROCEDURE SET_DOCUMENT_TYPE( P_DOCUMENT_TYPE IN OUT NOCOPY VARCHAR2,
282 P_ADJ_DOC_TRX_ID IN NUMBER,
283 P_LINE_AMOUNT IN NUMBER,
284 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
285
286 PROCEDURE ERROR_EXCEPTION_HANDLE(P_ERROR_STRING VARCHAR2);
287 PROCEDURE INITIALIZE;
288 PROCEDURE STACK_ERROR
289 (p_msgname IN VARCHAR2,
290 p_token1 IN VARCHAR2 ,
291 p_value1 IN VARCHAR2 ,
292 p_token2 IN VARCHAR2 ,
293 p_value2 IN VARCHAR2 );
294 PROCEDURE GET_VENDOR_ERROR(
295 tax_selection IN ZX_TAX_TAXWARE_GEN.SELPARMTYP%TYPE,
296 errTaxParm IN ZX_TAX_TAXWARE_GEN.TaxParm,
297 errJurParm IN ZX_TAX_TAXWARE_GEN.JurParm );
298
299 PROCEDURE dump_vendor_rec ( dmpTaxLink IN ZX_TAX_TAXWARE_GEN.TaxParm,
300 dmpJurLink IN ZX_TAX_TAXWARE_GEN.JurParm,
301 dmpOraLink IN ZX_TAX_TAXWARE_GEN.t_OraParm,
302 input_param_flag IN BOOLEAN ) ;
303
304
305 /*Structure to hold the transaction information*/
306
307 pg_internal_org_id_tab num1_tab;
308 pg_doc_type_id_tab num1_tab;
309 pg_trx_id_tab num1_tab;
310 pg_appli_code_tab var2_tab;
311 pg_doc_level_action_tab var2_tab;
312 pg_trx_date_tab date_tab;
313 pg_trx_curr_code_tab var2_tab;
314 /* Bug 5090593:
315 pg_quote_flag_tab var1_tab;
316 */
317 pg_legal_entity_num_tab var2_tab;
318 pg_esta_name_tab var3_tab;
319 pg_Trx_number_tab var4_tab;
320 pg_Trx_desc_tab var3_tab;
321 pg_doc_sequence_value_tab var3_tab;
322 pg_Trx_due_date_tab date_tab;
323 /* Bug 5090593:
324 pg_Trx_Sol_Ori_tab var2_tab;
325 */
326 pg_Allow_Tax_Calc_tab var1_tab;
327 pg_trx_line_id_tab num1_tab;
328 pg_trx_level_type_tab var2_tab;
329 pg_line_level_action_tab var2_tab;
330 pg_line_class_tab var2_tab;
331 pg_trx_shipping_date_tab date_tab;
332 pg_trx_receipt_date_tab date_tab;
333 pg_trx_line_type_tab var2_tab;
334 pg_trx_line_date_tab date_tab;
335 pg_trx_business_cat_tab var3_tab;
336 pg_line_intended_use_tab var3_tab;
337 pg_line_amt_incl_tax_flag_tab var1_tab;
338 pg_line_amount_tab num1_tab;
339 pg_other_incl_tax_amt_tab num1_tab;
340 pg_trx_line_qty_tab num1_tab;
341 pg_unit_price_tab num1_tab;
342 pg_cash_discount_tab num1_tab;
343 pg_volume_discount_tab num1_tab;
344 pg_trading_discount_tab num1_tab;
345 pg_trans_charge_tab num1_tab;
346 pg_ins_charge_tab num1_tab;
347 pg_other_charge_tab num1_tab;
348 pg_prod_id_tab num1_tab;
349 pg_uom_code_tab var2_tab;
350 pg_prod_type_tab var3_tab;
351 pg_prod_code_tab var2_tab;
352 pg_fob_point_tab var2_tab;
353 pg_ship_to_pty_numr_tab var2_tab;
354 pg_ship_to_pty_name_tab var3_tab;
355 pg_ship_from_pty_num_tab var2_tab;
356 pg_ship_from_pty_name_tab var3_tab;
357 pg_ship_to_loc_id_tab num1_tab; -- Bug 5090593
358 Pg_ship_to_grphy_type1_tab var5_tab;
359 pg_ship_to_grphy_value1_tab var5_tab;
360 pg_ship_to_grphy_type2_tab var5_tab;
361 pg_ship_to_grphy_value2_tab var5_tab;
362 pg_ship_to_grphy_type3_tab var5_tab;
363 pg_ship_to_grphy_value3_tab var5_tab;
364 pg_ship_to_grphy_type4_tab var5_tab;
365 pg_ship_to_grphy_value4_tab var5_tab;
366 pg_ship_to_grphy_type5_tab var5_tab;
367 pg_ship_to_grphy_value5_tab var5_tab;
368 pg_ship_to_grphy_type6_tab var5_tab;
369 pg_ship_to_grphy_value6_tab var5_tab;
370 pg_ship_to_grphy_type7_tab var5_tab;
371 pg_ship_to_grphy_value7_tab var5_tab;
372 pg_ship_to_grphy_type8_tab var5_tab;
373 pg_ship_to_grphy_value8_tab var5_tab;
374 pg_ship_to_grphy_type9_tab var5_tab;
375 pg_ship_to_grphy_value9_tab var5_tab;
376 pg_ship_to_grphy_type10_tab var5_tab;
377 pg_ship_to_grphy_value10_tab var5_tab;
378 pg_ship_fr_loc_id_tab num1_tab; -- Bug 5090593
379 pg_ship_fr_grphy_type1_tab var5_tab;
380 pg_ship_fr_grphy_value1_tab var5_tab;
381 pg_ship_fr_grphy_type2_tab var5_tab;
382 pg_ship_fr_grphy_value2_tab var5_tab;
383 pg_ship_fr_grphy_type3_tab var5_tab;
384 pg_ship_fr_grphy_value3_tab var5_tab;
385 pg_ship_fr_grphy_type4_tab var5_tab;
386 pg_ship_fr_grphy_value4_tab var5_tab;
387 pg_ship_fr_grphy_type5_tab var5_tab;
388 pg_ship_fr_grphy_value5_tab var5_tab;
389 pg_ship_fr_grphy_type6_tab var5_tab;
390 pg_ship_fr_grphy_value6_tab var5_tab;
391 pg_ship_fr_grphy_type7_tab var5_tab;
392 pg_ship_fr_grphy_value7_tab var5_tab;
393 pg_ship_fr_grphy_type8_tab var5_tab;
394 pg_ship_fr_grphy_value8_tab var5_tab;
395 pg_ship_fr_grphy_type9_tab var5_tab;
396 pg_ship_fr_grphy_value9_tab var5_tab;
397 pg_ship_fr_grphy_type10_tab var5_tab;
398 pg_ship_fr_grphy_value10_tab var5_tab;
399 pg_poa_loc_id_tab num1_tab; -- Bug 5090593
400 pg_poa_grphy_type1_tab var5_tab;
401 pg_poa_grphy_value1_tab var5_tab;
402 pg_poa_grphy_type2_tab var5_tab;
403 pg_poa_grphy_value2_tab var5_tab;
404 pg_poa_grphy_type3_tab var5_tab;
405 pg_poa_grphy_value3_tab var5_tab;
406 pg_poa_grphy_type4_tab var5_tab;
407 pg_poa_grphy_value4_tab var5_tab;
408 pg_poa_grphy_type5_tab var5_tab;
409 pg_poa_grphy_value5_tab var5_tab;
410 pg_poa_grphy_type6_tab var5_tab;
411 pg_poa_grphy_value6_tab var5_tab;
412 pg_poa_grphy_type7_tab var5_tab;
413 pg_poa_grphy_value7_tab var5_tab;
414 pg_poa_grphy_type8_tab var5_tab;
415 pg_poa_grphy_value8_tab var5_tab;
416 pg_poa_grphy_type9_tab var5_tab;
417 pg_poa_grphy_value9_tab var5_tab;
418 pg_poa_grphy_type10_tab var5_tab;
419 pg_poa_grphy_value10_tab var5_tab;
420 pg_poo_loc_id_tab num1_tab; -- Bug 5090593
421 pg_poo_grphy_type1_tab var5_tab;
422 pg_poo_grphy_value1_tab var5_tab;
423 pg_poo_grphy_type2_tab var5_tab;
424 pg_poo_grphy_value2_tab var5_tab;
425 pg_poo_grphy_type3_tab var5_tab;
426 pg_poo_grphy_value3_tab var5_tab;
427 pg_poo_grphy_type4_tab var5_tab;
428 pg_poo_grphy_value4_tab var5_tab;
429 pg_poo_grphy_type5_tab var5_tab;
430 pg_poo_grphy_value5_tab var5_tab;
431 pg_poo_grphy_type6_tab var5_tab;
432 pg_poo_grphy_value6_tab var5_tab;
433 pg_poo_grphy_type7_tab var5_tab;
434 pg_poo_grphy_value7_tab var5_tab;
435 pg_poo_grphy_type8_tab var5_tab;
436 pg_poo_grphy_value8_tab var5_tab;
437 pg_poo_grphy_type9_tab var5_tab;
438 pg_poo_grphy_value9_tab var5_tab;
439 pg_poo_grphy_type10_tab var5_tab;
440 pg_poo_grphy_value10_tab var5_tab;
441 pg_bill_to_pty_num_tab var2_tab;
442 pg_bill_to_pty_name_tab var3_tab;
443 pg_bill_from_pty_num_tab var2_tab;
444 pg_bill_from_pty_name_tab var3_tab;
445 pg_bill_to_loc_id_tab num1_tab; -- Bug 5090593
446 pg_bill_to_grphy_type1_tab var5_tab;
447 pg_bill_to_grphy_value1_tab var5_tab;
448 pg_bill_to_grphy_type2_tab var5_tab;
449 pg_bill_to_grphy_value2_tab var5_tab;
450 pg_bill_to_grphy_type3_tab var5_tab;
451 pg_bill_to_grphy_value3_tab var5_tab;
452 pg_bill_to_grphy_type4_tab var5_tab;
453 pg_bill_to_grphy_value4_tab var5_tab;
454 pg_bill_to_grphy_type5_tab var5_tab;
455 pg_bill_to_grphy_value5_tab var5_tab;
456 pg_bill_to_grphy_type6_tab var5_tab;
457 pg_bill_to_grphy_value6_tab var5_tab;
458 pg_bill_to_grphy_type7_tab var5_tab;
459 pg_bill_to_grphy_value7_tab var5_tab;
460 pg_bill_to_grphy_type8_tab var5_tab;
461 pg_bill_to_grphy_value8_tab var5_tab;
462 pg_bill_to_grphy_type9_tab var5_tab;
463 pg_bill_to_grphy_value9_tab var5_tab;
464 pg_bill_to_grphy_type10_tab var5_tab;
465 pg_bill_to_grphy_value10_tab var5_tab;
466 pg_bill_fr_loc_id_tab num1_tab; -- Bug 5090593
467 pg_bill_fr_grphy_type1_tab var5_tab;
468 pg_bill_fr_grphy_value1_tab var5_tab;
469 pg_bill_fr_grphy_type2_tab var5_tab;
470 pg_bill_fr_grphy_value2_tab var5_tab;
471 pg_bill_fr_grphy_type3_tab var5_tab;
472 pg_bill_fr_grphy_value3_tab var5_tab;
473 pg_bill_fr_grphy_type4_tab var5_tab;
474 pg_bill_fr_grphy_value4_tab var5_tab;
475 pg_bill_fr_grphy_type5_tab var5_tab;
476 pg_bill_fr_grphy_value5_tab var5_tab;
477 pg_bill_fr_grphy_type6_tab var5_tab;
478 pg_bill_fr_grphy_value6_tab var5_tab;
479 pg_bill_fr_grphy_type7_tab var5_tab;
480 pg_bill_fr_grphy_value7_tab var5_tab;
481 pg_bill_fr_grphy_type8_tab var5_tab;
482 pg_bill_fr_grphy_value8_tab var5_tab;
483 pg_bill_fr_grphy_type9_tab var5_tab;
484 pg_bill_fr_grphy_value9_tab var5_tab;
485 pg_bill_fr_grphy_type10_tab var5_tab;
486 pg_bill_fr_grphy_value10_tab var5_tab;
487 pg_account_ccid_tab num1_tab;
488 pg_appl_fr_doc_type_id_tab num1_tab;
489 pg_appl_from_trx_id_tab num1_tab;
490 pg_appl_from_line_id_tab num1_tab;
491 pg_appl_fr_trx_lev_type_tab var2_tab;
492 pg_appl_from_doc_num_tab var2_tab;
493 pg_adj_doc_doc_type_id_tab num1_tab;
494 pg_adj_doc_trx_id_tab num1_tab;
495 pg_adj_doc_line_id_tab num1_tab;
496 pg_adj_doc_number_tab var2_tab;
497 pg_ADJ_doc_trx_lev_type_tab var2_tab;
498 pg_adj_doc_date_tab date_tab;
499 pg_assess_value_tab num1_tab;
500 pg_trx_line_number_tab num1_tab;
501 pg_trx_line_desc_tab var3_tab;
502 pg_prod_desc_tab var3_tab;
503 pg_header_char1_tab var4_tab;
504 pg_header_char2_tab var4_tab;
505 pg_header_char3_tab var4_tab;
506 pg_header_char4_tab var4_tab;
507 pg_header_char5_tab var4_tab;
508 pg_header_char6_tab var4_tab;
509 pg_header_char7_tab var4_tab;
510 pg_header_char8_tab var4_tab;
511 pg_header_char9_tab var4_tab;
512 pg_header_char10_tab var4_tab;
513 pg_header_char11_tab var4_tab;
514 pg_header_char12_tab var4_tab;
515 pg_header_char13_tab var4_tab;
516 pg_header_char14_tab var4_tab;
517 pg_header_char15_tab var4_tab;
518 pg_header_numeric1_tab num1_tab;
519 pg_header_numeric2_tab num1_tab;
520 pg_header_numeric3_tab num1_tab;
521 pg_header_numeric4_tab num1_tab;
522 pg_header_numeric5_tab num1_tab;
523 pg_header_numeric6_tab num1_tab;
524 pg_header_numeric7_tab num1_tab;
525 pg_header_numeric8_tab num1_tab;
526 pg_header_numeric9_tab num1_tab;
527 pg_header_numeric10_tab num1_tab;
528 pg_header_date1_tab date_tab;
529 pg_header_date2_tab date_tab;
530 pg_header_date3_tab date_tab;
531 pg_header_date4_tab date_tab;
532 pg_header_date5_tab date_tab;
533 pg_line_char1_tab var4_tab;
534 pg_line_char2_tab var4_tab;
535 pg_line_char3_tab var4_tab;
536 pg_line_char4_tab var4_tab;
537 pg_line_char5_tab var4_tab;
538 pg_line_char6_tab var4_tab;
539 pg_line_char7_tab var4_tab;
540 pg_line_char8_tab var4_tab;
541 pg_line_char9_tab var4_tab;
542 pg_line_char10_tab var4_tab;
543 pg_line_char11_tab var4_tab;
544 pg_line_char12_tab var4_tab;
545 pg_line_char13_tab var4_tab;
546 pg_line_char14_tab var4_tab;
547 pg_line_char15_tab var4_tab;
548 pg_line_char16_tab var4_tab;
549 pg_line_char17_tab var4_tab;
550 pg_line_char18_tab var4_tab;
551 pg_line_char19_tab var4_tab;
552 pg_line_char20_tab var4_tab;
553 pg_line_char21_tab var4_tab;
554 pg_line_char22_tab var4_tab;
555 pg_line_char23_tab var4_tab;
556 pg_line_char24_tab var4_tab;
557 pg_line_char25_tab var4_tab;
558 pg_line_char26_tab var4_tab;
559 pg_line_char27_tab var4_tab;
560 pg_line_char28_tab var4_tab;
561 pg_line_char29_tab var4_tab;
562 pg_line_char30_tab var4_tab;
563 pg_line_numeric1_tab num1_tab;
564 pg_line_numeric2_tab num1_tab;
565 pg_line_numeric3_tab num1_tab;
566 pg_line_numeric4_tab num1_tab;
567 pg_line_numeric5_tab num1_tab;
568 pg_line_numeric6_tab num1_tab;
569 pg_line_numeric7_tab num1_tab;
570 pg_line_numeric8_tab num1_tab;
571 pg_line_numeric9_tab num1_tab;
572 pg_line_numeric10_tab num1_tab;
573 pg_line_date1_tab date_tab;
574 pg_line_date2_tab date_tab;
575 pg_line_date3_tab date_tab;
576 pg_line_date4_tab date_tab;
577 pg_line_date5_tab date_tab;
578 pg_exempt_certi_numb_tab var2_tab;
579 pg_exempt_reason_tab var3_tab;
580 pg_exempt_cont_flag_tab var2_tab;
581
582
583 PROCEDURE CALCULATE_TAX_API
584 (p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
585 x_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
586 x_error_status OUT NOCOPY VARCHAR2,
587 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type) is
588 l_rel_ret_code Varchar2(20);
589 Cursor item_lines_to_be_processed is
590 select
591 internal_organization_id ,
592 document_type_id ,
593 transaction_id ,
594 application_code ,
595 document_level_action ,
596 trx_date ,
597 trx_currency_code ,
598 /* Bug 5090593:
599 quote_flag ,
600 */
601 legal_entity_number ,
602 establishment_number ,
603 transaction_number ,
604 transaction_description ,
605 document_sequence_value ,
606 transaction_due_date ,
607 /* Bug 5090593:
608 transaction_solution_origin ,
609 */
610 allow_tax_calculation ,
611 transaction_line_id ,
612 trx_level_type ,
613 line_level_action ,
614 line_class ,
615 transaction_shipping_date ,
616 transaction_receipt_date ,
617 transaction_line_type ,
618 transaction_line_date ,
619 trx_business_category ,
620 line_intended_use ,
621 line_amt_includes_tax_flag ,
622 line_amount ,
623 other_inclusive_tax_amount ,
624 transaction_line_quantity ,
625 unit_price ,
626 cash_discount ,
627 volume_discount ,
628 trading_discount ,
629 transportation_charge ,
630 insurance_charge ,
631 other_charge ,
632 product_id ,
633 uom_code ,
634 product_type ,
635 product_code ,
636 fob_point ,
637 ship_to_party_number ,
638 ship_to_party_name ,
639 ship_from_party_number ,
640 ship_from_party_name ,
641 ship_to_loc_id , -- Bug 5090593
642 ship_to_geography_type1 ,
643 ship_to_geography_value1 ,
644 ship_to_geography_type2 ,
645 ship_to_geography_value2 ,
646 ship_to_geography_type3 ,
647 ship_to_geography_value3 ,
648 ship_to_geography_type4 ,
649 ship_to_geography_value4 ,
650 ship_to_geography_type5 ,
651 ship_to_geography_value5 ,
652 ship_to_geography_type6 ,
653 ship_to_geography_value6 ,
654 ship_to_geography_type7 ,
655 ship_to_geography_value7 ,
656 ship_to_geography_type8 ,
657 ship_to_geography_value8 ,
658 ship_to_geography_type9 ,
659 ship_to_geography_value9 ,
660 ship_to_geography_type10 ,
661 ship_to_geography_value10 ,
662 ship_from_loc_id , -- Bug 5090593
663 ship_from_geography_type1 ,
664 ship_from_geography_value1 ,
665 ship_from_geography_type2 ,
666 ship_from_geography_value2 ,
667 ship_from_geography_type3 ,
668 ship_from_geography_value3 ,
669 ship_from_geography_type4 ,
670 ship_from_geography_value4 ,
671 ship_from_geography_type5 ,
672 ship_from_geography_value5 ,
673 ship_from_geography_type6 ,
674 ship_from_geography_value6 ,
675 ship_from_geography_type7 ,
676 ship_from_geography_value7 ,
677 ship_from_geography_type8 ,
678 ship_from_geography_value8 ,
679 ship_from_geography_type9 ,
680 ship_from_geography_value9 ,
681 ship_from_geography_type10 ,
682 ship_from_geography_value10 ,
683 poa_loc_id , -- Bug 5090593
684 poa_geography_type1 ,
685 poa_geography_value1 ,
686 poa_geography_type2 ,
687 poa_geography_value2 ,
688 poa_geography_type3 ,
689 poa_geography_value3 ,
690 poa_geography_type4 ,
691 poa_geography_value4 ,
692 poa_geography_type5 ,
693 poa_geography_value5 ,
694 poa_geography_type6 ,
695 poa_geography_value6 ,
696 poa_geography_type7 ,
697 poa_geography_value7 ,
698 poa_geography_type8 ,
699 poa_geography_value8 ,
700 poa_geography_type9 ,
701 poa_geography_value9 ,
702 poa_geography_type10 ,
703 poa_geography_value10 ,
704 poo_loc_id , -- Bug 5090593
705 poo_geography_type1 ,
706 poo_geography_value1 ,
707 poo_geography_type2 ,
708 poo_geography_value2 ,
709 poo_geography_type3 ,
710 poo_geography_value3 ,
711 poo_geography_type4 ,
712 poo_geography_value4 ,
713 poo_geography_type5 ,
714 poo_geography_value5 ,
715 poo_geography_type6 ,
716 poo_geography_value6 ,
717 poo_geography_type7 ,
718 poo_geography_value7 ,
719 poo_geography_type8 ,
720 poo_geography_value8 ,
721 poo_geography_type9 ,
722 poo_geography_value9 ,
723 poo_geography_type10 ,
724 poo_geography_value10 ,
725 bill_to_party_number ,
726 bill_to_party_name ,
727 bill_from_party_number ,
728 bill_from_party_name ,
729 bill_to_loc_id , -- Bug 5090593
730 bill_to_geography_type1 ,
731 bill_to_geography_value1 ,
732 bill_to_geography_type2 ,
733 bill_to_geography_value2 ,
734 bill_to_geography_type3 ,
735 bill_to_geography_value3 ,
736 bill_to_geography_type4 ,
737 bill_to_geography_value4 ,
738 bill_to_geography_type5 ,
739 bill_to_geography_value5 ,
740 bill_to_geography_type6 ,
741 bill_to_geography_value6 ,
742 bill_to_geography_type7 ,
743 bill_to_geography_value7 ,
744 bill_to_geography_type8 ,
745 bill_to_geography_value8 ,
746 bill_to_geography_type9 ,
747 bill_to_geography_value9 ,
748 bill_to_geography_type10 ,
749 bill_to_geography_value10 ,
750 bill_from_loc_id , -- Bug 5090593
751 bill_from_geography_type1 ,
752 bill_from_geography_value1 ,
753 bill_from_geography_type2 ,
754 bill_from_geography_value2 ,
755 bill_from_geography_type3 ,
756 bill_from_geography_value3 ,
757 bill_from_geography_type4 ,
758 bill_from_geography_value4 ,
759 bill_from_geography_type5 ,
760 bill_from_geography_value5 ,
761 bill_from_geography_type6 ,
762 bill_from_geography_value6 ,
763 bill_from_geography_type7 ,
764 bill_from_geography_value7 ,
765 bill_from_geography_type8 ,
766 bill_from_geography_value8 ,
767 bill_from_geography_type9 ,
768 bill_from_geography_value9 ,
769 bill_from_geography_type10 ,
770 bill_from_geography_value10 ,
771 account_ccid ,
772 applied_from_document_type_id ,
773 applied_from_transaction_id ,
774 applied_from_line_id ,
775 applied_from_trx_level_type,
776 applied_from_doc_number ,
777 adjusted_doc_document_type_id ,
778 adjusted_doc_transaction_id ,
779 adjusted_doc_line_id ,
780 adjusted_doc_number ,
781 adjusted_doc_trx_level_type,
782 adjusted_doc_date ,
783 assessable_value ,
784 trx_line_number ,
785 trx_line_description ,
786 product_description ,
787 header_char1 ,
788 header_char2 ,
789 header_char3 ,
790 header_char4 ,
791 header_char5 ,
792 header_char6 ,
793 header_char7 ,
794 header_char8 ,
795 header_char9 ,
796 header_char10 ,
797 header_char11 ,
798 header_char12 ,
799 header_char13 ,
800 header_char14 ,
801 header_char15 ,
802 header_numeric1 ,
803 header_numeric2 ,
804 header_numeric3 ,
805 header_numeric4 ,
806 header_numeric5 ,
807 header_numeric6 ,
808 header_numeric7 ,
809 header_numeric8 ,
810 header_numeric9 ,
811 header_numeric10 ,
812 header_date1 ,
813 header_date2 ,
814 header_date3 ,
815 header_date4 ,
816 header_date5 ,
817 line_char1 ,
818 line_char2 ,
819 line_char3 ,
820 line_char4 ,
821 line_char5 ,
822 line_char6 ,
823 line_char7 ,
824 line_char8 ,
825 line_char9 ,
826 line_char10 ,
827 line_char11 ,
828 line_char12 ,
829 line_char13 ,
830 line_char14 ,
831 line_char15 ,
832 line_char16 ,
833 line_char17 ,
834 line_char18 ,
835 line_char19 ,
836 line_char20 ,
837 line_char21 ,
838 line_char22 ,
839 line_char23 ,
840 line_char24 ,
841 line_char25 ,
842 line_char26 ,
843 line_char27 ,
844 line_char28 ,
845 line_char29 ,
846 line_char30 ,
847 line_numeric1 ,
848 line_numeric2 ,
849 line_numeric3 ,
850 line_numeric4 ,
851 line_numeric5 ,
852 line_numeric6 ,
853 line_numeric7 ,
854 line_numeric8 ,
855 line_numeric9 ,
856 line_numeric10 ,
857 line_date1 ,
858 line_date2 ,
859 line_date3 ,
860 line_date4 ,
861 line_date5 ,
862 exempt_certificate_number ,
863 exempt_reason ,
864 exemption_control_flag
865 From ZX_O2C_CALC_TXN_INPUT_V;
866
867 l_api_name CONSTANT VARCHAR2(30) := 'CALCULATE_TAX_API';
868 l_return_status varchar2(30);
869 ptr number;
870 cnt_end NUMBER;
871 cnt NUMBER := 1;
872 l_tax_lines_tbl ZX_TAX_PARTNER_PKG.tax_lines_tbl_type;
873 Begin
874 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
875 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
876 END IF;
877
878 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
879 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
880 ' zx_tax_partner_pkg.G_BUSINESS_FLOW = ' || zx_tax_partner_pkg.G_BUSINESS_FLOW);
881 END IF;
882 IF zx_tax_partner_pkg.G_BUSINESS_FLOW = 'O2C' THEN
883 -- Verify the integration with the version of Taxware product is certified.
884 Begin
885 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
886 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
887 'Calling ZX_TAX_TAXWARE_REV.GET_RELEASE Verify the integration
888 with the version of Taxware product is certified' );
889 END IF;
890 l_rel_ret_code := ZX_TAX_TAXWARE_REV.GET_RELEASE;
891 if l_rel_ret_code = ZX_TAXWARE_TAX_SERVICE_PKG.NOT_VALID_VERSION then
892 Raise VERSION_ERROR;
893 end if;
894 Exception
895 When VERSION_ERROR then
896 IF (g_level_exception >= g_current_runtime_level ) THEN
897 FND_LOG.STRING(g_level_exception,
898 G_PKG_NAME||'.'||l_api_name,'Current Taxware version is imcompaitable with Oracle Apps');
899 END IF;
900 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
901 g_string :='Call to ZX_TAX_TAXWARE_REV.GET_RELEASE failed with exception';
902 error_exception_handle(g_string);
903 x_messages_tbl:=g_messages_tbl;
904 return;
905 End;
906
907 ELSE
908 --Release 12 Old tax partner integration does not support P2P products;
909 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
910 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
911 'Release 12 Old tax partner integration does not support P2P products' );
912 END IF;
913 x_error_status := FND_API.G_RET_STS_ERROR;
914 Raise WRONG_BUSINESS_FLOW;
915 END IF;
916
917 open item_lines_to_be_processed;
918 fetch item_lines_to_be_processed
919 bulk collect into
920 pg_internal_org_id_tab ,
921 pg_doc_type_id_tab ,
922 pg_trx_id_tab ,
923 pg_appli_code_tab ,
924 pg_doc_level_action_tab ,
925 pg_trx_date_tab ,
926 pg_trx_curr_code_tab ,
927 /* Bug 5090593:
928 pg_quote_flag_tab ,
929 */
930 pg_legal_entity_num_tab ,
931 pg_esta_name_tab ,
932 pg_trx_number_tab ,
933 pg_trx_desc_tab ,
934 pg_doc_sequence_value_tab ,
935 pg_trx_due_date_tab ,
936 /* Bug 5090593:
937 pg_trx_sol_ori_tab ,
938 */
939 pg_allow_tax_calc_tab ,
940 pg_trx_line_id_tab ,
941 pg_trx_level_type_tab ,
942 pg_line_level_action_tab ,
943 pg_line_class_tab ,
944 pg_trx_shipping_date_tab ,
945 pg_trx_receipt_date_tab ,
946 pg_trx_line_type_tab ,
947 pg_trx_line_date_tab ,
948 pg_trx_business_cat_tab ,
949 pg_line_intended_use_tab ,
950 pg_line_amt_incl_tax_flag_tab ,
951 pg_line_amount_tab ,
952 pg_other_incl_tax_amt_tab ,
953 pg_trx_line_qty_tab ,
954 pg_unit_price_tab ,
955 pg_cash_discount_tab ,
956 pg_volume_discount_tab ,
957 pg_trading_discount_tab ,
958 pg_trans_charge_tab ,
959 pg_ins_charge_tab ,
960 pg_other_charge_tab ,
961 pg_prod_id_tab ,
962 pg_uom_code_tab ,
963 pg_prod_type_tab ,
964 pg_prod_code_tab ,
965 pg_fob_point_tab ,
966 pg_ship_to_pty_numr_tab ,
967 pg_ship_to_pty_name_tab ,
968 pg_ship_from_pty_num_tab ,
969 pg_ship_from_pty_name_tab ,
970 pg_ship_to_loc_id_tab , -- Bug 5090593
971 pg_ship_to_grphy_type1_tab ,
972 pg_ship_to_grphy_value1_tab ,
973 pg_ship_to_grphy_type2_tab ,
974 pg_ship_to_grphy_value2_tab ,
975 pg_ship_to_grphy_type3_tab ,
976 pg_ship_to_grphy_value3_tab ,
977 pg_ship_to_grphy_type4_tab ,
978 pg_ship_to_grphy_value4_tab ,
979 pg_ship_to_grphy_type5_tab ,
980 pg_ship_to_grphy_value5_tab ,
981 pg_ship_to_grphy_type6_tab ,
982 pg_ship_to_grphy_value6_tab ,
983 pg_ship_to_grphy_type7_tab ,
984 pg_ship_to_grphy_value7_tab ,
985 pg_ship_to_grphy_type8_tab ,
986 pg_ship_to_grphy_value8_tab ,
987 pg_ship_to_grphy_type9_tab ,
988 pg_ship_to_grphy_value9_tab ,
989 pg_ship_to_grphy_type10_tab ,
990 pg_ship_to_grphy_value10_tab ,
991 pg_ship_fr_loc_id_tab , -- Bug 5090593
992 pg_ship_fr_grphy_type1_tab ,
993 pg_ship_fr_grphy_value1_tab ,
994 pg_ship_fr_grphy_type2_tab ,
995 pg_ship_fr_grphy_value2_tab ,
996 pg_ship_fr_grphy_type3_tab ,
997 pg_ship_fr_grphy_value3_tab ,
998 pg_ship_fr_grphy_type4_tab ,
999 pg_ship_fr_grphy_value4_tab ,
1000 pg_ship_fr_grphy_type5_tab ,
1001 pg_ship_fr_grphy_value5_tab ,
1002 pg_ship_fr_grphy_type6_tab ,
1003 pg_ship_fr_grphy_value6_tab ,
1004 pg_ship_fr_grphy_type7_tab ,
1005 pg_ship_fr_grphy_value7_tab ,
1006 pg_ship_fr_grphy_type8_tab ,
1007 pg_ship_fr_grphy_value8_tab ,
1008 pg_ship_fr_grphy_type9_tab ,
1009 pg_ship_fr_grphy_value9_tab ,
1010 pg_ship_fr_grphy_type10_tab ,
1011 pg_ship_fr_grphy_value10_tab ,
1012 pg_poa_loc_id_tab , -- Bug 5090593
1013 pg_poa_grphy_type1_tab ,
1014 pg_poa_grphy_value1_tab ,
1015 pg_poa_grphy_type2_tab ,
1016 pg_poa_grphy_value2_tab ,
1017 pg_poa_grphy_type3_tab ,
1018 pg_poa_grphy_value3_tab ,
1019 pg_poa_grphy_type4_tab ,
1020 pg_poa_grphy_value4_tab ,
1021 pg_poa_grphy_type5_tab ,
1022 pg_poa_grphy_value5_tab ,
1023 pg_poa_grphy_type6_tab ,
1024 pg_poa_grphy_value6_tab ,
1025 pg_poa_grphy_type7_tab ,
1026 pg_poa_grphy_value7_tab ,
1027 pg_poa_grphy_type8_tab ,
1028 pg_poa_grphy_value8_tab ,
1029 pg_poa_grphy_type9_tab ,
1030 pg_poa_grphy_value9_tab ,
1031 pg_poa_grphy_type10_tab ,
1032 pg_poa_grphy_value10_tab ,
1033 pg_poo_loc_id_tab , -- Bug 5090593
1034 pg_poo_grphy_type1_tab ,
1035 pg_poo_grphy_value1_tab ,
1036 pg_poo_grphy_type2_tab ,
1037 pg_poo_grphy_value2_tab ,
1038 pg_poo_grphy_type3_tab ,
1039 pg_poo_grphy_value3_tab ,
1040 pg_poo_grphy_type4_tab ,
1041 pg_poo_grphy_value4_tab ,
1042 pg_poo_grphy_type5_tab ,
1043 pg_poo_grphy_value5_tab ,
1044 pg_poo_grphy_type6_tab ,
1045 pg_poo_grphy_value6_tab ,
1046 pg_poo_grphy_type7_tab ,
1047 pg_poo_grphy_value7_tab ,
1048 pg_poo_grphy_type8_tab ,
1049 pg_poo_grphy_value8_tab ,
1050 pg_poo_grphy_type9_tab ,
1051 pg_poo_grphy_value9_tab ,
1052 pg_poo_grphy_type10_tab ,
1053 pg_poo_grphy_value10_tab ,
1054 pg_bill_to_pty_num_tab ,
1055 pg_bill_to_pty_name_tab ,
1056 pg_bill_from_pty_num_tab ,
1057 pg_bill_from_pty_name_tab ,
1058 pg_bill_to_loc_id_tab , -- Bug 5090593
1059 pg_bill_to_grphy_type1_tab ,
1060 pg_bill_to_grphy_value1_tab ,
1061 pg_bill_to_grphy_type2_tab ,
1062 pg_bill_to_grphy_value2_tab ,
1063 pg_bill_to_grphy_type3_tab ,
1064 pg_bill_to_grphy_value3_tab ,
1065 pg_bill_to_grphy_type4_tab ,
1066 pg_bill_to_grphy_value4_tab ,
1067 pg_bill_to_grphy_type5_tab ,
1068 pg_bill_to_grphy_value5_tab ,
1069 pg_bill_to_grphy_type6_tab ,
1070 pg_bill_to_grphy_value6_tab ,
1071 pg_bill_to_grphy_type7_tab ,
1072 pg_bill_to_grphy_value7_tab ,
1073 pg_bill_to_grphy_type8_tab ,
1074 pg_bill_to_grphy_value8_tab ,
1075 pg_bill_to_grphy_type9_tab ,
1076 pg_bill_to_grphy_value9_tab ,
1077 pg_bill_to_grphy_type10_tab ,
1078 pg_bill_to_grphy_value10_tab ,
1079 pg_bill_fr_loc_id_tab , -- Bug 5090593
1080 pg_bill_fr_grphy_type1_tab ,
1081 pg_bill_fr_grphy_value1_tab ,
1082 pg_bill_fr_grphy_type2_tab ,
1083 pg_bill_fr_grphy_value2_tab ,
1084 pg_bill_fr_grphy_type3_tab ,
1085 pg_bill_fr_grphy_value3_tab ,
1086 pg_bill_fr_grphy_type4_tab ,
1087 pg_bill_fr_grphy_value4_tab ,
1088 pg_bill_fr_grphy_type5_tab ,
1089 pg_bill_fr_grphy_value5_tab ,
1090 pg_bill_fr_grphy_type6_tab ,
1091 pg_bill_fr_grphy_value6_tab ,
1092 pg_bill_fr_grphy_type7_tab ,
1093 pg_bill_fr_grphy_value7_tab ,
1094 pg_bill_fr_grphy_type8_tab ,
1095 pg_bill_fr_grphy_value8_tab ,
1096 pg_bill_fr_grphy_type9_tab ,
1097 pg_bill_fr_grphy_value9_tab ,
1098 pg_bill_fr_grphy_type10_tab ,
1099 pg_bill_fr_grphy_value10_tab ,
1100 pg_account_ccid_tab ,
1101 pg_appl_fr_doc_type_id_tab ,
1102 pg_appl_from_trx_id_tab ,
1103 pg_appl_from_line_id_tab ,
1104 pg_appl_fr_trx_lev_type_tab ,
1105 pg_appl_from_doc_num_tab ,
1106 pg_adj_doc_doc_type_id_tab ,
1107 pg_adj_doc_trx_id_tab ,
1108 pg_adj_doc_line_id_tab ,
1109 pg_adj_doc_number_tab ,
1110 pg_adj_doc_trx_lev_type_tab ,
1111 pg_adj_doc_date_tab ,
1112 pg_assess_value_tab ,
1113 pg_trx_line_number_tab ,
1114 pg_trx_line_desc_tab ,
1115 pg_prod_desc_tab ,
1116 pg_header_char1_tab ,
1117 pg_header_char2_tab ,
1118 pg_header_char3_tab ,
1119 pg_header_char4_tab ,
1120 pg_header_char5_tab ,
1121 pg_header_char6_tab ,
1122 pg_header_char7_tab ,
1123 pg_header_char8_tab ,
1124 pg_header_char9_tab ,
1125 pg_header_char10_tab ,
1126 pg_header_char11_tab ,
1127 pg_header_char12_tab ,
1128 pg_header_char13_tab ,
1129 pg_header_char14_tab ,
1130 pg_header_char15_tab ,
1131 pg_header_numeric1_tab ,
1132 pg_header_numeric2_tab ,
1133 pg_header_numeric3_tab ,
1134 pg_header_numeric4_tab ,
1135 pg_header_numeric5_tab ,
1136 pg_header_numeric6_tab ,
1137 pg_header_numeric7_tab ,
1138 pg_header_numeric8_tab ,
1139 pg_header_numeric9_tab ,
1140 pg_header_numeric10_tab ,
1141 pg_header_date1_tab ,
1142 pg_header_date2_tab ,
1143 pg_header_date3_tab ,
1144 pg_header_date4_tab ,
1145 pg_header_date5_tab ,
1146 pg_line_char1_tab ,
1147 pg_line_char2_tab ,
1148 pg_line_char3_tab ,
1149 pg_line_char4_tab ,
1150 pg_line_char5_tab ,
1151 pg_line_char6_tab ,
1152 pg_line_char7_tab ,
1153 pg_line_char8_tab ,
1154 pg_line_char9_tab ,
1155 pg_line_char10_tab ,
1156 pg_line_char11_tab ,
1157 pg_line_char12_tab ,
1158 pg_line_char13_tab ,
1159 pg_line_char14_tab ,
1160 pg_line_char15_tab ,
1161 pg_line_char16_tab ,
1162 pg_line_char17_tab ,
1163 pg_line_char18_tab ,
1164 pg_line_char19_tab ,
1165 pg_line_char20_tab ,
1166 pg_line_char21_tab ,
1167 pg_line_char22_tab ,
1168 pg_line_char23_tab ,
1169 pg_line_char24_tab ,
1170 pg_line_char25_tab ,
1171 pg_line_char26_tab ,
1172 pg_line_char27_tab ,
1173 pg_line_char28_tab ,
1174 pg_line_char29_tab ,
1175 pg_line_char30_tab ,
1176 pg_line_numeric1_tab ,
1177 pg_line_numeric2_tab ,
1178 pg_line_numeric3_tab ,
1179 pg_line_numeric4_tab ,
1180 pg_line_numeric5_tab ,
1181 pg_line_numeric6_tab ,
1182 pg_line_numeric7_tab ,
1183 pg_line_numeric8_tab ,
1184 pg_line_numeric9_tab ,
1185 pg_line_numeric10_tab ,
1186 pg_line_date1_tab ,
1187 pg_line_date2_tab ,
1188 pg_line_date3_tab ,
1189 pg_line_date4_tab ,
1190 pg_line_date5_tab ,
1191 pg_exempt_certi_numb_tab ,
1192 pg_exempt_reason_tab ,
1193 pg_exempt_cont_flag_tab
1194 limit C_LINES_PER_COMMIT;/*Need to limit the fetch*/
1195
1196 delete from zx_jurisdictions_gt;
1197
1198 IF (nvl(pg_trx_id_tab.last,0) = 0) Then
1199 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1200 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1201 'No item lines exist to whom tax lines need to be created' );
1202 END IF;
1203 --x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1204 --g_string :='No item lines exist to whom tax lines need to be created';
1205 --error_exception_handle(g_string);
1206 --x_messages_tbl:=g_messages_tbl;
1207 RETURN;
1208
1209 ELSE /*there are Some lines for processing*/
1210 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1211 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1212 ' Item lines exist to whom tax lines need to be created');
1213 END IF;
1214
1215 For ptr in 1..nvl(pg_trx_id_tab.last, 0) loop
1216
1217 I:=ptr;
1218 g_transaction_line_id := pg_trx_line_id_tab(i);
1219 g_trx_level_type := pg_trx_level_type_tab(i);
1220 g_docment_type_id := pg_doc_type_id_tab(i);
1221 g_trasaction_id := pg_trx_id_tab(i);
1222 g_tax_regime_code := zx_tax_partner_pkg.g_tax_regime_code;
1223
1224 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1225 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1226 ' Selecting document type for event_class_mapping id '||pg_doc_type_id_tab(I));
1227 END IF;
1228
1229 IF(pg_doc_type_id_tab(I)<>0) then
1230 Begin
1231 select event_class_code
1232 into l_document_type
1233 from zx_evnt_cls_mappings
1234 where event_class_mapping_id = pg_doc_type_id_tab(I);
1235 Exception
1236 When no_data_found then
1237 IF (g_level_exception >= g_current_runtime_level ) THEN
1238 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1239 End if;
1240 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1241 g_string :='No document type exist for provided event_class_mapping_id ';
1242 error_exception_handle(g_string);
1243 x_messages_tbl:=g_messages_tbl;
1244 return;
1245 End;
1246 ELSE /*"Sales Transaction Quote*/
1247 l_document_type := 'SALES_QUOTE';
1248 END IF;
1249
1250 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1251 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1252 ' DOCUMENT_TYPE '||l_document_type);
1253 END IF;
1254 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1255 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1256 ' Value of Variable I is :'||I);
1257 END IF;
1258 /* Performing validation of passed document level,line level actions */
1259 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1260 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1261 ' Performing validation of passed document level,line level actions BY PERFORM_VALIDATE' );
1262 END IF;
1263
1264 Perform_validate(l_return_status);
1265
1266 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1267 IF (g_level_exception >= g_current_runtime_level ) THEN
1268 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1269 END IF;
1270 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1271 g_string :='Header ,line level actions are incompaitable';
1272 error_exception_handle(g_string);
1273 x_messages_tbl:=g_messages_tbl;
1274 RETURN;
1275 END IF;
1276
1277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1278 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1279 ' Setting up Document type' );
1280 END IF;
1281
1282 SET_DOCUMENT_TYPE(l_document_type,pg_adj_doc_trx_id_tab(I),pg_line_amount_tab(I),l_return_status);
1283
1284 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1285 IF (g_level_exception >= g_current_runtime_level ) THEN
1286 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1287 END IF;
1288 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1289 g_string :='Failed in setting up document type';
1290 error_exception_handle(g_string);
1291 x_messages_tbl:=g_messages_tbl;
1292 RETURN;
1293 END IF;
1294
1295 IF(pg_doc_level_action_tab(i) in ('CREATE', 'QUOTE')) then
1296
1297 IF(l_document_type = 'TAX_ONLY_CREDIT_MEMO') then
1298 Return;
1299 ELSE
1300
1301 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1302 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1303 ' Calling LINE_CREATION procedure to create entry in TAXWARE' );
1304 END IF;
1305
1306 Perform_line_creation(l_tax_lines_tbl,p_currency_tab,l_return_status);
1307 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1308 IF (g_level_exception >= g_current_runtime_level ) THEN
1309 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1310 END IF;
1311 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1312 g_string :='Failed in creating tax line';
1313 error_exception_handle(g_string);
1314 x_messages_tbl:=g_messages_tbl;
1315 return;
1316 END IF;
1317 END IF;
1318
1319
1320 ELSIF(pg_doc_level_action_tab(i) = 'UPDATE') then
1321
1322 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1323 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1324 ' Calling PERFORM_UPDATE procedure to update an entry in TAXWARE' );
1325 END IF;
1326
1327 Perform_update(l_tax_lines_tbl,p_currency_tab,l_return_status);
1328 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1329 IF (g_level_exception >= g_current_runtime_level ) THEN
1330 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1331 END IF;
1332 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1333 g_string :='Failed in performing the update';
1334 error_exception_handle(g_string);
1335 x_messages_tbl:=g_messages_tbl;
1336 RETURN;
1337 END IF;
1338 Begin
1339 Delete from zx_ptnr_neg_line_gt
1340 WHERE event_class_mapping_id = pg_doc_type_id_tab(I) and
1341 trx_id = pg_trx_id_tab(I) and
1342 trx_line_id = pg_trx_line_id_tab(I) and
1343 trx_level_type = pg_trx_level_type_tab(I);
1344 Exception
1345 When no_data_found then null;
1346 End;
1347 ELSE
1348 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1349 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1350 ' Unknown header level action' );
1351 END IF;
1352 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1353 g_string :=' Unknown header level action';
1354 error_exception_handle(g_string);
1355 x_messages_tbl:=g_messages_tbl;
1356 RETURN;
1357 END IF;
1358
1359 cnt_end := cnt + l_tax_lines_tbl.transaction_line_id.COUNT - 1;
1360
1361 FOR inner IN cnt .. cnt_end LOOP
1362
1363 x_tax_lines_tbl.DOCUMENT_TYPE_ID(inner) := l_tax_lines_tbl.DOCUMENT_TYPE_ID(inner);
1364 x_tax_lines_tbl.TRANSACTION_ID(inner) := l_tax_lines_tbl.TRANSACTION_ID(inner);
1365 x_tax_lines_tbl.TRANSACTION_LINE_ID(inner) := l_tax_lines_tbl.TRANSACTION_LINE_ID(inner);
1366 x_tax_lines_tbl.TRX_LEVEL_TYPE(inner) := l_tax_lines_tbl.TRX_LEVEL_TYPE(inner);
1367 x_tax_lines_tbl.COUNTRY_CODE(inner) := l_tax_lines_tbl.COUNTRY_CODE(inner);
1368 x_tax_lines_tbl.TAX(inner) := l_tax_lines_tbl.TAX(inner);
1369 x_tax_lines_tbl.SITUS(inner) := l_tax_lines_tbl.SITUS(inner);
1370 x_tax_lines_tbl.TAX_JURISDICTION(inner) := l_tax_lines_tbl.TAX_JURISDICTION(inner);
1371 x_tax_lines_tbl.TAX_CURRENCY_CODE(inner) := l_tax_lines_tbl.TAX_CURRENCY_CODE(inner);
1372 x_tax_lines_tbl.TAX_AMOUNT(inner) := l_tax_lines_tbl.TAX_AMOUNT(inner);
1373 x_tax_lines_tbl.UNROUNDED_TAX_AMOUNT(inner) := l_tax_lines_tbl.UNROUNDED_TAX_AMOUNT(inner);
1374 x_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(inner) := l_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(inner);
1375 x_tax_lines_tbl.TAX_RATE_PERCENTAGE(inner) := l_tax_lines_tbl.TAX_RATE_PERCENTAGE(inner);
1376 x_tax_lines_tbl.TAXABLE_AMOUNT(inner) := l_tax_lines_tbl.TAXABLE_AMOUNT(inner);
1377 x_tax_lines_tbl.EXEMPT_CERTIFICATE_NUMBER(inner) := l_tax_lines_tbl.EXEMPT_CERTIFICATE_NUMBER(inner);
1378 x_tax_lines_tbl.EXEMPT_RATE_MODIFIER(inner) := l_tax_lines_tbl.EXEMPT_RATE_MODIFIER(inner);
1379 x_tax_lines_tbl.EXEMPT_REASON(inner) := l_tax_lines_tbl.EXEMPT_REASON(inner);
1380 x_tax_lines_tbl.TAX_ONLY_LINE_FLAG(inner) := l_tax_lines_tbl.TAX_ONLY_LINE_FLAG(inner);
1381 x_tax_lines_tbl.INCLUSIVE_TAX_LINE_FLAG(inner) := l_tax_lines_tbl.INCLUSIVE_TAX_LINE_FLAG(inner);
1382 x_tax_lines_tbl.LINE_AMT_INCLUDES_TAX_FLAG(inner) := l_tax_lines_tbl.LINE_AMT_INCLUDES_TAX_FLAG(inner);
1383 x_tax_lines_tbl.USE_TAX_FLAG(inner) := l_tax_lines_tbl.USE_TAX_FLAG(inner);
1384 x_tax_lines_tbl.USER_OVERRIDE_FLAG(inner) := l_tax_lines_tbl.USER_OVERRIDE_FLAG(inner);
1385 x_tax_lines_tbl.LAST_MANUAL_ENTRY(inner) := l_tax_lines_tbl.LAST_MANUAL_ENTRY(inner);
1386 x_tax_lines_tbl.MANUALLY_ENTERED_FLAG(inner) := l_tax_lines_tbl.MANUALLY_ENTERED_FLAG(inner);
1387 x_tax_lines_tbl.REGISTRATION_PARTY_TYPE(inner) := l_tax_lines_tbl.REGISTRATION_PARTY_TYPE(inner);
1388 x_tax_lines_tbl.PARTY_TAX_REG_NUMBER(inner) := l_tax_lines_tbl.PARTY_TAX_REG_NUMBER(inner);
1389 x_tax_lines_tbl.THIRD_PARTY_TAX_REG_NUMBER(inner) := l_tax_lines_tbl.THIRD_PARTY_TAX_REG_NUMBER(inner);
1390 x_tax_lines_tbl.THRESHOLD_INDICATOR_FLAG(inner) := l_tax_lines_tbl.THRESHOLD_INDICATOR_FLAG(inner);
1391 x_tax_lines_tbl.STATE(inner) := l_tax_lines_tbl.STATE(inner);
1392 x_tax_lines_tbl.COUNTY(inner) := l_tax_lines_tbl.COUNTY(inner);
1393 x_tax_lines_tbl.CITY(inner) := l_tax_lines_tbl.CITY(inner);
1394 --bug7140895
1395 x_tax_lines_tbl.global_attribute_category(inner) := l_tax_lines_tbl.global_attribute_category(inner);
1396 x_tax_lines_tbl.global_attribute2(inner) := l_tax_lines_tbl.global_attribute2(inner);
1397 x_tax_lines_tbl.global_attribute4(inner) := l_tax_lines_tbl.global_attribute4(inner);
1398 x_tax_lines_tbl.global_attribute6(inner) := l_tax_lines_tbl.global_attribute6(inner);
1399 END LOOP;
1400 cnt := cnt + l_tax_lines_tbl.transaction_line_id.COUNT;
1401 END LOOP;
1402 END IF;
1403
1404 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1405 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
1406 END IF;
1407
1408 Exception
1409 WHEN WRONG_BUSINESS_FLOW then
1410 IF (g_level_exception >= g_current_runtime_level ) THEN
1411 FND_LOG.STRING(g_level_exception,G_PKG_NAME||': '||l_api_name,
1412 'Failed in calculate_tax_api procedure');
1413 END IF;
1414 g_string :='Release 12 Old tax partner integration does not support P2P products';
1415 error_exception_handle(g_string);
1416 x_messages_tbl:=g_messages_tbl;
1417 RAISE;
1418
1419 END CALCULATE_TAX_API;
1420
1421 PROCEDURE SET_DOCUMENT_TYPE( P_DOCUMENT_TYPE IN OUT NOCOPY VARCHAR2,
1422 P_ADJ_DOC_TRX_ID IN NUMBER,
1423 P_LINE_AMOUNT IN NUMBER,
1424 x_return_status OUT NOCOPY VARCHAR2)IS
1425 l_api_name CONSTANT VARCHAR2(30) := 'SET_DOCUMENT_TYPE';
1426
1427 Begin
1428 x_return_status := FND_API.G_RET_STS_SUCCESS;
1429
1430 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1431 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1432 END IF;
1433
1434 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1435 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_DOCUMENT_TYPE : '||P_DOCUMENT_TYPE );
1436 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_ADJ_DOC_TRX_ID : '||P_ADJ_DOC_TRX_ID );
1437 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_LINE_AMOUNT : '||P_LINE_AMOUNT );
1438 END IF;
1439 IF (p_document_type = 'CREDIT_MEMO') THEN
1440 IF (p_adj_doc_trx_id is not null) THEN
1441 IF (p_line_amount = 0) THEN
1442 p_document_type :='TAX_ONLY_CREDIT_MEMO';
1443 ELSIF pg_line_level_action_tab(I) = 'RECORD_WITH_NO_TAX' THEN
1444 --ELSIF (pg_allow_tax_calc_tab(I) ='N') THEN
1445 p_document_type :='LINE_ONLY_CREDIT_MEMO';
1446 ELSE
1447 p_document_type :='APPLIED_CREDIT_MEMO';
1448 END IF; /*LINE_AMOUNT*/
1449 ELSE
1450 p_document_type :='ON_ACCT_CREDIT_MEMO';
1451 END IF; /*ADJ_DOC_TRX_ID*/
1452 END IF; /*'CREDIT_MEMO*/
1453
1454 IF (p_document_type = 'INVOICE') THEN
1455 IF (p_line_amount = 0) THEN
1456 p_document_type :='TAX_ONLY_INVOICE';
1457 END IF;
1458 END IF;/*INVOICE*/
1459
1460 IF (p_document_type = 'INVOICE_ADJUSTMENT') THEN
1461 IF (p_line_amount = 0) THEN
1462 p_document_type := 'TAX_ONLY_ADJUSTMENT';
1463 END IF;
1464 END IF;
1465 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1466 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
1467 END IF;
1468 End;
1469
1470
1471 PROCEDURE PERFORM_VALIDATE(x_return_status OUT NOCOPY varchar2) is
1472 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_VALIDATE';
1473 Begin
1474
1475 x_return_status := FND_API.G_RET_STS_SUCCESS;
1476
1477 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1478 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1479 END IF;
1480
1481 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1482 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_DOC_LEVEL_ACTION_TAB(i) : '||pg_doc_level_action_tab(i));
1483 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_LINE_LEVEL_ACTION_TAB(i) : '||pg_line_level_action_tab(i));
1484 END IF;
1485 if(pg_doc_level_action_tab(i) = 'CREATE') Then
1486 if(pg_line_level_action_tab(i) NOT IN ('CREATE', 'QUOTE','SYNCHRONIZE','RECORD_WITH_NO_TAX')) Then
1487 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1488 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1489 END IF;
1490 x_return_status := FND_API.G_RET_STS_ERROR;
1491 end if;
1492 elsif(pg_doc_level_action_tab(i) = 'QUOTE') Then
1493 if(pg_line_level_action_tab(i) NOT IN ('QUOTE')) Then
1494 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1495 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1496 END IF;
1497 x_return_status := FND_API.G_RET_STS_ERROR;
1498 end if;
1499 elsif(pg_doc_level_action_tab(i) = 'UPDATE') Then
1500 if(pg_line_level_action_tab(i) NOT IN ('CREATE', 'UPDATE', 'QUOTE', 'CANCEL', 'DELETE', 'SYNCHRONIZE','RECORD_WITH_NO_TAX')) Then
1501 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1502 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1503 END IF;
1504 x_return_status := FND_API.G_RET_STS_ERROR;
1505 end if;
1506 else
1507 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1508 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown header level action');
1509 END IF;
1510 null;
1511 end if;
1512 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1513 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
1514 END IF;
1515 End perform_validate;
1516
1517
1518 PROCEDURE PERFORM_LINE_CREATION(p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
1519 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
1520 x_return_status OUT NOCOPY VARCHAR2)is
1521 l_TaxLink ZX_TAX_TAXWARE_GEN.TaxParm;
1522 l_JurLink ZX_TAX_TAXWARE_GEN.JurParm;
1523 l_OraLink ZX_TAX_TAXWARE_GEN.t_OraParm;
1524 return_code boolean;
1525 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_LINE_CREATION';
1526 l_return_status VARCHAR2(30);
1527 input_param_flag boolean;
1528 Begin
1529
1530 x_return_status := FND_API.G_RET_STS_SUCCESS;
1531
1532 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1533 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1534 END IF;
1535
1536 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1537 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling SET_PARAMETERS procedure' );
1538 END IF;
1539
1540 g_line_level_action:='CREATE';
1541 return_code := Set_Parameters(l_TaxLink, l_JurLink, l_OraLink);
1542 input_param_flag := TRUE;
1543 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
1544
1545 if(return_code = TRUE) then
1546 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1547 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling CALCULATE_TAX procedure' );
1548 END IF;
1549
1550 return_code := calculate_tax(l_TaxLink, l_JurLink, l_OraLink);
1551 input_param_flag := FALSE;
1552 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
1553 IF (return_code = FALSE) then
1554 --x_return_status := FND_API.G_RET_STS_ERROR;
1555 g_string :='Failed in CALCULATE_TAX procedure';
1556 error_exception_handle(g_string);
1557 return;
1558 END IF;
1559 else
1560 x_return_status := FND_API.G_RET_STS_ERROR;
1561 g_string :='Failed in SET_PRAMETERS procedure';
1562 error_exception_handle(g_string);
1563 return;
1564 end if;
1565 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1566 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling TAX_RESULTS_PROCESSING procedure' );
1567 END IF;
1568
1569 tax_results_processing(p_tax_lines_tbl,p_currency_tab,l_TaxLink, l_JurLink, l_OraLink,l_return_status);
1570 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1571 IF (g_level_exception >= g_current_runtime_level ) THEN
1572 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1573 END IF;
1574 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1575 g_string :='Failed in call to the TAX_RESULTS_PROCESSING';
1576 error_exception_handle(g_string);
1577 RETURN;
1578 END IF;
1579
1580 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1581 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
1582 END IF;
1583 Exception
1584 When Others then
1585 x_return_status := FND_API.G_RET_STS_ERROR;
1586 IF (g_level_exception >= g_current_runtime_level ) THEN
1587 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
1588 'Failed in Line creation procedure');
1589 END IF;
1590 End;
1591
1592 PROCEDURE PERFORM_LINE_DELETION(x_return_status OUT NOCOPY VARCHAR2) is
1593 l_TaxLink ZX_TAX_TAXWARE_GEN.TaxParm;
1594 l_JurLink ZX_TAX_TAXWARE_GEN.JurParm;
1595 l_OraLink ZX_TAX_TAXWARE_GEN.t_OraParm;
1596 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_LINE_DELETION';
1597 return_code boolean;
1598 input_param_flag boolean;
1599 Begin
1600 x_return_status := FND_API.G_RET_STS_SUCCESS;
1601 /*ZX_TAXWARE_USER_PKG.g_line_negation := TRUE;
1602 ZX_TAXWARE_USER_PKG.g_trx_line_id := pg_trx_line_id_tab(I);
1603 ZX_TAXWARE_USER_PKG.Derive_Hdr_Ext_Attr;
1604 ZX_TAXWARE_USER_PKG.Derive_Line_Ext_Attr;*/
1605 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1606 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1607 END IF;
1608 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1609 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling SET_PARAMETERS procedure' );
1610 END IF;
1611
1612 g_line_level_action:='DELETE';
1613 return_code := Set_Parameters(l_TaxLink, l_JurLink, l_OraLink);
1614 if(return_code = TRUE) then
1615 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1616 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling CALCULATE_TAX procedure' );
1617 END IF;
1618
1619 input_param_flag := TRUE;
1620 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
1621
1622 return_code := calculate_tax(l_TaxLink, l_JurLink, l_OraLink);
1623 input_param_flag := FALSE;
1624 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
1625 IF (return_code = FALSE) then
1626 --x_return_status := FND_API.G_RET_STS_ERROR;
1627 g_string :='Failed in CALCULATE_TAX procedure';
1628 error_exception_handle(g_string);
1629 return;
1630 END IF;
1631 else
1632 x_return_status := FND_API.G_RET_STS_ERROR;
1633 end if;
1634 /*end of line deletion process.*/
1635 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1636 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
1637 END IF;
1638 Exception
1639 When Others then
1640 x_return_status := FND_API.G_RET_STS_ERROR;
1641 IF (g_level_exception >= g_current_runtime_level ) THEN
1642 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
1643 'Failed in Line deletion procedure');
1644 END IF;
1645
1646 End;
1647
1648 PROCEDURE PERFORM_UPDATE (p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
1649 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
1650 x_return_status OUT NOCOPY VARCHAR2) is
1651 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_UPDATE';
1652 l_return_status varchar2(30);
1653 l_ret_code boolean;
1654 Begin
1655
1656 x_return_status := FND_API.G_RET_STS_SUCCESS;
1657
1658 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1659 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1660 END IF;
1661
1662 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1663 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_LINE_LEVEL_ACTION_TAB(i)'||pg_line_level_action_tab(i) );
1664 END IF;
1665 if (pg_line_level_action_tab(i) in ('CREATE','QUOTE')) Then
1666
1667 g_line_level_action := 'CREATE';
1668
1669 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1670 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling PERFORM_LINE_CREATION procedure' );
1671 END IF;
1672
1673 Perform_line_creation(p_tax_lines_tbl,p_currency_tab,l_return_status);
1674 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1675 IF (g_level_exception >= g_current_runtime_level ) THEN
1676 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1677 END IF;
1678 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1679 g_string :='Not compaitable to TAXWARE Release';
1680 error_exception_handle(g_string);
1681 return;
1682 END IF;
1683
1684 elsif(pg_line_level_action_tab(i) in ('UPDATE')) Then
1685 /*First make contra entry*/
1686 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1687 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling PERFORM_LINE_DELETION procedure' );
1688 END IF;
1689
1690 perform_line_deletion(l_return_status);
1691
1692 /*For new line*/
1693 -- g_line_level_action := 'CREATE';
1694 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1695 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling PERFORM_LINE_CREATION procedure' );
1696 END IF;
1697
1698 perform_line_creation(p_tax_lines_tbl,p_currency_tab,l_return_status);
1699 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1700 IF (g_level_exception >= g_current_runtime_level ) THEN
1701 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1702 END IF;
1703 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1704 g_string :='Not compaitable to TAXWARE Release';
1705 error_exception_handle(g_string);
1706 return;
1707 END IF;
1708 elsif(pg_line_level_action_tab(i) in ('DELETE','CANCEL')) Then
1709 -- g_line_level_action := pg_line_level_action_tab(i);
1710 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1711 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling PERFORM_LINE_DELETION procedure' );
1712 END IF;
1713
1714 perform_line_deletion(l_return_status);
1715
1716 else
1717 Null;/*Need to add for SYNCHRONIZE */
1718 end if;/*Line level operation*/
1719
1720
1721 End PERFORM_UPDATE;
1722
1723 PROCEDURE GET_TAX_JUR_CODE(p_location_id IN NUMBER,
1724 p_situs IN VARCHAR2,
1725 p_tax IN VARCHAR2,
1726 p_regime_code IN VARCHAR2,
1727 p_inv_date IN DATE,
1728 x_tax_jurisdiction_code OUT NOCOPY VARCHAR2,
1729 x_return_status OUT NOCOPY VARCHAR2) IS
1730
1731 l_api_name CONSTANT VARCHAR2(30) := 'GET_TAX_JUR_CODE';
1732 x_tax_jurisdiction_rec ZX_TCM_GEO_JUR_PKG.tax_jurisdiction_rec_type;
1733 x_jurisdictions_found VARCHAR2(20);
1734 l_return_status VARCHAR2(30);
1735
1736 BEGIN
1737 x_return_status := FND_API.G_RET_STS_SUCCESS;
1738
1739 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1740 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1741 END IF;
1742
1743 ZX_TCM_GEO_JUR_PKG.get_tax_jurisdictions
1744 (p_location_id ,
1745 p_situs ,
1746 p_tax ,
1747 p_regime_code ,
1748 p_inv_date ,
1749 x_tax_jurisdiction_rec ,
1750 x_jurisdictions_found ,
1751 x_return_status
1752 );
1753 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1754 IF (g_level_exception >= g_current_runtime_level ) THEN
1755 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1756 END IF;
1757 -- x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1758 g_string :='Not able to find Jurisdiction';
1759 error_exception_handle(g_string);
1760 RETURN;
1761 END IF;
1762
1763 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1764 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1765 'x_jurisdictions_found :'||x_jurisdictions_found);
1766 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1767 'x_tax_jurisdiction_rec.tax_jurisdiction_code :'||x_tax_jurisdiction_rec.tax_jurisdiction_code);
1768 END IF;
1769
1770 IF x_jurisdictions_found = 'Y' THEN
1771 IF x_tax_jurisdiction_rec.tax_jurisdiction_code IS NOT NULL THEN
1772 x_tax_jurisdiction_code := x_tax_jurisdiction_rec.tax_jurisdiction_code;
1773 ELSE
1774 BEGIN
1775 SELECT tax_jurisdiction_code
1776 INTO x_tax_jurisdiction_code
1777 FROM
1778 (SELECT tax_jurisdiction_code
1779 FROM zx_jurisdictions_gt
1780 WHERE tax_regime_code = p_regime_code
1781 AND tax = p_tax
1782 AND precedence_level = (SELECT max(precedence_level)
1783 FROM zx_jurisdictions_gt
1784 WHERE tax_regime_code = p_regime_code
1785 AND tax = p_tax)
1786 ORDER BY tax_jurisdiction_code)
1787 WHERE ROWNUM = 1;
1788 END;
1789 END IF;
1790 END IF;
1791
1792 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1793 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1794 END IF;
1795
1796 END GET_TAX_JUR_CODE;
1797
1798 FUNCTION SET_PARAMETERS(
1799 l_Tax_Link IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
1800 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
1801 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm) RETURN BOOLEAN is
1802
1803 /*Following variables used during line deletion process.*/
1804 arp_line_amount ZX_PTNR_NEG_LINE_GT.line_amt%type;
1805 arp_quantity ZX_PTNR_NEG_LINE_GT.trx_line_quantity%type;
1806 arp_trx_id ZX_PTNR_NEG_LINE_GT.trx_id%type;
1807 arp_trx_number ZX_PTNR_NEG_LINE_GT.trx_number%type;
1808 /*Not needed for TAXWARE
1809 arp_ship_to_grphy_type1 varchar2(240);
1810 arp_ship_to_grphy_value1 varchar2(240);
1811 arp_ship_to_grphy_type2 varchar2(240);
1812 arp_ship_to_grphy_value2 varchar2(240);
1813 arp_ship_to_grphy_type3 varchar2(240);
1814 arp_ship_to_grphy_value3 varchar2(240);
1815 arp_ship_to_grphy_type4 varchar2(240);
1816 arp_ship_to_grphy_value4 varchar2(240);
1817 arp_ship_to_grphy_type5 varchar2(240);
1818 arp_ship_to_grphy_value5 varchar2(240);
1819 arp_ship_to_grphy_type6 varchar2(240);
1820 arp_ship_to_grphy_value6 varchar2(240);
1821 arp_ship_to_grphy_type7 varchar2(240);
1822 arp_ship_to_grphy_value7 varchar2(240);
1823 arp_ship_to_grphy_type8 varchar2(240);
1824 arp_ship_to_grphy_value8 varchar2(240);
1825 arp_ship_to_grphy_type9 varchar2(240);
1826 arp_ship_to_grphy_value9 varchar2(240);
1827 arp_ship_to_grphy_type10 varchar2(240);
1828 arp_ship_to_grphy_value10 varchar2(240);
1829 arp_ship_from_grphy_type1 varchar2(240);
1830 arp_ship_from_grphy_value1 varchar2(240);
1831 arp_ship_from_grphy_type2 varchar2(240);
1832 arp_ship_from_grphy_value2 varchar2(240);
1833 arp_ship_from_grphy_type3 varchar2(240);
1834 arp_ship_from_grphy_value3 varchar2(240);
1835 arp_ship_from_grphy_type4 varchar2(240);
1836 arp_ship_from_grphy_value4 varchar2(240);
1837 arp_ship_from_grphy_type5 varchar2(240);
1838 arp_ship_from_grphy_value5 varchar2(240);
1839 arp_ship_from_grphy_type6 varchar2(240);
1840 arp_ship_from_grphy_value6 varchar2(240);
1841 arp_ship_from_grphy_type7 varchar2(240);
1842 arp_ship_from_grphy_value7 varchar2(240);
1843 arp_ship_from_grphy_type8 varchar2(240);
1844 arp_ship_from_grphy_value8 varchar2(240);
1845 arp_ship_from_grphy_type9 varchar2(240);
1846 arp_ship_from_grphy_value9 varchar2(240);
1847 arp_ship_from_grphy_type10 varchar2(240);
1848 arp_ship_from_grphy_value10 varchar2(240);
1849 arp_poa_grphy_type1 varchar2(240);
1850 arp_poa_grphy_value1 varchar2(240);
1851 arp_poa_grphy_type2 varchar2(240);
1852 arp_poa_grphy_value2 varchar2(240);
1853 arp_poa_grphy_type3 varchar2(240);
1854 arp_poa_grphy_value3 varchar2(240);
1855 arp_poa_grphy_type4 varchar2(240);
1856 arp_poa_grphy_value4 varchar2(240);
1857 arp_poa_grphy_type5 varchar2(240);
1858 arp_poa_grphy_value5 varchar2(240);
1859 arp_poa_grphy_type6 varchar2(240);
1860 arp_poa_grphy_value6 varchar2(240);
1861 arp_poa_grphy_type7 varchar2(240);
1862 arp_poa_grphy_value7 varchar2(240);
1863 arp_poa_grphy_type8 varchar2(240);
1864 arp_poa_grphy_value8 varchar2(240);
1865 arp_poa_grphy_type9 varchar2(240);
1866 arp_poa_grphy_value9 varchar2(240);
1867 arp_poa_grphy_type10 varchar2(240);
1868 arp_poa_grphy_value10 varchar2(240);
1869 arp_poo_grphy_type1 varchar2(240);
1870 arp_poo_grphy_value1 varchar2(240);
1871 arp_poo_grphy_type2 varchar2(240);
1872 arp_poo_grphy_value2 varchar2(240);
1873 arp_poo_grphy_type3 varchar2(240);
1874 arp_poo_grphy_value3 varchar2(240);
1875 arp_poo_grphy_type4 varchar2(240);
1876 arp_poo_grphy_value4 varchar2(240);
1877 arp_poo_grphy_type5 varchar2(240);
1878 arp_poo_grphy_value5 varchar2(240);
1879 arp_poo_grphy_type6 varchar2(240);
1880 arp_poo_grphy_value6 varchar2(240);
1881 arp_poo_grphy_type7 varchar2(240);
1882 arp_poo_grphy_value7 varchar2(240);
1883 arp_poo_grphy_type8 varchar2(240);
1884 arp_poo_grphy_type9 varchar2(240);
1885 arp_poo_grphy_value9 varchar2(240);
1886 arp_poo_grphy_type10 varchar2(240);
1887 arp_poo_grphy_value10 varchar2(240);
1888 arp_bill_to_grphy_type1 varchar2(240);
1889 arp_bill_to_grphy_value1 varchar2(240);
1890 arp_bill_to_grphy_type2 varchar2(240);
1891 arp_bill_to_grphy_value2 varchar2(240);
1892 arp_bill_to_grphy_type3 varchar2(240);
1893 arp_bill_to_grphy_value3 varchar2(240);
1894 arp_bill_to_grphy_type4 varchar2(240);
1895 arp_bill_to_grphy_value4 varchar2(240);
1896 arp_bill_to_grphy_type5 varchar2(240);
1897 arp_bill_to_grphy_value5 varchar2(240);
1898 arp_bill_to_grphy_type6 varchar2(240);
1899 arp_bill_to_grphy_value6 varchar2(240);
1900 arp_bill_to_grphy_type7 varchar2(240);
1901 arp_bill_to_grphy_value7 varchar2(240);
1902 arp_bill_to_grphy_type8 varchar2(240);
1903 arp_bill_to_grphy_value8 varchar2(240);
1904 arp_bill_to_grphy_type9 varchar2(240);
1905 arp_bill_to_grphy_value9 varchar2(240);
1906 arp_bill_to_grphy_type10 varchar2(240);
1907 arp_bill_to_grphy_value10 varchar2(240);
1908 arp_bill_from_grphy_type1 varchar2(240);
1909 arp_bill_from_grphy_value1 varchar2(240);
1910 arp_bill_from_grphy_type2 varchar2(240);
1911 arp_bill_from_grphy_value2 varchar2(240);
1912 arp_bill_from_grphy_type3 varchar2(240);
1913 arp_bill_from_grphy_value3 varchar2(240);
1914 arp_bill_from_grphy_type4 varchar2(240);
1915 arp_bill_from_grphy_value4 varchar2(240);
1916 arp_bill_from_grphy_type5 varchar2(240);
1917 arp_bill_from_grphy_value5 varchar2(240);
1918 arp_bill_from_grphy_type6 varchar2(240);
1919 arp_bill_from_grphy_value6 varchar2(240);
1920 arp_bill_from_grphy_type7 varchar2(240);
1921 arp_bill_from_grphy_value7 varchar2(240);
1922 arp_bill_from_grphy_type8 varchar2(240);
1923 arp_bill_from_grphy_value8 varchar2(240);
1924 arp_bill_from_grphy_type9 varchar2(240);
1925 arp_bill_from_grphy_value9 varchar2(240);
1926 arp_bill_from_grphy_type10 varchar2(240);
1927 arp_bill_from_grphy_value10 varchar2(240); Not Required for TAXWARE*/
1928 arp_tax_type varchar2(150);
1929 arp_product_code ZX_LINES_DET_FACTORS.PRODUCT_CODE%TYPE;
1930 use_step varchar2(30);
1931 arp_state_exempt_reason varchar2(240);
1932 arp_county_exempt_reason varchar2(240);
1933 arp_city_exempt_reason varchar2(240);
1934 step_proc_flag varchar2(30);
1935 arp_audit_flag varchar2(30);
1936 arp_ship_to_add varchar2(240);
1937 arp_ship_from_add varchar2(240);
1938 arp_poa_add_code varchar2(240);
1939 arp_poo_add_code varchar2(240);
1940 arp_customer_code varchar2(150);
1941 arp_customer_name varchar2(360);
1942 arp_company_code varchar2(150);
1943 arp_division_code varchar2(150);
1944 arp_vnd_ctrl_exmpt varchar2(150);
1945 arp_use_nexpro varchar2(30);
1946 arp_service_ind varchar2(150);
1947 crit_flag varchar2(30);
1948 calculation_flag varchar2(30);
1949 state_cert_no varchar2(150);
1950 county_cert_no varchar2(150);
1951 city_cert_no varchar2(150);
1952 arp_state_exempt_percent number;
1953 arp_county_exempt_pct number;
1954 arp_city_exempt_pct number;
1955 sec_county_exempt_pct number;
1956 sec_city_exempt_pct number;
1957 arp_tax_sel_param number;
1958 arp_transaction_date date;
1959 arp_adj_doc_date date;
1960 arp_trx_date date;
1961 arp_fob_point varchar2(20);
1962 arp_exempt_control_flag varchar2(1);
1963
1964 /*Following variables defined for local use*/
1965 l_tax_sel_param number;
1966 l_tax_type_param varchar2(150);
1967 l_tax_type varchar2(150);
1968 l_calculation_flag varchar2(150);
1969 l_poo_code varchar2(150);
1970 l_poa_code varchar2(150);
1971 l_ship_from_code varchar2(150);
1972 l_ship_to_code varchar2(150);
1973 l_service_indicator varchar2(150);
1974 l_state_exempt_reason varchar2(150);
1975 l_county_exempt_reason varchar2(150);
1976 l_city_exempt_reason varchar2(150);
1977 l_sec_county_exempt_reason varchar2(150);
1978 l_sec_city_exempt_reason varchar2(150);
1979 l_state_exempt_percent number;
1980 l_county_exempt_percent number;
1981 l_city_exempt_percent number;
1982 l_sec_county_exempt_percent number;
1983 l_sec_city_exempt_percent number;
1984 /*st_tax_amt number;
1985 co_tax_amt number;
1986 ci_tax_amt number; */
1987 l_use_step varchar2(20);
1988 l_step_proc_flag varchar2(20);
1989 l_job_no varchar2(20);
1990 l_criterion_flag varchar2(20);
1991 l_prod_ind varchar2(20);
1992 l_fob_point varchar2(20);
1993 l_api_name CONSTANT VARCHAR2(30) := 'SET_PARAMETERS';
1994
1995 Begin
1996
1997 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1998 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
1999 END IF;
2000
2001 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2002 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'G_LINE_LEVEL_ACTION :'||g_line_level_action);
2003 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Value of I is :'||I);
2004 END IF;
2005
2006 if(g_line_level_action='CREATE') then
2007 l_OraLink.oracleid := pg_Trx_id_tab(I);
2008 else /*Line level action is delete*/
2009 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2010 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2011 'Selecting data from ZX_PTNR_NEG_LINE_GT');
2012 END IF;
2013
2014 select
2015 line_amt,
2016 trx_line_quantity,
2017 trx_id,
2018 trx_number,
2019 adjusted_doc_date,
2020 trx_date,
2021 exemption_control_flag,
2022 fob_point,
2023 line_ext_varchar_attribute1 ,
2024 line_ext_varchar_attribute2 ,
2025 line_ext_varchar_attribute3 ,
2026 line_ext_varchar_attribute4 ,
2027 line_ext_varchar_attribute5 ,
2028 line_ext_varchar_attribute6 ,
2029 line_ext_varchar_attribute7 ,
2030 line_ext_varchar_attribute8 ,
2031 line_ext_varchar_attribute9 ,
2032 line_ext_varchar_attribute10 ,
2033 line_ext_varchar_attribute11 ,
2034 line_ext_varchar_attribute12 ,
2035 line_ext_varchar_attribute13 ,
2036 line_ext_varchar_attribute14 ,
2037 line_ext_varchar_attribute15 ,
2038 line_ext_varchar_attribute16 ,
2039 line_ext_varchar_attribute17 ,
2040 line_ext_varchar_attribute18 ,
2041 line_ext_varchar_attribute19 ,
2042 line_ext_varchar_attribute20 ,
2043 line_ext_varchar_attribute21 ,
2044 line_ext_varchar_attribute22 ,
2045 line_ext_varchar_attribute23 ,
2046 line_ext_varchar_attribute24 ,
2047 line_ext_number_attribute1 ,
2048 line_ext_number_attribute2 ,
2049 line_ext_number_attribute3 ,
2050 line_ext_number_attribute4 ,
2051 line_ext_number_attribute5 ,
2052 line_ext_number_attribute6 ,
2053 line_ext_date_attribute1
2054 Into arp_line_amount,
2055 arp_quantity,
2056 arp_trx_id,
2057 arp_trx_number,
2058 arp_adj_doc_date,
2059 arp_trx_date,
2060 arp_exempt_control_flag,
2061 arp_fob_point,
2062 arp_tax_type ,
2063 arp_product_code ,
2064 use_step ,
2065 arp_state_exempt_reason ,
2066 arp_county_exempt_reason ,
2067 arp_city_exempt_reason ,
2068 step_proc_flag ,
2069 arp_audit_flag ,
2070 arp_ship_to_add ,
2071 arp_ship_from_add ,
2072 arp_poa_add_code ,
2073 arp_customer_code ,
2074 arp_customer_name ,
2075 arp_company_code ,
2076 arp_division_code ,
2077 arp_vnd_ctrl_exmpt ,
2078 arp_use_nexpro ,
2079 arp_service_ind ,
2080 crit_flag ,
2081 arp_poo_add_code ,
2082 calculation_flag ,
2083 state_cert_no ,
2084 county_cert_no ,
2085 city_cert_no ,
2086 arp_state_exempt_percent ,
2087 arp_county_exempt_pct ,
2088 arp_city_exempt_pct ,
2089 sec_county_exempt_pct ,
2090 sec_city_exempt_pct ,
2091 arp_tax_sel_param ,
2092 arp_transaction_date
2093 from ZX_PTNR_NEG_LINE_GT
2094 WHERE trx_line_id= pg_trx_line_id_tab(I);
2095
2096 l_OraLink.oracleid := arp_Trx_id;
2097 end if;
2098
2099 l_OraLink.oracle_msg_text := null;
2100 l_OraLink.oracle_msg_label := null;
2101 l_OraLink.taxware_msg_text := null;
2102 l_OraLink.reserved_text_1 := null;
2103 l_OraLink.reserved_text_2 := null;
2104 l_OraLink.reserved_text_3 := null;
2105 l_OraLink.reserved_bool_1 := null;
2106 l_OraLink.reserved_bool_2 := null;
2107 l_OraLink.reserved_bool_3 := null;
2108 l_OraLink.reserved_char_1 := null;
2109 l_OraLink.reserved_char_2 := null;
2110 l_OraLink.reserved_char_3 := null;
2111 l_OraLink.reserved_num_1 := null;
2112 l_OraLink.reserved_num_2 := null;
2113 l_OraLink.reserved_bignum_1 := null;
2114 l_OraLink.reserved_date_1 := null;
2115
2116 /*-------------------------------------------------------------+
2117 | Validate Taxware attributes passed |
2118 +-----------------------------------------------------------*/
2119
2120 /*Here we are assigning to the variables..In subsequent changes
2121 we may directly use these values*/
2122
2123
2124 if(g_line_level_action = 'CREATE') then
2125 l_tax_sel_param := pg_line_numeric6_tab(i);
2126 l_tax_type_param := pg_line_char1_tab(i);
2127 l_calculation_flag := pg_line_char21_tab(I);
2128 l_poo_code := pg_line_char20_tab(i); /*assigned*/
2129 l_poa_code := pg_line_char11_tab(i);
2130 l_ship_from_code := pg_line_char10_tab(i);
2131 l_ship_to_code := pg_line_char9_tab(i);
2132 l_service_indicator := pg_line_char18_tab(i);
2133 l_state_exempt_reason := pg_line_char4_tab(i);
2134 l_county_exempt_reason := pg_line_char5_tab(i);
2135 l_city_exempt_reason := pg_line_char6_tab(i);
2136 l_sec_county_exempt_reason := pg_line_char5_tab(i);
2137 l_sec_city_exempt_reason := pg_line_char6_tab(i);
2138 l_state_cert_no := pg_line_char22_tab(i);
2139 l_county_cert_no := pg_line_char23_tab(i);
2140 l_city_cert_no := pg_line_char24_tab(i);
2141 l_state_exempt_percent := pg_line_numeric1_tab(i);
2142 l_county_exempt_percent := pg_line_numeric2_tab(i);
2143 l_city_exempt_percent := pg_line_numeric3_tab(i);
2144 l_sec_county_exempt_percent := pg_line_numeric4_tab(i);
2145 l_sec_city_exempt_percent := pg_line_numeric5_tab(i);
2146 else
2147 l_tax_sel_param := arp_tax_sel_param;
2148 l_tax_type_param := arp_tax_type;
2149 l_calculation_flag := calculation_flag;
2150 l_poo_code := arp_poo_add_code;
2151 l_poa_code := arp_poa_add_code;
2152 l_ship_from_code := arp_ship_from_add;
2153 l_ship_to_code := arp_ship_to_add;
2154 l_service_indicator := arp_service_ind;
2155 l_state_exempt_reason := arp_state_exempt_reason;
2156 l_county_exempt_reason := arp_county_exempt_reason;
2157 l_city_exempt_reason := arp_city_exempt_reason;
2158 l_sec_county_exempt_reason := arp_county_exempt_reason;
2159 l_sec_city_exempt_reason := arp_city_exempt_reason;
2160 l_state_exempt_percent := arp_state_exempt_percent;
2161 l_county_exempt_percent := arp_county_exempt_pct;
2162 l_city_exempt_percent := arp_city_exempt_pct ;
2163 l_sec_county_exempt_percent := sec_county_exempt_pct;
2164 l_sec_city_exempt_percent := sec_city_exempt_pct;
2165 end if;
2166
2167 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2168 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2169 'Value of l_tax_sel_param is :'||to_char(l_tax_sel_param));
2170 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2171 'Value of l_tax_type_param is :'||l_tax_type_param);
2172 END IF;
2173
2174
2175 IF l_tax_sel_param is NULL then
2176 g_tax_SELECTION := ZX_TAX_TAXWARE_GEN.SELPRM_TAX_JUR;
2177 ELSIF l_tax_sel_param = 1 THEN
2178 g_tax_SELECTION := ZX_TAX_TAXWARE_GEN.SELPRM_JUR_ONLY;
2179 ELSIF l_tax_sel_param = 2 THEN
2180 g_tax_SELECTION := ZX_TAX_TAXWARE_GEN.SELPRM_TAXES_ONLY;
2181 ELSE
2182 g_tax_SELECTION := ZX_TAX_TAXWARE_GEN.SELPRM_TAX_JUR;
2183 END IF;
2184
2185 IF l_tax_type_param = '1' THEN
2186 l_tax_type := ZX_TAX_TAXWARE_GEN.IND_SALES;
2187 ELSIF l_tax_type_param = '2' THEN
2188 l_tax_type := ZX_TAX_TAXWARE_GEN.IND_USE;
2189 ELSIF l_tax_type_param = '3' THEN
2190 l_tax_type := ZX_TAX_TAXWARE_GEN.IND_RENTAL;
2191 ELSE
2192 l_tax_type := ZX_TAX_TAXWARE_GEN.IND_SALES;
2193 END IF;
2194 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2195 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2196 'Value of l_poo_code is :'||l_poo_code);
2197 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2198 'Value of l_poa_code is :'||l_poa_code);
2199 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2200 'Value of l_ship_from_code is :'||l_ship_from_code);
2201 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2202 'Value of l_ship_to_code is :'||l_ship_to_code);
2203 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2204 'Value of l_calculation_flag is :'||l_calculation_flag);
2205
2206 END IF;
2207 -- Validate POO, POA and SHIP-FROM if tax selection specifies use of
2208 -- Jurisdictions.
2209 IF (g_tax_SELECTION IN
2210 (ZX_TAX_TAXWARE_GEN.SELPRM_JUR_ONLY, ZX_TAX_TAXWARE_GEN.SELPRM_TAX_JUR) ) THEN
2211 -- POO Code
2212 IF ( l_poo_code IS NULL ) THEN
2213 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2214 'Taxware Error: Point Of Order Origin(POO) Information is not passed.',null,null);
2215 END IF;
2216
2217 -- POA Code
2218 IF ( l_poa_code IS NULL ) THEN
2219 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2220 'Taxware Error: Point Of Order Acceptance(POA) Information is not passed.',null,null);
2221 Return FALSE;
2222 END IF;
2223
2224 -- Ship From Address
2225 IF ( l_ship_from_code IS NULL ) THEN
2226 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2227 'Taxware Error: Ship From Address Information is not passed.',null,null);
2228 RETURN FALSE;
2229 END IF;
2230
2231 END IF; -- Tax selection uses Jurisdictions?
2232
2233 -- Ship To Address
2234 IF ( l_ship_to_code IS NULL ) THEN
2235 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2236 'Taxware Error: Ship To Address Information is not passed.',null,null);
2237 RETURN FALSE;
2238 END IF;
2239
2240 /*----------------------------------------------------------------------+
2241 | Users could customize the tax views to totally exempt tax at any of |
2242 | the jurisdiction levels using No Tax Indicators. |
2243 | No Tax Indicators for all the levels are passed in thru |
2244 | calculation_flag as State||County||City||Sec County||Sec City. |
2245 +----------------------------------------------------------------------*/
2246
2247
2248
2249 -- No State Tax Indicator
2250 IF ( nvl(substrb(l_calculation_flag,1,1), '0') NOT IN ('0','1'))
2251 THEN
2252 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2253 'Taxware Error: Invalid No State Tax Indicator. Must be 1 or 0.',null,null);
2254 RETURN FALSE;
2255 END IF;
2256
2257 -- No County Tax Indicator
2258 IF ( nvl(substrb(l_calculation_flag,2,1), '0') NOT IN ('0','1'))
2259 THEN
2260 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2261 'Taxware Error: Invalid No County Tax Indicator. Must be 1 or 0.',null,null);
2262 RETURN FALSE;
2263 END IF;
2264
2265 -- No City/Town Tax Indicator
2266 IF ( nvl(substrb(l_calculation_flag,3,1), '0') NOT IN ('0','1'))
2267 THEN
2268 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2269 'Taxware Error: Invalid No City/Town Tax Indicator. Must be 1 or 0.',null,null);
2270 RETURN FALSE;
2271 END IF;
2272
2273 -- No Secondary County Tax Indicator
2274 IF ( nvl(substrb(l_calculation_flag,4,1), '0') NOT IN ('0','1'))
2275 THEN
2276 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2277 'Taxware Error: Invalid No Secondary County Tax Indicator. Must be 1 or 0.',null,null);
2278 RETURN FALSE;
2279 END IF;
2280
2281 -- No Secondary City/Town Tax Indicator
2282 IF ( nvl(substrb(l_calculation_flag,5,1), '0') NOT IN ('0','1'))
2283 THEN
2284 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2285 'Taxware Error: Invalid No Secondary City/Town Tax Indicator. Must be 1 or 0.',null,null);
2286 RETURN FALSE;
2287 END IF;
2288
2289 /*-------------------------------------------------------------+
2290 | Validation Complete. |
2291 +-------------------------------------------------------------*/
2292
2293
2294 if(g_line_level_action = 'CREATE') then
2295 l_Tax_link.CustNo :=pg_line_char12_tab(I);
2296 l_Tax_link.CustName :=substr(pg_line_char13_tab(I),1,20);
2297 l_Tax_link.InvoiceNo :=pg_trx_number_tab(I);
2298 l_Tax_link.FiscalDate :=pg_line_date1_tab(I);
2299 l_Tax_link.ProdCode :=pg_line_char2_tab(I);
2300 l_Tax_link.NumItems :=pg_trx_line_qty_tab(I);
2301 l_Tax_link.NoTaxInd :=FALSE;
2302 l_Tax_link.ReptInd :=nvl(pg_line_char8_tab(I),'N') = 'Y';/*Need to check whether QUOTE to be also added*/
2303 l_Tax_link.DivCode :=pg_line_char15_tab(I);
2304 l_Tax_link.CompanyID :=pg_line_char14_tab(I);
2305
2306 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2307 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2308 'Value of pg_line_amount_tab is :'||to_char(pg_line_amount_tab(I)));
2309 END IF;
2310 if(pg_line_amount_tab(I)<0) then
2311 l_tax_link.CreditInd :=TRUE;
2312 else
2313 l_tax_link.CreditInd :=FALSE;
2314 end if;
2315
2316 else
2317 l_Tax_link.CustNo :=arp_customer_code;
2318 l_Tax_link.CustName :=substr(arp_customer_name,1,20);
2319 l_Tax_link.InvoiceNo :=arp_trx_number;
2320 l_Tax_link.FiscalDate :=arp_transaction_date;
2321 l_Tax_link.ProdCode :=arp_product_code;
2322 l_Tax_link.NumItems :=arp_quantity;
2323 l_Tax_link.NoTaxInd :=FALSE; /*This need to be checked*/
2324 l_Tax_link.ReptInd :=TRUE;
2325 l_Tax_link.DivCode :=arp_division_code;
2326 l_Tax_link.CompanyID :=arp_company_code;
2327
2328 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2329 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2330 'Value of arp_line_amount is :'||to_char(arp_line_amount));
2331 END IF;
2332 if(arp_line_amount >0) then
2333 l_tax_link.CreditInd :=TRUE;
2334 else
2335 l_tax_link.CreditInd :=FALSE;
2336 end if;
2337 end if;
2338 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2339 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2340 'Value of l_document_type is :'||l_document_type);
2341 END IF;
2342 if(l_document_type in ('INVOICE', 'DEBIT_MEMO', 'ON_ACCT_CREDIT_MEMO'))then
2343 if(g_line_level_action ='CREATE') then
2344 l_Tax_link.GrossAmt := abs(pg_line_amount_tab(I));
2345 l_Tax_link.InvoiceDate := pg_trx_date_tab(I);
2346 l_Tax_link.CalcType := 'G';
2347 elsif(g_line_level_action ='DELETE') then
2348 l_Tax_link.GrossAmt := abs(arp_line_amount);
2349 l_Tax_link.InvoiceDate := arp_trx_date;
2350 l_Tax_link.CalcType := 'G';
2351 end if;
2352
2353 elsif(l_document_type in ('APPLIED_CREDIT_MEMO'))then
2354 if(g_line_level_action ='CREATE') then
2355 l_Tax_link.GrossAmt := abs(pg_line_amount_tab(I));
2356 l_Tax_link.InvoiceDate := pg_adj_doc_date_tab(I);
2357 l_Tax_link.CalcType := 'G';
2358 elsif(g_line_level_action ='DELETE') then
2359 l_Tax_link.GrossAmt := abs(arp_line_amount);
2360 l_Tax_link.InvoiceDate := arp_adj_doc_date;
2361 l_Tax_link.CalcType := 'G';
2362 end if;
2363 elsif(l_document_type in ('TAX_ONLY_CREDIT_MEMO'))then
2364 if(g_line_level_action ='CREATE') then
2365 l_Tax_link.GrossAmt := 0;
2366 l_Tax_link.InvoiceDate := pg_adj_doc_date_tab(I);
2367 l_Tax_link.CalcType := 'E';
2368 l_Tax_link.TaxAmt := abs(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt);
2369 l_Tax_link.StOvAmt := abs(g_StTaxAmt);
2370 l_Tax_link.CnOvAmt := abs(g_CoTaxAmt);
2371 l_Tax_link.LoOvAmt := abs(g_CiTaxAmt);
2372 IF(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt<0) then
2373 l_tax_link.CreditInd :=TRUE;
2374 else
2375 l_tax_link.CreditInd :=FALSE;
2376 end if;
2377
2378 elsif(g_line_level_action ='DELETE') then
2379 l_Tax_link.GrossAmt := 0;
2380 l_Tax_link.InvoiceDate := arp_adj_doc_date;
2381 l_Tax_link.CalcType := 'E';
2382 l_Tax_link.TaxAmt := abs(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt);
2383 l_Tax_link.StOvAmt := abs(g_StTaxAmt);
2384 l_Tax_link.CnOvAmt := abs(g_CoTaxAmt);
2385 l_Tax_link.LoOvAmt := abs(g_CiTaxAmt);
2386 IF(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt>0) then
2387 l_tax_link.CreditInd :=TRUE;
2388 else
2389 l_tax_link.CreditInd :=FALSE;
2390 end if;
2391 end if;
2392 elsif (l_document_type in ('ADJUSTMENT'))then
2393 if(g_line_level_action ='CREATE') then
2394 l_Tax_link.GrossAmt := 0;
2395 l_Tax_link.InvoiceDate := pg_adj_doc_date_tab(I);
2396 l_Tax_link.CalcType := 'T';
2397 l_Tax_link.TaxAmt := abs(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt);
2398 l_Tax_link.StOvAmt := abs(g_StTaxAmt);
2399 l_Tax_link.CnOvAmt := abs(g_CoTaxAmt);
2400 l_Tax_link.LoOvAmt := abs(g_CiTaxAmt);
2401 IF(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt<0) then
2402 l_tax_link.CreditInd :=TRUE;
2403 else
2404 l_tax_link.CreditInd :=FALSE;
2405 end if;
2406 elsif(g_line_level_action ='DELETE') then
2407 l_Tax_link.GrossAmt := 0;
2408 l_Tax_link.InvoiceDate := arp_adj_doc_date;
2409 l_Tax_link.CalcType := 'T';
2410 l_Tax_link.TaxAmt := abs(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt);
2411 l_Tax_link.StOvAmt := abs(g_StTaxAmt);
2412 l_Tax_link.CnOvAmt := abs(g_CoTaxAmt);
2413 l_Tax_link.LoOvAmt := abs(g_CiTaxAmt);
2414 IF(g_StTaxAmt+g_CoTaxAmt+g_CiTaxAmt>0) then
2415 l_tax_link.CreditInd :=TRUE;
2416 else
2417 l_tax_link.CreditInd :=FALSE;
2418 end if;
2419 end if;
2420 elsif (l_document_type in ('SALES_QUOTE'))then --Bug5927656
2421 if(g_line_level_action ='CREATE') then
2422 l_Tax_link.GrossAmt := abs(pg_line_amount_tab(I));
2423 l_Tax_link.InvoiceDate := pg_trx_date_tab(I);
2424 l_Tax_link.CalcType := 'G';
2425 end if;
2426 end if;
2427
2428 IF (g_tax_SELECTION = ZX_TAX_TAXWARE_GEN.SELPRM_TAXES_ONLY ) THEN
2429 -- Only (primary)Ship To information is required.
2430 l_Tax_link.StateCode := substrb(l_ship_to_code,2,2);
2431 l_Tax_link.PriZip := substrb(l_ship_to_code,4,5);
2432 l_Tax_link.PriGeo := substrb(l_ship_to_code,9,2);
2433 l_Tax_link.InOutCityLimits := NULL; -- future use
2434 ELSE
2435 -- Jurisdiction information including Ship To, Ship From, POO and POA.
2436 -- Use Ship To for Ship From and Ship From for POO and POA if not passed!
2437
2438 l_JurLink.ShipTo.State := substrb(l_ship_to_code,2,2);
2439 l_JurLink.ShipTo.Zip := substrb(l_ship_to_code,4,5);
2440 l_JurLink.ShipTo.Geo := substrb(l_ship_to_code,9,2);
2441 l_JurLink.InOutCiLimShTo := NULL; -- future use
2442
2443 IF (l_ship_from_code =
2444 arp_tax_view_taxware.USE_SHIP_TO ) THEN
2445 l_JurLink.ShipFr.State := substrb(l_ship_to_code,2,2);
2446 l_JurLink.ShipFr.Zip := substrb(l_ship_to_code,4,5);
2447 l_JurLink.ShipFr.Geo := substrb(l_ship_to_code,9,2);
2448 l_JurLink.InOutCiLimShFr := NULL; -- future use
2449 ELSE
2450 l_JurLink.ShipFr.State := substrb(l_ship_from_code,2,2);
2451 l_JurLink.ShipFr.Zip := substrb(l_ship_from_code,4,5);
2452 l_JurLink.ShipFr.Geo := substrb(l_ship_from_code,9,2);
2453 l_JurLink.InOutCiLimShFr := NULL; -- future use
2454 END IF;
2455
2456 IF (l_poo_code =
2457 arp_tax_view_taxware.USE_SHIP_TO) THEN
2458 l_JurLink.POO.State := l_JurLink.ShipFr.State;
2459 l_JurLink.POO.Zip := l_JurLink.ShipFr.Zip;
2460 l_JurLink.POO.Geo := l_JurLink.ShipFr.Geo;
2461 l_JurLink.InOutCiLimPOO := NULL; -- future use
2462 ELSE
2463 l_JurLink.POO.State := substrb(l_poo_code,2,2);
2464 l_JurLink.POO.Zip := substrb(l_poo_code,4,5);
2465 l_JurLink.POO.Geo := substrb(l_poo_code,9,2);
2466 l_JurLink.InOutCiLimPOO := NULL; -- future use
2467 END IF;
2468
2469 IF ( l_poa_code =
2470 arp_tax_view_taxware.USE_SHIP_TO ) THEN
2471 l_JurLink.POA.State := l_JurLink.ShipFr.State;
2472 l_JurLink.POA.Zip := l_JurLink.ShipFr.Zip;
2473 l_JurLink.POA.Geo := l_JurLink.ShipFr.Geo;
2474 l_JurLink.InOutCiLimPOA := NULL; -- future use
2475 ELSE
2476 l_JurLink.POA.State := substrb(l_poa_code,2,2);
2477 l_JurLink.POA.Zip := substrb(l_poa_code,4,5);
2478 l_JurLink.POA.Geo := substrb(l_poa_code,9,2);
2479 l_JurLink.InOutCiLimPOA := NULL; -- future use
2480 END IF;
2481
2482 -- Set Service Indicator , Default to 3(Non Service)
2483 IF l_service_indicator = 1 THEN
2484 l_JurLink.ServInd := SERVICE_IND;
2485 ELSIF l_service_indicator = 2 THEN
2486 l_JurLink.ServInd := RENTAL_IND;
2487 ELSIF l_service_indicator = 3 THEN
2488 l_JurLink.ServInd := NOSERV_IND;
2489 ELSE
2490 l_JurLink.ServInd := NOSERV_IND;
2491 END IF;
2492
2493 --
2494 -- If FOB Point is Destination, Then the Point of Title passage(POT)
2495 -- will be set to POT_DEST. All other values will be set to POT_ORIG.
2496 --
2497
2498 If(g_line_level_action = 'CREATE') then
2499 l_fob_point :=pg_fob_point_tab(I);
2500 else
2501 l_fob_point :=arp_fob_point;
2502 end if;
2503
2504 IF ( substrb(l_fob_point,1,1) = 'D' ) THEN
2505 l_JurLink.POT := ZX_TAX_TAXWARE_GEN.POT_DEST;
2506 ELSE
2507 l_JurLink.POT := ZX_TAX_TAXWARE_GEN.POT_ORIG;
2508 END IF;
2509
2510 END IF;
2511
2512 if(g_line_level_action='CREATE') then
2513 l_use_step :=pg_line_char3_tab(i);
2514 l_step_proc_flag :=pg_line_char7_tab(i);
2515 l_job_no :=pg_line_char16_tab(i);
2516 l_criterion_flag :=pg_line_char19_tab(i);
2517 l_prod_ind :=pg_line_char17_tab(i);
2518 else
2519 l_use_step := use_step;
2520 l_step_proc_flag := step_proc_flag;
2521 l_job_no := arp_vnd_ctrl_exmpt;
2522 l_criterion_flag := crit_flag;
2523 l_prod_ind := arp_use_nexpro;
2524 end if;
2525
2526
2527 If(g_line_level_action='CREATE') then
2528 if(pg_exempt_cont_flag_tab(I)='R') then
2529 l_use_step:='N';
2530 end if;
2531 Else
2532 if(arp_exempt_control_flag='R') then
2533 l_use_step:='N';
2534 end if;
2535 End if;
2536 l_Tax_link.UseStep := l_use_step;
2537 l_Tax_link.StepProcFlg := l_step_proc_flag;
2538 l_Tax_link.JobNo := substrb(l_job_no, 1, 10);
2539 l_Tax_link.CritFlg := l_criterion_flag;
2540 l_Tax_link.UseNexproInd := l_prod_ind;
2541
2542
2543 -- Exempt using No Tax Indicators?
2544 IF ( nvl(substrb(l_calculation_flag,1,1),'0') = '0' AND
2545 nvl(substrb(l_calculation_flag,2,1),'0') = '0' AND
2546 nvl(substrb(l_calculation_flag,3,1),'0') = '0' AND
2547 nvl(substrb(l_calculation_flag,4,1),'0') = '0' AND
2548 nvl(substrb(l_calculation_flag,5,1),'0') = '0' )
2549 THEN
2550
2551 -- Do not exempt at the jurisdiction level
2552 l_Tax_link.StaExempt := FALSE;
2553 l_Tax_link.CnExempt := FALSE;
2554 l_Tax_link.LoExempt := FALSE;
2555 l_Tax_link.SecCnExempt := FALSE;
2556 l_Tax_link.SecLoExempt := FALSE;
2557 ELSE
2558 -- Exempt 100% at the appropriate level
2559 l_Tax_link.NoStaTax :=
2560 nvl(substrb(l_calculation_flag,1,1),'0') = '1';
2561 l_Tax_link.StaExempt :=
2562 nvl(substrb(l_calculation_flag,1,1),'0') = '1';
2563 l_Tax_link.NoCnTax :=
2564 nvl(substrb(l_calculation_flag,2,1),'0') = '1';
2565 l_Tax_link.CnExempt :=
2566 nvl(substrb(l_calculation_flag,2,1),'0') = '1';
2567 l_Tax_link.NoLoTax :=
2568 nvl(substrb(l_calculation_flag,3,1),'0') = '1';
2569 l_Tax_link.LoExempt :=
2570 nvl(substrb(l_calculation_flag,3,1),'0') = '1';
2571 l_Tax_link.NoSecCnTax :=
2572 nvl(substrb(l_calculation_flag,4,1),'0') = '1';
2573 l_Tax_link.SecCnExempt :=
2574 nvl(substrb(l_calculation_flag,4,1),'0') = '1';
2575 l_Tax_link.NoSecLoTax :=
2576 nvl(substrb(l_calculation_flag,5,1),'0') = '1';
2577 l_Tax_link.SecLoExempt :=
2578 nvl(substrb(l_calculation_flag,5,1),'0') = '1';
2579 END IF;
2580
2581 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2582 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2583 'Value of l_state_exempt_reason is :'||l_state_exempt_reason);
2584 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2585 'Value of l_county_exempt_reason is :'||l_county_exempt_reason);
2586 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2587 'Value of l_city_exempt_reason is :'||l_city_exempt_reason);
2588 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2589 'Value of l_sec_county_exempt_reason is :'||l_sec_county_exempt_reason);
2590 END IF;
2591
2592 -- Oracle State level Exemption exists?
2593 IF ( l_state_exempt_reason IS NOT NULL ) THEN
2594
2595 -- Pass Oracle Exemptions info to Taxware
2596 l_Tax_link.StReasonCode := substrb(l_state_exempt_reason,1,2);
2597
2598 /**********************************************************
2599 * commented out, otherwise taxware treats as 100% exempt *
2600 **********************************************************/
2601 --l_Tax_link.StTaxCertNo := substrb(l_state_cert_no, 1, 25);
2602 l_Tax_link.StTaxCertNo := NULL;
2603
2604 IF ( l_state_exempt_percent IS NOT NULL ) THEN
2605
2606 IF ( l_Tax_link.StaExempt = TRUE ) THEN
2607 l_Tax_link.StExemptAmt := 0; -- Use State No Tax Indicator
2608 ELSE
2609 l_Tax_link.StaExempt := TRUE;
2610
2611 IF ( l_state_exempt_percent = 100 ) THEN
2612 l_Tax_link.StExemptAmt := l_Tax_link.GrossAmt;
2613 ELSE
2614 l_Tax_link.StExemptAmt :=
2615 abs(l_Tax_link.GrossAmt*
2616 (l_state_exempt_percent/100)) ;
2617 END IF; -- 100% exemption?
2618
2619 END IF; -- l_Tax_link.Exempt = TRUE, Exempt using No Tax indicator?
2620 END IF; -- % Exemption specified?
2621 END IF; -- Exemption reason specified?
2622
2623
2624 -- Oracle County level Exemption exists?
2625 IF ( l_county_exempt_reason IS NOT NULL ) THEN
2626
2627 -- Pass Oracle Exemptions info to Taxware
2628 l_Tax_link.CntyReasonCode := substrb(l_county_exempt_reason,1,2);
2629
2630 /**********************************************************
2631 * commented out, otherwise taxware treats as 100% exempt *
2632 **********************************************************/
2633 --l_Tax_link.CnTaxCertNo := substrb(l_county_cert_no, 1, 25);
2634 l_Tax_link.CnTaxCertNo := NULL;
2635
2636 IF ( l_county_exempt_percent IS NOT NULL ) THEN
2637
2638 IF ( l_Tax_link.CnExempt = TRUE ) THEN
2639 l_Tax_link.CntyExemptAmt := 0; -- Use County No Tax Indicator
2640 ELSE
2641 l_Tax_link.CnExempt := TRUE;
2642
2643 IF ( l_county_exempt_percent = 100 ) THEN
2644 l_Tax_link.CntyExemptAmt := l_Tax_link.GrossAmt;
2645 ELSE
2646 l_Tax_link.CntyExemptAmt :=
2647 abs(l_Tax_link.GrossAmt *
2648 (l_county_exempt_percent/100));
2649 END IF; -- 100% exemption?
2650
2651 END IF; -- l_Tax_link.Exempt = TRUE, Exempt using No Tax indicator?
2652 END IF; -- % Exemption specified?
2653 END IF; -- Exemption reason specified?
2654
2655 -- Oracle City level Exemption exists?
2656 IF ( l_city_exempt_reason IS NOT NULL ) THEN
2657
2658 -- Pass Oracle Exemptions info to Taxware
2659 l_Tax_link.CityReasonCode := substrb(l_city_exempt_reason,1,2);
2660
2661 /**********************************************************
2662 * commented out, otherwise taxware treats as 100% exempt *
2663 **********************************************************/
2664 --l_Tax_link.LoTaxCertNo := substrb(l_city_cert_no, 1, 25);
2665 l_Tax_link.LoTaxCertNo := NULL;
2666
2667 IF ( l_city_exempt_percent IS NOT NULL ) THEN
2668
2669 IF ( l_Tax_link.LoExempt = TRUE ) THEN
2670 l_Tax_link.CityExemptAmt := 0; -- Use County No Tax Indicator
2671 ELSE
2672 l_Tax_link.LoExempt := TRUE;
2673
2674 IF ( l_city_exempt_percent = 100 ) THEN
2675 l_Tax_link.CityExemptAmt := l_Tax_link.GrossAmt;
2676 ELSE
2677 l_Tax_link.CityExemptAmt :=
2678 abs(l_Tax_link.GrossAmt *
2679 (l_city_exempt_percent/100));
2680 END IF; -- 100% exemption?
2681
2682 END IF; -- l_Tax_link.Exempt = TRUE, Exempt using No Tax indicator?
2683 END IF; -- % Exemption specified?
2684 END IF; -- Exemption reason specified?
2685
2686 -- Oracle Secondary County level Exemption exists?
2687 -- Secondary County exemptions do not require Reason Code and Certificate
2688 IF ( l_sec_county_exempt_reason IS NOT NULL OR
2689 l_Tax_link.SecCnExempt ) THEN
2690
2691 IF ( l_sec_county_exempt_percent IS NOT NULL ) THEN
2692
2693 IF ( l_Tax_link.SecCnExempt = TRUE ) THEN
2694 l_Tax_link.SecCnExemptAmt := 0; -- Use Sec County No Tax Indicator
2695 ELSE
2696 l_Tax_link.SecCnExempt := TRUE;
2697
2698 IF ( l_sec_county_exempt_percent = 100 ) THEN
2699 l_Tax_link.SecCnExemptAmt := l_Tax_link.GrossAmt;
2700 ELSE
2701 l_Tax_link.SecCnExemptAmt :=
2702 abs(l_Tax_link.GrossAmt *
2703 (l_sec_county_exempt_percent/100));
2704 END IF; -- 100% exemption?
2705
2706 END IF; -- l_Tax_link.Exempt = TRUE, Exempt using No Tax indicator?
2707 END IF; -- % Exemption specified?
2708 END IF; -- Exemption reason specified?
2709
2710 -- Oracle Secondary City level Exemption exists?
2711 -- Secondary City exemptions do not require Reason Code and Certificate
2712 IF ( l_sec_city_exempt_reason IS NOT NULL OR
2713 l_Tax_link.SecLoExempt ) THEN
2714
2715 IF ( l_sec_city_exempt_percent IS NOT NULL ) THEN
2716
2717 IF ( l_Tax_link.SecLoExempt = TRUE ) THEN
2718 l_Tax_link.SecLoExemptAmt := 0; -- Use Sec City No Tax Indicator
2719 ELSE
2720 l_Tax_link.SecLoExempt := TRUE;
2721
2722 IF ( l_sec_city_exempt_percent = 100 ) THEN
2723 l_Tax_link.SecLoExemptAmt := l_Tax_link.GrossAmt;
2724 ELSE
2725 l_Tax_link.SecLoExemptAmt :=
2726 abs(l_Tax_link.GrossAmt *
2727 (l_sec_city_exempt_percent/100));
2728 END IF; -- 100% exemption?
2729
2730 END IF; -- l_Tax_link.Exempt = TRUE, Exempt using No Tax indicator?
2731 END IF; -- % Exemption specified?
2732 END IF; -- Exemption reason specified?
2733 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2734 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2735 END IF;
2736 Return TRUE;
2737 EXCEPTION
2738 When OTHERS then
2739 IF (g_level_exception >= g_current_runtime_level ) THEN
2740 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
2741 'Failed in setting the parameters');
2742 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
2743 'Error is :'||sqlcode || sqlerrm);
2744 END IF;
2745 Return FALSE;
2746 END ;--SET_PARMETERS;
2747
2748 Function CALCULATE_TAX (
2749 l_TaxLink IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
2750 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
2751 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm ) return boolean is
2752
2753 Tax_Success BOOLEAN;
2754 Valid_Err BOOLEAN;
2755 return_code boolean;
2756
2757 l_api_name CONSTANT VARCHAR2(30) := 'CALCULATE_TAX';
2758 BEGIN
2759 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2760 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2761 END IF;
2762 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2763 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2764 'Calling Taxware ZX_TAX_TAXWARE_010.Taxfn_Tax010');
2765 END IF;
2766
2767 BEGIN
2768
2769 Tax_Success := ZX_TAX_TAXWARE_010.Taxfn_Tax010(l_OraLink,
2770 l_TaxLink,
2771 g_tax_selection,
2772 l_JurLink);
2773 EXCEPTION
2774 WHEN OTHERS THEN
2775 IF (g_level_exception >= g_current_runtime_level ) THEN
2776 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
2777 'Taxware raised unexpected error:'||sqlerrm);
2778 END IF;
2779 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2780 'Taxware raised unexpected error: '||
2781 sqlcode||':'||sqlerrm,null,null);
2782 RETURN FALSE;
2783 END;
2784 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2785 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2786 '-- calculate()... after ZX_TAX_TAXWARE_010.Taxfn_Tax010() '||to_char(sysdate, 'DD-MON-RR HH24:MI:SS'));
2787 END IF;
2788
2789 /*-------------------------------------------------------------+
2790 | If Tax Calculated in error, Handle error. |
2791 +-------------------------------------------------------------*/
2792 IF NOT Tax_Success THEN
2793 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2794 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2795 '-- calculate()... Tax vendor error.');
2796 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2797 '-- calculate()... before ZX_TAX_TAXWARE_010.Taxfn910_ValidErr()');
2798 END IF;
2799 BEGIN
2800 Valid_Err := ZX_TAX_TAXWARE_010.Taxfn910_ValidErr(l_TaxLink.GenCmplCd);
2801 EXCEPTION
2802 WHEN OTHERS THEN
2803 IF (g_level_exception >= g_current_runtime_level ) THEN
2804 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
2805 'Taxware raised unexpected error during error checking:'||sqlerrm);
2806 END IF;
2807 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
2808 'Taxware raised unexpected error during error checking: '||
2809 sqlcode||':'||sqlerrm,null,null);
2810 RETURN FALSE;
2811 END;
2812 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2813 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2814 'Calling Get_Vendor_Error');
2815 END IF;
2816
2817 Get_Vendor_Error(g_tax_selection,
2818 l_TaxLink,
2819 l_JurLink);
2820 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2821 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2822 'After Calling Get_Vendor_Error');
2823 END IF;
2824
2825 return_code := False;
2826
2827 ELSE
2828 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2829 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2830 '-- calculate()... Tax vendor success.');
2831 END IF;
2832
2833 return_code := TRUE;
2834 END IF;
2835
2836 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2837 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
2838 END IF;
2839
2840 RETURN ( return_code );
2841
2842 End;
2843
2844 PROCEDURE TAX_RESULTS_PROCESSING(
2845 p_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
2846 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
2847 l_TaxLink IN OUT NOCOPY zx_tax_taxware_GEN.TaxParm,
2848 l_JurLink IN OUT NOCOPY zx_tax_taxware_GEN.JurParm,
2849 l_OraLink IN OUT NOCOPY zx_tax_taxware_GEN.t_OraParm,
2850 x_return_status OUT NOCOPY VARCHAR2) IS
2851 J number;
2852 x_tax_jurisdiction_code ZX_JURISDICTIONS_B.tax_jurisdiction_code%type;
2853 p_location_id NUMBER;
2854 l_regime_code ZX_REGIMES_B.tax_regime_code%type;
2855 state_tax_rate NUMBER; -- state tax rate in %
2856 state_tax_amount NUMBER; -- state tax amount
2857 county_tax_rate NUMBER; -- county tax rate in %
2858 county_tax_amount NUMBER; -- county tax amount
2859 city_tax_rate NUMBER; -- city tax rate in %
2860 city_tax_amount NUMBER; -- city tax amount
2861 dist_tax_rate NUMBER; -- district tax rate in %
2862 dist_tax_amount NUMBER; -- district tax amounts
2863 sec_state_tax_rate NUMBER; -- secondary state tax rate in %
2864 sec_state_tax_amount NUMBER; -- secondary state tax amount
2865 sec_county_tax_rate NUMBER; -- secondary county tax rate
2866 sec_county_tax_amount NUMBER; -- secondary county tax amount
2867 sec_city_tax_rate NUMBER; -- secondary city tax rate
2868 sec_city_tax_amount NUMBER; -- secondary city tax amount
2869 l_situs VARCHAR2(20);
2870 sign_flag number;
2871 l_api_name CONSTANT VARCHAR2(30) := 'TAX_RESULTS_PROCESSING';
2872 l_return_status VARCHAR2(30);
2873 ind NUMBER;
2874 Begin
2875
2876 x_return_status := FND_API.G_RET_STS_SUCCESS;
2877
2878 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2879 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
2880 END IF;
2881
2882 l_regime_code := zx_tax_partner_pkg.g_tax_regime_code;
2883 l_situs := 'SHIP_TO';/*need to check can we add any logic for this*/
2884
2885 IF l_situs = 'SHIP_TO' THEN
2886 /* Bug 5090593: Making use of the location ids passed thru view.
2887 select nvl(ship_to_location_id, bill_to_location_id)
2888 INTO p_location_id
2889 From zx_lines_det_factors
2890 WHERE
2891 event_class_mapping_id = pg_doc_type_id_tab(I) and
2892 trx_id = pg_trx_id_tab(I) and
2893 trx_line_id = pg_trx_line_id_tab(I) and
2894 trx_level_type = pg_trx_level_type_tab(I);
2895 */
2896 p_location_id := nvl(pg_ship_to_loc_id_tab(I), pg_bill_to_loc_id_tab(I));
2897
2898 ELSIF l_situs = 'SHIP_FROM' THEN
2899 /* Bug 5090593: Making use of the location ids passed thru view.
2900 select nvl(ship_from_location_id, bill_from_location_id)
2901 INTO p_location_id
2902 From zx_lines_det_factors
2903 WHERE
2904 event_class_mapping_id = pg_doc_type_id_tab(I) and
2905 trx_id = pg_trx_id_tab(I) and
2906 trx_line_id = pg_trx_line_id_tab(I) and
2907 trx_level_type = pg_trx_level_type_tab(I);
2908 */
2909 p_location_id := nvl(pg_ship_fr_loc_id_tab(I), pg_bill_fr_loc_id_tab(I));
2910 else null;
2911 END IF;
2912
2913 IF ( l_TaxLink.CreditInd ) THEN
2914 sign_flag:=-1;
2915 Else sign_flag:=1;
2916 End if;
2917
2918 p_currency_tab(1).tax_currency_precision := 2; -- Bug 5288518
2919 /*-----------------------------------------------------------
2920 | Populate Tax Amounts and Rates |
2921 -----------------------------------------------------------*/
2922 /* State tax rate */
2923 state_tax_rate := l_TaxLink.StaTxRate * 100;
2924 /* State tax amount */
2925 state_tax_amount := sign_flag*l_TaxLink.StaTxAmt;
2926 /* County tax rate */
2927 county_tax_rate := l_TaxLink.CnTxRate * 100;
2928 /* County tax amount */
2929 county_tax_amount := sign_flag*l_TaxLink.CnTxAmt;
2930 /* City tax Rate */
2931 city_tax_rate := l_TaxLink.LoTxRate * 100;
2932 /* City tax amount */
2933 city_tax_amount := sign_flag*l_TaxLink.LoTxAmt;
2934 /* Secondary State tax rate */
2935 sec_state_tax_rate := l_TaxLink.ScStTxRate * 100;
2936 /* secondary state tax amount */
2937 sec_state_tax_amount := sign_flag*l_TaxLink.ScStTxAmt;
2938 /* Secondary county Rate */
2939 sec_county_tax_rate := l_TaxLink.ScCnTxRate * 100;
2940 /* Secondary County tax amount */
2941 sec_county_tax_amount := sign_flag*l_TaxLink.ScCnTxAmt;
2942 /* Secondary City tax Rate */
2943 sec_city_tax_rate := l_TaxLink.ScLoTxRate * 100;
2944 /* secondary City tax amount */
2945 sec_city_tax_amount := sign_flag*l_TaxLink.ScLoTxAmt;
2946
2947
2948
2949 For J in 1..3
2950 loop
2951 ind:=j+(3*i-3);
2952 p_tax_lines_tbl.document_type_id(ind) := pg_doc_type_id_tab(I);
2953 p_tax_lines_tbl.transaction_id(ind) := pg_trx_id_tab(I);
2954 p_tax_lines_tbl.transaction_line_id(ind) := pg_trx_line_id_tab(I);
2955 p_tax_lines_tbl.trx_level_type(ind) := pg_trx_level_type_tab(I);
2956 p_tax_lines_tbl.country_code(ind) := l_regime_code;
2957 p_tax_lines_tbl.tax_currency_code(ind) := p_currency_tab(1).tax_currency_code;
2958 p_tax_lines_tbl.situs(ind) := l_situs;
2959 p_tax_lines_tbl.State(ind) := l_JurLink.JurState;
2960 p_tax_lines_tbl.County(ind) := null; /*Need to check what should be the value for this*/
2961 p_tax_lines_tbl.City(ind) := l_JurLink.JurCity ;
2962 p_tax_lines_tbl.Inclusive_tax_line_flag(ind) := 'N';
2963 p_tax_lines_tbl.Line_amt_includes_tax_flag(ind) := 'N';
2964 p_tax_lines_tbl.use_tax_flag(ind) := 'N';
2965 p_tax_lines_tbl.User_override_flag(ind) := 'N'; -- Need to see if different for override_tax
2966 p_tax_lines_tbl.last_manual_entry(ind) := NULL;
2967 p_tax_lines_tbl.manually_entered_flag(ind) := 'N'; -- Need to see if different for override_tax
2968 p_tax_lines_tbl.registration_party_type(ind) := Null; -- Bug 5288518
2969 p_tax_lines_tbl.party_tax_reg_number(ind) := Null; -- Bug 5288518
2970 p_tax_lines_tbl.Third_party_tax_reg_number(ind) := Null;
2971 p_tax_lines_tbl.threshold_indicator_flag(ind) := Null;
2972 p_tax_lines_tbl.tax_only_line_flag(ind) := 'N';
2973 --bug7140895
2974 p_tax_lines_tbl.global_attribute_category(ind) := 'TAXWARE';
2975 p_tax_lines_tbl.global_attribute2(ind) := null;
2976 p_tax_lines_tbl.global_attribute4(ind) := null;
2977 p_tax_lines_tbl.global_attribute6(ind) := null;
2978
2979
2980 IF J=1 then /*Case for State*/
2981 p_tax_lines_tbl.Tax(ind) := 'STATE';
2982 p_tax_lines_tbl.tax_amount(ind) := state_tax_amount+sec_state_tax_amount;
2983 p_tax_lines_tbl.unrounded_tax_amount(ind) := state_tax_amount+sec_state_tax_amount;
2984 p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind) := p_tax_lines_tbl.tax_amount(ind)*p_currency_tab(1).exchange_rate;
2985 p_tax_lines_tbl.tax_rate_percentage(ind) := state_tax_rate+sec_state_tax_rate;
2986 p_tax_lines_tbl.taxable_amount(ind) := l_TaxLink.StBasisAmt;
2987 IF (l_TaxLink.StExemptAmt<>0) THEN
2988 if (l_TaxLink.GrossAmt<>0) then
2989 p_tax_lines_tbl.exempt_rate_modifier(ind) := l_TaxLink.StExemptAmt/l_TaxLink.GrossAmt;
2990 p_tax_lines_tbl.exempt_certificate_number(ind) := l_state_cert_no;
2991 end if;
2992 ELSE
2993 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
2994 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
2995 END IF;
2996 p_tax_lines_tbl.exempt_reason(ind) :=l_TaxLink.StReasonCode;
2997 ELSIF J=2 then
2998 p_tax_lines_tbl.Tax(ind) := 'COUNTY';
2999 p_tax_lines_tbl.tax_amount(ind) :=county_tax_amount +sec_county_tax_amount;
3000 p_tax_lines_tbl.unrounded_tax_amount(ind) := county_tax_amount +sec_county_tax_amount;
3001 p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind) := p_tax_lines_tbl.tax_amount(ind) *p_currency_tab(1).exchange_rate;
3002 p_tax_lines_tbl.tax_rate_percentage(ind) := county_tax_rate +sec_county_tax_rate ;
3003 p_tax_lines_tbl.taxable_amount(ind) := l_TaxLink.CntyBasisAmt;
3004 IF (l_TaxLink.CntyExemptAmt<>0) THEN
3005 if (l_TaxLink.GrossAmt<>0) then
3006 p_tax_lines_tbl.exempt_rate_modifier(ind) := l_TaxLink.CntyExemptAmt/l_TaxLink.GrossAmt;
3007 p_tax_lines_tbl.exempt_certificate_number(ind) := l_county_cert_no;
3008 end if;
3009 ELSE
3010 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3011 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3012 END IF;
3013 p_tax_lines_tbl.exempt_reason(ind) :=l_TaxLink.CntyReasonCode;
3014 ELSIF J=3 then
3015
3016 p_tax_lines_tbl.Tax(ind) := 'CITY';
3017 p_tax_lines_tbl.tax_amount(ind) := (city_tax_amount +sec_city_tax_amount);
3018 p_tax_lines_tbl.unrounded_tax_amount(ind) := city_tax_amount +sec_city_tax_amount ;
3019 p_tax_lines_tbl.tax_curr_tax_amount(ind) := p_tax_lines_tbl.unrounded_tax_amount(ind)*p_currency_tab(1).exchange_rate;
3020 p_tax_lines_tbl.tax_rate_percentage(ind) := city_tax_rate +sec_city_tax_rate;
3021 p_tax_lines_tbl.taxable_amount(ind) := l_TaxLink.CityBasisAmt;
3022 IF (l_TaxLink.CityExemptAmt<>0) THEN
3023 if (l_TaxLink.GrossAmt<>0) then
3024 p_tax_lines_tbl.exempt_rate_modifier(ind) := l_TaxLink.CityExemptAmt/l_TaxLink.GrossAmt;
3025 p_tax_lines_tbl.exempt_certificate_number(ind) := l_city_cert_no;
3026 end if;
3027 ELSE
3028 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3029 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3030 END IF;
3031 p_tax_lines_tbl.exempt_reason(ind) :=l_TaxLink.CityReasonCode;
3032 else null;
3033 END IF;
3034 GET_TAX_JUR_CODE (p_location_id ,
3035 p_tax_lines_tbl.Situs(ind) ,
3036 p_tax_lines_tbl.Tax(ind) ,
3037 l_regime_code ,
3038 pg_trx_date_tab(I) ,
3039 x_tax_jurisdiction_code ,
3040 l_return_status
3041 );
3042
3043 p_tax_lines_tbl.tax_jurisdiction(ind) := x_tax_jurisdiction_code;
3044 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3045 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'tax line output ');
3046 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.document_type_id('||ind||') = '|| to_char(p_tax_lines_tbl.document_type_id(ind)));
3047 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.transaction_id('||ind||') = '|| to_char(p_tax_lines_tbl.transaction_id(ind)));
3048 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.transaction_line_id('||ind||') = '||
3049 to_char(p_tax_lines_tbl.transaction_line_id(ind)));
3050 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.trx_level_type('||ind||') = '||
3051 p_tax_lines_tbl.trx_level_type(ind));
3052 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.country_code('||ind||') = '|| p_tax_lines_tbl.country_code(ind));
3053 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.Tax('||ind||') = '|| p_tax_lines_tbl.Tax(ind));
3054 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.situs('||ind||') = '|| p_tax_lines_tbl.situs(ind));
3055 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_jurisdiction('||ind||') = '||
3056 p_tax_lines_tbl.tax_jurisdiction(ind));
3057 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.tax_currency_code('||ind||') = '|| p_tax_lines_tbl.tax_currency_code(ind));
3058 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT('||ind||') = '||
3059 to_char(p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind)));
3060 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_amount('||ind||') = '|| to_char(p_tax_lines_tbl.tax_amount(ind)));
3061 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_rate_percentage('||ind||') = '||
3062 to_char(p_tax_lines_tbl.tax_rate_percentage(ind)));
3063 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.taxable_amount('||ind||') = '||
3064 to_char(p_tax_lines_tbl.taxable_amount(ind)));
3065 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.State('||ind||') = '|| p_tax_lines_tbl.State(ind));
3066 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.County('||ind||') = '|| p_tax_lines_tbl.County(ind));
3067 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.City('||ind||') = '|| p_tax_lines_tbl.City(ind));
3068 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.unrounded_tax_amount('||ind||') = '||
3069 to_char(p_tax_lines_tbl.unrounded_tax_amount(ind)));
3070 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.exempt_certificate_number('||ind||') = '||
3071 p_tax_lines_tbl.exempt_certificate_number(ind));
3072 --bug7140895
3073 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute_category('||ind||') = '|| p_tax_lines_tbl.global_attribute_category(ind));
3074 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute2('||ind||') = '|| p_tax_lines_tbl.global_attribute2(ind));
3075 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute4('||ind||') = '|| p_tax_lines_tbl.global_attribute4(ind));
3076 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute6('||ind||') = '|| p_tax_lines_tbl.global_attribute6(ind));
3077 END IF;
3078 END LOOP;
3079
3080 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3081 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
3082 END IF;
3083 end;
3084
3085 PROCEDURE stack_error (
3086 p_msgname IN VARCHAR2,
3087 p_token1 IN VARCHAR2 ,
3088 p_value1 IN VARCHAR2 ,
3089 p_token2 IN VARCHAR2 ,
3090 p_value2 IN VARCHAR2 ) IS
3091 l_api_name CONSTANT VARCHAR2(100) := 'STACK_ERROR';
3092
3093 BEGIN
3094 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3095 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3096 END IF;
3097 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3098 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3099 '-- P_MSGNAME = '||p_msgname);
3100 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3101 '-- P_TOKEN1 = '||p_token1);
3102 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3103 '-- P_VALUE1 = '||p_value1);
3104 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3105 '-- P_TOKEN2 = '||p_token2);
3106 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3107 '-- P_VALUE2 = '||p_value2);
3108 END IF;
3109
3110 error_exception_handle(p_value1||p_value2);
3111
3112
3113 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3114 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
3115 END IF;
3116
3117 END stack_error;
3118
3119 PROCEDURE Get_Vendor_Error (
3120 tax_selection IN ZX_TAX_TAXWARE_GEN.SELPARMTYP%TYPE,
3121 errTaxParm IN ZX_TAX_TAXWARE_GEN.TaxParm,
3122 errJurParm IN ZX_TAX_TAXWARE_GEN.JurParm ) IS
3123
3124 error_location VARCHAR2(30);
3125 error_mesg VARCHAR2(200);
3126 vdr_return_code char(2);
3127
3128 Jur_error BOOLEAN := FALSE;
3129 Calc_error BOOLEAN := FALSE;
3130 l_api_name CONSTANT VARCHAR2(100) := 'GET_VENDOR_ERROR';
3131 BEGIN
3132 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3133 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3134 END IF;
3135 IF ( tax_selection IN
3136 (zx_tax_taxware_GEN.SELPRM_JUR_ONLY, zx_tax_taxware_GEN.SELPRM_TAX_JUR) ) THEN
3137
3138 -- Check for Jurisdiction errors
3139 IF ( errJurParm.ReturnCode <> zx_tax_taxware_GEN.JURSUCCESS ) THEN
3140
3141 Jur_Error := TRUE;
3142
3143 IF errJurParm.ReturnCode = zx_tax_taxware_GEN.JURINVPOT THEN
3144 error_mesg := JGMSG_JURINVPOT;
3145 ELSIF errJurParm.ReturnCode = zx_tax_taxware_GEN.JURINVSRVIN THEN
3146 error_mesg := JGMSG_JURINVSRVIN;
3147 ELSIF errJurParm.ReturnCode = zx_tax_taxware_GEN.JURERROR THEN
3148
3149 -- Determine Jurisdiction Error Location
3150 IF errJurParm.POOJurRC <> to_char(0) THEN
3151 vdr_return_code := errJurParm.POOJurRC;
3152 error_location := 'POO';
3153 ELSIF errJurParm.POAJurRC <> to_char(0) THEN
3154 vdr_return_code := errJurParm.POAJurRC;
3155 error_location := 'POA';
3156 ELSIF errJurParm.ShpToJurRC <> to_char(0) THEN
3157 vdr_return_code := errJurParm.ShpToJurRC;
3158 error_location := 'SHIP-TO';
3159 ELSIF errJurParm.ShpFrJurRC <> to_char(0) THEN
3160 vdr_return_code := errJurParm.ShpFrJurRC;
3161 error_location := 'SHIP-FROM';
3162 ELSE
3163 error_mesg := JGMSG_JURERROR;
3164 END IF;
3165
3166 -- Determine type of Jurisdiction error for Location
3167 IF vdr_return_code IS NOT NULL THEN
3168
3169 -- Check vdr_return_code
3170 IF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCCNTYDEF) THEN
3171 error_mesg := error_location||' : '||JMSG_LOCCNTYDEF;
3172 ELSIF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCINVSTATE) THEN
3173 error_mesg := error_location||' : '||JMSG_LOCINVSTATE;
3174 ELSIF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCNOZIP) THEN
3175 error_mesg := error_location||' : '||JMSG_LOCNOZIP;
3176 ELSIF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCINVZIP) THEN
3177 error_mesg := error_location||' : '||JMSG_LOCINVZIP;
3178 ELSIF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCNOGEO) THEN
3179 -- Same as LOCNOCITY
3180 error_mesg := error_location||' : '||JMSG_LOCNOGEO;
3181 ELSIF vdr_return_code = to_char(zx_tax_taxware_GEN.LOCINVCITY) THEN
3182 error_mesg := error_location||' : '||JMSG_LOCINVCITY;
3183 ELSE
3184 error_mesg := JMSG_UNKNOWN;
3185 END IF; -- check vdr_return_code
3186
3187 END IF; -- vdr_return_code NOT NULL?
3188
3189 END IF; -- zx_tax_taxware_GEN.JURERROR?
3190
3191 END IF; -- Not JURSUCCESS?
3192
3193 ELSIF ( NOT Jur_Error AND
3194 tax_selection IN
3195 (zx_tax_taxware_GEN.SELPRM_TAXES_ONLY, zx_tax_taxware_GEN.SELPRM_TAX_JUR) ) THEN
3196
3197 -- Check for Calculation errors
3198 IF ( nvl(errTaxParm.GenCmplCd,0) <> zx_tax_taxware_GEN.SUCCESSCC ) THEN
3199
3200 Calc_Error := TRUE;
3201
3202 IF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVALIDZIP THEN
3203 error_mesg := TGMSG_INVALIDZIP;
3204 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVALIDST THEN
3205 error_mesg := TGMSG_INVALIDST;
3206 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVALIDGRS THEN
3207 error_mesg := TGMSG_INVALIDGRS;
3208 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVALIDTAXAMT THEN
3209 error_mesg := TGMSG_INVALIDTAXAMT;
3210 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.GENINVZIPST THEN
3211 error_mesg := TGMSG_GENINVZIPST;
3212 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVCALCTYP THEN
3213 error_mesg := TGMSG_INVCALCTYP;
3214 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.PRDACCESSERR THEN
3215 error_mesg := TGMSG_PRDACCESSERR;
3216 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.RATEISZERO THEN
3217 error_mesg := TGMSG_RATEISZERO;
3218 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.NEGFIELDS THEN
3219 error_mesg := TGMSG_NEGFIELDS;
3220 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.AUDACCESSERR THEN
3221 error_mesg := TGMSG_AUDACCESSERR;
3222 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVCALCERR THEN
3223 error_mesg := TGMSG_INVCALCERR;
3224 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.STEPNOCUSTERR THEN
3225 error_mesg := TGMSG_STEPNOCUSTERR;
3226 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.NOSTEPPROC THEN
3227 error_mesg := TGMSG_NOSTEPPROC;
3228 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.STEPPARAMERR THEN
3229 error_mesg := TGMSG_STEPPARAMERR;
3230 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.STEPMISCERR THEN
3231 error_mesg := TGMSG_STEPMISCERR;
3232 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.CERRACCESSERR THEN
3233 error_mesg := TGMSG_CERRACCESSERR;
3234 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.JERRACCESSERR THEN
3235 error_mesg := TGMSG_JERRACCESSERR;
3236 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVJURERR THEN
3237 error_mesg := TGMSG_INVJURERR;
3238 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVJURERR THEN
3239 error_mesg := TGMSG_INVJURERR;
3240 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVJURPROC THEN
3241 error_mesg := TGMSG_INVJURPROC;
3242 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.INVSELPARM THEN
3243 error_mesg := TGMSG_INVSELPARM;
3244 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.JURISERROR THEN
3245 error_mesg := TGMSG_JURISERROR;
3246 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.PRDINVALID4CU THEN
3247 error_mesg := TGMSG_PRDINVALID4CU;
3248 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.CONUSEFILEERR THEN
3249 error_mesg := TGMSG_CONUSEFILEERR;
3250 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.CALC_E_ERROR THEN
3251 error_mesg := TGMSG_CALC_E_ERROR;
3252 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.EXEMPTLGRGROSS THEN
3253 error_mesg := TGMSG_EXEMPTLGRGROSS;
3254 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.AMOUNTOVERFLOW THEN
3255 error_mesg := TGMSG_AMOUNTOVERFLOW;
3256 ELSIF errTaxParm.GenCmplCd = zx_tax_taxware_GEN.PRODCDCONVNOTFOUND THEN
3257 error_mesg := TGMSG_PRODCDCONVNOTFOUND;
3258 ELSE
3259 error_mesg := TGMSG_UNKNOWN||' Return Code = '||errTaxParm.GenCmplCd;
3260 END IF;
3261
3262 END IF; -- GenCmplCd <> SUCESSSCC?
3263
3264 END IF; -- Tax Selection type
3265
3266 IF ( Jur_Error OR Calc_Error ) THEN
3267 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3268 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3269 '-- ERROR MESSAGE = '||error_mesg);
3270 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3271 'CALLING STACK_ERROR');
3272 END IF;
3273
3274 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
3275 'Taxware Error : '||error_mesg,null,null);
3276 ELSE
3277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3278 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3279 'CALLING STACK_ERROR');
3280 END IF;
3281 stack_error('GENERIC_MESSAGE', 'GENERIC_TEXT',
3282 'Taxware Errror: Taxfn_Tax010 returned FALSE and GenCmplCd = '||
3283 errTaxParm.GenCmplCd,null,null);
3284 END IF;
3285
3286 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3287 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
3288 END IF;
3289 END Get_Vendor_Error;
3290
3291
3292 PROCEDURE ERROR_EXCEPTION_HANDLE(P_ERROR_STRING varchar2) is
3293
3294 cursor error_exception_cursor is
3295 select EVNT_CLS_MAPPING_ID,
3296 TRX_ID,
3297 TAX_REGIME_CODE
3298 from ZX_TRX_PRE_PROC_OPTIONS_GT;
3299
3300 Begin
3301 If (g_docment_type_id is null) then
3302 open error_exception_cursor;
3303 fetch error_exception_cursor
3304 into g_docment_type_id,
3305 g_trasaction_id,
3306 g_tax_regime_code;
3307
3308 close error_exception_cursor;
3309
3310 end if;
3311
3312
3313 G_MESSAGES_TBL.DOCUMENT_TYPE_ID(err_count) := g_docment_type_id;
3314 G_MESSAGES_TBL.TRANSACTION_ID(err_count) := g_trasaction_id;
3315 G_MESSAGES_TBL.COUNTRY_CODE(err_count) := g_tax_regime_code;
3316 G_MESSAGES_TBL.TRANSACTION_LINE_ID(err_count) := g_transaction_line_id;
3317 G_MESSAGES_TBL.TRX_LEVEL_TYPE(err_count) := g_trx_level_type;
3318 G_MESSAGES_TBL.ERROR_MESSAGE_TYPE(err_count) := 'ERROR';
3319 G_MESSAGES_TBL.ERROR_MESSAGE_STRING(err_count) := p_error_string;
3320
3321 err_count :=err_count+1;
3322
3323 End ERROR_EXCEPTION_HANDLE;
3324
3325 PROCEDURE initialize IS
3326 l_synonym_name user_synonyms.synonym_name%TYPE;
3327 l_table_owner varchar2(20);
3328 l_table_name varchar2(20);
3329 l_column_name varchar2(20);
3330 l_column_position number;
3331 l_no_index boolean;
3332
3333 CURSOR taxware_index(p_table_name in VARCHAR2, p_table_owner in VARCHAR2) is
3334 select column_name, column_position
3335 from all_ind_columns
3336 where table_name = p_table_name and table_owner = p_table_owner;
3337
3338 l_api_name CONSTANT VARCHAR2(100) := 'INITIALIZE';
3339 BEGIN
3340
3341
3342 l_synonym_name := 'ZX_TAX_TAXWARE_AUDIT_HEADER';
3343
3344
3345 BEGIN
3346 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3347 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3348 END IF;
3349 SELECT table_owner, table_name into l_table_owner, l_table_name
3350 FROM user_synonyms
3351 WHERE synonym_name = l_synonym_name;
3352 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3353 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3354 'table_owner :'|| l_table_owner);
3355 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3356 'table_name :'|| l_table_name);
3357 END IF;
3358
3359 open taxware_index(l_table_name, l_table_owner);
3360 LOOP
3361 fetch taxware_index into l_column_name, l_column_position;
3362
3363 if taxware_index%notfound then
3364 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3365 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3366 'No index on ZX_TAX_TAXWARE_AUDIT_HEADER.ORACLEID.');
3367 END IF;
3368 l_no_index := TRUE;
3369 exit;
3370 end if;
3371
3372 if upper(l_column_name) = 'ORACLEID' and nvl(l_column_position, 1) = 1 then
3373 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3374 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3375 'Indexed on ZX_TAX_TAXWARE_AUDIT_HEADER.ORACLEID.');
3376 END IF;
3377 l_no_index := FALSE;
3378 exit;
3379 end if;
3380 END LOOP;
3381 close taxware_index;
3382
3383 EXCEPTION
3384 WHEN NO_DATA_FOUND then
3385 IF (g_level_exception >= g_current_runtime_level ) THEN
3386 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
3387 'ZX_TAX_TAXWARE.INITIALIZE: NO_DATA_FOUND');
3388 END IF;
3389 l_no_index := TRUE;
3390
3391 WHEN OTHERS then
3392 IF (g_level_exception >= g_current_runtime_level ) THEN
3393 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
3394 'ZX_TAX_TAXWARE.INITIALIZE: OTHERS');
3395 END IF;
3396
3397 l_no_index := TRUE;
3398 END;
3399
3400
3401 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3402 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
3403 END IF;
3404
3405 EXCEPTION
3406 when OTHERS then
3407 IF (g_level_exception >= g_current_runtime_level ) THEN
3408 FND_LOG.STRING(g_level_exception,G_PKG_NAME||'.'||l_api_name,
3409 'EXCEPTION(OTHERS): ZX_TAX_TAXWARE.initialize()');
3410 END IF;
3411 RAISE;
3412 END initialize;
3413
3414 PROCEDURE CREATE_TAX_LINE(
3415 p_tax in varchar2,
3416 p_amount in number,
3417 x_return_status OUT NOCOPY VARCHAR2) IS
3418
3419 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TAX_LINE';
3420 l_return_Status VARCHAR2(30);
3421 return_code boolean;
3422 l_TaxLink ZX_TAX_TAXWARE_GEN.TaxParm;
3423 l_JurLink ZX_TAX_TAXWARE_GEN.JurParm;
3424 l_OraLink ZX_TAX_TAXWARE_GEN.t_OraParm;
3425 input_param_flag boolean;
3426 BEGIN
3427 x_return_status := FND_API.G_RET_STS_SUCCESS;
3428
3429 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3430 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3431 END IF;
3432
3433 /* For Tax only Credit Memo and Tax only adjustment, user does not enter the
3434 tax lines manually. Instead, the tax lines are calculated/prorated by eBTax.
3435 The number of tax lines for the trx line can be known.
3436 Hence, we can consoliate all the tax lines and make 1 call to Vertex engine.
3437 The ELSE clause of this IF statement handles the manually entered tax lines.
3438 */
3439 IF l_document_type in ('TAX_ONLY_CREDIT_MEMO'
3440 ,'TAX_ONLY_ADJUSTMENT') THEN
3441
3442 g_line_level_action:='CREATE';
3443
3444 IF (p_tax='STATE') THEN
3445 g_StTaxAmt := p_amount;
3446 ELSIF (p_tax='COUNTY') THEN
3447 g_CoTaxAmt := p_amount;
3448 ELSIF (p_tax='CITY') THEN
3449 g_CiTaxAmt := p_amount;
3450 END IF;
3451
3452 IF NOT l_trx_line_context_changed THEN
3453 RETURN;
3454 END IF;
3455
3456 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3457 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3458 'Encountered the last tax line for the trx line.');
3459 END IF;
3460
3461 ELSE
3462
3463 IF l_document_type IN ('TAX_ONLY_INVOICE') THEN
3464 g_line_level_action:='CREATE';
3465 ELSE
3466 g_line_level_action:='DELETE';
3467 l_document_type := 'TAX_LINE_SYNC';
3468 END IF;
3469
3470 IF (p_tax='STATE') THEN
3471 g_StTaxAmt := p_amount;
3472 g_CoTaxAmt := 0;
3473 g_CiTaxAmt := 0;
3474 ELSIF (p_tax='COUNTY') THEN
3475 g_StTaxAmt := 0;
3476 g_CoTaxAmt := p_amount;
3477 g_CiTaxAmt := 0;
3478 ELSIF (p_tax='CITY') THEN
3479 g_StTaxAmt := 0;
3480 g_CoTaxAmt := 0;
3481 g_CiTaxAmt := p_amount;
3482 END IF;
3483
3484 END IF;
3485
3486 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3487 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax : '||p_tax );
3488 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_amount : '||p_amount);
3489 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_StTaxAmt : '||g_StTaxAmt);
3490 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_CoTaxAmt : '||g_CoTaxAmt);
3491 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_CiTaxAmt : '||g_CiTaxAmt);
3492 END IF;
3493
3494
3495 return_code := Set_Parameters(l_TaxLink, l_JurLink, l_OraLink);
3496 input_param_flag := TRUE;
3497 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
3498 if(return_code = TRUE) then
3499 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3500 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling CALCULATE_TAX procedure' );
3501 END IF;
3502
3503 return_code := calculate_tax(l_TaxLink, l_JurLink, l_OraLink);
3504 input_param_flag := FALSE;
3505 dump_vendor_rec(l_TaxLink, l_JurLink, l_OraLink,input_param_flag);
3506 IF (return_code = FALSE) then
3507 --x_return_status := FND_API.G_RET_STS_ERROR;
3508 g_string :='Failed in CALCULATE_TAX procedure';
3509 error_exception_handle(g_string);
3510 return;
3511 END IF;
3512 else
3513 x_return_status := FND_API.G_RET_STS_ERROR;
3514 g_string :='Failed in SET_PRAMETERS procedure';
3515 error_exception_handle(g_string);
3516 return;
3517 end if;
3518
3519
3520 g_StTaxAmt:= 0;
3521 g_CoTaxAmt:= 0;
3522 g_CiTaxAmt:= 0;
3523 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3524 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3525 END IF;
3526
3527 END CREATE_TAX_LINE;
3528
3529 Procedure get_doc_and_ext_att_info(p_evnt_cls_mapping_id IN ZX_EVNT_CLS_MAPPINGS.event_class_mapping_id%type,
3530 p_transaction_id IN ZX_LINES.trx_id%type,
3531 p_transaction_line_id IN ZX_LINES.trx_line_id%type,
3532 p_trx_level_type IN ZX_LINES.trx_level_type%type,
3533 p_regime_code IN ZX_LINES.tax_regime_code%type,
3534 p_tax_provider_id IN ZX_LINES.tax_provider_id%type,
3535 x_return_status OUT NOCOPY VARCHAR2 ) is
3536
3537 trx_line_dist_tbl ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%type;
3538 event_class_rec ZX_API_PUB.event_class_rec_type;
3539 l_return_status varchar2(30);
3540 l_APPLICATION_ID number;
3541 l_ENTITY_CODE varchar2(20);
3542 l_EVENT_CLASS_CODE varchar2(20);
3543 l_TRX_ID number;
3544 l_TRX_LINE_ID number;
3545 l_TRX_LEVEL_TYPE varchar2(20);
3546
3547 l_api_name CONSTANT VARCHAR2(30) := 'GET_DOC_AND_EXT_ATT_INFO';
3548 Begin
3549 x_return_status := FND_API.G_RET_STS_SUCCESS;
3550
3551 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3552 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3553 END IF;
3554
3555 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3556 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_transaction_id : '||p_transaction_id );
3557 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_transaction_line_id : '||p_transaction_line_id);
3558 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_regime_code : '||p_regime_code);
3559 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_provider_id : '||p_tax_provider_id);
3560 END IF;
3561
3562 Begin
3563 select
3564 APPLICATION_ID,
3565 ENTITY_CODE ,
3566 EVENT_CLASS_CODE,
3567 TRX_ID ,
3568 TRX_LINE_ID,
3569 TRX_LEVEL_TYPE
3570 into
3571 l_APPLICATION_ID,
3572 l_ENTITY_CODE ,
3573 l_EVENT_CLASS_CODE,
3574 l_TRX_ID ,
3575 l_TRX_LINE_ID,
3576 l_TRX_LEVEL_TYPE
3577 From zx_lines_det_factors
3578 where
3579 event_class_mapping_id = p_evnt_cls_mapping_id
3580 AND trx_id = p_transaction_id
3581 AND trx_line_id = p_transaction_line_id
3582 AND trx_level_type = p_trx_level_type;
3583
3584 Exception
3585 When no_data_found then
3586 IF (g_level_exception >= g_current_runtime_level ) THEN
3587 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3588 End if;
3589 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3590 g_string :='No data found in zx_lines_det_factors ';
3591 error_exception_handle(g_string);
3592 return;
3593 End;
3594
3595
3596 trx_line_dist_tbl.application_id(1) :=l_APPLICATION_ID;
3597 trx_line_dist_tbl.TRX_LINE_ID(1) :=l_TRX_LINE_ID;
3598 trx_line_dist_tbl.TRX_LEVEL_TYPE(1) :=l_TRX_LEVEL_TYPE;
3599
3600 event_class_rec.APPLICATION_ID :=l_APPLICATION_ID;
3601 event_class_rec.ENTITY_CODE :=l_ENTITY_CODE;
3602 event_class_rec.EVENT_CLASS_CODE :=l_EVENT_CLASS_CODE;
3603 event_class_rec.TRX_ID :=l_TRX_ID;
3604 --event_class_rec.TRX_LINE_ID :=l_TRX_LINE_ID;
3605
3606
3607 zx_r11i_tax_partner_pkg.copy_trx_line_for_ptnr_bef_upd
3608 (p_trx_line_dist_tbl => trx_line_dist_tbl,
3609 p_event_class_rec => event_class_rec,
3610 p_update_index => 1,
3611 p_trx_copy_for_tax_update => 'N' ,
3612 p_regime_code => p_regime_code,
3613 p_tax_provider_id => p_tax_provider_id,
3614 x_return_status => l_return_status);
3615
3616 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3617 IF (g_level_exception >= g_current_runtime_level ) THEN
3618 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3619 END IF;
3620 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3621 g_string :='Not able to copy the line information :Failed with an exception';
3622 error_exception_handle(g_string);
3623 return;
3624 END IF;
3625 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3626 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3627 END IF;
3628
3629 END get_doc_and_ext_att_info;
3630
3631 Function CHECK_IN_CACHE(p_internal_organization_id number,
3632 P_document_type_id number,
3633 p_transaction_id number,
3634 p_transaction_line_id number) return boolean is
3635
3636 l_index number;
3637 l_api_name CONSTANT VARCHAR2(30) := 'CHECK_IN_CACHE';
3638 Begin
3639
3640 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3641 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3642 END IF;
3643
3644 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3645 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_INTERNAL_ORGANIZATION_ID : ' || p_internal_organization_id );
3646 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_DOCUMENT_TYPE_ID : '|| P_document_type_id);
3647 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_TRANSACTION_ID : '|| p_transaction_id);
3648 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_TRANSACTION_LINE_ID : '|| p_transaction_line_id);
3649 END IF;
3650
3651 For l_index in 1 .. cache_index loop
3652 if(cache_table(l_index).internal_organization_id = p_internal_organization_id and
3653 cache_table(l_index).document_type_id = P_document_type_id and
3654 cache_table(l_index).transaction_id = p_transaction_id and
3655 cache_table(l_index).transaction_line_id = p_transaction_line_id) then
3656
3657 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3658 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Found in the Cache' );
3659 END IF;
3660
3661 Return TRUE;
3662 end if;
3663 end loop;
3664 cache_index :=cache_index+1;
3665 cache_table(cache_index).internal_organization_id := p_internal_organization_id;
3666 cache_table(cache_index).document_type_id := P_document_type_id;
3667 cache_table(cache_index).transaction_id := p_transaction_id;
3668 cache_table(cache_index).transaction_line_id := p_transaction_line_id;
3669
3670 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3671 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Not Found in the Cache' );
3672 END IF;
3673
3674 return FALSE;
3675
3676 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3677 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3678 END IF;
3679 End Check_in_cache;
3680
3681 PROCEDURE POPULATE_SYNC_TAX_AMTS(p_sync_tax_cnt IN NUMBER
3682 , p_tax IN zx_lines.tax%type
3683 , x_output_sync_tax_lines OUT NOCOPY zx_tax_partner_pkg.output_sync_tax_lines_tbl_type
3684 , x_return_status OUT NOCOPY VARCHAR2) IS
3685
3686 l_api_name CONSTANT VARCHAR2(30) := 'POPULATE_SYNC_TAX_AMTS';
3687
3688 BEGIN
3689 x_return_status := FND_API.G_RET_STS_SUCCESS;
3690
3691 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3692 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3693 END IF;
3694
3695 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3696 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_sync_tax_cnt : '||p_sync_tax_cnt);
3697 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax : '||p_tax);
3698 END IF;
3699
3700 /* For Tax only Credit Memo and Tax only adjustment, we consoliate all the tax lines and make 1 call to Vertex engine.
3701 The output is available at the end of the processing of the last tax line.
3702 l_trx_line_context_changed indicates that the tax line being processed is the last tax line for the trx line.
3703 */
3704 IF l_document_type in ('TAX_ONLY_CREDIT_MEMO'
3705 ,'TAX_ONLY_ADJUSTMENT') THEN
3706 IF (p_tax = 'STATE') THEN
3707 l_state_tax_cnt := p_sync_tax_cnt;
3708 ELSIF(p_tax = 'COUNTY') THEN
3709 l_county_tax_cnt := p_sync_tax_cnt;
3710 ELSIF(p_tax = 'CITY') THEN
3711 l_city_tax_cnt := p_sync_tax_cnt;
3712 END IF;
3713 IF l_trx_line_context_changed THEN
3714 IF l_state_tax_cnt IS NOT NULL THEN
3715 -- x_output_sync_tax_lines(l_state_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.StaTxRate*100;
3716 -- x_output_sync_tax_lines(l_state_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.StBasisAmt;
3717 null;
3718 END IF;
3719 IF l_county_tax_cnt IS NOT NULL THEN
3720 -- x_output_sync_tax_lines(l_county_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.CnTxRate *100;
3721 -- x_output_sync_tax_lines(l_county_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.CntyBasisAmt;
3722 null;
3723 END IF;
3724 IF l_city_tax_cnt IS NOT NULL THEN
3725 -- x_output_sync_tax_lines(l_city_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.LoTxRate*100;
3726 -- x_output_sync_tax_lines(l_city_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.CityBasisAmt;
3727 null;
3728 END IF;
3729 l_state_tax_cnt := null;
3730 l_county_tax_cnt := null;
3731 l_city_tax_cnt := null;
3732 ELSE
3733 RETURN;
3734 END IF;
3735 ELSE
3736 IF (p_tax = 'STATE') THEN
3737 -- x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.StaTxRate*100;
3738 --x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.StBasisAmt;
3739 null;
3740 ELSIF(p_tax = 'COUNTY') THEN
3741 -- x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.CnTxRate *100;
3742 -- x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.CntyBasisAmt;
3743 null;
3744 ELSIF(p_tax = 'CITY') THEN
3745 -- x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := l_TaxLink.LoTxRate*100;
3746 -- x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := l_TaxLink.CityBasisAmt;
3747 null;
3748 END IF;
3749 END IF;
3750
3751 END POPULATE_SYNC_TAX_AMTS;
3752
3753
3754 Procedure SYNCHRONIZE_TAXWARE_REPOSITORY
3755 (x_output_sync_tax_lines OUT NOCOPY zx_tax_partner_pkg.output_sync_tax_lines_tbl_type,
3756 x_return_status OUT NOCOPY varchar2,
3757 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type) is
3758 l_api_name CONSTANT VARCHAR2(100) := 'SYNCHRONIZE_TAXWARE_REPOSITORY';
3759 CURSOR TAX_LINES_TO_BE_PROCESSED is
3760 SELECT
3761 DOCUMENT_TYPE_ID ,
3762 TRANSACTION_ID ,
3763 TRANSACTION_LINE_ID ,
3764 TRX_LEVEL_TYPE ,
3765 COUNTRY_CODE ,
3766 TAX ,
3767 SITUS ,
3768 TAX_JURISDICTION ,
3769 TAX_CURRENCY_CODE ,
3770 TAX_AMOUNT ,
3771 TAX_CURR_TAX_AMT ,
3772 TAX_RATE_PERCENTAGE ,
3773 TAXABLE_AMOUNT ,
3774 EXEMPT_RATE_MODIFIER ,
3775 EXEMPT_REASON ,
3776 TAX_ONLY_LINE_FLAG ,
3777 INCLUSIVE_TAX_LINE_FLAG ,
3778 USE_TAX_FLAG ,
3779 EBIZ_OVERRIDE_FLAG ,
3780 USER_OVERRIDE_FLAG ,
3781 LAST_MANUAL_ENTRY ,
3782 MANUALLY_ENTERED_FLAG ,
3783 CANCEL_FLAG ,
3784 DELETE_FLAG
3785 FROM ZX_SYNC_TAX_LINES_INPUT_V
3786 ORDER BY DOCUMENT_TYPE_ID,
3787 TRANSACTION_ID,
3788 TRANSACTION_LINE_ID,
3789 TRX_LEVEL_TYPE;
3790
3791
3792 SYNC_TAX_LINES SYNC_TAX_LINES_TBL;
3793 l_internal_organization_id ZX_SYNC_HDR_INPUT_V.internal_organization_id%type;
3794 l_document_type_id ZX_SYNC_HDR_INPUT_V.document_type_id%type;
3795 l_transaction_id ZX_SYNC_HDR_INPUT_V.transaction_id%type;
3796 l_legal_entity_number ZX_SYNC_HDR_INPUT_V.legal_entity_number%type;
3797 l_establishment_number ZX_SYNC_HDR_INPUT_V.establishment_number%type; -- Bug 5139731
3798 l_transaction_line_id ZX_SYNC_TAX_LINES_INPUT_V.transaction_line_id%type;
3799 l_count number;
3800 l_event_type varchar2(20);
3801 l_write_record boolean;
3802 l_event_class_code varchar2(20);
3803 l_application_id number;
3804 l_entity_code varchar2(20);
3805 l_trx_level_type varchar2(20);
3806 l_regime_code ZX_REGIMES_B.tax_regime_code%type;
3807 l_amount number;
3808 l_found boolean;
3809 l_return_status varchar2(30);
3810 ctrx_id NUMBER;
3811 l_trx_number VARCHAR2(150);
3812 l_statements VARCHAR2(2000);
3813
3814 BEGIN
3815 x_return_status := FND_API.G_RET_STS_SUCCESS;
3816
3817 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3818 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3819 END IF;
3820
3821 IF ZX_API_PUB.G_PUB_SRVC <> 'SYNCHRONIZE_TAX_REPOSITORY' THEN
3822
3823 BEGIN
3824 SELECT internal_organization_id,
3825 document_type_id,
3826 transaction_id,
3827 legal_entity_number,
3828 establishment_number
3829 INTO l_internal_organization_id,
3830 l_document_type_id,
3831 l_transaction_id,
3832 l_legal_entity_number,
3833 l_establishment_number -- Bug 5139731
3834 FROM ZX_SYNC_HDR_INPUT_V;
3835 EXCEPTION
3836 WHEN TOO_MANY_ROWS THEN
3837 IF (g_level_exception >= g_current_runtime_level ) THEN
3838 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3839 End if;
3840 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3841 g_string :='More than one row exist at header level';
3842 error_exception_handle(g_string);
3843 RETURN;
3844 END;
3845
3846 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3847 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3848 ' l_transaction_id = ' || l_transaction_id);
3849 END IF;
3850
3851 OPEN tax_lines_to_be_processed;
3852
3853 FETCH tax_lines_to_be_processed BULK COLLECT INTO
3854 SYNC_TAX_LINES.document_type_id ,
3855 SYNC_TAX_LINES.transaction_id ,
3856 SYNC_TAX_LINES.transaction_line_id ,
3857 SYNC_TAX_LINES.trx_level_type ,
3858 SYNC_TAX_LINES.country_code ,
3859 SYNC_TAX_LINES.tax ,
3860 SYNC_TAX_LINES.situs ,
3861 SYNC_TAX_LINES.tax_jurisdiction ,
3862 SYNC_TAX_LINES.tax_currency_code ,
3863 SYNC_TAX_LINES.tax_curr_tax_amount ,
3864 SYNC_TAX_LINES.tax_amount ,
3865 SYNC_TAX_LINES.tax_rate_percentage ,
3866 SYNC_TAX_LINES.taxable_amount ,
3867 SYNC_TAX_LINES.exempt_rate_modifier ,
3868 SYNC_TAX_LINES.exempt_reason ,
3869 SYNC_TAX_LINES.tax_only_line_flag ,
3870 SYNC_TAX_LINES.inclusive_tax_line_flag ,
3871 SYNC_TAX_LINES.use_tax_flag ,
3872 SYNC_TAX_LINES.ebiz_override_flag ,
3873 SYNC_TAX_LINES.user_override_flag ,
3874 SYNC_TAX_LINES.last_manual_entry ,
3875 SYNC_TAX_LINES.manually_entered_flag ,
3876 SYNC_TAX_LINES.cancel_flag ,
3877 SYNC_TAX_LINES.delete_flag
3878 LIMIT C_LINES_PER_COMMIT;
3879
3880 I := 0;
3881 BEGIN
3882 SELECT event_class_code
3883 , application_id
3884 , entity_code
3885 INTO l_event_class_code
3886 , l_application_id
3887 , l_entity_code
3888 FROM zx_evnt_cls_mappings
3889 WHERE EVENT_CLASS_MAPPING_ID = SYNC_TAX_LINES.document_type_id(1);
3890 EXCEPTION
3891 WHEN OTHERS THEN
3892 l_event_class_code := NULL;
3893 l_application_id := NULL;
3894 l_entity_code := NULL;
3895
3896 END;
3897
3898 FOR sync_tax_cnt IN 1..sync_tax_lines.document_type_id.last LOOP
3899
3900 /* Maintain the trx line counter. The tax lines are fetched together for a transaction_line_id.
3901 For Tax only documents, we need to know the last tax line being fetch so that all the tax lines can be consolidated and passed as one record */
3902
3903 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3904 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3905 ' SYNC_TAX_LINES.transaction_line_id(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt));
3906 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3907 ' SYNC_TAX_LINES.tax(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.tax(sync_tax_cnt));
3908 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3909 ' SYNC_TAX_LINES.tax_amount(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.tax_amount(sync_tax_cnt));
3910 END IF;
3911
3912 IF nvl(l_transaction_line_id, -999) <> SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt) THEN
3913 I := I+1;
3914 l_transaction_line_id := SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt);
3915 END IF;
3916 IF sync_tax_cnt = sync_tax_lines.document_type_id.last THEN
3917 l_trx_line_context_changed := TRUE;
3918 ELSE
3919 IF l_transaction_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt+1) THEN
3920 l_trx_line_context_changed := FALSE;
3921 ELSE
3922 l_trx_line_context_changed := TRUE;
3923 END IF;
3924 END IF;
3925 /* Identify Tax event type -Start*/
3926 BEGIN
3927 SELECT count(*)
3928 INTO l_count
3929 FROM ZX_PTNR_NEG_TAX_LINE_GT
3930 WHERE document_type_id = SYNC_TAX_LINES.document_type_id(sync_tax_cnt)
3931 AND trx_id = SYNC_TAX_LINES.transaction_id(sync_tax_cnt)
3932 AND trx_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt)
3933 AND country_code = SYNC_TAX_LINES.country_code(sync_tax_cnt)
3934 AND tax = SYNC_TAX_LINES.tax(sync_tax_cnt)
3935 AND situs = SYNC_TAX_LINES.situs(sync_tax_cnt);
3936 EXCEPTION
3937 WHEN OTHERS THEN
3938 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3939 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3940 ' Error while accessing ZX_PTNR_NEG_TAX_LINE_GT');
3941 END IF;
3942 END;
3943
3944 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3945 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3946 ' No of records in ZX_PTNR_NEG_TAX_LINE_GT = ' || l_count);
3947 END IF;
3948
3949 /* Check if the Line is present in ZX_PTNR_NEG_TAX_LINE_GT table.
3950 Deleted line is passed thru zx_sync_tax_lines_input_v and there is
3951 no corresponding line in ZX_PTNR_NEG_TAX_LINE_GT */
3952
3953 IF (l_count=1) THEN /*Line is present. Hence, it is an UPDATE action */
3954 l_event_type :='TAX_LINE_UPDATE';
3955 ELSIF (l_count=0) THEN
3956 IF (SYNC_TAX_LINES.delete_flag(sync_tax_cnt) ='Y') THEN /* Delete action */
3957 l_event_type :='TAX_LINE_DELETE';
3958 ELSE
3959 l_event_type:='TAX_LINE_CREATE';
3960 END IF;
3961 ELSE
3962 x_return_status :=FND_API.G_RET_STS_ERROR;
3963 g_string := 'There were more than one tax line';
3964 error_exception_handle(g_string);
3965 RETURN;
3966 END IF;
3967 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3968 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3969 ' l_event_type ' || l_event_type);
3970 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3971 ' pg_trx_id_tab(I) ' || pg_trx_id_tab(I));
3972 END IF;
3973 get_doc_and_ext_att_info(SYNC_TAX_LINES.document_type_id(sync_tax_cnt),
3974 SYNC_TAX_LINES.transaction_id(sync_tax_cnt),
3975 SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt),
3976 SYNC_TAX_LINES.trx_level_type(sync_tax_cnt),
3977 SYNC_TAX_LINES.country_code(sync_tax_cnt),
3978 1,l_return_status);
3979 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3980 IF (g_level_exception >= g_current_runtime_level ) THEN
3981 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3982 END IF;
3983 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3984 g_string :='Failed in GET_DOC_AND_EXT_ATT_INFO procedure';
3985 error_exception_handle(g_string);
3986 RETURN;
3987 END IF;
3988 --END IF;
3989
3990 IF (l_event_type='TAX_LINE_UPDATE') THEN
3991 /*Taxware does not have this feature*/
3992 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3993 g_string :='Unable to perform with Taxware';
3994 error_exception_handle(g_string);
3995
3996 ELSIF(l_event_type='TAX_LINE_DELETE')then
3997 select tax_amount
3998 into l_amount
3999 from ZX_PTNR_NEG_TAX_LINE_GT
4000 where trx_id = SYNC_TAX_LINES.transaction_id(sync_tax_cnt) and
4001 trx_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt);
4002
4003 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),-1*l_amount,l_return_status);
4004 l_write_record:=false;
4005
4006 ELSIF (l_event_type='TAX_LINE_CREATE') THEN
4007 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),SYNC_TAX_LINES.tax_amount(sync_tax_cnt),l_return_status);
4008 l_write_record:=true;
4009 END IF;
4010
4011 IF (l_write_record and l_trx_line_context_changed) THEN
4012 x_output_sync_tax_lines(sync_tax_cnt).INTERNAL_ORGANIZATION_ID := l_internal_organization_id;
4013 x_output_sync_tax_lines(sync_tax_cnt).LEGAL_ENTITY_NUMBER := l_legal_entity_number;
4014 x_output_sync_tax_lines(sync_tax_cnt).ESTABLISHMENT_NUMBER := l_establishment_number; -- Bug 5139731
4015 x_output_sync_tax_lines(sync_tax_cnt).DOCUMENT_TYPE_ID := SYNC_TAX_LINES.document_type_id(sync_tax_cnt);
4016 x_output_sync_tax_lines(sync_tax_cnt).APPLICATION_ID := l_application_id;
4017 x_output_sync_tax_lines(sync_tax_cnt).ENTITY_CODE := l_entity_code;
4018 x_output_sync_tax_lines(sync_tax_cnt).EVENT_CLASS_CODE := l_event_class_code;
4019 x_output_sync_tax_lines(sync_tax_cnt).TRANSACTION_ID := sync_tax_lines.transaction_id(sync_tax_cnt);
4020 x_output_sync_tax_lines(sync_tax_cnt).TRANSACTION_LINE_ID := sync_tax_lines.transaction_line_id(sync_tax_cnt);
4021 x_output_sync_tax_lines(sync_tax_cnt).TRX_LEVEL_TYPE := sync_tax_lines.trx_level_type(sync_tax_cnt);
4022 x_output_sync_tax_lines(sync_tax_cnt).COUNTRY_CODE := sync_tax_lines.country_code(sync_tax_cnt);
4023 x_output_sync_tax_lines(sync_tax_cnt).TAX := sync_tax_lines.tax(sync_tax_cnt);
4024 x_output_sync_tax_lines(sync_tax_cnt).SITUS := sync_tax_lines.situs(sync_tax_cnt);
4025
4026 populate_sync_tax_amts(sync_tax_cnt
4027 , sync_tax_lines.tax(sync_tax_cnt)
4028 , x_output_sync_tax_lines
4029 , x_return_status);
4030 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4031 IF (g_level_exception >= g_current_runtime_level ) THEN
4032 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4033 END IF;
4034 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4035 g_string :='Failed in populate_sync_tax_amts procedure';
4036 error_exception_handle(g_string);
4037 RETURN;
4038 END IF;
4039
4040 l_write_record := FALSE;
4041 END IF;
4042
4043 END LOOP;
4044 ELSE
4045 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4046 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, ' in the update part ');
4047 END IF;
4048
4049 BEGIN
4050 SELECT TRANSACTION_NUMBER, TRANSACTION_ID
4051 INTO l_trx_number, ctrx_id
4052 FROM ZX_SYNC_HDR_INPUT_V;
4053 EXCEPTION
4054 WHEN TOO_MANY_ROWS THEN
4055 IF (g_level_exception >= g_current_runtime_level ) THEN
4056 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4057 End if;
4058 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4059 g_string :='More than one row exist at header level';
4060 error_exception_handle(g_string);
4061 RETURN;
4062 WHEN OTHERS THEN
4063 NULL;
4064 END;
4065 l_statements := 'UPDATE ZX_TAX_TAXWARE_AUDIT_HEADER '||
4066 'SET INVNUM = :1' ||
4067 ' WHERE ORACLEID = :2 ';
4068
4069 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4070 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_statements ==' || l_statements);
4071 END IF;
4072 EXECUTE IMMEDIATE l_statements using l_trx_number,ctrx_id ;
4073 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4074 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'Updated Rows in taxware table == ' || to_char(SQL%ROWCOUNT));
4075 END IF;
4076
4077 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4078 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'ZX_TAX_TAXWARE_AUDIT_HEADER is updated');
4079 END IF;
4080
4081 END IF;
4082
4083
4084 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4085 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4086 END IF;
4087
4088
4089 End SYNCHRONIZE_TAXWARE_REPOSITORY;
4090
4091 Procedure GLOBAL_DOCUMENT_UPDATE
4092 (x_transaction_rec IN zx_tax_partner_pkg.trx_rec_type,
4093 x_return_status OUT NOCOPY varchar2,
4094 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type) is
4095 l_cnt_of_options_gt NUMBER;
4096 l_cnt_of_hdr_extns_gt NUMBER;
4097 l_cnt_of_line_extns_gt NUMBER;
4098 l_cnt_of_loc_info_gt NUMBER;
4099 l_cnt_of_neg_line_gt NUMBER;
4100 l_cnt_of_det_factors NUMBER;
4101 l_return_status VARCHAR2(30);
4102 l_api_name CONSTANT VARCHAR2(100) := 'GLOBAL_DOCUMENT_UPDATE';
4103
4104 BEGIN
4105 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4106 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4107 END IF;
4108
4109 x_return_status := FND_API.G_RET_STS_SUCCESS;
4110
4111 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4112 BEGIN
4113 SELECT count(*)
4114 INTO l_cnt_of_det_factors
4115 FROM ZX_LINES_DET_FACTORS
4116 WHERE event_class_mapping_id = x_transaction_rec.document_type_id
4117 AND trx_id = x_transaction_rec.transaction_id;
4118 EXCEPTION WHEN OTHERS THEN
4119 l_cnt_of_det_factors := 0;
4120 END;
4121 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4122 'l_cnt_of_det_factors = '||l_cnt_of_det_factors);
4123 BEGIN
4124 SELECT count(*)
4125 INTO l_cnt_of_options_gt
4126 FROM ZX_TRX_PRE_PROC_OPTIONS_GT;
4127 EXCEPTION WHEN OTHERS THEN
4128 l_cnt_of_options_gt := 0;
4129 END;
4130 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4131 'l_cnt_of_options_gt = '||l_cnt_of_options_gt);
4132 BEGIN
4133 SELECT count(*)
4134 INTO l_cnt_of_hdr_extns_gt
4135 FROM ZX_PRVDR_HDR_EXTNS_GT;
4136 EXCEPTION WHEN OTHERS THEN
4137 l_cnt_of_hdr_extns_gt := 0;
4138 END;
4139 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4140 'l_cnt_of_hdr_extns_gt = '||l_cnt_of_hdr_extns_gt);
4141 BEGIN
4142 SELECT count(*)
4143 INTO l_cnt_of_line_extns_gt
4144 FROM ZX_PRVDR_HDR_EXTNS_GT;
4145 EXCEPTION WHEN OTHERS THEN
4146 l_cnt_of_line_extns_gt := 0;
4147 END;
4148 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4149 'l_cnt_of_line_extns_gt = '||l_cnt_of_line_extns_gt);
4150 BEGIN
4151 SELECT count(*)
4152 INTO l_cnt_of_loc_info_gt
4153 FROM ZX_PTNR_LOCATION_INFO_GT;
4154 EXCEPTION WHEN OTHERS THEN
4155 l_cnt_of_loc_info_gt := 0;
4156 END;
4157 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4158 'l_cnt_of_loc_info_gt = '||l_cnt_of_loc_info_gt);
4159 BEGIN
4160 SELECT count(*)
4161 INTO l_cnt_of_neg_line_gt
4162 FROM ZX_PTNR_NEG_LINE_GT;
4163 EXCEPTION WHEN OTHERS THEN
4164 l_cnt_of_neg_line_gt := 0;
4165 END;
4166 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4167 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4168 'l_cnt_of_neg_line_gt = '||l_cnt_of_neg_line_gt);
4169 END IF;
4170 END IF;
4171
4172 BEGIN
4173 SELECT trx_line_id
4174 BULK COLLECT INTO pg_trx_line_id_tab
4175 FROM ZX_PTNR_NEG_LINE_GT
4176 WHERE event_class_mapping_id = x_transaction_rec.document_type_id
4177 AND trx_id = x_transaction_rec.transaction_id;
4178 EXCEPTION
4179 WHEN no_data_found THEN
4180 IF (g_level_exception >= g_current_runtime_level ) THEN
4181 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4182 End if;
4183 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4184 g_string := 'No document type exist for provided event_class_mapping_id ';
4185 error_exception_handle(g_string);
4186 x_messages_tbl := g_messages_tbl;
4187 RETURN;
4188 END;
4189
4190 BEGIN
4191 SELECT event_class_code
4192 INTO l_document_type
4193 FROM zx_evnt_cls_mappings
4194 WHERE event_class_mapping_id = x_transaction_rec.document_type_id;
4195 EXCEPTION
4196 WHEN no_data_found THEN
4197 IF (g_level_exception >= g_current_runtime_level ) THEN
4198 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4199 End if;
4200 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4201 g_string := 'No document type exist for provided event_class_mapping_id ';
4202 error_exception_handle(g_string);
4203 x_messages_tbl := g_messages_tbl;
4204 RETURN;
4205 END;
4206
4207 FOR cnt IN 1..nvl(pg_trx_line_id_tab.last, 0)
4208 LOOP
4209 I := cnt;
4210 perform_line_deletion(l_return_status);
4211 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4212 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4213 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
4214 END IF;
4215 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4216 g_string :='Failed in PERFORM_LINE_DELETION procedure';
4217 error_exception_handle(g_string);
4218 RETURN;
4219 END IF;
4220 END LOOP;
4221
4222
4223 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4224 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()+');
4225 END IF;
4226
4227 End GLOBAL_DOCUMENT_UPDATE;
4228
4229 PROCEDURE dump_vendor_rec ( dmpTaxLink ZX_TAX_TAXWARE_GEN.TaxParm,
4230 dmpJurLink ZX_TAX_TAXWARE_GEN.JurParm,
4231 dmpOraLink ZX_TAX_TAXWARE_GEN.t_OraParm,
4232 input_param_flag BOOLEAN ) IS
4233
4234 l_temp_reserved_bool VARCHAR2(10) := null;
4235 l_api_name CONSTANT VARCHAR2(30) := 'DUMP_VENDOR_REC';
4236 BEGIN
4237
4238 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4239 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4240 END IF;
4241
4242 IF input_param_flag THEN
4243 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4244 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4245 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- OraLink Input Parameters -----');
4246 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4247 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'OracleId = ['||dmpOraLink.OracleId||']');
4248 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Oracle_Msg_Text = ['||dmpOraLink.oracle_msg_text||']');
4249 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Oracle_Msg_Label = ['||dmpOraLink.oracle_msg_label||']');
4250 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Taxware_Msg_Text = ['||dmpOraLink.taxware_msg_text||']');
4251 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_1 = ['||dmpOraLink.reserved_text_1||']');
4252 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_2 = ['||dmpOraLink.reserved_text_2||']');
4253 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_3 = ['||dmpOraLink.reserved_text_3||']');
4254 END IF;
4255 if dmpOraLink.reserved_bool_1 is null then
4256 l_temp_reserved_bool := '';
4257 elsif dmpOraLink.reserved_bool_1 then
4258 l_temp_reserved_bool := 'TRUE';
4259 else
4260 l_temp_reserved_bool := 'FALSE';
4261 end if;
4262 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4263 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_1 = ['||l_temp_reserved_bool||']');
4264 END IF;
4265 if dmpOraLink.reserved_bool_2 is null then
4266 l_temp_reserved_bool := '';
4267 elsif dmpOraLink.reserved_bool_2 then
4268 l_temp_reserved_bool := 'TRUE';
4269 else
4270 l_temp_reserved_bool := 'FALSE';
4271 end if;
4272 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4273 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_2 = ['||l_temp_reserved_bool||']');
4274 END IF;
4275 if dmpOraLink.reserved_bool_3 is null then
4276 l_temp_reserved_bool := '';
4277 elsif dmpOraLink.reserved_bool_3 then
4278 l_temp_reserved_bool := 'TRUE';
4279 else
4280 l_temp_reserved_bool := 'FALSE';
4281 end if;
4282 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4283 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_3 = ['||l_temp_reserved_bool||']');
4284 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_1 = ['||dmpOraLink.reserved_char_1||']');
4285 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_2 = ['||dmpOraLink.reserved_char_2||']');
4286 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_3 = ['||dmpOraLink.reserved_char_3||']');
4287 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_NUM_1 = ['||to_char(dmpOraLink.reserved_num_1)||']');
4288 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_NUM_2 = ['||to_char(dmpOraLink.reserved_num_2)||']');
4289 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BIGNUM_1 = ['||to_char(dmpOraLink.reserved_bignum_1)||']');
4290
4291 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_DATE_1 = ['||to_char(dmpOraLink.reserved_date_1,'DD-MON-RR')||']');
4292 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4293 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- TaxLink Input Parameters -----');
4294 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4295 --FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'vendor_param.tax_selection = ['||vendor_param.tax_selection||']');
4296 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CalcType = ['||dmpTaxLink.CalcType||']');
4297 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnSlsUse = ['||dmpTaxLink.CnSlsUse||']');
4298 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CustNo = ['||dmpTaxLink.CustNo||']');
4299 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CustName = ['||dmpTaxLink.CustName||']');
4300 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CompanyID = ['||dmpTaxLink.CompanyID||']');
4301 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.DivCode = ['||dmpTaxLink.DivCode||']');
4302 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.GrossAmt = ['||to_char(dmpTaxLink.GrossAmt)||']');
4303 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.TaxAmt = ['||to_char(dmpTaxLink.TaxAmt)||']');
4304 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CreditInd = ['||
4305 arp_trx_util.boolean_to_varchar2(dmpTaxLink.CreditInd)||']');
4306 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.InvoiceDate = ['||to_char(dmpTaxLink.InvoiceDate)||']');
4307 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.InvoiceNo = ['||dmpTaxLink.InvoiceNo||']');
4308 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoSlsUse = ['||dmpTaxLink.LoSlsUse||']');
4309 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoCnTax = ['||
4310 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoCnTax)||']');
4311 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoLoTax = ['||
4312 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoLoTax)||']');
4313 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoSecCnTax = ['||
4314 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoSecCnTax)||']');
4315 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoSecLoTax = ['||
4316 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoSecLoTax)||']');
4317 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoStaTax = ['||
4318 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoStaTax)||']');
4319 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NoTaxInd = ['||
4320 arp_trx_util.boolean_to_varchar2(dmpTaxLink.NoTaxInd)||']');
4321 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.NumItems = ['||to_char(dmpTaxLink.NumItems)||']');
4322 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.PriGeo = ['||dmpTaxLink.PriGeo||']');
4323 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.PriZip = ['||dmpTaxLink.PriZip||']');
4324 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.InOutCityLimits = ['||dmpTaxLink.InOutCityLimits||']');
4325 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ProdCode = ['||dmpTaxLink.ProdCode||']');
4326 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ReptInd = ['||
4327 arp_trx_util.boolean_to_varchar2(dmpTaxLink.ReptInd)||']');
4328 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecStSlsUse = ['||dmpTaxLink.SecStSlsUse||']');
4329 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaSlsUse = ['||dmpTaxLink.StaSlsUse||']');
4330 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StateCode = ['||dmpTaxLink.StateCode||']');
4331 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaExempt = ['||
4332 arp_trx_util.boolean_to_varchar2(dmpTaxLink.StaExempt)||']');
4333 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StExemptAmt = ['||to_char(dmpTaxLink.StExemptAmt)||']');
4334 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StReasonCode = ['||dmpTaxLink.StReasonCode||']');
4335 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StTaxCertNo = ['||dmpTaxLink.StTaxCertNo||']');
4336 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnExempt = ['||
4337 arp_trx_util.boolean_to_varchar2(dmpTaxLink.CnExempt)||']');
4338 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CntyExemptAmt = ['||to_char(dmpTaxLink.CntyExemptAmt)||']');
4339 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CntyReasonCode = ['||dmpTaxLink.CntyReasonCode||']');
4340 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnTaxCertNo = ['||dmpTaxLink.CnTaxCertNo||']');
4341 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoExempt = ['||
4342 arp_trx_util.boolean_to_varchar2(dmpTaxLink.LoExempt)||']');
4343 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CityExemptAmt = ['||to_char(dmpTaxLink.CityExemptAmt)||']');
4344 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CityReasonCode = ['||dmpTaxLink.CityReasonCode||']');
4345 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoTaxCertNo = ['||dmpTaxLink.LoTaxCertNo||']');
4346 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecCnExempt = ['||
4347 arp_trx_util.boolean_to_varchar2(dmpTaxLink.SecCnExempt)||']');
4348 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecCnExemptAmt = ['||to_char(dmpTaxLink.SecCnExemptAmt)||']');
4349 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecLoExempt = ['||
4350 arp_trx_util.boolean_to_varchar2(dmpTaxLink.SecLoExempt)||']');
4351 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecLoExemptAmt = ['||to_char(dmpTaxLink.SecLoExemptAmt)||']');
4352 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'');
4353 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- STEP/NEXPRO Input Parameters -----');
4354 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'');
4355 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.UseStep = ['||dmpTaxLink.UseStep||']');
4356 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StepProcFlg = ['||dmpTaxLink.StepProcFlg||']');
4357 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.JobNo = ['||dmpTaxLink.JobNo||']');
4358 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CritFlg = ['||dmpTaxLink.CritFlg||']');
4359 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.UseNexproInd = ['||dmpTaxLink.UseNexproInd||']');
4360
4361 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 StOvAmt =='|| dmpTaxLink.StOvAmt);
4362 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 CnOvAmt =='|| dmpTaxLink.CnOvAmt);
4363 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 LoOvAmt =='|| dmpTaxLink.LoOvAmt);
4364 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 ScStOvAmt =='|| dmpTaxLink.ScStOvAmt);
4365 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 ScCnOvAmt =='|| dmpTaxLink.ScCnOvAmt);
4366 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 ScLoOvAmt =='|| dmpTaxLink.ScLoOvAmt);
4367 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 DistOvAmt =='|| dmpTaxLink.DistOvAmt);
4368 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3232492 FedOvAmt =='|| dmpTaxLink.FedOvAmt);
4369
4370 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4371 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- JurLink Input Parameters -----');
4372 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4373 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POA.Geo = ['||dmpJurLink.POA.Geo||']');
4374 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POA.State = ['||dmpJurLink.POA.State||']');
4375 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POA.Zip = ['||dmpJurLink.POA.Zip||']');
4376 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.InOutCiLimPOA = ['||dmpJurLink.InOutCiLimPOA||']');
4377 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POO.Geo = ['||dmpJurLink.POO.Geo||']');
4378 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POO.State = ['||dmpJurLink.POO.State||']');
4379 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POO.Zip = ['||dmpJurLink.POO.Zip||']');
4380 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.InOutCiLimPOO = ['||dmpJurLink.InOutCiLimPOO||']');
4381 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipFr.Geo = ['||dmpJurLink.ShipFr.Geo||']');
4382 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipFr.State = ['||dmpJurLink.ShipFr.State||']');
4383 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipFr.Zip = ['||dmpJurLink.ShipFr.Zip||']');
4384 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.InOutCiLimShFr = ['||dmpJurLink.InOutCiLimShFr||']');
4385 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipTo.Geo = ['||dmpJurLink.ShipTo.Geo||']');
4386 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipTo.State = ['||dmpJurLink.ShipTo.State||']');
4387 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShipTo.Zip = ['||dmpJurLink.ShipTo.Zip||']');
4388 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.InOutCiLimShTo = ['||dmpJurLink.InOutCiLimShTo||']');
4389 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POT = ['||dmpJurLink.POT||']');
4390 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ServInd = ['||dmpJurLink.ServInd||']');
4391 END IF;
4392
4393 ELSE
4394 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4395 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4396 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- OraLink Output Parameters ----');
4397 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4398 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'OracleId = ['||dmpOraLink.OracleId||']');
4399 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Oracle_Msg_Text = ['||dmpOraLink.oracle_msg_text||']');
4400 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Oracle_Msg_Label = ['||dmpOraLink.oracle_msg_label||']');
4401 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Taxware_Msg_Text = ['||dmpOraLink.taxware_msg_text||']');
4402 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_1 = ['||dmpOraLink.reserved_text_1||']');
4403 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_2 = ['||dmpOraLink.reserved_text_2||']');
4404 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_Text_3 = ['||dmpOraLink.reserved_text_3||']');
4405 END IF;
4406 if dmpOraLink.reserved_bool_1 is null then
4407 l_temp_reserved_bool := '';
4408 elsif dmpOraLink.reserved_bool_1 then
4409 l_temp_reserved_bool := 'TRUE';
4410 else
4411 l_temp_reserved_bool := 'FALSE';
4412 end if;
4413 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4414 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_1 = ['||l_temp_reserved_bool||']');
4415 END IF;
4416 if dmpOraLink.reserved_bool_2 is null then
4417 l_temp_reserved_bool := '';
4418 elsif dmpOraLink.reserved_bool_2 then
4419 l_temp_reserved_bool := 'TRUE';
4420 else
4421 l_temp_reserved_bool := 'FALSE';
4422 end if;
4423 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4424 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_2 = ['||l_temp_reserved_bool||']');
4425 END IF;
4426 if dmpOraLink.reserved_bool_3 is null then
4427 l_temp_reserved_bool := '';
4428 elsif dmpOraLink.reserved_bool_3 then
4429 l_temp_reserved_bool := 'TRUE';
4430 else
4431 l_temp_reserved_bool := 'FALSE';
4432 end if;
4433 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4434 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BOOL_3 = ['||l_temp_reserved_bool||']');
4435 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_1 = ['||dmpOraLink.reserved_char_1||']');
4436 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_2 = ['||dmpOraLink.reserved_char_2||']');
4437 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_CHAR_3 = ['||dmpOraLink.reserved_char_3||']');
4438 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_NUM_1 = ['||to_char(dmpOraLink.reserved_num_1)||']');
4439 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_NUM_2 = ['||to_char(dmpOraLink.reserved_num_2)||']');
4440 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_BIGNUM_1 = ['||to_char(dmpOraLink.reserved_bignum_1)||']');
4441 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Reserved_DATE_1 = ['||to_char(dmpOraLink.reserved_date_1,'DD-MON-RR')||']');
4442 END IF;
4443
4444 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4445 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4446 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- TaxLink Output Parameters ----');
4447 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4448 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.GenCmplCd = ['||dmpTaxLink.GenCmplCd||']');
4449 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaCmplCd = ['||dmpTaxLink.StaCmplCd||']');
4450 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnCmplCd = ['||dmpTaxLink.CnCmplCd||']');
4451 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoCmplCd = ['||dmpTaxLink.LoCmplCd||']');
4452 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CreditInd = ['||
4453 arp_trx_util.boolean_to_varchar2(dmpTaxLink.CreditInd)||']');
4454 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScCnCmplCd = ['||dmpTaxLink.ScCnCmplCd||']');
4455 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScLoCmplCd = ['||dmpTaxLink.ScLoCmplCd||']');
4456 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.DistCmplCd = ['||dmpTaxLink.DistCmplCd||']');
4457 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.GrossAmt = ['||to_char(dmpTaxLink.GrossAmt)||']');
4458 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.TaxAmt = ['||to_char(dmpTaxLink.TaxAmt)||']');
4459
4460 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaTxRate = ['||
4461 to_char(dmpTaxLink.StaTxRate*100)||']');
4462 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnTxRate = ['||
4463 to_char(dmpTaxLink.CnTxRate*100)||']');
4464 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoTxRate = ['||
4465 to_char(dmpTaxLink.LoTxRate*100)||']');
4466 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScCnTxRate = ['||
4467 to_char(dmpTaxLink.ScCnTxRate*100)||']');
4468 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScLoTxRate = ['||
4469 to_char(dmpTaxLink.ScLoTxRate*100)||']');
4470 END IF;
4471 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4472 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaTxAmt = ['||to_char(dmpTaxLink.StaTxAmt)||']');
4473 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnTxAmt = ['||to_char(dmpTaxLink.CnTxAmt)||']');
4474 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoTxAmt = ['||to_char(dmpTaxLink.LoTxAmt)||']');
4475 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScCnTxAmt = ['||to_char(dmpTaxLink.ScCnTxAmt)||']');
4476 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScLoTxAmt = ['||to_char(dmpTaxLink.ScLoTxAmt)||']');
4477 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.FedBasisAmt = ['||to_char(dmpTaxLink.FedBasisAmt)||']');
4478 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StBasisAmt = ['||to_char(dmpTaxLink.StBasisAmt)||']');
4479 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CntyBasisAmt = ['||to_char(dmpTaxLink.CntyBasisAmt)||']');
4480 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CityBasisAmt = ['||to_char(dmpTaxLink.CityBasisAmt)||']');
4481 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScStBasisAmt = ['||to_char(dmpTaxLink.ScStBasisAmt)||']');
4482 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScCntyBasisAmt = ['||to_char(dmpTaxLink.ScCntyBasisAmt)||']');
4483 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.ScCityBasisAmt = ['||to_char(dmpTaxLink.ScCityBasisAmt)||']');
4484 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.DistBasisAmt = ['||to_char(dmpTaxLink.DistBasisAmt)||']');
4485 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'');
4486 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- STEP/NEXPRO Output Parameters -----');
4487 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'');
4488 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StaStatus = ['||dmpTaxLink.StaStatus||']');
4489 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnStatus = ['||dmpTaxLink.CnStatus||']');
4490 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoStatus = ['||dmpTaxLink.LoStatus||']');
4491 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StComment = ['||dmpTaxLink.StComment||']');
4492 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnComment = ['||dmpTaxLink.CnComment||']');
4493 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoComment = ['||dmpTaxLink.LoComment||']');
4494 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StExemptAmt = ['||to_char(dmpTaxLink.StExemptAmt)||']');
4495 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CntyExemptAmt = ['||to_char(dmpTaxLink.CntyExemptAmt)||']');
4496 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CityExemptAmt = ['||to_char(dmpTaxLink.CityExemptAmt)||']');
4497 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecCnExemptAmt = ['||to_char(dmpTaxLink.SecCnExemptAmt)||']');
4498 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.SecLoExemptAmt = ['||to_char(dmpTaxLink.SecLoExemptAmt)||']');
4499 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StReasonCode = ['||dmpTaxLink.StReasonCode||']');
4500 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CntyReasonCode = ['||dmpTaxLink.CntyReasonCode||']');
4501 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CityReasonCode = ['||dmpTaxLink.CityReasonCode||']');
4502 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.StTaxCertNo = ['||dmpTaxLink.StTaxCertNo||']');
4503 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.CnTaxCertNo = ['||dmpTaxLink.CnTaxCertNo||']');
4504 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TaxLink.LoTaxCertNo = ['||dmpTaxLink.LoTaxCertNo||']');
4505 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4506 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'----- JurLink Output Parameters ----');
4507 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'====================================');
4508 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ReturnCode = ['||dmpJurLink.ReturnCode||']');
4509 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POOJurRC = ['||dmpJurLink.POOJurRC||']');
4510 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.POAJurRC = ['||dmpJurLink.POAJurRC||']');
4511 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShpToJurRC = ['||dmpJurLink.ShpToJurRC||']');
4512 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.ShpFrJurRC = ['||dmpJurLink.ShpFrJurRC||']');
4513 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.JurLocType = ['||dmpJurLink.JurLocType||']');
4514 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.JurState = ['||dmpJurLink.JurState||']');
4515 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.JurCity = ['||dmpJurLink.JurCity||']');
4516 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.JurZip = ['||dmpJurLink.JurZip||']');
4517 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.JurGeo = ['||dmpJurLink.JurGeo||']');
4518 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypState = ['||dmpJurLink.TypState||']');
4519 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypCnty = ['||dmpJurLink.TypCnty||']');
4520 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypCity = ['||dmpJurLink.TypCity||']');
4521 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypSecState = ['||dmpJurLink.TypSecState||']');
4522 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypSecCnty = ['||dmpJurLink.TypSecCnty||']');
4523 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'JurLink.TypSecCity = ['||dmpJurLink.TypSecCity||']');
4524 /*Bug 3257088
4525 arp_tax.tax_info_rec.global_attribute16 := dmpJurLink.JurLocType ;*/
4526 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'3257078:JurLink.JurLocType = ['||dmpJurLink.JurLocType||']');
4527 END IF;
4528 END IF; -- input_param_flag?
4529
4530 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4531 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()-');
4532 END IF;
4533
4534 END dump_vendor_rec;
4535
4536 Begin /*Constructor*/
4537 initialize;
4538 END ZX_TAXWARE_TAX_SERVICE_PKG;