[Home] [Help]
PACKAGE BODY: APPS.ZX_VERTEX_TAX_SERVICE_PKG
Source
1 PACKAGE BODY ZX_VERTEX_TAX_SERVICE_PKG as
2 /*$Header: zxvtxsrvcpkgb.pls 120.49.12010000.6 2008/12/19 08:09:30 ssanka ship $*/
3
4 /* ======================================================================*
5 | FND Logging infrastructure |
6 * ======================================================================*/
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ZX_VERTEX_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_VERTEX_TAX_SERVICE_PKG.';
16
17 /* ======================================================================*
18 | Global Structure Data Types |
19 * ======================================================================*/
20
21 TYPE NUMBER_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
22 TYPE VARCHAR2_1_tbl_type IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
23 TYPE VARCHAR2_2_tbl_type IS TABLE OF VARCHAR2(2) INDEX BY BINARY_INTEGER;
24 TYPE VARCHAR2_15_tbl_type IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
25 TYPE VARCHAR2_30_tbl_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
26 TYPE VARCHAR2_80_tbl_type IS TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
27 TYPE VARCHAR2_50_tbl_type IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
28 TYPE VARCHAR2_240_tbl_type IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
29 TYPE DATE_tbl_type IS TABLE OF DATE INDEX BY BINARY_INTEGER;
30
31 TYPE SYNC_TAX_LINES_TBL IS RECORD(
32 document_type_id NUMBER_tbl_type,
33 transaction_id NUMBER_tbl_type,
34 transaction_line_id NUMBER_tbl_type,
35 trx_level_type VARCHAR2_30_tbl_type,
36 country_code VARCHAR2_30_tbl_type,
37 tax VARCHAR2_30_tbl_type,
38 situs VARCHAR2_30_tbl_type,
39 tax_jurisdiction VARCHAR2_30_tbl_type,
40 tax_currency_code VARCHAR2_15_tbl_type,
41 tax_curr_tax_amount NUMBER_tbl_type,
42 tax_amount NUMBER_tbl_type,
43 tax_rate_percentage NUMBER_tbl_type,
44 taxable_amount NUMBER_tbl_type,
45 exempt_rate_modifier NUMBER_tbl_type,
46 exempt_reason VARCHAR2_240_tbl_type,
47 tax_only_line_flag VARCHAR2_1_tbl_type,
48 inclusive_tax_line_flag VARCHAR2_1_tbl_type,
49 use_tax_flag VARCHAR2_1_tbl_type,
50 ebiz_override_flag VARCHAR2_1_tbl_type,
51 user_override_flag VARCHAR2_1_tbl_type,
52 last_manual_entry VARCHAR2_30_tbl_type,
53 manually_entered_flag VARCHAR2_1_tbl_type,
54 cancel_flag VARCHAR2_1_tbl_type,
55 delete_flag VARCHAR2_1_tbl_type
56 );
57
58
59 /*------------------------------------------------
60 | Global Variables |
61 ------------------------------------------------*/
62 C_LINES_PER_COMMIT CONSTANT NUMBER := 1000;
63 I Number;
64 l_line_level_action varchar2(20);
65 l_document_type zx_lines_det_factors.event_class_code%type;
66 l_trx_line_context_changed BOOLEAN;
67 l_state_tax_cnt NUMBER;
68 l_county_tax_cnt NUMBER;
69 l_city_tax_cnt NUMBER;
70 -- PG_DEBUG varchar2(1);
71 -- x_return_status varchar2(2);
72 g_StTaxAmt number;
73 g_CoTaxAmt number;
74 g_CiTaxAmt number;
75 g_TotalTaxAmt number;
76 cache_index number :=0;
77 g_string VARCHAR2(200);
78
79 g_docment_type_id number;
80 g_trasaction_id number;
81 g_tax_regime_code varchar2(80);
82 g_transaction_line_id number;
83 g_trx_level_type varchar2(20);
84
85 Type cache_record_type is record(
86 internal_organization_id number,
87 document_type_id number,
88 transaction_id number,
89 transaction_line_id number
90 );
91
92 type cache_tab is table of cache_record_type index by binary_integer;
93 cache_table cache_tab;
94
95 /**** Type used in GET_GEOCODE ***/
96 TYPE tab_var_type IS TABLE OF VARCHAR2(60) INDEX BY BINARY_INTEGER;
97 pg_state tab_var_type; -- Ship-To State Name(Abbriv)
98 pg_county tab_var_type; -- Ship-To County Name
99 pg_city tab_var_type; -- Ship-To City Name
100 pg_postal_code tab_var_type; -- Ship-To Postal_code
101 pg_geocode tab_var_type; -- Jurisdiction code(GeoCode)
102 pg_max_index BINARY_INTEGER := 0; -- Pointer to the no. of jurisdiction
103 -- combination in the table
104 /*-----------------------------------------------
105 | Records for Tax Calculation Package |
106 -----------------------------------------------*/
107 version_rec ZX_TAX_VERTEX_QSU.tQSUVersionRecord;
108 context_rec ZX_TAX_VERTEX_QSU.tQSUContextRecord;
109 inv_in_rec ZX_TAX_VERTEX_QSU.tQSUInvoiceRecord;
110 line_in_tab ZX_TAX_VERTEX_QSU.tQSULineItemTable;
111 inv_out_rec ZX_TAX_VERTEX_QSU.tQSUInvoiceRecord;
112 line_out_tab ZX_TAX_VERTEX_QSU.tQSULineItemTable;
113
114 /* ======================================================================*
115 | Data Type Definitions |
116 * ======================================================================*/
117
118 type char_tab is table of char index by binary_integer;
119 type num_tab is table of number(15) index by binary_integer;
120 type num1_tab is table of number index by binary_integer;
121 type date_tab is table of date index by binary_integer;
122 type var1_tab is table of varchar2(1) index by binary_integer;
123 type var2_tab is table of varchar2(80) index by binary_integer;
124 type var3_tab is table of varchar2(2000) index by binary_integer;
125 type var4_tab is table of varchar2(150) index by binary_integer;
126 type var5_tab is table of varchar2(240) index by binary_integer;
127
128
129 /*-----------------------------------------------
130 | Records for GeoCode Retrieval Package |
131 -----------------------------------------------*/
132 search_rec ZX_TAX_VERTEX_GEO.tGeoSearchRecord;
133 result_rec ZX_TAX_VERTEX_GEO.tGeoResultsRecord;
134
135 TYPE location_info_rec_type IS RECORD
136 (
137 state varchar2(2),
138 county VARCHAR2(30),
139 city VARCHAR2(30),
140 postal_code Varchar2(30)
141 );
142
143 /*Private Procedures*/
144 PROCEDURE PERFORM_VALIDATE(x_return_status OUT NOCOPY VARCHAR2) ;
145
146 PROCEDURE PERFORM_LINE_CREATION(p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
147 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
148 x_return_status OUT NOCOPY VARCHAR2);
149
150 PROCEDURE PERFORM_LINE_DELETION(x_return_status OUT NOCOPY VARCHAR2);
151
152 PROCEDURE PERFORM_UPDATE (p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
153 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
154 x_return_status OUT NOCOPY VARCHAR2);
155
156 PROCEDURE SET_PARAMETERS (x_return_status OUT NOCOPY VARCHAR2);
157
158 PROCEDURE SET_DOCUMENT_TYPE( P_DOCUMENT_TYPE IN OUT NOCOPY VARCHAR2,
159 P_ADJ_DOC_TRX_ID IN NUMBER,
160 P_LINE_AMOUNT IN NUMBER,
161 P_LINE_LEVEL_ACTION IN VARCHAR2,
162 X_RETURN_STATUS OUT NOCOPY VARCHAR2);
163 FUNCTION GET_GEOCODE(p_location_info_rec location_info_rec_type) return VARCHAR2;
164
165 PROCEDURE CALCULATE_TAX(x_return_status OUT NOCOPY VARCHAR2);
166
167 PROCEDURE WRITE_TO_VERTEX_REPOSITORY(x_return_status OUT NOCOPY VARCHAR2);
168
169 PROCEDURE TAX_RESULTS_PROCESSING(p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
170 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
171 x_return_status OUT NOCOPY VARCHAR2);
172
173 PROCEDURE RESET_PARAMETERS(x_return_status OUT NOCOPY VARCHAR2);
174
175 PROCEDURE INITIALIZE;
176
177 PROCEDURE DISPLAY_OUTPUT(p_type IN VARCHAR2);
178
179 PROCEDURE ERROR_EXCEPTION_HANDLE(str varchar2);
180
181 /*Structure to hold the transaction information*/
182
183 pg_internal_org_id_tab num1_tab;
184 pg_doc_type_id_tab num1_tab;
185 pg_trx_id_tab num1_tab;
186 pg_appli_code_tab var2_tab;
187 pg_doc_level_action_tab var2_tab;
188 pg_trx_date_tab date_tab;
189 pg_trx_curr_code_tab var2_tab;
190 /* Bug 5090593:
191 pg_quote_flag_tab var1_tab;
192 */
193 pg_legal_entity_num_tab var2_tab;
194 pg_esta_name_tab var3_tab;
195 pg_Trx_number_tab var4_tab;
196 pg_Trx_desc_tab var3_tab;
197 pg_doc_sequence_value_tab var3_tab;
198 pg_Trx_due_date_tab date_tab;
199 /* Bug 5090593:
200 pg_Trx_Sol_Ori_tab var2_tab;
201 */
202 pg_Allow_Tax_Calc_tab var1_tab;
203 pg_trx_line_id_tab num1_tab;
204 pg_trx_level_type_tab var2_tab;
205 pg_line_level_action_tab var2_tab;
206 pg_line_class_tab var2_tab;
207 pg_trx_shipping_date_tab date_tab;
208 pg_trx_receipt_date_tab date_tab;
209 pg_trx_line_type_tab var2_tab;
210 pg_trx_line_date_tab date_tab;
211 pg_trx_business_cat_tab var3_tab;
212 pg_line_intended_use_tab var3_tab;
213 pg_line_amt_incl_tax_flag_tab var1_tab;
214 pg_line_amount_tab num1_tab;
215 pg_other_incl_tax_amt_tab num1_tab;
216 pg_trx_line_qty_tab num1_tab;
217 pg_unit_price_tab num1_tab;
218 pg_cash_discount_tab num1_tab;
219 pg_volume_discount_tab num1_tab;
220 pg_trading_discount_tab num1_tab;
221 pg_trans_charge_tab num1_tab;
222 pg_ins_charge_tab num1_tab;
223 pg_other_charge_tab num1_tab;
224 pg_prod_id_tab num1_tab;
225 pg_uom_code_tab var2_tab;
226 pg_prod_type_tab var3_tab;
227 pg_prod_code_tab var2_tab;
228 pg_fob_point_tab var2_tab;
229 pg_ship_to_pty_numr_tab var2_tab;
230 pg_ship_to_pty_name_tab var3_tab;
231 pg_ship_from_pty_num_tab var2_tab;
232 pg_ship_from_pty_name_tab var3_tab;
233 pg_ship_to_loc_id_tab num1_tab; -- Bug 5090593
234 pg_ship_to_grphy_type1_tab var5_tab;
235 pg_ship_to_grphy_value1_tab var5_tab;
236 pg_ship_to_grphy_type2_tab var5_tab;
237 pg_ship_to_grphy_value2_tab var5_tab;
238 pg_ship_to_grphy_type3_tab var5_tab;
239 pg_ship_to_grphy_value3_tab var5_tab;
240 pg_ship_to_grphy_type4_tab var5_tab;
241 pg_ship_to_grphy_value4_tab var5_tab;
242 pg_ship_to_grphy_type5_tab var5_tab;
243 pg_ship_to_grphy_value5_tab var5_tab;
244 pg_ship_to_grphy_type6_tab var5_tab;
245 pg_ship_to_grphy_value6_tab var5_tab;
246 pg_ship_to_grphy_type7_tab var5_tab;
247 pg_ship_to_grphy_value7_tab var5_tab;
248 pg_ship_to_grphy_type8_tab var5_tab;
249 pg_ship_to_grphy_value8_tab var5_tab;
250 pg_ship_to_grphy_type9_tab var5_tab;
251 pg_ship_to_grphy_value9_tab var5_tab;
252 pg_ship_to_grphy_type10_tab var5_tab;
253 pg_ship_to_grphy_value10_tab var5_tab;
254 pg_ship_fr_loc_id_tab num1_tab; -- Bug 5090593
255 pg_ship_fr_grphy_type1_tab var5_tab;
256 pg_ship_fr_grphy_value1_tab var5_tab;
257 pg_ship_fr_grphy_type2_tab var5_tab;
258 pg_ship_fr_grphy_value2_tab var5_tab;
259 pg_ship_fr_grphy_type3_tab var5_tab;
260 pg_ship_fr_grphy_value3_tab var5_tab;
261 pg_ship_fr_grphy_type4_tab var5_tab;
262 pg_ship_fr_grphy_value4_tab var5_tab;
263 pg_ship_fr_grphy_type5_tab var5_tab;
264 pg_ship_fr_grphy_value5_tab var5_tab;
265 pg_ship_fr_grphy_type6_tab var5_tab;
266 pg_ship_fr_grphy_value6_tab var5_tab;
267 pg_ship_fr_grphy_type7_tab var5_tab;
268 pg_ship_fr_grphy_value7_tab var5_tab;
269 pg_ship_fr_grphy_type8_tab var5_tab;
270 pg_ship_fr_grphy_value8_tab var5_tab;
271 pg_ship_fr_grphy_type9_tab var5_tab;
272 pg_ship_fr_grphy_value9_tab var5_tab;
273 pg_ship_fr_grphy_type10_tab var5_tab;
274 pg_ship_fr_grphy_value10_tab var5_tab;
275 pg_poa_loc_id_tab num1_tab; -- Bug 5090593
276 pg_poa_grphy_type1_tab var5_tab;
277 pg_poa_grphy_value1_tab var5_tab;
278 pg_poa_grphy_type2_tab var5_tab;
279 pg_poa_grphy_value2_tab var5_tab;
280 pg_poa_grphy_type3_tab var5_tab;
281 pg_poa_grphy_value3_tab var5_tab;
282 pg_poa_grphy_type4_tab var5_tab;
283 pg_poa_grphy_value4_tab var5_tab;
284 pg_poa_grphy_type5_tab var5_tab;
285 pg_poa_grphy_value5_tab var5_tab;
286 pg_poa_grphy_type6_tab var5_tab;
287 pg_poa_grphy_value6_tab var5_tab;
288 pg_poa_grphy_type7_tab var5_tab;
289 pg_poa_grphy_value7_tab var5_tab;
290 pg_poa_grphy_type8_tab var5_tab;
291 pg_poa_grphy_value8_tab var5_tab;
292 pg_poa_grphy_type9_tab var5_tab;
293 pg_poa_grphy_value9_tab var5_tab;
294 pg_poa_grphy_type10_tab var5_tab;
295 pg_poa_grphy_value10_tab var5_tab;
296 pg_poo_loc_id_tab num1_tab; -- Bug 5090593
297 pg_poo_grphy_type1_tab var5_tab;
298 pg_poo_grphy_value1_tab var5_tab;
299 pg_poo_grphy_type2_tab var5_tab;
300 pg_poo_grphy_value2_tab var5_tab;
301 pg_poo_grphy_type3_tab var5_tab;
302 pg_poo_grphy_value3_tab var5_tab;
303 pg_poo_grphy_type4_tab var5_tab;
304 pg_poo_grphy_value4_tab var5_tab;
305 pg_poo_grphy_type5_tab var5_tab;
306 pg_poo_grphy_value5_tab var5_tab;
307 pg_poo_grphy_type6_tab var5_tab;
308 pg_poo_grphy_value6_tab var5_tab;
309 pg_poo_grphy_type7_tab var5_tab;
310 pg_poo_grphy_value7_tab var5_tab;
311 pg_poo_grphy_type8_tab var5_tab;
312 pg_poo_grphy_value8_tab var5_tab;
313 pg_poo_grphy_type9_tab var5_tab;
314 pg_poo_grphy_value9_tab var5_tab;
315 pg_poo_grphy_type10_tab var5_tab;
316 pg_poo_grphy_value10_tab var5_tab;
317 pg_bill_to_pty_num_tab var2_tab;
318 pg_bill_to_pty_name_tab var3_tab;
319 pg_bill_from_pty_num_tab var2_tab;
320 pg_bill_from_pty_name_tab var3_tab;
321 pg_bill_to_loc_id_tab num1_tab; -- Bug 5090593
322 pg_bill_to_grphy_type1_tab var5_tab;
323 pg_bill_to_grphy_value1_tab var5_tab;
324 pg_bill_to_grphy_type2_tab var5_tab;
325 pg_bill_to_grphy_value2_tab var5_tab;
326 pg_bill_to_grphy_type3_tab var5_tab;
327 pg_bill_to_grphy_value3_tab var5_tab;
328 pg_bill_to_grphy_type4_tab var5_tab;
329 pg_bill_to_grphy_value4_tab var5_tab;
330 pg_bill_to_grphy_type5_tab var5_tab;
331 pg_bill_to_grphy_value5_tab var5_tab;
332 pg_bill_to_grphy_type6_tab var5_tab;
333 pg_bill_to_grphy_value6_tab var5_tab;
334 pg_bill_to_grphy_type7_tab var5_tab;
335 pg_bill_to_grphy_value7_tab var5_tab;
336 pg_bill_to_grphy_type8_tab var5_tab;
337 pg_bill_to_grphy_value8_tab var5_tab;
338 pg_bill_to_grphy_type9_tab var5_tab;
339 pg_bill_to_grphy_value9_tab var5_tab;
340 pg_bill_to_grphy_type10_tab var5_tab;
341 pg_bill_to_grphy_value10_tab var5_tab;
342 pg_bill_fr_loc_id_tab num1_tab; -- Bug 5090593
343 pg_bill_fr_grphy_type1_tab var5_tab;
344 pg_bill_fr_grphy_value1_tab var5_tab;
345 pg_bill_fr_grphy_type2_tab var5_tab;
346 pg_bill_fr_grphy_value2_tab var5_tab;
347 pg_bill_fr_grphy_type3_tab var5_tab;
348 pg_bill_fr_grphy_value3_tab var5_tab;
349 pg_bill_fr_grphy_type4_tab var5_tab;
350 pg_bill_fr_grphy_value4_tab var5_tab;
351 pg_bill_fr_grphy_type5_tab var5_tab;
352 pg_bill_fr_grphy_value5_tab var5_tab;
353 pg_bill_fr_grphy_type6_tab var5_tab;
354 pg_bill_fr_grphy_value6_tab var5_tab;
355 pg_bill_fr_grphy_type7_tab var5_tab;
356 pg_bill_fr_grphy_value7_tab var5_tab;
357 pg_bill_fr_grphy_type8_tab var5_tab;
358 pg_bill_fr_grphy_value8_tab var5_tab;
359 pg_bill_fr_grphy_type9_tab var5_tab;
360 pg_bill_fr_grphy_value9_tab var5_tab;
361 pg_bill_fr_grphy_type10_tab var5_tab;
362 pg_bill_fr_grphy_value10_tab var5_tab;
363 pg_account_ccid_tab num1_tab;
364 pg_appl_fr_doc_type_id_tab num1_tab;
365 pg_appl_from_trx_id_tab num1_tab;
366 pg_appl_from_line_id_tab num1_tab;
367 pg_appl_fr_trx_lev_type_tab var2_tab;
368 pg_appl_from_doc_num_tab var2_tab;
369 pg_adj_doc_doc_type_id_tab num1_tab;
370 pg_adj_doc_trx_id_tab num1_tab;
371 pg_adj_doc_line_id_tab num1_tab;
372 pg_adj_doc_number_tab var2_tab;
373 pg_ADJ_doc_trx_lev_type_tab var2_tab;
374 pg_adj_doc_date_tab date_tab;
375 pg_assess_value_tab num1_tab;
376 pg_trx_line_number_tab num1_tab;
377 pg_trx_line_desc_tab var3_tab;
378 pg_prod_desc_tab var3_tab;
379 pg_header_char1_tab var4_tab;
380 pg_header_char2_tab var4_tab;
381 pg_header_char3_tab var4_tab;
382 pg_header_char4_tab var4_tab;
383 pg_header_char5_tab var4_tab;
384 pg_header_char6_tab var4_tab;
385 pg_header_char7_tab var4_tab;
386 pg_header_char8_tab var4_tab;
387 pg_header_char9_tab var4_tab;
388 pg_header_char10_tab var4_tab;
389 pg_header_char11_tab var4_tab;
390 pg_header_char12_tab var4_tab;
391 pg_header_char13_tab var4_tab;
392 pg_header_char14_tab var4_tab;
393 pg_header_char15_tab var4_tab;
394 pg_header_numeric1_tab num1_tab;
395 pg_header_numeric2_tab num1_tab;
396 pg_header_numeric3_tab num1_tab;
397 pg_header_numeric4_tab num1_tab;
398 pg_header_numeric5_tab num1_tab;
399 pg_header_numeric6_tab num1_tab;
400 pg_header_numeric7_tab num1_tab;
401 pg_header_numeric8_tab num1_tab;
402 pg_header_numeric9_tab num1_tab;
403 pg_header_numeric10_tab num1_tab;
404 pg_header_date1_tab date_tab;
405 pg_header_date2_tab date_tab;
406 pg_header_date3_tab date_tab;
407 pg_header_date4_tab date_tab;
408 pg_header_date5_tab date_tab;
409 pg_line_char1_tab var4_tab;
410 pg_line_char2_tab var4_tab;
411 pg_line_char3_tab var4_tab;
412 pg_line_char4_tab var4_tab;
413 pg_line_char5_tab var4_tab;
414 pg_line_char6_tab var4_tab;
415 pg_line_char7_tab var4_tab;
416 pg_line_char8_tab var4_tab;
417 pg_line_char9_tab var4_tab;
418 pg_line_char10_tab var4_tab;
419 pg_line_char11_tab var4_tab;
420 pg_line_char12_tab var4_tab;
421 pg_line_char13_tab var4_tab;
422 pg_line_char14_tab var4_tab;
423 pg_line_char15_tab var4_tab;
424 pg_line_numeric1_tab num1_tab;
425 pg_line_numeric2_tab num1_tab;
426 pg_line_numeric3_tab num1_tab;
427 pg_line_numeric4_tab num1_tab;
428 pg_line_numeric5_tab num1_tab;
429 pg_line_numeric6_tab num1_tab;
430 pg_line_numeric7_tab num1_tab;
431 pg_line_numeric8_tab num1_tab;
432 pg_line_numeric9_tab num1_tab;
433 pg_line_numeric10_tab num1_tab;
434 pg_line_date1_tab date_tab;
435 pg_line_date2_tab date_tab;
436 pg_line_date3_tab date_tab;
437 pg_line_date4_tab date_tab;
438 pg_line_date5_tab date_tab;
439 pg_exempt_certi_numb_tab var2_tab;
440 pg_exempt_reason_tab var3_tab;
441 pg_exempt_cont_flag_tab var2_tab;
442
443 pg_ugraded_inv_flag_tab var1_tab;
444
445 PROCEDURE CALCULATE_TAX_API
446 (p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
447 x_tax_lines_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
448 x_error_status OUT NOCOPY VARCHAR2,
449 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type)is
450
451 Cursor item_lines_to_be_processed is
452 SELECT
453 internal_organization_id ,
454 document_type_id ,
455 transaction_id ,
456 application_code ,
457 document_level_action ,
458 trx_date ,
459 trx_currency_code ,
460 /* Bug 5090593:
461 quote_flag ,
462 */
463 legal_entity_number ,
464 establishment_number ,
465 transaction_number ,
466 transaction_description ,
467 document_sequence_value ,
468 transaction_due_date ,
469 /* Bug 5090593:
470 transaction_solution_origin ,
471 */
472 allow_tax_calculation ,
473 transaction_line_id ,
474 trx_level_type ,
475 line_level_action ,
476 line_class ,
477 transaction_shipping_date ,
478 transaction_receipt_date ,
479 transaction_line_type ,
480 transaction_line_date ,
481 trx_business_category ,
482 line_intended_use ,
483 line_amt_includes_tax_flag ,
484 line_amount ,
485 other_inclusive_tax_amount ,
486 transaction_line_quantity ,
487 unit_price ,
488 cash_discount ,
489 volume_discount ,
490 trading_discount ,
491 transportation_charge ,
492 insurance_charge ,
493 other_charge ,
494 product_id ,
495 uom_code ,
496 product_type ,
497 product_code ,
498 fob_point ,
499 ship_to_party_number ,
500 ship_to_party_name ,
501 ship_from_party_number ,
502 ship_from_party_name ,
503 ship_to_loc_id , -- Bug 5090593
504 ship_to_geography_type1 ,
505 ship_to_geography_value1 ,
506 ship_to_geography_type2 ,
507 ship_to_geography_value2 ,
508 ship_to_geography_type3 ,
509 ship_to_geography_value3 ,
510 ship_to_geography_type4 ,
511 ship_to_geography_value4 ,
512 ship_to_geography_type5 ,
513 ship_to_geography_value5 ,
514 ship_to_geography_type6 ,
515 ship_to_geography_value6 ,
516 ship_to_geography_type7 ,
517 ship_to_geography_value7 ,
518 ship_to_geography_type8 ,
519 ship_to_geography_value8 ,
520 ship_to_geography_type9 ,
521 ship_to_geography_value9 ,
522 ship_to_geography_type10 ,
523 ship_to_geography_value10 ,
524 ship_from_loc_id , -- Bug 5090593
525 ship_from_geography_type1 ,
526 ship_from_geography_value1 ,
527 ship_from_geography_type2 ,
528 ship_from_geography_value2 ,
529 ship_from_geography_type3 ,
530 ship_from_geography_value3 ,
531 ship_from_geography_type4 ,
532 ship_from_geography_value4 ,
533 ship_from_geography_type5 ,
534 ship_from_geography_value5 ,
535 ship_from_geography_type6 ,
536 ship_from_geography_value6 ,
537 ship_from_geography_type7 ,
538 ship_from_geography_value7 ,
539 ship_from_geography_type8 ,
540 ship_from_geography_value8 ,
541 ship_from_geography_type9 ,
542 ship_from_geography_value9 ,
543 ship_from_geography_type10 ,
544 ship_from_geography_value10 ,
545 poa_loc_id , -- Bug 5090593
546 poa_geography_type1 ,
547 poa_geography_value1 ,
548 poa_geography_type2 ,
549 poa_geography_value2 ,
550 poa_geography_type3 ,
551 poa_geography_value3 ,
552 poa_geography_type4 ,
553 poa_geography_value4 ,
554 poa_geography_type5 ,
555 poa_geography_value5 ,
556 poa_geography_type6 ,
557 poa_geography_value6 ,
558 poa_geography_type7 ,
559 poa_geography_value7 ,
560 poa_geography_type8 ,
561 poa_geography_value8 ,
562 poa_geography_type9 ,
563 poa_geography_value9 ,
564 poa_geography_type10 ,
565 poa_geography_value10 ,
566 poo_loc_id , -- Bug 5090593
567 poo_geography_type1 ,
568 poo_geography_value1 ,
569 poo_geography_type2 ,
570 poo_geography_value2 ,
571 poo_geography_type3 ,
572 poo_geography_value3 ,
573 poo_geography_type4 ,
574 poo_geography_value4 ,
575 poo_geography_type5 ,
576 poo_geography_value5 ,
577 poo_geography_type6 ,
578 poo_geography_value6 ,
579 poo_geography_type7 ,
580 poo_geography_value7 ,
581 poo_geography_type8 ,
582 poo_geography_value8 ,
583 poo_geography_type9 ,
584 poo_geography_value9 ,
585 poo_geography_type10 ,
586 poo_geography_value10 ,
587 bill_to_party_number ,
588 bill_to_party_name ,
589 bill_from_party_number ,
590 bill_from_party_name ,
591 bill_to_loc_id , -- Bug 5090593
592 bill_to_geography_type1 ,
593 bill_to_geography_value1 ,
594 bill_to_geography_type2 ,
595 bill_to_geography_value2 ,
596 bill_to_geography_type3 ,
597 bill_to_geography_value3 ,
598 bill_to_geography_type4 ,
599 bill_to_geography_value4 ,
600 bill_to_geography_type5 ,
601 bill_to_geography_value5 ,
602 bill_to_geography_type6 ,
603 bill_to_geography_value6 ,
604 bill_to_geography_type7 ,
605 bill_to_geography_value7 ,
606 bill_to_geography_type8 ,
607 bill_to_geography_value8 ,
608 bill_to_geography_type9 ,
609 bill_to_geography_value9 ,
610 bill_to_geography_type10 ,
611 bill_to_geography_value10 ,
612 bill_from_loc_id , -- Bug 5090593
613 bill_from_geography_type1 ,
614 bill_from_geography_value1 ,
615 bill_from_geography_type2 ,
616 bill_from_geography_value2 ,
617 bill_from_geography_type3 ,
618 bill_from_geography_value3 ,
619 bill_from_geography_type4 ,
620 bill_from_geography_value4 ,
621 bill_from_geography_type5 ,
622 bill_from_geography_value5 ,
623 bill_from_geography_type6 ,
624 bill_from_geography_value6 ,
625 bill_from_geography_type7 ,
626 bill_from_geography_value7 ,
627 bill_from_geography_type8 ,
628 bill_from_geography_value8 ,
629 bill_from_geography_type9 ,
630 bill_from_geography_value9 ,
631 bill_from_geography_type10 ,
632 bill_from_geography_value10 ,
633 account_ccid ,
634 --applied_from_document_type_id ,
635 applied_from_transaction_id ,
636 applied_from_line_id ,
637 applied_from_trx_level_type,
638 applied_from_doc_number ,
639 adjusted_doc_document_type_id ,
640 adjusted_doc_transaction_id ,
641 adjusted_doc_line_id ,
642 adjusted_doc_number ,
643 adjusted_doc_trx_level_type,
644 adjusted_doc_date ,
645 assessable_value ,
646 trx_line_number ,
647 trx_line_description ,
648 product_description ,
649 header_char1 ,
650 header_char2 ,
651 header_char3 ,
652 header_char4 ,
653 header_char5 ,
654 header_char6 ,
655 header_char7 ,
656 header_char8 ,
657 header_char9 ,
658 header_char10 ,
659 header_char11 ,
660 header_char12 ,
661 header_char13 ,
662 header_char14 ,
663 header_char15 ,
664 header_numeric1 ,
665 header_numeric2 ,
666 header_numeric3 ,
667 header_numeric4 ,
668 header_numeric5 ,
669 header_numeric6 ,
670 header_numeric7 ,
671 header_numeric8 ,
672 header_numeric9 ,
673 header_numeric10 ,
674 header_date1 ,
675 header_date2 ,
676 header_date3 ,
677 header_date4 ,
678 header_date5 ,
679 line_char1 ,
680 line_char2 ,
681 line_char3 ,
682 line_char4 ,
683 line_char5 ,
684 line_char6 ,
685 line_char7 ,
686 line_char8 ,
687 line_char9 ,
688 line_char10 ,
689 line_char11 ,
690 line_char12 ,
691 line_char13 ,
692 line_char14 ,
693 line_char15 ,
694 line_numeric1 ,
695 line_numeric2 ,
696 line_numeric3 ,
697 line_numeric4 ,
698 line_numeric5 ,
699 line_numeric6 ,
700 line_numeric7 ,
701 line_numeric8 ,
702 line_numeric9 ,
703 line_numeric10 ,
704 line_date1 ,
705 line_date2 ,
706 line_date3 ,
707 line_date4 ,
708 line_date5 ,
709 exempt_certificate_number ,
710 exempt_reason ,
711 exemption_control_flag
712 From ZX_O2C_CALC_TXN_INPUT_V;
713 -- WHERE transaction_id = p_trx_id;
714
715 l_api_name CONSTANT VARCHAR2(30) := 'CALCULATE_TAX_API';
716 l_return_status VARCHAR2(30);
717 ptr NUMBER;
718 l_cnt_of_options_gt NUMBER;
719 l_cnt_of_hdr_extns_gt NUMBER;
720 l_cnt_of_line_extns_gt NUMBER;
721 l_cnt_of_loc_info_gt NUMBER;
722 l_cnt_of_ptnr_neg_line_gt NUMBER;
723 l_partner_processing_flag varchar2(80);
724 l_record_for_partners_flag varchar2(80);
725 l_line_level_action varchar2(80);
726 l_inclusive_tax_override_flag varchar2(80);
727 l_application_id NUMBER;
728 l_entity_code VARCHAR2(80);
729 l_event_class_code VARCHAR2(100);
730 l_trx_level_type VARCHAR2(100);
731 l_trx_id NUMBER;
732 l_org_id NUMBER;
733 l_trx_type_id NUMBER;
734 l_trx_line_id NUMBER;
735 l_tax_code VARCHAR2(100);
736 l_tax_type VARCHAR2(100);
737 l_tax_flag VARCHAR2(10);
738 l_ship_to_location_id NUMBER;
739 l_bill_to_location_id NUMBER;
740 l_doc_amount NUMBER;
741 l_doc_trx_id NUMBER;
742
743 BEGIN
744 x_error_status := FND_API.G_RET_STS_SUCCESS;
745 err_count := 0;
746 l_doc_trx_id := NULL;
747
748 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
749 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
750 END IF;
751
752 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
753 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
754 ' zx_tax_partner_pkg.G_BUSINESS_FLOW = ' || zx_tax_partner_pkg.G_BUSINESS_FLOW);
755 END IF;
756
757 IF zx_tax_partner_pkg.G_BUSINESS_FLOW = 'O2C' THEN
758 -- Verify the integration with the version of Vertex Q Series product is certified.
759 BEGIN
760 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
761 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
762 'Calling ZX_TAX_VERTEX_REV.GET_RELEASE Verify the integration
763 with the version of Vertex Q Series product is certified' );
764 END IF;
765 ZX_TAX_VERTEX_REV.GET_RELEASE(context_rec,version_rec,l_return_status);
766
767 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
768 IF (g_level_exception >= g_current_runtime_level ) THEN
769 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
770 END IF;
771 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
772 g_string :='Not compaitable to VERTEX Release';
773 error_exception_handle(g_string);
774 x_messages_tbl:=g_messages_tbl;
775 return;
776 END IF;
777
778 EXCEPTION
779 WHEN OTHERS THEN
780 IF (g_level_exception >= g_current_runtime_level ) THEN
781 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
782 END IF;
783 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
784 g_string :='Not compaitable to VERTEX Release failed with exception';
785 error_exception_handle(g_string);
786 x_messages_tbl:=g_messages_tbl;
787 return;
788
789 END;
790
791 ELSE
792 --Release 12 Old tax partner integration does not support P2P products;
793 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
794 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
795 'Release 12 Old tax partner integration does not support P2P products' );
796 END IF;
797 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
798 g_string :='Release 12 Old tax partner integration does not support P2P products';
799 error_exception_handle(g_string);
800 x_messages_tbl:=g_messages_tbl;
801 return;
802 END IF;
803
804 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
805
806 BEGIN
807 SELECT count(*)
808 INTO l_cnt_of_options_gt
809 FROM ZX_TRX_PRE_PROC_OPTIONS_GT;
810 EXCEPTION WHEN OTHERS THEN
811 l_cnt_of_options_gt := 0;
812 END;
813 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
814 'l_cnt_of_options_gt = '||l_cnt_of_options_gt);
815 END IF;
816
817 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
818
819 BEGIN
820 SELECT count(*)
821 INTO l_cnt_of_options_gt
822 FROM ZX_TRX_PRE_PROC_OPTIONS_GT ztppo
823 , ZX_LINES_DET_FACTORS zldf
824 WHERE ztppo.application_id = zldf.application_id
825 AND ztppo.entity_code = zldf.entity_code
826 AND ztppo.event_class_code = zldf.event_class_code
827 AND ztppo.trx_id = zldf.trx_id;
828 EXCEPTION WHEN OTHERS THEN
829 l_cnt_of_options_gt := 0;
830 END;
831
832 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
833 'l_cnt_of_line_det_factors = '||l_cnt_of_options_gt);
834 END IF;
835
836 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
837 BEGIN
838 SELECT count(*)
839 INTO l_cnt_of_hdr_extns_gt
840 FROM ZX_PRVDR_HDR_EXTNS_GT;
841 EXCEPTION WHEN OTHERS THEN
842 l_cnt_of_hdr_extns_gt := 0;
843 END;
844 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
845 'l_cnt_of_hdr_extns_gt = '||l_cnt_of_hdr_extns_gt);
846
847 BEGIN
848 SELECT count(*)
849 INTO l_cnt_of_line_extns_gt
850 FROM ZX_PRVDR_LINE_EXTNS_GT;
851 EXCEPTION WHEN OTHERS THEN
852 l_cnt_of_line_extns_gt := 0;
853 END;
854 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
855 'l_cnt_of_line_extns_gt = '||l_cnt_of_line_extns_gt);
856
857 END IF;
858
859 BEGIN
860 SELECT
861 distinct application_id,entity_code,event_class_code,
862 trx_id,trx_level_type,trx_line_id
863 INTO l_application_id,l_entity_code,l_event_class_code,
864 l_trx_id,l_trx_level_type,l_trx_line_id
865 FROM ZX_PRVDR_LINE_EXTNS_GT where rownum = 1;
866
867 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
868 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'before tax code');
869 END IF;
870 -- bug 6755603
871
872 SELECT
873 output_tax_classification_code,receivables_trx_type_id,internal_organization_id, ship_to_location_id,
874 bill_to_location_id into
875 l_tax_code, l_trx_type_id, l_org_id, l_ship_to_location_id, l_bill_to_location_id
876 FROM zx_lines_det_factors where
877 application_id = l_application_id
878 and entity_code = l_entity_code
879 and event_class_code = l_event_class_code
880 and trx_id = l_trx_id
881 and trx_line_id = l_trx_line_id
882 and trx_level_type = l_trx_level_type;
883 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
884 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_ship_to_location_id '||l_ship_to_location_id);
885 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_bill_to_location_id '||l_bill_to_location_id);
886 END IF;
887
888
889 BEGIN
890 select tax_type_code INTO l_tax_type -- from zx_taxes_b zx, zx_rates_b zr
891 from zx_sco_taxes zx, -- Changed from clause to use sco views not base tables
892 zx_sco_rates zr
893 where zx.tax = zr.tax
894 AND zx.tax_regime_code = zr.tax_regime_code
895 AND zr.tax_rate_code = l_tax_code
896 AND zx.live_for_processing_flag = 'Y' --Bug 7594634
897 AND rownum = 1;
898
899 EXCEPTION
900 WHEN others THEN
901 l_tax_type := NULL;
902 END;
903
904
905 IF
906 zx_global_structures_pkg.tax_calc_flag_tbl.exists(to_char(l_trx_type_id)) THEN
907
908 l_tax_flag := zx_global_structures_pkg.tax_calc_flag_tbl(to_char(l_trx_type_id));
909
910 ELSE
911
912 SELECT tax_calculation_flag into l_tax_flag
913 FROM ra_cust_trx_types_all rtt
914 WHERE rtt.cust_trx_type_id = l_trx_type_id
915 AND org_id = l_org_id;
916
917 END IF;
918
919 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
920 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_tax_code'||l_tax_code);
921 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_tax_type_code'||l_tax_type);
922 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'Tax calculation flag '||l_tax_flag);
923 END IF;
924 IF l_tax_flag = 'N' AND l_tax_code is NULL THEN
925 RETURN;
926 ELSIF l_tax_type NOT IN ('SALES_TAX','LOCATION') THEN
927 RETURN;
928 ELSIF (l_tax_type = 'SALES_TAX' AND l_tax_code <> 'STATE' and l_tax_code <> 'COUNTY' and l_tax_code <> 'CITY' and l_tax_code not like '%_COUNTY'
929 and l_tax_code not like '%_CITY') THEN
930 RETURN;
931 END IF;
932
933
934 EXCEPTION WHEN OTHERS THEN
935 null;
936 END;
937
938 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
939 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_cnt_of_line_extns_gt = '||l_cnt_of_line_extns_gt);
940 END IF;
941
942 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
943 BEGIN
944 SELECT count(*)
945 INTO l_cnt_of_loc_info_gt
946 FROM ZX_PTNR_LOCATION_INFO_GT;
947 EXCEPTION WHEN OTHERS THEN
948 l_cnt_of_loc_info_gt := 0;
949 END;
950 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
951 'l_cnt_of_loc_info_gt = '||l_cnt_of_loc_info_gt);
952 END IF;
953
954 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
955 BEGIN
956 SELECT count(*)
957 INTO l_cnt_of_ptnr_neg_line_gt
958 FROM ZX_PTNR_NEG_LINE_GT;
959 EXCEPTION WHEN OTHERS THEN
960 l_cnt_of_ptnr_neg_line_gt := 0;
961 END;
962 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
963 'l_cnt_of_ptnr_neg_line_gt = '||l_cnt_of_ptnr_neg_line_gt);
964 END IF;
965
966 BEGIN
967 select record_for_partners_flag,partner_processing_flag
968 into l_record_for_partners_flag,l_partner_processing_flag
969 from ZX_TRX_PRE_PROC_OPTIONS_GT
970 where rownum=1;
971 EXCEPTION WHEN OTHERS THEN
972 l_record_for_partners_flag := 'N';
973 l_partner_processing_flag := 'N';
974 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
975 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
976 'Exp : l_record_for_partners_flag = '||l_record_for_partners_flag
977 ||'Exp : l_partner_processing_flag = '||l_partner_processing_flag);
978 END IF;
979 END;
980 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
981 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
982 'l_record_for_partners_flag = '||l_record_for_partners_flag
983 ||'l_partner_processing_flag = '||l_partner_processing_flag);
984 END IF;
985
986 BEGIN
987 select zldf.line_level_action,zldf.inclusive_tax_override_flag
988 into l_line_level_action, l_inclusive_tax_override_flag
989 FROM ZX_TRX_PRE_PROC_OPTIONS_GT ztppo
990 , ZX_LINES_DET_FACTORS zldf
991 WHERE ztppo.application_id = zldf.application_id
992 AND ztppo.entity_code = zldf.entity_code
993 AND ztppo.event_class_code = zldf.event_class_code
994 AND ztppo.trx_id = zldf.trx_id;
995 EXCEPTION WHEN OTHERS THEN
996 l_line_level_action := 'N';
997 l_inclusive_tax_override_flag := 'N';
998 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
999 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1000 'Exp : l_line_level_action =' ||l_line_level_action
1001 ||'Exp : l_inclusive_tax_override_flag '|| l_inclusive_tax_override_flag);
1002 END IF;
1003 END;
1004 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1005 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1006 ' l_line_level_action =' ||l_line_level_action
1007 ||' l_inclusive_tax_override_flag '|| l_inclusive_tax_override_flag);
1008 END IF;
1009 --END IF;
1010
1011 open item_lines_to_be_processed ;
1012 fetch item_lines_to_be_processed
1013 bulk collect into
1014 pg_internal_org_id_tab ,
1015 pg_doc_type_id_tab ,
1016 pg_trx_id_tab ,
1017 pg_appli_code_tab ,
1018 pg_doc_level_action_tab ,
1019 pg_trx_date_tab ,
1020 pg_trx_curr_code_tab ,
1021 /* Bug 5090593:
1022 pg_quote_flag_tab ,
1023 */
1024 pg_legal_entity_num_tab ,
1025 pg_esta_name_tab ,
1026 pg_trx_number_tab ,
1027 pg_trx_desc_tab ,
1028 pg_doc_sequence_value_tab ,
1029 pg_trx_due_date_tab ,
1030 /* Bug 5090593:
1031 pg_trx_sol_ori_tab ,
1032 */
1033 pg_allow_tax_calc_tab ,
1034 pg_trx_line_id_tab ,
1035 pg_trx_level_type_tab ,
1036 pg_line_level_action_tab ,
1037 pg_line_class_tab ,
1038 pg_trx_shipping_date_tab ,
1039 pg_trx_receipt_date_tab ,
1040 pg_trx_line_type_tab ,
1041 pg_trx_line_date_tab ,
1042 pg_trx_business_cat_tab ,
1043 pg_line_intended_use_tab ,
1044 pg_line_amt_incl_tax_flag_tab ,
1045 pg_line_amount_tab ,
1046 pg_other_incl_tax_amt_tab ,
1047 pg_trx_line_qty_tab ,
1048 pg_unit_price_tab ,
1049 pg_cash_discount_tab ,
1050 pg_volume_discount_tab ,
1051 pg_trading_discount_tab ,
1052 pg_trans_charge_tab ,
1053 pg_ins_charge_tab ,
1054 pg_other_charge_tab ,
1055 pg_prod_id_tab ,
1056 pg_uom_code_tab ,
1057 pg_prod_type_tab ,
1058 pg_prod_code_tab ,
1059 pg_fob_point_tab ,
1060 pg_ship_to_pty_numr_tab ,
1061 pg_ship_to_pty_name_tab ,
1062 pg_ship_from_pty_num_tab ,
1063 pg_ship_from_pty_name_tab ,
1064 pg_ship_to_loc_id_tab , -- Bug 5090593
1065 pg_ship_to_grphy_type1_tab ,
1066 pg_ship_to_grphy_value1_tab ,
1067 pg_ship_to_grphy_type2_tab ,
1068 pg_ship_to_grphy_value2_tab ,
1069 pg_ship_to_grphy_type3_tab ,
1070 pg_ship_to_grphy_value3_tab ,
1071 pg_ship_to_grphy_type4_tab ,
1072 pg_ship_to_grphy_value4_tab ,
1073 pg_ship_to_grphy_type5_tab ,
1074 pg_ship_to_grphy_value5_tab ,
1075 pg_ship_to_grphy_type6_tab ,
1076 pg_ship_to_grphy_value6_tab ,
1077 pg_ship_to_grphy_type7_tab ,
1078 pg_ship_to_grphy_value7_tab ,
1079 pg_ship_to_grphy_type8_tab ,
1080 pg_ship_to_grphy_value8_tab ,
1081 pg_ship_to_grphy_type9_tab ,
1082 pg_ship_to_grphy_value9_tab ,
1083 pg_ship_to_grphy_type10_tab ,
1084 pg_ship_to_grphy_value10_tab ,
1085 pg_ship_fr_loc_id_tab , -- Bug 5090593
1086 pg_ship_fr_grphy_type1_tab ,
1087 pg_ship_fr_grphy_value1_tab ,
1088 pg_ship_fr_grphy_type2_tab ,
1089 pg_ship_fr_grphy_value2_tab ,
1090 pg_ship_fr_grphy_type3_tab ,
1091 pg_ship_fr_grphy_value3_tab ,
1092 pg_ship_fr_grphy_type4_tab ,
1093 pg_ship_fr_grphy_value4_tab ,
1094 pg_ship_fr_grphy_type5_tab ,
1095 pg_ship_fr_grphy_value5_tab ,
1096 pg_ship_fr_grphy_type6_tab ,
1097 pg_ship_fr_grphy_value6_tab ,
1098 pg_ship_fr_grphy_type7_tab ,
1099 pg_ship_fr_grphy_value7_tab ,
1100 pg_ship_fr_grphy_type8_tab ,
1101 pg_ship_fr_grphy_value8_tab ,
1102 pg_ship_fr_grphy_type9_tab ,
1103 pg_ship_fr_grphy_value9_tab ,
1104 pg_ship_fr_grphy_type10_tab ,
1105 pg_ship_fr_grphy_value10_tab ,
1106 pg_poa_loc_id_tab , -- Bug 5090593
1107 pg_poa_grphy_type1_tab ,
1108 pg_poa_grphy_value1_tab ,
1109 pg_poa_grphy_type2_tab ,
1110 pg_poa_grphy_value2_tab ,
1111 pg_poa_grphy_type3_tab ,
1112 pg_poa_grphy_value3_tab ,
1113 pg_poa_grphy_type4_tab ,
1114 pg_poa_grphy_value4_tab ,
1115 pg_poa_grphy_type5_tab ,
1116 pg_poa_grphy_value5_tab ,
1117 pg_poa_grphy_type6_tab ,
1118 pg_poa_grphy_value6_tab ,
1119 pg_poa_grphy_type7_tab ,
1120 pg_poa_grphy_value7_tab ,
1121 pg_poa_grphy_type8_tab ,
1122 pg_poa_grphy_value8_tab ,
1123 pg_poa_grphy_type9_tab ,
1124 pg_poa_grphy_value9_tab ,
1125 pg_poa_grphy_type10_tab ,
1126 pg_poa_grphy_value10_tab ,
1127 pg_poo_loc_id_tab , -- Bug 5090593
1128 pg_poo_grphy_type1_tab ,
1129 pg_poo_grphy_value1_tab ,
1130 pg_poo_grphy_type2_tab ,
1131 pg_poo_grphy_value2_tab ,
1132 pg_poo_grphy_type3_tab ,
1133 pg_poo_grphy_value3_tab ,
1134 pg_poo_grphy_type4_tab ,
1135 pg_poo_grphy_value4_tab ,
1136 pg_poo_grphy_type5_tab ,
1137 pg_poo_grphy_value5_tab ,
1138 pg_poo_grphy_type6_tab ,
1139 pg_poo_grphy_value6_tab ,
1140 pg_poo_grphy_type7_tab ,
1141 pg_poo_grphy_value7_tab ,
1142 pg_poo_grphy_type8_tab ,
1143 pg_poo_grphy_value8_tab ,
1144 pg_poo_grphy_type9_tab ,
1145 pg_poo_grphy_value9_tab ,
1146 pg_poo_grphy_type10_tab ,
1147 pg_poo_grphy_value10_tab ,
1148 pg_bill_to_pty_num_tab ,
1149 pg_bill_to_pty_name_tab ,
1150 pg_bill_from_pty_num_tab ,
1151 pg_bill_from_pty_name_tab ,
1152 pg_bill_to_loc_id_tab , -- Bug 5090593
1153 pg_bill_to_grphy_type1_tab ,
1154 pg_bill_to_grphy_value1_tab ,
1155 pg_bill_to_grphy_type2_tab ,
1156 pg_bill_to_grphy_value2_tab ,
1157 pg_bill_to_grphy_type3_tab ,
1158 pg_bill_to_grphy_value3_tab ,
1159 pg_bill_to_grphy_type4_tab ,
1160 pg_bill_to_grphy_value4_tab ,
1161 pg_bill_to_grphy_type5_tab ,
1162 pg_bill_to_grphy_value5_tab ,
1163 pg_bill_to_grphy_type6_tab ,
1164 pg_bill_to_grphy_value6_tab ,
1165 pg_bill_to_grphy_type7_tab ,
1166 pg_bill_to_grphy_value7_tab ,
1167 pg_bill_to_grphy_type8_tab ,
1168 pg_bill_to_grphy_value8_tab ,
1169 pg_bill_to_grphy_type9_tab ,
1170 pg_bill_to_grphy_value9_tab ,
1171 pg_bill_to_grphy_type10_tab ,
1172 pg_bill_to_grphy_value10_tab ,
1173 pg_bill_fr_loc_id_tab , -- Bug 5090593
1174 pg_bill_fr_grphy_type1_tab ,
1175 pg_bill_fr_grphy_value1_tab ,
1176 pg_bill_fr_grphy_type2_tab ,
1177 pg_bill_fr_grphy_value2_tab ,
1178 pg_bill_fr_grphy_type3_tab ,
1179 pg_bill_fr_grphy_value3_tab ,
1180 pg_bill_fr_grphy_type4_tab ,
1181 pg_bill_fr_grphy_value4_tab ,
1182 pg_bill_fr_grphy_type5_tab ,
1183 pg_bill_fr_grphy_value5_tab ,
1184 pg_bill_fr_grphy_type6_tab ,
1185 pg_bill_fr_grphy_value6_tab ,
1186 pg_bill_fr_grphy_type7_tab ,
1187 pg_bill_fr_grphy_value7_tab ,
1188 pg_bill_fr_grphy_type8_tab ,
1189 pg_bill_fr_grphy_value8_tab ,
1190 pg_bill_fr_grphy_type9_tab ,
1191 pg_bill_fr_grphy_value9_tab ,
1192 pg_bill_fr_grphy_type10_tab ,
1193 pg_bill_fr_grphy_value10_tab ,
1194 pg_account_ccid_tab ,
1195 --pg_appl_fr_doc_type_id_tab ,
1196 pg_appl_from_trx_id_tab ,
1197 pg_appl_from_line_id_tab ,
1198 pg_appl_fr_trx_lev_type_tab ,
1199 pg_appl_from_doc_num_tab ,
1200 pg_adj_doc_doc_type_id_tab ,
1201 pg_adj_doc_trx_id_tab ,
1202 pg_adj_doc_line_id_tab ,
1203 pg_adj_doc_number_tab ,
1204 pg_adj_doc_trx_lev_type_tab ,
1205 pg_adj_doc_date_tab ,
1206 pg_assess_value_tab ,
1207 pg_trx_line_number_tab ,
1208 pg_trx_line_desc_tab ,
1209 pg_prod_desc_tab ,
1210 pg_header_char1_tab ,
1211 pg_header_char2_tab ,
1212 pg_header_char3_tab ,
1213 pg_header_char4_tab ,
1214 pg_header_char5_tab ,
1215 pg_header_char6_tab ,
1216 pg_header_char7_tab ,
1217 pg_header_char8_tab ,
1218 pg_header_char9_tab ,
1219 pg_header_char10_tab ,
1220 pg_header_char11_tab ,
1221 pg_header_char12_tab ,
1222 pg_header_char13_tab ,
1223 pg_header_char14_tab ,
1224 pg_header_char15_tab ,
1225 pg_header_numeric1_tab ,
1226 pg_header_numeric2_tab ,
1227 pg_header_numeric3_tab ,
1228 pg_header_numeric4_tab ,
1229 pg_header_numeric5_tab ,
1230 pg_header_numeric6_tab ,
1231 pg_header_numeric7_tab ,
1232 pg_header_numeric8_tab ,
1233 pg_header_numeric9_tab ,
1234 pg_header_numeric10_tab ,
1235 pg_header_date1_tab ,
1236 pg_header_date2_tab ,
1237 pg_header_date3_tab ,
1238 pg_header_date4_tab ,
1239 pg_header_date5_tab ,
1240 pg_line_char1_tab ,
1241 pg_line_char2_tab ,
1242 pg_line_char3_tab ,
1243 pg_line_char4_tab ,
1244 pg_line_char5_tab ,
1245 pg_line_char6_tab ,
1246 pg_line_char7_tab ,
1247 pg_line_char8_tab ,
1248 pg_line_char9_tab ,
1249 pg_line_char10_tab ,
1250 pg_line_char11_tab ,
1251 pg_line_char12_tab ,
1252 pg_line_char13_tab ,
1253 pg_line_char14_tab ,
1254 pg_line_char15_tab ,
1255 pg_line_numeric1_tab ,
1256 pg_line_numeric2_tab ,
1257 pg_line_numeric3_tab ,
1258 pg_line_numeric4_tab ,
1259 pg_line_numeric5_tab ,
1260 pg_line_numeric6_tab ,
1261 pg_line_numeric7_tab ,
1262 pg_line_numeric8_tab ,
1263 pg_line_numeric9_tab ,
1264 pg_line_numeric10_tab ,
1265 pg_line_date1_tab ,
1266 pg_line_date2_tab ,
1267 pg_line_date3_tab ,
1268 pg_line_date4_tab ,
1269 pg_line_date5_tab ,
1270 pg_exempt_certi_numb_tab ,
1271 pg_exempt_reason_tab ,
1272 pg_exempt_cont_flag_tab
1273 limit C_LINES_PER_COMMIT;/*Need to limit the fetch*/
1274
1275 IF (nvl(pg_trx_id_tab.last,0) = 0) Then
1276 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1277 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1278 'No item lines exist to whom tax lines need to be created' );
1279 END IF;
1280 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1281 g_string :='Not compaitable to VERTEX Release';
1282 error_exception_handle(g_string);
1283 x_messages_tbl:=g_messages_tbl;
1284 return;
1285
1286 ELSE /*The view has returned some rows that can be processed below */
1287
1288 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1289 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1290 ' Records in ZX_O2C_CALC_TXN_INPUT_V = '||pg_trx_id_tab.last);
1291 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1292 'pg_doc_type_id_tab(1) :' ||pg_doc_type_id_tab(1));
1293 END IF;
1294
1295 IF(pg_doc_type_id_tab(1)<>0) then
1296 Begin
1297 select event_class_code
1298 into l_document_type
1299 from zx_evnt_cls_mappings
1300 where event_class_mapping_id = pg_doc_type_id_tab(1);
1301 Exception
1302 When no_data_found then
1303 IF (g_level_exception >= g_current_runtime_level ) THEN
1304 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1305 End if;
1306 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1307 g_string :='No document type exist for provided event_class_mapping_id ';
1308 error_exception_handle(g_string);
1309 x_messages_tbl:=g_messages_tbl;
1310 return;
1311 End;
1312 ELSE /*"Sales Transaction Quote*/
1313 l_document_type := 'SALES_QUOTE';
1314 END IF;
1315
1316 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1317 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1318 ' DOCUMENT_TYPE '||l_document_type);
1319 END IF;
1320
1321
1322 For ptr in 1..nvl(pg_trx_id_tab.last, 0) loop
1323
1324 I:=ptr;
1325 -- In case of partners, since there are two calls to get_tax_jurisdictions API
1326 -- we need to delete from zx_jurisdictions_gt before each of the calls to
1327 -- get_tax_jurisdictions API
1328 -- IF pg_trx_line_id_tab(i) <> g_transaction_line_id THEN
1329 -- delete from zx_jurisdictions_gt;
1330 -- END IF;
1331 g_transaction_line_id := pg_trx_line_id_tab(i);
1332 g_trx_level_type := pg_trx_level_type_tab(i);
1333 g_docment_type_id := pg_doc_type_id_tab(i);
1334 g_trasaction_id := pg_trx_id_tab(i);
1335 g_tax_regime_code := zx_tax_partner_pkg.g_tax_regime_code;
1336
1337 pg_ugraded_inv_flag_tab(I) := 'N';
1338
1339 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1340 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1341 ' Value of Variable I is :'||I);
1342 END IF;
1343
1344 /* Performing validation of passed document level,line level actions */
1345 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1346 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1347 ' pg_ship_to_loc_id_tab is : '||pg_ship_to_loc_id_tab(i));
1348 END IF;
1349 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1350 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1351 ' pg_bill_to_loc_id_tab is : '||pg_bill_to_loc_id_tab(i));
1352 END IF;
1353
1354
1355 Perform_validate(l_return_status);
1356 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1357 IF (g_level_exception >= g_current_runtime_level ) THEN
1358 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1359 END IF;
1360 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1361 g_string :='Header ,line level actions are incompaitable';
1362 error_exception_handle(g_string);
1363 x_messages_tbl:=g_messages_tbl;
1364 return;
1365 END IF;
1366
1367 IF l_doc_trx_id IS NULL or l_doc_trx_id <> pg_trx_id_tab(I) THEN
1368 l_doc_trx_id := pg_trx_id_tab(I);
1369
1370 SELECT SUM(ABS(line_amount))
1371 INTO l_doc_amount
1372 FROM ZX_O2C_CALC_TXN_INPUT_V
1373 WHERE transaction_id = l_doc_trx_id;
1374
1375 SET_DOCUMENT_TYPE(l_document_type,pg_adj_doc_trx_id_tab(I),l_doc_amount,pg_line_level_action_tab(I),l_return_status);
1376 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1377 IF (g_level_exception >= g_current_runtime_level ) THEN
1378 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1379 END IF;
1380 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1381 g_string :='Failed in setting up document type';
1382 error_exception_handle(g_string);
1383 x_messages_tbl:=g_messages_tbl;
1384 return;
1385 END IF;
1386 END IF;
1387
1388 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1389 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1390 ' Document Type : '||l_document_type );
1391 END IF;
1392
1393 IF (pg_doc_level_action_tab(i) in ('CREATE', 'QUOTE')) THEN
1394 IF (l_document_type in ('TAX_ONLY_CREDIT_MEMO', 'TAX_ONLY_ADJUSTMENT','TAX_ONLY_INVOICE')) THEN
1395 RETURN;
1396 ELSE
1397 Perform_line_creation(x_tax_lines_tbl,p_currency_tab,l_return_status);
1398 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1399 IF (g_level_exception >= g_current_runtime_level ) THEN
1400 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1401 END IF;
1402 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1403 g_string :='Failed in creating tax line';
1404 error_exception_handle(g_string);
1405 x_messages_tbl:=g_messages_tbl;
1406 return;
1407 END IF;
1408 END IF;
1409
1410 ELSIF (pg_doc_level_action_tab(i) = 'UPDATE') then
1411
1412 IF (l_document_type in ('TAX_ONLY_CREDIT_MEMO', 'TAX_ONLY_INVOICE')) THEN
1413 RETURN;
1414 END IF;
1415 Perform_update(x_tax_lines_tbl,p_currency_tab,l_return_status);
1416
1417 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1418 IF (g_level_exception >= g_current_runtime_level ) THEN
1419 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1420 END IF;
1421 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1422 g_string :='Failed in creating update';
1423 error_exception_handle(g_string);
1424 x_messages_tbl:=g_messages_tbl;
1425 return;
1426 END IF;
1427
1428 BEGIN
1429 DELETE FROM zx_ptnr_neg_line_gt
1430 WHERE event_class_mapping_id = pg_doc_type_id_tab(I) and
1431 trx_id = pg_trx_id_tab(I) and
1432 trx_line_id = pg_trx_line_id_tab(I) and
1433 trx_level_type = pg_trx_level_type_tab(I);
1434 EXCEPTION
1435 WHEN no_data_found THEN
1436 null;
1437 END;
1438 ELSE
1439 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1440 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1441 ' Unknown header level action' );
1442 END IF;
1443 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1444 g_string :=' Unknown header level action';
1445 error_exception_handle(g_string);
1446 x_messages_tbl:=g_messages_tbl;
1447 return;
1448 End if;
1449 end loop;
1450 end if;
1451
1452 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1453 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1454 END IF;
1455
1456 Exception
1457 when others then
1458 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1459 FND_LOG.STRING(g_level_unexpected,
1460 G_MODULE_NAME||l_api_name,
1461 sqlerrm);
1462 END IF;
1463 x_error_status := FND_API.G_RET_STS_UNEXP_ERROR;
1464 g_string :='Not compaitable to VERTEX Release';
1465 error_exception_handle(g_string);
1466 x_messages_tbl:=g_messages_tbl;
1467 return;
1468
1469
1470 END CALCULATE_TAX_API;
1471
1472 PROCEDURE SET_DOCUMENT_TYPE( P_DOCUMENT_TYPE IN OUT NOCOPY VARCHAR2,
1473 P_ADJ_DOC_TRX_ID IN NUMBER,
1474 P_LINE_AMOUNT IN NUMBER,
1475 p_LINE_LEVEL_ACTION IN VARCHAR2,
1476 x_return_status OUT NOCOPY VARCHAR2)IS
1477 l_api_name CONSTANT VARCHAR2(30) := 'SET_DOCUMENT_TYPE';
1478 BEGIN
1479 x_return_status := FND_API.G_RET_STS_SUCCESS;
1480
1481 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1482 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1483 END IF;
1484
1485 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1486 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_DOCUMENT_TYPE : '||P_DOCUMENT_TYPE );
1487 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_ADJ_DOC_TRX_ID : '||P_ADJ_DOC_TRX_ID );
1488 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_LINE_LEVEL_ACTION : '||p_line_level_action );
1489 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_LINE_AMOUNT : '||P_LINE_AMOUNT );
1490 END IF;
1491
1492 IF (p_document_type = 'CREDIT_MEMO') THEN
1493 IF (p_adj_doc_trx_id is not null) THEN
1494 IF p_line_amount = 0 THEN
1495 p_document_type :='TAX_ONLY_CREDIT_MEMO';
1496 ELSIF p_line_level_action = 'RECORD_WITH_NO_TAX' THEN
1497 --ELSIF (pg_allow_tax_calc_tab(I) ='N') THEN
1498 p_document_type :='LINE_ONLY_CREDIT_MEMO';
1499 ELSE
1500 p_document_type :='APPLIED_CREDIT_MEMO';
1501 END IF; /*LINE_AMOUNT*/
1502 ELSE
1503 p_document_type :='ON_ACCT_CREDIT_MEMO';
1504 END IF; /*ADJ_DOC_TRX_ID*/
1505 END IF; /*'CREDIT_MEMO*/
1506
1507 IF (p_document_type = 'INVOICE') THEN
1508 IF (p_line_amount = 0 AND p_line_level_action = 'LINE_INFO_TAX_ONLY') THEN
1509 p_document_type :='TAX_ONLY_INVOICE';
1510 END IF;
1511 END IF;/*INVOICE*/
1512
1513 IF (p_document_type = 'INVOICE_ADJUSTMENT') THEN
1514 IF (p_line_amount = 0) THEN
1515 p_document_type := 'TAX_ONLY_ADJUSTMENT';
1516 END IF;
1517 END IF; /*INVOICE_ADJUSTMENT*/
1518
1519 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1520 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1521 END IF;
1522
1523 End SET_DOCUMENT_TYPE;
1524
1525 PROCEDURE PERFORM_VALIDATE(x_return_status OUT NOCOPY VARCHAR2) is
1526 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_VALIDATE';
1527
1528 Begin
1529 x_return_status := FND_API.G_RET_STS_SUCCESS;
1530
1531 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1532 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1533 END IF;
1534
1535 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1536 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_DOC_LEVEL_ACTION_TAB(i) : '||pg_doc_level_action_tab(i));
1537 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_LINE_LEVEL_ACTION_TAB(i) : '||pg_line_level_action_tab(i));
1538 END IF;
1539
1540 if(pg_doc_level_action_tab(i) = 'CREATE') Then
1541 if(pg_line_level_action_tab(i) NOT IN ('CREATE', 'QUOTE','SYNCHRONIZE','RECORD_WITH_NO_TAX')) Then
1542 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1543 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1544 END IF;
1545 x_return_status := FND_API.G_RET_STS_ERROR;
1546 end if;
1547 elsif(pg_doc_level_action_tab(i) = 'QUOTE') Then
1548 if(pg_line_level_action_tab(i) NOT IN ('QUOTE')) Then
1549 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1550 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1551 END IF;
1552 x_return_status := FND_API.G_RET_STS_ERROR;
1553 end if;
1554 elsif(pg_doc_level_action_tab(i) = 'UPDATE') Then
1555 if(pg_line_level_action_tab(i) NOT IN ('CREATE', 'UPDATE', 'QUOTE', 'CANCEL', 'DELETE', 'SYNCHRONIZE','RECORD_WITH_NO_TAX')) Then
1556 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1557 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown line level action');
1558 END IF;
1559 x_return_status := FND_API.G_RET_STS_ERROR;
1560 end if;
1561 else
1562 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1563 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Unknown header level action');
1564 END IF;
1565 x_return_status := FND_API.G_RET_STS_ERROR;
1566 end if;
1567
1568 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1569 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1570 END IF;
1571 End PERFORM_VALIDATE;
1572
1573 PROCEDURE PERFORM_LINE_CREATION(p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
1574 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
1575 x_return_status OUT NOCOPY VARCHAR2)is
1576
1577 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_LINE_CREATION';
1578 l_return_status VARCHAR2(30);
1579 Begin
1580 x_return_status := FND_API.G_RET_STS_SUCCESS;
1581
1582 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1583 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1584 END IF;
1585
1586 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1587 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Value of Variable I is'|| I );
1588 END IF;
1589
1590 reset_parameters(l_return_status);
1591 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1592 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1593 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1594 END IF;
1595 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1596 g_string :='Failed in RESET_PARAMETERS procedure';
1597 error_exception_handle(g_string);
1598 return;
1599 END IF;
1600
1601 l_line_level_action := 'CREATE';
1602 set_parameters(l_return_status);
1603 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1604 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1605 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1606 END IF;
1607 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1608 g_string :='Failed in SET_PRAMETERS procedure';
1609 error_exception_handle(g_string);
1610 return;
1611 END IF;
1612
1613 calculate_tax(l_return_status);
1614 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1615 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1616 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1617 END IF;
1618 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1619 g_string :='Failed in CALCULATE_TAX Procedure ';
1620 error_exception_handle(g_string);
1621 return;
1622 END IF;
1623
1624 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1625 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME,
1626 'pg_line_level_action_tab(i) : '|| pg_line_level_action_tab(i));
1627 END IF;
1628
1629 IF (pg_line_level_action_tab(i)<>'QUOTE') THEN
1630 write_to_vertex_repository(l_return_status);
1631 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1632 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1633 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1634 END IF;
1635 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1636 g_string :='Failed in WRITE_TO_VERTEX_REPOSITORY Procedure ';
1637 error_exception_handle(g_string);
1638 return;
1639 END IF;
1640 END IF;
1641
1642 /*Vertex returned values need to be written back to zx_repository.*/
1643 tax_results_processing(p_tax_lines_tbl,p_currency_tab,l_return_status);
1644 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1645 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1646 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1647 END IF;
1648 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1649 g_string :='Failed in TAX_RESULTS_PROCESSING procedure';
1650 error_exception_handle(g_string);
1651 return;
1652 END IF;
1653
1654
1655 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1656 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1657 END IF;
1658
1659 End PERFORM_LINE_CREATION;
1660
1661 PROCEDURE PERFORM_LINE_DELETION(x_return_status OUT NOCOPY VARCHAR2) is
1662 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_LINE_DELETION';
1663 l_return_status VARCHAR2(30);
1664 Begin
1665 x_return_status := FND_API.G_RET_STS_SUCCESS;
1666
1667 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1668 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1669 END IF;
1670 /*ZX_VTX_USER_PKG.g_line_negation := TRUE;
1671 ZX_VTX_USER_PKG.g_trx_line_id := pg_trx_line_id_tab(I);*/
1672
1673 reset_parameters(l_return_status);
1674
1675 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1676 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1677 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1678 END IF;
1679 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1680 g_string :='Failed in RESET_PARAMETERS Procedure';
1681 error_exception_handle(g_string);
1682 return;
1683 END IF;
1684 set_parameters(l_return_status);
1685
1686 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1687 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1688 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1689 END IF;
1690 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1691 g_string :='Failed in SET_PARAMETERS procedure';
1692 error_exception_handle(g_string);
1693 return;
1694 END IF;
1695 calculate_tax(l_return_status);
1696 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1697 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1698 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1699 END IF;
1700 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1701 g_string :='Failed in CALCULATE_TAX procedure';
1702 error_exception_handle(g_string);
1703 return;
1704 END IF;
1705 write_to_vertex_repository(l_return_status);
1706 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1707 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1708 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1709 END IF;
1710 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1711 g_string :='Failed in WRITE_TO_VERTEX_REPOSITORY procedure';
1712 error_exception_handle(g_string);
1713 return;
1714 END IF;
1715
1716 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1717 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1718 END IF;
1719 End PERFORM_LINE_DELETION;
1720
1721
1722 PROCEDURE PERFORM_UPDATE (p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
1723 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
1724 x_return_status OUT NOCOPY VARCHAR2) is
1725 l_api_name CONSTANT VARCHAR2(30) := 'PERFORM_UPDATE';
1726 l_return_status VARCHAR2(30);
1727 l_application_id NUMBER;
1728 l_ver_count NUMBER(10);
1729 Begin
1730 x_return_status := FND_API.G_RET_STS_SUCCESS;
1731
1732 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1733 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1734 END IF;
1735
1736 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1737 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'PG_LINE_LEVEL_ACTION_TAB(i)'||pg_line_level_action_tab(i) );
1738 END IF;
1739
1740 if (pg_line_level_action_tab(i) in ('CREATE','QUOTE')) Then
1741
1742 l_line_level_action := 'CREATE';
1743 perform_line_creation(p_tax_lines_tbl,p_currency_tab,l_return_status);
1744
1745 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1746 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1747 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1748 END IF;
1749 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1750 g_string :='Failed in PERFORM_LINE_CREATION procedure';
1751 error_exception_handle(g_string);
1752 return;
1753 END IF;
1754
1755 elsif(pg_line_level_action_tab(i) in ('UPDATE')) Then
1756 /*First make contra entry*/
1757 BEGIN
1758 SELECT APPLICATION_ID
1759 INTO l_application_id
1760 FROM ZX_PRVDR_LINE_EXTNS_GT
1761 WHERE ROWNUM = 1;
1762 EXCEPTION
1763 WHEN OTHERS THEN
1764 l_application_id := NULL;
1765 END;
1766 IF l_application_id IS NOT NULL THEN
1767 BEGIN
1768 SELECT Count(*)
1769 INTO l_ver_count
1770 FROM ZX_LINES
1771 WHERE APPLICATION_ID = l_application_id
1772 AND TRX_ID = pg_trx_id_tab(I)
1773 AND TRX_LINE_ID = pg_trx_line_id_tab(I)
1774 AND TAX_PROVIDER_ID IS NOT NULL;
1775 EXCEPTION
1776 WHEN OTHERS THEN
1777 l_ver_count := 0;
1778 END;
1779 END IF;
1780 IF l_ver_count <> 0 THEN
1781 l_line_level_action := 'NEGATE';
1782 perform_line_deletion(l_return_status);
1783
1784 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1785 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1786 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1787 END IF;
1788 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1789 g_string :='Failed in PERFORM_LINE_DELETION procedure';
1790 error_exception_handle(g_string);
1791 return;
1792 END IF;
1793 END IF;
1794 /*For new line*/
1795 -- l_line_level_action := 'CREATE';
1796 perform_line_creation(p_tax_lines_tbl,p_currency_tab,l_return_status);
1797
1798 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1799 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1800 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1801 END IF;
1802 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1803 g_string :='Failed in PERFORM_LINE_CREATION procedure';
1804 error_exception_handle(g_string);
1805 return;
1806 END IF;
1807
1808 elsif(pg_line_level_action_tab(i) in ('DELETE','CANCEL')) Then
1809 l_line_level_action := pg_line_level_action_tab(i);
1810 perform_line_deletion(l_return_status);
1811 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1812 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1813 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
1814 END IF;
1815 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1816 g_string :='Failed in PERFORM_LINE_DELETION procedure';
1817 error_exception_handle(g_string);
1818 return;
1819 END IF;
1820 else
1821 Null;/*Need to add for SYNCHRONIZE */
1822 end if;/*Line level operation*/
1823
1824 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1825 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1826 END IF;
1827
1828 End PERFORM_UPDATE;
1829
1830 PROCEDURE GET_TAX_JUR_CODE(p_location_id IN NUMBER,
1831 p_situs IN VARCHAR2,
1832 p_tax IN VARCHAR2,
1833 p_regime_code IN VARCHAR2,
1834 p_inv_date IN DATE,
1835 x_tax_jurisdiction_code OUT NOCOPY VARCHAR2,
1836 x_return_status OUT NOCOPY VARCHAR2) IS
1837
1838 l_api_name CONSTANT VARCHAR2(30) := 'GET_TAX_JUR_CODE';
1839 x_tax_jurisdiction_rec ZX_TCM_GEO_JUR_PKG.tax_jurisdiction_rec_type;
1840 x_jurisdictions_found VARCHAR2(20);
1841 l_return_status VARCHAR2(30);
1842
1843 BEGIN
1844 x_return_status := FND_API.G_RET_STS_SUCCESS;
1845
1846 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1847 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
1848 END IF;
1849
1850 ZX_TCM_GEO_JUR_PKG.get_tax_jurisdictions
1851 (p_location_id ,
1852 p_situs ,
1853 p_tax ,
1854 p_regime_code ,
1855 p_inv_date ,
1856 x_tax_jurisdiction_rec ,
1857 x_jurisdictions_found ,
1858 x_return_status
1859 );
1860 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1861 IF (g_level_exception >= g_current_runtime_level ) THEN
1862 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
1863 END IF;
1864 -- x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1865 g_string :='Not able to find Jurisdiction';
1866 error_exception_handle(g_string);
1867 RETURN;
1868 END IF;
1869
1870 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1871 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1872 'x_jurisdictions_found :'||x_jurisdictions_found);
1873 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1874 'x_tax_jurisdiction_rec.tax_jurisdiction_code :'||x_tax_jurisdiction_rec.tax_jurisdiction_code);
1875 END IF;
1876
1877 IF x_jurisdictions_found = 'Y' THEN
1878 IF x_tax_jurisdiction_rec.tax_jurisdiction_code IS NOT NULL THEN
1879 x_tax_jurisdiction_code := x_tax_jurisdiction_rec.tax_jurisdiction_code;
1880 ELSE
1881 BEGIN
1882 SELECT tax_jurisdiction_code
1883 INTO x_tax_jurisdiction_code
1884 FROM (
1885 SELECT tax_jurisdiction_code
1886 FROM zx_jurisdictions_gt
1887 WHERE tax_regime_code = p_regime_code
1888 AND tax = p_tax
1889 AND substr(tax_jurisdiction_code, 4) BETWEEN '000000000' and '999999999'
1890 AND precedence_level = (SELECT max(precedence_level)
1891 FROM zx_jurisdictions_gt
1892 WHERE tax_regime_code = p_regime_code
1893 AND substr(tax_jurisdiction_code, 4) BETWEEN '000000000' and '999999999'
1894 AND tax = p_tax)
1895 ORDER BY tax_jurisdiction_code)
1896 WHERE rownum = 1 ;
1897 END;
1898 END IF;
1899 END IF;
1900
1901 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1902 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
1903 END IF;
1904
1905 END GET_TAX_JUR_CODE;
1906
1907
1908 PROCEDURE SET_PARAMETERS(x_return_status OUT NOCOPY VARCHAR2) IS
1909
1910 /*Following variables used during line deletion process.*/
1911 arp_line_amount ZX_PTNR_NEG_LINE_GT.line_amt%type;
1912 arp_quantity ZX_PTNR_NEG_LINE_GT.trx_line_quantity%type;
1913 arp_trx_id ZX_PTNR_NEG_LINE_GT.trx_id%type;
1914 arp_trx_number ZX_PTNR_NEG_LINE_GT.trx_number%type;
1915 arp_trx_date ZX_PTNR_NEG_LINE_GT.trx_date%type;
1916 arp_exemption_control_flag ZX_PTNR_NEG_LINE_GT.exemption_control_flag%type;
1917 arp_ship_to_grphy_type1 varchar2(30);
1918 arp_ship_to_grphy_value1 varchar2(30);
1919 arp_ship_to_grphy_type2 varchar2(30);
1920 arp_ship_to_grphy_value2 varchar2(30);
1921 arp_ship_to_grphy_type3 varchar2(30);
1922 arp_ship_to_grphy_value3 varchar2(30);
1923 arp_ship_to_grphy_type4 varchar2(30);
1924 arp_ship_to_grphy_value4 varchar2(30);
1925 arp_ship_to_grphy_type5 varchar2(30);
1926 arp_ship_to_grphy_value5 varchar2(30);
1927 arp_ship_to_grphy_type6 varchar2(30);
1928 arp_ship_to_grphy_value6 varchar2(30);
1929 arp_ship_to_grphy_type7 varchar2(30);
1930 arp_ship_to_grphy_value7 varchar2(30);
1931 arp_ship_to_grphy_type8 varchar2(30);
1932 arp_ship_to_grphy_value8 varchar2(30);
1933 arp_ship_to_grphy_type9 varchar2(30);
1934 arp_ship_to_grphy_value9 varchar2(30);
1935 arp_ship_to_grphy_type10 varchar2(30);
1936 arp_ship_to_grphy_value10 varchar2(30);
1937 arp_ship_from_grphy_type1 varchar2(30);
1938 arp_ship_from_grphy_value1 varchar2(30);
1939 arp_ship_from_grphy_type2 varchar2(30);
1940 arp_ship_from_grphy_value2 varchar2(30);
1941 arp_ship_from_grphy_type3 varchar2(30);
1942 arp_ship_from_grphy_value3 varchar2(30);
1943 arp_ship_from_grphy_type4 varchar2(30);
1944 arp_ship_from_grphy_value4 varchar2(30);
1945 arp_ship_from_grphy_type5 varchar2(30);
1946 arp_ship_from_grphy_value5 varchar2(30);
1947 arp_ship_from_grphy_type6 varchar2(30);
1948 arp_ship_from_grphy_value6 varchar2(30);
1949 arp_ship_from_grphy_type7 varchar2(30);
1950 arp_ship_from_grphy_value7 varchar2(30);
1951 arp_ship_from_grphy_type8 varchar2(30);
1952 arp_ship_from_grphy_value8 varchar2(30);
1953 arp_ship_from_grphy_type9 varchar2(30);
1954 arp_ship_from_grphy_value9 varchar2(30);
1955 arp_ship_from_grphy_type10 varchar2(30);
1956 arp_ship_from_grphy_value10 varchar2(30);
1957 /*arp_poa_grphy_type1 varchar2(30);
1958 arp_poa_grphy_value1 varchar2(30);
1959 arp_poa_grphy_type2 varchar2(30);
1960 arp_poa_grphy_value2 varchar2(30);
1961 arp_poa_grphy_type3 varchar2(30);
1962 arp_poa_grphy_value3 varchar2(30);
1963 arp_poa_grphy_type4 varchar2(30);
1964 arp_poa_grphy_value4 varchar2(30);
1965 arp_poa_grphy_type5 varchar2(30);
1966 arp_poa_grphy_value5 varchar2(30);
1967 arp_poa_grphy_type6 varchar2(30);
1968 arp_poa_grphy_value6 varchar2(30);
1969 arp_poa_grphy_type7 varchar2(30);
1970 arp_poa_grphy_value7 varchar2(30);
1971 arp_poa_grphy_type8 varchar2(30);
1972 arp_poa_grphy_value8 varchar2(30);
1973 arp_poa_grphy_type9 varchar2(30);
1974 arp_poa_grphy_value9 varchar2(30);
1975 arp_poa_grphy_type10 varchar2(30);
1976 arp_poa_grphy_value10 varchar2(30);
1977 arp_poo_grphy_type1 varchar2(30);
1978 arp_poo_grphy_value1 varchar2(30);
1979 arp_poo_grphy_type2 varchar2(30);
1980 arp_poo_grphy_value2 varchar2(30);
1981 arp_poo_grphy_type3 varchar2(30);
1982 arp_poo_grphy_value3 varchar2(30);
1983 arp_poo_grphy_type4 varchar2(30);
1984 arp_poo_grphy_value4 varchar2(30);
1985 arp_poo_grphy_type5 varchar2(30);
1986 arp_poo_grphy_value5 varchar2(30);
1987 arp_poo_grphy_type6 varchar2(30);
1988 arp_poo_grphy_value6 varchar2(30);
1989 arp_poo_grphy_type7 varchar2(30);
1990 arp_poo_grphy_value7 varchar2(30);
1991 arp_poo_grphy_type8 varchar2(30);
1992 arp_poo_grphy_type9 varchar2(30);
1993 arp_poo_grphy_value9 varchar2(30);
1994 arp_poo_grphy_type10 varchar2(30);
1995 arp_poo_grphy_value10 varchar2(30);*/
1996 arp_bill_to_grphy_type1 varchar2(30);
1997 arp_bill_to_grphy_value1 varchar2(30);
1998 arp_bill_to_grphy_type2 varchar2(30);
1999 arp_bill_to_grphy_value2 varchar2(30);
2000 arp_bill_to_grphy_type3 varchar2(30);
2001 arp_bill_to_grphy_value3 varchar2(30);
2002 arp_bill_to_grphy_type4 varchar2(30);
2003 arp_bill_to_grphy_value4 varchar2(30);
2004 arp_bill_to_grphy_type5 varchar2(30);
2005 arp_bill_to_grphy_value5 varchar2(30);
2006 arp_bill_to_grphy_type6 varchar2(30);
2007 arp_bill_to_grphy_value6 varchar2(30);
2008 arp_bill_to_grphy_type7 varchar2(30);
2009 arp_bill_to_grphy_value7 varchar2(30);
2010 arp_bill_to_grphy_type8 varchar2(30);
2011 arp_bill_to_grphy_value8 varchar2(30);
2012 arp_bill_to_grphy_type9 varchar2(30);
2013 arp_bill_to_grphy_value9 varchar2(30);
2014 arp_bill_to_grphy_type10 varchar2(30);
2015 arp_bill_to_grphy_value10 varchar2(30);
2016 arp_bill_from_grphy_type1 varchar2(30);
2017 arp_bill_from_grphy_value1 varchar2(30);
2018 arp_bill_from_grphy_type2 varchar2(30);
2019 arp_bill_from_grphy_value2 varchar2(30);
2020 arp_bill_from_grphy_type3 varchar2(30);
2021 arp_bill_from_grphy_value3 varchar2(30);
2022 arp_bill_from_grphy_type4 varchar2(30);
2023 arp_bill_from_grphy_value4 varchar2(30);
2024 arp_bill_from_grphy_type5 varchar2(30);
2025 arp_bill_from_grphy_value5 varchar2(30);
2026 arp_bill_from_grphy_type6 varchar2(30);
2027 arp_bill_from_grphy_value6 varchar2(30);
2028 arp_bill_from_grphy_type7 varchar2(30);
2029 arp_bill_from_grphy_value7 varchar2(30);
2030 arp_bill_from_grphy_type8 varchar2(30);
2031 arp_bill_from_grphy_value8 varchar2(30);
2032 arp_bill_from_grphy_type9 varchar2(30);
2033 arp_bill_from_grphy_value9 varchar2(30);
2034 arp_bill_from_grphy_type10 varchar2(30);
2035 arp_bill_from_grphy_value10 varchar2(30);
2036 arp_trx_line_type varchar2(30);
2037 arp_product_code varchar2(32);
2038 arp_cert_num varchar2(30);
2039 arp_state_exempt_reason varchar2(30);
2040 arp_county_exempt_reason varchar2(30);
2041 arp_city_exempt_reason varchar2(30);
2042 arp_district_exempt_rs varchar2(30);
2043 arp_audit_flag varchar2(30);
2044 arp_ship_to_add varchar2(30);
2045 arp_ship_from_add varchar2(30);
2046 arp_poa_add_code varchar2(30);
2047 arp_customer_code varchar2(30);
2048 arp_customer_class varchar2(30);
2049 arp_company_code varchar2(30);
2050 arp_division_code varchar2(30);
2051 arp_state_exempt_percent number;
2052 arp_county_exempt_pct number;
2053 arp_city_exempt_pct number;
2054 arp_district_exempt_pct number;
2055 arp_transaction_date date;
2056 arp_adjusted_doc_date date;
2057
2058 l_location_info_rec location_info_rec_type;
2059 l_api_name CONSTANT VARCHAR2(30) := 'SET_PARAMETERS';
2060 BEGIN
2061 x_return_status := FND_API.G_RET_STS_SUCCESS;
2062
2063 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2064 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
2065 END IF;
2066
2067 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2068 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'L_LINE_LEVEL_ACTION :'||l_line_level_action);
2069 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Value of I is :'||I);
2070 END IF;
2071
2072 IF (l_line_level_action IN ('CREATE','DELETE','CANCEL')) THEN
2073 IF substrb(nvl(pg_Line_char10_tab(I),'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2074 inv_in_rec.fJurisSFGeoCd := null;
2075 inv_in_rec.fJurisSFInCi := null;
2076 ELSE
2077 inv_in_rec.fJurisSFGeoCd := to_number(substrb(pg_Line_char10_tab(I), 2, 9));
2078 inv_in_rec.fJurisSFInCi := case substrb(pg_Line_char10_tab(I), 1, 1)
2079 when 'X' then NULL
2080 when '1' then TRUE
2081 when '0' then FALSE
2082 else NULL
2083 end ;
2084 END IF;
2085 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2086 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSFGeoCd : '||to_char(inv_in_rec.fJurisSFGeoCd) );
2087 -- FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSFInCi :'||inv_in_rec.fJurisSFInCi );
2088 END IF;
2089
2090 IF substrb(nvl(pg_Line_char9_tab(I),'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2091 inv_in_rec.fJurisSTGeoCd := null;
2092 inv_in_rec.fJurisSTInCi := null;
2093 ELSE
2094 inv_in_rec.fJurisSTGeoCd := to_number(substrb(pg_Line_char9_tab(I), 2, 9));
2095 inv_in_rec.fJurisSTInCi := case substrb(pg_Line_char9_tab(I), 1, 1)
2096 when 'X' then NULL
2097 when '1' then TRUE
2098 when '0' then FALSE
2099 else NULL
2100 end ;
2101 END IF;
2102 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2103 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSTGeoCd : '||to_char(inv_in_rec.fJurisSTGeoCd) );
2104 -- FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSTInCi :'||inv_in_rec.fJurisSTInCi );
2105 END IF;
2106 IF substrb(nvl(pg_Line_char11_tab(I),'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2107 inv_in_rec.fJurisOAGeoCd := null;
2108 inv_in_rec.fJurisOAInCi := null;
2109 ELSE
2110 inv_in_rec.fJurisOAGeoCd := to_number(substrb(pg_Line_char11_tab(I), 2, 9));
2111 inv_in_rec.fJurisOAInCi := case substrb(pg_Line_char11_tab(I), 1, 1)
2112 when 'X' then NULL
2113 when '1' then TRUE
2114 when '0' then FALSE
2115 else NULL
2116 end ;
2117 END IF;
2118 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2119 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisOAGeoCd : '||to_char(inv_in_rec.fJurisOAGeoCd ));
2120 -- FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisOAInCi :'||inv_in_rec.fJurisOAInCi);
2121 END IF;
2122
2123 IF (l_line_level_action IN ('CREATE', 'DELETE')) THEN
2124 inv_in_rec.fTDMCustCd := pg_Line_char12_tab(I);
2125 ELSE
2126 /*
2127 BEGIN
2128 SELECT pty.party_number
2129 INTO inv_in_rec.fTDMCustCd
2130 FROM hz_parties pty,
2131 zx_party_tax_profile ptp
2132 WHERE ptp.party_tax_profile_id = bill_to_party_tax_id_tab(i)
2133 AND ptp.party_id = pty.party_id;
2134 EXCEPTION WHEN OTHERS THEN
2135 inv_in_rec.fTDMCustCd := NULL;
2136 END;
2137 */
2138 null;
2139 END IF;
2140 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2141 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCustCd : '||inv_in_rec.fTDMCustCd );
2142 END IF;
2143
2144 inv_in_rec.fTDMCustClassCd := pg_Line_char13_tab(I);
2145 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2146 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCustClassCd :'||inv_in_rec.fTDMCustClassCd );
2147 END IF;
2148
2149 inv_in_rec.fTDMCompCd := pg_Line_char14_tab(I);
2150 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2151 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCompCd :'||inv_in_rec.fTDMCompCd );
2152 END IF;
2153
2154 inv_in_rec.fInvIdNum := pg_trx_number_tab(I);
2155 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2156 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fInvIdNum :'||inv_in_rec.fInvIdNum );
2157 END IF;
2158
2159 inv_in_rec.fTDMDivCd := pg_Line_char15_tab(I);
2160 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2161 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMDivCd :'||inv_in_rec.fTDMDivCd );
2162 END IF;
2163
2164 /*-----------------------------------------------------------
2165 | The transaction type identifies the type of transaction |
2166 | being processed. |
2167 -----------------------------------------------------------*/
2168 IF pg_Line_char1_tab(I) = 'PURCHASE' THEN
2169 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypePurchase;
2170 ELSIF pg_Line_char1_tab(I) = 'RENTAL' THEN
2171 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeRentLease;
2172 ELSIF pg_Line_char1_tab(I) = 'LEASE' THEN
2173 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeRentLease;
2174 ELSIF pg_Line_char1_tab(I) = 'SALE' THEN
2175 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeSale;
2176 ELSIF pg_Line_char1_tab(I) = 'SERVICE' THEN
2177 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeService;
2178 END IF;
2179 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2180 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransType :'||to_char(line_in_tab(1).fTransType));
2181 END IF;
2182
2183 line_in_tab(1).fTransDate := pg_line_date1_tab(i);
2184 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2185 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransDate : '||to_char(line_in_tab(1).fTransDate));
2186 END IF;
2187
2188 line_in_tab(1).fTransUserArea := to_char(pg_Trx_id_tab(I));
2189 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2190 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransUserArea :'||line_in_tab(1).fTransUserArea );
2191 END IF;
2192
2193 line_in_tab(1).fTDMProdCd := pg_Line_char2_tab(I);
2194 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2195 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTDMProdCd :' ||line_in_tab(1).fTDMProdCd );
2196 END IF;
2197
2198
2199
2200 ELSE /*Line level action is delete*/
2201 SELECT line_amt,
2202 trx_line_quantity,
2203 trx_id,
2204 trx_number,
2205 ship_to_geography_type1,
2206 ship_to_geography_value1,
2207 ship_to_geography_type2,
2208 ship_to_geography_value2,
2209 ship_to_geography_type3,
2210 ship_to_geography_value3,
2211 ship_to_geography_type4,
2212 ship_to_geography_value4,
2213 ship_to_geography_type5,
2214 ship_to_geography_value5,
2215 ship_to_geography_type6,
2216 ship_to_geography_value6,
2217 ship_to_geography_type7,
2218 ship_to_geography_value7,
2219 ship_to_geography_type8,
2220 ship_to_geography_value8,
2221 ship_to_geography_type9,
2222 ship_to_geography_value9,
2223 ship_to_geography_type10,
2224 ship_to_geography_value10,
2225 ship_from_geography_type1,
2226 ship_from_geography_value1,
2227 ship_from_geography_type2,
2228 ship_from_geography_value2,
2229 ship_from_geography_type3,
2230 ship_from_geography_value3,
2231 ship_from_geography_type4,
2232 ship_from_geography_value4,
2233 ship_from_geography_type5,
2234 ship_from_geography_value5,
2235 ship_from_geography_type6,
2236 ship_from_geography_value6,
2237 ship_from_geography_type7,
2238 ship_from_geography_value7,
2239 ship_from_geography_type8,
2240 ship_from_geography_value8,
2241 ship_from_geography_type9,
2242 ship_from_geography_value9,
2243 ship_from_geography_type10,
2244 ship_from_geography_value10,
2245 /*poa_geography_type1,
2246 poa_geography_value1,
2247 poa_geography_type2,
2248 poa_geography_value2,
2249 poa_geography_type3,
2250 poa_geography_value3,
2251 poa_geography_type4,
2252 poa_geography_value4,
2253 poa_geography_type5,
2254 poa_geography_value5,
2255 poa_geography_type6,
2256 poa_geography_value6,
2257 poa_geography_type7,
2258 poa_geography_value7,
2259 poa_geography_type8,
2260 poa_geography_value8,
2261 poa_geography_type9,
2262 poa_geography_value9,
2263 poa_geography_type10,
2264 poa_geography_value10,
2265 poo_geography_type1,
2266 poo_geography_value1,
2267 poo_geography_type2,
2268 poo_geography_value2,
2269 poo_geography_type3,
2270 poo_geography_value3,
2271 poo_geography_type4,
2272 poo_geography_value4,
2273 poo_geography_type5,
2274 poo_geography_value5,
2275 poo_geography_type6,
2276 poo_geography_value6,
2277 poo_geography_type7,
2278 poo_geography_value7,
2279 poo_geography_type8,
2280 poo_geography_type9,
2281 poo_geography_value9,
2282 poo_geography_type10,
2283 poo_geography_value10,*/
2284 bill_to_geography_type1,
2285 bill_to_geography_value1,
2286 bill_to_geography_type2,
2287 bill_to_geography_value2,
2288 bill_to_geography_type3,
2289 bill_to_geography_value3,
2290 bill_to_geography_type4,
2291 bill_to_geography_value4,
2292 bill_to_geography_type5,
2293 bill_to_geography_value5,
2294 bill_to_geography_type6,
2295 bill_to_geography_value6,
2296 bill_to_geography_type7,
2297 bill_to_geography_value7,
2298 bill_to_geography_type8,
2299 bill_to_geography_value8,
2300 bill_to_geography_type9,
2301 bill_to_geography_value9,
2302 bill_to_geography_type10,
2303 bill_to_geography_value10,
2304 bill_from_geography_type1,
2305 bill_from_geography_value1,
2306 bill_from_geography_type2,
2307 bill_from_geography_value2,
2308 bill_from_geography_type3,
2309 bill_from_geography_value3,
2310 bill_from_geography_type4,
2311 bill_from_geography_value4,
2312 bill_from_geography_type5,
2313 bill_from_geography_value5,
2314 bill_from_geography_type6,
2315 bill_from_geography_value6,
2316 bill_from_geography_type7,
2317 bill_from_geography_value7,
2318 bill_from_geography_type8,
2319 bill_from_geography_value8,
2320 bill_from_geography_type9,
2321 bill_from_geography_value9,
2322 bill_from_geography_type10,
2323 bill_from_geography_value10,
2324 LINE_EXT_VARCHAR_ATTRIBUTE1,
2325 LINE_EXT_VARCHAR_ATTRIBUTE2,
2326 LINE_EXT_VARCHAR_ATTRIBUTE3,
2327 LINE_EXT_VARCHAR_ATTRIBUTE4,
2328 LINE_EXT_VARCHAR_ATTRIBUTE5,
2329 LINE_EXT_VARCHAR_ATTRIBUTE6,
2330 LINE_EXT_VARCHAR_ATTRIBUTE7,
2331 LINE_EXT_VARCHAR_ATTRIBUTE8,
2332 LINE_EXT_VARCHAR_ATTRIBUTE9,
2333 LINE_EXT_VARCHAR_ATTRIBUTE10,
2334 LINE_EXT_VARCHAR_ATTRIBUTE11,
2335 LINE_EXT_VARCHAR_ATTRIBUTE12,
2336 LINE_EXT_VARCHAR_ATTRIBUTE13,
2337 LINE_EXT_VARCHAR_ATTRIBUTE14,
2338 LINE_EXT_VARCHAR_ATTRIBUTE15,
2339 LINE_EXT_NUMBER_ATTRIBUTE1,
2340 LINE_EXT_NUMBER_ATTRIBUTE2,
2341 LINE_EXT_NUMBER_ATTRIBUTE3,
2342 LINE_EXT_NUMBER_ATTRIBUTE4,
2343 LINE_EXT_DATE_ATTRIBUTE1,
2344 adjusted_doc_date,
2345 trx_date,
2346 exemption_control_flag
2347 INTO arp_line_amount,
2348 arp_quantity,
2349 arp_trx_id,
2350 arp_trx_number,
2351 arp_ship_to_grphy_type1,
2352 arp_ship_to_grphy_value1,
2353 arp_ship_to_grphy_type2,
2354 arp_ship_to_grphy_value2,
2355 arp_ship_to_grphy_type3,
2356 arp_ship_to_grphy_value3,
2357 arp_ship_to_grphy_type4,
2358 arp_ship_to_grphy_value4,
2359 arp_ship_to_grphy_type5,
2360 arp_ship_to_grphy_value5,
2361 arp_ship_to_grphy_type6,
2362 arp_ship_to_grphy_value6,
2363 arp_ship_to_grphy_type7,
2364 arp_ship_to_grphy_value7,
2365 arp_ship_to_grphy_type8,
2366 arp_ship_to_grphy_value8,
2367 arp_ship_to_grphy_type9,
2368 arp_ship_to_grphy_value9,
2369 arp_ship_to_grphy_type10,
2370 arp_ship_to_grphy_value10,
2371 arp_ship_from_grphy_type1,
2372 arp_ship_from_grphy_value1,
2373 arp_ship_from_grphy_type2,
2374 arp_ship_from_grphy_value2,
2375 arp_ship_from_grphy_type3,
2376 arp_ship_from_grphy_value3,
2377 arp_ship_from_grphy_type4,
2378 arp_ship_from_grphy_value4,
2379 arp_ship_from_grphy_type5,
2380 arp_ship_from_grphy_value5,
2381 arp_ship_from_grphy_type6,
2382 arp_ship_from_grphy_value6,
2383 arp_ship_from_grphy_type7,
2384 arp_ship_from_grphy_value7,
2385 arp_ship_from_grphy_type8,
2386 arp_ship_from_grphy_value8,
2387 arp_ship_from_grphy_type9,
2388 arp_ship_from_grphy_value9,
2389 arp_ship_from_grphy_type10,
2390 arp_ship_from_grphy_value10,
2391 /*arp_poa_grphy_type1,
2392 arp_poa_grphy_value1,
2393 arp_poa_grphy_type2,
2394 arp_poa_grphy_value2,
2395 arp_poa_grphy_type3,
2396 arp_poa_grphy_value3,
2397 arp_poa_grphy_type4,
2398 arp_poa_grphy_value4,
2399 arp_poa_grphy_type5,
2400 arp_poa_grphy_value5,
2401 arp_poa_grphy_type6,
2402 arp_poa_grphy_value6,
2403 arp_poa_grphy_type7,
2404 arp_poa_grphy_value7,
2405 arp_poa_grphy_type8,
2406 arp_poa_grphy_value8,
2407 arp_poa_grphy_type9,
2408 arp_poa_grphy_value9,
2409 arp_poa_grphy_type10,
2410 arp_poa_grphy_value10,
2411 arp_poo_grphy_type1,
2412 arp_poo_grphy_value1,
2413 arp_poo_grphy_type2,
2414 arp_poo_grphy_value2,
2415 arp_poo_grphy_type3,
2416 arp_poo_grphy_value3,
2417 arp_poo_grphy_type4,
2418 arp_poo_grphy_value4,
2419 arp_poo_grphy_type5,
2420 arp_poo_grphy_value5,
2421 arp_poo_grphy_type6,
2422 arp_poo_grphy_value6,
2423 arp_poo_grphy_type7,
2424 arp_poo_grphy_value7,
2425 arp_poo_grphy_type8,
2426 arp_poo_grphy_type9,
2427 arp_poo_grphy_value9,
2428 arp_poo_grphy_type10,
2429 arp_poo_grphy_value10,*/
2430 arp_bill_to_grphy_type1,
2431 arp_bill_to_grphy_value1,
2432 arp_bill_to_grphy_type2,
2433 arp_bill_to_grphy_value2,
2434 arp_bill_to_grphy_type3,
2435 arp_bill_to_grphy_value3,
2436 arp_bill_to_grphy_type4,
2437 arp_bill_to_grphy_value4,
2438 arp_bill_to_grphy_type5,
2439 arp_bill_to_grphy_value5,
2440 arp_bill_to_grphy_type6,
2441 arp_bill_to_grphy_value6,
2442 arp_bill_to_grphy_type7,
2443 arp_bill_to_grphy_value7,
2444 arp_bill_to_grphy_type8,
2445 arp_bill_to_grphy_value8,
2446 arp_bill_to_grphy_type9,
2447 arp_bill_to_grphy_value9,
2448 arp_bill_to_grphy_type10,
2449 arp_bill_to_grphy_value10,
2450 arp_bill_from_grphy_type1,
2451 arp_bill_from_grphy_value1,
2452 arp_bill_from_grphy_type2,
2453 arp_bill_from_grphy_value2,
2454 arp_bill_from_grphy_type3,
2455 arp_bill_from_grphy_value3,
2456 arp_bill_from_grphy_type4,
2457 arp_bill_from_grphy_value4,
2458 arp_bill_from_grphy_type5,
2459 arp_bill_from_grphy_value5,
2460 arp_bill_from_grphy_type6,
2461 arp_bill_from_grphy_value6,
2462 arp_bill_from_grphy_type7,
2463 arp_bill_from_grphy_value7,
2464 arp_bill_from_grphy_type8,
2465 arp_bill_from_grphy_value8,
2466 arp_bill_from_grphy_type9,
2467 arp_bill_from_grphy_value9,
2468 arp_bill_from_grphy_type10,
2469 arp_bill_from_grphy_value10,
2470 arp_trx_line_type,
2471 arp_product_code,
2472 arp_cert_num,
2473 arp_state_exempt_reason,
2474 arp_county_exempt_reason,
2475 arp_city_exempt_reason,
2476 arp_district_exempt_rs,
2477 arp_audit_flag,
2478 arp_ship_to_add,
2479 arp_ship_from_add,
2480 arp_poa_add_code,
2481 arp_customer_code,
2482 arp_customer_class,
2483 arp_company_code,
2484 arp_division_code,
2485 arp_state_exempt_percent,
2486 arp_county_exempt_pct,
2487 arp_city_exempt_pct ,
2488 arp_district_exempt_pct,
2489 arp_transaction_date,
2490 arp_adjusted_doc_date,
2491 arp_trx_date,
2492 arp_exemption_control_flag
2493 FROM ZX_PTNR_NEG_LINE_GT
2494 WHERE trx_line_id= pg_trx_line_id_tab(I);
2495
2496
2497 IF substrb(nvl(arp_ship_from_add,'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2498 inv_in_rec.fJurisSFGeoCd := null;
2499 inv_in_rec.fJurisSFInCi := null;
2500 ELSE
2501 inv_in_rec.fJurisSFGeoCd := to_number(substrb(arp_ship_from_add, 2, 9));
2502 inv_in_rec.fJurisSFInCi := case substrb(arp_ship_from_add, 1, 1)
2503 when 'X' then NULL
2504 when '1' then TRUE
2505 when '0' then FALSE
2506 else NULL
2507 end ;
2508 END IF;
2509
2510 IF substrb(nvl(arp_ship_to_add,'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2511 inv_in_rec.fJurisSTGeoCd := null;
2512 inv_in_rec.fJurisSTInCi := null;
2513 ELSE
2514 inv_in_rec.fJurisSTGeoCd := to_number(substrb(arp_ship_to_add, 2, 9));
2515 inv_in_rec.fJurisSTInCi := case substrb(arp_ship_to_add, 1, 1)
2516 when 'X' then NULL
2517 when '1' then TRUE
2518 when '0' then FALSE
2519 else NULL
2520 end ;
2521 END IF;
2522
2523 IF substrb(nvl(arp_poa_add_code,'XXXXXXXXX'), 2,9)='XXXXXXXXX' THEN
2524 inv_in_rec.fJurisOAGeoCd := null;
2525 inv_in_rec.fJurisOAInCi := null;
2526 ELSE
2527 inv_in_rec.fJurisOAGeoCd := to_number(substrb(arp_poa_add_code, 2, 9));
2528 inv_in_rec.fJurisOAInCi := case substrb(arp_poa_add_code, 1, 1)
2529 when 'X' then NULL
2530 when '1' then TRUE
2531 when '0' then FALSE
2532 else NULL
2533 end ;
2534 END IF;
2535 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2536 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSFGeoCd :'||inv_in_rec.fJurisSFGeoCd );
2537 -- FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSFInCi :'||inv_in_rec.fJurisSFInCi );
2538 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSTGeoCd :'||inv_in_rec.fJurisSTGeoCd );
2539 --FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisSTInCi :'||inv_in_rec.fJurisSTInCi );
2540 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisOAGeoCd :'||inv_in_rec.fJurisOAGeoCd );
2541 --FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fJurisOAInCi :'||inv_in_rec.fJurisOAInCi );
2542 END IF;
2543
2544 inv_in_rec.fTDMCustCd := arp_customer_code;
2545 inv_in_rec.fTDMCustClassCd := arp_customer_class;
2546 inv_in_rec.fTDMCompCd := arp_company_code; -- Bug 5007293
2547 inv_in_rec.fInvIdNum := to_char(arp_trx_number);
2548 inv_in_rec.fTDMDivCd := arp_division_code;
2549 --Bug Fix: 4950901
2550 /*-----------------------------------------------------------
2551 | The transaction type identifies the type of transaction |
2552 | being processed. |
2553 -----------------------------------------------------------*/
2554 IF arp_trx_line_type = 'PURCHASE' THEN
2555 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypePurchase;
2556 ELSIF arp_trx_line_type = 'RENTAL' THEN
2557 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeRentLease;
2558 ELSIF arp_trx_line_type = 'LEASE' THEN
2559 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeRentLease;
2560 ELSIF arp_trx_line_type = 'SALE' THEN
2561 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeSale;
2562 ELSIF arp_trx_line_type = 'SERVICE' THEN
2563 line_in_tab(1).fTransType := ZX_TAX_VERTEX_QSU.cQSUTransTypeService;
2564 END IF;
2565 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2566 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransType :'||to_char(line_in_tab(1).fTransType));
2567 END IF;
2568 --End of Bug Fix : 4950901
2569 line_in_tab(1).fTransDate := arp_transaction_date;
2570 line_in_tab(1).fTransUserArea := to_char(arp_trx_id);
2571 line_in_tab(1).fTDMProdCd := arp_product_code;
2572
2573 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2574 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCustCd : '||inv_in_rec.fTDMCustCd );
2575 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCustClassCd : '||inv_in_rec.fTDMCustClassCd );
2576 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMCompCd : '||inv_in_rec.fTDMCompCd );
2577 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fInvIdNum : '||inv_in_rec.fInvIdNum );
2578 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'inv_in_rec.fTDMDivCd : '||inv_in_rec.fTDMDivCd );
2579 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransType : '||line_in_tab(1).fTransType );
2580 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTransDate : '||line_in_tab(1).fTransDate );
2581 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'line_in_tab(1).fTDMProdCd : '||line_in_tab(1).fTDMProdCd );
2582 END IF;
2583 END IF;
2584
2585 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2586 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2587 ' pg_ship_to_loc_id_tab before hz_locations : '||pg_ship_to_loc_id_tab(i));
2588 END IF;
2589 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2590 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2591 ' pg_bill_to_loc_id_tab before hz_locations : '||pg_bill_to_loc_id_tab(i));
2592 END IF;
2593
2594
2595 if(inv_in_rec.fJurisSTGeoCd is null) then
2596 BEGIN
2597 SELECT loc.STATE, loc.COUNTY, loc.CITY, substrb(loc.POSTAL_CODE,1,5)
2598 INTO inv_in_rec.fJurisSTStAbbrv
2599 ,inv_in_rec.fJurisSTCoName
2600 ,inv_in_rec.fJurisSTCiName
2601 ,inv_in_rec.fJurisSTZipCd
2602 FROM hz_locations loc
2603 WHERE loc.location_id = NVL(pg_ship_to_loc_id_tab(I),pg_bill_to_loc_id_tab(I));
2604 EXCEPTION
2605 WHEN OTHERS THEN
2606 inv_in_rec.fJurisSTStAbbrv := NULL;
2607 inv_in_rec.fJurisSTCoName := NULL;
2608 inv_in_rec.fJurisSTCiName := NULL;
2609 inv_in_rec.fJurisSTZipCd := NULL;
2610 END;
2611 l_location_info_rec.state := inv_in_rec.fJurisSTStAbbrv;
2612 l_location_info_rec.county := inv_in_rec.fJurisSTCoName;
2613 l_location_info_rec.city := inv_in_rec.fJurisSTCiName;
2614 l_location_info_rec.postal_code := inv_in_rec.fJurisSTZipCd;
2615 /*Calling GET_GEOCODE function for fetching geocode value*/
2616 inv_in_rec.fJurisSTGeoCd :=get_geocode(l_location_info_rec);
2617 end if;
2618
2619 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2620 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'l_document_type : '||l_document_type );
2621 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'l_line_level_action :'||l_line_level_action );
2622 END IF;
2623
2624 IF (l_document_type in ('INVOICE', 'DEBIT_MEMO', 'ON_ACCT_CREDIT_MEMO')) THEN
2625 IF (l_line_level_action IN ('CREATE','DELETE','CANCEL')) THEN
2626 inv_in_rec.fInvDate := pg_trx_date_tab(i);
2627 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdNormal;
2628
2629 IF l_line_level_action = 'CREATE' THEN
2630 line_in_tab(1).fTransExtendedAmt := pg_line_amount_tab(I);
2631 line_in_tab(1).fPriStExmtAmt := pg_line_numeric1_tab(i) * pg_line_amount_tab(I)/100;
2632 line_in_tab(1).fPriCoExmtAmt := pg_line_numeric2_tab(i) * pg_line_amount_tab(I)/100;
2633 line_in_tab(1).fPriCiExmtAmt := pg_line_numeric3_tab(i) * pg_line_amount_tab(I)/100;
2634 line_in_tab(1).fPriDiExmtAmt := pg_line_numeric4_tab(i) * pg_line_amount_tab(I)/100;
2635 ELSE
2636 line_in_tab(1).fTransExtendedAmt := -1 * pg_line_amount_tab(I);
2637 line_in_tab(1).fPriStExmtAmt := -1 * pg_line_numeric1_tab(i) * pg_line_amount_tab(I)/100;
2638 line_in_tab(1).fPriCoExmtAmt := -1 * pg_line_numeric2_tab(i) * pg_line_amount_tab(I)/100;
2639 line_in_tab(1).fPriCiExmtAmt := -1 * pg_line_numeric3_tab(i) * pg_line_amount_tab(I)/100;
2640 line_in_tab(1).fPriDiExmtAmt := -1 * pg_line_numeric4_tab(i) * pg_line_amount_tab(I)/100;
2641 END IF;
2642
2643 line_in_tab(1).fTransQuantity :=pg_trx_line_qty_tab(I);
2644
2645 IF (pg_exempt_cont_flag_tab(I)='R') then
2646 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2647 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2648 END IF;
2649
2650 line_in_tab(1).fPriCustExmtCrtfNum := substrb(pg_Line_char3_tab(I), 1, 15);
2651 line_in_tab(1).fPriStExmtRsnCd := SUBSTRB(pg_Line_char4_tab(I),1,1);
2652 line_in_tab(1).fPriCoExmtRsnCd := SUBSTRB(pg_Line_char5_tab(I),1,1);
2653 line_in_tab(1).fPriCiExmtRsnCd := SUBSTRB(pg_Line_char6_tab(I),1,1);
2654 line_in_tab(1).fPriDiExmtRsnCd := SUBSTRB(pg_Line_char7_tab(I),1,1);
2655
2656 ELSE
2657 inv_in_rec.fInvDate := arp_trx_date;
2658 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdNormal;
2659 line_in_tab(1).fTransExtendedAmt :=(-1*arp_line_amount);
2660 line_in_tab(1).fTransQuantity :=arp_quantity;
2661
2662 IF (arp_exemption_control_flag ='R') THEN
2663 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2664 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2665 END IF;
2666
2667 line_in_tab(1).fPriCustExmtCrtfNum := substrb(arp_cert_num, 1, 15);
2668 line_in_tab(1).fPriStExmtRsnCd := SUBSTRB(arp_state_exempt_reason,1,1);
2669 line_in_tab(1).fPriStExmtAmt := (-1 * arp_state_exempt_percent * arp_line_amount/100);
2670
2671 line_in_tab(1).fPriCoExmtRsnCd := SUBSTRB(arp_county_exempt_reason,1,1);
2672 line_in_tab(1).fPriCoExmtAmt := (-1 * arp_county_exempt_pct * arp_line_amount/100);
2673
2674 line_in_tab(1).fPriCiExmtRsnCd := SUBSTRB(arp_city_exempt_reason,1,1);
2675 line_in_tab(1).fPriCiExmtAmt := (-1 * arp_city_exempt_pct * arp_line_amount/100);
2676
2677 line_in_tab(1).fPriDiExmtRsnCd := SUBSTRB(arp_district_exempt_rs,1,1);
2678 line_in_tab(1).fPriDiExmtAmt := (-1 * arp_district_exempt_pct * arp_line_amount/100);
2679 END IF;
2680
2681 ELSIF (l_document_type in ('APPLIED_CREDIT_MEMO')) then
2682 --bug#6831713
2683 BEGIN
2684 SELECT nvl(zd.partner_migrated_flag, 'N') -- Bug 5007293
2685 INTO pg_ugraded_inv_flag_tab(I)
2686 FROM ZX_LINES_DET_FACTORS zd
2687 WHERE zd.event_class_mapping_id = pg_adj_doc_doc_type_id_tab(i)
2688 AND zd.trx_id = pg_adj_doc_trx_id_tab(i)
2689 AND zd.trx_line_id = pg_adj_doc_line_id_tab(i)
2690 AND zd.trx_level_type = pg_adj_doc_trx_lev_type_tab(i)
2691 AND EXISTS (SELECT 'Y'
2692 FROM ZX_LINES zl
2693 WHERE zl.application_id = zd.application_id
2694 AND zl.entity_code = zd.entity_code
2695 AND zl.event_class_code = zd.event_class_code
2696 AND zd.trx_id = pg_adj_doc_trx_id_tab(i)
2697 AND zd.trx_line_id = pg_adj_doc_line_id_tab(i)
2698 AND zd.trx_level_type = pg_adj_doc_trx_lev_type_tab(i)
2699 AND tax = 'LOCATION'
2700 AND rownum = 1);
2701 EXCEPTION
2702 WHEN OTHERS THEN
2703 pg_ugraded_inv_flag_tab(I) := 'N';
2704 END;
2705
2706 IF (l_line_level_action IN ('CREATE','DELETE','CANCEL')) THEN
2707 inv_in_rec.fInvDate := pg_adj_doc_date_tab(I);
2708 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdNormal;
2709 line_in_tab(1).fTransExtendedAmt :=pg_line_amount_tab(I);
2710 line_in_tab(1).fTransQuantity :=pg_trx_line_qty_tab(I);
2711
2712 IF (pg_exempt_cont_flag_tab(I)='R') THEN
2713 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2714 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2715 END IF;
2716
2717 line_in_tab(1).fPriCustExmtCrtfNum := substrb(pg_Line_char3_tab(I), 1, 15);
2718 line_in_tab(1).fPriStExmtRsnCd := SUBSTRB(pg_Line_char4_tab(I),1,1);
2719 line_in_tab(1).fPriStExmtAmt := pg_line_numeric1_tab(i) *
2720 pg_line_amount_tab(I)/100;
2721
2722 line_in_tab(1).fPriCoExmtRsnCd := SUBSTRB(pg_Line_char5_tab(I),1,1);
2723 line_in_tab(1).fPriCoExmtAmt := pg_line_numeric2_tab(i) *
2724 pg_line_amount_tab(I)/100;
2725 line_in_tab(1).fPriCiExmtRsnCd := SUBSTRB(pg_Line_char6_tab(I),1,1);
2726 line_in_tab(1).fPriCiExmtAmt := pg_line_numeric3_tab(i) *
2727 pg_line_amount_tab(I)/100;
2728 line_in_tab(1).fPriDiExmtRsnCd := SUBSTRB(pg_Line_char7_tab(I),1,1);
2729 line_in_tab(1).fPriDiExmtAmt := pg_line_numeric4_tab(i) *
2730 pg_line_amount_tab(I)/100;
2731
2732 ELSE
2733 inv_in_rec.fInvDate := arp_adjusted_doc_date;
2734 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdNormal;
2735 line_in_tab(1).fTransExtendedAmt :=(-1*arp_line_amount);
2736 line_in_tab(1).fTransQuantity :=arp_quantity;
2737
2738 IF (arp_exemption_control_flag='R') THEN /*Need to check*/
2739 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2740 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2741 END IF;
2742 line_in_tab(1).fPriCustExmtCrtfNum := substrb(arp_cert_num, 1, 15);
2743 line_in_tab(1).fPriStExmtRsnCd := SUBSTRB(arp_state_exempt_reason,1,1);
2744 line_in_tab(1).fPriStExmtAmt := -1 * arp_state_exempt_percent *
2745 arp_line_amount/100;
2746
2747 line_in_tab(1).fPriCoExmtRsnCd := SUBSTRB(arp_county_exempt_reason,1,1);
2748 line_in_tab(1).fPriCoExmtAmt := -1 * arp_county_exempt_pct *
2749 arp_line_amount/100;
2750
2751 line_in_tab(1).fPriCiExmtRsnCd := SUBSTRB(arp_city_exempt_reason,1,1);
2752 line_in_tab(1).fPriCiExmtAmt := -1 * arp_city_exempt_pct *
2753 arp_line_amount/100;
2754 line_in_tab(1).fPriDiExmtRsnCd := SUBSTRB(arp_district_exempt_rs,1,1);
2755 line_in_tab(1).fPriDiExmtAmt := -1 * arp_district_exempt_pct *
2756 arp_line_amount/100;
2757 END IF;
2758
2759 ELSIF (l_document_type IN ('LINE_ONLY_CREDIT_MEMO')) THEN
2760 IF (l_line_level_action IN ('CREATE','DELETE','CANCEL')) THEN
2761 inv_in_rec.fInvDate := pg_adj_doc_date_tab(I);
2762 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdDistributeTax;
2763 line_in_tab(1).fTransExtendedAmt :=pg_line_amount_tab(I);
2764 line_in_tab(1).fTransQuantity :=pg_trx_line_qty_tab(I);
2765 line_in_tab(1).fTransTotalTaxAmt :=0;
2766
2767 if(pg_exempt_cont_flag_tab(I)='R') then
2768 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2769 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2770 end if;
2771 else
2772 inv_in_rec.fInvDate := arp_adjusted_doc_date;
2773 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdDistributeTax;
2774 line_in_tab(1).fTransExtendedAmt :=(-1*arp_line_amount);
2775 line_in_tab(1).fTransQuantity :=arp_quantity;
2776 line_in_tab(1).fTransTotalTaxAmt :=0;
2777
2778 if(arp_exemption_control_flag='R') then /*Need to check*/
2779 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2780 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2781 end if;
2782 end if;
2783
2784 ELSIF l_document_type IN ('TAX_ONLY_CREDIT_MEMO') THEN
2785 IF (l_line_level_action IN ('CREATE','DELETE','CANCEL')) THEN
2786 inv_in_rec.fInvDate := pg_adj_doc_date_tab(I);
2787 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdTaxOnlyCredit;
2788 line_in_tab(1).fTransExtendedAmt := NULL;
2789 line_in_tab(1).fTransQuantity := NULL;
2790
2791 IF (pg_exempt_cont_flag_tab(I)='R') THEN
2792 line_in_tab(1).fProdTxblty := NULL ;
2793 inv_in_rec.fCustTxblty := NULL;
2794 END IF;
2795 line_in_tab(1).fPriStTaxAmt := g_StTaxAmt;
2796 line_in_tab(1).fPriCoTaxAmt := g_CoTaxAmt;
2797 line_in_tab(1).fPriCiTaxAmt := g_CiTaxAmt;
2798 ELSE
2799 inv_in_rec.fInvDate := arp_adjusted_doc_date;
2800 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdTaxOnlyCredit;
2801 line_in_tab(1).fTransExtendedAmt := NULL;
2802 line_in_tab(1).fTransQuantity := NULL;
2803
2804 IF (arp_exemption_control_flag='R') THEN /*Need to check*/
2805 line_in_tab(1).fProdTxblty := NULL ;
2806 inv_in_rec.fCustTxblty := NULL;
2807 END IF;
2808 END IF;
2809 ELSIF l_document_type in ('ADJUSTMENT') THEN
2810 inv_in_rec.fInvDate := pg_trx_date_tab(i);
2811 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdDistributeTax;
2812 line_in_tab(1).fTransExtendedAmt := NULL;
2813 line_in_tab(1).fTransQuantity := NULL;
2814 ELSIF l_document_type in ('TAX_LINE_SYNC'
2815 ,'TAX_ONLY_INVOICE'
2816 ,'TAX_ONLY_ADJUSTMENT') THEN
2817 inv_in_rec.fInvDate := arp_trx_date;
2818 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdDistributeTax;
2819 line_in_tab(1).fTransExtendedAmt := NULL;
2820 line_in_tab(1).fTransQuantity := NULL;
2821 --bug#6831713
2822 line_in_tab(1).fTransTotalTaxAmt := g_TotalTaxAmt;
2823
2824 line_in_tab(1).fPriStTaxAmt := g_StTaxAmt;
2825 line_in_tab(1).fPriCoTaxAmt := g_CoTaxAmt;
2826 line_in_tab(1).fPriCiTaxAmt := g_CiTaxAmt;
2827 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2828 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2829 ' line_in_tab(1).fPriStTaxAmt '||line_in_tab(1).fPriStTaxAmt);
2830 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2831 ' line_in_tab(1).fPriCoTaxAmt '||line_in_tab(1).fPriCoTaxAmt);
2832 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2833 ' line_in_tab(1).fPriCiTaxAmt '||line_in_tab(1).fPriCiTaxAmt);
2834 END IF;
2835
2836 ELSIF (l_document_type in ('SALES_QUOTE')) then -- Bug5927656
2837 inv_in_rec.fInvDate := pg_trx_date_tab(i);
2838 line_in_tab(1).fTransCd := ZX_TAX_VERTEX_QSU.cQSUTransCdNormal;
2839
2840 IF l_line_level_action = 'CREATE' THEN
2841 line_in_tab(1).fTransExtendedAmt := pg_line_amount_tab(I);
2842 END IF;
2843
2844 line_in_tab(1).fTransQuantity :=pg_trx_line_qty_tab(I);
2845
2846 IF (pg_exempt_cont_flag_tab(I)='R') then
2847 line_in_tab(1).fProdTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2848 inv_in_rec.fCustTxblty := ZX_TAX_VERTEX_QSU.cQSUTxbltyTxbl ;
2849 END IF;
2850
2851 line_in_tab(1).fPriCustExmtCrtfNum := substrb(pg_Line_char3_tab(I), 1, 15);
2852 line_in_tab(1).fPriStExmtRsnCd := SUBSTRB(pg_Line_char4_tab(I),1,1);
2853 line_in_tab(1).fPriStExmtAmt := pg_line_numeric1_tab(i) *
2854 pg_line_amount_tab(I)/100;
2855
2856 line_in_tab(1).fPriCoExmtRsnCd := SUBSTRB(pg_Line_char5_tab(I),1,1);
2857 line_in_tab(1).fPriCoExmtAmt := pg_line_numeric2_tab(i) *
2858 pg_line_amount_tab(I)/100;
2859 line_in_tab(1).fPriCiExmtRsnCd := SUBSTRB(pg_Line_char6_tab(I),1,1);
2860 line_in_tab(1).fPriCiExmtAmt := pg_line_numeric3_tab(i) *
2861 pg_line_amount_tab(I)/100;
2862 line_in_tab(1).fPriDiExmtRsnCd := SUBSTRB(pg_Line_char7_tab(I),1,1);
2863 line_in_tab(1).fPriDiExmtAmt := pg_line_numeric4_tab(i) *
2864 pg_line_amount_tab(I)/100;
2865
2866 END IF;
2867
2868 display_output('I');
2869
2870 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2871 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
2872 END IF;
2873
2874 END SET_PARAMETERS;
2875
2876
2877 FUNCTION GET_GEOCODE(p_location_info_rec location_info_rec_type) return VARCHAR2 IS
2878
2879 k INTEGER;
2880 ptr INTEGER;
2881 found BOOLEAN := FALSE;
2882
2883 l_state VARCHAR2(60);
2884 l_county VARCHAR2(60);
2885 l_city VARCHAR2(60);
2886 l_postal_code VARCHAR2(60);
2887 l_geocode BINARY_INTEGER;
2888
2889 retval BOOLEAN := FALSE;
2890
2891 l_api_name CONSTANT VARCHAR2(30) := 'GET_GEOCODE';
2892
2893 BEGIN
2894 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2895 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
2896 END IF;
2897
2898 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2899 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'STATE :'||p_location_info_rec.state );
2900 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'COUNTY :'||p_location_info_rec.county );
2901 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'CITY :'||p_location_info_rec.city );
2902 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'POSTAL CODE :'||p_location_info_rec.postal_code);
2903 END IF;
2904
2905 l_state :=p_location_info_rec.state;
2906 l_county :=p_location_info_rec.county;
2907 l_city :=p_location_info_rec.city;
2908 l_postal_code :=p_location_info_rec.postal_code;
2909
2910
2911 /*---------------------------------------------------
2912 | Look for the conbination from cache |
2913 ---------------------------------------------------*/
2914 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2915 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Look for the combination from cache' );
2916 END IF;
2917 FOR k in 1 .. pg_max_index
2918 LOOP
2919 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2920 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'-- k = '|| to_char(k) );
2921 END IF;
2922 IF (l_state = pg_state(k)) and (l_county = pg_county(k)) and
2923 (l_city = pg_city(k)) and
2924 (l_postal_code = pg_postal_code(k)) THEN
2925 found := TRUE;
2926 ptr := k;
2927 EXIT;
2928 END IF;
2929 END LOOP;
2930
2931 IF NOT found THEN
2932 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2933 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Could not find the combination in the cache.' );
2934 END IF;
2935
2936 BEGIN
2937 /*-------------------------------------------------------
2938 | Call API to set search criteria for finding GeoCode. |
2939 -------------------------------------------------------*/
2940 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2941 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call API to set search criteria for '||
2942 'finding GeoCode.');
2943 END IF;
2944
2945 ZX_TAX_VERTEX_GEO.GeoSetNameCriteria(
2946 search_rec,
2947 ZX_TAX_VERTEX_GEO.cGeoCodeLevelCity,
2948 substrb(l_state, 1, 2),
2949 FALSE,
2950 '',
2951 FALSE,
2952 substrb(l_county, 1, 20),
2953 FALSE,
2954 FALSE,
2955 substrb(l_city, 1, 25),
2956 FALSE,
2957 substrb(l_postal_code, 1, 5),
2958 NULL);
2959 EXCEPTION
2960 WHEN OTHERS THEN
2961 IF (g_level_exception >= g_current_runtime_level ) THEN
2962 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
2963 --x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2964 g_string :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
2965 error_exception_handle(g_string);
2966 --return;
2967
2968 END IF;
2969
2970
2971 END;
2972
2973 BEGIN
2974 /*---------------------------
2975 | Call API to get GeoCode. |
2976 ---------------------------*/
2977 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2978 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call API to get GeoCode.' );
2979 END IF;
2980 retval := ZX_TAX_VERTEX_GEO.GeoRetrieveFirst(search_rec, result_rec);
2981
2982 EXCEPTION
2983 WHEN OTHERS THEN
2984 IF (g_level_exception >= g_current_runtime_level ) THEN
2985 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
2986 END IF;
2987 IF (SQLCODE > -20500) OR (SQLCODE < -20599) THEN
2988 --x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2989 g_string :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
2990 error_exception_handle(g_string);
2991 --return;
2992 END IF;
2993 END;
2994
2995 IF retval = FALSE THEN
2996 /*******No jurisdiction code is found.*******/
2997 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2998 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'No Jurisdiction code is found.' );
2999 END IF;
3000 return '';
3001 ElSE
3002 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3003 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Found the combination from Vendor Table.' );
3004 END IF;
3005 END IF;
3006
3007 BEGIN
3008 /*-----------------------------------------------------------
3009 | Call API to pack GeoCode(Convert state, county, and city |
3010 | GeoCode into one 9-digit GeoCode. |
3011 -----------------------------------------------------------*/
3012 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3013 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call API to pack GeoCode to convert state, '||
3014 'county, and city GeoCode into one 9-digit GeoCode.' );
3015 END IF;
3016
3017 l_geocode :=ZX_TAX_VERTEX_GEO.GeoPackGeoCode( result_rec.fResGeoState,
3018 result_rec.fResGeoCounty,
3019 result_rec.fResGeoCity);
3020
3021 EXCEPTION
3022 WHEN OTHERS THEN
3023 IF (g_level_exception >= g_current_runtime_level ) THEN
3024 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3025 END IF;
3026 IF (SQLCODE > -20500) OR (SQLCODE < -20599) THEN
3027 g_string :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
3028 error_exception_handle(g_string);
3029 return' ';
3030 END IF;
3031 --RAISE;
3032 END;
3033
3034 pg_max_index := pg_max_index + 1;
3035 ptr := pg_max_index;
3036 pg_state( ptr ) := l_state;
3037 pg_county( ptr ) := l_county;
3038 pg_city(ptr ) := l_city;
3039 pg_postal_code( ptr ) := l_postal_code;
3040 pg_geocode( ptr ) := to_char(l_geocode);
3041
3042 BEGIN
3043 /*----------------------------------------------------------
3044 | Call API to find out whether there is another record or |
3045 | not. If there is, then raise error later. |
3046 ----------------------------------------------------------*/
3047 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3048 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call API to find out whether there is another '||
3049 'record or not. If there is, then raise error later.' );
3050 END IF;
3051
3052 retval := ZX_TAX_VERTEX_GEO.GeoRetrieveNext(search_rec, result_rec);
3053
3054 EXCEPTION
3055 WHEN OTHERS THEN
3056 IF (g_level_exception >= g_current_runtime_level ) THEN
3057 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3058 END IF;
3059 IF (SQLCODE > -20500) OR (SQLCODE < -20599) THEN
3060 --x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3061 g_string :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
3062 error_exception_handle(g_string);
3063
3064 END IF;
3065 --RAISE;
3066 return '';
3067 END;
3068
3069 IF retval = TRUE THEN
3070 -- Bug2609220
3071 /*******too_many_rows*******/
3072 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3073 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Too Many Rows for the combination of ST,CNTY,CITY' );
3074 END IF;
3075 return '';
3076 END IF;
3077
3078 ElSE
3079 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3080 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Find the combination from the cache.' );
3081 END IF;
3082 END IF; -- NOT found
3083
3084 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3085 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3086 END IF;
3087
3088 RETURN(pg_geocode( ptr ));
3089
3090 END GET_GEOCODE;
3091
3092
3093
3094 PROCEDURE CALCULATE_TAX(x_return_status OUT NOCOPY VARCHAR2) IS
3095 l_api_name CONSTANT VARCHAR2(30) := 'CALCULATE_TAX';
3096 BEGIN
3097 x_return_status := FND_API.G_RET_STS_SUCCESS;
3098
3099 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3100 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3101 END IF;
3102
3103 /*-----------------------------------------------------------
3104 | Calculate tax for a invoice line. |
3105 -----------------------------------------------------------*/
3106 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3107 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Before calculate '||
3108 to_char(sysdate, 'DD/MON/YYYY HH:MI:SS'));
3109 END IF;
3110
3111 BEGIN
3112 ZX_TAX_VERTEX_QSU.QSUCalculateTaxes(context_rec,
3113 inv_in_rec,
3114 line_in_tab,
3115 inv_out_rec,
3116 line_out_tab,
3117 FALSE);
3118
3119 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3120 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'After calculate '||
3121 to_char(sysdate, 'DD/MON/YYYY HH:MI:SS'));
3122 END IF;
3123 display_output('O');
3124
3125 EXCEPTION
3126 WHEN OTHERS THEN
3127 IF (g_level_exception >= g_current_runtime_level ) THEN
3128 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3129 END IF;
3130 x_return_status := FND_API.G_RET_STS_ERROR;
3131 g_string :='Error in VERTEX tax calulation API:'||to_char(SQLCODE)||SQLERRM;
3132 error_exception_handle(g_string);
3133 return;
3134 END;
3135
3136 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3137 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3138 END IF;
3139
3140 End CALCULATE_TAX;
3141
3142 Procedure WRITE_TO_VERTEX_REPOSITORY(x_return_status OUT NOCOPY VARCHAR2) is
3143 l_api_name CONSTANT VARCHAR2(30) := 'WRITE_TO_VERTEX_REPOSITORY';
3144 Begin
3145
3146 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3147 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3148 END IF;
3149
3150 /*-----------------------------------------------------------
3151 | Write the transaction to register table(regprereturnstbl)|
3152 -----------------------------------------------------------*/
3153
3154 BEGIN
3155 ZX_TAX_VERTEX_QSU.QSUWritePreReturnsData(context_rec,
3156 inv_out_rec,
3157 line_out_tab);
3158 EXCEPTION
3159 WHEN OTHERS THEN
3160 IF (g_level_exception >= g_current_runtime_level ) THEN
3161 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3162 END IF;
3163
3164 g_string :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
3165 error_exception_handle(g_string);
3166 x_return_status := FND_API.G_RET_STS_ERROR;
3167 return;
3168 END;
3169
3170 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3171 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3172 END IF;
3173
3174 END WRITE_TO_VERTEX_REPOSITORY;
3175
3176
3177 PROCEDURE TAX_RESULTS_PROCESSING(
3178 p_tax_lines_tbl IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_lines_tbl_type,
3179 p_currency_tab IN OUT NOCOPY ZX_TAX_PARTNER_PKG.tax_currencies_tbl_type,
3180 x_return_status OUT NOCOPY VARCHAR2) IS
3181
3182 J number;
3183 x_tax_jurisdiction_code ZX_JURISDICTIONS_B.tax_jurisdiction_code%type;
3184 p_location_id NUMBER;
3185 l_regime_code ZX_REGIMES_B.tax_regime_code%type;
3186 state_tax_rate NUMBER; -- state tax rate in %
3187 state_tax_amount NUMBER; -- state tax amount
3188 county_tax_rate NUMBER; -- county tax rate in %
3189 county_tax_amount NUMBER; -- county tax amount
3190 city_tax_rate NUMBER; -- city tax rate in %
3191 city_tax_amount NUMBER; -- city tax amount
3192 dist_tax_rate NUMBER; -- district tax rate in %
3193 dist_tax_amount NUMBER; -- district tax amounts
3194 sec_county_tax_rate NUMBER; -- secondary county tax rate
3195 sec_county_tax_amount NUMBER; -- secondary county tax amount
3196 sec_city_tax_rate NUMBER; -- secondary city tax rate
3197 sec_city_tax_amount NUMBER; -- secondary city tax amount
3198 add_county_tax_rate NUMBER; -- additional county tax rate in %
3199 add_county_tax_amount NUMBER; -- additional county tax amount
3200 add_city_tax_rate NUMBER; -- additional city tax rate in %
3201 add_city_tax_amount NUMBER; -- additional city tax amount
3202 add_dist_tax_rate NUMBER; -- additional district tax rate in %
3203 add_dist_tax_amount NUMBER; -- additional district tax amount
3204 l_situs VARCHAR2(20);
3205 ind NUMBER;
3206
3207 l_api_name CONSTANT VARCHAR2(30) := 'TAX_RESULTS_PROCESSING';
3208 l_return_status VARCHAR2(30);
3209
3210 Begin
3211 x_return_status := FND_API.G_RET_STS_SUCCESS;
3212
3213 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3214 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3215 END IF;
3216
3217 l_regime_code := zx_tax_partner_pkg.g_tax_regime_code;
3218 p_currency_tab(1).tax_currency_precision := 2; -- Bug 5288518
3219 /*-------------------------------------------------------------
3220 | Populate Tax Amounts and Rates |
3221 -----------------------------------------------------------*/
3222 /* State tax rate */
3223 state_tax_rate := round(line_out_tab(1).fPriStRate * 100, 6);
3224 /* State tax amount */
3225 state_tax_amount := line_out_tab(1).fPriStTaxAmt;
3226 /* County tax rate */
3227 county_tax_rate := round(line_out_tab(1).fPriCoRate * 100, 6);
3228 /* County tax amount */
3229 county_tax_amount := line_out_tab(1).fPriCoTaxAmt;
3230 /* City tax Rate */
3231 city_tax_rate := round(line_out_tab(1).fPriCiRate * 100, 6);
3232 /* City tax amount */
3233 city_tax_amount := line_out_tab(1).fPriCiTaxAmt;
3234 /* District tax rate */
3235 dist_tax_rate := round(line_out_tab(1).fPriDiRate * 100, 6);
3236 /* District tax amount */
3237 dist_tax_amount := line_out_tab(1).fPriDiTaxAmt;
3238
3239 /*-----------------------------------------------------------
3240 | Populate Secondary Tax Amounts and Rates |
3241 -----------------------------------------------------------*/
3242 IF line_out_tab(1).fPriDiAppliesTo = ZX_TAX_VERTEX_QSU.cQSUDiApplyCi THEN
3243 sec_county_tax_rate := 0;
3244 sec_county_tax_amount := 0;
3245 sec_city_tax_rate := dist_tax_rate;
3246 sec_city_tax_amount := dist_tax_amount;
3247 ELSE
3248 sec_county_tax_rate := dist_tax_rate;
3249 sec_county_tax_amount := dist_tax_amount;
3250 sec_city_tax_rate := 0;
3251 sec_city_tax_amount := 0;
3252 END IF;
3253
3254
3255 /*-----------------------------------------------------------
3256 | Populate Additional Tax Amounts and Rates |
3257 -----------------------------------------------------------*/
3258 /* County tax rate */
3259 add_county_tax_rate := line_out_tab(1).fAddCoRate * 100;
3260 /* County tax amount */
3261 add_county_tax_amount := line_out_tab(1).fAddCoTaxAmt;
3262 /* City tax Rate */
3263 add_city_tax_rate := line_out_tab(1).fAddCiRate * 100;
3264 /* City tax amount */
3265 add_city_tax_amount := line_out_tab(1).fAddCiTaxAmt;
3266 /* District tax rate */
3267 add_dist_tax_rate := line_out_tab(1).fAddDiRate * 100;
3268 /* District tax amount */
3269 add_dist_tax_amount := line_out_tab(1).fAddDiTaxAmt;
3270
3271 IF line_out_tab(1).fAddDiAppliesTo = ZX_TAX_VERTEX_QSU.cQSUDiApplyCi THEN
3272 add_city_tax_rate := round(add_city_tax_rate + add_dist_tax_rate, 6);
3273 add_city_tax_amount := add_city_tax_amount + add_dist_tax_amount;
3274 ELSE
3275 add_county_tax_rate := round(add_county_tax_rate + add_dist_tax_rate, 6);
3276 add_county_tax_amount := add_county_tax_amount + add_dist_tax_amount;
3277 END IF;
3278
3279 IF line_out_tab(1).fPriTaxingJuris = 0 then
3280 l_situs := 'SHIP_TO';
3281 ELSIF line_out_tab(1).fPriTaxingJuris = 1 then
3282 l_situs := 'SHIP_FROM';
3283 ELSIF line_out_tab(1).fPriTaxingJuris = 2 then
3284 l_situs := 'POA';
3285 ELSE null;
3286 END IF;
3287
3288 IF l_situs = 'SHIP_TO' THEN
3289 /* Bug 5090593: Making use of the location ids passed thru view.
3290 select nvl(ship_to_location_id, bill_to_location_id)
3291 INTO p_location_id
3292 From zx_lines_det_factors
3293 WHERE event_class_mapping_id = pg_doc_type_id_tab(I) and
3294 trx_id = pg_trx_id_tab(I) and
3295 trx_line_id = pg_trx_line_id_tab(I) and
3296 trx_level_type = pg_trx_level_type_tab(I);
3297 */
3298 p_location_id := nvl(pg_ship_to_loc_id_tab(I), pg_bill_to_loc_id_tab(I));
3299
3300 ELSIF l_situs = 'SHIP_FROM' THEN
3301 /* Bug 5090593: Making use of the location ids passed thru view.
3302 select nvl(ship_from_location_id, bill_from_location_id)
3303 INTO p_location_id
3304 From zx_lines_det_factors
3305 WHERE event_class_mapping_id = pg_doc_type_id_tab(I) and
3306 trx_id = pg_trx_id_tab(I) and
3307 trx_line_id = pg_trx_line_id_tab(I) and
3308 trx_level_type = pg_trx_level_type_tab(I);
3309 */
3310 p_location_id := nvl(pg_ship_fr_loc_id_tab(I), pg_bill_fr_loc_id_tab(I));
3311 ELSE null;
3312 END IF;
3313
3314 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3315 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Displaying for the transaction line : '||I);
3316 End If;
3317
3318 --bug#6831713
3319 IF pg_ugraded_inv_flag_tab(I) = 'Y' THEN
3320 p_tax_lines_tbl.document_type_id(i) := pg_doc_type_id_tab(I);
3321 p_tax_lines_tbl.transaction_id(i) := pg_trx_id_tab(I);
3322 p_tax_lines_tbl.transaction_line_id(i) := pg_trx_line_id_tab(I);
3323 p_tax_lines_tbl.trx_level_type(i) := pg_trx_level_type_tab(I);
3324 p_tax_lines_tbl.country_code(i) := l_regime_code ;
3325 p_tax_lines_tbl.situs(i) := l_situs;
3326 p_tax_lines_tbl.tax_currency_code(i) := p_currency_tab(1).tax_currency_code;
3327 p_tax_lines_tbl.Inclusive_tax_line_flag(i) := 'N';
3328 p_tax_lines_tbl.Line_amt_includes_tax_flag(i) := 'N';
3329 p_tax_lines_tbl.use_tax_flag(i) := 'N';
3330 p_tax_lines_tbl.User_override_flag(i) := 'N'; -- Need to see if different for override_tax
3331 p_tax_lines_tbl.last_manual_entry(i) := NULL;
3332 p_tax_lines_tbl.manually_entered_flag(i) := 'N'; -- Need to see if different for override_tax
3333 p_tax_lines_tbl.registration_party_type(i) := NULL; -- Bug 5288518
3334 p_tax_lines_tbl.party_tax_reg_number(i) := NULL; -- Bug 5288518
3335 p_tax_lines_tbl.third_party_tax_reg_number(i) := NULL;
3336 p_tax_lines_tbl.threshold_indicator_flag(i) := Null;
3337 p_tax_lines_tbl.State(i) := inv_out_rec.fJurisSTStAbbrv;
3338 p_tax_lines_tbl.County(i) := inv_out_rec.fJurisSTCoName;
3339 p_tax_lines_tbl.City(i) := inv_out_rec.fJurisSTCiName;
3340 p_tax_lines_tbl.tax_only_line_flag(i) := 'N';
3341 p_tax_lines_tbl.Tax(i) := 'LOCATION';
3342 p_tax_lines_tbl.tax_amount(i) := line_out_tab(1).fPriStTaxAmt
3343 + (county_tax_amount + sec_county_tax_amount + add_county_tax_amount)
3344 + (city_tax_amount + sec_city_tax_amount + add_city_tax_amount);
3345 --added them
3346 p_tax_lines_tbl.unrounded_tax_amount(i) := line_out_tab(1).fPriStTaxAmt
3347 + (county_tax_amount + sec_county_tax_amount + add_county_tax_amount)
3348 + (city_tax_amount + sec_city_tax_amount + add_city_tax_amount);
3349 p_tax_lines_tbl.tax_curr_tax_amount(i) := p_tax_lines_tbl.tax_amount(i) * p_currency_tab(1).exchange_rate;
3350 p_tax_lines_tbl.tax_rate_percentage(i) := state_tax_rate
3351 + (county_tax_rate + sec_county_tax_rate + add_county_tax_rate)
3352 + (city_tax_rate + sec_city_tax_rate + add_city_tax_rate);
3353
3354 p_tax_lines_tbl.taxable_amount(i) := line_out_tab(1).fPriStTaxedAmt;
3355
3356 p_tax_lines_tbl.tax_jurisdiction(i) := NULL;
3357 -- Can alternatively call GET_TAX_JUR_CODE for tax = 'CITY' (lowest level jurisdiction)
3358
3359 p_tax_lines_tbl.global_attribute_category(i) := 'VERTEX';
3360 p_tax_lines_tbl.global_attribute2(i) := to_char(line_out_tab(1).fPriStTaxAmt);
3361 p_tax_lines_tbl.global_attribute4(i) := to_char((county_tax_amount + sec_county_tax_amount + add_county_tax_amount));
3362 p_tax_lines_tbl.global_attribute6(i) := to_char((city_tax_amount + sec_city_tax_amount + add_city_tax_amount));
3363
3364
3365 p_tax_lines_tbl.exempt_reason(i) :=line_out_tab(1).fPriStExmtRsnCd;
3366
3367 IF (NVL(line_out_tab(1).fPriStExmtAmt, 0) + NVL(line_out_tab(1).fPriCoExmtAmt, 0)
3368 + NVL(line_out_tab(1).fPriCiExmtAmt, 0)) <> 0 THEN
3369 IF (line_out_tab(1).fTransExtendedAmt <> 0) then
3370 p_tax_lines_tbl.exempt_rate_modifier(i) := (line_out_tab(1).fPriStExmtAmt +
3371 line_out_tab(1).fPriCoExmtAmt +
3372 line_out_tab(1).fPriCiExmtAmt)/
3373 line_out_tab(1).fTransExtendedAmt;
3374 p_tax_lines_tbl.exempt_certificate_number(i) := line_out_tab(1).fPriCustExmtCrtfNum;
3375 ELSE
3376 p_tax_lines_tbl.exempt_rate_modifier(i) := 0;
3377 p_tax_lines_tbl.exempt_certificate_number(i) := NULL;
3378 END IF;
3379 ELSE
3380 p_tax_lines_tbl.exempt_rate_modifier(i) := 0;
3381 p_tax_lines_tbl.exempt_certificate_number(i) := NULL;
3382 END IF;
3383
3384 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3385 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'tax line output ');
3386 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.document_type_id('||i||') = '|| to_char(p_tax_lines_tbl.document_type_id(i)));
3387 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.transaction_id('||i||') = '|| to_char(p_tax_lines_tbl.transaction_id(i)));
3388 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.transaction_line_id('||i||') = '||
3389 to_char(p_tax_lines_tbl.transaction_line_id(i)));
3390 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.trx_level_type('||i||') = '||
3391 p_tax_lines_tbl.trx_level_type(i));
3392 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.country_code('||i||') = '|| p_tax_lines_tbl.country_code(i));
3393 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.Tax('||i||') = '|| p_tax_lines_tbl.Tax(i));
3394 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.situs('||i||') = '|| p_tax_lines_tbl.situs(i));
3395 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_jurisdiction('||i||') = '||
3396 p_tax_lines_tbl.tax_jurisdiction(i));
3397 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.tax_currency_code('||i||') = '|| p_tax_lines_tbl.tax_currency_code(i));
3398 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT('||i||') = '||
3399 to_char(p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(i)));
3400 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_amount('||i||') = '|| to_char(p_tax_lines_tbl.tax_amount(i)));
3401 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_rate_percentage('||i||') = '||
3402 to_char(p_tax_lines_tbl.tax_rate_percentage(i)));
3403 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.taxable_amount('||i||') = '||
3404 to_char(p_tax_lines_tbl.taxable_amount(i)));
3405 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.State('||i||') = '|| p_tax_lines_tbl.State(i));
3406 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.County('||i||') = '|| p_tax_lines_tbl.County(i));
3407 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.City('||i||') = '|| p_tax_lines_tbl.City(i));
3408 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.unrounded_tax_amount('||i||') = '||
3409 to_char(p_tax_lines_tbl.unrounded_tax_amount(i)));
3410 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' line_out_tab(1).fPriCustExmtCrtfNum = '||
3411 line_out_tab(1).fPriCustExmtCrtfNum);
3412 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.exempt_certificate_number('||i||') = '||
3413 p_tax_lines_tbl.exempt_certificate_number(i));
3414
3415 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute_category('||i||') = '|| p_tax_lines_tbl.global_attribute_category(i));
3416 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute2('||i||') = '|| p_tax_lines_tbl.global_attribute2(i));
3417 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute4('||i||') = '|| p_tax_lines_tbl.global_attribute4(i));
3418 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.global_attribute6('||i||') = '|| p_tax_lines_tbl.global_attribute6(i));
3419
3420 END IF;
3421
3422 ELSE
3423 For J in 1..3
3424 loop
3425 /*Bug fix :4941881 , As we are processing all the transaction lines in one time,we need to use index accordingly*/
3426 ind:=j+(3*i-3);
3427 p_tax_lines_tbl.document_type_id(ind) := pg_doc_type_id_tab(I);
3428 p_tax_lines_tbl.transaction_id(ind) := pg_trx_id_tab(I);
3429 p_tax_lines_tbl.transaction_line_id(ind) := pg_trx_line_id_tab(I);
3430 p_tax_lines_tbl.trx_level_type(ind) := pg_trx_level_type_tab(I);
3431 p_tax_lines_tbl.country_code(ind) := l_regime_code ;
3432 p_tax_lines_tbl.situs(ind) := l_situs;
3433 p_tax_lines_tbl.tax_currency_code(ind) := p_currency_tab(1).tax_currency_code;
3434 p_tax_lines_tbl.Inclusive_tax_line_flag(ind) := 'N';
3435 p_tax_lines_tbl.Line_amt_includes_tax_flag(ind) := 'N';
3436 p_tax_lines_tbl.use_tax_flag(ind) := 'N';
3437 p_tax_lines_tbl.User_override_flag(ind) := 'N'; -- Need to see if different for override_tax
3438 p_tax_lines_tbl.last_manual_entry(ind) := NULL;
3439 p_tax_lines_tbl.manually_entered_flag(ind) := 'N'; -- Need to see if different for override_tax
3440 p_tax_lines_tbl.registration_party_type(ind) := NULL; -- Bug 5288518
3441 p_tax_lines_tbl.party_tax_reg_number(ind) := NULL; -- Bug 5288518
3442 p_tax_lines_tbl.third_party_tax_reg_number(ind) := NULL;
3443 p_tax_lines_tbl.threshold_indicator_flag(ind) := Null;
3444 p_tax_lines_tbl.State(ind) := inv_out_rec.fJurisSTStAbbrv;
3445 p_tax_lines_tbl.County(ind) := inv_out_rec.fJurisSTCoName;
3446 p_tax_lines_tbl.City(ind) := inv_out_rec.fJurisSTCiName;
3447
3448 p_tax_lines_tbl.global_attribute_category(ind) := 'VERTEX';
3449 p_tax_lines_tbl.global_attribute2(ind) := NULL;
3450 p_tax_lines_tbl.global_attribute4(ind) := NULL;
3451 p_tax_lines_tbl.global_attribute6(ind) := NULL;
3452
3453 if(l_document_type in ('TAX_ONLY_CREDIT_MEMO','TAX_ONLY_ADJUSTMENT')) then
3454 p_tax_lines_tbl.tax_only_line_flag(ind) := 'Y';
3455 else
3456 p_tax_lines_tbl.tax_only_line_flag(ind) := 'N';
3457 end if;
3458
3459 IF J=1 then /*Case for State*/
3460 p_tax_lines_tbl.Tax(ind) := 'STATE';
3461 p_tax_lines_tbl.tax_amount(ind) := line_out_tab(1).fPriStTaxAmt;
3462 p_tax_lines_tbl.unrounded_tax_amount(ind) := line_out_tab(1).fPriStTaxAmt;
3463 p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind) := line_out_tab(1).fPriStTaxAmt*p_currency_tab(1).exchange_rate;
3464 p_tax_lines_tbl.tax_rate_percentage(ind) := state_tax_rate; -- Bug 5162537
3465 p_tax_lines_tbl.taxable_amount(ind) := line_out_tab(1).fPriStTaxedAmt;
3466 IF nvl(line_out_tab(1).fPriStExmtAmt, 0) <> 0 THEN
3467 IF (line_out_tab(1).fTransExtendedAmt <> 0) then
3468 p_tax_lines_tbl.exempt_rate_modifier(ind) := line_out_tab(1).fPriStExmtAmt/line_out_tab(1).fTransExtendedAmt;
3469 p_tax_lines_tbl.exempt_certificate_number(ind) := line_out_tab(1).fPriCustExmtCrtfNum;
3470 ELSE
3471 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3472 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3473 END IF;
3474 ELSE
3475 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3476 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3477 END IF;
3478 p_tax_lines_tbl.exempt_reason(ind) :=line_out_tab(1).fPriStExmtRsnCd;
3479 ELSIF J=2 then
3480 p_tax_lines_tbl.Tax(ind) := 'COUNTY';
3481 p_tax_lines_tbl.tax_amount(ind) :=(county_tax_amount +
3482 sec_county_tax_amount +
3483 add_county_tax_amount);
3484 p_tax_lines_tbl.unrounded_tax_amount(ind) := county_tax_amount +
3485 sec_county_tax_amount +
3486 add_county_tax_amount;
3487 p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind) := p_tax_lines_tbl.tax_amount(ind) *p_currency_tab(1).exchange_rate;
3488 p_tax_lines_tbl.tax_rate_percentage(ind) := county_tax_rate +
3489 sec_county_tax_rate +
3490 add_county_tax_rate;
3491 p_tax_lines_tbl.taxable_amount(ind) := line_out_tab(1).fPriCoTaxedAmt;
3492 IF nvl(line_out_tab(1).fPriCoExmtAmt, 0) <> 0 THEN
3493 IF (line_out_tab(1).fTransExtendedAmt <> 0) then
3494 p_tax_lines_tbl.exempt_rate_modifier(ind) := line_out_tab(1).fPriCoExmtAmt/line_out_tab(1).fTransExtendedAmt;
3495 p_tax_lines_tbl.exempt_certificate_number(ind) := line_out_tab(1).fPriCustExmtCrtfNum;
3496 ELSE
3497 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3498 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3499 END IF;
3500 ELSE
3501 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3502 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3503 END IF;
3504 p_tax_lines_tbl.exempt_reason(ind) :=line_out_tab(1).fPriCoExmtRsnCd;
3505 ELSIF J=3 then
3506
3507 p_tax_lines_tbl.Tax(ind) := 'CITY';
3508 p_tax_lines_tbl.tax_amount(ind) := (city_tax_amount +
3509 sec_city_tax_amount +
3510 add_city_tax_amount);
3511 p_tax_lines_tbl.unrounded_tax_amount(ind) := city_tax_amount +
3512 sec_city_tax_amount +
3513 add_city_tax_amount;
3514 p_tax_lines_tbl.tax_curr_tax_amount(ind) := p_tax_lines_tbl.unrounded_tax_amount(ind)*p_currency_tab(1).exchange_rate;
3515 p_tax_lines_tbl.tax_rate_percentage(ind) := city_tax_rate +
3516 sec_city_tax_rate +
3517 add_city_tax_rate;
3518 p_tax_lines_tbl.taxable_amount(ind) := line_out_tab(1).fPriCiTaxedAmt;
3519 IF nvl(line_out_tab(1).fPriCiExmtAmt, 0) <> 0 THEN
3520 IF (line_out_tab(1).fTransExtendedAmt <> 0) then
3521 p_tax_lines_tbl.exempt_rate_modifier(ind) := line_out_tab(1).fPriCiExmtAmt/line_out_tab(1).fTransExtendedAmt;
3522 p_tax_lines_tbl.exempt_certificate_number(ind) := line_out_tab(1).fPriCustExmtCrtfNum;
3523 ELSE
3524 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3525 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3526 END IF;
3527 ELSE
3528 p_tax_lines_tbl.exempt_rate_modifier(ind) := 0;
3529 p_tax_lines_tbl.exempt_certificate_number(ind) := NULL;
3530 END IF;
3531 p_tax_lines_tbl.exempt_reason(ind) :=line_out_tab(1).fPriCiExmtRsnCd;
3532 else null;
3533 END IF;
3534
3535 delete from zx_jurisdictions_gt;
3536 GET_TAX_JUR_CODE (p_location_id ,
3537 p_tax_lines_tbl.Situs(ind) ,
3538 p_tax_lines_tbl.Tax(ind) ,
3539 l_regime_code ,
3540 inv_out_rec.fInvDate ,
3541 x_tax_jurisdiction_code ,
3542 l_return_status
3543 );
3544
3545 p_tax_lines_tbl.tax_jurisdiction(ind) := x_tax_jurisdiction_code;
3546
3547 delete from zx_jurisdictions_gt;
3548
3549 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3550 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'tax line output ');
3551 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)));
3552 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)));
3553 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.transaction_line_id('||ind||') = '||
3554 to_char(p_tax_lines_tbl.transaction_line_id(ind)));
3555 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.trx_level_type('||ind||') = '||
3556 p_tax_lines_tbl.trx_level_type(ind));
3557 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));
3558 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.Tax('||ind||') = '|| p_tax_lines_tbl.Tax(ind));
3559 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.situs('||ind||') = '|| p_tax_lines_tbl.situs(ind));
3560 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_jurisdiction('||ind||') = '||
3561 p_tax_lines_tbl.tax_jurisdiction(ind));
3562 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));
3563 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT('||ind||') = '||
3564 to_char(p_tax_lines_tbl.TAX_CURR_TAX_AMOUNT(ind)));
3565 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)));
3566 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.tax_rate_percentage('||ind||') = '||
3567 to_char(p_tax_lines_tbl.tax_rate_percentage(ind)));
3568 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.taxable_amount('||ind||') = '||
3569 to_char(p_tax_lines_tbl.taxable_amount(ind)));
3570 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.State('||ind||') = '|| p_tax_lines_tbl.State(ind));
3571 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.County('||ind||') = '|| p_tax_lines_tbl.County(ind));
3572 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_lines_tbl.City('||ind||') = '|| p_tax_lines_tbl.City(ind));
3573 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.unrounded_tax_amount('||ind||') = '||
3574 to_char(p_tax_lines_tbl.unrounded_tax_amount(ind)));
3575 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' line_out_tab(1).fPriCustExmtCrtfNum = '||
3576 line_out_tab(1).fPriCustExmtCrtfNum);
3577 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' p_tax_lines_tbl.exempt_certificate_number('||ind||') = '||
3578 p_tax_lines_tbl.exempt_certificate_number(ind));
3579
3580 -- bug 6831713
3581 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));
3582 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));
3583 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));
3584 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));
3585
3586 END IF;
3587 END LOOP;
3588 END IF;
3589 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3590 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3591 END IF;
3592
3593 END TAX_RESULTS_PROCESSING;
3594
3595
3596 PROCEDURE RESET_PARAMETERS(x_return_status OUT NOCOPY VARCHAR2) IS
3597 l_api_name CONSTANT VARCHAR2(30) := 'RESET_PARAMETERS';
3598 BEGIN
3599
3600 x_return_status := FND_API.G_RET_STS_SUCCESS;
3601
3602 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3603 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3604 END IF;
3605
3606
3607 /*------------------------------------------------------
3608 | Initialize context_rec, inv_in_rec, and line_in_tab.|
3609 ------------------------------------------------------*/
3610 BEGIN
3611 ZX_TAX_VERTEX_QSU.QSUInitializeInvoice(context_rec,
3612 inv_in_rec,
3613 line_in_tab);
3614
3615 EXCEPTION
3616 WHEN OTHERS 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 :='Error in VERTEX API:'||to_char(SQLCODE)||SQLERRM;
3622 error_exception_handle(g_string);
3623 return;
3624 END;
3625
3626
3627 /*-----------------------------------------------------------
3628 | Set default value to the ARP_TAX_VERTEX_QSU.inv_in_rec|
3629 | and line_in_tab. |
3630 -----------------------------------------------------------*/
3631 /* ARP_TAX_VERTEX_QSU.tQSUInvoiceRecord Record Type */
3632
3633 inv_in_rec.fJurisSTGeoCd := NULL;
3634 inv_in_rec.fJurisSTStAbbrv := NULL;
3635 inv_in_rec.fJurisSTCoName := NULL;
3636 inv_in_rec.fJurisSTCiName := NULL;
3637 inv_in_rec.fJurisSTCiCmprssd := NULL;
3638 inv_in_rec.fJurisSTZipCd := NULL;
3639 inv_in_rec.fJurisSTCiSearchCd := NULL;
3640 inv_in_rec.fJurisSTInCi := NULL;
3641 inv_in_rec.fJurisSFGeoCd := NULL;
3642 inv_in_rec.fJurisSFStAbbrv := NULL;
3643 inv_in_rec.fJurisSFCoName := NULL;
3644 inv_in_rec.fJurisSFCiName := NULL;
3645 inv_in_rec.fJurisSFCiCmprssd := NULL;
3646 inv_in_rec.fJurisSFZipCd := NULL;
3647 inv_in_rec.fJurisSFCiSearchCd := NULL;
3648 inv_in_rec.fJurisSFInCi := NULL;
3649 inv_in_rec.fJurisOAGeoCd := NULL;
3650 inv_in_rec.fJurisOAStAbbrv := NULL;
3651 inv_in_rec.fJurisOACoName := NULL;
3652 inv_in_rec.fJurisOACiName := NULL;
3653 inv_in_rec.fJurisOACiCmprssd := NULL;
3654 inv_in_rec.fJurisOAZipCd := NULL;
3655 inv_in_rec.fJurisOACiSearchCd := NULL;
3656 inv_in_rec.fJurisOAInCi := NULL;
3657 inv_in_rec.fInvIdNum := NULL;
3658 inv_in_rec.fInvCntrlNum := NULL;
3659 inv_in_rec.fInvDate := NULL;
3660 inv_in_rec.fInvGrossAmt := NULL;
3661 inv_in_rec.fInvTotalTaxAmt := NULL;
3662 inv_in_rec.fInvNumLineItems := NULL;
3663 inv_in_rec.fTDMCustCd := NULL;
3664 inv_in_rec.fTDMCustClassCd := NULL;
3665 inv_in_rec.fCustTxblty := NULL;
3666 inv_in_rec.fTDMCompCd := NULL;
3667 inv_in_rec.fTDMDivCd := NULL;
3668 inv_in_rec.fTDMStoreCd := NULL;
3669
3670 /* ARP_TAX_VERTEX_QSU.tQSULineItemTable Record Type */
3671 line_in_tab(1).fTransType := NULL;
3672 line_in_tab(1).fTransSubType := NULL;
3673 line_in_tab(1).fTransCd := NULL;
3674 line_in_tab(1).fTransDate := NULL;
3675 line_in_tab(1).fTransExtendedAmt := NULL;
3676 line_in_tab(1).fTransQuantity := NULL;
3677 line_in_tab(1).fTransTotalTaxAmt := NULL;
3678 line_in_tab(1).fTransCombinedRate := NULL;
3679 line_in_tab(1).fTransUserArea := NULL;
3680 line_in_tab(1).fTransStatusCd := NULL;
3681 line_in_tab(1).fTDMProdCd := NULL;
3682 line_in_tab(1).fTDMProdRptngCd := NULL;
3683 line_in_tab(1).fProdTxblty := NULL;
3684 line_in_tab(1).fPriTaxingJuris := NULL;
3685 line_in_tab(1).fPriCustExmtCrtfNum := NULL;
3686 line_in_tab(1).fPriStTxblty := NULL;
3687 line_in_tab(1).fPriStTaxType := NULL;
3688 line_in_tab(1).fPriStTaxedAmt := NULL;
3689 line_in_tab(1).fPriStExmtAmt := NULL;
3690 line_in_tab(1).fPriStExmtRsnCd := NULL;
3691 line_in_tab(1).fPriStNonTxblAmt := NULL;
3692 line_in_tab(1).fPriStNonTxblRsnCd := NULL;
3693 line_in_tab(1).fPriStRate := NULL;
3694 line_in_tab(1).fPriStRateEffDate := NULL;
3695 line_in_tab(1).fPriStRateType := NULL;
3696 line_in_tab(1).fPriStTaxAmt := NULL;
3697 line_in_tab(1).fPriStTaxIncluded := NULL;
3698 line_in_tab(1).fPriCoTxblty := NULL;
3699 line_in_tab(1).fPriCoTaxType := NULL;
3700 line_in_tab(1).fPriCoTaxedAmt := NULL;
3701 line_in_tab(1).fPriCoExmtAmt := NULL;
3702 line_in_tab(1).fPriCoExmtRsnCd := NULL;
3703 line_in_tab(1).fPriCoNonTxblAmt := NULL;
3704 line_in_tab(1).fPriCoNonTxblRsnCd := NULL;
3705 line_in_tab(1).fPriCoRate := NULL;
3706 line_in_tab(1).fPriCoRateEffDate := NULL;
3707 line_in_tab(1).fPriCoRateType := NULL;
3708 line_in_tab(1).fPriCoTaxAmt := NULL;
3709 line_in_tab(1).fPriCoTaxIncluded := NULL;
3710 line_in_tab(1).fPriCoTxblty := NULL;
3711 line_in_tab(1).fPriCiTxblty := NULL;
3712 line_in_tab(1).fPriCiTaxType := NULL;
3713 line_in_tab(1).fPriCiTaxedAmt := NULL;
3714 line_in_tab(1).fPriCiExmtAmt := NULL;
3715 line_in_tab(1).fPriCiExmtRsnCd := NULL;
3716 line_in_tab(1).fPriCiNonTxblAmt := NULL;
3717 line_in_tab(1).fPriCiNonTxblRsnCd := NULL;
3718 line_in_tab(1).fPriCiRate := NULL;
3719 line_in_tab(1).fPriCiRateEffDate := NULL;
3720 line_in_tab(1).fPriCiRateType := NULL;
3721 line_in_tab(1).fPriCiTaxAmt := NULL;
3722 line_in_tab(1).fPriCiTaxIncluded := NULL;
3723 line_in_tab(1).fPriDiTxblty := NULL;
3724 line_in_tab(1).fPriDiTaxType := NULL;
3725 line_in_tab(1).fPriDiTaxedAmt := NULL;
3726 line_in_tab(1).fPriDiExmtAmt := NULL;
3727 line_in_tab(1).fPriDiExmtRsnCd := NULL;
3728 line_in_tab(1).fPriDiNonTxblAmt := NULL;
3729 line_in_tab(1).fPriDiNonTxblRsnCd := NULL;
3730 line_in_tab(1).fPriDiRate := NULL;
3731 line_in_tab(1).fPriDiRateEffDate := NULL;
3732 line_in_tab(1).fPriDiRateType := NULL;
3733 line_in_tab(1).fPriDiTaxAmt := NULL;
3734 line_in_tab(1).fPriDiTaxIncluded := NULL;
3735 line_in_tab(1).fPriDiAppliesTo := NULL;
3736 line_in_tab(1).fAddTaxingJuris := NULL;
3737 line_in_tab(1).fAddCustExmtCrtfNum := NULL;
3738 line_in_tab(1).fAddCoTxblty := NULL;
3739 line_in_tab(1).fAddCoTaxType := NULL;
3740 line_in_tab(1).fAddCoTaxedAmt := NULL;
3741 line_in_tab(1).fAddCoExmtAmt := NULL;
3742 line_in_tab(1).fAddCoExmtRsnCd := NULL;
3743 line_in_tab(1).fAddCoNonTxblAmt := NULL;
3744 line_in_tab(1).fAddCoNonTxblRsnCd := NULL;
3745 line_in_tab(1).fAddCoRate := NULL;
3746 line_in_tab(1).fAddCoRateEffDate := NULL;
3747 line_in_tab(1).fAddCoRateType := NULL;
3748 line_in_tab(1).fAddCoTaxAmt := NULL;
3749 line_in_tab(1).fAddCoTaxIncluded := NULL;
3750 line_in_tab(1).fAddCiTxblty := NULL;
3751 line_in_tab(1).fAddCiTaxType := NULL;
3752 line_in_tab(1).fAddCiTaxedAmt := NULL;
3753 line_in_tab(1).fAddCiExmtAmt := NULL;
3754 line_in_tab(1).fAddCiExmtRsnCd := NULL;
3755 line_in_tab(1).fAddCiNonTxblAmt := NULL;
3756 line_in_tab(1).fAddCiNonTxblRsnCd := NULL;
3757 line_in_tab(1).fAddCiRate := NULL;
3758 line_in_tab(1).fAddCiRateEffDate := NULL;
3759 line_in_tab(1).fAddCiRateType := NULL;
3760 line_in_tab(1).fAddCiTaxAmt := NULL;
3761 line_in_tab(1).fAddCiTaxIncluded := NULL;
3762 line_in_tab(1).fAddDiTxblty := NULL;
3763 line_in_tab(1).fAddDiTaxType := NULL;
3764 line_in_tab(1).fAddDiTaxedAmt := NULL;
3765 line_in_tab(1).fAddDiExmtAmt := NULL;
3766 line_in_tab(1).fAddDiExmtRsnCd := NULL;
3767 line_in_tab(1).fAddDiNonTxblAmt := NULL;
3768 line_in_tab(1).fAddDiNonTxblRsnCd := NULL;
3769 line_in_tab(1).fAddDiRate := NULL;
3770 line_in_tab(1).fAddDiRateEffDate := NULL;
3771 line_in_tab(1).fAddDiRateType := NULL;
3772 line_in_tab(1).fAddDiTaxAmt := NULL;
3773 line_in_tab(1).fAddDiTaxIncluded := NULL;
3774 line_in_tab(1).fAddDiAppliesTo := NULL;
3775
3776 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3777 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3778 END IF;
3779 END RESET_PARAMETERS;
3780
3781 PROCEDURE CREATE_TAX_LINE(
3782 p_tax in varchar2,
3783 p_amount in number,
3784 x_return_status OUT NOCOPY VARCHAR2) IS
3785
3786 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TAX_LINE';
3787 l_return_Status VARCHAR2(30);
3788 BEGIN
3789 x_return_status := FND_API.G_RET_STS_SUCCESS;
3790
3791 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3792 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3793 END IF;
3794
3795 /* For Tax only Credit Memo and Tax only adjustment, user does not enter the
3796 tax lines manually. Instead, the tax lines are calculated/prorated by eBTax.
3797 The number of tax lines for the trx line can be known.
3798 Hence, we can consoliate all the tax lines and make 1 call to Vertex engine.
3799 The ELSE clause of this IF statement handles the manually entered tax lines.
3800 */
3801 IF l_document_type in ('TAX_ONLY_CREDIT_MEMO'
3802 ,'TAX_ONLY_ADJUSTMENT') THEN
3803
3804 l_line_level_action:='CREATE';
3805
3806 IF (p_tax='STATE') THEN
3807 g_StTaxAmt := p_amount;
3808 ELSIF (p_tax='COUNTY') THEN
3809 g_CoTaxAmt := p_amount;
3810 ELSIF (p_tax='CITY') THEN
3811 g_CiTaxAmt := p_amount;
3812 END IF;
3813
3814 IF NOT l_trx_line_context_changed THEN
3815 RETURN;
3816 END IF;
3817
3818 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3819 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
3820 'Encountered the last tax line for the trx line.');
3821 END IF;
3822
3823 ELSE
3824
3825 IF l_document_type IN ('TAX_ONLY_INVOICE') THEN
3826 l_line_level_action:='CREATE';
3827 ELSE
3828 l_line_level_action:='TAX_LINE_DELETE';
3829 l_document_type := 'TAX_LINE_SYNC';
3830 END IF;
3831
3832 IF (p_tax='STATE') THEN
3833 g_TotalTaxAmt := p_amount; -- Bug 6831713
3834 g_StTaxAmt := p_amount;
3835 g_CoTaxAmt := 0;
3836 g_CiTaxAmt := 0;
3837 ELSIF (p_tax='COUNTY') THEN
3838 g_TotalTaxAmt := p_amount; -- Bug 6831713
3839 g_StTaxAmt := 0;
3840 g_CoTaxAmt := p_amount;
3841 g_CiTaxAmt := 0;
3842 ELSIF (p_tax='CITY') THEN
3843 g_TotalTaxAmt := p_amount; -- Bug 6831713
3844 g_StTaxAmt := 0;
3845 g_CoTaxAmt := 0;
3846 g_CiTaxAmt := p_amount;
3847 ELSIF (p_tax='LOCATION') THEN -- Bug 6831713
3848 g_TotalTaxAmt := p_amount;
3849 g_StTaxAmt := 0;
3850 g_CoTaxAmt := 0;
3851 g_CiTaxAmt := 0;
3852 /* Ideally, we should implement g_StTaxAmt := p_amount * GA_2 / (GA_2 + GA_4 + GA_6)
3853 g_CoTaxAmt := p_amount * GA_4 / (GA_2 + GA_4 + GA_6)
3854 g_CiTaxAmt := p_amount * GA_6 / (GA_2 + GA_4 + GA_6)
3855 With above implementation we are relying on Vertex to distribute amounts */
3856 END IF;
3857
3858 END IF;
3859
3860 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3861 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax : '||p_tax );
3862 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_amount : '||p_amount);
3863 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_StTaxAmt : '||g_StTaxAmt);
3864 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_CoTaxAmt : '||g_CoTaxAmt);
3865 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_CiTaxAmt : '||g_CiTaxAmt);
3866 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'g_TotalTaxAmt : '||g_TotalTaxAmt);
3867 END IF;
3868
3869 RESET_PARAMETERS(l_return_status);
3870 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3871 IF (g_level_exception >= g_current_runtime_level ) THEN
3872 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3873 END IF;
3874 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3875 g_string :='Failed in RESET_PARAMETERS procedure';
3876 error_exception_handle(g_string);
3877 return;
3878 END IF;
3879
3880 SET_PARAMETERS(l_return_status);
3881 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3882 IF (g_level_exception >= g_current_runtime_level ) THEN
3883 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3884 END IF;
3885 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3886 g_string :='Failed in SET_PARAMETERS procedure';
3887 error_exception_handle(g_string);
3888 return;
3889 END IF;
3890
3891 CALCULATE_TAX(l_return_status);
3892
3893 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3894 IF (g_level_exception >= g_current_runtime_level ) THEN
3895 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3896 END IF;
3897 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3898 g_string :='Failed in CALCULATE_TAX procedure';
3899 error_exception_handle(g_string);
3900 return;
3901 END IF;
3902
3903 IF (l_document_type = 'TAX_ONLY_ADJUSTMENT') AND pg_Line_char8_tab(I) <> 'Y' THEN
3904 null;
3905 ELSE
3906 WRITE_TO_VERTEX_REPOSITORY(l_return_status);
3907 END IF;
3908
3909 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3910 IF (g_level_exception >= g_current_runtime_level ) THEN
3911 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
3912 END IF;
3913 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3914 g_string :='Failed in WRITE_TO_VERTEX_REPOSITORY procedure';
3915 error_exception_handle(g_string);
3916 return;
3917 END IF;
3918
3919 g_StTaxAmt:= 0;
3920 g_CoTaxAmt:= 0;
3921 g_CiTaxAmt:= 0;
3922 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3923 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
3924 END IF;
3925
3926 END CREATE_TAX_LINE;
3927
3928 Procedure get_doc_and_ext_att_info(p_evnt_cls_mapping_id IN ZX_EVNT_CLS_MAPPINGS.event_class_mapping_id%type,
3929 p_transaction_id IN ZX_LINES.trx_id%type,
3930 p_transaction_line_id IN ZX_LINES.trx_line_id%type,
3931 p_trx_level_type IN ZX_LINES.trx_level_type%type,
3932 p_regime_code IN ZX_LINES.tax_regime_code%type,
3933 p_tax_provider_id IN ZX_LINES.tax_provider_id%type,
3934 x_return_status OUT NOCOPY VARCHAR2 ) is
3935
3936 trx_line_dist_tbl ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%type;
3937 event_class_rec ZX_API_PUB.event_class_rec_type;
3938 l_return_status varchar2(30);
3939 l_APPLICATION_ID number;
3940 l_ENTITY_CODE varchar2(20);
3941 l_EVENT_CLASS_CODE varchar2(20);
3942 l_TRX_ID number;
3943 l_TRX_LINE_ID number;
3944 l_TRX_LEVEL_TYPE VARCHAR2(20);
3945 l_neg_line_gt_exists NUMBER;
3946
3947 l_api_name CONSTANT VARCHAR2(30) := 'GET_DOC_AND_EXT_ATT_INFO';
3948 Begin
3949 x_return_status := FND_API.G_RET_STS_SUCCESS;
3950
3951 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3952 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
3953 END IF;
3954
3955 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3956 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_transaction_id : '||p_transaction_id );
3957 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_transaction_line_id : '||p_transaction_line_id);
3958 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_regime_code : '||p_regime_code);
3959 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax_provider_id : '||p_tax_provider_id);
3960 END IF;
3961
3962 l_neg_line_gt_exists := 0;
3963 BEGIN
3964 SELECT 1
3965 INTO l_neg_line_gt_exists
3966 FROM zx_ptnr_neg_line_gt
3967 WHERE event_class_mapping_id = p_evnt_cls_mapping_id
3968 AND trx_id = p_transaction_id
3969 AND trx_line_id = p_transaction_line_id
3970 AND trx_level_type = p_trx_level_type;
3971 EXCEPTION
3972 WHEN OTHERS THEN
3973 l_neg_line_gt_exists := 0;
3974 END;
3975
3976 /* For given transaction line id, record already exists in zx_ptnr_neg_line_gt, then there is no need to recreate it */
3977
3978 IF l_neg_line_gt_exists <> 0 THEN
3979 RETURN;
3980 END IF;
3981
3982 BEGIN
3983 SELECT APPLICATION_ID,
3984 ENTITY_CODE ,
3985 EVENT_CLASS_CODE,
3986 TRX_ID ,
3987 TRX_LINE_ID,
3988 TRX_LEVEL_TYPE
3989 INTO l_APPLICATION_ID,
3990 l_ENTITY_CODE ,
3991 l_EVENT_CLASS_CODE,
3992 l_TRX_ID ,
3993 l_TRX_LINE_ID,
3994 l_TRX_LEVEL_TYPE
3995 FROM zx_lines_det_factors
3996 WHERE event_class_mapping_id = p_evnt_cls_mapping_id
3997 AND trx_id = p_transaction_id
3998 AND trx_line_id = p_transaction_line_id
3999 AND trx_level_type = p_trx_level_type;
4000 EXCEPTION
4001 WHEN no_data_found THEN
4002 IF (g_level_exception >= g_current_runtime_level ) THEN
4003 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4004 END IF;
4005 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4006 g_string :='No data found in zx_lines_det_factors ';
4007 error_exception_handle(g_string);
4008 RETURN;
4009 END;
4010
4011
4012 /* Since, we need to pass the item line information associated to the
4013 tax line, populate the trx_line_dist_tbl and pass specific trx_line_id */
4014 trx_line_dist_tbl.application_id(1) :=l_APPLICATION_ID;
4015 trx_line_dist_tbl.TRX_LINE_ID(1) :=l_TRX_LINE_ID;
4016 trx_line_dist_tbl.TRX_LEVEL_TYPE(1) :=l_TRX_LEVEL_TYPE;
4017
4018 event_class_rec.APPLICATION_ID :=l_APPLICATION_ID;
4019 event_class_rec.ENTITY_CODE :=l_ENTITY_CODE;
4020 event_class_rec.EVENT_CLASS_CODE :=l_EVENT_CLASS_CODE;
4021 event_class_rec.TRX_ID :=l_TRX_ID;
4022 --event_class_rec.TRX_LINE_ID :=l_TRX_LINE_ID;
4023
4024
4025 zx_r11i_tax_partner_pkg.copy_trx_line_for_ptnr_bef_upd
4026 (p_trx_line_dist_tbl => trx_line_dist_tbl,
4027 p_event_class_rec => event_class_rec,
4028 p_update_index => 1,
4029 p_trx_copy_for_tax_update => 'Y' ,
4030 p_regime_code => p_regime_code,
4031 p_tax_provider_id => p_tax_provider_id,
4032 x_return_status => l_return_status);
4033
4034 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4035 IF (g_level_exception >= g_current_runtime_level ) THEN
4036 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4037 END IF;
4038 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4039 g_string :='Not able to copy the line information :Failed with an exception';
4040 error_exception_handle(g_string);
4041 return;
4042 END IF;
4043
4044 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4045 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4046 END IF;
4047
4048 END get_doc_and_ext_att_info;
4049
4050 Function CHECK_IN_CACHE(p_internal_organization_id number,
4051 P_document_type_id number,
4052 p_transaction_id number,
4053 p_transaction_line_id number) return boolean is
4054
4055 l_index number;
4056 l_api_name CONSTANT VARCHAR2(30) := 'CHECK_IN_CACHE';
4057 Begin
4058
4059 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4060 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4061 END IF;
4062
4063 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4064 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_INTERNAL_ORGANIZATION_ID : ' || p_internal_organization_id );
4065 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_DOCUMENT_TYPE_ID : '|| P_document_type_id);
4066 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_TRANSACTION_ID : '|| p_transaction_id);
4067 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'P_TRANSACTION_LINE_ID : '|| p_transaction_line_id);
4068 END IF;
4069
4070 For l_index in 1 .. cache_index loop
4071 if(cache_table(l_index).internal_organization_id = p_internal_organization_id and
4072 cache_table(l_index).document_type_id = P_document_type_id and
4073 cache_table(l_index).transaction_id = p_transaction_id and
4074 cache_table(l_index).transaction_line_id = p_transaction_line_id) then
4075
4076 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4077 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Found in the Cache' );
4078 END IF;
4079
4080 Return TRUE;
4081 end if;
4082 end loop;
4083 cache_index :=cache_index+1;
4084 cache_table(cache_index).internal_organization_id := p_internal_organization_id;
4085 cache_table(cache_index).document_type_id := P_document_type_id;
4086 cache_table(cache_index).transaction_id := p_transaction_id;
4087 cache_table(cache_index).transaction_line_id := p_transaction_line_id;
4088
4089 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4090 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Not Found in the Cache' );
4091 END IF;
4092
4093 return FALSE;
4094
4095 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4096 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4097 END IF;
4098
4099 End Check_in_cache;
4100
4101 PROCEDURE POPULATE_SYNC_TAX_AMTS(p_sync_tax_cnt IN NUMBER
4102 , p_tax IN zx_lines.tax%type
4103 , x_output_sync_tax_lines IN OUT NOCOPY zx_tax_partner_pkg.output_sync_tax_lines_tbl_type
4104 , x_return_status OUT NOCOPY VARCHAR2) IS
4105
4106 l_api_name CONSTANT VARCHAR2(30) := 'POPULATE_SYNC_TAX_AMTS';
4107
4108 BEGIN
4109 x_return_status := FND_API.G_RET_STS_SUCCESS;
4110
4111 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4112 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4113 END IF;
4114
4115 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4116 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_sync_tax_cnt : '||p_sync_tax_cnt);
4117 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'p_tax : '||p_tax);
4118 END IF;
4119
4120 /* For Tax only Credit Memo and Tax only adjustment, we consoliate all the tax lines and make 1 call to Vertex engine.
4121 The output is available at the end of the processing of the last tax line.
4122 l_trx_line_context_changed indicates that the tax line being processed is the last tax line for the trx line.
4123 */
4124 IF l_document_type in ('TAX_ONLY_CREDIT_MEMO'
4125 ,'TAX_ONLY_ADJUSTMENT') THEN
4126 IF (p_tax = 'STATE') THEN
4127 l_state_tax_cnt := p_sync_tax_cnt;
4128 ELSIF(p_tax = 'COUNTY') THEN
4129 l_county_tax_cnt := p_sync_tax_cnt;
4130 ELSIF(p_tax = 'CITY') THEN
4131 l_city_tax_cnt := p_sync_tax_cnt;
4132 END IF;
4133 IF l_trx_line_context_changed THEN
4134 IF l_state_tax_cnt IS NOT NULL THEN
4135 x_output_sync_tax_lines(l_state_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriStRate*100;
4136 x_output_sync_tax_lines(l_state_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriStTaxedAmt;
4137 END IF;
4138 IF l_county_tax_cnt IS NOT NULL THEN
4139 x_output_sync_tax_lines(l_county_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriCoRate*100;
4140 x_output_sync_tax_lines(l_county_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriCoTaxedAmt;
4141 END IF;
4142 IF l_city_tax_cnt IS NOT NULL THEN
4143 x_output_sync_tax_lines(l_city_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriCiRate*100;
4144 x_output_sync_tax_lines(l_city_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriCiTaxedAmt;
4145 END IF;
4146 l_state_tax_cnt := null;
4147 l_county_tax_cnt := null;
4148 l_city_tax_cnt := null;
4149 ELSE
4150 RETURN;
4151 END IF;
4152 ELSE
4153 IF (p_tax = 'STATE') THEN
4154 x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriStRate*100;
4155 x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriStTaxedAmt;
4156 ELSIF(p_tax = 'COUNTY') THEN
4157 x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriCoRate*100;
4158 x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriCoTaxedAmt;
4159 ELSIF(p_tax = 'CITY') THEN
4160 x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE := line_out_tab(1).fPriCiRate*100;
4161 x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT := line_out_tab(1).fPriCiTaxedAmt;
4162 END IF;
4163 END IF;
4164
4165 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4166 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE : '||x_output_sync_tax_lines(p_sync_tax_cnt).TAX_RATE_PERCENTAGE);
4167 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT : '||x_output_sync_tax_lines(p_sync_tax_cnt).TAXABLE_AMOUNT);
4168 END IF;
4169
4170 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4171 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4172 END IF;
4173
4174 END POPULATE_SYNC_TAX_AMTS;
4175
4176 PROCEDURE SYNCHRONIZE_VERTEX_REPOSITORY
4177 (x_output_sync_tax_lines OUT NOCOPY zx_tax_partner_pkg.output_sync_tax_lines_tbl_type,
4178 x_return_status OUT NOCOPY varchar2,
4179 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type) IS
4180
4181 CURSOR TAX_LINES_TO_BE_PROCESSED is
4182 SELECT
4183 DOCUMENT_TYPE_ID ,
4184 TRANSACTION_ID ,
4185 TRANSACTION_LINE_ID ,
4186 TRX_LEVEL_TYPE ,
4187 COUNTRY_CODE ,
4188 TAX ,
4189 SITUS ,
4190 TAX_JURISDICTION ,
4191 TAX_CURRENCY_CODE ,
4192 TAX_AMOUNT ,
4193 TAX_CURR_TAX_AMT ,
4194 TAX_RATE_PERCENTAGE ,
4195 TAXABLE_AMOUNT ,
4196 EXEMPT_RATE_MODIFIER ,
4197 EXEMPT_REASON ,
4198 TAX_ONLY_LINE_FLAG ,
4199 INCLUSIVE_TAX_LINE_FLAG ,
4200 USE_TAX_FLAG ,
4201 EBIZ_OVERRIDE_FLAG ,
4202 USER_OVERRIDE_FLAG ,
4203 LAST_MANUAL_ENTRY ,
4204 MANUALLY_ENTERED_FLAG ,
4205 CANCEL_FLAG ,
4206 DELETE_FLAG
4207 FROM ZX_SYNC_TAX_LINES_INPUT_V
4208 ORDER BY DOCUMENT_TYPE_ID,
4209 TRANSACTION_ID,
4210 TRANSACTION_LINE_ID,
4211 TRX_LEVEL_TYPE;
4212
4213
4214 SYNC_TAX_LINES SYNC_TAX_LINES_TBL;
4215 l_internal_organization_id ZX_SYNC_HDR_INPUT_V.internal_organization_id%type;
4216 l_document_type_id ZX_SYNC_HDR_INPUT_V.document_type_id%type;
4217 l_transaction_id ZX_SYNC_HDR_INPUT_V.transaction_id%type;
4218 l_legal_entity_number ZX_SYNC_HDR_INPUT_V.legal_entity_number%type;
4219 l_establishment_number ZX_SYNC_HDR_INPUT_V.establishment_number%type; -- Bug 5139731
4220 l_transaction_line_id ZX_SYNC_TAX_LINES_INPUT_V.transaction_line_id%type;
4221 l_count number;
4222 l_event_type varchar2(20);
4223 l_write_record boolean;
4224 l_event_class_code varchar2(20);
4225 l_application_id number;
4226 l_entity_code varchar2(20);
4227 l_trx_level_type varchar2(20);
4228 l_regime_code ZX_REGIMES_B.tax_regime_code%type;
4229 l_amount number;
4230 l_found boolean;
4231 l_debug_count number;
4232 l_api_name CONSTANT VARCHAR2(30) := 'SYNCHRONIZE_VERTEX_REPOSITORY';
4233 l_return_status varchar2(30);
4234 l_tax_code VARCHAR2(100);
4235 l_tax_type VARCHAR2(100);
4236 l_tax_flag VARCHAR2(5);
4237 l_trx_type_id NUMBER;
4238 l_org_id NUMBER;
4239
4240 char_ctrx_id VARCHAR2(32);
4241 l_trx_number VARCHAR2(150);
4242 l_statements VARCHAR2(2000);
4243 cnt NUMBER;
4244
4245 BEGIN
4246 x_return_status := FND_API.G_RET_STS_SUCCESS;
4247 err_count := 0;
4248
4249 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4250 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4251 END IF;
4252
4253 -- BUG7435393
4254 IF ZX_API_PUB.G_PUB_SRVC <> 'SYNCHRONIZE_TAX_REPOSITORY' THEN
4255 -- BUG7435393
4256
4257 BEGIN
4258 SELECT internal_organization_id,
4259 document_type_id,
4260 transaction_id,
4261 legal_entity_number,
4262 establishment_number
4263 INTO l_internal_organization_id,
4264 l_document_type_id,
4265 l_transaction_id,
4266 l_legal_entity_number,
4267 l_establishment_number -- Bug 5139731
4268 FROM ZX_SYNC_HDR_INPUT_V;
4269 EXCEPTION
4270 WHEN TOO_MANY_ROWS THEN
4271 IF (g_level_exception >= g_current_runtime_level ) THEN
4272 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4273 End if;
4274 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4275 g_string :='More than one row exist at header level';
4276 error_exception_handle(g_string);
4277 RETURN;
4278 END;
4279
4280 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4281 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4282 ' l_transaction_id = ' || l_transaction_id);
4283 BEGIN
4284 SELECT count(*)
4285 INTO l_debug_count
4286 FROM zx_detail_tax_lines_gt;
4287 END;
4288 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4289 ' l_debug_count = ' || l_debug_count);
4290 END IF;
4291
4292 OPEN tax_lines_to_be_processed;
4293
4294 FETCH tax_lines_to_be_processed BULK COLLECT INTO
4295 SYNC_TAX_LINES.document_type_id ,
4296 SYNC_TAX_LINES.transaction_id ,
4297 SYNC_TAX_LINES.transaction_line_id ,
4298 SYNC_TAX_LINES.trx_level_type ,
4299 SYNC_TAX_LINES.country_code ,
4300 SYNC_TAX_LINES.tax ,
4301 SYNC_TAX_LINES.situs ,
4302 SYNC_TAX_LINES.tax_jurisdiction ,
4303 SYNC_TAX_LINES.tax_currency_code ,
4304 SYNC_TAX_LINES.tax_amount ,
4305 SYNC_TAX_LINES.tax_curr_tax_amount ,
4306 SYNC_TAX_LINES.tax_rate_percentage ,
4307 SYNC_TAX_LINES.taxable_amount ,
4308 SYNC_TAX_LINES.exempt_rate_modifier ,
4309 SYNC_TAX_LINES.exempt_reason ,
4310 SYNC_TAX_LINES.tax_only_line_flag ,
4311 SYNC_TAX_LINES.inclusive_tax_line_flag ,
4312 SYNC_TAX_LINES.use_tax_flag ,
4313 SYNC_TAX_LINES.ebiz_override_flag ,
4314 SYNC_TAX_LINES.user_override_flag ,
4315 SYNC_TAX_LINES.last_manual_entry ,
4316 SYNC_TAX_LINES.manually_entered_flag ,
4317 SYNC_TAX_LINES.cancel_flag ,
4318 SYNC_TAX_LINES.delete_flag
4319 LIMIT C_LINES_PER_COMMIT;
4320
4321 BEGIN
4322 SELECT event_class_code
4323 , application_id
4324 , entity_code
4325 INTO l_event_class_code
4326 , l_application_id
4327 , l_entity_code
4328 FROM zx_evnt_cls_mappings
4329 WHERE EVENT_CLASS_MAPPING_ID = SYNC_TAX_LINES.document_type_id(1);
4330 END;
4331
4332 SELECT output_tax_classification_code , receivables_trx_type_id,
4333 internal_organization_id into
4334 l_tax_code, l_trx_type_id, l_org_id
4335 FROM zx_lines_det_factors where
4336 application_id = l_application_id
4337 and entity_code = l_entity_code
4338 and event_class_code = l_event_class_code
4339 and trx_id = SYNC_TAX_LINES.transaction_id(1)
4340 and trx_line_id = SYNC_TAX_LINES.transaction_line_id(1)
4341 and trx_level_type = SYNC_TAX_LINES.trx_level_type(1);
4342
4343 BEGIN
4344 select tax_type_code INTO l_tax_type -- from zx_taxes_b zx, zx_rates_b zr
4345 from zx_sco_taxes zx, -- Changed from clause to use sco views not base tables
4346 zx_sco_rates zr
4347 where zx.tax = zr.tax
4348 AND zr.tax_rate_code = l_tax_code
4349 AND rownum = 1;
4350 EXCEPTION
4351 WHEN others THEN
4352 l_tax_type := NULL;
4353 END;
4354
4355 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4356 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_tax_code'||l_tax_code);
4357 END IF;
4358
4359 SELECT tax_calculation_flag into l_tax_flag
4360 FROM ra_cust_trx_types_all rtt
4361 WHERE rtt.cust_trx_type_id = l_trx_type_id
4362 AND rtt.org_id = l_org_id;
4363
4364 IF l_tax_flag = 'N' AND l_tax_code is NULL THEN
4365 RETURN;
4366 ELSIF l_tax_type NOT IN ('SALES_TAX','LOCATION') THEN
4367 RETURN;
4368 ELSIF (l_tax_type = 'SALES_TAX' AND l_tax_code <> 'STATE' and l_tax_code <> 'COUNTY' and l_tax_code <> 'CITY' and l_tax_code not like '%_COUNTY'
4369 and l_tax_code not like '%_CITY') THEN
4370 RETURN;
4371 END IF;
4372
4373 I := 0;
4374
4375 FOR sync_tax_cnt IN 1..sync_tax_lines.document_type_id.last LOOP
4376
4377 /* Maintain the trx line counter. The tax lines are fetched together for a transaction_line_id.
4378 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 */
4379
4380 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4381 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4382 ' SYNC_TAX_LINES.transaction_line_id(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt));
4383 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4384 ' SYNC_TAX_LINES.tax(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.tax(sync_tax_cnt));
4385 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4386 ' SYNC_TAX_LINES.tax_amount(' || sync_tax_cnt || ') = ' || SYNC_TAX_LINES.tax_amount(sync_tax_cnt));
4387 END IF;
4388
4389 IF nvl(l_transaction_line_id, -999) <> SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt) THEN
4390 I := I+1;
4391 l_transaction_line_id := SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt);
4392 END IF;
4393 IF sync_tax_cnt = sync_tax_lines.document_type_id.last THEN
4394 l_trx_line_context_changed := TRUE;
4395 ELSE
4396 IF l_transaction_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt+1) THEN
4397 l_trx_line_context_changed := FALSE;
4398 ELSE
4399 l_trx_line_context_changed := TRUE;
4400 END IF;
4401 END IF;
4402
4403 /* Identify Tax event type -Start*/
4404 BEGIN
4405 SELECT count(*)
4406 INTO l_count
4407 FROM ZX_PTNR_NEG_TAX_LINE_GT
4408 WHERE document_type_id = SYNC_TAX_LINES.document_type_id(sync_tax_cnt)
4409 AND trx_id = SYNC_TAX_LINES.transaction_id(sync_tax_cnt)
4410 AND trx_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt)
4411 AND country_code = SYNC_TAX_LINES.country_code(sync_tax_cnt)
4412 AND tax = SYNC_TAX_LINES.tax(sync_tax_cnt)
4413 AND situs = SYNC_TAX_LINES.situs(sync_tax_cnt);
4414 EXCEPTION
4415 WHEN OTHERS THEN
4416 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4417 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4418 ' Error while accessing ZX_PTNR_NEG_TAX_LINE_GT');
4419 END IF;
4420 END;
4421
4422 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4423 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4424 ' No of records in ZX_PTNR_NEG_TAX_LINE_GT = ' || l_count);
4425 END IF;
4426
4427 /* Check if the Line is present in ZX_PTNR_NEG_TAX_LINE_GT table.
4428 Deleted line is passed thru zx_sync_tax_lines_input_v and there is
4429 no corresponding line in ZX_PTNR_NEG_TAX_LINE_GT */
4430
4431 IF (l_count=1) THEN /*Line is present. Hence, it is an UPDATE action */
4432 l_event_type :='TAX_LINE_UPDATE';
4433 ELSIF (l_count=0) THEN
4434 IF (SYNC_TAX_LINES.delete_flag(sync_tax_cnt) ='Y') THEN /* Delete action */
4435 l_event_type :='TAX_LINE_DELETE';
4436 ELSE
4437 l_event_type:='TAX_LINE_CREATE';
4438 END IF;
4439 ELSE
4440 x_return_status :=FND_API.G_RET_STS_ERROR;
4441 g_string := 'There were more than one tax line';
4442 error_exception_handle(g_string);
4443 RETURN;
4444 END IF;
4445
4446 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4447 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4448 ' l_event_type ' || l_event_type);
4449 END IF;
4450
4451 --* /* Check whether there exists a row in ZX_PTNR_NEG_LINES_GT table for the transaction line.
4452 --* If not available then populate these values by calling the
4453 --* zx_r11i_tax_partner_pkg.COPY_TRX_LINE_FOR_PTNR_BEF_UPD.
4454 --* */
4455
4456 --* l_found := check_in_cache(l_internal_organization_id,
4457 --* SYNC_TAX_LINES.document_type_id(sync_tax_cnt),
4458 --* SYNC_TAX_LINES.transaction_id(sync_tax_cnt),
4459 --* SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt));
4460
4461 IF NOT pg_trx_id_tab.exists(I) THEN
4462 get_doc_and_ext_att_info(SYNC_TAX_LINES.document_type_id(sync_tax_cnt),
4463 SYNC_TAX_LINES.transaction_id(sync_tax_cnt),
4464 SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt),
4465 SYNC_TAX_LINES.trx_level_type(sync_tax_cnt),
4466 SYNC_TAX_LINES.country_code(sync_tax_cnt),
4467 1,l_return_status);
4468 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4469 IF (g_level_exception >= g_current_runtime_level ) THEN
4470 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4471 END IF;
4472 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4473 g_string :='Failed in GET_DOC_AND_EXT_ATT_INFO procedure';
4474 error_exception_handle(g_string);
4475 RETURN;
4476 END IF;
4477 pg_trx_line_id_tab(I) := SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt);
4478 END IF;
4479
4480 IF (l_event_type='TAX_LINE_UPDATE') THEN
4481 BEGIN
4482 SELECT tax_amount
4483 INTO l_amount
4484 FROM ZX_PTNR_NEG_TAX_LINE_GT
4485 WHERE document_type_id = SYNC_TAX_LINES.document_type_id(sync_tax_cnt)
4486 AND trx_id = SYNC_TAX_LINES.transaction_id(sync_tax_cnt)
4487 AND trx_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt)
4488 AND country_code = SYNC_TAX_LINES.country_code(sync_tax_cnt)
4489 AND tax = SYNC_TAX_LINES.tax(sync_tax_cnt)
4490 AND situs = SYNC_TAX_LINES.situs(sync_tax_cnt);
4491 END;
4492
4493 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4494 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4495 ' l_amount ' || l_amount);
4496 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4497 ' SYNC_TAX_LINES.tax_amount(sync_tax_cnt) ' || SYNC_TAX_LINES.tax_amount(sync_tax_cnt));
4498 END IF;
4499
4500 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),-1*l_amount,l_return_status);
4501 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),SYNC_TAX_LINES.tax_amount(sync_tax_cnt),l_return_status);
4502 l_write_record:=true;
4503
4504 ELSIF(l_event_type='TAX_LINE_DELETE')then
4505 /*
4506 select tax_amount
4507 into l_amount
4508 from ZX_PTNR_NEG_TAX_LINE_GT
4509 where trx_id = SYNC_TAX_LINES.transaction_id(sync_tax_cnt) and
4510 trx_line_id = SYNC_TAX_LINES.transaction_line_id(sync_tax_cnt);
4511 */
4512
4513 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),-1*SYNC_TAX_LINES.tax_amount(sync_tax_cnt),l_return_status);
4514 l_write_record:=false;
4515
4516 ELSIF (l_event_type='TAX_LINE_CREATE') THEN
4517 create_tax_line(SYNC_TAX_LINES.tax(sync_tax_cnt),SYNC_TAX_LINES.tax_amount(sync_tax_cnt),l_return_status);
4518 l_write_record:=true;
4519 END IF;
4520
4521 IF (l_write_record) THEN
4522 x_output_sync_tax_lines(sync_tax_cnt).INTERNAL_ORGANIZATION_ID := l_internal_organization_id;
4523 x_output_sync_tax_lines(sync_tax_cnt).LEGAL_ENTITY_NUMBER := l_legal_entity_number;
4524 x_output_sync_tax_lines(sync_tax_cnt).ESTABLISHMENT_NUMBER := l_establishment_number; -- Bug 5139731
4525 x_output_sync_tax_lines(sync_tax_cnt).DOCUMENT_TYPE_ID := SYNC_TAX_LINES.document_type_id(sync_tax_cnt);
4526 x_output_sync_tax_lines(sync_tax_cnt).APPLICATION_ID := l_application_id;
4527 x_output_sync_tax_lines(sync_tax_cnt).ENTITY_CODE := l_entity_code;
4528 x_output_sync_tax_lines(sync_tax_cnt).EVENT_CLASS_CODE := l_event_class_code;
4529 x_output_sync_tax_lines(sync_tax_cnt).TRANSACTION_ID := sync_tax_lines.transaction_id(sync_tax_cnt);
4530 x_output_sync_tax_lines(sync_tax_cnt).TRANSACTION_LINE_ID := sync_tax_lines.transaction_line_id(sync_tax_cnt);
4531 x_output_sync_tax_lines(sync_tax_cnt).TRX_LEVEL_TYPE := sync_tax_lines.trx_level_type(sync_tax_cnt);
4532 x_output_sync_tax_lines(sync_tax_cnt).COUNTRY_CODE := sync_tax_lines.country_code(sync_tax_cnt);
4533 x_output_sync_tax_lines(sync_tax_cnt).TAX := sync_tax_lines.tax(sync_tax_cnt);
4534 x_output_sync_tax_lines(sync_tax_cnt).SITUS := sync_tax_lines.situs(sync_tax_cnt);
4535
4536 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4537 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4538 'x_output_sync_tax_lines(sync_tax_cnt).internal_organization_id = ' || x_output_sync_tax_lines(sync_tax_cnt).internal_organization_id);
4539 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4540 'x_output_sync_tax_lines(sync_tax_cnt).transaction_line_id = ' || x_output_sync_tax_lines(sync_tax_cnt).transaction_line_id);
4541 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4542 'x_output_sync_tax_lines(sync_tax_cnt).trx_level_type = ' || x_output_sync_tax_lines(sync_tax_cnt).trx_level_type);
4543 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4544 'x_output_sync_tax_lines(sync_tax_cnt).tax = ' || x_output_sync_tax_lines(sync_tax_cnt).tax);
4545 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4546 'x_output_sync_tax_lines(sync_tax_cnt).SITUS = ' || x_output_sync_tax_lines(sync_tax_cnt).SITUS);
4547 END IF;
4548
4549 populate_sync_tax_amts(sync_tax_cnt
4550 , sync_tax_lines.tax(sync_tax_cnt)
4551 , x_output_sync_tax_lines
4552 , x_return_status);
4553 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4554 IF (g_level_exception >= g_current_runtime_level ) THEN
4555 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4556 END IF;
4557 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4558 g_string :='Failed in populate_sync_tax_amts procedure';
4559 error_exception_handle(g_string);
4560 RETURN;
4561 END IF;
4562
4563 l_write_record := FALSE;
4564 END IF;
4565
4566 END LOOP;
4567 ELSE
4568
4569 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4570 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, ' in the update part ');
4571 END IF;
4572
4573 /*UPDATE ARP_TAX_VERTEX_AUDIT
4574 SET INVNO = (SELECT TRANSACTION_NUMBER
4575 FROM ZX_SYNC_HDR_INPUT_V)
4576 WHERE TRANSUSERAREA = (SELECT TRANSACTION_ID
4577 FROM ZX_SYNC_HDR_INPUT_V);*/
4578
4579 BEGIN
4580 SELECT TRANSACTION_NUMBER, TO_CHAR(TRANSACTION_ID)
4581 INTO l_trx_number, char_ctrx_id
4582 FROM ZX_SYNC_HDR_INPUT_V;
4583 EXCEPTION
4584 WHEN TOO_MANY_ROWS THEN
4585 IF (g_level_exception >= g_current_runtime_level ) THEN
4586 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4587 End if;
4588 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4589 g_string :='More than one row exist at header level';
4590 error_exception_handle(g_string);
4591 RETURN;
4592 WHEN OTHERS THEN
4593 NULL;
4594 END;
4595 l_statements := 'UPDATE ZX_TAX_VERTEX_AUDIT '||
4596 'SET INVNO = :1' ||
4597 ' WHERE TRANSUSERAREA = :2 ';
4598 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4599 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_statements ==' || l_statements);
4600 END IF;
4601 EXECUTE IMMEDIATE l_statements using l_trx_number,char_ctrx_id ;
4602 cnt:= SQL%ROWCOUNT;
4603 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4604 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'Updated Rows in vertex table == ' || to_char(SQL%ROWCOUNT));
4605 END IF;
4606
4607 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4608 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'ZX_TAX_VERTEX_AUDIT is updated');
4609 END IF;
4610
4611 END IF;
4612
4613
4614 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4615 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4616 END IF;
4617
4618 END SYNCHRONIZE_VERTEX_REPOSITORY;
4619
4620 /* Bug 5200373: Restructured the code to accomodate the header level deletions */
4621 PROCEDURE GLOBAL_DOCUMENT_UPDATE
4622 (x_transaction_rec IN zx_tax_partner_pkg.trx_rec_type,
4623 x_return_status OUT NOCOPY varchar2,
4624 x_messages_tbl OUT NOCOPY ZX_TAX_PARTNER_PKG.messages_tbl_type) is
4625
4626 l_cnt_of_options_gt NUMBER;
4627 l_cnt_of_hdr_extns_gt NUMBER;
4628 l_cnt_of_line_extns_gt NUMBER;
4629 l_cnt_of_loc_info_gt NUMBER;
4630 l_cnt_of_neg_line_gt NUMBER;
4631 l_cnt_of_det_factors NUMBER;
4632 l_return_status VARCHAR2(30);
4633 l_api_name CONSTANT VARCHAR2(30) := 'GLOBAL_DOCUMENT_UPDATE';
4634 l_application_id NUMBER;
4635 l_entity_code VARCHAR2(80);
4636 l_event_class_code VARCHAR2(100);
4637 l_trx_level_type VARCHAR2(100);
4638 l_trx_id NUMBER;
4639 l_trx_line_id NUMBER;
4640 l_trx_type_id NUMBER;
4641 l_org_id NUMBER;
4642 l_tax_code VARCHAR2(100);
4643 l_tax_type VARCHAR2(100);
4644 l_tax_flag VARCHAR2(10);
4645
4646 BEGIN
4647 x_return_status := FND_API.G_RET_STS_SUCCESS;
4648 err_count := 0;
4649
4650 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4651 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4652 END IF;
4653
4654
4655 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4656 BEGIN
4657 SELECT count(*)
4658 INTO l_cnt_of_det_factors
4659 FROM ZX_LINES_DET_FACTORS
4660 WHERE event_class_mapping_id = x_transaction_rec.document_type_id
4661 AND trx_id = x_transaction_rec.transaction_id;
4662 EXCEPTION WHEN OTHERS THEN
4663 l_cnt_of_det_factors := 0;
4664 END;
4665 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4666 'l_cnt_of_det_factors = '||l_cnt_of_det_factors);
4667 BEGIN
4668 SELECT count(*)
4669 INTO l_cnt_of_options_gt
4670 FROM ZX_TRX_PRE_PROC_OPTIONS_GT;
4671 EXCEPTION WHEN OTHERS THEN
4672 l_cnt_of_options_gt := 0;
4673 END;
4674 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4675 'l_cnt_of_options_gt = '||l_cnt_of_options_gt);
4676 BEGIN
4677 SELECT count(*)
4678 INTO l_cnt_of_hdr_extns_gt
4679 FROM ZX_PRVDR_HDR_EXTNS_GT;
4680 EXCEPTION WHEN OTHERS THEN
4681 l_cnt_of_hdr_extns_gt := 0;
4682 END;
4683 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4684 'l_cnt_of_hdr_extns_gt = '||l_cnt_of_hdr_extns_gt);
4685 BEGIN
4686 SELECT count(*)
4687 INTO l_cnt_of_line_extns_gt
4688 FROM ZX_PRVDR_HDR_EXTNS_GT;
4689 EXCEPTION WHEN OTHERS THEN
4690 l_cnt_of_line_extns_gt := 0;
4691 END;
4692 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4693 'l_cnt_of_line_extns_gt = '||l_cnt_of_line_extns_gt);
4694 BEGIN
4695 SELECT count(*)
4696 INTO l_cnt_of_loc_info_gt
4697 FROM ZX_PTNR_LOCATION_INFO_GT;
4698 EXCEPTION WHEN OTHERS THEN
4699 l_cnt_of_loc_info_gt := 0;
4700 END;
4701 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4702 'l_cnt_of_loc_info_gt = '||l_cnt_of_loc_info_gt);
4703 BEGIN
4704 SELECT count(*)
4705 INTO l_cnt_of_neg_line_gt
4706 FROM ZX_PTNR_NEG_LINE_GT;
4707 EXCEPTION WHEN OTHERS THEN
4708 l_cnt_of_neg_line_gt := 0;
4709 END;
4710 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4711 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4712 'l_cnt_of_neg_line_gt = '||l_cnt_of_neg_line_gt);
4713 END IF;
4714 END IF;
4715
4716 BEGIN
4717 SELECT
4718 distinct application_id,entity_code,event_class_code,
4719 trx_id,trx_level_type,trx_line_id
4720 INTO l_application_id,l_entity_code,l_event_class_code,
4721 l_trx_id,l_trx_level_type,l_trx_line_id
4722 FROM ZX_PRVDR_LINE_EXTNS_GT where rownum = 1;
4723 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4724
4725 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'before tax code');
4726 END IF;
4727 -- bug 6755603
4728
4729 SELECT output_tax_classification_code,receivables_trx_type_id,
4730 internal_organization_id into
4731 l_tax_code,l_trx_type_id, l_org_id
4732 FROM zx_lines_det_factors where
4733 application_id = l_application_id
4734 and entity_code = l_entity_code
4735 and event_class_code = l_event_class_code
4736 and trx_id = l_trx_id
4737 and trx_line_id = l_trx_line_id
4738 and trx_level_type = l_trx_level_type;
4739
4740 BEGIN
4741 select tax_type_code INTO l_tax_type -- from zx_taxes_b zx, zx_rates_b zr
4742 from zx_sco_taxes zx, -- Changed from clause to use sco views not base tables
4743 zx_sco_rates zr
4744 where zx.tax = zr.tax
4745 AND zr.tax_rate_code = l_tax_code
4746 AND rownum = 1;
4747 EXCEPTION
4748 WHEN others THEN
4749 l_tax_type := NULL;
4750 END;
4751
4752 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4753 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'l_tax_code'||l_tax_code);
4754 END IF;
4755
4756 SELECT tax_calculation_flag into l_tax_flag
4757 FROM ra_cust_trx_types_all rtt
4758 WHERE rtt.cust_trx_type_id = l_trx_type_id
4759 AND rtt.org_id = l_org_id;
4760
4761 IF l_tax_flag = 'N' AND l_tax_code is NULL THEN
4762 RETURN;
4763 ELSIF l_tax_type NOT IN ('SALES_TAX','LOCATION') THEN
4764 RETURN;
4765 ELSIF (l_tax_type = 'SALES_TAX' AND l_tax_code <> 'STATE' and l_tax_code <> 'COUNTY' and l_tax_code <> 'CITY' and l_tax_code not like '%_COUNTY'
4766 and l_tax_code not like '%_CITY') THEN
4767 RETURN;
4768 END IF;
4769
4770 EXCEPTION WHEN OTHERS THEN
4771 null;
4772 END;
4773 BEGIN
4774 SELECT trx_line_id
4775 BULK COLLECT INTO pg_trx_line_id_tab
4776 FROM ZX_PTNR_NEG_LINE_GT
4777 WHERE event_class_mapping_id = x_transaction_rec.document_type_id
4778 AND trx_id = x_transaction_rec.transaction_id;
4779 END;
4780
4781 BEGIN
4782 SELECT event_class_code
4783 INTO l_document_type
4784 FROM zx_evnt_cls_mappings
4785 WHERE event_class_mapping_id = x_transaction_rec.document_type_id;
4786 EXCEPTION
4787 WHEN no_data_found THEN
4788 IF (g_level_exception >= g_current_runtime_level ) THEN
4789 FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4790 End if;
4791 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4792 g_string := 'No document type exist for provided event_class_mapping_id ';
4793 error_exception_handle(g_string);
4794 x_messages_tbl := g_messages_tbl;
4795 RETURN;
4796 END;
4797
4798 FOR cnt IN 1..nvl(pg_trx_line_id_tab.last, 0)
4799 LOOP
4800 I := cnt;
4801 l_line_level_action := 'NEGATE';
4802 perform_line_deletion(l_return_status);
4803 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4804 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4805 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
4806 END IF;
4807 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4808 g_string :='Failed in PERFORM_LINE_DELETION procedure';
4809 error_exception_handle(g_string);
4810 RETURN;
4811 END IF;
4812 END LOOP;
4813
4814 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4815 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4816 END IF;
4817
4818 END GLOBAL_DOCUMENT_UPDATE;
4819
4820
4821 PROCEDURE DISPLAY_OUTPUT
4822 (p_type IN VARCHAR2) IS
4823 l_api_name CONSTANT VARCHAR2(30) := 'DISPLAY_OUTPUT';
4824 BEGIN
4825 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4826 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4827 END IF;
4828
4829 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4830 IF (p_type = 'O') THEN
4831 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'*** Dumping Output ***');
4832 ELSE
4833 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'*** Dumping Input ***');
4834 END IF;
4835 IF context_rec.fGetJurisNames = TRUE THEN
4836 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fGetJurisNames = TRUE');
4837 ELSIF context_rec.fGetJurisNames = FALSE THEN
4838 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fGetJurisNames = FALSE');
4839 ELSE
4840 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fGetJurisNames = NULL');
4841 END IF;
4842
4843 IF context_rec.fCaseSensitive = TRUE THEN
4844 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fCaseSensitive = TRUE');
4845 ELSIF context_rec.fCaseSensitive = FALSE THEN
4846 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fCaseSensitive = FALSE');
4847 ELSE
4848 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fCaseSensitive = NULL');
4849 END IF;
4850
4851 IF (p_type = 'O') THEN
4852 /*-----------------------------------------------------------
4853 | Dumping ARP_TAX_VERTEX_QSU.tQSUInvoiceRecord Record Type |
4854 -----------------------------------------------------------*/
4855 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'*** Dumping tQSUInvoiceRecord Record Type***');
4856
4857 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTGeoCd = '||to_char(inv_out_rec.fJurisSTGeoCd));
4858 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTStAbbrv = '||inv_out_rec.fJurisSTStAbbrv);
4859 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCoName = '||inv_out_rec.fJurisSTCoName);
4860 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiName = '||inv_out_rec.fJurisSTCiName);
4861
4862 IF inv_out_rec.fJurisSTCiCmprssd = TRUE THEN
4863 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = TRUE');
4864 ELSIF inv_out_rec.fJurisSTCiCmprssd = FALSE THEN
4865 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = FALSE');
4866 ELSE
4867 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = NULL');
4868 END IF;
4869
4870 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTZipCd = '||inv_out_rec.fJurisSTZipCd);
4871 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiSearchCd = '||inv_out_rec.fJurisSTCiSearchCd);
4872
4873 IF inv_out_rec.fJurisSTInCi = TRUE THEN
4874 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = TRUE');
4875 ELSIF inv_out_rec.fJurisSTInCi = FALSE THEN
4876 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = FALSE');
4877 ELSE
4878 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = NULL');
4879 END IF;
4880
4881 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFGeoCd = '||to_char(inv_out_rec.fJurisSFGeoCd));
4882 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFStAbbrv = '||inv_out_rec.fJurisSFStAbbrv);
4883 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCoName = '||inv_out_rec.fJurisSFCoName);
4884 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiName = '||inv_out_rec.fJurisSFCiName);
4885
4886 IF inv_out_rec.fJurisSFCiCmprssd = TRUE THEN
4887 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = TRUE');
4888 ELSIF inv_out_rec.fJurisSFCiCmprssd = FALSE THEN
4889 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = FALSE');
4890 ELSE
4891 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = NULL');
4892 END IF;
4893
4894 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFZipCd = '||inv_out_rec.fJurisSFZipCd);
4895 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiSearchCd = '||inv_out_rec.fJurisSFCiSearchCd);
4896
4897 IF inv_out_rec.fJurisSFInCi = TRUE THEN
4898 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = TRUE');
4899 ELSIF inv_out_rec.fJurisSFInCi = FALSE THEN
4900 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = FALSE');
4901 ELSE
4902 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = NULL');
4903 END IF;
4904
4905 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAGeoCd = '||to_char(inv_out_rec.fJurisOAGeoCd));
4906 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAStAbbrv = '||inv_out_rec.fJurisOAStAbbrv);
4907 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACoName = '||inv_out_rec.fJurisOACoName);
4908 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiName = '||inv_out_rec.fJurisOACiName);
4909
4910 IF inv_out_rec.fJurisOACiCmprssd = TRUE THEN
4911 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = TRUE');
4912 ELSIF inv_out_rec.fJurisOACiCmprssd = FALSE THEN
4913 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = FALSE');
4914 ELSE
4915 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = NULL');
4916 END IF;
4917
4918 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAZipCd = '||inv_out_rec.fJurisOAZipCd);
4919 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiSearchCd = '||inv_out_rec.fJurisOACiSearchCd);
4920
4921 IF inv_out_rec.fJurisOAInCi = TRUE THEN
4922 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = TRUE');
4923 ELSIF inv_out_rec.fJurisOAInCi = FALSE THEN
4924 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = FALSE');
4925 ELSE
4926 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = NULL');
4927 END IF;
4928
4929 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvIdNum = '||inv_out_rec.fInvIdNum);
4930 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvCntrlNum = '||inv_out_rec.fInvCntrlNum);
4931 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvDate = '||inv_out_rec.fInvDate);
4932 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvGrossAmt = '||to_char(inv_out_rec.fInvGrossAmt));
4933 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvTotalTaxAmt = '||to_char(inv_out_rec.fInvTotalTaxAmt));
4934 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvNumLineItems = '||inv_out_rec.fInvNumLineItems);
4935 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCustCd = '||inv_out_rec.fTDMCustCd);
4936 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCustClassCd = '||inv_out_rec.fTDMCustClassCd);
4937 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fCustTxblty = '||inv_out_rec.fCustTxblty);
4938 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCompCd = '||inv_out_rec.fTDMCompCd);
4939 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMDivCd = '||inv_out_rec.fTDMDivCd);
4940 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMStoreCd = '||inv_out_rec.fTDMStoreCd);
4941
4942 /*------------------------------------------------------------
4943 | Dumping ARP_TAX_VERTEX_QSU.tQSULineItemTable Record Type |
4944 ------------------------------------------------------------*/
4945 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'***Dumping tQSULineItemTable Record Type***');
4946 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransType = '||to_char(line_out_tab(1).fTransType));
4947 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransSubType = '||to_char(line_out_tab(1).fTransSubType));
4948 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransCd = '||to_char(line_out_tab(1).fTransCd));
4949 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransDate = '||line_out_tab(1).fTransDate);
4950 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransExtendedAmt = '||
4951 to_char(line_out_tab(1).fTransExtendedAmt));
4952 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransQuantity = '||
4953 to_char(line_out_tab(1).fTransQuantity));
4954 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransTotalTaxAmt = '||
4955 to_char(line_out_tab(1).fTransTotalTaxAmt));
4956 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransCombinedRate = '||
4957 to_char(line_out_tab(1).fTransCombinedRate));
4958 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransUserArea = '||line_out_tab(1).fTransUserArea);
4959 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransStatusCd = '||
4960 to_char(line_out_tab(1).fTransStatusCd));
4961 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMProdCd = '||line_out_tab(1).fTDMProdCd);
4962 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMProdRptngCd = '||line_out_tab(1).fTDMProdRptngCd);
4963 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fProdTxblty = '||to_char(line_out_tab(1).fProdTxblty));
4964 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriTaxingJuris = '||
4965 to_char(line_out_tab(1).fPriTaxingJuris));
4966 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCustExmtCrtfNum = '||
4967 line_out_tab(1).fPriCustExmtCrtfNum);
4968 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTxblty = '||to_char(line_out_tab(1).fPriStTxblty));
4969 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxType = '||to_char(line_out_tab(1).fPriStTaxType));
4970 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxedAmt = '||
4971 to_char(line_out_tab(1).fPriStTaxedAmt));
4972 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStExmtAmt = '||to_char(line_out_tab(1).fPriStExmtAmt));
4973 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStExmtRsnCd = '||line_out_tab(1).fPriStExmtRsnCd);
4974 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStNonTxblAmt = '||
4975 to_char(line_out_tab(1).fPriStNonTxblAmt));
4976 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStNonTxblRsnCd = '||
4977 line_out_tab(1).fPriStNonTxblRsnCd);
4978 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRate = '||to_char(line_out_tab(1).fPriStRate));
4979 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRateEffDate = '||line_out_tab(1).fPriStRateEffDate);
4980 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRateType = '||
4981 to_char(line_out_tab(1).fPriStRateType));
4982 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxAmt = '||to_char(line_out_tab(1).fPriStTaxAmt));
4983
4984 IF line_out_tab(1).fPriStTaxIncluded = TRUE THEN
4985 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = TRUE');
4986 ELSIF line_out_tab(1).fPriStTaxIncluded = FALSE THEN
4987 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = FALSE');
4988 ELSE
4989 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = NULL');
4990 END IF;
4991
4992 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTxblty = '||to_char(line_out_tab(1).fPriCoTxblty));
4993 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxType = '||to_char(line_out_tab(1).fPriCoTaxType));
4994 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxedAmt = '||
4995 to_char(line_out_tab(1).fPriCoTaxedAmt));
4996 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoExmtAmt = '||to_char(line_out_tab(1).fPriCoExmtAmt));
4997 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoExmtRsnCd = '||line_out_tab(1).fPriCoExmtRsnCd);
4998 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoNonTxblAmt = '||
4999 to_char(line_out_tab(1).fPriCoNonTxblAmt));
5000 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoNonTxblRsnCd = '||
5001 line_out_tab(1).fPriCoNonTxblRsnCd);
5002 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRate = '||to_char(line_out_tab(1).fPriCoRate));
5003 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRateEffDate = '||line_out_tab(1).fPriCoRateEffDate);
5004 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRateType = '||
5005 to_char(line_out_tab(1).fPriCoRateType));
5006 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxAmt = '||to_char(line_out_tab(1).fPriCoTaxAmt));
5007
5008 IF line_out_tab(1).fPriCoTaxIncluded = TRUE THEN
5009 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = TRUE');
5010 ELSIF line_out_tab(1).fPriCoTaxIncluded = FALSE THEN
5011 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = FALSE');
5012 ELSE
5013 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = NULL');
5014 END IF;
5015
5016 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTxblty = '||to_char(line_out_tab(1).fPriCiTxblty));
5017 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxType = '||to_char(line_out_tab(1).fPriCiTaxType));
5018 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxedAmt = '||
5019 to_char(line_out_tab(1).fPriCiTaxedAmt));
5020 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiExmtAmt = '||to_char(line_out_tab(1).fPriCiExmtAmt));
5021 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiExmtRsnCd = '||line_out_tab(1).fPriCiExmtRsnCd);
5022 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiNonTxblAmt = '||
5023 to_char(line_out_tab(1).fPriCiNonTxblAmt));
5024 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiNonTxblRsnCd = '||
5025 line_out_tab(1).fPriCiNonTxblRsnCd);
5026 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRate = '||to_char(line_out_tab(1).fPriCiRate));
5027 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRateEffDate = '||line_out_tab(1).fPriCiRateEffDate);
5028 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRateType = '||
5029 to_char(line_out_tab(1).fPriCiRateType));
5030 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxAmt = '||to_char(line_out_tab(1).fPriCiTaxAmt));
5031
5032 IF line_out_tab(1).fPriCiTaxIncluded = TRUE THEN
5033 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = TRUE');
5034 ELSIF line_out_tab(1).fPriCiTaxIncluded = FALSE THEN
5035 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = FALSE');
5036 ELSE
5037 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = NULL');
5038 END IF;
5039
5040 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTxblty = '||to_char(line_out_tab(1).fPriDiTxblty));
5041 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxType = '||to_char(line_out_tab(1).fPriDiTaxType));
5042 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxedAmt = '||
5043 to_char(line_out_tab(1).fPriDiTaxedAmt));
5044 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiExmtAmt = '||to_char(line_out_tab(1).fPriDiExmtAmt));
5045 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiExmtRsnCd = '||line_out_tab(1).fPriDiExmtRsnCd);
5046 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiNonTxblAmt = '||
5047 to_char(line_out_tab(1).fPriDiNonTxblAmt));
5048 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiNonTxblRsnCd = '||
5049 line_out_tab(1).fPriDiNonTxblRsnCd);
5050 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRate = '||to_char(line_out_tab(1).fPriDiRate));
5051 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRateEffDate = '||line_out_tab(1).fPriDiRateEffDate);
5052 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRateType = '||
5053 to_char(line_out_tab(1).fPriDiRateType));
5054 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxAmt = '||to_char(line_out_tab(1).fPriDiTaxAmt));
5055
5056 IF line_out_tab(1).fPriDiTaxIncluded = TRUE THEN
5057 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = TRUE');
5058 ELSIF line_out_tab(1).fPriDiTaxIncluded = FALSE THEN
5059 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = FALSE');
5060 ELSE
5061 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = NULL');
5062 END IF;
5063
5064 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiAppliesTo = '||
5065 to_char(line_out_tab(1).fPriDiAppliesTo));
5066 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddTaxingJuris = '||
5067 to_char(line_out_tab(1).fAddTaxingJuris));
5068 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCustExmtCrtfNum = '||
5069 line_out_tab(1).fAddCustExmtCrtfNum);
5070 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTxblty = '||to_char(line_out_tab(1).fAddCoTxblty));
5071 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxType = '||to_char(line_out_tab(1).fAddCoTaxType));
5072 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxedAmt = '||
5073 to_char(line_out_tab(1).fAddCoTaxedAmt));
5074 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoExmtAmt = '||to_char(line_out_tab(1).fAddCoExmtAmt));
5075 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoExmtRsnCd = '||line_out_tab(1).fAddCoExmtRsnCd);
5076 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoNonTxblAmt = '||
5077 to_char(line_out_tab(1).fAddCoNonTxblAmt));
5078 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoNonTxblRsnCd = '||
5079 line_out_tab(1).fAddCoNonTxblRsnCd);
5080 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRate = '||to_char(line_out_tab(1).fAddCoRate));
5081 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRateEffDate = '||line_out_tab(1).fAddCoRateEffDate);
5082 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRateType = '||
5083 to_char(line_out_tab(1).fAddCoRateType));
5084 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxAmt = '||to_char(line_out_tab(1).fAddCoTaxAmt));
5085
5086 IF line_out_tab(1).fAddCoTaxIncluded = TRUE THEN
5087 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = TRUE');
5088 ELSIF line_out_tab(1).fAddCoTaxIncluded = FALSE THEN
5089 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = FALSE');
5090 ELSE
5091 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = NULL');
5092 END IF;
5093
5094 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTxblty = '||to_char(line_out_tab(1).fAddCiTxblty));
5095 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxType = '||to_char(line_out_tab(1).fAddCiTaxType));
5096 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxedAmt = '||
5097 to_char(line_out_tab(1).fAddCiTaxedAmt));
5098 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiExmtAmt = '||to_char(line_out_tab(1).fAddCiExmtAmt));
5099 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiExmtRsnCd = '||line_out_tab(1).fAddCiExmtRsnCd);
5100 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiNonTxblAmt = '||
5101 to_char(line_out_tab(1).fAddCiNonTxblAmt));
5102 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiNonTxblRsnCd = '||
5103 line_out_tab(1).fAddCiNonTxblRsnCd);
5104 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRate = '||to_char(line_out_tab(1).fAddCiRate));
5105 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRateEffDate = '||line_out_tab(1).fAddCiRateEffDate);
5106 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRateType = '||
5107 to_char(line_out_tab(1).fAddCiRateType));
5108 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxAmt = '||to_char(line_out_tab(1).fAddCiTaxAmt));
5109
5110 IF line_out_tab(1).fAddCiTaxIncluded = TRUE THEN
5111 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = TRUE');
5112 ELSIF line_out_tab(1).fAddCiTaxIncluded = FALSE THEN
5113 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = FALSE');
5114 ELSE
5115 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = NULL');
5116 END IF;
5117
5118 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTxblty = '||to_char(line_out_tab(1).fAddDiTxblty));
5119 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxType = '||to_char(line_out_tab(1).fAddDiTaxType));
5120 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxedAmt = '||
5121 to_char(line_out_tab(1).fAddDiTaxedAmt));
5122 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiExmtAmt = '||to_char(line_out_tab(1).fAddDiExmtAmt));
5123 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiExmtRsnCd = '||line_out_tab(1).fAddDiExmtRsnCd);
5124 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiNonTxblAmt = '||
5125 to_char(line_out_tab(1).fAddDiNonTxblAmt));
5126 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiNonTxblRsnCd = '||
5127 line_out_tab(1).fAddDiNonTxblRsnCd);
5128 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRate = '||to_char(line_out_tab(1).fAddDiRate));
5129 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRateEffDate = '||line_out_tab(1).fAddDiRateEffDate);
5130 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRateType = '||
5131 to_char(line_out_tab(1).fAddDiRateType));
5132 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxAmt = '||to_char(line_out_tab(1).fAddDiTaxAmt));
5133
5134 IF line_out_tab(1).fAddDiTaxIncluded = TRUE THEN
5135 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = TRUE');
5136 ELSIF line_out_tab(1).fAddDiTaxIncluded = FALSE THEN
5137 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = FALSE');
5138 ELSE
5139 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = NULL');
5140 END IF;
5141
5142 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiAppliesTo = '|| to_char(line_out_tab(1).fAddDiAppliesTo));
5143
5144 ELSIF (p_type = 'I') THEN
5145
5146 /*-----------------------------------------------------------
5147 | Dumping ARP_TAX_VERTEX_QSU.tQSUInvoiceRecord Record Type |
5148 -----------------------------------------------------------*/
5149 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'*** Dumping tQSUInvoiceRecord Record Type***');
5150
5151 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTGeoCd = '||to_char(inv_in_rec.fJurisSTGeoCd));
5152 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTStAbbrv = '||inv_in_rec.fJurisSTStAbbrv);
5153 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCoName = '||inv_in_rec.fJurisSTCoName);
5154 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiName = '||inv_in_rec.fJurisSTCiName);
5155
5156 IF inv_in_rec.fJurisSTCiCmprssd = TRUE THEN
5157 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = TRUE');
5158 ELSIF inv_in_rec.fJurisSTCiCmprssd = FALSE THEN
5159 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = FALSE');
5160 ELSE
5161 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiCmprssd = NULL');
5162 END IF;
5163
5164 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTZipCd = '||inv_in_rec.fJurisSTZipCd);
5165 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTCiSearchCd = '||inv_in_rec.fJurisSTCiSearchCd);
5166
5167 IF inv_in_rec.fJurisSTInCi = TRUE THEN
5168 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = TRUE');
5169 ELSIF inv_in_rec.fJurisSTInCi = FALSE THEN
5170 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = FALSE');
5171 ELSE
5172 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSTInCi = NULL');
5173 END IF;
5174
5175 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFGeoCd = '||to_char(inv_in_rec.fJurisSFGeoCd));
5176 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFStAbbrv = '||inv_in_rec.fJurisSFStAbbrv);
5177 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCoName = '||inv_in_rec.fJurisSFCoName);
5178 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiName = '||inv_in_rec.fJurisSFCiName);
5179
5180 IF inv_in_rec.fJurisSFCiCmprssd = TRUE THEN
5181 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = TRUE');
5182 ELSIF inv_in_rec.fJurisSFCiCmprssd = FALSE THEN
5183 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = FALSE');
5184 ELSE
5185 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiCmprssd = NULL');
5186 END IF;
5187
5188 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFZipCd = '||inv_in_rec.fJurisSFZipCd);
5189 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFCiSearchCd = '||inv_in_rec.fJurisSFCiSearchCd);
5190
5191 IF inv_in_rec.fJurisSFInCi = TRUE THEN
5192 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = TRUE');
5193 ELSIF inv_in_rec.fJurisSFInCi = FALSE THEN
5194 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = FALSE');
5195 ELSE
5196 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisSFInCi = NULL');
5197 END IF;
5198
5199 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAGeoCd = '||to_char(inv_in_rec.fJurisOAGeoCd));
5200 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAStAbbrv = '||inv_in_rec.fJurisOAStAbbrv);
5201 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACoName = '||inv_in_rec.fJurisOACoName);
5202 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiName = '||inv_in_rec.fJurisOACiName);
5203
5204 IF inv_in_rec.fJurisOACiCmprssd = TRUE THEN
5205 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = TRUE');
5206 ELSIF inv_in_rec.fJurisOACiCmprssd = FALSE THEN
5207 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = FALSE');
5208 ELSE
5209 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiCmprssd = NULL');
5210 END IF;
5211
5212 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAZipCd = '||inv_in_rec.fJurisOAZipCd);
5213 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOACiSearchCd = '||inv_in_rec.fJurisOACiSearchCd);
5214
5215 IF inv_in_rec.fJurisOAInCi = TRUE THEN
5216 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = TRUE');
5217 ELSIF inv_in_rec.fJurisOAInCi = FALSE THEN
5218 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = FALSE');
5219 ELSE
5220 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fJurisOAInCi = NULL');
5221 END IF;
5222
5223 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvIdNum = '||inv_in_rec.fInvIdNum);
5224 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvCntrlNum = '||inv_in_rec.fInvCntrlNum);
5225 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvDate = '||inv_in_rec.fInvDate);
5226 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvGrossAmt = '||to_char(inv_in_rec.fInvGrossAmt));
5227 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvTotalTaxAmt = '||to_char(inv_in_rec.fInvTotalTaxAmt));
5228 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fInvNumLineItems = '||inv_in_rec.fInvNumLineItems);
5229 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCustCd = '||inv_in_rec.fTDMCustCd);
5230 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCustClassCd = '||inv_in_rec.fTDMCustClassCd);
5231 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fCustTxblty = '||inv_in_rec.fCustTxblty);
5232 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMCompCd = '||inv_in_rec.fTDMCompCd);
5233 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMDivCd = '||inv_in_rec.fTDMDivCd);
5234 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMStoreCd = '||inv_in_rec.fTDMStoreCd);
5235
5236 /*------------------------------------------------------------
5237 | Dumping ARP_TAX_VERTEX_QSU.tQSULineItemTable Record Type |
5238 ------------------------------------------------------------*/
5239 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'***Dumping tQSULineItemTable Record Type***');
5240 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransType = '||to_char(line_in_tab(1).fTransType));
5241 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransSubType = '||to_char(line_in_tab(1).fTransSubType));
5242 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransCd = '||to_char(line_in_tab(1).fTransCd));
5243 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransDate = '||line_in_tab(1).fTransDate);
5244 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransExtendedAmt = '||
5245 to_char(line_in_tab(1).fTransExtendedAmt));
5246 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransQuantity = '||
5247 to_char(line_in_tab(1).fTransQuantity));
5248 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransTotalTaxAmt = '||
5249 to_char(line_in_tab(1).fTransTotalTaxAmt));
5250 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransCombinedRate = '||
5251 to_char(line_in_tab(1).fTransCombinedRate));
5252 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransUserArea = '||line_in_tab(1).fTransUserArea);
5253 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTransStatusCd = '||
5254 to_char(line_in_tab(1).fTransStatusCd));
5255 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMProdCd = '||line_in_tab(1).fTDMProdCd);
5256 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fTDMProdRptngCd = '||line_in_tab(1).fTDMProdRptngCd);
5257 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fProdTxblty = '||to_char(line_in_tab(1).fProdTxblty));
5258 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriTaxingJuris = '||
5259 to_char(line_in_tab(1).fPriTaxingJuris));
5260 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCustExmtCrtfNum = '||
5261 line_in_tab(1).fPriCustExmtCrtfNum);
5262 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTxblty = '||to_char(line_in_tab(1).fPriStTxblty));
5263 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxType = '||to_char(line_in_tab(1).fPriStTaxType));
5264 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxedAmt = '||
5265 to_char(line_in_tab(1).fPriStTaxedAmt));
5266 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStExmtAmt = '||to_char(line_in_tab(1).fPriStExmtAmt));
5267 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStExmtRsnCd = '||line_in_tab(1).fPriStExmtRsnCd);
5268 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStNonTxblAmt = '||
5269 to_char(line_in_tab(1).fPriStNonTxblAmt));
5270 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStNonTxblRsnCd = '||
5271 line_in_tab(1).fPriStNonTxblRsnCd);
5272 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRate = '||to_char(line_in_tab(1).fPriStRate));
5273 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRateEffDate = '||line_in_tab(1).fPriStRateEffDate);
5274 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStRateType = '||
5275 to_char(line_in_tab(1).fPriStRateType));
5276 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxAmt = '||to_char(line_in_tab(1).fPriStTaxAmt));
5277
5278 IF line_in_tab(1).fPriStTaxIncluded = TRUE THEN
5279 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = TRUE');
5280 ELSIF line_in_tab(1).fPriStTaxIncluded = FALSE THEN
5281 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = FALSE');
5282 ELSE
5283 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriStTaxIncluded = NULL');
5284 END IF;
5285
5286 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTxblty = '||to_char(line_in_tab(1).fPriCoTxblty));
5287 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxType = '||to_char(line_in_tab(1).fPriCoTaxType));
5288 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxedAmt = '||
5289 to_char(line_in_tab(1).fPriCoTaxedAmt));
5290 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoExmtAmt = '||to_char(line_in_tab(1).fPriCoExmtAmt));
5291 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoExmtRsnCd = '||line_in_tab(1).fPriCoExmtRsnCd);
5292 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoNonTxblAmt = '||
5293 to_char(line_in_tab(1).fPriCoNonTxblAmt));
5294 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoNonTxblRsnCd = '||
5295 line_in_tab(1).fPriCoNonTxblRsnCd);
5296 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRate = '||to_char(line_in_tab(1).fPriCoRate));
5297 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRateEffDate = '||line_in_tab(1).fPriCoRateEffDate);
5298 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoRateType = '||
5299 to_char(line_in_tab(1).fPriCoRateType));
5300 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxAmt = '||to_char(line_in_tab(1).fPriCoTaxAmt));
5301
5302 IF line_in_tab(1).fPriCoTaxIncluded = TRUE THEN
5303 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = TRUE');
5304 ELSIF line_in_tab(1).fPriCoTaxIncluded = FALSE THEN
5305 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = FALSE');
5306 ELSE
5307 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCoTaxIncluded = NULL');
5308 END IF;
5309
5310 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTxblty = '||to_char(line_in_tab(1).fPriCiTxblty));
5311 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxType = '||to_char(line_in_tab(1).fPriCiTaxType));
5312 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxedAmt = '||
5313 to_char(line_in_tab(1).fPriCiTaxedAmt));
5314 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiExmtAmt = '||to_char(line_in_tab(1).fPriCiExmtAmt));
5315 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiExmtRsnCd = '||line_in_tab(1).fPriCiExmtRsnCd);
5316 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiNonTxblAmt = '||
5317 to_char(line_in_tab(1).fPriCiNonTxblAmt));
5318 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiNonTxblRsnCd = '||
5319 line_in_tab(1).fPriCiNonTxblRsnCd);
5320 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRate = '||to_char(line_in_tab(1).fPriCiRate));
5321 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRateEffDate = '||line_in_tab(1).fPriCiRateEffDate);
5322 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiRateType = '||
5323 to_char(line_in_tab(1).fPriCiRateType));
5324 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxAmt = '||to_char(line_in_tab(1).fPriCiTaxAmt));
5325
5326 IF line_in_tab(1).fPriCiTaxIncluded = TRUE THEN
5327 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = TRUE');
5328 ELSIF line_in_tab(1).fPriCiTaxIncluded = FALSE THEN
5329 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = FALSE');
5330 ELSE
5331 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriCiTaxIncluded = NULL');
5332 END IF;
5333
5334 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTxblty = '||to_char(line_in_tab(1).fPriDiTxblty));
5335 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxType = '||to_char(line_in_tab(1).fPriDiTaxType));
5336 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxedAmt = '||
5337 to_char(line_in_tab(1).fPriDiTaxedAmt));
5338 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiExmtAmt = '||to_char(line_in_tab(1).fPriDiExmtAmt));
5339 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiExmtRsnCd = '||line_in_tab(1).fPriDiExmtRsnCd);
5340 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiNonTxblAmt = '||
5341 to_char(line_in_tab(1).fPriDiNonTxblAmt));
5342 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiNonTxblRsnCd = '||
5343 line_in_tab(1).fPriDiNonTxblRsnCd);
5344 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRate = '||to_char(line_in_tab(1).fPriDiRate));
5345 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRateEffDate = '||line_in_tab(1).fPriDiRateEffDate);
5346 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiRateType = '||
5347 to_char(line_in_tab(1).fPriDiRateType));
5348 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxAmt = '||to_char(line_in_tab(1).fPriDiTaxAmt));
5349
5350 IF line_in_tab(1).fPriDiTaxIncluded = TRUE THEN
5351 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = TRUE');
5352 ELSIF line_in_tab(1).fPriDiTaxIncluded = FALSE THEN
5353 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = FALSE');
5354 ELSE
5355 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiTaxIncluded = NULL');
5356 END IF;
5357
5358 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fPriDiAppliesTo = '||
5359 to_char(line_in_tab(1).fPriDiAppliesTo));
5360 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddTaxingJuris = '||
5361 to_char(line_in_tab(1).fAddTaxingJuris));
5362 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCustExmtCrtfNum = '||
5363 line_in_tab(1).fAddCustExmtCrtfNum);
5364 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTxblty = '||to_char(line_in_tab(1).fAddCoTxblty));
5365 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxType = '||to_char(line_in_tab(1).fAddCoTaxType));
5366 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxedAmt = '||
5367 to_char(line_in_tab(1).fAddCoTaxedAmt));
5368 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoExmtAmt = '||to_char(line_in_tab(1).fAddCoExmtAmt));
5369 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoExmtRsnCd = '||line_in_tab(1).fAddCoExmtRsnCd);
5370 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoNonTxblAmt = '||
5371 to_char(line_in_tab(1).fAddCoNonTxblAmt));
5372 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoNonTxblRsnCd = '||
5373 line_in_tab(1).fAddCoNonTxblRsnCd);
5374 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRate = '||to_char(line_in_tab(1).fAddCoRate));
5375 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRateEffDate = '||line_in_tab(1).fAddCoRateEffDate);
5376 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoRateType = '||
5377 to_char(line_in_tab(1).fAddCoRateType));
5378 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxAmt = '||to_char(line_in_tab(1).fAddCoTaxAmt));
5379
5380 IF line_in_tab(1).fAddCoTaxIncluded = TRUE THEN
5381 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = TRUE');
5382 ELSIF line_in_tab(1).fAddCoTaxIncluded = FALSE THEN
5383 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = FALSE');
5384 ELSE
5385 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCoTaxIncluded = NULL');
5386 END IF;
5387
5388 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTxblty = '||to_char(line_in_tab(1).fAddCiTxblty));
5389 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxType = '||to_char(line_in_tab(1).fAddCiTaxType));
5390 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxedAmt = '||
5391 to_char(line_in_tab(1).fAddCiTaxedAmt));
5392 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiExmtAmt = '||to_char(line_in_tab(1).fAddCiExmtAmt));
5393 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiExmtRsnCd = '||line_in_tab(1).fAddCiExmtRsnCd);
5394 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiNonTxblAmt = '||
5395 to_char(line_in_tab(1).fAddCiNonTxblAmt));
5396 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiNonTxblRsnCd = '||
5397 line_in_tab(1).fAddCiNonTxblRsnCd);
5398 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRate = '||to_char(line_in_tab(1).fAddCiRate));
5399 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRateEffDate = '||line_in_tab(1).fAddCiRateEffDate);
5400 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiRateType = '||
5401 to_char(line_in_tab(1).fAddCiRateType));
5402 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxAmt = '||to_char(line_in_tab(1).fAddCiTaxAmt));
5403
5404 IF line_in_tab(1).fAddCiTaxIncluded = TRUE THEN
5405 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = TRUE');
5406 ELSIF line_in_tab(1).fAddCiTaxIncluded = FALSE THEN
5407 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = FALSE');
5408 ELSE
5409 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddCiTaxIncluded = NULL');
5410 END IF;
5411
5412 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTxblty = '||to_char(line_in_tab(1).fAddDiTxblty));
5413 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxType = '||to_char(line_in_tab(1).fAddDiTaxType));
5414 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxedAmt = '||
5415 to_char(line_in_tab(1).fAddDiTaxedAmt));
5416 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiExmtAmt = '||to_char(line_in_tab(1).fAddDiExmtAmt));
5417 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiExmtRsnCd = '||line_in_tab(1).fAddDiExmtRsnCd);
5418 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiNonTxblAmt = '||
5419 to_char(line_in_tab(1).fAddDiNonTxblAmt));
5420 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiNonTxblRsnCd = '||
5421 line_in_tab(1).fAddDiNonTxblRsnCd);
5422 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRate = '||to_char(line_in_tab(1).fAddDiRate));
5423 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRateEffDate = '||line_in_tab(1).fAddDiRateEffDate);
5424 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiRateType = '||
5425 to_char(line_in_tab(1).fAddDiRateType));
5426 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxAmt = '||to_char(line_in_tab(1).fAddDiTaxAmt));
5427
5428 IF line_in_tab(1).fAddDiTaxIncluded = TRUE THEN
5429 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = TRUE');
5430 ELSIF line_in_tab(1).fAddDiTaxIncluded = FALSE THEN
5431 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = FALSE');
5432 ELSE
5433 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiTaxIncluded = NULL');
5434 END IF;
5435
5436 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'fAddDiAppliesTo = '|| to_char(line_in_tab(1).fAddDiAppliesTo));
5437 END IF;
5438 END IF;
5439
5440 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5441 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
5442 END IF;
5443
5444 end DISPLAY_OUTPUT;
5445
5446 PROCEDURE ERROR_EXCEPTION_HANDLE(str varchar2) is
5447
5448 CURSOR error_exception_cursor IS
5449 SELECT EVNT_CLS_MAPPING_ID,
5450 TRX_ID,
5451 TAX_REGIME_CODE
5452 FROM ZX_TRX_PRE_PROC_OPTIONS_GT;
5453
5454 BEGIN
5455 IF (g_docment_type_id is null) THEN
5456 OPEN error_exception_cursor;
5457 FETCH error_exception_cursor
5458 INTO g_docment_type_id,
5459 g_trasaction_id,
5460 g_tax_regime_code;
5461 CLOSE error_exception_cursor;
5462 END IF;
5463
5464 err_count := nvl(err_count,0)+1;
5465 G_MESSAGES_TBL.DOCUMENT_TYPE_ID(err_count) := g_docment_type_id;
5466 G_MESSAGES_TBL.TRANSACTION_ID(err_count) := g_trasaction_id;
5467 G_MESSAGES_TBL.COUNTRY_CODE(err_count) := g_tax_regime_code;
5468 G_MESSAGES_TBL.TRANSACTION_LINE_ID(err_count) := g_transaction_line_id;
5469 G_MESSAGES_TBL.TRX_LEVEL_TYPE(err_count) := g_trx_level_type;
5470 G_MESSAGES_TBL.ERROR_MESSAGE_TYPE(err_count) := 'ERROR';
5471 G_MESSAGES_TBL.ERROR_MESSAGE_STRING(err_count) := str;
5472
5473 END ERROR_EXCEPTION_HANDLE;
5474
5475 PROCEDURE INITIALIZE is
5476 l_api_name CONSTANT VARCHAR2(30) := 'INITIALIZE';
5477 begin
5478 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5479 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
5480 END IF;
5481
5482 context_rec.fGetJurisNames := TRUE;
5483 context_rec.fRoundingMethod := ZX_TAX_VERTEX_QSU.cQSURndngMethodQuantum;
5484
5485 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5486 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
5487 END IF;
5488 end INITIALIZE;
5489
5490 begin /*Constructor*/
5491 initialize;
5492 END ZX_VERTEX_TAX_SERVICE_PKG;