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