[Home] [Help]
PACKAGE BODY: APPS.ZX_NEW_SERVICES_PKG
Source
1 PACKAGE BODY ZX_NEW_SERVICES_PKG AS
2 /* $Header: zxifnewsrvcspubb.pls 120.13.12020000.4 2013/03/15 10:12:09 ssohal ship $ */
3
4 /* ======================================================================*
5 | Global Data Types |
6 * ======================================================================*/
7
8 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ZX_NEW_SERVICES_PKG';
9 G_MSG_UERROR CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR;
10 G_MSG_ERROR CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_ERROR;
11 G_MSG_SUCCESS CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_SUCCESS;
12 G_MSG_HIGH CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH;
13 G_MSG_MEDIUM CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM;
14 G_MSG_LOW CONSTANT NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW;
15 G_LINES_PER_FETCH CONSTANT NUMBER := 1000;
16
17 G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
18 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
19 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
20 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
21 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
22 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
23 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
24 G_MODULE_NAME CONSTANT VARCHAR2(30) := 'ZX.PLSQL.ZX_NEW_APIS_PUB.';
25
26 TYPE VARCHAR2_tbl_type is TABLE OF VARCHAR2(1)
27 INDEX BY BINARY_INTEGER;
28
29 TYPE VARCHAR2_30_tbl_type is TABLE OF VARCHAR2(30)
30 INDEX BY BINARY_INTEGER;
31
32 TYPE NUMBER_15_tbl_type is TABLE OF NUMBER(15)
33 INDEX BY BINARY_INTEGER;
34
35 TYPE NUMBER_tbl_type is TABLE OF NUMBER
36 INDEX BY BINARY_INTEGER;
37
38 TYPE evnt_cls_rec_type is RECORD
39 ( event_class_code VARCHAR2_30_tbl_type,
40 application_id NUMBER_tbl_type,
41 entity_code VARCHAR2_30_tbl_type,
42 internal_organization_id NUMBER_tbl_type,
43 precedence NUMBER_tbl_type,
44 icx_session_id NUMBER_15_tbl_type,
45 quote_flag VARCHAR2_tbl_type
46 );
47
48 l_evnt_cls evnt_cls_rec_type;
49
50 /* Cursor for updating Det Factors information during Cancel/Discard */
51 Cursor c_lines(p_event_class_rec ZX_API_PUB.event_class_rec_type,
52 p_trx_line_id NUMBER,
53 p_trx_level_type VARCHAR2) is
54 SELECT /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1) */
55 header.INTERNAL_ORGANIZATION_ID ,
56 header.APPLICATION_ID ,
57 header.ENTITY_CODE ,
58 header.EVENT_CLASS_CODE ,
59 header.EVENT_TYPE_CODE ,
60 header.TRX_ID ,
61 trxlines.TRX_LEVEL_TYPE ,
62 trxlines.TRX_LINE_ID ,
63 trxlines.LINE_LEVEL_ACTION ,
64 nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
65 header.TRX_DATE ,
66 header.TRX_DOC_REVISION ,
67 header.LEDGER_ID ,
68 header.TRX_CURRENCY_CODE ,
69 header.CURRENCY_CONVERSION_DATE ,
70 header.CURRENCY_CONVERSION_RATE ,
71 header.CURRENCY_CONVERSION_TYPE ,
72 header.MINIMUM_ACCOUNTABLE_UNIT ,
73 header.PRECISION ,
74 trxlines.TRX_LINE_CURRENCY_CODE ,
75 trxlines.TRX_LINE_CURRENCY_CONV_DATE ,
76 trxlines.TRX_LINE_CURRENCY_CONV_RATE ,
77 trxlines.TRX_LINE_CURRENCY_CONV_TYPE ,
78 trxlines.TRX_LINE_MAU ,
79 trxlines.TRX_LINE_PRECISION ,
80 trxlines.TRX_SHIPPING_DATE ,
81 trxlines.TRX_RECEIPT_DATE ,
82 header.LEGAL_ENTITY_ID ,
83 header.ROUNDING_SHIP_TO_PARTY_ID ,
84 header.ROUNDING_SHIP_FROM_PARTY_ID ,
85 header.ROUNDING_BILL_TO_PARTY_ID ,
86 header.ROUNDING_BILL_FROM_PARTY_ID ,
87 header.RNDG_SHIP_TO_PARTY_SITE_ID ,
88 header.RNDG_SHIP_FROM_PARTY_SITE_ID ,
89 header.RNDG_BILL_TO_PARTY_SITE_ID ,
90 header.RNDG_BILL_FROM_PARTY_SITE_ID ,
91 header.ESTABLISHMENT_ID ,
92 trxlines.TRX_LINE_TYPE ,
93 trxlines.TRX_LINE_DATE ,
94 trxlines.TRX_BUSINESS_CATEGORY ,
95 trxlines.LINE_INTENDED_USE ,
96 trxlines.USER_DEFINED_FISC_CLASS ,
97 trxlines.LINE_AMT ,
98 trxlines.TRX_LINE_QUANTITY ,
99 trxlines.UNIT_PRICE ,
100 trxlines.EXEMPT_CERTIFICATE_NUMBER ,
101 trxlines.EXEMPT_REASON ,
102 trxlines.CASH_DISCOUNT ,
103 trxlines.VOLUME_DISCOUNT ,
104 trxlines.TRADING_DISCOUNT ,
105 trxlines.TRANSFER_CHARGE ,
106 trxlines.TRANSPORTATION_CHARGE ,
107 trxlines.INSURANCE_CHARGE ,
108 trxlines.OTHER_CHARGE ,
109 trxlines.PRODUCT_ID ,
110 trxlines.PRODUCT_FISC_CLASSIFICATION ,
111 trxlines.PRODUCT_ORG_ID ,
112 trxlines.UOM_CODE ,
113 trxlines.PRODUCT_TYPE ,
114 trxlines.PRODUCT_CODE ,
115 trxlines.PRODUCT_CATEGORY ,
116 trxlines.TRX_SIC_CODE ,
117 trxlines.FOB_POINT ,
118 trxlines.SHIP_TO_PARTY_ID ,
119 trxlines.SHIP_FROM_PARTY_ID ,
120 trxlines.POA_PARTY_ID ,
121 trxlines.POO_PARTY_ID ,
122 trxlines.BILL_TO_PARTY_ID ,
123 trxlines.BILL_FROM_PARTY_ID ,
124 trxlines.MERCHANT_PARTY_ID ,
125 trxlines.SHIP_TO_PARTY_SITE_ID ,
126 trxlines.SHIP_FROM_PARTY_SITE_ID ,
127 trxlines.POA_PARTY_SITE_ID ,
128 trxlines.POO_PARTY_SITE_ID ,
129 trxlines.BILL_TO_PARTY_SITE_ID ,
130 trxlines.BILL_FROM_PARTY_SITE_ID ,
131 trxlines.SHIP_TO_LOCATION_ID ,
132 trxlines.SHIP_FROM_LOCATION_ID ,
133 trxlines.POA_LOCATION_ID ,
134 trxlines.POO_LOCATION_ID ,
135 trxlines.BILL_TO_LOCATION_ID ,
136 trxlines.BILL_FROM_LOCATION_ID ,
137 trxlines.ACCOUNT_CCID ,
138 trxlines.ACCOUNT_STRING ,
139 trxlines.MERCHANT_PARTY_COUNTRY ,
140 header.RECEIVABLES_TRX_TYPE_ID ,
141 trxlines.REF_DOC_APPLICATION_ID ,
142 trxlines.REF_DOC_ENTITY_CODE ,
143 trxlines.REF_DOC_EVENT_CLASS_CODE ,
144 trxlines.REF_DOC_TRX_ID ,
145 trxlines.REF_DOC_LINE_ID ,
146 trxlines.REF_DOC_LINE_QUANTITY ,
147 header.RELATED_DOC_APPLICATION_ID ,
148 header.RELATED_DOC_ENTITY_CODE ,
149 header.RELATED_DOC_EVENT_CLASS_CODE ,
150 header.RELATED_DOC_TRX_ID ,
151 header.RELATED_DOC_NUMBER ,
152 header.RELATED_DOC_DATE ,
153 trxlines.APPLIED_FROM_APPLICATION_ID ,
154 trxlines.APPLIED_FROM_EVENT_CLASS_CODE ,
155 trxlines.APPLIED_FROM_ENTITY_CODE ,
156 trxlines.APPLIED_FROM_TRX_ID ,
157 trxlines.APPLIED_FROM_LINE_ID ,
158 trxlines.APPLIED_FROM_TRX_NUMBER ,
159 trxlines.ADJUSTED_DOC_APPLICATION_ID ,
160 trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE ,
161 trxlines.ADJUSTED_DOC_ENTITY_CODE ,
162 trxlines.ADJUSTED_DOC_TRX_ID ,
163 trxlines.ADJUSTED_DOC_LINE_ID ,
164 trxlines.ADJUSTED_DOC_NUMBER ,
165 trxlines.ADJUSTED_DOC_DATE ,
166 trxlines.APPLIED_TO_APPLICATION_ID ,
167 trxlines.APPLIED_TO_ENTITY_CODE ,
168 trxlines.APPLIED_TO_EVENT_CLASS_CODE ,
169 trxlines.APPLIED_TO_TRX_ID ,
170 trxlines.APPLIED_TO_TRX_LINE_ID ,
171 trxlines.TRX_ID_LEVEL2 ,
172 trxlines.TRX_ID_LEVEL3 ,
173 trxlines.TRX_ID_LEVEL4 ,
174 trxlines.TRX_ID_LEVEL5 ,
175 trxlines.TRX_ID_LEVEL6 ,
176 header.TRX_NUMBER ,
177 header.TRX_DESCRIPTION ,
178 trxlines.TRX_LINE_NUMBER ,
179 trxlines.TRX_LINE_DESCRIPTION ,
180 trxlines.PRODUCT_DESCRIPTION ,
181 trxlines.TRX_WAYBILL_NUMBER ,
182 header.TRX_COMMUNICATED_DATE ,
183 trxlines.TRX_LINE_GL_DATE ,
184 header.BATCH_SOURCE_ID ,
185 header.BATCH_SOURCE_NAME ,
186 header.DOC_SEQ_ID ,
187 header.DOC_SEQ_NAME ,
188 header.DOC_SEQ_VALUE ,
189 header.TRX_DUE_DATE ,
190 header.TRX_TYPE_DESCRIPTION ,
191 trxlines.MERCHANT_PARTY_NAME ,
192 trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER ,
193 trxlines.MERCHANT_PARTY_REFERENCE ,
194 trxlines.MERCHANT_PARTY_TAXPAYER_ID ,
195 trxlines.MERCHANT_PARTY_TAX_REG_NUMBER ,
196 trxlines.PAYING_PARTY_ID ,
197 trxlines.OWN_HQ_PARTY_ID ,
198 trxlines.TRADING_HQ_PARTY_ID ,
199 trxlines.POI_PARTY_ID ,
200 trxlines.POD_PARTY_ID ,
201 trxlines.TITLE_TRANSFER_PARTY_ID ,
202 trxlines.PAYING_PARTY_SITE_ID ,
203 trxlines.OWN_HQ_PARTY_SITE_ID ,
204 trxlines.TRADING_HQ_PARTY_SITE_ID ,
205 trxlines.POI_PARTY_SITE_ID ,
206 trxlines.POD_PARTY_SITE_ID ,
207 trxlines.TITLE_TRANSFER_PARTY_SITE_ID ,
208 trxlines.PAYING_LOCATION_ID ,
209 trxlines.OWN_HQ_LOCATION_ID ,
210 trxlines.TRADING_HQ_LOCATION_ID ,
211 trxlines.POC_LOCATION_ID ,
212 trxlines.POI_LOCATION_ID ,
213 trxlines.POD_LOCATION_ID ,
214 trxlines.TITLE_TRANSFER_LOCATION_ID ,
215 trxlines.ASSESSABLE_VALUE ,
216 trxlines.ASSET_FLAG ,
217 trxlines.ASSET_NUMBER ,
218 trxlines.ASSET_ACCUM_DEPRECIATION ,
219 trxlines.ASSET_TYPE ,
220 trxlines.ASSET_COST ,
221 trxlines.NUMERIC1 ,
222 trxlines.NUMERIC2 ,
223 trxlines.NUMERIC3 ,
224 trxlines.NUMERIC4 ,
225 trxlines.NUMERIC5 ,
226 trxlines.NUMERIC6 ,
227 trxlines.NUMERIC7 ,
228 trxlines.NUMERIC8 ,
229 trxlines.NUMERIC9 ,
230 trxlines.NUMERIC10 ,
231 trxlines.CHAR1 ,
232 trxlines.CHAR2 ,
233 trxlines.CHAR3 ,
234 trxlines.CHAR4 ,
235 trxlines.CHAR5 ,
236 trxlines.CHAR6 ,
237 trxlines.CHAR7 ,
238 trxlines.CHAR8 ,
239 trxlines.CHAR9 ,
240 trxlines.CHAR10 ,
241 trxlines.DATE1 ,
242 trxlines.DATE2 ,
243 trxlines.DATE3 ,
244 trxlines.DATE4 ,
245 trxlines.DATE5 ,
246 trxlines.DATE6 ,
247 trxlines.DATE7 ,
248 trxlines.DATE8 ,
249 trxlines.DATE9 ,
250 trxlines.DATE10 ,
251 header.FIRST_PTY_ORG_ID ,
252 header.TAX_EVENT_CLASS_CODE ,
253 header.TAX_EVENT_TYPE_CODE ,
254 header.DOC_EVENT_STATUS ,
255 header.RDNG_SHIP_TO_PTY_TX_PROF_ID ,
256 header.RDNG_SHIP_FROM_PTY_TX_PROF_ID ,
257 header.RDNG_BILL_TO_PTY_TX_PROF_ID ,
258 header.RDNG_BILL_FROM_PTY_TX_PROF_ID ,
259 header.RDNG_SHIP_TO_PTY_TX_P_ST_ID ,
260 header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID ,
261 header.RDNG_BILL_TO_PTY_TX_P_ST_ID ,
262 header.RDNG_BILL_FROM_PTY_TX_P_ST_ID ,
263 trxlines.SHIP_TO_PARTY_TAX_PROF_ID ,
264 trxlines.SHIP_FROM_PARTY_TAX_PROF_ID ,
265 trxlines.POA_PARTY_TAX_PROF_ID ,
266 trxlines.POO_PARTY_TAX_PROF_ID ,
267 trxlines.PAYING_PARTY_TAX_PROF_ID ,
268 trxlines.OWN_HQ_PARTY_TAX_PROF_ID ,
269 trxlines.TRADING_HQ_PARTY_TAX_PROF_ID ,
270 trxlines.POI_PARTY_TAX_PROF_ID ,
271 trxlines.POD_PARTY_TAX_PROF_ID ,
272 trxlines.BILL_TO_PARTY_TAX_PROF_ID ,
273 trxlines.BILL_FROM_PARTY_TAX_PROF_ID ,
274 trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID ,
275 trxlines.SHIP_TO_SITE_TAX_PROF_ID ,
276 trxlines.SHIP_FROM_SITE_TAX_PROF_ID ,
277 trxlines.POA_SITE_TAX_PROF_ID ,
278 trxlines.POO_SITE_TAX_PROF_ID ,
279 trxlines.PAYING_SITE_TAX_PROF_ID ,
280 trxlines.OWN_HQ_SITE_TAX_PROF_ID ,
281 trxlines.TRADING_HQ_SITE_TAX_PROF_ID ,
282 trxlines.POI_SITE_TAX_PROF_ID ,
283 trxlines.POD_SITE_TAX_PROF_ID ,
284 trxlines.BILL_TO_SITE_TAX_PROF_ID ,
285 trxlines.BILL_FROM_SITE_TAX_PROF_ID ,
286 trxlines.TITLE_TRANS_SITE_TAX_PROF_ID ,
287 trxlines.MERCHANT_PARTY_TAX_PROF_ID ,
288 to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
289 header.DOCUMENT_SUB_TYPE ,
290 header.SUPPLIER_TAX_INVOICE_NUMBER ,
291 header.SUPPLIER_TAX_INVOICE_DATE ,
292 header.SUPPLIER_EXCHANGE_RATE ,
293 header.TAX_INVOICE_DATE ,
294 header.TAX_INVOICE_NUMBER ,
295 trxlines.LINE_AMT_INCLUDES_TAX_FLAG ,
296 header.QUOTE_FLAG ,
297 header.DEFAULT_TAXATION_COUNTRY ,
298 trxlines.HISTORICAL_FLAG ,
299 header.INTERNAL_ORG_LOCATION_ID ,
300 trxlines.CTRL_HDR_TX_APPL_FLAG ,
301 header.CTRL_TOTAL_HDR_TX_AMT ,
302 trxlines.CTRL_TOTAL_LINE_TX_AMT ,
303 null DIST_LEVEL_ACTION ,
304 to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
305 to_number(null) APPLIED_FROM_TAX_DIST_ID ,
306 to_number(null) TASK_ID ,
307 to_number(null) AWARD_ID ,
308 to_number(null) PROJECT_ID ,
309 null EXPENDITURE_TYPE ,
310 to_number(null) EXPENDITURE_ORGANIZATION_ID ,
311 null EXPENDITURE_ITEM_DATE ,
312 to_number(null) TRX_LINE_DIST_AMT ,
313 to_number(null) TRX_LINE_DIST_QUANTITY ,
314 to_number(null) REF_DOC_CURR_CONV_RATE ,
315 to_number(null) ITEM_DIST_NUMBER ,
316 to_number(null) REF_DOC_DIST_ID ,
317 to_number(null) TRX_LINE_DIST_TAX_AMT ,
318 to_number(null) TRX_LINE_DIST_ID ,
319 to_number(null) APPLIED_FROM_DIST_ID ,
320 to_number(null) ADJUSTED_DOC_DIST_ID ,
321 to_number(null) OVERRIDING_RECOVERY_RATE ,
322 trxlines.INPUT_TAX_CLASSIFICATION_CODE ,
323 trxlines.OUTPUT_TAX_CLASSIFICATION_CODE ,
324 header.PORT_OF_ENTRY_CODE ,
325 header.TAX_REPORTING_FLAG ,
326 null TAX_AMT_INCLUDED_FLAG ,
327 null COMPOUNDING_TAX_FLAG ,
328 header.SHIP_THIRD_PTY_ACCT_ID ,
329 header.BILL_THIRD_PTY_ACCT_ID ,
330 header.SHIP_THIRD_PTY_ACCT_SITE_ID ,
331 header.BILL_THIRD_PTY_ACCT_SITE_ID ,
332 header.SHIP_TO_CUST_ACCT_SITE_USE_ID ,
333 header.BILL_TO_CUST_ACCT_SITE_USE_ID ,
334 header.PROVNL_TAX_DETERMINATION_DATE ,
335 trxlines.START_EXPENSE_DATE ,
336 header.TRX_BATCH_ID ,
337 header.APPLIED_TO_TRX_NUMBER ,
338 trxlines.SOURCE_APPLICATION_ID ,
339 trxlines.SOURCE_ENTITY_CODE ,
340 trxlines.SOURCE_EVENT_CLASS_CODE ,
341 trxlines.SOURCE_TRX_ID ,
342 trxlines.SOURCE_LINE_ID ,
343 trxlines.SOURCE_TRX_LEVEL_TYPE ,
344 trxlines.REF_DOC_TRX_LEVEL_TYPE ,
345 trxlines.APPLIED_TO_TRX_LEVEL_TYPE ,
346 trxlines.APPLIED_FROM_TRX_LEVEL_TYPE ,
347 trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE ,
348 header.APPLICATION_DOC_STATUS ,
349 header.HDR_TRX_USER_KEY1 ,
350 header.HDR_TRX_USER_KEY2 ,
351 header.HDR_TRX_USER_KEY3 ,
352 header.HDR_TRX_USER_KEY4 ,
353 header.HDR_TRX_USER_KEY5 ,
354 header.HDR_TRX_USER_KEY6 ,
355 trxlines.LINE_TRX_USER_KEY1 ,
356 trxlines.LINE_TRX_USER_KEY2 ,
357 trxlines.LINE_TRX_USER_KEY3 ,
358 trxlines.LINE_TRX_USER_KEY4 ,
359 trxlines.LINE_TRX_USER_KEY5 ,
360 trxlines.LINE_TRX_USER_KEY6 ,
361 trxlines.SOURCE_TAX_LINE_ID ,
362 trxlines.EXEMPTION_CONTROL_FLAG ,
363 to_number(null) REVERSED_APPLN_ID ,
364 null REVERSED_ENTITY_CODE ,
365 null REVERSED_EVNT_CLS_CODE ,
366 to_number(null) REVERSED_TRX_ID ,
367 null REVERSED_TRX_LEVEL_TYPE ,
368 to_number(null) REVERSED_TRX_LINE_ID ,
369 trxlines.EXEMPT_REASON_CODE ,
370 trxlines.INTERFACE_ENTITY_CODE ,
371 trxlines.INTERFACE_LINE_ID ,
372 trxlines.DEFAULTING_ATTRIBUTE1 ,
373 trxlines.DEFAULTING_ATTRIBUTE2 ,
374 trxlines.DEFAULTING_ATTRIBUTE3 ,
375 trxlines.DEFAULTING_ATTRIBUTE4 ,
376 trxlines.DEFAULTING_ATTRIBUTE5 ,
377 trxlines.DEFAULTING_ATTRIBUTE6 ,
378 trxlines.DEFAULTING_ATTRIBUTE7 ,
379 trxlines.DEFAULTING_ATTRIBUTE8 ,
380 trxlines.DEFAULTING_ATTRIBUTE9 ,
381 trxlines.DEFAULTING_ATTRIBUTE10 ,
382 trxlines.HISTORICAL_TAX_CODE_ID ,
383 nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
384 nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
385 nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
386 nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
387 nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
388 nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
389 nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
390 trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
391 trxlines.GLOBAL_ATTRIBUTE1,
392 to_number(null) TOTAL_INC_TAX_AMT ,
393 trxlines.USER_UPD_DET_FACTORS_FLAG,
394 decode(trxlines.line_level_action,'CREATE','I',
395 'CREATE_TAX_ONLY','I',
396 'APPLY_FROM','I',
397 'INTERCOMPANY_CREATE','I',
398 'UNAPPLY_FROM','U',
399 'LINE_INFO_TAX_ONLY','I',
400 'CREATE_WITH_TAX','I',
401 'ALLOCATE_TAX_ONLY_ADJUSTMENT','I',
402 'COPY_AND_CREATE','I',
403 'RECORD_WITH_NO_TAX','I',
404 'NO_CHANGE','U',
405 'UPDATE','U',
406 'DISCARD','U',
407 'CANCEL','U',
408 'SYNCHRONIZE','U',
409 'DELETE','U') INSERT_UPDATE_FLAG
410 /* The update insert flag is to determine the records that need to be inserted/updated
411 into zx_lines_det_factors depending on the line_level_action for tax event type UPDATE*/
412 FROM ZX_TRANSACTION_LINES_GT trxlines,
413 ZX_TRX_HEADERS_GT header
414 WHERE trxlines.application_id = header.application_id
415 AND trxlines.entity_code = header.entity_code
416 AND trxlines.event_class_code = header.event_class_code
417 AND trxlines.trx_id = header.trx_id
418 AND header.event_class_code = p_event_class_rec.event_class_code
419 AND header.entity_code = p_event_class_rec.entity_code
420 AND header.application_id = p_event_class_rec.application_id
421 AND NVL(header.validation_check_flag, 'Y') = 'Y'
422 AND (trxlines.trx_line_id = p_trx_line_id OR
423 p_trx_line_id IS NULL)
424 AND (trxlines.trx_level_type = p_trx_level_type OR
425 p_trx_level_type IS NULL)
426 AND NOT EXISTS(
427 SELECT 1
428 FROM ZX_ERRORS_GT err
429 WHERE err.application_id = header.application_id
430 AND err.entity_code = header.entity_code
431 AND err.event_class_code = header.event_class_code
432 AND err.trx_id = header.trx_id)
433 ORDER BY header.related_doc_application_id ASC NULLS FIRST ,
434 header.legal_entity_id ASC,
435 header.trx_date ASC,
436 header.trx_id ASC,
437 INSERT_UPDATE_FLAG DESC;
438
439 PROCEDURE Pop_Index_Attrbs_To_Null ( p_index IN NUMBER,
440 x_return_status OUT NOCOPY VARCHAR2
441 ) IS
442 -- Variables
443 l_api_name CONSTANT VARCHAR2(30):= 'POP_INDEX_ATTRBS_TO_NULL';
444 l_application_id NUMBER;
445 l_entity_code VARCHAR(30);
446 l_event_class_code VARCHAR(30);
447 l_trx_id NUMBER;
448 l_trx_line_id NUMBER;
449 l_trx_level_type VARCHAR(30);
450
451 BEGIN
452 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
453 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',
454 'ZX_SRVC_TYP_PKG: Pop_Index_Attrbs_To_Null()+');
455 END IF;
456 -- Copy the key attributes in the local variables
457 l_application_id := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index);
458 l_entity_code := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index);
459 l_event_class_code := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index);
460 l_trx_id := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index);
461 l_trx_line_id := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index);
462 l_trx_level_type := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index);
463
464 -- Call the procedure to populate all the attributes of plsql tbl structure
465 -- ZX_Global_Structures_Pkg.trx_line_dist_tbl at index p_index to NULL
466 ZX_GLOBAL_STRUCTURES_PKG.init_trx_line_dist_tbl (p_index);
467
468 -- Populate the key attributes of ZX_Global_Structures_Pkg.trx_line_dist_tbl
469 -- with values of local variables
470 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index) := l_application_id;
471 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index) := l_entity_code;
472 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index) := l_event_class_code;
473 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index) := l_trx_id;
474 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index) := l_trx_line_id;
475 ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index) := l_trx_level_type;
476
477 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
478 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
479 'ZX_NEW_SERVICES_PKG: Pop_Index_Attrbs_To_Null()-');
480 END IF;
481
482 EXCEPTION
483 WHEN OTHERS THEN
484 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
485 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
486 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
487 'Error occurred in ' || l_api_name || ' : ' ||SQLERRM);
488 END IF;
489
490 END Pop_Index_Attrbs_To_Null;
491
492 PROCEDURE db_update_line_det_factors
493 (p_trx_line_dist_tbl IN ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%TYPE,
494 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
495 p_line_level_action IN VARCHAR2,
496 x_return_status OUT NOCOPY VARCHAR2)
497 IS
498 l_api_name CONSTANT VARCHAR2(30):= 'UPDATE_LINE_DET_FACTORS';
499 l_context_info_rec ZX_API_PUB.context_info_rec_type;
500 l_insert_tab ZX_API_PUB.VARCHAR2_1_tbl_type;
501 l_return_status VARCHAR2(1);
502
503 BEGIN
504 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
505 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||':'||l_api_name||'()+');
506 END IF;
507
508 x_return_status := FND_API.G_RET_STS_SUCCESS;
509 FORALL i IN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) .. NVL(p_trx_line_dist_tbl.application_id.LAST,-99)
510 UPDATE ZX_LINES_DET_FACTORS SET
511 EVENT_ID = p_event_class_rec.event_id,
512 INTERNAL_ORGANIZATION_ID = p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
513 EVENT_TYPE_CODE = p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
514 DOC_EVENT_STATUS = p_event_class_rec.DOC_STATUS_CODE,
515 LINE_LEVEL_ACTION = NVL(p_line_level_action, p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i)),
516 LINE_CLASS = NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
517 TRX_DATE = p_trx_line_dist_tbl.TRX_DATE(i),
518 TRX_DOC_REVISION = p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
519 LEDGER_ID = p_trx_line_dist_tbl.LEDGER_ID(i),
520 TRX_CURRENCY_CODE = p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
521 CURRENCY_CONVERSION_DATE = p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
522 CURRENCY_CONVERSION_RATE = p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
523 CURRENCY_CONVERSION_TYPE = p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
524 MINIMUM_ACCOUNTABLE_UNIT = p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
525 PRECISION = p_trx_line_dist_tbl.PRECISION(i),
526 TRX_LINE_CURRENCY_CODE = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
527 TRX_LINE_CURRENCY_CONV_DATE = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i)),
528 TRX_LINE_CURRENCY_CONV_RATE = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i)),
529 TRX_LINE_CURRENCY_CONV_TYPE = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i)),
530 TRX_LINE_MAU = NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
531 TRX_LINE_PRECISION = NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
532 LEGAL_ENTITY_ID = p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
533 ESTABLISHMENT_ID = NVL(p_trx_line_dist_tbl.ESTABLISHMENT_ID(i), ESTABLISHMENT_ID),
534 -- RECEIVABLES_TRX_TYPE_ID = p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
535 -- DEFAULT_TAXATION_COUNTRY = NVL(p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i), DEFAULT_TAXATION_COUNTRY), -- Bug 5659537
536 -- TRX_NUMBER = p_trx_line_dist_tbl.TRX_NUMBER(i),
537 -- TRX_LINE_NUMBER = p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
538 -- TRX_LINE_DESCRIPTION = p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
539 -- TRX_DESCRIPTION = p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
540 -- TRX_COMMUNICATED_DATE = p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
541 -- BATCH_SOURCE_ID = p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
542 -- BATCH_SOURCE_NAME = p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
543 -- DOC_SEQ_ID = p_trx_line_dist_tbl.DOC_SEQ_ID(i),
544 -- DOC_SEQ_NAME = p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
545 -- DOC_SEQ_VALUE = p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
546 -- TRX_DUE_DATE = p_trx_line_dist_tbl.TRX_DUE_DATE(i),
547 -- TRX_TYPE_DESCRIPTION = p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
548 -- DOCUMENT_SUB_TYPE = NVL(p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i), DOCUMENT_SUB_TYPE), -- Bug 5659537
549 -- SUPPLIER_TAX_INVOICE_NUMBER = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
550 -- SUPPLIER_TAX_INVOICE_DATE = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
551 -- SUPPLIER_EXCHANGE_RATE = p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
552 -- TAX_INVOICE_DATE = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TAX_INVOICE_DATE, NVL(p_trx_line_dist_tbl.TAX_INVOICE_DATE(i), TAX_INVOICE_DATE)), -- Bug 5659357
553 -- TAX_INVOICE_NUMBER = p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
554 -- FIRST_PTY_ORG_ID = p_event_class_rec.FIRST_PTY_ORG_ID,
555 TAX_EVENT_CLASS_CODE = p_event_class_rec.TAX_EVENT_CLASS_CODE,
556 TAX_EVENT_TYPE_CODE = p_event_class_rec.TAX_EVENT_TYPE_CODE,
557 -- RDNG_SHIP_TO_PTY_TX_PROF_ID = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
558 -- RDNG_SHIP_FROM_PTY_TX_PROF_ID = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
559 -- RDNG_BILL_TO_PTY_TX_PROF_ID = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
560 -- RDNG_BILL_FROM_PTY_TX_PROF_ID = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
561 -- RDNG_SHIP_TO_PTY_TX_P_ST_ID = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
562 -- RDNG_SHIP_FROM_PTY_TX_P_ST_ID = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
563 -- RDNG_BILL_TO_PTY_TX_P_ST_ID = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
564 -- RDNG_BILL_FROM_PTY_TX_P_ST_ID = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
565 -- LINE_INTENDED_USE = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', LINE_INTENDED_USE, NVL(p_trx_line_dist_tbl.LINE_INTENDED_USE(i), LINE_INTENDED_USE)), --Bug 7371329
566 -- TRX_LINE_TYPE = p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
567 -- TRX_SHIPPING_DATE = p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
568 -- TRX_RECEIPT_DATE = p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
569 -- TRX_SIC_CODE = p_trx_line_dist_tbl.TRX_SIC_CODE(i),
570 -- FOB_POINT = p_trx_line_dist_tbl.FOB_POINT(i),
571 -- TRX_WAYBILL_NUMBER = p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
572 -- PRODUCT_ID = p_trx_line_dist_tbl.PRODUCT_ID(i),
573 -- PRODUCT_FISC_CLASSIFICATION = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', NVL(p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i), PRODUCT_FISC_CLASSIFICATION)), -- Bug 5659357
574 -- PRODUCT_ORG_ID = p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
575 -- UOM_CODE = p_trx_line_dist_tbl.UOM_CODE(i),
576 -- PRODUCT_TYPE = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_TYPE,NVL(p_trx_line_dist_tbl.PRODUCT_TYPE(i), PRODUCT_TYPE)), -- Bug 5659357
577 -- PRODUCT_CODE = p_trx_line_dist_tbl.PRODUCT_CODE(i),
578 -- PRODUCT_CATEGORY = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_CATEGORY, NVL(p_trx_line_dist_tbl.PRODUCT_CATEGORY(i), PRODUCT_CATEGORY)), -- Bug 5659357
579 -- PRODUCT_DESCRIPTION = p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
580 -- USER_DEFINED_FISC_CLASS = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',USER_DEFINED_FISC_CLASS,NVL(p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i), USER_DEFINED_FISC_CLASS)), -- Bug 5659357
581 LINE_AMT = p_trx_line_dist_tbl.LINE_AMT(i),
582 TRX_LINE_QUANTITY = p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
583 UNIT_PRICE = p_trx_line_dist_tbl.UNIT_PRICE(i),
584 -- CASH_DISCOUNT = p_trx_line_dist_tbl.CASH_DISCOUNT(i),
585 -- VOLUME_DISCOUNT = p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
586 -- TRADING_DISCOUNT = p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
587 -- TRANSFER_CHARGE = p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
588 -- TRANSPORTATION_CHARGE = p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
589 -- INSURANCE_CHARGE = p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
590 -- OTHER_CHARGE = p_trx_line_dist_tbl.OTHER_CHARGE(i),
591 ASSESSABLE_VALUE = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',ASSESSABLE_VALUE,NVL(p_trx_line_dist_tbl.ASSESSABLE_VALUE(i), ASSESSABLE_VALUE)), -- Bug 5659357
592 -- ASSET_FLAG = p_trx_line_dist_tbl.ASSET_FLAG(i),
593 -- ASSET_NUMBER = p_trx_line_dist_tbl.ASSET_NUMBER(i),
594 -- ASSET_ACCUM_DEPRECIATION = p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
595 -- ASSET_TYPE = p_trx_line_dist_tbl.ASSET_TYPE(i),
596 -- ASSET_COST = p_trx_line_dist_tbl.ASSET_COST(i),
597 -- RELATED_DOC_APPLICATION_ID = p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
598 -- RELATED_DOC_ENTITY_CODE = p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
599 -- RELATED_DOC_EVENT_CLASS_CODE = p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
600 -- RELATED_DOC_TRX_ID = p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
601 -- RELATED_DOC_NUMBER = p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
602 -- RELATED_DOC_DATE = p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
603 -- APPLIED_FROM_APPLICATION_ID = p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
604 -- APPLIED_FROM_ENTITY_CODE = p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
605 -- APPLIED_FROM_EVENT_CLASS_CODE = p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
606 -- APPLIED_FROM_TRX_ID = p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
607 -- APPLIED_FROM_LINE_ID = p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
608 -- APPLIED_FROM_TRX_NUMBER = p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
609 -- ADJUSTED_DOC_APPLICATION_ID = p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
610 -- ADJUSTED_DOC_ENTITY_CODE = p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
611 -- ADJUSTED_DOC_EVENT_CLASS_CODE = p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
612 -- ADJUSTED_DOC_TRX_ID = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
613 -- ADJUSTED_DOC_LINE_ID = p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
614 -- ADJUSTED_DOC_NUMBER = p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
615 -- ADJUSTED_DOC_DATE = p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
616 -- APPLIED_TO_APPLICATION_ID = p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
617 -- APPLIED_TO_ENTITY_CODE = p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
618 -- APPLIED_TO_EVENT_CLASS_CODE = p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
619 -- APPLIED_TO_TRX_ID = p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
620 -- APPLIED_TO_TRX_LINE_ID = p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
621 -- TRX_ID_LEVEL2 = p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
622 -- TRX_ID_LEVEL3 = p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
623 -- TRX_ID_LEVEL4 = p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
624 -- TRX_ID_LEVEL5 = p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
625 -- TRX_ID_LEVEL6 = p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
626 -- TRX_BUSINESS_CATEGORY = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TRX_BUSINESS_CATEGORY, NVL(p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i), TRX_BUSINESS_CATEGORY)), -- Bug 5659357
627 -- EXEMPT_CERTIFICATE_NUMBER = p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
628 -- EXEMPT_REASON = p_trx_line_dist_tbl.EXEMPT_REASON(i),
629 -- HISTORICAL_FLAG = NVL(HISTORICAL_FLAG,p_trx_line_dist_tbl.HISTORICAL_FLAG(i)),
630 -- TRX_LINE_GL_DATE = p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
631 -- LINE_AMT_INCLUDES_TAX_FLAG = p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
632 -- ACCOUNT_CCID = p_trx_line_dist_tbl.ACCOUNT_CCID(i),
633 -- ACCOUNT_STRING = p_trx_line_dist_tbl.ACCOUNT_STRING(i),
634 -- MERCHANT_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
635 -- HQ_ESTB_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
636 -- NUMERIC1 = p_trx_line_dist_tbl.NUMERIC1(i),
637 -- NUMERIC2 = p_trx_line_dist_tbl.NUMERIC2(i),
638 -- NUMERIC3 = p_trx_line_dist_tbl.NUMERIC3(i),
639 -- NUMERIC4 = p_trx_line_dist_tbl.NUMERIC4(i),
640 -- NUMERIC5 = p_trx_line_dist_tbl.NUMERIC5(i),
641 -- NUMERIC6 = p_trx_line_dist_tbl.NUMERIC6(i),
642 -- NUMERIC7 = p_trx_line_dist_tbl.NUMERIC7(i),
643 -- NUMERIC8 = p_trx_line_dist_tbl.NUMERIC8(i),
644 -- NUMERIC9 = p_trx_line_dist_tbl.NUMERIC9(i),
645 -- NUMERIC10 = p_trx_line_dist_tbl.NUMERIC10(i),
646 -- CHAR1 = p_trx_line_dist_tbl.CHAR1(i),
647 -- CHAR2 = p_trx_line_dist_tbl.CHAR2(i),
648 -- CHAR3 = p_trx_line_dist_tbl.CHAR3(i),
649 -- CHAR4 = p_trx_line_dist_tbl.CHAR4(i),
650 -- CHAR5 = p_trx_line_dist_tbl.CHAR5(i),
651 -- CHAR6 = p_trx_line_dist_tbl.CHAR6(i),
652 -- CHAR7 = p_trx_line_dist_tbl.CHAR7(i),
653 -- CHAR8 = p_trx_line_dist_tbl.CHAR8(i),
654 -- CHAR9 = p_trx_line_dist_tbl.CHAR9(i),
655 -- CHAR10 = p_trx_line_dist_tbl.CHAR10(i),
656 -- DATE1 = p_trx_line_dist_tbl.DATE1(i),
657 -- DATE2 = p_trx_line_dist_tbl.DATE2(i),
658 -- DATE3 = p_trx_line_dist_tbl.DATE3(i),
659 -- DATE4 = p_trx_line_dist_tbl.DATE4(i),
660 -- DATE5 = p_trx_line_dist_tbl.DATE5(i),
661 -- DATE6 = p_trx_line_dist_tbl.DATE6(i),
662 -- DATE7 = p_trx_line_dist_tbl.DATE7(i),
663 -- DATE8 = p_trx_line_dist_tbl.DATE8(i),
664 -- DATE9 = p_trx_line_dist_tbl.DATE9(i),
665 -- DATE10 = p_trx_line_dist_tbl.DATE10(i),
666 -- MERCHANT_PARTY_NAME = p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
667 -- MERCHANT_PARTY_DOCUMENT_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
668 -- MERCHANT_PARTY_REFERENCE = p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
669 -- MERCHANT_PARTY_TAXPAYER_ID = p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
670 -- MERCHANT_PARTY_TAX_REG_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
671 -- MERCHANT_PARTY_ID = p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
672 -- MERCHANT_PARTY_COUNTRY = p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
673 -- SHIP_TO_LOCATION_ID = p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
674 -- SHIP_FROM_LOCATION_ID = p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
675 -- POA_LOCATION_ID = p_trx_line_dist_tbl.POA_LOCATION_ID(i),
676 -- POO_LOCATION_ID = p_trx_line_dist_tbl.POO_LOCATION_ID(i),
677 -- BILL_TO_LOCATION_ID = p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
678 -- BILL_FROM_LOCATION_ID = p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
679 -- PAYING_LOCATION_ID = p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
680 -- OWN_HQ_LOCATION_ID = p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
681 -- TRADING_HQ_LOCATION_ID = p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
682 -- POC_LOCATION_ID = p_trx_line_dist_tbl.POC_LOCATION_ID(i),
683 -- POI_LOCATION_ID = p_trx_line_dist_tbl.POI_LOCATION_ID(i),
684 -- POD_LOCATION_ID = p_trx_line_dist_tbl.POD_LOCATION_ID(i),
685 -- TITLE_TRANSFER_LOCATION_ID = p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
686 -- SHIP_TO_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
687 -- SHIP_FROM_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
688 -- POA_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
689 -- POO_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
690 -- PAYING_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
691 -- OWN_HQ_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
692 -- TRADING_HQ_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
693 -- POI_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
694 -- POD_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
695 -- BILL_TO_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
696 -- BILL_FROM_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
697 -- TITLE_TRANS_PARTY_TAX_PROF_ID = p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
698 -- SHIP_TO_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
699 -- SHIP_FROM_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
700 -- POA_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
701 -- POO_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
702 -- PAYING_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
703 -- OWN_HQ_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
704 -- TRADING_HQ_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
705 -- POI_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
706 -- POD_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
707 -- BILL_TO_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
708 -- BILL_FROM_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
709 -- TITLE_TRANS_SITE_TAX_PROF_ID = p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
710 -- CTRL_HDR_TX_APPL_FLAG = p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
711 -- CTRL_TOTAL_LINE_TX_AMT = p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
712 -- CTRL_TOTAL_HDR_TX_AMT = p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
713 -- REF_DOC_APPLICATION_ID = p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
714 -- REF_DOC_ENTITY_CODE = p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
715 -- REF_DOC_EVENT_CLASS_CODE = p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
716 -- REF_DOC_TRX_ID = p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
717 -- REF_DOC_LINE_ID = p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
718 -- REF_DOC_LINE_QUANTITY = p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
719 -- TRX_LINE_DATE = p_trx_line_dist_tbl.TRX_LINE_DATE(i),
720 -- INPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
721 -- OUTPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
722 -- INTERNAL_ORG_LOCATION_ID = p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
723 -- PORT_OF_ENTRY_CODE = p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
724 -- TAX_REPORTING_FLAG = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX',
725 -- 'N',
726 -- NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag)),
727 -- TAX_AMT_INCLUDED_FLAG = p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
728 -- COMPOUNDING_TAX_FLAG = p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
729 -- SHIP_THIRD_PTY_ACCT_ID = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
730 -- BILL_THIRD_PTY_ACCT_ID = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
731 -- SHIP_THIRD_PTY_ACCT_SITE_ID = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
732 -- BILL_THIRD_PTY_ACCT_SITE_ID = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
733 -- SHIP_TO_CUST_ACCT_SITE_USE_ID = p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
734 -- BILL_TO_CUST_ACCT_SITE_USE_ID = p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
735 -- START_EXPENSE_DATE = p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
736 -- TRX_BATCH_ID = p_trx_line_dist_tbl.TRX_BATCH_ID(i),
737 -- APPLIED_TO_TRX_NUMBER = p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
738 -- SOURCE_APPLICATION_ID = p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
739 -- SOURCE_ENTITY_CODE = p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
740 -- SOURCE_EVENT_CLASS_CODE = p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
741 -- SOURCE_TRX_ID = p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
742 -- SOURCE_LINE_ID = p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
743 -- SOURCE_TRX_LEVEL_TYPE = p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
744 -- SOURCE_TAX_LINE_ID = p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
745 -- REF_DOC_TRX_LEVEL_TYPE = p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
746 -- APPLIED_TO_TRX_LEVEL_TYPE = p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
747 -- APPLIED_FROM_TRX_LEVEL_TYPE = p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
748 -- ADJUSTED_DOC_TRX_LEVEL_TYPE = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
749 -- APPLICATION_DOC_STATUS = p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
750 TAX_PROCESSING_COMPLETED_FLAG = 'Y',
751 TAX_CALCULATION_DONE_FLAG = 'Y',
752 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER+1,
753 -- HDR_TRX_USER_KEY1 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
754 -- HDR_TRX_USER_KEY2 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
755 -- HDR_TRX_USER_KEY3 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
756 -- HDR_TRX_USER_KEY4 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
757 -- HDR_TRX_USER_KEY5 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
758 -- HDR_TRX_USER_KEY6 = p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
759 -- LINE_TRX_USER_KEY1 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
760 -- LINE_TRX_USER_KEY2 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
761 -- LINE_TRX_USER_KEY3 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
762 -- LINE_TRX_USER_KEY4 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
763 -- LINE_TRX_USER_KEY5 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
764 -- LINE_TRX_USER_KEY6 = p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
765 -- EXEMPTION_CONTROL_FLAG = p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
766 -- EXEMPT_REASON_CODE = p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
767 -- INTERFACE_ENTITY_CODE = p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
768 -- INTERFACE_LINE_ID = p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
769 -- DEFAULTING_ATTRIBUTE1 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
770 -- DEFAULTING_ATTRIBUTE2 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
771 -- DEFAULTING_ATTRIBUTE3 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
772 -- DEFAULTING_ATTRIBUTE4 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
773 -- DEFAULTING_ATTRIBUTE5 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
774 -- DEFAULTING_ATTRIBUTE6 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
775 -- DEFAULTING_ATTRIBUTE7 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
776 -- DEFAULTING_ATTRIBUTE8 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
777 -- DEFAULTING_ATTRIBUTE9 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
778 -- DEFAULTING_ATTRIBUTE10 = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
779 -- PROVNL_TAX_DETERMINATION_DATE = p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
780 -- HISTORICAL_TAX_CODE_ID = p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
781 -- GLOBAL_ATTRIBUTE_CATEGORY = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
782 -- GLOBAL_ATTRIBUTE1 = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
783 USER_UPD_DET_FACTORS_FLAG = NVL(p_trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(i), USER_UPD_DET_FACTORS_FLAG), -- Bug 5659357
784 TOTAL_INC_TAX_AMT = NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
785 ICX_SESSION_ID = ZX_SECURITY.G_ICX_SESSION_ID
786 -- LAST_UPDATE_DATE = sysdate,
787 -- LAST_UPDATED_BY = fnd_global.user_id,
788 -- LAST_UPDATE_LOGIN = fnd_global.conc_login_id
789 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
790 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
791 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
792 AND TRX_ID = p_trx_line_dist_tbl.TRX_ID(i)
793 AND TRX_LINE_ID = p_trx_line_dist_tbl.TRX_LINE_ID(i)
794 AND TRX_LEVEL_TYPE = p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i)
795 AND NOT EXISTS (SELECT 'Y'
796 FROM zx_errors_gt err_gt
797 WHERE err_gt.application_id = p_trx_line_dist_tbl.application_id(i)
798 AND err_gt.entity_code = p_trx_line_dist_tbl.entity_code(i)
799 AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
800 AND err_gt.trx_id = p_trx_line_dist_tbl.trx_id(i));
801
802 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
803 FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME||l_api_name||'.END',
804 G_PKG_NAME ||':'||l_api_name||'(). Records Updated = ' || SQL%ROWCOUNT);
805 FND_LOG.STRING(G_LEVEL_STATEMENT, G_MODULE_NAME||l_api_name||'.END',
806 G_PKG_NAME ||':'||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
807 END IF;
808
809 EXCEPTION
810 WHEN OTHERS THEN
811 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
812 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
813 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
814 END IF;
815 END db_update_line_det_factors;
816
817 /* =======================================================================*
818 | PROCEDURE freeze_tax_distributions : |
819 * =======================================================================*/
820
821 PROCEDURE freeze_tax_dists_for_items
822 (p_api_version IN NUMBER,
823 p_init_msg_list IN VARCHAR2,
824 p_commit IN VARCHAR2,
825 p_validation_level IN NUMBER,
826 x_return_status OUT NOCOPY VARCHAR2,
827 x_msg_count OUT NOCOPY NUMBER,
828 x_msg_data OUT NOCOPY VARCHAR2,
829 p_transaction_rec IN OUT NOCOPY ZX_API_PUB.transaction_rec_type,
830 p_trx_line_dist_id_tbl IN ZX_API_PUB.number_tbl_type
831 ) IS
832
833 l_api_name CONSTANT VARCHAR2(30) := 'FREEZE_TAX_DISTS_FOR_ITEMS';
834 l_api_version CONSTANT NUMBER := 1.0;
835 l_event_class_rec ZX_API_PUB.event_class_rec_type;
836 l_init_msg_list VARCHAR2(1);
837
838 CURSOR get_event_class_info
839 IS
840 SELECT evntcls.application_id,
841 evntcls.entity_code,
842 evntcls.event_class_code,
843 evnttyp.event_type_code,
844 null, --dist.tax_event_class_code,
845 'UPDATE' tax_event_type_code,
846 'UPDATED' doc_status_code,
847 evntcls.summarization_flag,
848 evntcls.retain_summ_tax_line_id_flag
849 FROM zx_evnt_cls_mappings evntcls,
850 zx_evnt_typ_mappings evnttyp
851 WHERE p_transaction_rec.application_id = evntcls.application_id
852 AND p_transaction_rec.entity_code = evntcls.entity_code
853 AND p_transaction_rec.event_class_code = evntcls.event_class_code
854 AND evnttyp.application_id = evntcls.application_id
855 AND evnttyp.entity_code = evntcls.entity_code
856 AND evnttyp.event_class_code = evntcls.event_class_code
857 AND evnttyp.tax_event_type_code = 'UPDATE';
858
859
860 BEGIN
861
862 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
863 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||
864 '.BEGIN','ZX_NEW_SERVICES_PKG: '||l_api_name||'()+');
865 END IF;
866
867 /*--------------------------------------------------+
868 | Standard start of API savepoint |
869 +--------------------------------------------------*/
870 SAVEPOINT freeze_tax_dists_for_itms_PVT;
871
872 /*--------------------------------------------------+
873 | Standard call to check for call compatibility |
874 +--------------------------------------------------*/
875 IF NOT FND_API.Compatible_API_Call( l_api_version,
876 p_api_version,
877 l_api_name,
878 G_PKG_NAME
879 ) THEN
880 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881 END IF;
882
883 /*--------------------------------------------------------------+
884 | Initialize message list if p_init_msg_list is set to TRUE |
885 +--------------------------------------------------------------*/
886 IF p_init_msg_list is null THEN
887 l_init_msg_list := FND_API.G_FALSE;
888 ELSE
889 l_init_msg_list := p_init_msg_list;
890 END IF;
891
892 IF FND_API.to_Boolean(l_init_msg_list) THEN
893 FND_MSG_PUB.initialize;
894 END IF;
895
896 /*-----------------------------------------+
897 | Initialize return status to SUCCESS |
898 +-----------------------------------------*/
899 x_return_status := FND_API.G_RET_STS_SUCCESS;
900
901 /*-----------------------------------------+
902 | Populate Global Variable |
903 +-----------------------------------------*/
904 ZX_API_PUB.G_PUB_SRVC := l_api_name;
905 ZX_API_PUB.G_DATA_TRANSFER_MODE := 'PLS';
906 ZX_API_PUB.G_EXTERNAL_API_CALL := 'N';
907
908 -- Get Event Class Info.
909 --
910 OPEN get_event_class_info;
911 FETCH get_event_class_info INTO
912 l_event_class_rec.APPLICATION_ID,
913 l_event_class_rec.ENTITY_CODE,
914 l_event_class_rec.EVENT_CLASS_CODE,
915 l_event_class_rec.EVENT_TYPE_CODE,
916 l_event_class_rec.TAX_EVENT_CLASS_CODE,
917 l_event_class_rec.TAX_EVENT_TYPE_CODE,
918 l_event_class_rec.DOC_STATUS_CODE,
919 l_event_class_rec.summarization_flag,
920 l_event_class_rec.retain_summ_tax_line_id_flag;
921
922 IF get_event_class_info%notfound THEN
923 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
924 FND_LOG.STRING(G_LEVEL_STATEMENT,
925 G_MODULE_NAME || l_api_name, G_PKG_NAME||':'||
926 l_api_name ||': Event Class Info not retreived');
927 END IF;
928 END IF;
929
930 CLOSE get_event_class_info;
931
932 /*-----------------------------------------+
933 | Get the event id for the whole document |
934 +-----------------------------------------*/
935 SELECT ZX_LINES_DET_FACTORS_S.NEXTVAL
936 INTO l_event_class_rec.event_id
937 FROM dual;
938
939 /*------------------------------------------------+
940 | Update zx_lines_det_factors |
941 +------------------------------------------------*/
942 FORALL i IN NVL(p_trx_line_dist_id_tbl.FIRST,0) ..NVL(p_trx_line_dist_id_tbl.LAST, -1)
943 UPDATE /*+ cardinality(ZX_LINES_DET_FACTORS,100) */ ZX_LINES_DET_FACTORS
944 SET EVENT_TYPE_CODE = p_transaction_rec.event_type_code,
945 TAX_EVENT_TYPE_CODE = p_transaction_rec.tax_event_type_code,
946 EVENT_ID = l_event_class_rec.event_id,
947 DOC_EVENT_STATUS = l_event_class_rec.doc_status_code
948 WHERE APPLICATION_ID = p_transaction_rec.APPLICATION_ID
949 AND ENTITY_CODE = p_transaction_rec.ENTITY_CODE
950 AND EVENT_CLASS_CODE = p_transaction_rec.EVENT_CLASS_CODE
951 AND TRX_ID = p_transaction_rec.TRX_ID
952 AND (TRX_LINE_ID, TRX_LEVEL_TYPE) IN
953 (SELECT /*+ use_hash(dist) */ dist.trx_line_id, dist.trx_level_type
954 FROM zx_rec_nrec_dist dist
955 WHERE application_id = p_transaction_rec.application_id
956 AND entity_code = p_transaction_rec.entity_code
957 AND event_class_code = p_transaction_rec.event_class_code
958 AND trx_id = p_transaction_rec.trx_id
959 AND trx_line_dist_id = p_trx_line_dist_id_tbl(i)
960 );
961
962 -- Update Pseudo Item Lines for Tax only lines.
963 UPDATE /*+ cardinality(ZX_LINES_DET_FACTORS,100) */ ZX_LINES_DET_FACTORS
964 SET EVENT_TYPE_CODE = p_transaction_rec.event_type_code,
965 TAX_EVENT_TYPE_CODE = p_transaction_rec.tax_event_type_code,
966 EVENT_ID = l_event_class_rec.event_id,
967 DOC_EVENT_STATUS = l_event_class_rec.doc_status_code
968 WHERE APPLICATION_ID = p_transaction_rec.APPLICATION_ID
969 AND ENTITY_CODE = p_transaction_rec.ENTITY_CODE
970 AND EVENT_CLASS_CODE = p_transaction_rec.EVENT_CLASS_CODE
971 AND TRX_ID = p_transaction_rec.TRX_ID
972 AND (TRX_LINE_ID, TRX_LEVEL_TYPE) IN
973 (SELECT dist.trx_line_id, dist.trx_level_type
974 FROM zx_rec_nrec_dist dist
975 WHERE application_id = p_transaction_rec.application_id
976 AND entity_code = p_transaction_rec.entity_code
977 AND event_class_code = p_transaction_rec.event_class_code
978 AND trx_id = p_transaction_rec.trx_id
979 AND tax_only_line_flag = 'Y'
980 );
981
982 FORALL i IN NVL(p_trx_line_dist_id_tbl.FIRST,0) ..NVL(p_trx_line_dist_id_tbl.LAST, -1)
983 UPDATE ZX_REC_NREC_DIST
984 SET freeze_flag = 'Y',
985 event_type_code = l_event_class_rec.event_type_code,
986 tax_event_type_code = l_event_class_rec.tax_event_type_code
987 WHERE application_id = p_transaction_rec.application_id
988 AND entity_code = p_transaction_rec.entity_code
989 AND event_class_code = p_transaction_rec.event_class_code
990 AND trx_id = p_transaction_rec.trx_id
991 AND trx_line_dist_id = p_trx_line_dist_id_tbl(i);
992
993 -- Update freeze_flag for tax only distributions.
994 UPDATE ZX_REC_NREC_DIST
995 SET freeze_flag = 'Y',
996 event_type_code = l_event_class_rec.event_type_code,
997 tax_event_type_code = l_event_class_rec.tax_event_type_code
998 WHERE application_id = p_transaction_rec.application_id
999 AND entity_code = p_transaction_rec.entity_code
1000 AND event_class_code = p_transaction_rec.event_class_code
1001 AND trx_id = p_transaction_rec.trx_id
1002 AND tax_only_line_flag = 'Y';
1003
1004 FORALL i IN NVL(p_trx_line_dist_id_tbl.FIRST,0) ..NVL(p_trx_line_dist_id_tbl.LAST, -1)
1005 UPDATE ZX_LINES ZL
1006 SET associated_child_frozen_flag ='Y',
1007 event_type_code = l_event_class_rec.event_type_code,
1008 tax_event_type_code = l_event_class_rec.tax_event_type_code,
1009 doc_event_status = l_event_class_rec.doc_status_code
1010 WHERE TAX_LINE_ID IN (SELECT ZD.TAX_LINE_ID
1011 FROM ZX_REC_NREC_DIST ZD
1012 WHERE application_id = p_transaction_rec.application_id
1013 AND entity_code = p_transaction_rec.entity_code
1014 AND event_class_code = p_transaction_rec.event_class_code
1015 AND trx_id = p_transaction_rec.trx_id
1016 AND trx_line_dist_id = p_trx_line_dist_id_tbl(i)
1017 );
1018
1019 -- Update assciated_child_frozen_fag for tax only lines.
1020 UPDATE ZX_LINES ZL
1021 SET associated_child_frozen_flag ='Y',
1022 event_type_code = l_event_class_rec.event_type_code,
1023 tax_event_type_code = l_event_class_rec.tax_event_type_code,
1024 doc_event_status = l_event_class_rec.doc_status_code
1025 WHERE TAX_LINE_ID IN (SELECT ZD.TAX_LINE_ID
1026 FROM ZX_REC_NREC_DIST ZD
1027 WHERE application_id = p_transaction_rec.application_id
1028 AND entity_code = p_transaction_rec.entity_code
1029 AND event_class_code = p_transaction_rec.event_class_code
1030 AND trx_id = p_transaction_rec.trx_id
1031 AND tax_only_line_flag = 'Y'
1032 );
1033
1034 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
1035 FND_LOG.STRING(G_LEVEL_PROCEDURE,
1036 G_MODULE_NAME||l_api_name||'.END',
1037 'ZX_NEW_SERVICES_PKG: '||l_api_name||'()-');
1038 END IF;
1039
1040 EXCEPTION
1041 WHEN FND_API.G_EXC_ERROR THEN
1042 ROLLBACK TO freeze_tax_dists_for_itms_PVT;
1043 x_return_status := FND_API.G_RET_STS_ERROR ;
1044 /*---------------------------------------------------------+
1045 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
1046 | in the message stack. If there is only one message in |
1047 | the stack it retrieves this message |
1048 +---------------------------------------------------------*/
1049 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1050 p_count => x_msg_count,
1051 p_data => x_msg_data
1052 );
1053
1054 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
1055 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
1056 END IF;
1057
1058 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1059 ROLLBACK TO freeze_tax_dists_for_itms_PVT;
1060 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1061 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
1062 FND_MSG_PUB.Add;
1063 /*---------------------------------------------------------+
1064 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
1065 | in the message stack. If there is only one message in |
1066 | the stack it retrieves this message |
1067 +---------------------------------------------------------*/
1068 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1069 p_count => x_msg_count,
1070 p_data => x_msg_data
1071 );
1072 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
1073 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
1074 END IF;
1075
1076 WHEN OTHERS THEN
1077 ROLLBACK TO freeze_tax_dists_for_itms_PVT;
1078 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1079 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
1080 FND_MSG_PUB.Add;
1081 /*---------------------------------------------------------+
1082 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
1083 | in the message stack. If there is only one message in |
1084 | the stack it retrieves this message |
1085 +---------------------------------------------------------*/
1086 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1087 p_count => x_msg_count,
1088 p_data => x_msg_data
1089 );
1090 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1091 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
1092 END IF;
1093 END freeze_tax_dists_for_items;
1094
1095 PROCEDURE UPDATE_DET_FACTORS_FOR_CANCEL(
1096 x_return_status OUT NOCOPY VARCHAR2,
1097 x_msg_count OUT NOCOPY NUMBER,
1098 x_msg_data OUT NOCOPY VARCHAR2,
1099 p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
1100 p_transaction_rec IN ZX_API_PUB.transaction_rec_type,
1101 p_trx_line_id IN NUMBER,
1102 p_trx_level_type IN VARCHAR2,
1103 p_line_level_action IN VARCHAR2
1104 )
1105 IS
1106
1107 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_DET_FACTORS_FOR_CANCEL';
1108 l_api_version CONSTANT NUMBER := 1.0;
1109 l_return_status VARCHAR2(30);
1110 l_event_class_rec ZX_API_PUB.event_class_rec_type;
1111 l_init_msg_list VARCHAR2(1);
1112
1113 CURSOR event_classes IS
1114 SELECT distinct
1115 header.event_class_code,
1116 header.application_id,
1117 header.entity_code,
1118 header.internal_organization_id,
1119 evntmap.processing_precedence,
1120 header.icx_session_id,
1121 header.quote_flag
1122 FROM ZX_EVNT_CLS_MAPPINGS evntmap,
1123 ZX_TRX_HEADERS_GT header
1124 WHERE header.application_id = evntmap.application_id
1125 AND header.entity_code = evntmap.entity_code
1126 AND header.event_class_code = evntmap.event_class_code
1127 AND header.application_id = p_transaction_rec.application_id
1128 AND header.entity_code = p_transaction_rec.entity_code
1129 AND header.event_class_code = p_transaction_rec.event_class_code
1130 AND header.trx_id = p_transaction_rec.trx_id
1131 ORDER BY evntmap.processing_precedence;
1132
1133 l_application_id_tbl NUMBER_tbl_type;
1134 l_entity_code_tbl VARCHAR2_30_tbl_type;
1135 l_event_class_code_tbl VARCHAR2_30_tbl_type;
1136 l_trx_id_tbl NUMBER_tbl_type;
1137 l_icx_session_id_tbl NUMBER_tbl_type;
1138 l_event_type_code_tbl VARCHAR2_30_tbl_type;
1139 l_tax_event_type_code_tbl VARCHAR2_30_tbl_type;
1140 l_doc_event_status_tbl VARCHAR2_30_tbl_type;
1141
1142 l_internal_org_location_id NUMBER;
1143 l_context_info_rec ZX_API_PUB.context_info_rec_type;
1144 l_flag BOOLEAN;
1145 l_trx_id NUMBER := -1;
1146 l_legal_entity_id NUMBER := -1;
1147 l_trx_date DATE := TO_DATE('01/01/1951', 'DD/MM/RRRR');
1148 l_effective_date DATE;
1149 l_event_id NUMBER;
1150 l_error_buffer VARCHAR2(2000);
1151
1152 BEGIN
1153
1154 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
1155 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN','ZX_NEW_SERVICES_PKG: '||l_api_name||'()+');
1156 END IF;
1157
1158 SAVEPOINT update_det_factors_PVT;
1159 x_return_status := FND_API.G_RET_STS_SUCCESS;
1160
1161 ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec => NULL,
1162 p_init_level => 'SESSION',
1163 x_return_status => l_return_status
1164 );
1165
1166 OPEN event_classes;
1167 LOOP
1168 FETCH event_classes BULK COLLECT INTO
1169 l_evnt_cls.event_class_code,
1170 l_evnt_cls.application_id,
1171 l_evnt_cls.entity_code,
1172 l_evnt_cls.internal_organization_id,
1173 l_evnt_cls.precedence,
1174 l_evnt_cls.icx_session_id,
1175 l_evnt_cls.quote_flag
1176 LIMIT G_LINES_PER_FETCH;
1177 EXIT WHEN event_classes%NOTFOUND;
1178 END LOOP;
1179 CLOSE event_classes;
1180
1181 IF l_evnt_cls.internal_organization_id.COUNT > 1 THEN
1182 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1183 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1184 FND_LOG.STRING(g_level_unexpected,
1185 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel',
1186 'This API cannot handle Bulk calls');
1187 FND_LOG.STRING(g_level_unexpected,
1188 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1189 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1190 END IF;
1191 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1192 END IF;
1193
1194 IF l_evnt_cls.event_class_code.LAST is null THEN
1195 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1196 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1197 'Event class information does not exist - indicates SALES_TRANSACTION_TAX_QUOTE/PURCHASE_TRANSACTION_TAX_QUOTE');
1198 END IF;
1199
1200 select event_class_code,
1201 application_id,
1202 entity_code,
1203 internal_organization_id,
1204 icx_session_id,
1205 quote_flag
1206 into l_evnt_cls.event_class_code(1),
1207 l_evnt_cls.application_id(1),
1208 l_evnt_cls.entity_code(1),
1209 l_evnt_cls.internal_organization_id(1),
1210 l_evnt_cls.icx_session_id(1),
1211 l_evnt_cls.quote_flag(1)
1212 from ZX_TRX_HEADERS_GT
1213 where application_id = p_transaction_rec.application_id
1214 and entity_code = p_transaction_rec.entity_code
1215 and event_class_code = p_transaction_rec.event_class_code
1216 and trx_id = p_transaction_rec.trx_id;
1217 END IF;
1218
1219 select ZX_LINES_DET_FACTORS_S.nextval
1220 into l_event_id
1221 from dual;
1222
1223 l_event_class_rec.EVENT_ID := l_event_id;
1224 l_event_class_rec.INTERNAL_ORGANIZATION_ID := l_evnt_cls.internal_organization_id(1);
1225 l_event_class_rec.APPLICATION_ID := l_evnt_cls.application_id(1);
1226 l_event_class_rec.ENTITY_CODE := l_evnt_cls.entity_code(1);
1227 l_event_class_rec.EVENT_CLASS_CODE := l_evnt_cls.event_class_code(1);
1228 l_event_class_rec.ICX_SESSION_ID := l_evnt_cls.icx_session_id(1);
1229 l_event_class_rec.QUOTE_FLAG := nvl(l_evnt_cls.quote_flag(1),'N');
1230
1231 IF l_event_class_rec.QUOTE_FLAG = 'Y' and
1232 l_event_class_rec.ICX_SESSION_ID is not null THEN
1233 ZX_SECURITY.G_ICX_SESSION_ID := l_event_class_rec.ICX_SESSION_ID;
1234 ZX_SECURITY.name_value('SESSIONID',to_char(ZX_SECURITY.G_ICX_SESSION_ID));
1235 END IF;
1236
1237 ZX_GLOBAL_STRUCTURES_PKG.g_party_tax_prof_id_info_tbl.DELETE;
1238 ZX_VALID_INIT_PARAMS_PKG.calculate_tax(p_event_class_rec => l_event_class_rec,
1239 x_return_status => l_return_status
1240 );
1241
1242 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1243 x_return_status := l_return_status ;
1244 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1245 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1246 G_PKG_NAME||': '||l_api_name||':ZX_VALID_INIT_PARAMS_PKG.calculate_tax returned errors');
1247 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1248 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1249 END IF;
1250 RETURN;
1251 END IF;
1252
1253 ZX_TCM_PTP_PKG.get_location_id(l_event_class_rec.internal_organization_id,
1254 l_internal_org_location_id,
1255 l_return_status
1256 );
1257 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1258 x_return_status := l_return_status;
1259 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1260 l_context_info_rec.APPLICATION_ID := l_event_class_rec.APPLICATION_ID;
1261 l_context_info_rec.ENTITY_CODE := l_event_class_rec.ENTITY_CODE;
1262 l_context_info_rec.EVENT_CLASS_CODE := l_event_class_rec.EVENT_CLASS_CODE;
1263 l_context_info_rec.TRX_ID := l_event_class_rec.TRX_ID;
1264 ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
1265 END IF;
1266 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1267 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1268 ' RETURN_STATUS = ' || x_return_status);
1269 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1270 G_PKG_NAME||': '||l_api_name||':ZX_TCM_PTP_PKG.get_location_id returned errors');
1271 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1272 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1273 END IF;
1274 RETURN;
1275 END IF;
1276
1277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1278 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1279 'p_trx_line_id:' || p_trx_line_id);
1280 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel',
1281 'p_trx_level_type: ' || p_trx_level_type);
1282 END IF;
1283
1284 OPEN c_lines(l_event_class_rec,
1285 p_trx_line_id,
1286 p_trx_level_type);
1287 LOOP
1288 FETCH c_lines BULK COLLECT INTO
1289 zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
1290 zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
1291 zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
1292 zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
1293 zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
1294 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
1295 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
1296 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
1297 zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
1298 zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
1299 zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
1300 zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
1301 zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
1302 zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
1303 zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
1304 zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
1305 zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
1306 zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
1307 zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
1308 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
1309 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
1310 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
1311 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
1312 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
1313 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
1314 zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
1315 zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
1316 zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
1317 zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
1318 zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
1319 zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
1320 zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
1321 zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
1322 zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
1323 zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
1324 zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
1325 zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
1326 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
1327 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
1328 zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
1329 zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
1330 zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
1331 zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
1332 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
1333 zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
1334 zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
1335 zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
1336 zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
1337 zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
1338 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
1339 zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
1340 zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
1341 zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
1342 zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
1343 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
1344 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
1345 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
1346 zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
1347 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
1348 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
1349 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
1350 zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
1351 zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
1352 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
1353 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
1354 zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
1355 zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
1356 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
1357 zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
1358 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
1359 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
1360 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
1361 zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
1362 zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
1363 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
1364 zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
1365 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
1366 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
1367 zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
1368 zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
1369 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
1370 zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
1371 zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
1372 zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
1373 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
1374 zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
1375 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
1376 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
1377 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
1378 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
1379 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
1380 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
1381 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
1382 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
1383 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
1384 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
1385 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
1386 zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
1387 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
1388 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
1389 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
1390 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
1391 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
1392 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
1393 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
1394 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
1395 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
1396 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
1397 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
1398 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
1399 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
1400 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
1401 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
1402 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
1403 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
1404 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
1405 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
1406 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
1407 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
1408 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
1409 zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
1410 zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
1411 zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
1412 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
1413 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
1414 zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
1415 zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
1416 zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
1417 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
1418 zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
1419 zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
1420 zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
1421 zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
1422 zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
1423 zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
1424 zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
1425 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
1426 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
1427 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
1428 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
1429 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
1430 zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
1431 zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
1432 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
1433 zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
1434 zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
1435 zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
1436 zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
1437 zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
1438 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
1439 zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
1440 zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
1441 zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
1442 zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
1443 zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
1444 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
1445 zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
1446 zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
1447 zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
1448 zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
1449 zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
1450 zx_global_structures_pkg.trx_line_dist_tbl.Asset_Flag,
1451 zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
1452 zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
1453 zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
1454 zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
1455 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
1456 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
1457 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
1458 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
1459 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
1460 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
1461 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
1462 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
1463 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
1464 zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
1465 zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
1466 zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
1467 zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
1468 zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
1469 zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
1470 zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
1471 zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
1472 zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
1473 zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
1474 zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
1475 zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
1476 zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
1477 zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
1478 zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
1479 zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
1480 zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
1481 zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
1482 zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
1483 zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
1484 zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
1485 zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
1486 zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
1487 zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
1488 zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
1489 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
1490 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1491 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
1492 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
1493 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
1494 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1495 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
1496 zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1497 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
1498 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
1499 zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
1500 zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
1501 zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
1502 zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
1503 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
1504 zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
1505 zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
1506 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
1507 zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
1508 zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
1509 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
1510 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
1511 zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
1512 zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
1513 zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
1514 zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
1515 zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
1516 zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
1517 zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
1518 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
1519 zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
1520 zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
1521 zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
1522 zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
1523 zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
1524 zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
1525 zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
1526 zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
1527 zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
1528 zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
1529 zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
1530 zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
1531 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
1532 zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
1533 zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
1534 zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
1535 zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
1536 zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
1537 zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
1538 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
1539 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
1540 zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
1541 zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
1542 zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
1543 zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
1544 zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
1545 zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
1546 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
1547 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
1548 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
1549 zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
1550 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
1551 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
1552 zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
1553 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
1554 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
1555 zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
1556 zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
1557 zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
1558 zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
1559 zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
1560 zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
1561 zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
1562 zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
1563 zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
1564 zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
1565 zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
1566 zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
1567 zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
1568 zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
1569 zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
1570 zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
1571 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
1572 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
1573 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
1574 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
1575 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
1576 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
1577 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
1578 zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
1579 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
1580 zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
1581 zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
1582 zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
1583 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
1584 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
1585 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
1586 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
1587 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
1588 zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
1589 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
1590 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
1591 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
1592 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
1593 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
1594 zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
1595 zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
1596 zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
1597 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
1598 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
1599 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
1600 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
1601 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
1602 zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
1603 zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
1604 zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
1605 zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
1606 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
1607 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
1608 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
1609 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
1610 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
1611 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
1612 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
1613 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
1614 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
1615 zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
1616 zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
1617 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
1618 zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
1619 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
1620 zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
1621 zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
1622 zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
1623 zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
1624 zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
1625 zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
1626 zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
1627 zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
1628 zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG
1629 LIMIT G_LINES_PER_FETCH;
1630 FOR l_trx_line_index IN 1 .. NVL(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
1631 LOOP
1632
1633 IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
1634 l_flag := TRUE;
1635 l_event_class_rec.LEGAL_ENTITY_ID := zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index);
1636 l_event_class_rec.LEDGER_ID := zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index);
1637 l_event_class_rec.EVENT_TYPE_CODE := zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index);
1638 l_event_class_rec.CTRL_TOTAL_HDR_TX_AMT := zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(l_trx_line_index);
1639 l_event_class_rec.TRX_ID := zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
1640 l_event_class_rec.TRX_DATE := zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index);
1641 l_event_class_rec.REL_DOC_DATE := zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index);
1642 l_event_class_rec.PROVNL_TAX_DETERMINATION_DATE:= zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index);
1643 l_event_class_rec.TRX_CURRENCY_CODE := zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index);
1644 l_event_class_rec.PRECISION := zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index);
1645 l_event_class_rec.CURRENCY_CONVERSION_TYPE := zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index);
1646 l_event_class_rec.CURRENCY_CONVERSION_RATE := zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index);
1647 l_event_class_rec.CURRENCY_CONVERSION_DATE := zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index);
1648 l_event_class_rec.ROUNDING_SHIP_TO_PARTY_ID := zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(l_trx_line_index);
1649 l_event_class_rec.ROUNDING_SHIP_FROM_PARTY_ID := zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(l_trx_line_index);
1650 l_event_class_rec.ROUNDING_BILL_TO_PARTY_ID := zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(l_trx_line_index);
1651 l_event_class_rec.ROUNDING_BILL_FROM_PARTY_ID := zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(l_trx_line_index);
1652 l_event_class_rec.RNDG_SHIP_TO_PARTY_SITE_ID := zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID(l_trx_line_index);
1653 l_event_class_rec.RNDG_SHIP_FROM_PARTY_SITE_ID := zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID(l_trx_line_index);
1654 l_event_class_rec.RNDG_BILL_TO_PARTY_SITE_ID := zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID(l_trx_line_index);
1655 l_event_class_rec.RNDG_BILL_FROM_PARTY_SITE_ID := zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID(l_trx_line_index);
1656 l_event_class_rec.ESTABLISHMENT_ID := zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index);
1657
1658 IF zx_global_structures_pkg.trx_line_dist_tbl.trx_currency_code(l_trx_line_index)is not NULL AND
1659 zx_global_structures_pkg.trx_line_dist_tbl.precision(l_trx_line_index) is not NULL THEN
1660 l_event_class_rec.header_level_currency_flag := 'Y';
1661 END IF;
1662
1663 zx_valid_init_params_pkg.determine_effective_date(l_event_class_rec,
1664 l_effective_date,
1665 l_return_status
1666 );
1667
1668 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1669 x_return_status := l_return_status;
1670 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1671 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1672 G_PKG_NAME||': '||l_api_name||':zx_valid_init_params_pkg.determine_effective_date returned errors');
1673 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1674 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1675 END IF;
1676 IF c_lines%ISOPEN THEN
1677 CLOSE c_lines;
1678 END IF;
1679 RETURN;
1680 END IF;
1681
1682 IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
1683 zx_valid_init_params_pkg.get_tax_subscriber(l_event_class_rec,
1684 l_effective_date,
1685 l_return_status
1686 );
1687
1688 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1689 x_return_status := l_return_status;
1690 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1691 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1692 G_PKG_NAME||': '||l_api_name||':zx_valid_init_params_pkg.determine_effective_date returned errors');
1693 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1694 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1695 END IF;
1696 IF c_lines%ISOPEN THEN
1697 CLOSE c_lines;
1698 END IF;
1699 RETURN;
1700 END IF;
1701 ELSE
1702 zx_security.g_effective_date := l_effective_date;
1703 zx_security.name_value('EFFECTIVEDATE',to_char(l_effective_date));
1704 END IF;
1705
1706 zx_valid_init_params_pkg.get_tax_event_type
1707 (l_return_status
1708 ,l_event_class_rec.event_class_code
1709 ,l_event_class_rec.application_id
1710 ,l_event_class_rec.entity_code
1711 ,l_event_class_rec.event_type_code
1712 ,l_event_class_rec.tax_event_class_code
1713 ,l_event_class_rec.tax_event_type_code
1714 ,l_event_class_rec.doc_status_code
1715 );
1716
1717 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1718 x_return_status := l_return_status;
1719 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1720 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1721 G_PKG_NAME||': '||l_api_name||':zx_valid_init_params_pkg.get_tax_event_type returned errors');
1722 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1723 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1724 END IF;
1725 IF c_lines%ISOPEN THEN
1726 CLOSE c_lines;
1727 END IF;
1728 RETURN;
1729 END IF;
1730
1731 zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index) :=
1732 l_event_class_rec.tax_event_type_code;
1733 zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(l_trx_line_index) :=
1734 l_event_class_rec.doc_status_code;
1735
1736 IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
1737 zx_valid_init_params_pkg.populate_event_class_options(l_return_status,
1738 l_effective_date,
1739 l_event_class_rec
1740 );
1741
1742 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1743 x_return_status := l_return_status;
1744 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1745 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1746 G_PKG_NAME||': '||l_api_name||':zx_valid_init_params_pkg.populate_event_class_options returned errors');
1747 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1748 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1749 END IF;
1750 IF c_lines%ISOPEN THEN
1751 CLOSE c_lines;
1752 END IF;
1753 RETURN;
1754 END IF;
1755 END IF;
1756
1757 zx_global_structures_pkg.g_event_class_rec := l_event_class_rec;
1758
1759 ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (l_event_class_rec ,
1760 'HEADER',
1761 l_return_status
1762 );
1763
1764 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1765 x_return_status := l_return_status;
1766 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1767 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1768 G_PKG_NAME||': '||l_api_name||':ZX_TDS_CALC_SERVICES_PUB_PKG.initialize returned errors');
1769 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1770 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1771 END IF;
1772 IF c_lines%ISOPEN THEN
1773 CLOSE c_lines;
1774 END IF;
1775 RETURN;
1776 END IF;
1777
1778 END IF; -- End of Trx Id Change check
1779
1780 IF l_flag = TRUE THEN
1781 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
1782 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
1783 ELSIF l_flag = FALSE THEN
1784 Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
1785 x_return_status => l_return_status);
1786 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1787 x_return_status := l_return_status;
1788 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1789 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1790 ' RETURN_STATUS = ' || x_return_status);
1791 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1792 G_PKG_NAME||': '||l_api_name||':ZX_NEW_SERVICES_PKG.Pop_Index_Attrbs_To_Null returned errors');
1793 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1794 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1795 END IF;
1796 IF c_lines%ISOPEN THEN
1797 CLOSE c_lines;
1798 END IF;
1799 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1800 END IF;
1801 END IF;
1802 l_trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
1803 l_legal_entity_id := zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index);
1804 l_trx_date := zx_global_structures_pkg.trx_line_dist_tbl.trx_date(l_trx_line_index);
1805 END LOOP;
1806
1807 EXIT WHEN c_lines%NOTFOUND;
1808
1809 END LOOP;
1810
1811 IF c_lines%ISOPEN THEN
1812 CLOSE c_lines;
1813 END IF;
1814
1815 db_update_line_det_factors (p_trx_line_dist_tbl => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
1816 p_event_class_rec => l_event_class_rec,
1817 p_line_level_action => p_line_level_action,
1818 x_return_status => l_return_status
1819 );
1820 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1821 x_return_status := l_return_status;
1822 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1823 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1824 ' RETURN_STATUS = ' || x_return_status);
1825 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
1826 G_PKG_NAME||': '||l_api_name||':ZX_NEW_SERVICES_PKG.db_update_line_det_factors returned errors');
1827 FND_LOG.STRING(g_level_statement, 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel.END',
1828 'ZX_NEW_SERVICES_PKG.update_det_factors_for_cancel(-)');
1829 END IF;
1830 RETURN;
1831 END IF;
1832
1833 EXCEPTION
1834 WHEN FND_API.G_EXC_ERROR THEN
1835 ROLLBACK TO update_det_factors_PVT;
1836 x_return_status := FND_API.G_RET_STS_ERROR ;
1837 IF c_lines%ISOPEN THEN
1838 CLOSE c_lines;
1839 END IF;
1840 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1841 p_count => x_msg_count,
1842 p_data => x_msg_data
1843 );
1844 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
1845 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
1846 END IF;
1847
1848 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1849 ROLLBACK TO update_det_factors_PVT;
1850 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1851 IF c_lines%ISOPEN THEN
1852 CLOSE c_lines;
1853 END IF;
1854 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
1855 FND_MSG_PUB.Add;
1856 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1857 p_count => x_msg_count,
1858 p_data => x_msg_data
1859 );
1860 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
1861 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
1862 END IF;
1863 WHEN OTHERS THEN
1864 ROLLBACK TO update_det_factors_PVT;
1865 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1866 IF c_lines%ISOPEN THEN
1867 CLOSE c_lines;
1868 END IF;
1869 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
1870 FND_MSG_PUB.Add;
1871 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
1872 p_count => x_msg_count,
1873 p_data => x_msg_data
1874 );
1875 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
1876 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
1877 END IF;
1878 END update_det_factors_for_cancel;
1879
1880 /* =============================================================================*
1881 | PUBLIC PROCEDURE CANCEL_TAX_LINES |
1882 | |
1883 | DESCRIPTION |
1884 | Payables would call this API for Discarding a Single Item Line |
1885 | or Cancelling a complete Invoice.
1886 | |
1887 * =============================================================================*/
1888
1889 PROCEDURE CANCEL_TAX_LINES(
1890 p_api_version IN NUMBER,
1891 p_init_msg_list IN VARCHAR2,
1892 p_commit IN VARCHAR2,
1893 p_validation_level IN NUMBER,
1894 x_return_status OUT NOCOPY VARCHAR2,
1895 x_msg_count OUT NOCOPY NUMBER,
1896 x_msg_data OUT NOCOPY VARCHAR2,
1897 p_transaction_rec IN OUT NOCOPY ZX_API_PUB.transaction_rec_type,
1898 p_tax_only_line_flag IN VARCHAR2,
1899 p_trx_line_id IN NUMBER,
1900 p_trx_level_type IN VARCHAR2,
1901 p_line_level_action IN VARCHAR2
1902 )
1903 IS
1904
1905 l_api_name CONSTANT VARCHAR2(30) := 'CANCEL_TAX_LINES';
1906 l_api_version CONSTANT NUMBER := 1.0;
1907 l_return_status VARCHAR2(30);
1908 l_event_class_rec ZX_API_PUB.event_class_rec_type;
1909 l_init_msg_list VARCHAR2(1);
1910 l_rec_nrec_dist_tbl ZX_TRD_SERVICES_PUB_PKG.rec_nrec_dist_tbl_type;
1911 l_count NUMBER;
1912 l_upg_trx_info_rec zx_on_fly_trx_upgrade_pkg.zx_upg_trx_info_rec_type;
1913 l_trx_migrated_b BOOLEAN;
1914 l_summarization_flag VARCHAR2(1);
1915 l_ret_summ_tax_line_id_flag VARCHAR2(1);
1916 l_tax_line_count NUMBER;
1917 l_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE;
1918
1919 TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
1920 TYPE var_tbl_type IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
1921 l_summary_tax_line_id_tbl num_tbl_type;
1922 l_cancel_flag_tbl var_tbl_type;
1923 l_tax_line_id_tbl num_tbl_type;
1924 l_unrounded_tax_amt_tbl num_tbl_type;
1925 l_tax_amt_tbl num_tbl_type;
1926 l_tax_amt_tax_curr_tbl num_tbl_type;
1927 l_tax_amt_funcl_curr_tbl num_tbl_type;
1928 l_tot_rec_amt_tbl num_tbl_type;
1929 l_tot_rec_amt_tax_curr_tbl num_tbl_type;
1930 l_tot_rec_amt_funcl_curr_tbl num_tbl_type;
1931 l_tot_nrec_amt_tbl num_tbl_type;
1932 l_tot_nrec_amt_tax_curr_tbl num_tbl_type;
1933 l_tot_nrec_amt_funcl_curr_tbl num_tbl_type;
1934
1935 -- Added for preventive checks --
1936 l_chk_tax_line_id_tbl num_tbl_type;
1937 l_chk_tax_amt_tbl num_tbl_type;
1938 l_chk_tot_dist_amt_tbl num_tbl_type;
1939 l_chk_cancel_flg_tbl var_tbl_type;
1940
1941 -- Added for bug#16483600 JAI ZX Integration
1942 lb_jai_exists BOOLEAN := FALSE;
1943
1944 CURSOR get_event_class_info IS
1945 SELECT summarization_flag,
1946 retain_summ_tax_line_id_flag
1947 FROM zx_evnt_cls_mappings
1948 WHERE application_id = p_transaction_rec.application_id
1949 AND entity_code = p_transaction_rec.entity_code
1950 AND event_class_code = p_transaction_rec.event_class_code;
1951
1952 CURSOR tot_dist_amt_trx IS
1953 SELECT sum(unrounded_rec_nrec_tax_amt),
1954 sum(rec_nrec_tax_amt),
1955 sum(rec_nrec_tax_amt_tax_curr),
1956 sum(rec_nrec_tax_amt_funcl_curr),
1957 tax_line_id
1958 FROM ZX_REC_NREC_DIST
1959 WHERE application_id = p_transaction_rec.application_id
1960 AND entity_code = p_transaction_rec.entity_code
1961 AND event_class_code = p_transaction_rec.event_class_code
1962 AND trx_id = p_transaction_rec.trx_id
1963 GROUP BY tax_line_id;
1964
1965 CURSOR tot_dist_amt_trx_line IS
1966 SELECT sum(unrounded_rec_nrec_tax_amt),
1967 sum(rec_nrec_tax_amt),
1968 sum(rec_nrec_tax_amt_tax_curr),
1969 sum(rec_nrec_tax_amt_funcl_curr),
1970 tax_line_id
1971 FROM ZX_REC_NREC_DIST
1972 WHERE application_id = p_transaction_rec.application_id
1973 AND entity_code = p_transaction_rec.entity_code
1974 AND event_class_code = p_transaction_rec.event_class_code
1975 AND trx_id = p_transaction_rec.trx_id
1976 AND trx_line_id = p_trx_line_id
1977 AND trx_level_type = p_trx_level_type
1978 GROUP BY tax_line_id;
1979
1980 CURSOR tot_tax_amt_trx IS
1981 SELECT sum(tax_amt),
1982 sum(tax_amt_tax_curr),
1983 sum(tax_amt_funcl_curr),
1984 sum(rec_tax_amt),
1985 sum(rec_tax_amt_tax_curr),
1986 sum(rec_tax_amt_funcl_curr),
1987 sum(nrec_tax_amt),
1988 sum(nrec_tax_amt_tax_curr),
1989 sum(nrec_tax_amt_funcl_curr),
1990 decode((count(*) - Sum(Decode(cancel_flag, 'Y', 1, 0))), 0, 'Y', NULL) cancel_flag,
1991 summary_tax_line_id
1992 FROM ZX_LINES
1993 WHERE application_id = p_transaction_rec.application_id
1994 AND entity_code = p_transaction_rec.entity_code
1995 AND event_class_code = p_transaction_rec.event_class_code
1996 AND trx_id = p_transaction_rec.trx_id
1997 GROUP BY summary_tax_line_id;
1998
1999 CURSOR tot_tax_amt_trx_line IS
2000 SELECT sum(zxl.tax_amt),
2001 sum(zxl.tax_amt_tax_curr),
2002 sum(zxl.tax_amt_funcl_curr),
2003 sum(zxl.rec_tax_amt),
2004 sum(zxl.rec_tax_amt_tax_curr),
2005 sum(zxl.rec_tax_amt_funcl_curr),
2006 sum(zxl.nrec_tax_amt),
2007 sum(zxl.nrec_tax_amt_tax_curr),
2008 sum(zxl.nrec_tax_amt_funcl_curr),
2009 decode((count(*) - Sum(Decode(cancel_flag, 'Y', 1, 0))), 0, 'Y', NULL) cancel_flag,
2010 zxl.summary_tax_line_id
2011 FROM ZX_LINES zxl
2012 WHERE zxl.application_id = p_transaction_rec.application_id
2013 AND zxl.entity_code = p_transaction_rec.entity_code
2014 AND zxl.event_class_code = p_transaction_rec.event_class_code
2015 AND zxl.trx_id = p_transaction_rec.trx_id
2016 AND zxl.summary_tax_line_id IN (SELECT DISTINCT zd.summary_tax_line_id
2017 FROM ZX_LINES zd
2018 WHERE zd.application_id = zxl.application_id
2019 AND zd.entity_code = zxl.entity_code
2020 AND zd.event_class_code = zxl.event_class_code
2021 AND zd.trx_id = zxl.trx_id
2022 AND zd.application_id = p_transaction_rec.application_id
2023 AND zd.entity_code = p_transaction_rec.entity_code
2024 AND zd.event_class_code = p_transaction_rec.event_class_code
2025 AND zd.trx_id = p_transaction_rec.trx_id
2026 AND zd.trx_line_id = p_trx_line_id
2027 AND zd.trx_level_type = p_trx_level_type
2028 )
2029 GROUP BY summary_tax_line_id;
2030
2031 -- Cursors added for Preventive Checks--
2032 -- Cursor to check if any tax line exists
2033 -- with non-zero amount or cancel_flag <> Y
2034 CURSOR check_canceled_tax_lines (c_trx_line_id NUMBER) IS
2035 SELECT zl.tax_line_id,
2036 zl.tax_amt,
2037 zl.cancel_flag
2038 FROM zx_lines zl
2039 WHERE zl.application_id = p_transaction_rec.application_id
2040 AND zl.entity_code = p_transaction_rec.entity_code
2041 AND zl.event_class_code = p_transaction_rec.event_class_code
2042 AND zl.trx_id = p_transaction_rec.trx_id
2043 AND zl.trx_line_id = NVL(c_trx_line_id,zl.trx_line_id)
2044 AND zl.trx_level_type = 'LINE'
2045 AND (NVL(zl.cancel_flag,'N') <> 'Y' OR zl.tax_amt <> 0);
2046
2047 -- Cursor to check if any tax line exists where tax amount of tax line
2048 -- is not equal to the sum of amounts of its distributions
2049 CURSOR check_tax_lines_dists_amt (c_trx_line_id NUMBER) IS
2050 SELECT zl.tax_line_id,
2051 zl.tax_amt,
2052 SUM(zd.rec_nrec_tax_amt) tot_rec_nrec_amt
2053 FROM zx_lines zl,
2054 zx_rec_nrec_dist zd
2055 WHERE zl.application_id = p_transaction_rec.application_id
2056 AND zl.entity_code = p_transaction_rec.entity_code
2057 AND zl.event_class_code = p_transaction_rec.event_class_code
2058 AND zl.trx_id = p_transaction_rec.trx_id
2059 AND zl.trx_line_id = NVL(c_trx_line_id,zl.trx_line_id)
2060 AND zl.trx_level_type = 'LINE'
2061 AND zd.application_id = zl.application_id
2062 AND zd.entity_code = zl.entity_code
2063 AND zd.event_class_code = zl.event_class_code
2064 AND ZD.TRX_ID = ZL.TRX_ID
2065 AND zd.tax_line_id = zl.tax_line_id
2066 GROUP BY ZL.TAX_LINE_ID, ZL.TAX_AMT
2067 HAVING zl.tax_amt <> SUM(zd.rec_nrec_tax_amt);
2068
2069 BEGIN
2070 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2071 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN','ZX_NEW_SERVICES_PKG: '||l_api_name||'()+');
2072 END IF;
2073
2074 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2075 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2076 'APPLICATION ID: ' || p_transaction_rec.application_id ||
2077 ', ENTITY_CODE: ' || p_transaction_rec.entity_code ||
2078 ', EVENT_CLASS_CODE: ' || p_transaction_rec.event_class_code ||
2079 ', TRX_ID: ' || p_transaction_rec.trx_id ||
2080 ', TRX_LINE_ID: ' || p_trx_line_id ||
2081 ', TRX_LEVEL_TYPE: ' || p_trx_level_type ||
2082 ', LINE_LEVEL_ACTION: ' || p_line_level_action ||
2083 ', TAX_ONLY_LINE_FLAG: ' || p_tax_only_line_flag);
2084 END IF;
2085
2086 --Populate Message structures
2087 l_msg_context_info_rec.application_id := p_transaction_rec.application_id;
2088 l_msg_context_info_rec.entity_code := p_transaction_rec.entity_code;
2089 l_msg_context_info_rec.event_class_code := p_transaction_rec.event_class_code;
2090 l_msg_context_info_rec.trx_id := p_transaction_rec.trx_id;
2091 l_msg_context_info_rec.trx_line_id := NULL;
2092 l_msg_context_info_rec.trx_level_type := NULL;
2093 l_msg_context_info_rec.summary_tax_line_number := NULL;
2094 l_msg_context_info_rec.tax_line_id := NULL;
2095 l_msg_context_info_rec.trx_line_dist_id := NULL;
2096
2097 /*--------------------------------------------------+
2098 | Standard start of API savepoint |
2099 +--------------------------------------------------*/
2100 SAVEPOINT cancel_tax_lines_PVT;
2101
2102 /*--------------------------------------------------+
2103 | Standard call to check for call compatibility |
2104 +--------------------------------------------------*/
2105 IF NOT FND_API.Compatible_API_Call( l_api_version,
2106 p_api_version,
2107 l_api_name,
2108 G_PKG_NAME
2109 ) THEN
2110 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2111 END IF;
2112
2113 /*--------------------------------------------------+
2114 | JAI AP prepay unapplication |
2115 +--------------------------------------------------*/
2116 -- Start : Added for JAI Trigger Elimination : Bug#16483600 JAI ZX Integration
2117 -- JAI AP prepay unapplication
2118 lb_jai_exists := JAI_TAX_PROCESSING_PKG.CHECK_JAI_EXISTS_IN_ZX(
2119 pn_set_of_books_id => NULL,
2120 pn_application_id => p_transaction_rec.application_id,
2121 pn_trx_id => p_transaction_rec.trx_id
2122 );
2123
2124 IF lb_jai_exists = TRUE THEN
2125 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2126 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing start +');
2127 END IF;
2128
2129 --Call JAI procedure for AP TDS prepayment unapplication
2130 JAI_TAX_PROCESSING_PKG.CALCULATE_TAX(p_transaction_rec => p_transaction_rec
2131 ,p_line_level_action => p_line_level_action
2132 ,p_trx_line_id => p_trx_line_id
2133 ,x_return_status => l_return_status
2134 );
2135
2136 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2137 x_return_status := l_return_status;
2138 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2139 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2140 'JAI_TAX_PROCESSING_PKG.CALCULATE_TAX RETURN_STATUS = ' || x_return_status);
2141 END IF;
2142 RAISE FND_API.G_EXC_ERROR;
2143 END IF;
2144
2145 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2146 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing end -');
2147 END IF;
2148 END IF;
2149 -- End : Added JAI Trigger Elimination
2150
2151 /*--------------------------------------------------+
2152 | Check for valid line_level_action |
2153 +--------------------------------------------------*/
2154 IF p_line_level_action NOT IN ('CANCEL','DISCARD','UNAPPLY_FROM') THEN
2155 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2156 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2157 'Invalid Line_Level_Action passed by the calling product : '||p_line_level_action);
2158 END IF;
2159 FND_MESSAGE.SET_NAME('ZX','ZX_GENERIC_TEXT');
2160 FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','Invalid Line_Level_Action passed by the calling product.');
2161 ZX_API_PUB.Add_Msg(l_msg_context_info_rec);
2162 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2163 END IF;
2164
2165 /*--------------------------------------------------------------+
2166 | Initialize message list if p_init_msg_list is set to TRUE |
2167 +--------------------------------------------------------------*/
2168 IF p_init_msg_list is null THEN
2169 l_init_msg_list := FND_API.G_FALSE;
2170 ELSE
2171 l_init_msg_list := p_init_msg_list;
2172 END IF;
2173
2174 IF FND_API.to_Boolean(l_init_msg_list) THEN
2175 FND_MSG_PUB.initialize;
2176 END IF;
2177
2178 /*-----------------------------------------+
2179 | Initialize return status to SUCCESS |
2180 +-----------------------------------------*/
2181 x_return_status := FND_API.G_RET_STS_SUCCESS;
2182
2183 /*-----------------------------------------+
2184 | Populate Global Variable |
2185 +-----------------------------------------*/
2186 ZX_API_PUB.G_PUB_SRVC := l_api_name;
2187 ZX_API_PUB.G_DATA_TRANSFER_MODE := 'TAB';
2188 ZX_API_PUB.G_EXTERNAL_API_CALL := 'N';
2189
2190 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2191 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2192 'Data Transfer Mode: '||ZX_API_PUB.G_DATA_TRANSFER_MODE);
2193 END IF;
2194
2195 /*-----------------------------------------+
2196 | Initialize count variables |
2197 +-----------------------------------------*/
2198 l_count := 0;
2199 l_tax_line_count := 0;
2200
2201 OPEN get_event_class_info;
2202 FETCH get_event_class_info INTO
2203 l_summarization_flag,
2204 l_ret_summ_tax_line_id_flag;
2205
2206 IF get_event_class_info%NOTFOUND THEN
2207 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2208 IF get_event_class_info%ISOPEN THEN
2209 CLOSE get_event_class_info;
2210 END IF;
2211 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
2212 FND_LOG.STRING(G_LEVEL_STATEMENT,
2213 G_MODULE_NAME || l_api_name,
2214 G_PKG_NAME||':'||l_api_name||': Event Class Info not retreived');
2215 FND_LOG.STRING(g_level_statement,
2216 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2217 'RETURN_STATUS = ' || x_return_status);
2218 FND_LOG.STRING(g_level_statement,
2219 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2220 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2221 END IF;
2222 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2223 END IF;
2224
2225 CLOSE get_event_class_info;
2226
2227 -- Call on the fly API in case no data exists in zx repository.
2228 l_upg_trx_info_rec.application_id := p_transaction_rec.application_id;
2229 l_upg_trx_info_rec.event_class_code := p_transaction_rec.event_class_code;
2230 l_upg_trx_info_rec.entity_code := p_transaction_rec.entity_code;
2231 l_upg_trx_info_rec.trx_id := p_transaction_rec.trx_id;
2232 l_upg_trx_info_rec.trx_line_id := p_trx_line_id;
2233 l_upg_trx_info_rec.trx_level_type := p_trx_level_type;
2234
2235 ZX_ON_FLY_TRX_UPGRADE_PKG.is_trx_migrated(
2236 p_upg_trx_info_rec => l_upg_trx_info_rec,
2237 x_trx_migrated_b => l_trx_migrated_b,
2238 x_return_status => l_return_status );
2239
2240 IF NOT l_trx_migrated_b THEN
2241
2242 ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(
2243 p_upg_trx_info_rec => l_upg_trx_info_rec,
2244 x_return_status => l_return_status );
2245
2246 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2247 x_return_status := l_return_status;
2248 IF (g_level_statement >= g_current_runtime_level ) THEN
2249 FND_LOG.STRING(g_level_statement,
2250 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2251 'Incorrect return_status after calling ' ||
2252 ' ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly');
2253 FND_LOG.STRING(g_level_statement,
2254 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2255 'RETURN_STATUS = ' || x_return_status);
2256 FND_LOG.STRING(g_level_statement,
2257 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2258 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2259 END IF;
2260 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2261 RAISE FND_API.G_EXC_ERROR;
2262 ELSE
2263 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2264 END IF;
2265 END IF;
2266 END IF;
2267
2268 -- Check if data exists in zx_lines_det_factors after
2269 -- on the fly upgrade, if not return control to payables
2270 -- as no tax impacts here
2271 ZX_ON_FLY_TRX_UPGRADE_PKG.is_trx_migrated(
2272 p_upg_trx_info_rec => l_upg_trx_info_rec,
2273 x_trx_migrated_b => l_trx_migrated_b,
2274 x_return_status => l_return_status );
2275
2276 IF NOT l_trx_migrated_b THEN
2277 IF (g_level_statement >= g_current_runtime_level ) THEN
2278 FND_LOG.STRING(g_level_statement,
2279 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2280 'New Item Line with no tax impacts in Payables, no action required');
2281 FND_LOG.STRING(g_level_statement,
2282 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2283 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2284 END IF;
2285 RETURN;
2286 END IF;
2287
2288 SELECT COUNT(*)
2289 INTO l_count
2290 FROM ZX_REVERSE_DIST_GT;
2291
2292 IF (g_level_statement >= g_current_runtime_level ) THEN
2293 FND_LOG.STRING(g_level_statement,
2294 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2295 'Count in ZX_REVERSE_DIST_GT : '||TO_CHAR(l_count));
2296 END IF;
2297
2298 -- If distributions exists
2299 IF l_count <> 0 THEN
2300 -- Discard flow for a single item line
2301 IF p_trx_line_id IS NOT NULL THEN
2302
2303 -- Reverse the tax distributions, Payables needs to populate
2304 -- zx_reverse_dist_gt for this case.
2305 ZX_TRD_SERVICES_PUB_PKG.REVERSE_DISTRIBUTIONS(x_return_status => l_return_status);
2306
2307 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2308 x_return_status := l_return_status;
2309 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2310 FND_LOG.STRING(g_level_unexpected,
2311 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2312 'Incorrect return_status after calling ' ||
2313 'ZX_TRD_SERVICES_PUB_PKG.REVERSE_DISTRIBUTIONS');
2314 FND_LOG.STRING(g_level_unexpected,
2315 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2316 'RETURN_STATUS = ' || x_return_status);
2317 FND_LOG.STRING(g_level_unexpected,
2318 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2319 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2320 END IF;
2321 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2322 RAISE FND_API.G_EXC_ERROR;
2323 ELSE
2324 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2325 END IF;
2326 END IF;
2327
2328 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2329 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2330 'Updating the Freeze_Flag for the distributions');
2331 END IF;
2332
2333 -- Update the freeze flag on the distributions
2334 UPDATE ZX_REC_NREC_DIST
2335 SET FREEZE_FLAG = 'Y'
2336 WHERE APPLICATION_ID = p_transaction_rec.application_id
2337 AND ENTITY_CODE = p_transaction_rec.entity_code
2338 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2339 AND TRX_ID = p_transaction_rec.trx_id
2340 AND TRX_LINE_ID = p_trx_line_id
2341 AND TRX_LEVEL_TYPE = p_trx_level_type;
2342
2343 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2344 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2345 'No Of Rows Updated: ' || sql%rowcount);
2346 END IF;
2347
2348 -- Set the tax amounts accordingly
2349 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2350 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2351 'Opening Cursor TOT_DIST_AMT_TRX_LINE');
2352 END IF;
2353
2354 OPEN tot_dist_amt_trx_line;
2355 LOOP
2356 FETCH tot_dist_amt_trx_line BULK COLLECT INTO
2357 l_unrounded_tax_amt_tbl,
2358 l_tax_amt_tbl,
2359 l_tax_amt_tax_curr_tbl,
2360 l_tax_amt_funcl_curr_tbl,
2361 l_tax_line_id_tbl
2362 LIMIT G_LINES_PER_FETCH;
2363
2364 FOR i IN NVL(l_tax_line_id_tbl.FIRST,0) .. NVL(l_tax_line_id_tbl.LAST,-99) LOOP
2365 UPDATE ZX_LINES
2366 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
2367 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
2368 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
2369 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
2370 UNROUNDED_TAX_AMT = l_unrounded_tax_amt_tbl(i),
2371 UNROUNDED_TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, UNROUNDED_TAXABLE_AMT),
2372 TAX_AMT = l_tax_amt_tbl(i),
2373 TAX_AMT_TAX_CURR = l_tax_amt_tax_curr_tbl(i),
2374 TAX_AMT_FUNCL_CURR = l_tax_amt_funcl_curr_tbl(i),
2375 TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT),
2376 TAXABLE_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_TAX_CURR),
2377 TAXABLE_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_FUNCL_CURR),
2378 CAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT),
2379 CAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT_TAX_CURR),
2380 CAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT_FUNCL_CURR),
2381 REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT),
2382 REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT_TAX_CURR),
2383 REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT_FUNCL_CURR),
2384 NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT),
2385 NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT_TAX_cURR),
2386 NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT_FUNCL_CURR),
2387 ASSOCIATED_CHILD_FROZEN_FLAG = 'Y',
2388 PROCESS_FOR_RECOVERY_FLAG = 'N',
2389 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y'),
2390 CANCEL_FLAG = 'Y',
2391 TAX_HOLD_CODE = NULL,
2392 TAX_HOLD_RELEASED_CODE = NULL,
2393 PRD_TOTAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT),
2394 PRD_TOTAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_TAX_CURR),
2395 PRD_TOTAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_FUNCL_CURR),
2396 TRX_LINE_INDEX = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, TRX_LINE_INDEX),
2397 OFFSET_TAX_RATE_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OFFSET_TAX_RATE_CODE),
2398 PRORATION_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRORATION_CODE),
2399 OTHER_DOC_SOURCE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OTHER_DOC_SOURCE),
2400 LEGAL_REPORTING_STATUS = DECODE(LEGAL_REPORTING_STATUS, '111111111111111','000000000000000', LEGAL_REPORTING_STATUS)
2401 WHERE APPLICATION_ID = p_transaction_rec.application_id
2402 AND ENTITY_CODE = p_transaction_rec.entity_code
2403 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2404 AND TRX_ID = p_transaction_rec.trx_id
2405 AND TRX_LINE_ID = p_trx_line_id
2406 AND TRX_LEVEL_TYPE = p_trx_level_type
2407 AND TAX_LINE_ID = l_tax_line_id_tbl(i)
2408 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2409 END LOOP;
2410
2411 EXIT WHEN tot_dist_amt_trx_line%NOTFOUND;
2412 END LOOP;
2413 CLOSE tot_dist_amt_trx_line;
2414
2415 IF l_summarization_flag = 'Y' THEN
2416 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2417 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2418 'Opening Cursor TOT_TAX_AMT_TRX_LINE');
2419 END IF;
2420 OPEN tot_tax_amt_trx_line;
2421 LOOP
2422 FETCH tot_tax_amt_trx_line BULK COLLECT INTO
2423 l_tax_amt_tbl,
2424 l_tax_amt_tax_curr_tbl,
2425 l_tax_amt_funcl_curr_tbl,
2426 l_tot_rec_amt_tbl,
2427 l_tot_rec_amt_tax_curr_tbl,
2428 l_tot_rec_amt_funcl_curr_tbl,
2429 l_tot_nrec_amt_tbl,
2430 l_tot_nrec_amt_tax_curr_tbl,
2431 l_tot_nrec_amt_funcl_curr_tbl,
2432 l_cancel_flag_tbl,
2433 l_summary_tax_line_id_tbl
2434 LIMIT G_LINES_PER_FETCH;
2435
2436 FOR i IN NVL(l_summary_tax_line_id_tbl.FIRST,0) .. NVL(l_summary_tax_line_id_tbl.LAST,-99) LOOP
2437 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2438 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2439 TO_CHAR(i)||': Tax_Amt = ' || l_tax_amt_tbl(i) ||
2440 ', Summary_Tax_Line_Id = ' || l_summary_tax_line_id_tbl(i));
2441 END IF;
2442
2443 UPDATE ZX_LINES_SUMMARY
2444 SET TAX_AMT = l_tax_amt_tbl(i),
2445 TAX_AMT_TAX_CURR = l_tax_amt_tax_curr_tbl(i),
2446 TAX_AMT_FUNCL_CURR = l_tax_amt_funcl_curr_tbl(i),
2447 TOTAL_REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tbl(i), TOTAL_REC_TAX_AMT),
2448 TOTAL_REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_funcl_curr_tbl(i), TOTAL_REC_TAX_AMT_FUNCL_CURR),
2449 TOTAL_NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tbl(i), TOTAL_NREC_TAX_AMT),
2450 TOTAL_NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_funcl_curr_tbl(i), TOTAL_NREC_TAX_AMT_FUNCL_CURR),
2451 TOTAL_REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tax_curr_tbl(i), TOTAL_REC_TAX_AMT_TAX_CURR),
2452 TOTAL_NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tax_curr_tbl(i), TOTAL_NREC_TAX_AMT_TAX_CURR),
2453 CANCEL_FLAG = l_cancel_flag_tbl(i)
2454 WHERE APPLICATION_ID = p_transaction_rec.application_id
2455 AND ENTITY_CODE = p_transaction_rec.entity_code
2456 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2457 AND TRX_ID = p_transaction_rec.trx_id
2458 AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id_tbl(i)
2459 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2460 END LOOP;
2461
2462 EXIT WHEN tot_tax_amt_trx_line%NOTFOUND;
2463 END LOOP;
2464 CLOSE tot_tax_amt_trx_line;
2465 END IF; --l_summarization_flag = 'Y'
2466 -- Cancel flow for the entire Invoice
2467 ELSE
2468 IF (g_level_statement >= g_current_runtime_level ) THEN
2469 FND_LOG.STRING(g_level_statement,
2470 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2471 'Canceling Complete Invoice');
2472 END IF;
2473 -- Reverse the tax distributions, Payables needs to populate
2474 -- zx_reverse_dist_gt for this case.
2475 ZX_TRD_SERVICES_PUB_PKG.REVERSE_DISTRIBUTIONS(x_return_status => l_return_status);
2476
2477 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2478 x_return_status := l_return_status;
2479 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2480 FND_LOG.STRING(g_level_unexpected,
2481 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2482 'Incorrect return_status after calling ' ||
2483 'ZX_TRD_SERVICES_PUB_PKG.REVERSE_DISTRIBUTIONS');
2484 FND_LOG.STRING(g_level_unexpected,
2485 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2486 'RETURN_STATUS = ' || x_return_status);
2487 FND_LOG.STRING(g_level_unexpected,
2488 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2489 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2490 END IF;
2491 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2492 RAISE FND_API.G_EXC_ERROR;
2493 ELSE
2494 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2495 END IF;
2496 END IF;
2497
2498 -- Update the freeze flag for the entire invoice
2499 IF (g_level_statement >= g_current_runtime_level ) THEN
2500 FND_LOG.STRING(g_level_statement,
2501 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2502 'Updating the Freeze_Flag');
2503 END IF;
2504
2505 UPDATE ZX_REC_NREC_DIST
2506 SET FREEZE_FLAG = 'Y'
2507 WHERE APPLICATION_ID = p_transaction_rec.application_id
2508 AND ENTITY_CODE = p_transaction_rec.entity_code
2509 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2510 AND TRX_ID = p_transaction_rec.trx_id;
2511
2512 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2513 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2514 'No Of Rows Updated: ' || sql%rowcount);
2515 END IF;
2516
2517 -- set the tax amounts accordingly
2518 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2519 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2520 'Opening Cursor TOT_DIST_AMT_TRX');
2521 END IF;
2522 OPEN tot_dist_amt_trx;
2523 LOOP
2524 FETCH tot_dist_amt_trx BULK COLLECT INTO
2525 l_unrounded_tax_amt_tbl,
2526 l_tax_amt_tbl,
2527 l_tax_amt_tax_curr_tbl,
2528 l_tax_amt_funcl_curr_tbl,
2529 l_tax_line_id_tbl
2530 LIMIT G_LINES_PER_FETCH;
2531
2532 FOR i IN NVL(l_tax_line_id_tbl.FIRST,0) .. NVL(l_tax_line_id_tbl.LAST,-99) LOOP
2533 UPDATE ZX_LINES
2534 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
2535 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
2536 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
2537 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
2538 UNROUNDED_TAX_AMT = l_unrounded_tax_amt_tbl(i),
2539 UNROUNDED_TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, UNROUNDED_TAXABLE_AMT),
2540 TAX_AMT = l_tax_amt_tbl(i),
2541 TAX_AMT_TAX_CURR = l_tax_amt_tax_curr_tbl(i),
2542 TAX_AMT_FUNCL_CURR = l_tax_amt_funcl_curr_tbl(i),
2543 TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT),
2544 TAXABLE_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_TAX_CURR),
2545 TAXABLE_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_FUNCL_CURR),
2546 CAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT),
2547 CAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT_TAX_CURR),
2548 CAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), CAL_TAX_AMT_FUNCL_CURR),
2549 REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT),
2550 REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT_TAX_CURR),
2551 REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), REC_TAX_AMT_FUNCL_CURR),
2552 NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT),
2553 NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT_TAX_cURR),
2554 NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tax_amt_tbl(i), 'UNAPPLY_FROM', l_tax_amt_tbl(i), NREC_TAX_AMT_FUNCL_CURR),
2555 PROCESS_FOR_RECOVERY_FLAG = 'N',
2556 ASSOCIATED_CHILD_FROZEN_FLAG = 'Y',
2557 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y'),
2558 CANCEL_FLAG = 'Y',
2559 TAX_HOLD_CODE = NULL,
2560 TAX_HOLD_RELEASED_CODE = NULL,
2561 PRD_TOTAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT),
2562 PRD_TOTAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_TAX_CURR),
2563 PRD_TOTAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_FUNCL_CURR),
2564 TRX_LINE_INDEX = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, TRX_LINE_INDEX),
2565 OFFSET_TAX_RATE_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OFFSET_TAX_RATE_CODE),
2566 PRORATION_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRORATION_CODE),
2567 OTHER_DOC_SOURCE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OTHER_DOC_SOURCE),
2568 LEGAL_REPORTING_STATUS = DECODE(LEGAL_REPORTING_STATUS, '111111111111111','000000000000000', LEGAL_REPORTING_STATUS)
2569 WHERE APPLICATION_ID = p_transaction_rec.application_id
2570 AND ENTITY_CODE = p_transaction_rec.entity_code
2571 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2572 AND TRX_ID = p_transaction_rec.trx_id
2573 AND TAX_LINE_ID = l_tax_line_id_tbl(i)
2574 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2575 END LOOP;
2576 EXIT WHEN tot_dist_amt_trx%NOTFOUND;
2577 END LOOP;
2578 CLOSE tot_dist_amt_trx;
2579
2580 -- Check if there exist tax lines that do not have any distributions
2581 IF (g_level_statement >= g_current_runtime_level ) THEN
2582 FND_LOG.STRING(g_level_statement,
2583 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2584 'Checking for Tax Lines without distributions');
2585 END IF;
2586
2587 BEGIN
2588 SELECT COUNT(zl.tax_line_id)
2589 INTO l_tax_line_count
2590 FROM zx_lines zl
2591 WHERE zl.application_id = p_transaction_rec.application_id
2592 AND zl.entity_code = p_transaction_rec.entity_code
2593 AND zl.event_class_code = p_transaction_rec.event_class_code
2594 AND zl.trx_id = p_transaction_rec.trx_id
2595 AND NVL(zl.tax_only_line_flag,'N') <> 'Y'
2596 AND NVL(zl.cancel_flag,'N') <> 'Y'
2597 AND NOT EXISTS (SELECT /*+first_rows(1)*/ 1
2598 FROM zx_rec_nrec_dist zd
2599 WHERE zd.trx_id = zl.trx_id
2600 AND zd.application_id = zl.application_id
2601 AND zd.entity_code = zl.entity_code
2602 AND zd.event_class_code = zl.event_class_code
2603 AND zd.tax_line_id = zl.tax_line_id
2604 AND ROWNUM = 1);
2605 EXCEPTION WHEN OTHERS THEN
2606 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2607 FND_LOG.STRING(g_level_unexpected,
2608 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2609 'Query to check for Tax Lines without dists failed with error '||SQLERRM);
2610 END IF;
2611 l_tax_line_count := 0;
2612 END;
2613
2614 IF (g_level_statement >= g_current_runtime_level ) THEN
2615 FND_LOG.STRING(g_level_statement,
2616 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2617 'Count of Tax Lines without distributions = '||l_tax_line_count);
2618 END IF;
2619
2620 IF l_tax_line_count > 0 THEN
2621 UPDATE ZX_LINES ZL
2622 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
2623 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
2624 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
2625 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
2626 UNROUNDED_TAX_AMT = 0,
2627 UNROUNDED_TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, UNROUNDED_TAXABLE_AMT),
2628 TAX_AMT = 0,
2629 TAX_AMT_TAX_CURR = 0,
2630 TAX_AMT_FUNCL_CURR = 0,
2631 TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT),
2632 TAXABLE_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_TAX_CURR),
2633 TAXABLE_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_FUNCL_CURR),
2634 CAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT),
2635 CAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_TAX_CURR),
2636 CAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_FUNCL_CURR),
2637 REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT),
2638 REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_TAX_CURR),
2639 REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_FUNCL_CURR),
2640 NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT),
2641 NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_TAX_cURR),
2642 NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_FUNCL_CURR),
2643 PROCESS_FOR_RECOVERY_FLAG = 'N',
2644 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y'),
2645 CANCEL_FLAG = 'Y',
2646 TAX_HOLD_CODE = NULL,
2647 TAX_HOLD_RELEASED_CODE = NULL,
2648 PRD_TOTAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT),
2649 PRD_TOTAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_TAX_CURR),
2650 PRD_TOTAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_FUNCL_CURR),
2651 TRX_LINE_INDEX = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, TRX_LINE_INDEX),
2652 OFFSET_TAX_RATE_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OFFSET_TAX_RATE_CODE),
2653 PRORATION_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRORATION_CODE),
2654 OTHER_DOC_SOURCE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OTHER_DOC_SOURCE),
2655 LEGAL_REPORTING_STATUS = DECODE(LEGAL_REPORTING_STATUS, '111111111111111','000000000000000', LEGAL_REPORTING_STATUS)
2656 WHERE ZL.APPLICATION_ID = p_transaction_rec.application_id
2657 AND ZL.ENTITY_CODE = p_transaction_rec.entity_code
2658 AND ZL.EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2659 AND ZL.TRX_ID = p_transaction_rec.trx_id
2660 AND NVL(ZL.TAX_ONLY_LINE_FLAG,'N') <> 'Y'
2661 AND NVL(ZL.CANCEL_FLAG,'N') <> 'Y'
2662 AND NOT EXISTS (SELECT /*+first_rows(1)*/ 1
2663 FROM ZX_REC_NREC_DIST ZD
2664 WHERE ZD.TRX_ID = ZL.TRX_ID
2665 AND ZD.APPLICATION_ID = ZL.APPLICATION_ID
2666 AND ZD.ENTITY_CODE = ZL.ENTITY_CODE
2667 AND ZD.EVENT_CLASS_CODE = ZL.EVENT_CLASS_CODE
2668 AND ZD.TAX_LINE_ID = ZL.TAX_LINE_ID
2669 AND ROWNUM = 1);
2670
2671 IF (g_level_statement >= g_current_runtime_level ) THEN
2672 FND_LOG.STRING(g_level_statement,
2673 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2674 'No. of Rows Updated : '||SQL%ROWCOUNT);
2675 END IF;
2676 END IF;
2677
2678 IF l_summarization_flag = 'Y' THEN
2679 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2680 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2681 'Opening Cursor TOT_TAX_AMT_TRX');
2682 END IF;
2683 OPEN tot_tax_amt_trx;
2684 LOOP
2685 FETCH tot_tax_amt_trx BULK COLLECT INTO
2686 l_tax_amt_tbl,
2687 l_tax_amt_tax_curr_tbl,
2688 l_tax_amt_funcl_curr_tbl,
2689 l_tot_rec_amt_tbl,
2690 l_tot_rec_amt_tax_curr_tbl,
2691 l_tot_rec_amt_funcl_curr_tbl,
2692 l_tot_nrec_amt_tbl,
2693 l_tot_nrec_amt_tax_curr_tbl,
2694 l_tot_nrec_amt_funcl_curr_tbl,
2695 l_cancel_flag_tbl,
2696 l_summary_tax_line_id_tbl
2697 LIMIT G_LINES_PER_FETCH;
2698
2699 FOR i IN NVL(l_summary_tax_line_id_tbl.FIRST,0) .. NVL(l_summary_tax_line_id_tbl.LAST,-99) LOOP
2700 UPDATE ZX_LINES_SUMMARY
2701 SET TAX_AMT = l_tax_amt_tbl(i),
2702 TAX_AMT_TAX_CURR = l_tax_amt_tax_curr_tbl(i),
2703 TAX_AMT_FUNCL_CURR = l_tax_amt_funcl_curr_tbl(i),
2704 TOTAL_REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tbl(i), TOTAL_REC_TAX_AMT),
2705 TOTAL_REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_funcl_curr_tbl(i), TOTAL_REC_TAX_AMT_FUNCL_CURR),
2706 TOTAL_NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tbl(i), TOTAL_NREC_TAX_AMT),
2707 TOTAL_NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_funcl_curr_tbl(i), TOTAL_NREC_TAX_AMT_FUNCL_CURR),
2708 TOTAL_REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tax_curr_tbl(i), TOTAL_REC_TAX_AMT_TAX_CURR),
2709 TOTAL_NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tax_curr_tbl(i), TOTAL_NREC_TAX_AMT_TAX_CURR),
2710 CANCEL_FLAG = l_cancel_flag_tbl(i)
2711 WHERE APPLICATION_ID = p_transaction_rec.application_id
2712 AND ENTITY_CODE = p_transaction_rec.entity_code
2713 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2714 AND TRX_ID = p_transaction_rec.trx_id
2715 AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id_tbl(i)
2716 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2717 END LOOP;
2718 EXIT WHEN tot_tax_amt_trx%NOTFOUND;
2719 END LOOP;
2720 CLOSE tot_tax_amt_trx;
2721 END IF; -- l_summarization_flag = 'Y'
2722 END IF;
2723 -- If no distributions exists
2724 ELSE
2725 -- Discard flow for Single item line.
2726 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2727 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2728 'If no distributions exists, Discard flow for Single item line : '|| p_trx_line_id);
2729 END IF;
2730 IF p_trx_line_id IS NOT NULL THEN
2731 UPDATE ZX_LINES
2732 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
2733 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
2734 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
2735 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
2736 UNROUNDED_TAX_AMT = 0,
2737 UNROUNDED_TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, UNROUNDED_TAXABLE_AMT),
2738 TAX_AMT = 0,
2739 TAX_AMT_TAX_CURR = 0,
2740 TAX_AMT_FUNCL_CURR = 0,
2741 TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT),
2742 TAXABLE_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_TAX_CURR),
2743 TAXABLE_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_FUNCL_CURR),
2744 CAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT),
2745 CAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_TAX_CURR),
2746 CAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_FUNCL_CURR),
2747 REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT),
2748 REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_TAX_CURR),
2749 REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_FUNCL_CURR),
2750 NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT),
2751 NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_TAX_cURR),
2752 NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_FUNCL_CURR),
2753 PROCESS_FOR_RECOVERY_FLAG = 'N',
2754 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y'),
2755 CANCEL_FLAG = 'Y',
2756 TAX_HOLD_CODE = NULL,
2757 TAX_HOLD_RELEASED_CODE = NULL,
2758 PRD_TOTAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT),
2759 PRD_TOTAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_TAX_CURR),
2760 PRD_TOTAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_FUNCL_CURR),
2761 TRX_LINE_INDEX = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, TRX_LINE_INDEX),
2762 OFFSET_TAX_RATE_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OFFSET_TAX_RATE_CODE),
2763 PRORATION_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRORATION_CODE),
2764 OTHER_DOC_SOURCE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OTHER_DOC_SOURCE),
2765 LEGAL_REPORTING_STATUS = DECODE(LEGAL_REPORTING_STATUS, '111111111111111','000000000000000', LEGAL_REPORTING_STATUS)
2766 WHERE APPLICATION_ID = p_transaction_rec.application_id
2767 AND ENTITY_CODE = p_transaction_rec.entity_code
2768 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2769 AND TRX_ID = p_transaction_rec.trx_id
2770 AND TRX_LINE_ID = p_trx_line_id
2771 AND TRX_LEVEL_TYPE = p_trx_level_type
2772 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2773
2774 IF l_summarization_flag = 'Y' THEN
2775 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
2776 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,
2777 'Opening Cursor TOT_TAX_AMT_TRX_LINE');
2778 END IF;
2779 OPEN tot_tax_amt_trx_line;
2780 LOOP
2781 FETCH tot_tax_amt_trx_line BULK COLLECT INTO
2782 l_tax_amt_tbl,
2783 l_tax_amt_tax_curr_tbl,
2784 l_tax_amt_funcl_curr_tbl,
2785 l_tot_rec_amt_tbl,
2786 l_tot_rec_amt_tax_curr_tbl,
2787 l_tot_rec_amt_funcl_curr_tbl,
2788 l_tot_nrec_amt_tbl,
2789 l_tot_nrec_amt_tax_curr_tbl,
2790 l_tot_nrec_amt_funcl_curr_tbl,
2791 l_cancel_flag_tbl,
2792 l_summary_tax_line_id_tbl
2793 LIMIT G_LINES_PER_FETCH;
2794
2795 FOR i IN NVL(l_summary_tax_line_id_tbl.FIRST,0) .. NVL(l_summary_tax_line_id_tbl.LAST,-99) LOOP
2796 UPDATE ZX_LINES_SUMMARY
2797 SET TAX_AMT = l_tax_amt_tbl(i),
2798 TAX_AMT_TAX_CURR = l_tax_amt_tax_curr_tbl(i),
2799 TAX_AMT_FUNCL_CURR = l_tax_amt_funcl_curr_tbl(i),
2800 TOTAL_REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tbl(i), TOTAL_REC_TAX_AMT),
2801 TOTAL_REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_funcl_curr_tbl(i), TOTAL_REC_TAX_AMT_FUNCL_CURR),
2802 TOTAL_NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tbl(i), TOTAL_NREC_TAX_AMT),
2803 TOTAL_NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_funcl_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_funcl_curr_tbl(i), TOTAL_NREC_TAX_AMT_FUNCL_CURR),
2804 TOTAL_REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_rec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_rec_amt_tax_curr_tbl(i), TOTAL_REC_TAX_AMT_TAX_CURR),
2805 TOTAL_NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', l_tot_nrec_amt_tax_curr_tbl(i), 'UNAPPLY_FROM', l_tot_nrec_amt_tax_curr_tbl(i), TOTAL_NREC_TAX_AMT_TAX_CURR),
2806 CANCEL_FLAG = l_cancel_flag_tbl(i)
2807 WHERE APPLICATION_ID = p_transaction_rec.application_id
2808 AND ENTITY_CODE = p_transaction_rec.entity_code
2809 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2810 AND TRX_ID = p_transaction_rec.trx_id
2811 AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id_tbl(i)
2812 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2813 END LOOP;
2814 EXIT WHEN tot_tax_amt_trx_line%NOTFOUND;
2815 END LOOP;
2816 CLOSE tot_tax_amt_trx_line;
2817 END IF; --l_summarization_flag = 'Y'
2818
2819 -- Cancel flow for entire Invoice.
2820 ELSE
2821 UPDATE ZX_LINES
2822 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
2823 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
2824 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
2825 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
2826 UNROUNDED_TAX_AMT = 0,
2827 UNROUNDED_TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, UNROUNDED_TAXABLE_AMT),
2828 TAX_AMT = 0,
2829 TAX_AMT_TAX_CURR = 0,
2830 TAX_AMT_FUNCL_CURR = 0,
2831 TAXABLE_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT),
2832 TAXABLE_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_TAX_CURR),
2833 TAXABLE_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TAXABLE_AMT_FUNCL_CURR),
2834 CAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT),
2835 CAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_TAX_CURR),
2836 CAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, CAL_TAX_AMT_FUNCL_CURR),
2837 REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT),
2838 REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_TAX_CURR),
2839 REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, REC_TAX_AMT_FUNCL_CURR),
2840 NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT),
2841 NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_TAX_cURR),
2842 NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, NREC_TAX_AMT_FUNCL_CURR),
2843 PROCESS_FOR_RECOVERY_FLAG = 'N',
2844 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y'),
2845 CANCEL_FLAG = 'Y',
2846 TAX_HOLD_CODE = NULL,
2847 TAX_HOLD_RELEASED_CODE = NULL,
2848 PRD_TOTAL_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT),
2849 PRD_TOTAL_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_TAX_CURR),
2850 PRD_TOTAL_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRD_TOTAL_TAX_AMT_FUNCL_CURR),
2851 TRX_LINE_INDEX = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, TRX_LINE_INDEX),
2852 OFFSET_TAX_RATE_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OFFSET_TAX_RATE_CODE),
2853 PRORATION_CODE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, PRORATION_CODE),
2854 OTHER_DOC_SOURCE = DECODE(p_line_level_action, 'DISCARD', NULL, 'UNAPPLY_FROM', NULL, OTHER_DOC_SOURCE),
2855 LEGAL_REPORTING_STATUS = DECODE(LEGAL_REPORTING_STATUS, '111111111111111','000000000000000', LEGAL_REPORTING_STATUS)
2856 WHERE APPLICATION_ID = p_transaction_rec.application_id
2857 AND ENTITY_CODE = p_transaction_rec.entity_code
2858 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2859 AND TRX_ID = p_transaction_rec.trx_id
2860 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2861
2862 IF l_summarization_flag = 'Y' THEN
2863 UPDATE ZX_LINES_SUMMARY
2864 SET TAX_AMT = 0,
2865 TAX_AMT_TAX_CURR = 0,
2866 TAX_AMT_FUNCL_CURR = 0,
2867 TOTAL_REC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_REC_TAX_AMT),
2868 TOTAL_REC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_REC_TAX_AMT_FUNCL_CURR),
2869 TOTAL_NREC_TAX_AMT = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_NREC_TAX_AMT),
2870 TOTAL_NREC_TAX_AMT_FUNCL_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_NREC_TAX_AMT_FUNCL_CURR),
2871 TOTAL_REC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_REC_TAX_AMT_TAX_CURR),
2872 TOTAL_NREC_TAX_AMT_TAX_CURR = DECODE(p_line_level_action, 'DISCARD', 0, 'UNAPPLY_FROM', 0, TOTAL_NREC_TAX_AMT_TAX_CURR)
2873 WHERE APPLICATION_ID = p_transaction_rec.application_id
2874 AND ENTITY_CODE = p_transaction_rec.entity_code
2875 AND EVENT_CLASS_CODE = p_transaction_rec.event_class_code
2876 AND TRX_ID = p_transaction_rec.trx_id
2877 AND NVL(TAX_ONLY_LINE_FLAG,'N') <> 'Y';
2878 END IF; --l_summarization_flag = 'Y'
2879 END IF; --IF p_trx_line_id IS NOT NULL THEN
2880 END IF; --l_count <> 0
2881
2882 -- Discard Tax Only Lines if any for the complete invoice alone
2883 -- Assuming that tax only lines cannot be discarded individually.
2884 IF p_tax_only_line_flag = 'Y' AND p_trx_line_id IS NULL THEN
2885
2886 ZX_API_PUB.discard_tax_only_lines
2887 ( p_api_version => p_api_version,
2888 p_init_msg_list => p_init_msg_list,
2889 p_commit => p_commit,
2890 p_validation_level => p_validation_level,
2891 x_return_status => l_return_status,
2892 x_msg_count => x_msg_count,
2893 x_msg_data => x_msg_data,
2894 p_transaction_rec => p_transaction_rec
2895 );
2896 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2897 x_return_status := l_return_status;
2898 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2899 FND_LOG.STRING(g_level_unexpected,
2900 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.CANCEL_TAX_LINES',
2901 'Incorrect return_status after calling ' ||
2902 'ZX_API_PUB.discard_tax_only_lines');
2903 FND_LOG.STRING(g_level_unexpected,
2904 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2905 'RETURN_STATUS = ' || x_return_status);
2906 FND_LOG.STRING(g_level_unexpected,
2907 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2908 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2909 END IF;
2910 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2911 RAISE FND_API.G_EXC_ERROR;
2912 ELSE
2913 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2914 END IF;
2915 END IF;
2916 END IF;
2917
2918 -- Call update_det_factors_for_cancel
2919 update_det_factors_for_cancel
2920 (x_return_status => x_return_status,
2921 x_msg_count => x_msg_count,
2922 x_msg_data => x_msg_data,
2923 p_event_class_rec => l_event_class_rec,
2924 p_transaction_rec => p_transaction_rec,
2925 p_trx_line_id => p_trx_line_id,
2926 p_trx_level_type => p_trx_level_type,
2927 p_line_level_action => p_line_level_action
2928 );
2929
2930 -- Call Global Document Update
2931 ZX_API_PUB.Global_document_update
2932 ( p_api_version => p_api_version,
2933 p_init_msg_list => p_init_msg_list,
2934 p_commit => p_commit,
2935 p_validation_level => p_validation_level,
2936 x_return_status => x_return_status,
2937 x_msg_count => x_msg_count,
2938 x_msg_data => x_msg_data,
2939 p_transaction_rec => p_transaction_rec
2940 );
2941 IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2942 x_return_status := l_return_status;
2943 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2944 FND_LOG.STRING(g_level_unexpected,
2945 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.CANCEL_TAX_LINES',
2946 'Incorrect return_status after calling ' ||
2947 'ZX_API_PUB.Global_document_update');
2948 FND_LOG.STRING(g_level_unexpected,
2949 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2950 'RETURN_STATUS = ' || x_return_status);
2951 FND_LOG.STRING(g_level_unexpected,
2952 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines.END',
2953 'ZX_NEW_SERVICES_PKG.cancel_tax_lines(-)');
2954 END IF;
2955 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2956 RAISE FND_API.G_EXC_ERROR;
2957 ELSE
2958 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2959 END IF;
2960 END IF;
2961
2962 --Preventice checks
2963 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2964 FND_LOG.STRING(G_LEVEL_STATEMENT,
2965 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2966 'Opening Preventive Check Cursor Check_Canceled_Tax_Lines');
2967 END IF;
2968
2969 l_chk_tax_line_id_tbl.DELETE;
2970 l_chk_tax_amt_tbl.DELETE;
2971 l_chk_cancel_flg_tbl.DELETE;
2972
2973 OPEN check_canceled_tax_lines(p_trx_line_id);
2974 LOOP
2975 FETCH check_canceled_tax_lines
2976 BULK COLLECT INTO
2977 l_chk_tax_line_id_tbl,
2978 l_chk_tax_amt_tbl,
2979 l_chk_cancel_flg_tbl
2980 LIMIT G_LINES_PER_FETCH;
2981
2982 IF check_canceled_tax_lines%FOUND AND l_chk_tax_line_id_tbl.COUNT > 0 THEN
2983 l_return_status := FND_API.G_RET_STS_ERROR;
2984 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2985 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2986 'Following tax lines are not canceled properly:');
2987 FOR i IN NVL(l_chk_tax_line_id_tbl.FIRST,0)..NVL(l_chk_tax_line_id_tbl.LAST,-99) LOOP
2988 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2989 'TAX_LINE_ID: '||TO_CHAR(l_chk_tax_line_id_tbl(i))||
2990 ', CANCEL_FLAG: '||l_chk_cancel_flg_tbl(i)||
2991 ', TAX_AMT: '||TO_CHAR(l_chk_tax_amt_tbl(i)));
2992 END LOOP;
2993 END IF;
2994 ELSE
2995 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2996 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
2997 'No problematic records found. Tax canceled successfully.');
2998 END IF;
2999 END IF;
3000 EXIT WHEN check_canceled_tax_lines%NOTFOUND OR l_chk_tax_line_id_tbl.COUNT = 0;
3001 END LOOP;
3002 CLOSE check_canceled_tax_lines;
3003
3004 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3005 FND_LOG.STRING(G_LEVEL_STATEMENT,
3006 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3007 'Opening Preventive Check Cursor Check_Tax_Lines_Dists_Amt');
3008 END IF;
3009
3010 l_chk_tax_line_id_tbl.DELETE;
3011 l_chk_tax_amt_tbl.DELETE;
3012 l_chk_tot_dist_amt_tbl.DELETE;
3013
3014 OPEN check_tax_lines_dists_amt(p_trx_line_id);
3015 LOOP
3016 FETCH check_tax_lines_dists_amt
3017 BULK COLLECT INTO
3018 l_chk_tax_line_id_tbl,
3019 l_chk_tax_amt_tbl,
3020 l_chk_tot_dist_amt_tbl
3021 LIMIT G_LINES_PER_FETCH;
3022
3023 IF check_tax_lines_dists_amt%FOUND AND l_chk_tax_line_id_tbl.COUNT > 0 THEN
3024 l_return_status := FND_API.G_RET_STS_ERROR;
3025
3026 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3027 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3028 'Following tax lines and its distributions are out of sync:');
3029 FOR i IN NVL(l_chk_tax_line_id_tbl.FIRST,0)..NVL(l_chk_tax_line_id_tbl.LAST,-99) LOOP
3030 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3031 'TAX_LINE_ID: '||TO_CHAR(l_chk_tax_line_id_tbl(i))||
3032 ', TAX_AMT: '||TO_CHAR(l_chk_tax_amt_tbl(i))||
3033 ', TOTAL_DIST_AMT: '||TO_CHAR(l_chk_tot_dist_amt_tbl(i)));
3034 END LOOP;
3035 END IF;
3036 ELSE
3037 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3038 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3039 'No problematic records found. Tax lines and distributions are in sync.');
3040 END IF;
3041 END IF;
3042 EXIT WHEN check_tax_lines_dists_amt%NOTFOUND OR l_chk_tax_line_id_tbl.COUNT = 0;
3043 END LOOP;
3044 CLOSE check_tax_lines_dists_amt;
3045
3046 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3047 FND_MESSAGE.SET_NAME('ZX','ZX_GENERIC_TEXT');
3048 FND_MESSAGE.SET_TOKEN('GENERIC_TEXT',
3049 'E-Business Tax is unable to complete the Cancel/Discard/Unapply request.'||
3050 ' Generate FND Debug Log file and APLIST and log a Service Request.');
3051 ZX_API_PUB.ADD_MSG(l_msg_context_info_rec);
3052 RAISE FND_API.G_EXC_ERROR;
3053 END IF;
3054
3055 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3056 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END','ZX_NEW_SERVICES_PKG: '||l_api_name||'()-');
3057 END IF;
3058
3059 EXCEPTION
3060 WHEN FND_API.G_EXC_ERROR THEN
3061 ROLLBACK TO cancel_tax_lines_PVT;
3062 x_return_status := FND_API.G_RET_STS_ERROR ;
3063 ZX_API_PUB.DUMP_MSG;
3064 /*---------------------------------------------------------+
3065 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3066 | in the message stack. If there is only one message in |
3067 | the stack it retrieves this message |
3068 +---------------------------------------------------------*/
3069 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3070 p_count => x_msg_count,
3071 p_data => x_msg_data
3072 );
3073 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3074 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3075 END IF;
3076
3077 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3078 ROLLBACK TO cancel_tax_lines_PVT;
3079 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3080 ZX_API_PUB.DUMP_MSG;
3081 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3082 FND_MSG_PUB.Add;
3083 /*---------------------------------------------------------+
3084 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3085 | in the message stack. If there is only one message in |
3086 | the stack it retrieves this message |
3087 +---------------------------------------------------------*/
3088 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3089 p_count => x_msg_count,
3090 p_data => x_msg_data
3091 );
3092 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3093 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3094 END IF;
3095 WHEN OTHERS THEN
3096 ROLLBACK TO cancel_tax_lines_PVT;
3097 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3098 ZX_API_PUB.DUMP_MSG;
3099 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3100 FND_MSG_PUB.Add;
3101 /*---------------------------------------------------------+
3102 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3103 | in the message stack. If there is only one message in |
3104 | the stack it retrieves this message |
3105 +---------------------------------------------------------*/
3106 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3107 p_count => x_msg_count,
3108 p_data => x_msg_data
3109 );
3110 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3111 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3112 END IF;
3113 END cancel_tax_lines;
3114
3115 /* ======================================================================*
3116 | PROCEDURE delete_tax_dists: |
3117 * ======================================================================*/
3118
3119 PROCEDURE delete_tax_dists(
3120 p_api_version IN NUMBER,
3121 p_init_msg_list IN VARCHAR2,
3122 p_commit IN VARCHAR2,
3123 p_validation_level IN NUMBER,
3124 x_return_status OUT NOCOPY VARCHAR2 ,
3125 x_msg_count OUT NOCOPY NUMBER ,
3126 x_msg_data OUT NOCOPY VARCHAR2 ,
3127 p_transaction_line_rec IN OUT NOCOPY ZX_API_PUB.transaction_line_rec_type
3128 )IS
3129 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TAX_DISTS';
3130 l_api_version CONSTANT NUMBER := 1.0;
3131 l_return_status VARCHAR2(1);
3132 l_init_msg_list VARCHAR2(1);
3133 l_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE;
3134
3135 TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
3136 l_tax_line_id_tbl num_tbl_type;
3137
3138 -- Added for preventive check --
3139 l_chk_tax_line_id_tbl num_tbl_type;
3140 l_chk_tax_amt_tbl num_tbl_type;
3141 l_chk_tot_dist_amt_tbl num_tbl_type;
3142
3143 CURSOR get_tax_line_id_cur IS
3144 SELECT tax_line_id
3145 FROM zx_rec_nrec_dist zd, zx_tax_dist_id_gt zgt
3146 WHERE zd.rec_nrec_tax_dist_id = zgt.tax_dist_id;
3147
3148 -- Preventive check cursor to check if any tax line exists where tax amount
3149 -- of tax line is not equal to the sum of amounts of its distributions
3150 CURSOR check_tax_lines_dists_amt IS
3151 SELECT zl.tax_line_id,
3152 zl.tax_amt,
3153 SUM(zd.rec_nrec_tax_amt) tot_rec_nrec_amt
3154 FROM zx_lines zl,
3155 zx_rec_nrec_dist zd
3156 WHERE zl.tax_line_id IN
3157 (SELECT zd.tax_line_id
3158 FROM zx_rec_nrec_dist zd,
3159 zx_tax_dist_id_gt zgt
3160 WHERE zd.rec_nrec_tax_dist_id = zgt.tax_dist_id)
3161 AND zd.application_id = zl.application_id
3162 AND zd.entity_code = zl.entity_code
3163 AND zd.event_class_code = zl.event_class_code
3164 AND zd.trx_id = zl.trx_id
3165 AND zd.tax_line_id = zl.tax_line_id
3166 GROUP BY zl.tax_line_id, zl.tax_amt
3167 HAVING zl.tax_amt <> SUM(zd.rec_nrec_tax_amt);
3168
3169 BEGIN
3170 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3171 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN','ZX_NEW_SERVICES_PKG: '||l_api_name||'()+');
3172 END IF;
3173
3174 /*--------------------------------------------------+
3175 | Standard start of API savepoint |
3176 +--------------------------------------------------*/
3177 SAVEPOINT Del_Cand_Tax_Distributions_PVT;
3178
3179 /*--------------------------------------------------+
3180 | Standard call to check for call compatibility |
3181 +--------------------------------------------------*/
3182 IF NOT FND_API.Compatible_API_Call(l_api_version,
3183 p_api_version,
3184 l_api_name,
3185 G_PKG_NAME
3186 ) THEN
3187 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3188 END IF;
3189
3190 /*--------------------------------------------------------------+
3191 | Initialize message list if p_init_msg_list is set to TRUE |
3192 +--------------------------------------------------------------*/
3193 IF p_init_msg_list is null THEN
3194 l_init_msg_list := FND_API.G_FALSE;
3195 ELSE
3196 l_init_msg_list := p_init_msg_list;
3197 END IF;
3198
3199 IF FND_API.to_Boolean(l_init_msg_list) THEN
3200 FND_MSG_PUB.initialize;
3201 END IF;
3202
3203 /*-----------------------------------------+
3204 | Initialize return status to SUCCESS |
3205 +-----------------------------------------*/
3206 x_return_status := FND_API.G_RET_STS_SUCCESS;
3207
3208 /*-----------------------------------------+
3209 | Populate Global Variable |
3210 +-----------------------------------------*/
3211 ZX_API_PUB.G_PUB_SRVC := l_api_name;
3212 ZX_API_PUB.G_DATA_TRANSFER_MODE := 'PLS';
3213 ZX_API_PUB.G_EXTERNAL_API_CALL := 'N';
3214
3215
3216 OPEN get_tax_line_id_cur;
3217 FETCH get_tax_line_id_cur BULK COLLECT INTO
3218 l_tax_line_id_tbl;
3219 CLOSE get_tax_line_id_cur;
3220
3221 /*-----------------------------------------+
3222 | Delete tax distributions |
3223 +-----------------------------------------*/
3224
3225 DELETE FROM zx_rec_nrec_dist
3226 WHERE application_id = p_transaction_line_rec.application_id
3227 AND entity_code = p_transaction_line_rec.entity_code
3228 AND event_class_code = p_transaction_line_rec.event_class_code
3229 AND trx_id = p_transaction_line_rec.trx_id
3230 AND trx_level_type = p_transaction_line_rec.trx_level_type
3231 AND rec_nrec_tax_dist_id IN (SELECT tax_dist_id FROM zx_tax_dist_id_gt);
3232
3233 IF SQL%ROWCOUNT > 0 THEN
3234 FORALL i IN NVL(l_tax_line_id_tbl.FIRST, 0) .. NVL(l_tax_line_id_tbl.LAST, -1)
3235 UPDATE zx_lines
3236 SET process_for_recovery_flag = 'Y',
3237 rec_tax_amt = NULL,
3238 rec_tax_amt_tax_curr = NULL,
3239 rec_tax_amt_funcl_curr = NULL,
3240 nrec_tax_amt = NULL,
3241 nrec_tax_amt_tax_curr = NULL,
3242 nrec_tax_amt_funcl_curr = NULL
3243 WHERE application_id = p_transaction_line_rec.application_id
3244 AND entity_code = p_transaction_line_rec.entity_code
3245 AND event_class_code = p_transaction_line_rec.event_class_code
3246 AND trx_id = p_transaction_line_rec.trx_id
3247 AND tax_line_id = l_tax_line_id_tbl(i)
3248 AND trx_level_type = p_transaction_line_rec.trx_level_type;
3249
3250 -- Bug 11931349, while deleting candidate tax dists, reset the reverse flag for the parent tax dists so that during
3251 -- subsequent validation,tax distributions are reversed in ZX_TRD_INTERNAL_SERVICES_PVT.cancel_tax_line
3252
3253 FORALL i IN NVL(l_tax_line_id_tbl.FIRST, 0) .. NVL(l_tax_line_id_tbl.LAST, -1)
3254 UPDATE zx_rec_nrec_dist zd
3255 SET reverse_flag = NULL
3256 WHERE application_id = p_transaction_line_rec.application_id
3257 AND entity_code = p_transaction_line_rec.entity_code
3258 AND event_class_code = p_transaction_line_rec.event_class_code
3259 AND trx_id = p_transaction_line_rec.trx_id
3260 AND tax_line_id = l_tax_line_id_tbl(i)
3261 AND NVL(reverse_flag,'N') = 'Y'
3262 AND NOT EXISTS (SELECT 1 FROM zx_rec_nrec_dist zd1
3263 WHERE zd1.application_id = zd.application_id
3264 AND zd1.entity_code = zd.entity_code
3265 AND zd1.event_class_code = zd.event_class_code
3266 AND zd1.trx_id = zd.trx_id
3267 AND zd1.tax_line_id = zd.tax_line_id
3268 AND zd1.reversed_tax_dist_id = zd.rec_nrec_tax_dist_id);
3269
3270 END IF;
3271
3272 -- Start : Preventive check code --
3273 l_chk_tax_line_id_tbl.DELETE;
3274 l_chk_tax_amt_tbl.DELETE;
3275 l_chk_tot_dist_amt_tbl.DELETE;
3276
3277 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3278 FND_LOG.STRING(G_LEVEL_STATEMENT,
3279 'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3280 'Opening Preventive Check Cursor Check_Tax_Lines_Dists_Amt');
3281 END IF;
3282
3283 OPEN check_tax_lines_dists_amt;
3284 LOOP
3285 FETCH check_tax_lines_dists_amt
3286 BULK COLLECT INTO
3287 l_chk_tax_line_id_tbl,
3288 l_chk_tax_amt_tbl,
3289 l_chk_tot_dist_amt_tbl
3290 LIMIT G_LINES_PER_FETCH;
3291
3292 IF check_tax_lines_dists_amt%FOUND AND l_chk_tax_line_id_tbl.COUNT > 0 THEN
3293 x_return_status := FND_API.G_RET_STS_ERROR;
3294
3295 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3296 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3297 'Following tax lines and its distributions are out of sync:');
3298 FOR i IN NVL(l_chk_tax_line_id_tbl.FIRST,0)..NVL(l_chk_tax_line_id_tbl.LAST,-99) LOOP
3299 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3300 'TAX_LINE_ID: '||TO_CHAR(l_chk_tax_line_id_tbl(i))||
3301 ', TAX_AMT: '||TO_CHAR(l_chk_tax_amt_tbl(i))||
3302 ', TOTAL_DIST_AMT: '||TO_CHAR(l_chk_tot_dist_amt_tbl(i)));
3303 END LOOP;
3304 END IF;
3305 ELSE
3306 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3307 FND_LOG.STRING(G_LEVEL_STATEMENT,'ZX.PLSQL.ZX_NEW_SERVICES_PKG.cancel_tax_lines',
3308 'No problematic records found. Tax lines and distributions are in sync.');
3309 END IF;
3310 END IF;
3311 EXIT WHEN check_tax_lines_dists_amt%NOTFOUND OR l_chk_tax_line_id_tbl.COUNT = 0;
3312 END LOOP;
3313 CLOSE check_tax_lines_dists_amt;
3314
3315 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3316 --Populate Message structures
3317 BEGIN
3318 SELECT application_id,
3319 entity_code,
3320 event_class_code,
3321 trx_id
3322 INTO l_msg_context_info_rec.application_id,
3323 l_msg_context_info_rec.entity_code,
3324 l_msg_context_info_rec.event_class_code,
3325 l_msg_context_info_rec.trx_id
3326 FROM zx_rec_nrec_dist
3327 WHERE rec_nrec_tax_dist_id IN
3328 (SELECT tax_dist_id FROM zx_tax_dist_id_gt)
3329 AND ROWNUM = 1;
3330 EXCEPTION
3331 WHEN OTHERS THEN
3332 l_msg_context_info_rec.application_id := NULL;
3333 l_msg_context_info_rec.entity_code := NULL;
3334 l_msg_context_info_rec.event_class_code := NULL;
3335 l_msg_context_info_rec.trx_id := NULL;
3336 END;
3337
3338 l_msg_context_info_rec.trx_line_id := NULL;
3339 l_msg_context_info_rec.trx_level_type := NULL;
3340 l_msg_context_info_rec.summary_tax_line_number := NULL;
3341 l_msg_context_info_rec.tax_line_id := NULL;
3342 l_msg_context_info_rec.trx_line_dist_id := NULL;
3343
3344 FND_MESSAGE.SET_NAME('ZX','ZX_GENERIC_TEXT');
3345 FND_MESSAGE.SET_TOKEN('GENERIC_TEXT',
3346 'E-Business Tax is unable to process the request.'||
3347 ' Generate FND Debug Log file and APLIST and log a Service Request.');
3348 ZX_API_PUB.ADD_MSG(l_msg_context_info_rec);
3349 RAISE FND_API.G_EXC_ERROR;
3350 END IF;
3351 -- End : Preventive check code --
3352
3353 IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3354 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END','ZX_NEW_SERVICES_PKG: '||l_api_name||'()-');
3355 END IF;
3356
3357 EXCEPTION
3358 WHEN FND_API.G_EXC_ERROR THEN
3359 ROLLBACK TO Del_Cand_Tax_Distributions_PVT;
3360 x_return_status := FND_API.G_RET_STS_ERROR ;
3361 ZX_API_PUB.DUMP_MSG;
3362 /*---------------------------------------------------------+
3363 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3364 | in the message stack. If there is only one message in |
3365 | the stack it retrieves this message |
3366 +---------------------------------------------------------*/
3367 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3368 p_count => x_msg_count,
3369 p_data => x_msg_data
3370 );
3371
3372 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3373 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3374 END IF;
3375
3376 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3377 ROLLBACK TO Del_Cand_Tax_Distributions_PVT;
3378 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3379 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3380 FND_MSG_PUB.Add;
3381 /*---------------------------------------------------------+
3382 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3383 | in the message stack. If there is only one message in |
3384 | the stack it retrieves this message |
3385 +---------------------------------------------------------*/
3386 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3387 p_count => x_msg_count,
3388 p_data => x_msg_data
3389 );
3390
3391 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3392 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3393 END IF;
3394
3395 WHEN OTHERS THEN
3396 ROLLBACK TO Del_Cand_Tax_Distributions_PVT;
3397 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3398 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3399 FND_MSG_PUB.Add;
3400 /*---------------------------------------------------------+
3401 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3402 | in the message stack. If there is only one message in |
3403 | the stack it retrieves this message |
3404 +---------------------------------------------------------*/
3405 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3406 p_count => x_msg_count,
3407 p_data => x_msg_data
3408 );
3409 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3410 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3411 END IF;
3412
3413 END delete_tax_dists;
3414
3415 /* =======================================================================*
3416 | PROCEDURE sync_tax_dist_dff: Synchronizes DFF in ZX repository |
3417 * ========================================================================*/
3418 -- Bug 7117340 -- DFF ER
3419 PROCEDURE SYNC_TAX_DIST_DFF
3420 (p_api_version IN NUMBER,
3421 p_init_msg_list IN VARCHAR2,
3422 p_commit IN VARCHAR2,
3423 p_validation_level IN NUMBER,
3424 x_return_status OUT NOCOPY VARCHAR2,
3425 x_msg_count OUT NOCOPY NUMBER,
3426 x_msg_data OUT NOCOPY VARCHAR2,
3427 p_tax_dist_dff_tbl IN tax_dist_dff_type%TYPE
3428 ) IS
3429
3430 l_api_name CONSTANT VARCHAR2(30) := 'SYNC_TAX_DIST_DFF';
3431 l_api_version CONSTANT NUMBER := 1.0;
3432 l_event_class_rec ZX_API_PUB.event_class_rec_type;
3433 l_init_msg_list VARCHAR2(1);
3434
3435 BEGIN
3436
3437 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
3438 FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||
3439 '.BEGIN','ZX_NEW_SERVICES_PKG: '||l_api_name||'()+');
3440 END IF;
3441
3442 /*--------------------------------------------------+
3443 | Standard start of API savepoint |
3444 +--------------------------------------------------*/
3445 SAVEPOINT sync_tax_dist_dff_pvt;
3446
3447 /*--------------------------------------------------+
3448 | Standard call to check for call compatibility |
3449 +--------------------------------------------------*/
3450 IF NOT FND_API.Compatible_API_Call( l_api_version,
3451 p_api_version,
3452 l_api_name,
3453 G_PKG_NAME
3454 ) THEN
3455 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3456 END IF;
3457
3458 /*--------------------------------------------------------------+
3459 | Initialize message list if p_init_msg_list is set to TRUE |
3460 +--------------------------------------------------------------*/
3461 IF p_init_msg_list is null THEN
3462 l_init_msg_list := FND_API.G_FALSE;
3463 ELSE
3464 l_init_msg_list := p_init_msg_list;
3465 END IF;
3466
3467 IF FND_API.to_Boolean(l_init_msg_list) THEN
3468 FND_MSG_PUB.initialize;
3469 END IF;
3470
3471 /*-----------------------------------------+
3472 | Initialize return status to SUCCESS |
3473 +-----------------------------------------*/
3474 x_return_status := FND_API.G_RET_STS_SUCCESS;
3475
3476 /*-----------------------------------------+
3477 | Populate Global Variable |
3478 +-----------------------------------------*/
3479 ZX_API_PUB.G_PUB_SRVC := l_api_name;
3480 ZX_API_PUB.G_DATA_TRANSFER_MODE := 'PLS';
3481 ZX_API_PUB.G_EXTERNAL_API_CALL := 'N';
3482
3483 /*------------------------------------------------+
3484 | Update zx_rec_nrec_dist |
3485 +------------------------------------------------*/
3486 FORALL i IN NVL(p_tax_dist_dff_tbl.rec_nrec_tax_dist_id.FIRST,0)..NVL(p_tax_dist_dff_tbl.rec_nrec_tax_dist_id.LAST, -1)
3487 UPDATE zx_rec_nrec_dist
3488 SET attribute1 = p_tax_dist_dff_tbl.attribute1(i),
3489 attribute2 = p_tax_dist_dff_tbl.attribute2(i),
3490 attribute3 = p_tax_dist_dff_tbl.attribute3(i),
3491 attribute4 = p_tax_dist_dff_tbl.attribute4(i),
3492 attribute5 = p_tax_dist_dff_tbl.attribute5(i),
3493 attribute6 = p_tax_dist_dff_tbl.attribute6(i),
3494 attribute7 = p_tax_dist_dff_tbl.attribute7(i),
3495 attribute8 = p_tax_dist_dff_tbl.attribute8(i),
3496 attribute9 = p_tax_dist_dff_tbl.attribute9(i),
3497 attribute10 = p_tax_dist_dff_tbl.attribute10(i),
3498 attribute11 = p_tax_dist_dff_tbl.attribute11(i),
3499 attribute12 = p_tax_dist_dff_tbl.attribute12(i),
3500 attribute13 = p_tax_dist_dff_tbl.attribute13(i),
3501 attribute14 = p_tax_dist_dff_tbl.attribute14(i),
3502 attribute15 = p_tax_dist_dff_tbl.attribute15(i),
3503 attribute_category = p_tax_dist_dff_tbl.attribute_category(i),
3504 overridden_flag = 'D'
3505 WHERE rec_nrec_tax_dist_id = p_tax_dist_dff_tbl.rec_nrec_tax_dist_id(i);
3506
3507
3508 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
3509 FND_LOG.STRING(G_LEVEL_PROCEDURE,
3510 G_MODULE_NAME||l_api_name||'.END',
3511 'ZX_NEW_SERVICES_PKG: '||l_api_name||'()-');
3512 END IF;
3513
3514 EXCEPTION
3515 WHEN FND_API.G_EXC_ERROR THEN
3516 ROLLBACK TO sync_tax_dist_dff_pvt;
3517 x_return_status := FND_API.G_RET_STS_ERROR ;
3518 /*---------------------------------------------------------+
3519 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3520 | in the message stack. If there is only one message in |
3521 | the stack it retrieves this message |
3522 +---------------------------------------------------------*/
3523 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3524 p_count => x_msg_count,
3525 p_data => x_msg_data
3526 );
3527
3528 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3529 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3530 END IF;
3531
3532 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3533 ROLLBACK TO sync_tax_dist_dff_pvt;
3534 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3535 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3536 FND_MSG_PUB.Add;
3537 /*---------------------------------------------------------+
3538 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3539 | in the message stack. If there is only one message in |
3540 | the stack it retrieves this message |
3541 +---------------------------------------------------------*/
3542 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3543 p_count => x_msg_count,
3544 p_data => x_msg_data
3545 );
3546
3547 IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
3548 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
3549 END IF;
3550
3551 WHEN OTHERS THEN
3552 ROLLBACK TO sync_tax_dist_dff_pvt;
3553 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3554 FND_MESSAGE.SET_NAME ('ZX','ZX_UNEXPECTED_ERROR');
3555 FND_MSG_PUB.Add;
3556 /*---------------------------------------------------------+
3557 | FND_MSG_PUB.Count_And_Get used to get the count of mesg.|
3558 | in the message stack. If there is only one message in |
3559 | the stack it retrieves this message |
3560 +---------------------------------------------------------*/
3561 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
3562 p_count => x_msg_count,
3563 p_data => x_msg_data
3564 );
3565 IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3566 FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3567 END IF;
3568
3569 END SYNC_TAX_DIST_DFF;
3570 --End Bug 7117340 --DFF ER
3571
3572 END ZX_NEW_SERVICES_PKG;