DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_SRVC_TYP_PKG

Source


1 PACKAGE BODY ZX_SRVC_TYP_PKG AS
2 /* $Header: zxifsrvctypspkgb.pls 120.331.12020000.7 2013/04/23 08:20:27 ssohal ship $ */
3 /* ======================================================================*
4  | Global Data Types                                                     |
5  * ======================================================================*/
6 
7 G_PKG_NAME              CONSTANT VARCHAR2(30) := 'ZX_SRVC_TYP_PKG';
8 G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER       := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
9 G_LEVEL_UNEXPECTED      CONSTANT NUMBER       := FND_LOG.LEVEL_UNEXPECTED;
10 G_LEVEL_ERROR           CONSTANT NUMBER       := FND_LOG.LEVEL_ERROR;
11 G_LEVEL_EXCEPTION       CONSTANT NUMBER       := FND_LOG.LEVEL_EXCEPTION;
12 G_LEVEL_EVENT           CONSTANT NUMBER       := FND_LOG.LEVEL_EVENT;
13 G_LEVEL_PROCEDURE       CONSTANT NUMBER       := FND_LOG.LEVEL_PROCEDURE;
14 G_LEVEL_STATEMENT       CONSTANT NUMBER       := FND_LOG.LEVEL_STATEMENT;
15 G_MODULE_NAME           CONSTANT VARCHAR2(30) := 'ZX.PLSQL.ZX_SRVC_TYP_PKG.';
16 
17 G_LINES_PER_FETCH       CONSTANT  NUMBER:= 1000;
18 G_MAX_LINES_PER_FETCH   CONSTANT  NUMBER:= 1000000;
19 
20 
21 TYPE tax_prof_id_tbl_type is table of NUMBER index by VARCHAR2(100);
22 p_party_tax_prof_id_tbl  tax_prof_id_tbl_type;
23 p_site_tax_prof_id_tbl   tax_prof_id_tbl_type;
24 
25 TYPE l_ptnr_loc_rec_type IS RECORD(
26   EVENT_CLASS_MAPPING_ID       NUMBER_tbl_type_1,
27   TRX_ID                       NUMBER_tbl_type_1,
28   TRX_LINE_ID                  NUMBER_tbl_type_1,
29   TRX_LEVEL_TYPE               VARCHAR2_30_tbl_type,
30   SHIP_TO_GEOGRAPHY_TYPE1      VARCHAR2_240_tbl_type,
31   SHIP_TO_GEOGRAPHY_VALUE1     VARCHAR2_240_tbl_type,
32   SHIP_TO_GEOGRAPHY_TYPE2      VARCHAR2_240_tbl_type,
33   SHIP_TO_GEOGRAPHY_VALUE2     VARCHAR2_240_tbl_type,
34   SHIP_TO_GEOGRAPHY_TYPE3      VARCHAR2_240_tbl_type,
35   SHIP_TO_GEOGRAPHY_VALUE3     VARCHAR2_240_tbl_type,
36   SHIP_TO_GEOGRAPHY_TYPE4      VARCHAR2_240_tbl_type,
37   SHIP_TO_GEOGRAPHY_VALUE4     VARCHAR2_240_tbl_type,
38   SHIP_TO_GEOGRAPHY_TYPE5      VARCHAR2_240_tbl_type,
39   SHIP_TO_GEOGRAPHY_VALUE5     VARCHAR2_240_tbl_type,
40   SHIP_TO_GEOGRAPHY_TYPE6      VARCHAR2_240_tbl_type,
41   SHIP_TO_GEOGRAPHY_VALUE6     VARCHAR2_240_tbl_type,
42   SHIP_TO_GEOGRAPHY_TYPE7      VARCHAR2_240_tbl_type,
43   SHIP_TO_GEOGRAPHY_VALUE7     VARCHAR2_240_tbl_type,
44   SHIP_TO_GEOGRAPHY_TYPE8      VARCHAR2_240_tbl_type,
45   SHIP_TO_GEOGRAPHY_VALUE8     VARCHAR2_240_tbl_type,
46   SHIP_TO_GEOGRAPHY_TYPE9      VARCHAR2_240_tbl_type,
47   SHIP_TO_GEOGRAPHY_VALUE9     VARCHAR2_240_tbl_type,
48   SHIP_TO_GEOGRAPHY_TYPE10     VARCHAR2_240_tbl_type,
49   SHIP_TO_GEOGRAPHY_VALUE10    VARCHAR2_240_tbl_type,
50   SHIP_FROM_GEOGRAPHY_TYPE1    VARCHAR2_240_tbl_type,
51   SHIP_FROM_GEOGRAPHY_VALUE1   VARCHAR2_240_tbl_type,
52   SHIP_FROM_GEOGRAPHY_TYPE2    VARCHAR2_240_tbl_type,
53   SHIP_FROM_GEOGRAPHY_VALUE2   VARCHAR2_240_tbl_type,
54   SHIP_FROM_GEOGRAPHY_TYPE3    VARCHAR2_240_tbl_type,
55   SHIP_FROM_GEOGRAPHY_VALUE3   VARCHAR2_240_tbl_type,
56   SHIP_FROM_GEOGRAPHY_TYPE4    VARCHAR2_240_tbl_type,
57   SHIP_FROM_GEOGRAPHY_VALUE4   VARCHAR2_240_tbl_type,
58   SHIP_FROM_GEOGRAPHY_TYPE5    VARCHAR2_240_tbl_type,
59   SHIP_FROM_GEOGRAPHY_VALUE5   VARCHAR2_240_tbl_type,
60   SHIP_FROM_GEOGRAPHY_TYPE6    VARCHAR2_240_tbl_type,
61   SHIP_FROM_GEOGRAPHY_VALUE6   VARCHAR2_240_tbl_type,
62   SHIP_FROM_GEOGRAPHY_TYPE7    VARCHAR2_240_tbl_type,
63   SHIP_FROM_GEOGRAPHY_VALUE7   VARCHAR2_240_tbl_type,
64   SHIP_FROM_GEOGRAPHY_TYPE8    VARCHAR2_240_tbl_type,
65   SHIP_FROM_GEOGRAPHY_VALUE8   VARCHAR2_240_tbl_type,
66   SHIP_FROM_GEOGRAPHY_TYPE9    VARCHAR2_240_tbl_type,
67   SHIP_FROM_GEOGRAPHY_VALUE9   VARCHAR2_240_tbl_type,
68   SHIP_FROM_GEOGRAPHY_TYPE10   VARCHAR2_240_tbl_type,
69   SHIP_FROM_GEOGRAPHY_VALUE10  VARCHAR2_240_tbl_type,
70   POA_GEOGRAPHY_TYPE1          VARCHAR2_240_tbl_type,
71   POA_GEOGRAPHY_VALUE1         VARCHAR2_240_tbl_type,
72   POA_GEOGRAPHY_TYPE2          VARCHAR2_240_tbl_type,
73   POA_GEOGRAPHY_VALUE2         VARCHAR2_240_tbl_type,
74   POA_GEOGRAPHY_TYPE3          VARCHAR2_240_tbl_type,
75   POA_GEOGRAPHY_VALUE3         VARCHAR2_240_tbl_type,
76   POA_GEOGRAPHY_TYPE4          VARCHAR2_240_tbl_type,
77   POA_GEOGRAPHY_VALUE4         VARCHAR2_240_tbl_type,
78   POA_GEOGRAPHY_TYPE5          VARCHAR2_240_tbl_type,
79   POA_GEOGRAPHY_VALUE5         VARCHAR2_240_tbl_type,
80   POA_GEOGRAPHY_TYPE6          VARCHAR2_240_tbl_type,
81   POA_GEOGRAPHY_VALUE6         VARCHAR2_240_tbl_type,
82   POA_GEOGRAPHY_TYPE7          VARCHAR2_240_tbl_type,
83   POA_GEOGRAPHY_VALUE7         VARCHAR2_240_tbl_type,
84   POA_GEOGRAPHY_TYPE8          VARCHAR2_240_tbl_type,
85   POA_GEOGRAPHY_VALUE8         VARCHAR2_240_tbl_type,
86   POA_GEOGRAPHY_TYPE9          VARCHAR2_240_tbl_type,
87   POA_GEOGRAPHY_VALUE9         VARCHAR2_240_tbl_type,
88   POA_GEOGRAPHY_TYPE10         VARCHAR2_240_tbl_type,
89   POA_GEOGRAPHY_VALUE10        VARCHAR2_240_tbl_type,
90   POO_GEOGRAPHY_TYPE1          VARCHAR2_240_tbl_type,
91   POO_GEOGRAPHY_VALUE1         VARCHAR2_240_tbl_type,
92   POO_GEOGRAPHY_TYPE2          VARCHAR2_240_tbl_type,
93   POO_GEOGRAPHY_VALUE2         VARCHAR2_240_tbl_type,
94   POO_GEOGRAPHY_TYPE3          VARCHAR2_240_tbl_type,
95   POO_GEOGRAPHY_VALUE3         VARCHAR2_240_tbl_type,
96   POO_GEOGRAPHY_TYPE4          VARCHAR2_240_tbl_type,
97   POO_GEOGRAPHY_VALUE4         VARCHAR2_240_tbl_type,
98   POO_GEOGRAPHY_TYPE5          VARCHAR2_240_tbl_type,
99   POO_GEOGRAPHY_VALUE5         VARCHAR2_240_tbl_type,
100   POO_GEOGRAPHY_TYPE6          VARCHAR2_240_tbl_type,
101   POO_GEOGRAPHY_VALUE6         VARCHAR2_240_tbl_type,
102   POO_GEOGRAPHY_TYPE7          VARCHAR2_240_tbl_type,
103   POO_GEOGRAPHY_VALUE7         VARCHAR2_240_tbl_type,
104   POO_GEOGRAPHY_TYPE8          VARCHAR2_240_tbl_type,
105   POO_GEOGRAPHY_VALUE8         VARCHAR2_240_tbl_type,
106   POO_GEOGRAPHY_TYPE9          VARCHAR2_240_tbl_type,
107   POO_GEOGRAPHY_VALUE9         VARCHAR2_240_tbl_type,
108   POO_GEOGRAPHY_TYPE10         VARCHAR2_240_tbl_type,
109   POO_GEOGRAPHY_VALUE10        VARCHAR2_240_tbl_type,
110   BILL_TO_GEOGRAPHY_TYPE1      VARCHAR2_240_tbl_type,
111   BILL_TO_GEOGRAPHY_VALUE1     VARCHAR2_240_tbl_type,
112   BILL_TO_GEOGRAPHY_TYPE2      VARCHAR2_240_tbl_type,
113   BILL_TO_GEOGRAPHY_VALUE2     VARCHAR2_240_tbl_type,
114   BILL_TO_GEOGRAPHY_TYPE3      VARCHAR2_240_tbl_type,
115   BILL_TO_GEOGRAPHY_VALUE3     VARCHAR2_240_tbl_type,
116   BILL_TO_GEOGRAPHY_TYPE4      VARCHAR2_240_tbl_type,
117   BILL_TO_GEOGRAPHY_VALUE4     VARCHAR2_240_tbl_type,
118   BILL_TO_GEOGRAPHY_TYPE5      VARCHAR2_240_tbl_type,
119   BILL_TO_GEOGRAPHY_VALUE5     VARCHAR2_240_tbl_type,
120   BILL_TO_GEOGRAPHY_TYPE6      VARCHAR2_240_tbl_type,
121   BILL_TO_GEOGRAPHY_VALUE6     VARCHAR2_240_tbl_type,
122   BILL_TO_GEOGRAPHY_TYPE7      VARCHAR2_240_tbl_type,
123   BILL_TO_GEOGRAPHY_VALUE7     VARCHAR2_240_tbl_type,
124   BILL_TO_GEOGRAPHY_TYPE8      VARCHAR2_240_tbl_type,
125   BILL_TO_GEOGRAPHY_VALUE8     VARCHAR2_240_tbl_type,
126   BILL_TO_GEOGRAPHY_TYPE9      VARCHAR2_240_tbl_type,
127   BILL_TO_GEOGRAPHY_VALUE9     VARCHAR2_240_tbl_type,
128   BILL_TO_GEOGRAPHY_TYPE10     VARCHAR2_240_tbl_type,
129   BILL_TO_GEOGRAPHY_VALUE10    VARCHAR2_240_tbl_type,
130   BILL_FROM_GEOGRAPHY_TYPE1    VARCHAR2_240_tbl_type,
131   BILL_FROM_GEOGRAPHY_VALUE1   VARCHAR2_240_tbl_type,
132   BILL_FROM_GEOGRAPHY_TYPE2    VARCHAR2_240_tbl_type,
133   BILL_FROM_GEOGRAPHY_VALUE2   VARCHAR2_240_tbl_type,
134   BILL_FROM_GEOGRAPHY_TYPE3    VARCHAR2_240_tbl_type,
135   BILL_FROM_GEOGRAPHY_VALUE3   VARCHAR2_240_tbl_type,
136   BILL_FROM_GEOGRAPHY_TYPE4    VARCHAR2_240_tbl_type,
137   BILL_FROM_GEOGRAPHY_VALUE4   VARCHAR2_240_tbl_type,
138   BILL_FROM_GEOGRAPHY_TYPE5    VARCHAR2_240_tbl_type,
139   BILL_FROM_GEOGRAPHY_VALUE5   VARCHAR2_240_tbl_type,
140   BILL_FROM_GEOGRAPHY_TYPE6    VARCHAR2_240_tbl_type,
141   BILL_FROM_GEOGRAPHY_VALUE6   VARCHAR2_240_tbl_type,
142   BILL_FROM_GEOGRAPHY_TYPE7    VARCHAR2_240_tbl_type,
143   BILL_FROM_GEOGRAPHY_VALUE7   VARCHAR2_240_tbl_type,
144   BILL_FROM_GEOGRAPHY_TYPE8    VARCHAR2_240_tbl_type,
145   BILL_FROM_GEOGRAPHY_VALUE8   VARCHAR2_240_tbl_type,
146   BILL_FROM_GEOGRAPHY_TYPE9    VARCHAR2_240_tbl_type,
147   BILL_FROM_GEOGRAPHY_VALUE9   VARCHAR2_240_tbl_type,
148   BILL_FROM_GEOGRAPHY_TYPE10   VARCHAR2_240_tbl_type,
149   BILL_FROM_GEOGRAPHY_VALUE10  VARCHAR2_240_tbl_type,
150   SHIP_TO_PARTY_NUMBER         VARCHAR2_30_tbl_type,
151   SHIP_TO_PARTY_NAME           VARCHAR2_240_tbl_type,
152   SHIP_FROM_PARTY_NUMBER       VARCHAR2_30_tbl_type,
153   SHIP_FROM_PARTY_NAME         VARCHAR2_240_tbl_type,
154   BILL_TO_PARTY_NUMBER         VARCHAR2_30_tbl_type,
155   BILL_TO_PARTY_NAME           VARCHAR2_240_tbl_type,
156   BILL_FROM_PARTY_NUMBER       VARCHAR2_30_tbl_type,
157   BILL_FROM_PARTY_NAME         VARCHAR2_240_tbl_type
158 );
159 
160 l_ptnr_loc_tbl l_ptnr_loc_rec_type;
161 
162 TYPE l_addr_rec_type IS RECORD(
163  ADDRESS1 VARCHAR2(100),
164  ADDRESS2 VARCHAR2(100),
165  ADDRESS3 VARCHAR2(100),
166  ADDRESS4 VARCHAR2(100)
167 );
168 
169 TYPE l_ptnr_addr_tbl_type IS TABLE OF l_addr_rec_type INDEX BY VARCHAR2(100);
170 l_ptnr_addr_tbl  l_ptnr_addr_tbl_type;
171 
172 -- Commneting the following code for Bug 13972505
173 -- caching for the bug #6721441 --
174 -- TYPE l_trx_id_rec_type IS RECORD(
175 --     event_class_map_id NUMBER,
176 --     trx_id             NUMBER,
177 --     trx_line_id        NUMBER,
178 --    trx_level_type     VARCHAR2(100)
179 -- );
180 
181 -- TYPE l_trx_id_tbl_type IS TABLE OF l_trx_id_rec_type INDEX BY VARCHAR2(100);
182 -- l_trx_id_tbl l_trx_id_tbl_type;
183 
184 -- End caching for the bug #6721441 --
185 
186 -- Bug 7519403 - Added the following in the spec
187 /*
188 TYPE l_line_level_rec_type IS RECORD(
189      trx_id                     NUMBER
190 );
191 
192 TYPE l_line_level_tbl_type IS TABLE OF l_line_level_rec_type INDEX BY BINARY_INTEGER;
193 l_line_level_tbl l_line_level_tbl_type;
194 */
195 
196 TYPE l_party_rec_type is RECORD(
197  party_name   VARCHAR2(240),
198  party_number VARCHAR2(30)
199 );
200 TYPE l_party_tbl_type is TABLE OF l_party_rec_type index by VARCHAR2(100);
201 party_id_tbl    l_party_tbl_type;
202 
203 -- Caching for Establishment Id Added for Bug8688391
204 TYPE l_estb_for_entity_rec_type is RECORD(
205  legal_entity_id   NUMBER,
206  establishment_id  NUMBER
207 );
208 TYPE l_estb_for_entity_tbl_type is TABLE OF l_estb_for_entity_rec_type index by BINARY_INTEGER;
209 l_main_estb_for_entity_tbl    l_estb_for_entity_tbl_type;
210 
211 -- Moved the variable declarition to default_tax_attrs_wrapper() procedure Bug 8859101
212 
213 --l_default_taxation_country  VARCHAR2(2);
214 --l_doc_sub_type              VARCHAR2(240);
215 
216 --Bug 8541137
217 --l_tax_invoice_date ZX_LINES_DET_FACTORS.TAX_INVOICE_DATE%TYPE;
218 
219 --Bug 8859101 ends
220 
221 /* Bug 5013598 */
222 
223 TYPE l_poo_info_rec_type is RECORD(
224  poo_party_id    NUMBER,
225  poo_location_id NUMBER
226 );
227 TYPE l_poo_info_tbl_type is TABLE OF l_poo_info_rec_type index by VARCHAR2(300);
228 poo_info_tbl    l_poo_info_tbl_type;
229 
230 /* The composite key of the table poo_info_tbl consists of following columns.
231  source_name     VARCHAR2(08),        -- Source could be 'SALESREP' or 'RESOURCE'
232  source_id       NUMBER,              -- Source id salesrep_id ('SALESREP') or resource_id ('RESOURCE')
233  trx_date        DATE,
234 */
235 /* Bug 5013598 */
236 
237 
238 /* Cursor for GTT version of calculate tax*/
239   Cursor lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) is
240   SELECT  /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1 */
241           header.INTERNAL_ORGANIZATION_ID           ,
242           header.APPLICATION_ID                     ,
243           header.ENTITY_CODE                        ,
244           header.EVENT_CLASS_CODE                   ,
245           header.EVENT_TYPE_CODE                    ,
246           header.TRX_ID                             ,
247           trxlines.TRX_LEVEL_TYPE                   ,
248           trxlines.TRX_LINE_ID                      ,
249           trxlines.LINE_LEVEL_ACTION                ,
250           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE),  --Bugfix 4938879
251           header.TRX_DATE                           ,
252           header.TRX_DOC_REVISION                   ,
253           header.LEDGER_ID                          ,
254           header.TRX_CURRENCY_CODE                  ,
255           header.CURRENCY_CONVERSION_DATE           ,
256           header.CURRENCY_CONVERSION_RATE           ,
257           header.CURRENCY_CONVERSION_TYPE           ,
258           header.MINIMUM_ACCOUNTABLE_UNIT           ,
259           header.PRECISION                          ,
260           trxlines.TRX_LINE_CURRENCY_CODE           ,
261           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
262           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
263           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
264           trxlines.TRX_LINE_MAU                     ,
265           trxlines.TRX_LINE_PRECISION               ,
266           trxlines.TRX_SHIPPING_DATE                ,
267           trxlines.TRX_RECEIPT_DATE                 ,
268           header.LEGAL_ENTITY_ID                    ,
269           header.ROUNDING_SHIP_TO_PARTY_ID          ,
270           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
271           header.ROUNDING_BILL_TO_PARTY_ID          ,
272           header.ROUNDING_BILL_FROM_PARTY_ID        ,
273           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
274           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
275           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
276           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
277           header.ESTABLISHMENT_ID                   ,
278           trxlines.TRX_LINE_TYPE                    ,
279           trxlines.TRX_LINE_DATE                    ,
280           trxlines.TRX_BUSINESS_CATEGORY            ,
281           trxlines.LINE_INTENDED_USE                ,
282           trxlines.USER_DEFINED_FISC_CLASS          ,
283           trxlines.LINE_AMT                         ,
284           trxlines.TRX_LINE_QUANTITY                ,
285           trxlines.UNIT_PRICE                       ,
286           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
287           trxlines.EXEMPT_REASON                    ,
288           trxlines.CASH_DISCOUNT                    ,
289           trxlines.VOLUME_DISCOUNT                  ,
290           trxlines.TRADING_DISCOUNT                 ,
291           trxlines.TRANSFER_CHARGE                  ,
292           trxlines.TRANSPORTATION_CHARGE            ,
293           trxlines.INSURANCE_CHARGE                 ,
294           trxlines.OTHER_CHARGE                     ,
295           trxlines.PRODUCT_ID                       ,
296           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
297           trxlines.PRODUCT_ORG_ID                   ,
298           trxlines.UOM_CODE                         ,
299           trxlines.PRODUCT_TYPE                     ,
300           trxlines.PRODUCT_CODE                     ,
301           trxlines.PRODUCT_CATEGORY                 ,
302           trxlines.TRX_SIC_CODE                     ,
303           trxlines.FOB_POINT                        ,
304           trxlines.SHIP_TO_PARTY_ID                 ,
305           trxlines.SHIP_FROM_PARTY_ID               ,
306           trxlines.POA_PARTY_ID                     ,
307           trxlines.POO_PARTY_ID                     ,
308           trxlines.BILL_TO_PARTY_ID                 ,
309           trxlines.BILL_FROM_PARTY_ID               ,
310           trxlines.MERCHANT_PARTY_ID                ,
311           trxlines.SHIP_TO_PARTY_SITE_ID            ,
312           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
313           trxlines.POA_PARTY_SITE_ID                ,
314           trxlines.POO_PARTY_SITE_ID                ,
315           trxlines.BILL_TO_PARTY_SITE_ID            ,
316           trxlines.BILL_FROM_PARTY_SITE_ID          ,
317           trxlines.SHIP_TO_LOCATION_ID              ,
318           trxlines.SHIP_FROM_LOCATION_ID            ,
319           trxlines.POA_LOCATION_ID                  ,
320           trxlines.POO_LOCATION_ID                  ,
321           trxlines.BILL_TO_LOCATION_ID              ,
322           trxlines.BILL_FROM_LOCATION_ID            ,
323           trxlines.ACCOUNT_CCID                     ,
324           trxlines.ACCOUNT_STRING                   ,
325           trxlines.MERCHANT_PARTY_COUNTRY           ,
326           header.RECEIVABLES_TRX_TYPE_ID            ,
327           trxlines.REF_DOC_APPLICATION_ID           ,
328           trxlines.REF_DOC_ENTITY_CODE              ,
329           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
330           trxlines.REF_DOC_TRX_ID                   ,
331           trxlines.REF_DOC_LINE_ID                  ,
332           trxlines.REF_DOC_LINE_QUANTITY            ,
333           header.RELATED_DOC_APPLICATION_ID         ,
334           header.RELATED_DOC_ENTITY_CODE            ,
335           header.RELATED_DOC_EVENT_CLASS_CODE       ,
336           header.RELATED_DOC_TRX_ID                 ,
337           header.RELATED_DOC_NUMBER                 ,
338           header.RELATED_DOC_DATE                   ,
339           trxlines.APPLIED_FROM_APPLICATION_ID      ,
340           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
341           trxlines.APPLIED_FROM_ENTITY_CODE         ,
342           trxlines.APPLIED_FROM_TRX_ID              ,
343           trxlines.APPLIED_FROM_LINE_ID             ,
344           trxlines.APPLIED_FROM_TRX_NUMBER          ,
345           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
346           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
347           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
348           trxlines.ADJUSTED_DOC_TRX_ID              ,
349           trxlines.ADJUSTED_DOC_LINE_ID             ,
350           trxlines.ADJUSTED_DOC_NUMBER              ,
351           trxlines.ADJUSTED_DOC_DATE                ,
352           trxlines.APPLIED_TO_APPLICATION_ID        ,
353           trxlines.APPLIED_TO_ENTITY_CODE           ,
354           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
355           trxlines.APPLIED_TO_TRX_ID                ,
356           trxlines.APPLIED_TO_TRX_LINE_ID           ,
357           trxlines.TRX_ID_LEVEL2                    ,
358           trxlines.TRX_ID_LEVEL3                    ,
359           trxlines.TRX_ID_LEVEL4                    ,
360           trxlines.TRX_ID_LEVEL5                    ,
361           trxlines.TRX_ID_LEVEL6                    ,
362           header.TRX_NUMBER                         ,
363           header.TRX_DESCRIPTION                    ,
364           trxlines.TRX_LINE_NUMBER                  ,
365           trxlines.TRX_LINE_DESCRIPTION             ,
366           trxlines.PRODUCT_DESCRIPTION              ,
367           trxlines.TRX_WAYBILL_NUMBER               ,
368           header.TRX_COMMUNICATED_DATE              ,
369           trxlines.TRX_LINE_GL_DATE                 ,
370           header.BATCH_SOURCE_ID                    ,
371           header.BATCH_SOURCE_NAME                  ,
372           header.DOC_SEQ_ID                         ,
373           header.DOC_SEQ_NAME                       ,
374           header.DOC_SEQ_VALUE                      ,
375           header.TRX_DUE_DATE                       ,
376           header.TRX_TYPE_DESCRIPTION               ,
377           trxlines.MERCHANT_PARTY_NAME              ,
378           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
379           trxlines.MERCHANT_PARTY_REFERENCE         ,
380           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
381           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
382           trxlines.PAYING_PARTY_ID                  ,
383           trxlines.OWN_HQ_PARTY_ID                  ,
384           trxlines.TRADING_HQ_PARTY_ID              ,
385           trxlines.POI_PARTY_ID                     ,
386           trxlines.POD_PARTY_ID                     ,
387           trxlines.TITLE_TRANSFER_PARTY_ID          ,
388           trxlines.PAYING_PARTY_SITE_ID             ,
389           trxlines.OWN_HQ_PARTY_SITE_ID             ,
390           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
391           trxlines.POI_PARTY_SITE_ID                ,
392           trxlines.POD_PARTY_SITE_ID                ,
393           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
394           trxlines.PAYING_LOCATION_ID               ,
395           trxlines.OWN_HQ_LOCATION_ID               ,
396           trxlines.TRADING_HQ_LOCATION_ID           ,
397           trxlines.POC_LOCATION_ID                  ,
398           trxlines.POI_LOCATION_ID                  ,
399           trxlines.POD_LOCATION_ID                  ,
400           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
401           trxlines.ASSESSABLE_VALUE                 ,
402           trxlines.ASSET_FLAG                       ,
403           trxlines.ASSET_NUMBER                     ,
404           trxlines.ASSET_ACCUM_DEPRECIATION         ,
405           trxlines.ASSET_TYPE                       ,
406           trxlines.ASSET_COST                       ,
407           trxlines.NUMERIC1                         ,
408           trxlines.NUMERIC2                         ,
409           trxlines.NUMERIC3                         ,
410           trxlines.NUMERIC4                         ,
411           trxlines.NUMERIC5                         ,
412           trxlines.NUMERIC6                         ,
413           trxlines.NUMERIC7                         ,
414           trxlines.NUMERIC8                         ,
415           trxlines.NUMERIC9                         ,
416           trxlines.NUMERIC10                        ,
417           trxlines.CHAR1                            ,
418           trxlines.CHAR2                            ,
419           trxlines.CHAR3                            ,
420           trxlines.CHAR4                            ,
421           trxlines.CHAR5                            ,
422           trxlines.CHAR6                            ,
423           trxlines.CHAR7                            ,
424           trxlines.CHAR8                            ,
425           trxlines.CHAR9                            ,
426           trxlines.CHAR10                           ,
427           trxlines.DATE1                            ,
428           trxlines.DATE2                            ,
429           trxlines.DATE3                            ,
430           trxlines.DATE4                            ,
431           trxlines.DATE5                            ,
432           trxlines.DATE6                            ,
433           trxlines.DATE7                            ,
434           trxlines.DATE8                            ,
435           trxlines.DATE9                            ,
436           trxlines.DATE10                           ,
437           header.FIRST_PTY_ORG_ID                   ,
438           header.TAX_EVENT_CLASS_CODE               ,
439           header.TAX_EVENT_TYPE_CODE                ,
440           header.DOC_EVENT_STATUS                   ,
441           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
442           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
443           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
444           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
445           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
446           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
447           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
448           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
449           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
450           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
451           trxlines.POA_PARTY_TAX_PROF_ID            ,
452           trxlines.POO_PARTY_TAX_PROF_ID            ,
453           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
454           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
455           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
456           trxlines.POI_PARTY_TAX_PROF_ID            ,
457           trxlines.POD_PARTY_TAX_PROF_ID            ,
458           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
459           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
460           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
461           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
462           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
463           trxlines.POA_SITE_TAX_PROF_ID             ,
464           trxlines.POO_SITE_TAX_PROF_ID             ,
465           trxlines.PAYING_SITE_TAX_PROF_ID          ,
466           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
467           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
468           trxlines.POI_SITE_TAX_PROF_ID             ,
469           trxlines.POD_SITE_TAX_PROF_ID             ,
470           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
471           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
472           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
473           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
474           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
475           header.DOCUMENT_SUB_TYPE                  ,
476           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
477           header.SUPPLIER_TAX_INVOICE_DATE          ,
478           header.SUPPLIER_EXCHANGE_RATE             ,
479           header.TAX_INVOICE_DATE                   ,
480           header.TAX_INVOICE_NUMBER                 ,
481           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
482           header.QUOTE_FLAG                         ,
483           header.DEFAULT_TAXATION_COUNTRY           ,
484           trxlines.HISTORICAL_FLAG                  ,
485           header.INTERNAL_ORG_LOCATION_ID           ,
486           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
487           header.CTRL_TOTAL_HDR_TX_AMT              ,
488           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
489           null DIST_LEVEL_ACTION                    ,
490           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
491           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
492           to_number(null) TASK_ID                   ,
493           to_number(null) AWARD_ID                  ,
494           to_number(null) PROJECT_ID                ,
495           null EXPENDITURE_TYPE                     ,
496           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
497           null EXPENDITURE_ITEM_DATE                ,
498           to_number(null) TRX_LINE_DIST_AMT         ,
499           to_number(null) TRX_LINE_DIST_QUANTITY    ,
500           to_number(null) REF_DOC_CURR_CONV_RATE    ,
501           to_number(null) ITEM_DIST_NUMBER          ,
502           to_number(null) REF_DOC_DIST_ID           ,
503           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
504           to_number(null) TRX_LINE_DIST_ID          ,
505           to_number(null) APPLIED_FROM_DIST_ID      ,
506           to_number(null) ADJUSTED_DOC_DIST_ID      ,
507           to_number(null) OVERRIDING_RECOVERY_RATE  ,
508           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
509           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
510           header.PORT_OF_ENTRY_CODE                 ,
511           header.TAX_REPORTING_FLAG                 ,
512           null TAX_AMT_INCLUDED_FLAG                ,
513           null COMPOUNDING_TAX_FLAG                 ,
514           header.SHIP_THIRD_PTY_ACCT_ID             ,
515           header.BILL_THIRD_PTY_ACCT_ID             ,
516           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
517           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
518           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
519           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
520           header.PROVNL_TAX_DETERMINATION_DATE      ,
521           trxlines.START_EXPENSE_DATE               ,
522           header.TRX_BATCH_ID                       ,
523           header.APPLIED_TO_TRX_NUMBER              ,
524           trxlines.SOURCE_APPLICATION_ID            ,
525           trxlines.SOURCE_ENTITY_CODE               ,
526           trxlines.SOURCE_EVENT_CLASS_CODE          ,
527           trxlines.SOURCE_TRX_ID                    ,
528           trxlines.SOURCE_LINE_ID                   ,
529           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
530           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
531           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
532           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
533           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
534           header.APPLICATION_DOC_STATUS             ,
535           header.HDR_TRX_USER_KEY1                  ,
536           header.HDR_TRX_USER_KEY2                  ,
537           header.HDR_TRX_USER_KEY3                  ,
538           header.HDR_TRX_USER_KEY4                  ,
539           header.HDR_TRX_USER_KEY5                  ,
540           header.HDR_TRX_USER_KEY6                  ,
541           trxlines.LINE_TRX_USER_KEY1               ,
542           trxlines.LINE_TRX_USER_KEY2               ,
543           trxlines.LINE_TRX_USER_KEY3               ,
544           trxlines.LINE_TRX_USER_KEY4               ,
545           trxlines.LINE_TRX_USER_KEY5               ,
546           trxlines.LINE_TRX_USER_KEY6               ,
547           trxlines.SOURCE_TAX_LINE_ID               ,
548           trxlines.EXEMPTION_CONTROL_FLAG           ,
549           to_number(null) REVERSED_APPLN_ID         ,
550           null REVERSED_ENTITY_CODE                 ,
551           null REVERSED_EVNT_CLS_CODE               ,
552           to_number(null) REVERSED_TRX_ID           ,
553           null REVERSED_TRX_LEVEL_TYPE              ,
554           to_number(null) REVERSED_TRX_LINE_ID      ,
555           trxlines.EXEMPT_REASON_CODE               ,
556           trxlines.INTERFACE_ENTITY_CODE            ,
557           trxlines.INTERFACE_LINE_ID                ,
558           trxlines.DEFAULTING_ATTRIBUTE1            ,
559           trxlines.DEFAULTING_ATTRIBUTE2            ,
560           trxlines.DEFAULTING_ATTRIBUTE3            ,
561           trxlines.DEFAULTING_ATTRIBUTE4            ,
562           trxlines.DEFAULTING_ATTRIBUTE5            ,
563           trxlines.DEFAULTING_ATTRIBUTE6            ,
564           trxlines.DEFAULTING_ATTRIBUTE7            ,
565           trxlines.DEFAULTING_ATTRIBUTE8            ,
566           trxlines.DEFAULTING_ATTRIBUTE9            ,
567           trxlines.DEFAULTING_ATTRIBUTE10           ,
568           trxlines.HISTORICAL_TAX_CODE_ID           ,
569           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
570           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
571           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
572           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
573           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
574           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
575           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
576           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
577           trxlines.GLOBAL_ATTRIBUTE1,
578           to_number(null) TOTAL_INC_TAX_AMT     ,
579           trxlines.USER_UPD_DET_FACTORS_FLAG,
580           decode(p_event_class_rec.tax_event_type_code,'UPDATE',
581              decode(trxlines.line_level_action,'CREATE','I',
582                                                'CREATE_TAX_ONLY','I',
583                                                'APPLY_FROM','I',
584                                                'UNAPPLY_FROM','U',
585                                                'LINE_INFO_TAX_ONLY','I',
586                                                'CREATE_WITH_TAX','I',
587                                                'ALLOCATE_TAX_ONLY_ADJUSTMENT','I',
588                                                'COPY_AND_CREATE','I',
589                                                'RECORD_WITH_NO_TAX','I',
590                                                'NO_CHANGE','U',
591                                                'UPDATE','U',
592                                                'DISCARD','U',
593                                                'CANCEL','U',
594                                                'SYNCHRONIZE','U',
595                                                'DELETE','U') ,
596 	 	    null)INSERT_UPDATE_FLAG
597       /* The update insert flag is to determine the records that need to be inserted/updated
598 	  into zx_lines_det_factors depending on the line_level_action for tax event type UPDATE*/
599       FROM ZX_TRANSACTION_LINES_GT trxlines,
600            ZX_TRX_HEADERS_GT header
601       WHERE header.application_id = p_event_class_rec.application_id
602         AND header.entity_code = p_event_class_rec.entity_code
603         AND header.event_class_code = p_event_class_rec.event_class_code
604         AND header.trx_id = p_event_class_rec.trx_id
605         AND trxlines.application_id = header.application_id
606         AND trxlines.entity_code = header.entity_code
607         AND trxlines.event_class_code = header.event_class_code
608         AND trxlines.trx_id = header.trx_id
609 	  ORDER BY insert_update_flag desc;
610 	  /*ordering by insert_update_flag will fetch all the records to be updated first
611 	  into collection followed by the records to be inserted*/
612 
613 -- bug fix 5417887 begin
614 /* Cursor for GTT version of calculate tax as well as import_document_with_tax AI */
615   Cursor c_lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) is
616   SELECT  /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1) */
617           header.INTERNAL_ORGANIZATION_ID           ,
618           header.APPLICATION_ID                     ,
619           header.ENTITY_CODE                        ,
620           header.EVENT_CLASS_CODE                   ,
621           header.EVENT_TYPE_CODE                    ,
622           header.TRX_ID                             ,
623           trxlines.TRX_LEVEL_TYPE                   ,
624           trxlines.TRX_LINE_ID                      ,
625           trxlines.LINE_LEVEL_ACTION                ,
626           decode(trxlines.source_event_class_code,'INTERCOMPANY_TRX',
627                  trxlines.LINE_CLASS,
628                  nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE)), ----Bugfix 4938879
629           header.TRX_DATE                           ,
630           header.TRX_DOC_REVISION                   ,
631           header.LEDGER_ID                          ,
632           header.TRX_CURRENCY_CODE                  ,
633           header.CURRENCY_CONVERSION_DATE           ,
634           header.CURRENCY_CONVERSION_RATE           ,
635           header.CURRENCY_CONVERSION_TYPE           ,
636           header.MINIMUM_ACCOUNTABLE_UNIT           ,
637           header.PRECISION                          ,
638           trxlines.TRX_LINE_CURRENCY_CODE           ,
639           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
640           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
641           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
642           trxlines.TRX_LINE_MAU                     ,
643           trxlines.TRX_LINE_PRECISION               ,
644           trxlines.TRX_SHIPPING_DATE                ,
645           trxlines.TRX_RECEIPT_DATE                 ,
646           header.LEGAL_ENTITY_ID                    ,
647           header.ROUNDING_SHIP_TO_PARTY_ID          ,
648           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
649           header.ROUNDING_BILL_TO_PARTY_ID          ,
650           header.ROUNDING_BILL_FROM_PARTY_ID        ,
651           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
652           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
653           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
654           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
655           header.ESTABLISHMENT_ID                   ,
656           trxlines.TRX_LINE_TYPE                    ,
657           trxlines.TRX_LINE_DATE                    ,
658           trxlines.TRX_BUSINESS_CATEGORY            ,
659           trxlines.LINE_INTENDED_USE                ,
660           trxlines.USER_DEFINED_FISC_CLASS          ,
661           trxlines.LINE_AMT                         ,
662           trxlines.TRX_LINE_QUANTITY                ,
663           trxlines.UNIT_PRICE                       ,
664           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
665           trxlines.EXEMPT_REASON                    ,
666           trxlines.CASH_DISCOUNT                    ,
667           trxlines.VOLUME_DISCOUNT                  ,
668           trxlines.TRADING_DISCOUNT                 ,
669           trxlines.TRANSFER_CHARGE                  ,
670           trxlines.TRANSPORTATION_CHARGE            ,
671           trxlines.INSURANCE_CHARGE                 ,
672           trxlines.OTHER_CHARGE                     ,
673           trxlines.PRODUCT_ID                       ,
674           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
675           trxlines.PRODUCT_ORG_ID                   ,
676           trxlines.UOM_CODE                         ,
677           trxlines.PRODUCT_TYPE                     ,
678           trxlines.PRODUCT_CODE                     ,
679           trxlines.PRODUCT_CATEGORY                 ,
680           trxlines.TRX_SIC_CODE                     ,
681           trxlines.FOB_POINT                        ,
682           trxlines.SHIP_TO_PARTY_ID                 ,
683           trxlines.SHIP_FROM_PARTY_ID               ,
684           trxlines.POA_PARTY_ID                     ,
685           trxlines.POO_PARTY_ID                     ,
686           trxlines.BILL_TO_PARTY_ID                 ,
687           trxlines.BILL_FROM_PARTY_ID               ,
688           trxlines.MERCHANT_PARTY_ID                ,
689           trxlines.SHIP_TO_PARTY_SITE_ID            ,
690           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
691           trxlines.POA_PARTY_SITE_ID                ,
692           trxlines.POO_PARTY_SITE_ID                ,
693           trxlines.BILL_TO_PARTY_SITE_ID            ,
694           trxlines.BILL_FROM_PARTY_SITE_ID          ,
695           trxlines.SHIP_TO_LOCATION_ID              ,
696           trxlines.SHIP_FROM_LOCATION_ID            ,
697           trxlines.POA_LOCATION_ID                  ,
698           trxlines.POO_LOCATION_ID                  ,
699           trxlines.BILL_TO_LOCATION_ID              ,
700           trxlines.BILL_FROM_LOCATION_ID            ,
701           trxlines.ACCOUNT_CCID                     ,
702           trxlines.ACCOUNT_STRING                   ,
703           trxlines.MERCHANT_PARTY_COUNTRY           ,
704           header.RECEIVABLES_TRX_TYPE_ID            ,
705           trxlines.REF_DOC_APPLICATION_ID           ,
706           trxlines.REF_DOC_ENTITY_CODE              ,
707           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
708           trxlines.REF_DOC_TRX_ID                   ,
709           trxlines.REF_DOC_LINE_ID                  ,
710           trxlines.REF_DOC_LINE_QUANTITY            ,
711           header.RELATED_DOC_APPLICATION_ID         ,
712           header.RELATED_DOC_ENTITY_CODE            ,
713           header.RELATED_DOC_EVENT_CLASS_CODE       ,
714           header.RELATED_DOC_TRX_ID                 ,
715           header.RELATED_DOC_NUMBER                 ,
716           header.RELATED_DOC_DATE                   ,
717           trxlines.APPLIED_FROM_APPLICATION_ID      ,
718           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
719           trxlines.APPLIED_FROM_ENTITY_CODE         ,
720           trxlines.APPLIED_FROM_TRX_ID              ,
721           trxlines.APPLIED_FROM_LINE_ID             ,
722           trxlines.APPLIED_FROM_TRX_NUMBER          ,
723           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
724           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
725           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
726           trxlines.ADJUSTED_DOC_TRX_ID              ,
727           trxlines.ADJUSTED_DOC_LINE_ID             ,
728           trxlines.ADJUSTED_DOC_NUMBER              ,
729           trxlines.ADJUSTED_DOC_DATE                ,
730           trxlines.APPLIED_TO_APPLICATION_ID        ,
731           trxlines.APPLIED_TO_ENTITY_CODE           ,
732           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
733           trxlines.APPLIED_TO_TRX_ID                ,
734           trxlines.APPLIED_TO_TRX_LINE_ID           ,
735           trxlines.TRX_ID_LEVEL2                    ,
736           trxlines.TRX_ID_LEVEL3                    ,
737           trxlines.TRX_ID_LEVEL4                    ,
738           trxlines.TRX_ID_LEVEL5                    ,
739           trxlines.TRX_ID_LEVEL6                    ,
740           header.TRX_NUMBER                         ,
741           header.TRX_DESCRIPTION                    ,
742           trxlines.TRX_LINE_NUMBER                  ,
743           trxlines.TRX_LINE_DESCRIPTION             ,
744           trxlines.PRODUCT_DESCRIPTION              ,
745           trxlines.TRX_WAYBILL_NUMBER               ,
746           header.TRX_COMMUNICATED_DATE              ,
747           trxlines.TRX_LINE_GL_DATE                 ,
748           header.BATCH_SOURCE_ID                    ,
749           header.BATCH_SOURCE_NAME                  ,
750           header.DOC_SEQ_ID                         ,
751           header.DOC_SEQ_NAME                       ,
752           header.DOC_SEQ_VALUE                      ,
753           header.TRX_DUE_DATE                       ,
754           header.TRX_TYPE_DESCRIPTION               ,
755           trxlines.MERCHANT_PARTY_NAME              ,
756           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
757           trxlines.MERCHANT_PARTY_REFERENCE         ,
758           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
759           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
760           trxlines.PAYING_PARTY_ID                  ,
761           trxlines.OWN_HQ_PARTY_ID                  ,
762           trxlines.TRADING_HQ_PARTY_ID              ,
763           trxlines.POI_PARTY_ID                     ,
764           trxlines.POD_PARTY_ID                     ,
765           trxlines.TITLE_TRANSFER_PARTY_ID          ,
766           trxlines.PAYING_PARTY_SITE_ID             ,
767           trxlines.OWN_HQ_PARTY_SITE_ID             ,
768           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
769           trxlines.POI_PARTY_SITE_ID                ,
770           trxlines.POD_PARTY_SITE_ID                ,
771           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
772           trxlines.PAYING_LOCATION_ID               ,
773           trxlines.OWN_HQ_LOCATION_ID               ,
774           trxlines.TRADING_HQ_LOCATION_ID           ,
775           trxlines.POC_LOCATION_ID                  ,
776           trxlines.POI_LOCATION_ID                  ,
777           trxlines.POD_LOCATION_ID                  ,
778           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
779           trxlines.ASSESSABLE_VALUE                 ,
780           trxlines.ASSET_FLAG                       ,
781           trxlines.ASSET_NUMBER                     ,
782           trxlines.ASSET_ACCUM_DEPRECIATION         ,
783           trxlines.ASSET_TYPE                       ,
784           trxlines.ASSET_COST                       ,
785           trxlines.NUMERIC1                         ,
786           trxlines.NUMERIC2                         ,
787           trxlines.NUMERIC3                         ,
788           trxlines.NUMERIC4                         ,
789           trxlines.NUMERIC5                         ,
790           trxlines.NUMERIC6                         ,
791           trxlines.NUMERIC7                         ,
792           trxlines.NUMERIC8                         ,
793           trxlines.NUMERIC9                         ,
794           trxlines.NUMERIC10                        ,
795           trxlines.CHAR1                            ,
796           trxlines.CHAR2                            ,
797           trxlines.CHAR3                            ,
798           trxlines.CHAR4                            ,
799           trxlines.CHAR5                            ,
800           trxlines.CHAR6                            ,
801           trxlines.CHAR7                            ,
802           trxlines.CHAR8                            ,
803           trxlines.CHAR9                            ,
804           trxlines.CHAR10                           ,
805           trxlines.DATE1                            ,
806           trxlines.DATE2                            ,
807           trxlines.DATE3                            ,
808           trxlines.DATE4                            ,
809           trxlines.DATE5                            ,
810           trxlines.DATE6                            ,
811           trxlines.DATE7                            ,
812           trxlines.DATE8                            ,
813           trxlines.DATE9                            ,
814           trxlines.DATE10                           ,
815           header.FIRST_PTY_ORG_ID                   ,
816           header.TAX_EVENT_CLASS_CODE               ,
817           header.TAX_EVENT_TYPE_CODE                ,
818           header.DOC_EVENT_STATUS                   ,
819           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
820           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
821           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
822           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
823           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
824           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
825           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
826           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
827           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
828           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
829           trxlines.POA_PARTY_TAX_PROF_ID            ,
830           trxlines.POO_PARTY_TAX_PROF_ID            ,
831           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
832           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
833           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
834           trxlines.POI_PARTY_TAX_PROF_ID            ,
835           trxlines.POD_PARTY_TAX_PROF_ID            ,
836           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
837           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
838           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
839           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
840           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
841           trxlines.POA_SITE_TAX_PROF_ID             ,
842           trxlines.POO_SITE_TAX_PROF_ID             ,
843           trxlines.PAYING_SITE_TAX_PROF_ID          ,
844           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
845           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
846           trxlines.POI_SITE_TAX_PROF_ID             ,
847           trxlines.POD_SITE_TAX_PROF_ID             ,
848           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
849           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
850           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
851           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
852           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
853           header.DOCUMENT_SUB_TYPE                  ,
854           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
855           header.SUPPLIER_TAX_INVOICE_DATE          ,
856           header.SUPPLIER_EXCHANGE_RATE             ,
857           header.TAX_INVOICE_DATE                   ,
858           header.TAX_INVOICE_NUMBER                 ,
859           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
860           header.QUOTE_FLAG                         ,
861           header.DEFAULT_TAXATION_COUNTRY           ,
862           trxlines.HISTORICAL_FLAG                  ,
863           header.INTERNAL_ORG_LOCATION_ID           ,
864           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
865           header.CTRL_TOTAL_HDR_TX_AMT              ,
866           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
867           null DIST_LEVEL_ACTION                    ,
868           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
869           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
870           to_number(null) TASK_ID                   ,
871           to_number(null) AWARD_ID                  ,
872           to_number(null) PROJECT_ID                ,
873           null EXPENDITURE_TYPE                     ,
874           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
875           null EXPENDITURE_ITEM_DATE                ,
876           to_number(null) TRX_LINE_DIST_AMT         ,
877           to_number(null) TRX_LINE_DIST_QUANTITY    ,
878           to_number(null) REF_DOC_CURR_CONV_RATE    ,
879           to_number(null) ITEM_DIST_NUMBER          ,
880           to_number(null) REF_DOC_DIST_ID           ,
881           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
882           to_number(null) TRX_LINE_DIST_ID          ,
883           to_number(null) APPLIED_FROM_DIST_ID      ,
884           to_number(null) ADJUSTED_DOC_DIST_ID      ,
885           to_number(null) OVERRIDING_RECOVERY_RATE  ,
886           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
887           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
888           header.PORT_OF_ENTRY_CODE                 ,
889           header.TAX_REPORTING_FLAG                 ,
890           null TAX_AMT_INCLUDED_FLAG                ,
891           null COMPOUNDING_TAX_FLAG                 ,
892           header.SHIP_THIRD_PTY_ACCT_ID             ,
893           header.BILL_THIRD_PTY_ACCT_ID             ,
894           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
895           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
896           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
897           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
898           header.PROVNL_TAX_DETERMINATION_DATE      ,
899           trxlines.START_EXPENSE_DATE               ,
900           header.TRX_BATCH_ID                       ,
901           header.APPLIED_TO_TRX_NUMBER              ,
902           trxlines.SOURCE_APPLICATION_ID            ,
903           trxlines.SOURCE_ENTITY_CODE               ,
904           trxlines.SOURCE_EVENT_CLASS_CODE          ,
905           trxlines.SOURCE_TRX_ID                    ,
906           trxlines.SOURCE_LINE_ID                   ,
907           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
908           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
909           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
910           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
911           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
912           header.APPLICATION_DOC_STATUS             ,
913           header.HDR_TRX_USER_KEY1                  ,
914           header.HDR_TRX_USER_KEY2                  ,
915           header.HDR_TRX_USER_KEY3                  ,
916           header.HDR_TRX_USER_KEY4                  ,
917           header.HDR_TRX_USER_KEY5                  ,
918           header.HDR_TRX_USER_KEY6                  ,
919           trxlines.LINE_TRX_USER_KEY1               ,
920           trxlines.LINE_TRX_USER_KEY2               ,
921           trxlines.LINE_TRX_USER_KEY3               ,
922           trxlines.LINE_TRX_USER_KEY4               ,
923           trxlines.LINE_TRX_USER_KEY5               ,
924           trxlines.LINE_TRX_USER_KEY6               ,
925           trxlines.SOURCE_TAX_LINE_ID               ,
926           trxlines.EXEMPTION_CONTROL_FLAG           ,
927           to_number(null) REVERSED_APPLN_ID         ,
928           null REVERSED_ENTITY_CODE                 ,
929           null REVERSED_EVNT_CLS_CODE               ,
930           to_number(null) REVERSED_TRX_ID           ,
931           null REVERSED_TRX_LEVEL_TYPE              ,
932           to_number(null) REVERSED_TRX_LINE_ID      ,
933           trxlines.EXEMPT_REASON_CODE               ,
934           trxlines.INTERFACE_ENTITY_CODE            ,
935           trxlines.INTERFACE_LINE_ID                ,
936           trxlines.DEFAULTING_ATTRIBUTE1            ,
937           trxlines.DEFAULTING_ATTRIBUTE2            ,
938           trxlines.DEFAULTING_ATTRIBUTE3            ,
939           trxlines.DEFAULTING_ATTRIBUTE4            ,
940           trxlines.DEFAULTING_ATTRIBUTE5            ,
941           trxlines.DEFAULTING_ATTRIBUTE6            ,
942           trxlines.DEFAULTING_ATTRIBUTE7            ,
943           trxlines.DEFAULTING_ATTRIBUTE8            ,
944           trxlines.DEFAULTING_ATTRIBUTE9            ,
945           trxlines.DEFAULTING_ATTRIBUTE10           ,
946           trxlines.HISTORICAL_TAX_CODE_ID           ,
947           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
948           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
949           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
950           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
951           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
952           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
953           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
954           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
955           trxlines.GLOBAL_ATTRIBUTE1,
956           to_number(null) TOTAL_INC_TAX_AMT     ,
957           trxlines.USER_UPD_DET_FACTORS_FLAG,
958           decode(trxlines.line_level_action,'CREATE','I',
959                                                'CREATE_TAX_ONLY','I',
960                                                'APPLY_FROM','I',
961                                                'INTERCOMPANY_CREATE','I',
962                                                'UNAPPLY_FROM','U',
963                                                'LINE_INFO_TAX_ONLY','I',
964                                                'CREATE_WITH_TAX','I',
965                                                'ALLOCATE_TAX_ONLY_ADJUSTMENT','I',
966                                                'COPY_AND_CREATE','I',
967                                                'RECORD_WITH_NO_TAX','I',
968                                                'NO_CHANGE','U',
969                                                'UPDATE','U',
970                                                'DISCARD','U',
971                                                'CANCEL','U',
972                                                'SYNCHRONIZE','U',
973                                                'DELETE','U')  INSERT_UPDATE_FLAG,
974            null TAX_PROCESSING_COMPLETED_FLAG, -- Bug 8931030
975            null TAX_CALCULATION_DONE_FLAG     -- Bug 8931030
976       /* The update insert flag is to determine the records that need to be inserted/updated
977 	  into zx_lines_det_factors depending on the line_level_action for tax event type UPDATE*/
978       FROM ZX_TRANSACTION_LINES_GT trxlines,
979            ZX_TRX_HEADERS_GT header
980       WHERE trxlines.application_id = header.application_id
981         AND trxlines.entity_code = header.entity_code
982         AND trxlines.event_class_code = header.event_class_code
983         AND trxlines.trx_id = header.trx_id
984         AND header.event_class_code = p_event_class_rec.event_class_code
985         AND header.entity_code = p_event_class_rec.entity_code
986         AND header.application_id = p_event_class_rec.application_id
987         AND NVL(header.validation_check_flag, 'Y') = 'Y'
988         AND NOT EXISTS(
989               SELECT 1
990                 FROM ZX_ERRORS_GT err
991                WHERE err.application_id = header.application_id
992                  AND err.entity_code = header.entity_code
993                  AND err.event_class_code = header.event_class_code
994                  AND err.trx_id = header.trx_id)
995    ORDER BY header.related_doc_application_id ASC NULLS FIRST ,
996             header.legal_entity_id ASC,
997             header.trx_date ASC,
998             header.trx_id ASC,
999             INSERT_UPDATE_FLAG DESC;
1000 	  /*ordering by insert_update_flag will fetch all the records to be updated first
1001 	  into collection followed by the records to be inserted
1002 	  ASSUMPTION: For multiple documents scenario, this flag will always be I */
1003 
1004 -- bug fix 5417887 end
1005 
1006  /* Cursor for override_tax*/
1007  CURSOR get_overridden_lines (p_event_id NUMBER) IS
1008    SELECT  INTERNAL_ORGANIZATION_ID,
1009            APPLICATION_ID,
1010            ENTITY_CODE,
1011            EVENT_CLASS_CODE,
1012            EVENT_TYPE_CODE,
1013            DOC_EVENT_STATUS,
1014            LINE_LEVEL_ACTION,
1015            TRX_ID,
1016            TRX_LINE_ID,
1017            TRX_LEVEL_TYPE,
1018            TRX_DATE,
1019            TRX_DOC_REVISION,
1020            LEDGER_ID,
1021            TRX_CURRENCY_CODE,
1022            CURRENCY_CONVERSION_DATE,
1023            CURRENCY_CONVERSION_RATE,
1024            CURRENCY_CONVERSION_TYPE,
1025            MINIMUM_ACCOUNTABLE_UNIT,
1026            PRECISION,
1027            TRX_LINE_CURRENCY_CODE,
1028            TRX_LINE_CURRENCY_CONV_DATE,
1029            TRX_LINE_CURRENCY_CONV_RATE,
1030            TRX_LINE_CURRENCY_CONV_TYPE,
1031            TRX_LINE_MAU,
1032            TRX_LINE_PRECISION,
1033            LEGAL_ENTITY_ID,
1034            ESTABLISHMENT_ID,
1035            RECEIVABLES_TRX_TYPE_ID,
1036            DEFAULT_TAXATION_COUNTRY,
1037            TRX_NUMBER,
1038            TRX_LINE_NUMBER,
1039            TRX_LINE_DESCRIPTION,
1040            TRX_DESCRIPTION,
1041            TRX_COMMUNICATED_DATE,
1042            BATCH_SOURCE_ID,
1043            BATCH_SOURCE_NAME,
1044            DOC_SEQ_ID,
1045            DOC_SEQ_NAME,
1046            DOC_SEQ_VALUE,
1047            TRX_DUE_DATE,
1048            TRX_TYPE_DESCRIPTION,
1049            DOCUMENT_SUB_TYPE,
1050            SUPPLIER_TAX_INVOICE_NUMBER	,
1051            SUPPLIER_TAX_INVOICE_DATE,
1052            SUPPLIER_EXCHANGE_RATE,
1053            TAX_INVOICE_DATE,
1054            TAX_INVOICE_NUMBER,
1055            FIRST_PTY_ORG_ID,
1056            TAX_EVENT_CLASS_CODE,
1057            TAX_EVENT_TYPE_CODE,
1058            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
1059            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1060            RDNG_BILL_TO_PTY_TX_PROF_ID	,
1061            RDNG_BILL_FROM_PTY_TX_PROF_ID,
1062            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
1063            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1064            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
1065            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1066            LINE_INTENDED_USE ,
1067            TRX_LINE_TYPE ,
1068            TRX_SHIPPING_DATE,
1069            TRX_RECEIPT_DATE,
1070            TRX_SIC_CODE,
1071            FOB_POINT ,
1072            TRX_WAYBILL_NUMBER,
1073            PRODUCT_ID,
1074            PRODUCT_FISC_CLASSIFICATION ,
1075            PRODUCT_ORG_ID,
1076            UOM_CODE,
1077            PRODUCT_TYPE ,
1078            PRODUCT_CODE,
1079            PRODUCT_CATEGORY ,
1080            PRODUCT_DESCRIPTION,
1081            USER_DEFINED_FISC_CLASS,
1082            LINE_AMT,
1083            TRX_LINE_QUANTITY ,
1084            UNIT_PRICE,
1085            CASH_DISCOUNT,
1086            VOLUME_DISCOUNT,
1087            TRADING_DISCOUNT,
1088            TRANSFER_CHARGE,
1089            TRANSPORTATION_CHARGE,
1090            INSURANCE_CHARGE,
1091            OTHER_CHARGE,
1092            ASSESSABLE_VALUE,
1093            ASSET_FLAG,
1094            ASSET_NUMBER,
1095            ASSET_ACCUM_DEPRECIATION,
1096            ASSET_TYPE,
1097            ASSET_COST,
1098            RELATED_DOC_APPLICATION_ID,
1099            RELATED_DOC_ENTITY_CODE,
1100            RELATED_DOC_EVENT_CLASS_CODE,
1101            RELATED_DOC_TRX_ID,
1102            RELATED_DOC_NUMBER,
1103            RELATED_DOC_DATE,
1104            APPLIED_FROM_APPLICATION_ID,
1105            APPLIED_FROM_ENTITY_CODE,
1106            APPLIED_FROM_EVENT_CLASS_CODE,
1107            APPLIED_FROM_TRX_ID,
1108            APPLIED_FROM_LINE_ID,
1109            APPLIED_FROM_TRX_NUMBER,
1110            ADJUSTED_DOC_APPLICATION_ID,
1111            ADJUSTED_DOC_ENTITY_CODE,
1112            ADJUSTED_DOC_EVENT_CLASS_CODE,
1113            ADJUSTED_DOC_TRX_ID,
1114            ADJUSTED_DOC_LINE_ID,
1115            ADJUSTED_DOC_NUMBER,
1116            ADJUSTED_DOC_DATE,
1117            APPLIED_TO_APPLICATION_ID,
1118            APPLIED_TO_ENTITY_CODE,
1119            APPLIED_TO_EVENT_CLASS_CODE,
1120            APPLIED_TO_TRX_ID ,
1121            APPLIED_TO_TRX_LINE_ID,
1122            TRX_ID_LEVEL2,
1123            TRX_ID_LEVEL3,
1124            TRX_ID_LEVEL4,
1125            TRX_ID_LEVEL5,
1126            TRX_ID_LEVEL6,
1127            TRX_BUSINESS_CATEGORY,
1128            EXEMPT_CERTIFICATE_NUMBER,
1129            EXEMPT_REASON,
1130            HISTORICAL_FLAG,
1131            TRX_LINE_GL_DATE,
1132            PROVNL_TAX_DETERMINATION_DATE,
1133            LINE_AMT_INCLUDES_TAX_FLAG,
1134            ACCOUNT_CCID,
1135            ACCOUNT_STRING,
1136            MERCHANT_PARTY_TAX_PROF_ID,
1137            HQ_ESTB_PARTY_TAX_PROF_ID,
1138            NUMERIC1,
1139            NUMERIC2,
1140            NUMERIC3,
1141            NUMERIC4,
1142            NUMERIC5,
1143            NUMERIC6,
1144            NUMERIC7,
1145            NUMERIC8,
1146            NUMERIC9,
1147            NUMERIC10,
1148            CHAR1,
1149            CHAR2,
1150            CHAR3,
1151            CHAR4,
1152            CHAR5,
1153            CHAR6,
1154            CHAR7,
1155            CHAR8,
1156            CHAR9,
1157            CHAR10,
1158            DATE1,
1159            DATE2,
1160            DATE3,
1161            DATE4,
1162            DATE5,
1163            DATE6,
1164            DATE7,
1165            DATE8,
1166            DATE9,
1167            DATE10,
1168            MERCHANT_PARTY_NAME,
1169            MERCHANT_PARTY_DOCUMENT_NUMBER,
1170            MERCHANT_PARTY_REFERENCE,
1171            MERCHANT_PARTY_TAXPAYER_ID,
1172            MERCHANT_PARTY_TAX_REG_NUMBER,
1173            MERCHANT_PARTY_ID,
1174            MERCHANT_PARTY_COUNTRY,
1175            SHIP_TO_LOCATION_ID,
1176            SHIP_FROM_LOCATION_ID,
1177            POA_LOCATION_ID,
1178            POO_LOCATION_ID,
1179            BILL_TO_LOCATION_ID,
1180            BILL_FROM_LOCATION_ID,
1181            PAYING_LOCATION_ID,
1182            OWN_HQ_LOCATION_ID,
1183            TRADING_HQ_LOCATION_ID,
1184            POC_LOCATION_ID,
1185            POI_LOCATION_ID,
1186            POD_LOCATION_ID,
1187            TITLE_TRANSFER_LOCATION_ID,
1188            SHIP_TO_PARTY_TAX_PROF_ID ,
1189            SHIP_FROM_PARTY_TAX_PROF_ID,
1190            POA_PARTY_TAX_PROF_ID,
1191            POO_PARTY_TAX_PROF_ID,
1192            PAYING_PARTY_TAX_PROF_ID,
1193            OWN_HQ_PARTY_TAX_PROF_ID,
1194            TRADING_HQ_PARTY_TAX_PROF_ID,
1195            POI_PARTY_TAX_PROF_ID,
1196            POD_PARTY_TAX_PROF_ID,
1197            BILL_TO_PARTY_TAX_PROF_ID,
1198            BILL_FROM_PARTY_TAX_PROF_ID,
1199            TITLE_TRANS_PARTY_TAX_PROF_ID,
1200            SHIP_TO_SITE_TAX_PROF_ID,
1201            SHIP_FROM_SITE_TAX_PROF_ID,
1202            POA_SITE_TAX_PROF_ID,
1203            POO_SITE_TAX_PROF_ID,
1204            PAYING_SITE_TAX_PROF_ID,
1205            OWN_HQ_SITE_TAX_PROF_ID,
1206            TRADING_HQ_SITE_TAX_PROF_ID,
1207            POI_SITE_TAX_PROF_ID,
1208            POD_SITE_TAX_PROF_ID,
1209            BILL_TO_SITE_TAX_PROF_ID,
1210            BILL_FROM_SITE_TAX_PROF_ID,
1211            TITLE_TRANS_SITE_TAX_PROF_ID,
1212            CTRL_HDR_TX_APPL_FLAG,
1213            CTRL_TOTAL_LINE_TX_AMT,
1214            CTRL_TOTAL_HDR_TX_AMT,
1215            REF_DOC_APPLICATION_ID,
1216            REF_DOC_ENTITY_CODE,
1217            REF_DOC_EVENT_CLASS_CODE,
1218            REF_DOC_TRX_ID,
1219            REF_DOC_LINE_ID,
1220            REF_DOC_LINE_QUANTITY,
1221            LINE_CLASS,
1222            TRX_LINE_DATE,
1223            INPUT_TAX_CLASSIFICATION_CODE,
1224            OUTPUT_TAX_CLASSIFICATION_CODE,
1225            INTERNAL_ORG_LOCATION_ID,
1226            PORT_OF_ENTRY_CODE,
1227            TAX_REPORTING_FLAG,
1228            TAX_AMT_INCLUDED_FLAG,
1229            COMPOUNDING_TAX_FLAG,
1230            SHIP_THIRD_PTY_ACCT_ID,
1231            BILL_THIRD_PTY_ACCT_ID,
1232            SHIP_THIRD_PTY_ACCT_SITE_ID,
1233            BILL_THIRD_PTY_ACCT_SITE_ID,
1234            SHIP_TO_CUST_ACCT_SITE_USE_ID,
1235            BILL_TO_CUST_ACCT_SITE_USE_ID,
1236            START_EXPENSE_DATE,
1237            TRX_BATCH_ID,
1238            APPLIED_TO_TRX_NUMBER,
1239            SOURCE_APPLICATION_ID,
1240            SOURCE_ENTITY_CODE,
1241            SOURCE_EVENT_CLASS_CODE,
1242            SOURCE_TRX_ID,
1243            SOURCE_LINE_ID,
1244            SOURCE_TRX_LEVEL_TYPE,
1245            REF_DOC_TRX_LEVEL_TYPE,
1246            APPLIED_TO_TRX_LEVEL_TYPE,
1247            APPLIED_FROM_TRX_LEVEL_TYPE,
1248            ADJUSTED_DOC_TRX_LEVEL_TYPE,
1249            APPLICATION_DOC_STATUS,
1250            HDR_TRX_USER_KEY1,
1251            HDR_TRX_USER_KEY2,
1252            HDR_TRX_USER_KEY3,
1253            HDR_TRX_USER_KEY4,
1254            HDR_TRX_USER_KEY5,
1255            HDR_TRX_USER_KEY6,
1256            LINE_TRX_USER_KEY1,
1257            LINE_TRX_USER_KEY2,
1258            LINE_TRX_USER_KEY3,
1259            LINE_TRX_USER_KEY4,
1260            LINE_TRX_USER_KEY5,
1261            LINE_TRX_USER_KEY6,
1262            SOURCE_TAX_LINE_ID,
1263            EXEMPTION_CONTROL_FLAG,
1264            EXEMPT_REASON_CODE,
1265            INTERFACE_ENTITY_CODE,
1266            INTERFACE_LINE_ID,
1267            DEFAULTING_ATTRIBUTE1,
1268            DEFAULTING_ATTRIBUTE2,
1269            DEFAULTING_ATTRIBUTE3,
1270            DEFAULTING_ATTRIBUTE4,
1271            DEFAULTING_ATTRIBUTE5,
1272            DEFAULTING_ATTRIBUTE6,
1273            DEFAULTING_ATTRIBUTE7,
1274            DEFAULTING_ATTRIBUTE8,
1275            DEFAULTING_ATTRIBUTE9,
1276            DEFAULTING_ATTRIBUTE10,
1277            HISTORICAL_TAX_CODE_ID,
1278            GLOBAL_ATTRIBUTE_CATEGORY,
1279            GLOBAL_ATTRIBUTE1,
1280            TOTAL_INC_TAX_AMT,
1281            USER_UPD_DET_FACTORS_FLAG
1282          FROM  ZX_LINES_DET_FACTORS
1283          WHERE event_id = p_event_id;
1284 
1285  /* Cursor for windows (Determining Factors) version of calculate tax*/
1286  CURSOR get_lines_det_factors(p_event_class_rec zx_api_pub.event_class_rec_type)  IS
1287    SELECT  INTERNAL_ORGANIZATION_ID,
1288            APPLICATION_ID,
1289            ENTITY_CODE,
1290            EVENT_CLASS_CODE,
1291            nvl(p_event_class_rec.EVENT_TYPE_CODE,EVENT_TYPE_CODE),
1292            DOC_EVENT_STATUS,
1293            LINE_LEVEL_ACTION,
1294            TRX_ID,
1295            TRX_LINE_ID,
1296            TRX_LEVEL_TYPE,
1297            TRX_DATE,
1298            TRX_DOC_REVISION,
1299            LEDGER_ID,
1300            TRX_CURRENCY_CODE,
1301            CURRENCY_CONVERSION_DATE,
1302            CURRENCY_CONVERSION_RATE,
1303            CURRENCY_CONVERSION_TYPE,
1304            MINIMUM_ACCOUNTABLE_UNIT,
1305            PRECISION,
1306            TRX_LINE_CURRENCY_CODE,
1307            TRX_LINE_CURRENCY_CONV_DATE,
1308            TRX_LINE_CURRENCY_CONV_RATE,
1309            TRX_LINE_CURRENCY_CONV_TYPE,
1310            TRX_LINE_MAU,
1311            TRX_LINE_PRECISION,
1312            LEGAL_ENTITY_ID,
1313            ESTABLISHMENT_ID,
1314            RECEIVABLES_TRX_TYPE_ID,
1315            DEFAULT_TAXATION_COUNTRY,
1316            TRX_NUMBER,
1317            TRX_LINE_NUMBER,
1318            TRX_LINE_DESCRIPTION,
1319            TRX_DESCRIPTION,
1320            TRX_COMMUNICATED_DATE,
1321            BATCH_SOURCE_ID,
1322            BATCH_SOURCE_NAME,
1323            DOC_SEQ_ID,
1324            DOC_SEQ_NAME,
1325            DOC_SEQ_VALUE,
1326            TRX_DUE_DATE,
1327            TRX_TYPE_DESCRIPTION,
1328            DOCUMENT_SUB_TYPE,
1329            SUPPLIER_TAX_INVOICE_NUMBER,
1330            SUPPLIER_TAX_INVOICE_DATE,
1331            SUPPLIER_EXCHANGE_RATE,
1332            TAX_INVOICE_DATE,
1333            TAX_INVOICE_NUMBER,
1334            FIRST_PTY_ORG_ID,
1335            TAX_EVENT_CLASS_CODE,
1336            nvl(p_event_class_rec.TAX_EVENT_TYPE_CODE,TAX_EVENT_TYPE_CODE),
1337            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
1338            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1339            RDNG_BILL_TO_PTY_TX_PROF_ID	,
1340            RDNG_BILL_FROM_PTY_TX_PROF_ID,
1341            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
1342            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1343            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
1344            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1345            LINE_INTENDED_USE ,
1346            TRX_LINE_TYPE ,
1347            TRX_SHIPPING_DATE,
1348            TRX_RECEIPT_DATE,
1349            TRX_SIC_CODE,
1350            FOB_POINT ,
1351            TRX_WAYBILL_NUMBER,
1352            PRODUCT_ID,
1353            PRODUCT_FISC_CLASSIFICATION ,
1354            PRODUCT_ORG_ID,
1355            UOM_CODE,
1356            PRODUCT_TYPE ,
1357            PRODUCT_CODE,
1358            PRODUCT_CATEGORY ,
1359            PRODUCT_DESCRIPTION,
1360            USER_DEFINED_FISC_CLASS,
1361            LINE_AMT,
1362            TRX_LINE_QUANTITY ,
1363            UNIT_PRICE,
1364            CASH_DISCOUNT,
1365            VOLUME_DISCOUNT,
1366            TRADING_DISCOUNT,
1367            TRANSFER_CHARGE,
1368            TRANSPORTATION_CHARGE,
1369            INSURANCE_CHARGE,
1370            OTHER_CHARGE,
1371            ASSESSABLE_VALUE,
1372            ASSET_FLAG,
1373            ASSET_NUMBER,
1374            ASSET_ACCUM_DEPRECIATION,
1375            ASSET_TYPE,
1376            ASSET_COST,
1377            RELATED_DOC_APPLICATION_ID,
1378            RELATED_DOC_ENTITY_CODE,
1379            RELATED_DOC_EVENT_CLASS_CODE,
1380            RELATED_DOC_TRX_ID,
1381            RELATED_DOC_NUMBER,
1382            RELATED_DOC_DATE,
1383            APPLIED_FROM_APPLICATION_ID,
1384            APPLIED_FROM_ENTITY_CODE,
1385            APPLIED_FROM_EVENT_CLASS_CODE,
1386            APPLIED_FROM_TRX_ID,
1387            APPLIED_FROM_LINE_ID,
1388            APPLIED_FROM_TRX_NUMBER,
1389            ADJUSTED_DOC_APPLICATION_ID,
1390            ADJUSTED_DOC_ENTITY_CODE,
1391            ADJUSTED_DOC_EVENT_CLASS_CODE,
1392            ADJUSTED_DOC_TRX_ID,
1393            ADJUSTED_DOC_LINE_ID,
1394            ADJUSTED_DOC_NUMBER,
1395            ADJUSTED_DOC_DATE,
1396            APPLIED_TO_APPLICATION_ID,
1397            APPLIED_TO_ENTITY_CODE,
1398            APPLIED_TO_EVENT_CLASS_CODE,
1399            APPLIED_TO_TRX_ID ,
1400            APPLIED_TO_TRX_LINE_ID,
1401            TRX_ID_LEVEL2,
1402            TRX_ID_LEVEL3,
1403            TRX_ID_LEVEL4,
1404            TRX_ID_LEVEL5,
1405            TRX_ID_LEVEL6,
1406            TRX_BUSINESS_CATEGORY,
1407            EXEMPT_CERTIFICATE_NUMBER,
1408            EXEMPT_REASON,
1409            HISTORICAL_FLAG,
1410            TRX_LINE_GL_DATE,
1411            PROVNL_TAX_DETERMINATION_DATE,
1412            LINE_AMT_INCLUDES_TAX_FLAG,
1413            ACCOUNT_CCID,
1414            ACCOUNT_STRING,
1415            MERCHANT_PARTY_TAX_PROF_ID,
1416            HQ_ESTB_PARTY_TAX_PROF_ID,
1417            NUMERIC1,
1418            NUMERIC2,
1419            NUMERIC3,
1420            NUMERIC4,
1421            NUMERIC5,
1422            NUMERIC6,
1423            NUMERIC7,
1424            NUMERIC8,
1425            NUMERIC9,
1426            NUMERIC10,
1427            CHAR1,
1428            CHAR2,
1429            CHAR3,
1430            CHAR4,
1431            CHAR5,
1432            CHAR6,
1433            CHAR7,
1434            CHAR8,
1435            CHAR9,
1436            CHAR10,
1437            DATE1,
1438            DATE2,
1439            DATE3,
1440            DATE4,
1441            DATE5,
1442            DATE6,
1443            DATE7,
1444            DATE8,
1445            DATE9,
1446            DATE10,
1447            MERCHANT_PARTY_NAME,
1448            MERCHANT_PARTY_DOCUMENT_NUMBER,
1449            MERCHANT_PARTY_REFERENCE,
1450            MERCHANT_PARTY_TAXPAYER_ID,
1451            MERCHANT_PARTY_TAX_REG_NUMBER,
1452            MERCHANT_PARTY_ID,
1453            MERCHANT_PARTY_COUNTRY,
1454            SHIP_TO_LOCATION_ID,
1455            SHIP_FROM_LOCATION_ID,
1456            POA_LOCATION_ID,
1457            POO_LOCATION_ID,
1458            BILL_TO_LOCATION_ID,
1459            BILL_FROM_LOCATION_ID,
1460            PAYING_LOCATION_ID,
1461            OWN_HQ_LOCATION_ID,
1462            TRADING_HQ_LOCATION_ID,
1463            POC_LOCATION_ID,
1464            POI_LOCATION_ID,
1465            POD_LOCATION_ID,
1466            TITLE_TRANSFER_LOCATION_ID,
1467            SHIP_TO_PARTY_TAX_PROF_ID ,
1468            SHIP_FROM_PARTY_TAX_PROF_ID,
1469            POA_PARTY_TAX_PROF_ID,
1470            POO_PARTY_TAX_PROF_ID,
1471            PAYING_PARTY_TAX_PROF_ID,
1472            OWN_HQ_PARTY_TAX_PROF_ID,
1473            TRADING_HQ_PARTY_TAX_PROF_ID,
1474            POI_PARTY_TAX_PROF_ID,
1475            POD_PARTY_TAX_PROF_ID,
1476            BILL_TO_PARTY_TAX_PROF_ID,
1477            BILL_FROM_PARTY_TAX_PROF_ID,
1478            TITLE_TRANS_PARTY_TAX_PROF_ID,
1479            SHIP_TO_SITE_TAX_PROF_ID,
1480            SHIP_FROM_SITE_TAX_PROF_ID,
1481            POA_SITE_TAX_PROF_ID,
1482            POO_SITE_TAX_PROF_ID,
1483            PAYING_SITE_TAX_PROF_ID,
1484            OWN_HQ_SITE_TAX_PROF_ID,
1485            TRADING_HQ_SITE_TAX_PROF_ID,
1486            POI_SITE_TAX_PROF_ID,
1487            POD_SITE_TAX_PROF_ID,
1488            BILL_TO_SITE_TAX_PROF_ID,
1489            BILL_FROM_SITE_TAX_PROF_ID,
1490            TITLE_TRANS_SITE_TAX_PROF_ID,
1491            CTRL_HDR_TX_APPL_FLAG,
1492            CTRL_TOTAL_LINE_TX_AMT,
1493            CTRL_TOTAL_HDR_TX_AMT,
1494            REF_DOC_APPLICATION_ID,
1495            REF_DOC_ENTITY_CODE,
1496            REF_DOC_EVENT_CLASS_CODE,
1497            REF_DOC_TRX_ID,
1498            REF_DOC_LINE_ID,
1499            REF_DOC_LINE_QUANTITY,
1500            LINE_CLASS,
1501            TRX_LINE_DATE,
1502            INPUT_TAX_CLASSIFICATION_CODE,
1503            OUTPUT_TAX_CLASSIFICATION_CODE,
1504            INTERNAL_ORG_LOCATION_ID,
1505            PORT_OF_ENTRY_CODE,
1506            TAX_REPORTING_FLAG,
1507            TAX_AMT_INCLUDED_FLAG,
1508            COMPOUNDING_TAX_FLAG,
1509            SHIP_THIRD_PTY_ACCT_ID,
1510            BILL_THIRD_PTY_ACCT_ID,
1511            SHIP_THIRD_PTY_ACCT_SITE_ID,
1512            BILL_THIRD_PTY_ACCT_SITE_ID,
1513            SHIP_TO_CUST_ACCT_SITE_USE_ID,
1514            BILL_TO_CUST_ACCT_SITE_USE_ID,
1515            START_EXPENSE_DATE,
1516            TRX_BATCH_ID,
1517            APPLIED_TO_TRX_NUMBER,
1518            SOURCE_APPLICATION_ID,
1519            SOURCE_ENTITY_CODE,
1520            SOURCE_EVENT_CLASS_CODE,
1521            SOURCE_TRX_ID,
1522            SOURCE_LINE_ID,
1523            SOURCE_TRX_LEVEL_TYPE,
1524            REF_DOC_TRX_LEVEL_TYPE,
1525            APPLIED_TO_TRX_LEVEL_TYPE,
1526            APPLIED_FROM_TRX_LEVEL_TYPE,
1527            ADJUSTED_DOC_TRX_LEVEL_TYPE,
1528            APPLICATION_DOC_STATUS,
1529            HDR_TRX_USER_KEY1,
1530            HDR_TRX_USER_KEY2,
1531            HDR_TRX_USER_KEY3,
1532            HDR_TRX_USER_KEY4,
1533            HDR_TRX_USER_KEY5,
1534            HDR_TRX_USER_KEY6,
1535            LINE_TRX_USER_KEY1,
1536            LINE_TRX_USER_KEY2,
1537            LINE_TRX_USER_KEY3,
1538            LINE_TRX_USER_KEY4,
1539            LINE_TRX_USER_KEY5,
1540            LINE_TRX_USER_KEY6,
1541            null DIST_LEVEL_ACTION,
1542            to_number(null) ADJUSTED_DOC_TASK_DIST_ID,
1543            to_number(null) APPLIED_FROM_TAX_DIST_ID,
1544            to_number(null) TASK_ID,
1545            to_number(null) AWARD_ID,
1546            to_number(null) PROJECT_ID,
1547            null EXPENDITURE_TYPE,
1548            to_number(null) EXPENDITURE_ORGANIZATION_ID,
1549            null EXPENDITURE_ITEM_DATE,
1550            to_number(null) TRX_LINE_DIST_AMT,
1551            to_number(null) TRX_LINE_DIST_QUANTITY,
1552            to_number(null) REF_DOC_CURR_CONV_RATE,
1553            to_number(null) ITEM_DIST_NUMBER,
1554            to_number(null) REF_DOC_DIST_ID,
1555            to_number(null) TRX_LINE_DIST_TAX_AMT,
1556            to_number(null) TRX_LINE_DIST_ID,
1557            to_number(null) APPLIED_FROM_DIST_ID,
1558            to_number(null) ADJUSTED_DOC_DIST_ID,
1559            to_number(null) OVERRIDING_RECOVERY_RATE,
1560            null TAX_AMT_INCLUDED_FLAG,
1561            null COMPOUNDING_TAX_FLAG,
1562            SOURCE_TAX_LINE_ID,
1563            EXEMPTION_CONTROL_FLAG,
1564            EXEMPT_REASON_CODE,
1565            INTERFACE_ENTITY_CODE,
1566            INTERFACE_LINE_ID,
1567            DEFAULTING_ATTRIBUTE1,
1568            DEFAULTING_ATTRIBUTE2,
1569            DEFAULTING_ATTRIBUTE3,
1570            DEFAULTING_ATTRIBUTE4,
1571            DEFAULTING_ATTRIBUTE5,
1572            DEFAULTING_ATTRIBUTE6,
1573            DEFAULTING_ATTRIBUTE7,
1574            DEFAULTING_ATTRIBUTE8,
1575            DEFAULTING_ATTRIBUTE9,
1576            DEFAULTING_ATTRIBUTE10,
1577            HISTORICAL_TAX_CODE_ID,
1578            GLOBAL_ATTRIBUTE_CATEGORY,
1579            GLOBAL_ATTRIBUTE1,
1580            TOTAL_INC_TAX_AMT,
1581            USER_UPD_DET_FACTORS_FLAG
1582       FROM ZX_LINES_DET_FACTORS
1583      WHERE application_id = p_event_class_rec.application_id
1584 	   AND entity_code = p_event_class_rec.entity_code
1585 	   AND event_class_code = p_event_class_rec.event_class_code
1586 	   AND trx_id = p_event_class_rec.trx_id
1587 	   AND tax_processing_completed_flag = 'N';
1588 
1589 
1590   CURSOR prtnr_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1591   SELECT zl.tax_regime_id,
1592          zl.tax_regime_code,
1593          zl.tax_provider_id,
1594          regimes.effective_from,
1595          regimes.effective_to
1596     FROM ZX_LINES zl,
1597          ZX_REGIMES_B regimes
1598    WHERE zl.application_id = p_event_class_rec.application_id
1599      AND zl.entity_code = p_event_class_rec.entity_code
1600      AND zl.event_class_code = p_event_class_rec.event_class_code
1601      AND zl.trx_id = p_event_class_rec.trx_id
1602      AND zl.tax_provider_id is not null
1603      AND zl.tax_regime_id = regimes.tax_regime_id;
1604      --AND zl.content_owner_id = p_event_class_rec.first_pty_org_id
1605   prtnr_tax_lines    prtnr_tax_lines_csr%ROWTYPE;
1606 
1607 
1608   CURSOR app_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1609   SELECT ztlar.tax_regime_id,
1610          ztlar.tax_regime_code,
1611          ztlar.tax_provider_id,
1612          ztlar.trx_line_id,
1613          regimes.effective_from,
1614          regimes.effective_to
1615     FROM ZX_TRX_LINE_APP_REGIMES ztlar,
1616          ZX_REGIMES_B regimes
1617    WHERE ztlar.application_id = p_event_class_rec.application_id
1618      AND ztlar.entity_code = p_event_class_rec.entity_code
1619      AND ztlar.event_class_code = p_event_class_rec.event_class_code
1620      AND ztlar.trx_id = p_event_class_rec.trx_id
1621      AND ztlar.tax_provider_id is not null
1622      AND ztlar.tax_regime_id = regimes.tax_regime_id;
1623      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1624 
1625   CURSOR app_tax_lines_csr2(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1626   SELECT zxlines.tax_regime_id,
1627          zxlines.tax_regime_code,
1628          zxlines.tax_provider_id,
1629          zxlines.trx_line_id,
1630          regimes.effective_from,
1631          regimes.effective_to
1632     FROM ZX_LINES zxlines,
1633          ZX_REGIMES_B regimes
1634    WHERE zxlines.application_id = p_event_class_rec.application_id
1635      AND zxlines.entity_code = p_event_class_rec.entity_code
1636      AND zxlines.event_class_code = p_event_class_rec.event_class_code
1637      AND zxlines.trx_id = p_event_class_rec.trx_id
1638      AND zxlines.tax_provider_id is not null
1639      AND zxlines.tax_regime_id = regimes.tax_regime_id;
1640      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1641 
1642   app_tax_lines  app_tax_lines_csr%ROWTYPE;
1643 
1644   CURSOR update_trx_line_app_reg_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1645   SELECT ztlar.tax_regime_id,
1646          ztlar.tax_regime_code,
1647          ztlar.tax_provider_id,
1648          ztlar.trx_line_id,
1649          regimes.effective_from,
1650          regimes.effective_to
1651     FROM ZX_TRX_LINE_APP_REGIMES ztlar,
1652          ZX_REGIMES_B regimes
1653    WHERE ztlar.application_id = p_event_class_rec.application_id
1654      AND ztlar.entity_code = p_event_class_rec.entity_code
1655      AND ztlar.event_class_code = p_event_class_rec.event_class_code
1656      AND ztlar.trx_id = p_event_class_rec.trx_id
1657      AND ztlar.tax_provider_id is not null
1658      AND ztlar.update_flag ='Y'
1659      AND ztlar.tax_regime_id = regimes.tax_regime_id;
1660      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1661   update_trx_line_app_reg  update_trx_line_app_reg_csr%ROWTYPE;
1662 
1663   CURSOR non_update_trx_line_reg_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1664   SELECT tax_regime_id,
1665          tax_regime_code,
1666          tax_provider_id,
1667          trx_line_id
1668     FROM ZX_TRX_LINE_APP_REGIMES
1669    WHERE application_id = p_event_class_rec.application_id
1670      AND entity_code = p_event_class_rec.entity_code
1671      AND event_class_code = p_event_class_rec.event_class_code
1672      AND trx_id = p_event_class_rec.trx_id
1673      AND tax_provider_id is not null
1674      AND update_flag is null;
1675      --AND content_owner_id = p_event_class_rec.first_pty_org_id
1676   non_update_trx_line_app_reg    non_update_trx_line_reg_csr%ROWTYPE;
1677 /*----------------------------------------------------------------------------*
1678  |   PRIVATE FUNCTIONS/PROCEDURES                                             |
1679  *----------------------------------------------------------------------------*/
1680 
1681 PROCEDURE print_unique_columns
1682     (p_application_id   IN   NUMBER,
1683      p_entity_code      IN   VARCHAR2,
1684      p_event_class_code IN   VARCHAR2,
1685      p_trx_id           IN   NUMBER,
1686      p_trx_line_id      IN   NUMBER,
1687      p_trx_level_type   IN   VARCHAR2);
1688 
1689 PROCEDURE pop_src_evnt_cls_info
1690   ( p_trx_line_index    IN     NUMBER,
1691     p_event_class_rec   IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
1692     x_return_status 	OUT    NOCOPY  VARCHAR2 );
1693 /* -- Procedure commented by ssohal
1694 PROCEDURE populate_errors
1695   ( p_event_class_rec   IN     ZX_API_PUB.event_class_rec_type,
1696     x_return_status 	OUT    NOCOPY  VARCHAR2 );
1697 */
1698 PROCEDURE delete_from_lines_det_gt (
1699    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
1700    x_return_status   OUT    NOCOPY VARCHAR2
1701  );
1702 PROCEDURE Pop_Index_Attrbs_To_Null (
1703    p_index          IN  NUMBER,
1704    x_return_status  OUT NOCOPY VARCHAR2
1705  );
1706 PROCEDURE Pop_Estb_Id (
1707    p_index           IN            NUMBER,
1708    p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
1709    p_level           IN            VARCHAR2,  --14122718
1710    x_return_status      OUT NOCOPY VARCHAR2
1711  );
1712 -----------------------------------------------------------------------
1713 --  PRIVATE PROCEDURE
1714 --  db_insert_line_det_factors
1715 --
1716 --  DESCRIPTION
1717 --  Bulk insert into zx_lines_det_factors
1718 --
1719 --  CALLED BY
1720 --    calculate_tax
1721 --    import_document_with_tax
1722 --    reverse_document
1723 --    insupd_line_det_factors
1724 -----------------------------------------------------------------------
1725 /*----------------------------------------------------------------------------*
1726  |p_insert needed in case of UPDATE tax event type wherein some records passed|
1727  |need to be updated in zx_lines_det_factors while others need to be inserted |
1728  |depending on the line level action. This scenario is applicable only for    |
1729  |Calculate_tax API. p_insert stores the index upto which the records from the|
1730  |collection needs to be inserted into zx_lines_det_factors.                  |
1731  *----------------------------------------------------------------------------*/
1732 PROCEDURE db_insert_line_det_factors
1733   (p_trx_line_dist_tbl      IN         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%TYPE,
1734    p_event_class_rec        IN         ZX_API_PUB.event_class_rec_type,
1735    p_insert_index           IN         NUMBER,
1736    x_return_status          OUT NOCOPY VARCHAR2)
1737   IS
1738     l_api_name           CONSTANT VARCHAR2(30):= 'DB_INSERT_LINE_DET_FACTORS';
1739 
1740     -- Following variables added for Error Handling Fix Bug#10062401
1741     l_err_idx                 BINARY_INTEGER;
1742     l_err_count               NUMBER;
1743     l_err_trx_id              NUMBER;
1744     l_context_info_rec        ZX_API_PUB.context_info_rec_type;
1745     l_err_code                NUMBER;
1746     l_ora_error               VARCHAR2(10);
1747     l_stmt_num                NUMBER;
1748 
1749     cons_violation            EXCEPTION;
1750     PRAGMA exception_init(cons_violation, -24381);
1751 
1752   BEGIN
1753     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1754       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||':'||l_api_name||'()+');
1755     END IF;
1756 
1757     -- Set the return status to Success
1758     x_return_status := FND_API.G_RET_STS_SUCCESS;
1759     l_stmt_num := 0;
1760 
1761     -- Insert records in ZX_LINES_DET_FACTORS
1762     --Start Bug 8269616
1763     IF ZX_API_PUB.G_PUB_SRVC IN ('INSERT_LINE_DET_FACTORS','COPY_INSERT_LINE_DET_FACTORS',
1764                                  'REVERSE_DOCUMENT_DISTRIBUTION')
1765     --End Bug 8269616
1766     THEN
1767         l_stmt_num := 1;
1768         FORALL i IN  INDICES OF p_trx_line_dist_tbl.application_id SAVE EXCEPTIONS
1769           INSERT INTO ZX_LINES_DET_FACTORS(
1770                                 EVENT_ID,
1771                                 INTERNAL_ORGANIZATION_ID,
1772                                 APPLICATION_ID,
1773                                 ENTITY_CODE,
1774                                 EVENT_CLASS_CODE,
1775                                 EVENT_CLASS_MAPPING_ID,
1776                                 EVENT_TYPE_CODE,
1777                                 DOC_EVENT_STATUS,
1778                                 LINE_LEVEL_ACTION,
1779                                 TRX_ID,
1780                                 TRX_LINE_ID,
1781                                 TRX_LEVEL_TYPE,
1782                                 TRX_DATE,
1783                                 TRX_DOC_REVISION,
1784                                 LEDGER_ID,
1785                                 TRX_CURRENCY_CODE,
1786                                 CURRENCY_CONVERSION_DATE,
1787                                 CURRENCY_CONVERSION_RATE,
1788                                 CURRENCY_CONVERSION_TYPE,
1789                                 MINIMUM_ACCOUNTABLE_UNIT,
1790                                 PRECISION,
1791                                 TRX_LINE_CURRENCY_CODE,
1792                                 TRX_LINE_CURRENCY_CONV_DATE,
1793                                 TRX_LINE_CURRENCY_CONV_RATE,
1794                                 TRX_LINE_CURRENCY_CONV_TYPE,
1795                                 TRX_LINE_MAU,
1796                                 TRX_LINE_PRECISION,
1797                                 LEGAL_ENTITY_ID,
1798                                 ESTABLISHMENT_ID,
1799                                 RECEIVABLES_TRX_TYPE_ID,
1800                                 DEFAULT_TAXATION_COUNTRY,
1801                                 TRX_NUMBER,
1802                                 TRX_LINE_NUMBER,
1803                                 TRX_LINE_DESCRIPTION,
1804                                 TRX_DESCRIPTION,
1805                                 TRX_COMMUNICATED_DATE,
1806                                 BATCH_SOURCE_ID,
1807                                 BATCH_SOURCE_NAME,
1808                                 DOC_SEQ_ID,
1809                                 DOC_SEQ_NAME,
1810                                 DOC_SEQ_VALUE,
1811                                 TRX_DUE_DATE,
1812                                 TRX_TYPE_DESCRIPTION,
1813                                 DOCUMENT_SUB_TYPE,
1814                                 SUPPLIER_TAX_INVOICE_NUMBER,
1815                                 SUPPLIER_TAX_INVOICE_DATE,
1816                                 SUPPLIER_EXCHANGE_RATE,
1817                                 TAX_INVOICE_DATE,
1818                                 TAX_INVOICE_NUMBER,
1819                                 FIRST_PTY_ORG_ID,
1820                                 TAX_EVENT_CLASS_CODE,
1821                                 TAX_EVENT_TYPE_CODE,
1822                                 RDNG_SHIP_TO_PTY_TX_PROF_ID,
1823                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1824                                 RDNG_BILL_TO_PTY_TX_PROF_ID,
1825                                 RDNG_BILL_FROM_PTY_TX_PROF_ID,
1826                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID,
1827                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1828                                 RDNG_BILL_TO_PTY_TX_P_ST_ID,
1829                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1830                                 LINE_INTENDED_USE ,
1831                                 TRX_LINE_TYPE ,
1832                                 TRX_SHIPPING_DATE,
1833                                 TRX_RECEIPT_DATE,
1834                                 TRX_SIC_CODE,
1835                                 FOB_POINT ,
1836                                 TRX_WAYBILL_NUMBER,
1837                                 PRODUCT_ID,
1838                                 PRODUCT_FISC_CLASSIFICATION ,
1839                                 PRODUCT_ORG_ID,
1840                                 UOM_CODE,
1841                                 PRODUCT_TYPE ,
1842                                 PRODUCT_CODE,
1843                                 PRODUCT_CATEGORY ,
1844                                 PRODUCT_DESCRIPTION,
1845                                 USER_DEFINED_FISC_CLASS,
1846                                 LINE_AMT,
1847                                 TRX_LINE_QUANTITY,
1848                                 UNIT_PRICE,
1849                                 CASH_DISCOUNT,
1850                                 VOLUME_DISCOUNT,
1851                                 TRADING_DISCOUNT,
1852                                 TRANSFER_CHARGE,
1853                                 TRANSPORTATION_CHARGE,
1854                                 INSURANCE_CHARGE,
1855                                 OTHER_CHARGE,
1856                                 ASSESSABLE_VALUE,
1857                                 ASSET_FLAG,
1858                                 ASSET_NUMBER,
1859                                 ASSET_ACCUM_DEPRECIATION,
1860                                 ASSET_TYPE,
1861                                 ASSET_COST,
1862                                 RELATED_DOC_APPLICATION_ID,
1863                                 RELATED_DOC_ENTITY_CODE,
1864                                 RELATED_DOC_EVENT_CLASS_CODE,
1865                                 RELATED_DOC_TRX_ID,
1866                                 RELATED_DOC_NUMBER,
1867                                 RELATED_DOC_DATE,
1868                                 APPLIED_FROM_APPLICATION_ID,
1869                                 APPLIED_FROM_ENTITY_CODE,
1870                                 APPLIED_FROM_EVENT_CLASS_CODE,
1871                                 APPLIED_FROM_TRX_ID,
1872                                 APPLIED_FROM_LINE_ID,
1873                                 APPLIED_FROM_TRX_NUMBER,
1874                                 ADJUSTED_DOC_APPLICATION_ID,
1875                                 ADJUSTED_DOC_ENTITY_CODE,
1876                                 ADJUSTED_DOC_EVENT_CLASS_CODE,
1877                                 ADJUSTED_DOC_TRX_ID,
1878                                 ADJUSTED_DOC_LINE_ID,
1879                                 ADJUSTED_DOC_NUMBER,
1880                                 ADJUSTED_DOC_DATE,
1881                                 APPLIED_TO_APPLICATION_ID,
1882                                 APPLIED_TO_ENTITY_CODE,
1883                                 APPLIED_TO_EVENT_CLASS_CODE,
1884                                 APPLIED_TO_TRX_ID ,
1885                                 APPLIED_TO_TRX_LINE_ID,
1886                                 TRX_ID_LEVEL2,
1887                                 TRX_ID_LEVEL3,
1888                                 TRX_ID_LEVEL4,
1889                                 TRX_ID_LEVEL5,
1890                                 TRX_ID_LEVEL6,
1891                                 TRX_BUSINESS_CATEGORY,
1892                                 EXEMPT_CERTIFICATE_NUMBER,
1893                                 EXEMPT_REASON,
1894                                 HISTORICAL_FLAG,
1895                                 TRX_LINE_GL_DATE,
1896                                 LINE_AMT_INCLUDES_TAX_FLAG,
1897                                 ACCOUNT_CCID,
1898                                 ACCOUNT_STRING,
1899                                 MERCHANT_PARTY_TAX_PROF_ID,
1900                                 HQ_ESTB_PARTY_TAX_PROF_ID,
1901                                 NUMERIC1,
1902                                 NUMERIC2,
1903                                 NUMERIC3,
1904                                 NUMERIC4,
1905                                 NUMERIC5,
1906                                 NUMERIC6,
1907                                 NUMERIC7,
1908                                 NUMERIC8,
1909                                 NUMERIC9,
1910                                 NUMERIC10,
1911                                 CHAR1,
1912                                 CHAR2,
1913                                 CHAR3,
1914                                 CHAR4,
1915                                 CHAR5,
1916                                 CHAR6,
1917                                 CHAR7,
1918                                 CHAR8,
1919                                 CHAR9,
1920                                 CHAR10,
1921                                 DATE1,
1922                                 DATE2,
1923                                 DATE3,
1924                                 DATE4,
1925                                 DATE5,
1926                                 DATE6,
1927                                 DATE7,
1928                                 DATE8,
1929                                 DATE9,
1930                                 DATE10,
1931                                 MERCHANT_PARTY_NAME,
1932                                 MERCHANT_PARTY_DOCUMENT_NUMBER,
1933                                 MERCHANT_PARTY_REFERENCE,
1934                                 MERCHANT_PARTY_TAXPAYER_ID,
1935                                 MERCHANT_PARTY_TAX_REG_NUMBER,
1936                                 MERCHANT_PARTY_ID,
1937                                 MERCHANT_PARTY_COUNTRY,
1938                                 SHIP_TO_LOCATION_ID,
1939                                 SHIP_FROM_LOCATION_ID,
1940                                 POA_LOCATION_ID,
1941                                 POO_LOCATION_ID,
1942                                 BILL_TO_LOCATION_ID,
1943                                 BILL_FROM_LOCATION_ID,
1944                                 PAYING_LOCATION_ID,
1945                                 OWN_HQ_LOCATION_ID,
1946                                 TRADING_HQ_LOCATION_ID,
1947                                 POC_LOCATION_ID,
1948                                 POI_LOCATION_ID,
1949                                 POD_LOCATION_ID,
1950                                 TITLE_TRANSFER_LOCATION_ID,
1951                                 SHIP_TO_PARTY_TAX_PROF_ID ,
1952                                 SHIP_FROM_PARTY_TAX_PROF_ID,
1953                                 POA_PARTY_TAX_PROF_ID,
1954                                 POO_PARTY_TAX_PROF_ID,
1955                                 PAYING_PARTY_TAX_PROF_ID,
1956                                 OWN_HQ_PARTY_TAX_PROF_ID,
1957                                 TRADING_HQ_PARTY_TAX_PROF_ID,
1958                                 POI_PARTY_TAX_PROF_ID,
1959                                 POD_PARTY_TAX_PROF_ID,
1960                                 BILL_TO_PARTY_TAX_PROF_ID,
1961                                 BILL_FROM_PARTY_TAX_PROF_ID,
1962                                 TITLE_TRANS_PARTY_TAX_PROF_ID,
1963                                 SHIP_TO_SITE_TAX_PROF_ID,
1964                                 SHIP_FROM_SITE_TAX_PROF_ID,
1965                                 POA_SITE_TAX_PROF_ID,
1966                                 POO_SITE_TAX_PROF_ID,
1967                                 PAYING_SITE_TAX_PROF_ID,
1968                                 OWN_HQ_SITE_TAX_PROF_ID,
1969                                 TRADING_HQ_SITE_TAX_PROF_ID,
1970                                 POI_SITE_TAX_PROF_ID,
1971                                 POD_SITE_TAX_PROF_ID,
1972                                 BILL_TO_SITE_TAX_PROF_ID,
1973                                 BILL_FROM_SITE_TAX_PROF_ID,
1974                                 TITLE_TRANS_SITE_TAX_PROF_ID,
1975                                 CTRL_HDR_TX_APPL_FLAG,
1976                                 CTRL_TOTAL_LINE_TX_AMT,
1977                                 CTRL_TOTAL_HDR_TX_AMT,
1978                                 REF_DOC_APPLICATION_ID,
1979                                 REF_DOC_ENTITY_CODE,
1980                                 REF_DOC_EVENT_CLASS_CODE,
1981                                 REF_DOC_TRX_ID,
1982                                 REF_DOC_LINE_ID,
1983                                 REF_DOC_LINE_QUANTITY,
1984                                 LINE_CLASS,
1985                                 TRX_LINE_DATE,
1986                                 INPUT_TAX_CLASSIFICATION_CODE,
1987                                 OUTPUT_TAX_CLASSIFICATION_CODE,
1988                                 INTERNAL_ORG_LOCATION_ID,
1989                                 PORT_OF_ENTRY_CODE,
1990                                 TAX_REPORTING_FLAG,
1991                                 TAX_AMT_INCLUDED_FLAG,
1992                                 COMPOUNDING_TAX_FLAG,
1993                                 SHIP_THIRD_PTY_ACCT_ID,
1994                                 BILL_THIRD_PTY_ACCT_ID,
1995                                 SHIP_THIRD_PTY_ACCT_SITE_ID,
1996                                 BILL_THIRD_PTY_ACCT_SITE_ID,
1997                                 SHIP_TO_CUST_ACCT_SITE_USE_ID,
1998                                 BILL_TO_CUST_ACCT_SITE_USE_ID,
1999                                 START_EXPENSE_DATE,
2000                                 TRX_BATCH_ID,
2001                                 APPLIED_TO_TRX_NUMBER,
2002                                 SOURCE_APPLICATION_ID,
2003                                 SOURCE_ENTITY_CODE,
2004                                 SOURCE_EVENT_CLASS_CODE,
2005                                 SOURCE_TRX_ID,
2006                                 SOURCE_LINE_ID,
2007                                 SOURCE_TRX_LEVEL_TYPE,
2008                                 SOURCE_TAX_LINE_ID,
2009                                 REF_DOC_TRX_LEVEL_TYPE,
2010                                 ADJUSTED_DOC_TRX_LEVEL_TYPE,
2011                                 APPLIED_TO_TRX_LEVEL_TYPE,
2012                                 APPLIED_FROM_TRX_LEVEL_TYPE,
2013                                 APPLICATION_DOC_STATUS,
2014                                 OBJECT_VERSION_NUMBER,
2015                                 TAX_PROCESSING_COMPLETED_FLAG,
2016                                 USER_UPD_DET_FACTORS_FLAG,
2017                                 RECORD_TYPE_CODE,
2018                                 HDR_TRX_USER_KEY1,
2019                                 HDR_TRX_USER_KEY2,
2020                                 HDR_TRX_USER_KEY3,
2021                                 HDR_TRX_USER_KEY4,
2022                                 HDR_TRX_USER_KEY5,
2023                                 HDR_TRX_USER_KEY6,
2024                                 LINE_TRX_USER_KEY1,
2025                                 LINE_TRX_USER_KEY2,
2026                                 LINE_TRX_USER_KEY3,
2027                                 LINE_TRX_USER_KEY4,
2028                                 LINE_TRX_USER_KEY5,
2029                                 LINE_TRX_USER_KEY6,
2030                                 TAX_CALCULATION_DONE_FLAG,
2031                                 REVERSED_APPLN_ID,
2032                                 REVERSED_ENTITY_CODE,
2033                                 REVERSED_EVNT_CLS_CODE,
2034                                 REVERSED_TRX_ID,
2035                                 REVERSED_TRX_LEVEL_TYPE,
2036                                 REVERSED_TRX_LINE_ID,
2037                                 EXEMPTION_CONTROL_FLAG,
2038                                 EXEMPT_REASON_CODE,
2039                                 INTERFACE_ENTITY_CODE,
2040                                 INTERFACE_LINE_ID,
2041                                 DEFAULTING_ATTRIBUTE1,
2042                                 DEFAULTING_ATTRIBUTE2,
2043                                 DEFAULTING_ATTRIBUTE3,
2044                                 DEFAULTING_ATTRIBUTE4,
2045                                 DEFAULTING_ATTRIBUTE5,
2046                                 DEFAULTING_ATTRIBUTE6,
2047                                 DEFAULTING_ATTRIBUTE7,
2048                                 DEFAULTING_ATTRIBUTE8,
2049                                 DEFAULTING_ATTRIBUTE9,
2050                                 DEFAULTING_ATTRIBUTE10,
2051                                 PROVNL_TAX_DETERMINATION_DATE,
2052                                 HISTORICAL_TAX_CODE_ID,
2053                                 GLOBAL_ATTRIBUTE_CATEGORY,
2054                                 GLOBAL_ATTRIBUTE1,
2055                                 TOTAL_INC_TAX_AMT,
2056                                 ICX_SESSION_ID,
2057                                 CREATION_DATE,
2058                                 CREATED_BY,
2059                                 LAST_UPDATE_DATE,
2060                                 LAST_UPDATED_BY,
2061                                 LAST_UPDATE_LOGIN)
2062                          SELECT p_event_class_rec.event_id,
2063                                 p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
2064                                 p_trx_line_dist_tbl.APPLICATION_ID(i),
2065                                 p_trx_line_dist_tbl.ENTITY_CODE(i),
2066                                 p_trx_line_dist_tbl.EVENT_CLASS_CODE(i),
2067                                 p_event_class_rec.EVENT_CLASS_MAPPING_ID,
2068                                 p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
2069                                 p_event_class_rec.DOC_STATUS_CODE,
2070                                 p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
2071                                 p_trx_line_dist_tbl.TRX_ID(i),
2072                                 p_trx_line_dist_tbl.TRX_LINE_ID(i),
2073                                 p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i),
2074                                 p_trx_line_dist_tbl.TRX_DATE(i),
2075                                 p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
2076                                 p_trx_line_dist_tbl.LEDGER_ID(i),
2077                                 p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
2078                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
2079                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
2080                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
2081                                 p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
2082                                 p_trx_line_dist_tbl.PRECISION(i),
2083                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
2084                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i)),
2085                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i)),
2086                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i)),
2087                                 NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
2088                                 NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
2089                                 p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
2090                                 p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
2091                                 p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
2092                                 p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
2093                                 p_trx_line_dist_tbl.TRX_NUMBER(i),
2094                                 p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
2095                                 p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
2096                                 p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
2097                                 p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
2098                                 p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
2099                                 p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
2100                                 p_trx_line_dist_tbl.DOC_SEQ_ID(i),
2101                                 p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
2102                                 p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
2103                                 p_trx_line_dist_tbl.TRX_DUE_DATE(i),
2104                                 p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
2105                                 p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i),
2106                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
2107                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
2108                                 p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
2109                                 p_trx_line_dist_tbl.TAX_INVOICE_DATE(i),
2110                                 p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
2111                                 p_trx_line_dist_tbl.FIRST_PTY_ORG_ID(i),
2112                                 p_trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(i),
2113                                 p_trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(i),
2114                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
2115                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
2116                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
2117                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
2118                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
2119                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
2120                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
2121                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
2122                                 p_trx_line_dist_tbl.LINE_INTENDED_USE(i),
2123                                 p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
2124                                 p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
2125                                 p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
2126                                 p_trx_line_dist_tbl.TRX_SIC_CODE(i),
2127                                 p_trx_line_dist_tbl.FOB_POINT(i),
2128                                 p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
2129                                 p_trx_line_dist_tbl.PRODUCT_ID(i),
2130                                 p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i),
2131                                 p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
2132                                 p_trx_line_dist_tbl.UOM_CODE(i),
2133                                 p_trx_line_dist_tbl.PRODUCT_TYPE(i),
2134                                 p_trx_line_dist_tbl.PRODUCT_CODE(i),
2135                                 p_trx_line_dist_tbl.PRODUCT_CATEGORY(i),
2136                                 p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
2137                                 p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i),
2138                                 p_trx_line_dist_tbl.LINE_AMT(i),
2139                                 p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
2140                                 p_trx_line_dist_tbl.UNIT_PRICE(i),
2141                                 p_trx_line_dist_tbl.CASH_DISCOUNT(i),
2142                                 p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
2143                                 p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
2144                                 p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
2145                                 p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
2146                                 p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
2147                                 p_trx_line_dist_tbl.OTHER_CHARGE(i),
2148                                 p_trx_line_dist_tbl.ASSESSABLE_VALUE(i),
2149                                 p_trx_line_dist_tbl.ASSET_FLAG(i),
2150                                 p_trx_line_dist_tbl.ASSET_NUMBER(i),
2151                                 p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
2152                                 p_trx_line_dist_tbl.ASSET_TYPE(i),
2153                                 p_trx_line_dist_tbl.ASSET_COST(i),
2154                                 p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
2155                                 p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
2156                                 p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
2157                                 p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
2158                                 p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
2159                                 p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
2160                                 p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
2161                                 p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
2162                                 p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
2163                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
2164                                 p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
2165                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
2166                                 p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
2167                                 p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
2168                                 p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
2169                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
2170                                 p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
2171                                 p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
2172                                 p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
2173                                 p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
2174                                 p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
2175                                 p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
2176                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
2177                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
2178                                 p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
2179                                 p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
2180                                 p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
2181                                 p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
2182                                 p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
2183                                 p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i),
2184                                 p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
2185                                 p_trx_line_dist_tbl.EXEMPT_REASON(i),
2186                                 p_trx_line_dist_tbl.HISTORICAL_FLAG(i),
2187                                 p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
2188                                 p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
2189                                 p_trx_line_dist_tbl.ACCOUNT_CCID(i),
2190                                 p_trx_line_dist_tbl.ACCOUNT_STRING(i),
2191                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
2192                                 p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
2193                                 p_trx_line_dist_tbl.NUMERIC1(i),
2194                                 p_trx_line_dist_tbl.NUMERIC2(i),
2195                                 p_trx_line_dist_tbl.NUMERIC3(i),
2196                                 p_trx_line_dist_tbl.NUMERIC4(i),
2197                                 p_trx_line_dist_tbl.NUMERIC5(i),
2198                                 p_trx_line_dist_tbl.NUMERIC6(i),
2199                                 p_trx_line_dist_tbl.NUMERIC7(i),
2200                                 p_trx_line_dist_tbl.NUMERIC8(i),
2201                                 p_trx_line_dist_tbl.NUMERIC9(i),
2202                                 p_trx_line_dist_tbl.NUMERIC10(i),
2203                                 p_trx_line_dist_tbl.CHAR1(i),
2204                                 p_trx_line_dist_tbl.CHAR2(i),
2205                                 p_trx_line_dist_tbl.CHAR3(i),
2206                                 p_trx_line_dist_tbl.CHAR4(i),
2207                                 p_trx_line_dist_tbl.CHAR5(i),
2208                                 p_trx_line_dist_tbl.CHAR6(i),
2209                                 p_trx_line_dist_tbl.CHAR7(i),
2210                                 p_trx_line_dist_tbl.CHAR8(i),
2211                                 p_trx_line_dist_tbl.CHAR9(i),
2212                                 p_trx_line_dist_tbl.CHAR10(i),
2213                                 p_trx_line_dist_tbl.DATE1(i),
2214                                 p_trx_line_dist_tbl.DATE2(i),
2215                                 p_trx_line_dist_tbl.DATE3(i),
2216                                 p_trx_line_dist_tbl.DATE4(i),
2217                                 p_trx_line_dist_tbl.DATE5(i),
2218                                 p_trx_line_dist_tbl.DATE6(i),
2219                                 p_trx_line_dist_tbl.DATE7(i),
2220                                 p_trx_line_dist_tbl.DATE8(i),
2221                                 p_trx_line_dist_tbl.DATE9(i),
2222                                 p_trx_line_dist_tbl.DATE10(i),
2223                                 p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
2224                                 p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
2225                                 p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
2226                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
2227                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
2228                                 p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
2229                                 p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
2230                                 p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
2231                                 p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
2232                                 p_trx_line_dist_tbl.POA_LOCATION_ID(i),
2233                                 p_trx_line_dist_tbl.POO_LOCATION_ID(i),
2234                                 p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
2235                                 p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
2236                                 p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
2237                                 p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
2238                                 p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
2239                                 p_trx_line_dist_tbl.POC_LOCATION_ID(i),
2240                                 p_trx_line_dist_tbl.POI_LOCATION_ID(i),
2241                                 p_trx_line_dist_tbl.POD_LOCATION_ID(i),
2242                                 p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
2243                                 p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
2244                                 p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
2245                                 p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
2246                                 p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
2247                                 p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
2248                                 p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
2249                                 p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
2250                                 p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
2251                                 p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
2252                                 p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
2253                                 p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
2254                                 p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
2255                                 p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
2256                                 p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
2257                                 p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
2258                                 p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
2259                                 p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
2260                                 p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
2261                                 p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
2262                                 p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
2263                                 p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
2264                                 p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
2265                                 p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
2266                                 p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
2267                                 p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
2268                                 p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
2269                                 p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
2270                                 p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
2271                                 p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
2272                                 p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
2273                                 p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
2274                                 p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
2275                                 p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
2276                                 NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
2277                                 p_trx_line_dist_tbl.TRX_LINE_DATE(i),
2278                                 p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
2279                                 p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
2280                                 p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
2281                                 p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
2282                                 DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX','N',
2283                                       DECODE(p_event_class_rec.record_flag, 'N', 'N',NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag))), --Bug fix 5155481
2284                                 p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
2285                                 p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
2286                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
2287                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
2288                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
2289                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
2290                                 p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
2291                                 p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
2292                                 p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
2293                                 p_trx_line_dist_tbl.TRX_BATCH_ID(i),
2294                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
2295                                 p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
2296                                 p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
2297                                 p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
2298                                 p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
2299                                 p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
2300                                 p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
2301                                 p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
2302                                 p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
2303                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
2304                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
2305                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
2306                                 p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
2307                                 1,
2308                                 p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
2309                                 p_trx_line_dist_tbl.user_upd_det_factors_flag(i),
2310                                 'ETAX_CREATED',
2311                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
2312                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
2313                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
2314                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
2315                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
2316                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
2317                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
2318                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
2319                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
2320                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
2321                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
2322                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
2323                                 p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
2324                                 p_trx_line_dist_tbl.REVERSED_APPLN_ID(i),
2325                                 p_trx_line_dist_tbl.REVERSED_ENTITY_CODE(i),
2326                                 p_trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE(i),
2327                                 p_trx_line_dist_tbl.REVERSED_TRX_ID(i),
2328                                 p_trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE(i),
2329                                 p_trx_line_dist_tbl.REVERSED_TRX_LINE_ID(i),
2330                                 p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
2331                                 p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
2332                                 p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
2333                                 p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
2334                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
2335                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
2336                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
2337                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
2338                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
2339                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
2340                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
2341                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
2342                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
2343                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
2344                                 p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
2345                                 p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
2346                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
2347                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
2348                                 NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
2349                                 DECODE(ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
2350                                 SYSDATE SYSTEM_DATE_1,
2351                                 fnd_global.user_id USER_ID_1,
2352                                 SYSDATE SYSTEM_DATE_2,
2353                                 fnd_global.user_id USER_ID_2,
2354                                 fnd_global.conc_login_id
2355                            FROM DUAL
2356                           WHERE p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IS NOT NULL
2357                             AND NOT EXISTS (SELECT 'Y'
2358                                               FROM zx_errors_gt err_gt
2359                                              WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
2360                                                AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
2361                                                AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
2362                                                AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i));
2363     ELSE
2364        l_stmt_num := 2;
2365        FORALL i IN  INDICES OF p_trx_line_dist_tbl.application_id SAVE EXCEPTIONS
2366        INSERT INTO ZX_LINES_DET_FACTORS(
2367                                 EVENT_ID,
2368                                 INTERNAL_ORGANIZATION_ID,
2369                                 APPLICATION_ID,
2370                                 ENTITY_CODE,
2371                                 EVENT_CLASS_CODE,
2372                                 EVENT_CLASS_MAPPING_ID,
2373                                 EVENT_TYPE_CODE,
2374                                 DOC_EVENT_STATUS,
2375                                 LINE_LEVEL_ACTION,
2376                                 TRX_ID,
2377                                 TRX_LINE_ID,
2378                                 TRX_LEVEL_TYPE,
2379                                 TRX_DATE,
2380                                 TRX_DOC_REVISION,
2381                                 LEDGER_ID,
2382                                 TRX_CURRENCY_CODE,
2383                                 CURRENCY_CONVERSION_DATE,
2384                                 CURRENCY_CONVERSION_RATE,
2385                                 CURRENCY_CONVERSION_TYPE,
2386                                 MINIMUM_ACCOUNTABLE_UNIT,
2387                                 PRECISION,
2388                                 TRX_LINE_CURRENCY_CODE,
2389                                 TRX_LINE_CURRENCY_CONV_DATE,
2390                                 TRX_LINE_CURRENCY_CONV_RATE,
2391                                 TRX_LINE_CURRENCY_CONV_TYPE,
2392                                 TRX_LINE_MAU,
2393                                 TRX_LINE_PRECISION,
2394                                 LEGAL_ENTITY_ID,
2395                                 ESTABLISHMENT_ID,
2396                                 RECEIVABLES_TRX_TYPE_ID,
2397                                 DEFAULT_TAXATION_COUNTRY,
2398                                 TRX_NUMBER,
2399                                 TRX_LINE_NUMBER,
2400                                 TRX_LINE_DESCRIPTION,
2401                                 TRX_DESCRIPTION,
2402                                 TRX_COMMUNICATED_DATE,
2403                                 BATCH_SOURCE_ID,
2404                                 BATCH_SOURCE_NAME,
2405                                 DOC_SEQ_ID,
2406                                 DOC_SEQ_NAME,
2407                                 DOC_SEQ_VALUE,
2408                                 TRX_DUE_DATE,
2409                                 TRX_TYPE_DESCRIPTION,
2410                                 DOCUMENT_SUB_TYPE,
2411                                 SUPPLIER_TAX_INVOICE_NUMBER,
2412                                 SUPPLIER_TAX_INVOICE_DATE,
2413                                 SUPPLIER_EXCHANGE_RATE,
2414                                 TAX_INVOICE_DATE,
2415                                 TAX_INVOICE_NUMBER,
2416                                 FIRST_PTY_ORG_ID,
2417                                 TAX_EVENT_CLASS_CODE,
2418                                 TAX_EVENT_TYPE_CODE,
2419                                 RDNG_SHIP_TO_PTY_TX_PROF_ID,
2420                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID,
2421                                 RDNG_BILL_TO_PTY_TX_PROF_ID,
2422                                 RDNG_BILL_FROM_PTY_TX_PROF_ID,
2423                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID,
2424                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
2425                                 RDNG_BILL_TO_PTY_TX_P_ST_ID,
2426                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID,
2427                                 LINE_INTENDED_USE ,
2428                                 TRX_LINE_TYPE ,
2429                                 TRX_SHIPPING_DATE,
2430                                 TRX_RECEIPT_DATE,
2431                                 TRX_SIC_CODE,
2432                                 FOB_POINT ,
2433                                 TRX_WAYBILL_NUMBER,
2434                                 PRODUCT_ID,
2435                                 PRODUCT_FISC_CLASSIFICATION ,
2436                                 PRODUCT_ORG_ID,
2437                                 UOM_CODE,
2438                                 PRODUCT_TYPE ,
2439                                 PRODUCT_CODE,
2440                                 PRODUCT_CATEGORY ,
2441                                 PRODUCT_DESCRIPTION,
2442                                 USER_DEFINED_FISC_CLASS,
2443                                 LINE_AMT,
2444                                 TRX_LINE_QUANTITY,
2445                                 UNIT_PRICE,
2446                                 CASH_DISCOUNT,
2447                                 VOLUME_DISCOUNT,
2448                                 TRADING_DISCOUNT,
2449                                 TRANSFER_CHARGE,
2450                                 TRANSPORTATION_CHARGE,
2451                                 INSURANCE_CHARGE,
2452                                 OTHER_CHARGE,
2453                                 ASSESSABLE_VALUE,
2454                                 ASSET_FLAG,
2455                                 ASSET_NUMBER,
2456                                 ASSET_ACCUM_DEPRECIATION,
2457                                 ASSET_TYPE,
2458                                 ASSET_COST,
2459                                 RELATED_DOC_APPLICATION_ID,
2460                                 RELATED_DOC_ENTITY_CODE,
2461                                 RELATED_DOC_EVENT_CLASS_CODE,
2462                                 RELATED_DOC_TRX_ID,
2463                                 RELATED_DOC_NUMBER,
2464                                 RELATED_DOC_DATE,
2465                                 APPLIED_FROM_APPLICATION_ID,
2466                                 APPLIED_FROM_ENTITY_CODE,
2467                                 APPLIED_FROM_EVENT_CLASS_CODE,
2468                                 APPLIED_FROM_TRX_ID,
2469                                 APPLIED_FROM_LINE_ID,
2470                                 APPLIED_FROM_TRX_NUMBER,
2471                                 ADJUSTED_DOC_APPLICATION_ID,
2472                                 ADJUSTED_DOC_ENTITY_CODE,
2473                                 ADJUSTED_DOC_EVENT_CLASS_CODE,
2474                                 ADJUSTED_DOC_TRX_ID,
2475                                 ADJUSTED_DOC_LINE_ID,
2476                                 ADJUSTED_DOC_NUMBER,
2477                                 ADJUSTED_DOC_DATE,
2478                                 APPLIED_TO_APPLICATION_ID,
2479                                 APPLIED_TO_ENTITY_CODE,
2480                                 APPLIED_TO_EVENT_CLASS_CODE,
2481                                 APPLIED_TO_TRX_ID ,
2482                                 APPLIED_TO_TRX_LINE_ID,
2483                                 TRX_ID_LEVEL2,
2484                                 TRX_ID_LEVEL3,
2485                                 TRX_ID_LEVEL4,
2486                                 TRX_ID_LEVEL5,
2487                                 TRX_ID_LEVEL6,
2488                                 TRX_BUSINESS_CATEGORY,
2489                                 EXEMPT_CERTIFICATE_NUMBER,
2490                                 EXEMPT_REASON,
2491                                 HISTORICAL_FLAG,
2492                                 TRX_LINE_GL_DATE,
2493                                 LINE_AMT_INCLUDES_TAX_FLAG,
2494                                 ACCOUNT_CCID,
2495                                 ACCOUNT_STRING,
2496                                 MERCHANT_PARTY_TAX_PROF_ID,
2497                                 HQ_ESTB_PARTY_TAX_PROF_ID,
2498                                 NUMERIC1,
2499                                 NUMERIC2,
2500                                 NUMERIC3,
2501                                 NUMERIC4,
2502                                 NUMERIC5,
2503                                 NUMERIC6,
2504                                 NUMERIC7,
2505                                 NUMERIC8,
2506                                 NUMERIC9,
2507                                 NUMERIC10,
2508                                 CHAR1,
2509                                 CHAR2,
2510                                 CHAR3,
2511                                 CHAR4,
2512                                 CHAR5,
2513                                 CHAR6,
2514                                 CHAR7,
2515                                 CHAR8,
2516                                 CHAR9,
2517                                 CHAR10,
2518                                 DATE1,
2519                                 DATE2,
2520                                 DATE3,
2521                                 DATE4,
2522                                 DATE5,
2523                                 DATE6,
2524                                 DATE7,
2525                                 DATE8,
2526                                 DATE9,
2527                                 DATE10,
2528                                 MERCHANT_PARTY_NAME,
2529                                 MERCHANT_PARTY_DOCUMENT_NUMBER,
2530                                 MERCHANT_PARTY_REFERENCE,
2531                                 MERCHANT_PARTY_TAXPAYER_ID,
2532                                 MERCHANT_PARTY_TAX_REG_NUMBER,
2533                                 MERCHANT_PARTY_ID,
2534                                 MERCHANT_PARTY_COUNTRY,
2535                                 SHIP_TO_LOCATION_ID,
2536                                 SHIP_FROM_LOCATION_ID,
2537                                 POA_LOCATION_ID,
2538                                 POO_LOCATION_ID,
2539                                 BILL_TO_LOCATION_ID,
2540                                 BILL_FROM_LOCATION_ID,
2541                                 PAYING_LOCATION_ID,
2542                                 OWN_HQ_LOCATION_ID,
2543                                 TRADING_HQ_LOCATION_ID,
2544                                 POC_LOCATION_ID,
2545                                 POI_LOCATION_ID,
2546                                 POD_LOCATION_ID,
2547                                 TITLE_TRANSFER_LOCATION_ID,
2548                                 SHIP_TO_PARTY_TAX_PROF_ID ,
2549                                 SHIP_FROM_PARTY_TAX_PROF_ID,
2550                                 POA_PARTY_TAX_PROF_ID,
2551                                 POO_PARTY_TAX_PROF_ID,
2552                                 PAYING_PARTY_TAX_PROF_ID,
2553                                 OWN_HQ_PARTY_TAX_PROF_ID,
2554                                 TRADING_HQ_PARTY_TAX_PROF_ID,
2555                                 POI_PARTY_TAX_PROF_ID,
2556                                 POD_PARTY_TAX_PROF_ID,
2557                                 BILL_TO_PARTY_TAX_PROF_ID,
2558                                 BILL_FROM_PARTY_TAX_PROF_ID,
2559                                 TITLE_TRANS_PARTY_TAX_PROF_ID,
2560                                 SHIP_TO_SITE_TAX_PROF_ID,
2561                                 SHIP_FROM_SITE_TAX_PROF_ID,
2562                                 POA_SITE_TAX_PROF_ID,
2563                                 POO_SITE_TAX_PROF_ID,
2564                                 PAYING_SITE_TAX_PROF_ID,
2565                                 OWN_HQ_SITE_TAX_PROF_ID,
2566                                 TRADING_HQ_SITE_TAX_PROF_ID,
2567                                 POI_SITE_TAX_PROF_ID,
2568                                 POD_SITE_TAX_PROF_ID,
2569                                 BILL_TO_SITE_TAX_PROF_ID,
2570                                 BILL_FROM_SITE_TAX_PROF_ID,
2571                                 TITLE_TRANS_SITE_TAX_PROF_ID,
2572                                 CTRL_HDR_TX_APPL_FLAG,
2573                                 CTRL_TOTAL_LINE_TX_AMT,
2574                                 CTRL_TOTAL_HDR_TX_AMT,
2575                                 REF_DOC_APPLICATION_ID,
2576                                 REF_DOC_ENTITY_CODE,
2577                                 REF_DOC_EVENT_CLASS_CODE,
2578                                 REF_DOC_TRX_ID,
2579                                 REF_DOC_LINE_ID,
2580                                 REF_DOC_LINE_QUANTITY,
2581                                 LINE_CLASS,
2582                                 TRX_LINE_DATE,
2583                                 INPUT_TAX_CLASSIFICATION_CODE,
2584                                 OUTPUT_TAX_CLASSIFICATION_CODE,
2585                                 INTERNAL_ORG_LOCATION_ID,
2586                                 PORT_OF_ENTRY_CODE,
2587                                 TAX_REPORTING_FLAG,
2588                                 TAX_AMT_INCLUDED_FLAG,
2589                                 COMPOUNDING_TAX_FLAG,
2590                                 SHIP_THIRD_PTY_ACCT_ID,
2591                                 BILL_THIRD_PTY_ACCT_ID,
2592                                 SHIP_THIRD_PTY_ACCT_SITE_ID,
2593                                 BILL_THIRD_PTY_ACCT_SITE_ID,
2594                                 SHIP_TO_CUST_ACCT_SITE_USE_ID,
2595                                 BILL_TO_CUST_ACCT_SITE_USE_ID,
2596                                 START_EXPENSE_DATE,
2597                                 TRX_BATCH_ID,
2598                                 APPLIED_TO_TRX_NUMBER,
2599                                 SOURCE_APPLICATION_ID,
2600                                 SOURCE_ENTITY_CODE,
2601                                 SOURCE_EVENT_CLASS_CODE,
2602                                 SOURCE_TRX_ID,
2603                                 SOURCE_LINE_ID,
2604                                 SOURCE_TRX_LEVEL_TYPE,
2605                                 SOURCE_TAX_LINE_ID,
2606                                 REF_DOC_TRX_LEVEL_TYPE,
2607                                 ADJUSTED_DOC_TRX_LEVEL_TYPE,
2608                                 APPLIED_TO_TRX_LEVEL_TYPE,
2609                                 APPLIED_FROM_TRX_LEVEL_TYPE,
2610                                 APPLICATION_DOC_STATUS,
2611                                 OBJECT_VERSION_NUMBER,
2612                                 TAX_PROCESSING_COMPLETED_FLAG,
2613                                 USER_UPD_DET_FACTORS_FLAG,
2614                                 RECORD_TYPE_CODE,
2615                                 HDR_TRX_USER_KEY1,
2616                                 HDR_TRX_USER_KEY2,
2617                                 HDR_TRX_USER_KEY3,
2618                                 HDR_TRX_USER_KEY4,
2619                                 HDR_TRX_USER_KEY5,
2620                                 HDR_TRX_USER_KEY6,
2621                                 LINE_TRX_USER_KEY1,
2622                                 LINE_TRX_USER_KEY2,
2623                                 LINE_TRX_USER_KEY3,
2624                                 LINE_TRX_USER_KEY4,
2625                                 LINE_TRX_USER_KEY5,
2626                                 LINE_TRX_USER_KEY6,
2627                                 TAX_CALCULATION_DONE_FLAG,
2628                                 REVERSED_APPLN_ID,
2629                                 REVERSED_ENTITY_CODE,
2630                                 REVERSED_EVNT_CLS_CODE,
2631                                 REVERSED_TRX_ID,
2632                                 REVERSED_TRX_LEVEL_TYPE,
2633                                 REVERSED_TRX_LINE_ID,
2634                                 EXEMPTION_CONTROL_FLAG,
2635                                 EXEMPT_REASON_CODE,
2636                                 INTERFACE_ENTITY_CODE,
2637                                 INTERFACE_LINE_ID,
2638                                 DEFAULTING_ATTRIBUTE1,
2639                                 DEFAULTING_ATTRIBUTE2,
2640                                 DEFAULTING_ATTRIBUTE3,
2641                                 DEFAULTING_ATTRIBUTE4,
2642                                 DEFAULTING_ATTRIBUTE5,
2643                                 DEFAULTING_ATTRIBUTE6,
2644                                 DEFAULTING_ATTRIBUTE7,
2645                                 DEFAULTING_ATTRIBUTE8,
2646                                 DEFAULTING_ATTRIBUTE9,
2647                                 DEFAULTING_ATTRIBUTE10,
2648                                 PROVNL_TAX_DETERMINATION_DATE,
2649                                 HISTORICAL_TAX_CODE_ID,
2650                                 GLOBAL_ATTRIBUTE_CATEGORY,
2651                                 GLOBAL_ATTRIBUTE1,
2652                                 TOTAL_INC_TAX_AMT,
2653                                 ICX_SESSION_ID,
2654                                 CREATION_DATE,
2655                                 CREATED_BY,
2656                                 LAST_UPDATE_DATE,
2657                                 LAST_UPDATED_BY,
2658                                 LAST_UPDATE_LOGIN)
2659                          SELECT p_event_class_rec.event_id,
2660                                 p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
2661                                 p_trx_line_dist_tbl.APPLICATION_ID(i),
2662                                 p_trx_line_dist_tbl.ENTITY_CODE(i),
2663                                 p_trx_line_dist_tbl.EVENT_CLASS_CODE(i),
2664                                 p_event_class_rec.EVENT_CLASS_MAPPING_ID,
2665                                 p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
2666                                 p_event_class_rec.DOC_STATUS_CODE,
2667                                 p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
2668                                 p_trx_line_dist_tbl.TRX_ID(i),
2669                                 p_trx_line_dist_tbl.TRX_LINE_ID(i),
2670                                 p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i),
2671                                 p_trx_line_dist_tbl.TRX_DATE(i),
2672                                 p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
2673                                 p_trx_line_dist_tbl.LEDGER_ID(i),
2674                                 p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
2675                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
2676                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
2677                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
2678                                 p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
2679                                 p_trx_line_dist_tbl.PRECISION(i),
2680                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
2681                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i)),
2682                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i)),
2683                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i)),
2684                                 NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
2685                                 NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
2686                                 p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
2687                                 p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
2688                                 p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
2689                                 p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
2690                                 p_trx_line_dist_tbl.TRX_NUMBER(i),
2691                                 p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
2692                                 p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
2693                                 p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
2694                                 p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
2695                                 p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
2696                                 p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
2697                                 p_trx_line_dist_tbl.DOC_SEQ_ID(i),
2698                                 p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
2699                                 p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
2700                                 p_trx_line_dist_tbl.TRX_DUE_DATE(i),
2701                                 p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
2702                                 p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i),
2703                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
2704                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
2705                                 p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
2706                                 p_trx_line_dist_tbl.TAX_INVOICE_DATE(i),
2707                                 p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
2708                                 p_trx_line_dist_tbl.FIRST_PTY_ORG_ID(i),
2709                                 p_trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(i),
2710                                 p_trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(i),
2711                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
2712                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
2713                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
2714                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
2715                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
2716                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
2717                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
2718                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
2719                                 p_trx_line_dist_tbl.LINE_INTENDED_USE(i),
2720                                 p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
2721                                 p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
2722                                 p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
2723                                 p_trx_line_dist_tbl.TRX_SIC_CODE(i),
2724                                 p_trx_line_dist_tbl.FOB_POINT(i),
2725                                 p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
2726                                 p_trx_line_dist_tbl.PRODUCT_ID(i),
2727                                 p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i),
2728                                 p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
2729                                 p_trx_line_dist_tbl.UOM_CODE(i),
2730                                 p_trx_line_dist_tbl.PRODUCT_TYPE(i),
2731                                 p_trx_line_dist_tbl.PRODUCT_CODE(i),
2732                                 p_trx_line_dist_tbl.PRODUCT_CATEGORY(i),
2733                                 p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
2734                                 p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i),
2735                                 p_trx_line_dist_tbl.LINE_AMT(i),
2736                                 p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
2737                                 p_trx_line_dist_tbl.UNIT_PRICE(i),
2738                                 p_trx_line_dist_tbl.CASH_DISCOUNT(i),
2739                                 p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
2740                                 p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
2741                                 p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
2742                                 p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
2743                                 p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
2744                                 p_trx_line_dist_tbl.OTHER_CHARGE(i),
2745                                 p_trx_line_dist_tbl.ASSESSABLE_VALUE(i),
2746                                 p_trx_line_dist_tbl.ASSET_FLAG(i),
2747                                 p_trx_line_dist_tbl.ASSET_NUMBER(i),
2748                                 p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
2749                                 p_trx_line_dist_tbl.ASSET_TYPE(i),
2750                                 p_trx_line_dist_tbl.ASSET_COST(i),
2751                                 p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
2752                                 p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
2753                                 p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
2754                                 p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
2755                                 p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
2756                                 p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
2757                                 p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
2758                                 p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
2759                                 p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
2760                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
2761                                 p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
2762                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
2763                                 p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
2764                                 p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
2765                                 p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
2766                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
2767                                 p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
2768                                 p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
2769                                 p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
2770                                 p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
2771                                 p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
2772                                 p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
2773                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
2774                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
2775                                 p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
2776                                 p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
2777                                 p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
2778                                 p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
2779                                 p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
2780                                 p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i),
2781                                 p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
2782                                 p_trx_line_dist_tbl.EXEMPT_REASON(i),
2783                                 p_trx_line_dist_tbl.HISTORICAL_FLAG(i),
2784                                 p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
2785                                 p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
2786                                 p_trx_line_dist_tbl.ACCOUNT_CCID(i),
2787                                 p_trx_line_dist_tbl.ACCOUNT_STRING(i),
2788                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
2789                                 p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
2790                                 p_trx_line_dist_tbl.NUMERIC1(i),
2791                                 p_trx_line_dist_tbl.NUMERIC2(i),
2792                                 p_trx_line_dist_tbl.NUMERIC3(i),
2793                                 p_trx_line_dist_tbl.NUMERIC4(i),
2794                                 p_trx_line_dist_tbl.NUMERIC5(i),
2795                                 p_trx_line_dist_tbl.NUMERIC6(i),
2796                                 p_trx_line_dist_tbl.NUMERIC7(i),
2797                                 p_trx_line_dist_tbl.NUMERIC8(i),
2798                                 p_trx_line_dist_tbl.NUMERIC9(i),
2799                                 p_trx_line_dist_tbl.NUMERIC10(i),
2800                                 p_trx_line_dist_tbl.CHAR1(i),
2801                                 p_trx_line_dist_tbl.CHAR2(i),
2802                                 p_trx_line_dist_tbl.CHAR3(i),
2803                                 p_trx_line_dist_tbl.CHAR4(i),
2804                                 p_trx_line_dist_tbl.CHAR5(i),
2805                                 p_trx_line_dist_tbl.CHAR6(i),
2806                                 p_trx_line_dist_tbl.CHAR7(i),
2807                                 p_trx_line_dist_tbl.CHAR8(i),
2808                                 p_trx_line_dist_tbl.CHAR9(i),
2809                                 p_trx_line_dist_tbl.CHAR10(i),
2810                                 p_trx_line_dist_tbl.DATE1(i),
2811                                 p_trx_line_dist_tbl.DATE2(i),
2812                                 p_trx_line_dist_tbl.DATE3(i),
2813                                 p_trx_line_dist_tbl.DATE4(i),
2814                                 p_trx_line_dist_tbl.DATE5(i),
2815                                 p_trx_line_dist_tbl.DATE6(i),
2816                                 p_trx_line_dist_tbl.DATE7(i),
2817                                 p_trx_line_dist_tbl.DATE8(i),
2818                                 p_trx_line_dist_tbl.DATE9(i),
2819                                 p_trx_line_dist_tbl.DATE10(i),
2820                                 p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
2821                                 p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
2822                                 p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
2823                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
2824                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
2825                                 p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
2826                                 p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
2827                                 p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
2828                                 p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
2829                                 p_trx_line_dist_tbl.POA_LOCATION_ID(i),
2830                                 p_trx_line_dist_tbl.POO_LOCATION_ID(i),
2831                                 p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
2832                                 p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
2833                                 p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
2834                                 p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
2835                                 p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
2836                                 p_trx_line_dist_tbl.POC_LOCATION_ID(i),
2837                                 p_trx_line_dist_tbl.POI_LOCATION_ID(i),
2838                                 p_trx_line_dist_tbl.POD_LOCATION_ID(i),
2839                                 p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
2840                                 p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
2841                                 p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
2842                                 p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
2843                                 p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
2844                                 p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
2845                                 p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
2846                                 p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
2847                                 p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
2848                                 p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
2849                                 p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
2850                                 p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
2851                                 p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
2852                                 p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
2853                                 p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
2854                                 p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
2855                                 p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
2856                                 p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
2857                                 p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
2858                                 p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
2859                                 p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
2860                                 p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
2861                                 p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
2862                                 p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
2863                                 p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
2864                                 p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
2865                                 p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
2866                                 p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
2867                                 p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
2868                                 p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
2869                                 p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
2870                                 p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
2871                                 p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
2872                                 p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
2873                                 NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
2874                                 p_trx_line_dist_tbl.TRX_LINE_DATE(i),
2875                                 p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
2876                                 p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
2877                                 p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
2878                                 p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
2879                                 DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX','N',
2880                                       DECODE(p_event_class_rec.record_flag, 'N', 'N',NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag))), --Bug fix 5155481
2881                                 p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
2882                                 p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
2883                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
2884                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
2885                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
2886                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
2887                                 p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
2888                                 p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
2889                                 p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
2890                                 p_trx_line_dist_tbl.TRX_BATCH_ID(i),
2891                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
2892                                 p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
2893                                 p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
2894                                 p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
2895                                 p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
2896                                 p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
2897                                 p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
2898                                 p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
2899                                 p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
2900                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
2901                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
2902                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
2903                                 p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
2904                                 1,
2905                                 p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
2906                                 p_trx_line_dist_tbl.user_upd_det_factors_flag(i),
2907                                 'ETAX_CREATED',
2908                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
2909                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
2910                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
2911                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
2912                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
2913                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
2914                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
2915                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
2916                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
2917                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
2918                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
2919                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
2920                                 p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
2921                                 p_trx_line_dist_tbl.REVERSED_APPLN_ID(i),
2922                                 p_trx_line_dist_tbl.REVERSED_ENTITY_CODE(i),
2923                                 p_trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE(i),
2924                                 p_trx_line_dist_tbl.REVERSED_TRX_ID(i),
2925                                 p_trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE(i),
2926                                 p_trx_line_dist_tbl.REVERSED_TRX_LINE_ID(i),
2927                                 p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
2928                                 p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
2929                                 p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
2930                                 p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
2931                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
2932                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
2933                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
2934                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
2935                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
2936                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
2937                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
2938                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
2939                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
2940                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
2941                                 p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
2942                                 p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
2943                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
2944                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
2945                                 NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
2946                                 DECODE(ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
2947                                 SYSDATE SYSTEM_DATE_1,
2948                                 fnd_global.user_id USER_ID_1,
2949                                 SYSDATE SYSTEM_DATE_2,
2950                                 fnd_global.user_id USER_ID_2,
2951                                 fnd_global.conc_login_id
2952                            FROM DUAL
2953                           WHERE p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IS NOT NULL
2954                             AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IN
2955                                      ('CREATE',
2956                                       'CREATE_TAX_ONLY',
2957                                       'APPLY_FROM',
2958                                       'INTERCOMPANY_CREATE',
2959                                       'LINE_INFO_TAX_ONLY',
2960                                       'CREATE_WITH_TAX',
2961                                       'ALLOCATE_TAX_ONLY_ADJUSTMENT',
2962                                       'COPY_AND_CREATE',
2963                                       'RECORD_WITH_NO_TAX')
2964                             AND NOT EXISTS (SELECT 'Y'
2965                                               FROM zx_errors_gt err_gt
2966                                              WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
2967                                                AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
2968                                                AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
2969                                                AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i));
2970     END IF;
2971 
2972        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2973          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
2974                         'Records Inserted (DML-'||l_stmt_num||') = ' || SQL%ROWCOUNT);
2975          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
2976            G_PKG_NAME||':'||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
2977        END IF;
2978 
2979  EXCEPTION
2980     -- Following exception added for Error Handling Fix Bug#10062401
2981   WHEN cons_violation THEN
2982     l_err_count := SQL%BULK_EXCEPTIONS.COUNT;
2983 
2984     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2985     IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
2986       FND_LOG.STRING(G_LEVEL_STATEMENT,
2987              'ZX.PLSQL.ZX_SRVC_TYP_PKG.db_insert_line_det_factors',
2988              TO_CHAR(l_err_count)||' Error(s) occured while inserting record into ZX_LINES_DET_FACTORS.');
2989     END IF;
2990 
2991     l_err_trx_id := -99;
2992     FOR i IN 1 .. l_err_count LOOP
2993       l_err_idx  := SQL%BULK_EXCEPTIONS(i).ERROR_INDEX;
2994       l_err_code := SQL%BULK_EXCEPTIONS(i).ERROR_CODE;
2995 
2996       IF l_err_trx_id <> p_trx_line_dist_tbl.trx_id(l_err_idx) THEN
2997         IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
2998           FND_LOG.STRING(G_LEVEL_STATEMENT,
2999                  'ZX.PLSQL.ZX_SRVC_TYP_PKG.db_insert_line_det_factors',
3000                  'trx_id :' || p_trx_line_dist_tbl.trx_id(l_err_idx));
3001           FND_LOG.STRING(G_LEVEL_STATEMENT,
3002                  'ZX.PLSQL.ZX_SRVC_TYP_PKG.db_insert_line_det_factors',
3003                  'trx_line_id :' || p_trx_line_dist_tbl.trx_line_id(l_err_idx));
3004         END IF;
3005         l_context_info_rec.application_id          := p_trx_line_dist_tbl.application_id(l_err_idx);
3006         l_context_info_rec.entity_code             := p_trx_line_dist_tbl.entity_code(l_err_idx);
3007         l_context_info_rec.event_class_code        := p_trx_line_dist_tbl.event_class_code(l_err_idx);
3008         l_context_info_rec.trx_id                  := p_trx_line_dist_tbl.trx_id(l_err_idx);
3009         l_context_info_rec.trx_line_id             := p_trx_line_dist_tbl.trx_line_id(l_err_idx);
3010         l_context_info_rec.trx_level_type          := p_trx_line_dist_tbl.trx_level_type(l_err_idx);
3011 
3012         l_ora_error := 'ORA-'||SUBSTR(LPAD(TO_CHAR(l_err_code),5,'0'),1,5);
3013 
3014         FND_MESSAGE.SET_NAME('ZX','ZX_DET_FACT_CONS_VIOLATED');
3015         FND_MESSAGE.SET_TOKEN('ERROR_CODE',l_ora_error);
3016         ZX_API_PUB.Add_Msg(l_context_info_rec);
3017 
3018         l_err_trx_id := p_trx_line_dist_tbl.trx_id(l_err_idx);
3019 
3020            print_unique_columns(p_application_id   => p_trx_line_dist_tbl.application_id(l_err_idx),
3021                                 p_entity_code      => p_trx_line_dist_tbl.entity_code(l_err_idx),
3022                                 p_event_class_code => p_trx_line_dist_tbl.event_class_code(l_err_idx),
3023                                 p_trx_id           => p_trx_line_dist_tbl.trx_id(l_err_idx),
3024                                 p_trx_line_id      => p_trx_line_dist_tbl.trx_line_id(l_err_idx),
3025                                 p_trx_level_type   => p_trx_line_dist_tbl.trx_level_type(l_err_idx)
3026                                 );
3027 
3028       END IF;
3029     END LOOP;
3030 
3031     WHEN OTHERS THEN
3032        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3033        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3034           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,SQLERRM);
3035        END IF;
3036  END db_insert_line_det_factors;
3037 
3038 -----------------------------------------------------------------------
3039 --  PRIVATE PROCEDURE
3040 --  db_update_line_det_factors
3041 --
3042 --  DESCRIPTION
3043 --  Bulk update into zx_lines_det_factors
3044 --
3045 --  CALLED BY
3046 --    calculate_tax
3047 --    insupd_line_det_factors
3048 -----------------------------------------------------------------------
3049 /*----------------------------------------------------------------------------*
3050  |p_update needed in case of UPDATE tax event type wherein some records passed|
3051  |need to be updated in zx_lines_det_factors while others need to be inserted |
3052  |depending on the line level action. This scenario is applicable only for    |
3053  |Calculate_tax API. p_update stores the index from which the lines from      |
3054  |the collection needs to be updated to zx_lines_det_factors                  |
3055  *----------------------------------------------------------------------------*/
3056 
3057 PROCEDURE db_update_line_det_factors
3058    (p_trx_line_dist_tbl  IN         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%TYPE,
3059     p_event_class_rec    IN         ZX_API_PUB.event_class_rec_type,
3060     p_update_index       IN         NUMBER,
3061     x_return_status      OUT NOCOPY VARCHAR2)
3062 IS
3063   l_api_name           CONSTANT VARCHAR2(30):= 'UPDATE_LINE_DET_FACTORS';
3064   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
3065   l_insert_tab         ZX_API_PUB.VARCHAR2_1_tbl_type;
3066   l_return_status      VARCHAR2(1);
3067   l_stmt_num           NUMBER;
3068 
3069   BEGIN
3070     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3071       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||':'||l_api_name||'()+');
3072     END IF;
3073 
3074     /*Set the return status to Success */
3075     x_return_status := FND_API.G_RET_STS_SUCCESS;
3076     l_stmt_num := 0;
3077 
3078     /* In case of UPDATE, then if line_level_action in (UPDATE/DISCARD/CANCEL/SYNCHRONIZE) then UPDATE
3079        if line_level_action in (CREATE/CREATE_TAX_ONLY/APPLY_FROM/UNAPPLY_FROM/LINE_INFO_TAX_ONLY) then INSERT
3080     */
3081 
3082     /*Here we need to take the snapshot of det_factors before updation,so that this info can be used
3083      during contra entry for parnter*/
3084 
3085      -- IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'Y') = 'Y' THEN
3086        ZX_R11I_TAX_PARTNER_PKG.copy_trx_line_for_ptnr_bef_upd(p_trx_line_dist_tbl,
3087                                                               p_event_class_rec,
3088                                                               p_update_index,
3089                                                               'N',
3090                                                               NULL,
3091                                                               NULL,
3092                                                               l_return_status
3093                                                              );
3094        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3095           x_return_status := l_return_status ;
3096           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3097              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_R11I_TAX_PARTNER_PKG.copy_trx_line_for_ptnr_bef_upd  returned errors');
3098           END IF;
3099           RETURN;
3100        END IF;
3101      -- END IF;
3102 
3103     -- Added IF-ELSE statement for Bug#7588449
3104     IF ZX_API_PUB.G_PUB_SRVC = 'UPDATE_LINE_DET_FACTORS' OR
3105        (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND
3106         p_event_class_rec.quote_flag ='N' AND
3107         p_event_class_rec.tax_event_type_code IN('UPDATE','CREATE'))
3108     THEN
3109        --FORALL i IN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) .. NVL(p_update_index,-99)
3110        -- Bug 8873180
3111        l_stmt_num := 1;
3112        FORALL i IN  INDICES OF p_trx_line_dist_tbl.application_id BETWEEN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) AND NVL(p_update_index,-99)
3113        UPDATE ZX_LINES_DET_FACTORS SET
3114                                 EVENT_ID                       = p_event_class_rec.event_id,
3115                                 INTERNAL_ORGANIZATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
3116                                 EVENT_TYPE_CODE                = p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
3117                                 DOC_EVENT_STATUS               = p_event_class_rec.DOC_STATUS_CODE,
3118                                 LINE_LEVEL_ACTION              = p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
3119                                 LINE_CLASS                     = NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
3120                                 TRX_DATE                       = p_trx_line_dist_tbl.TRX_DATE(i),
3121                                 TRX_DOC_REVISION               = p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
3122                                 LEDGER_ID                      = p_trx_line_dist_tbl.LEDGER_ID(i),
3123                                 TRX_CURRENCY_CODE              = p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
3124                                 CURRENCY_CONVERSION_DATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
3125                                 CURRENCY_CONVERSION_RATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
3126                                 CURRENCY_CONVERSION_TYPE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
3127                                 MINIMUM_ACCOUNTABLE_UNIT       = p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
3128                                 PRECISION                      = p_trx_line_dist_tbl.PRECISION(i),
3129                                 TRX_LINE_CURRENCY_CODE         = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
3130                                 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)),
3131                                 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)),
3132                                 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)),
3133                                 TRX_LINE_MAU                   = NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
3134                                 TRX_LINE_PRECISION             = NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
3135                                 LEGAL_ENTITY_ID                = p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
3136                                 ESTABLISHMENT_ID               = p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
3137                                 RECEIVABLES_TRX_TYPE_ID        = p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
3138                                 DEFAULT_TAXATION_COUNTRY       = p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
3139                                 TRX_NUMBER                     = p_trx_line_dist_tbl.TRX_NUMBER(i),
3140                                 TRX_LINE_NUMBER                = p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
3141                                 TRX_LINE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
3142                                 TRX_DESCRIPTION                = p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
3143                                 TRX_COMMUNICATED_DATE          = p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
3144                                 BATCH_SOURCE_ID                = p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
3145                                 BATCH_SOURCE_NAME              = p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
3146                                 DOC_SEQ_ID                     = p_trx_line_dist_tbl.DOC_SEQ_ID(i),
3147                                 DOC_SEQ_NAME                   = p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
3148                                 DOC_SEQ_VALUE                  = p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
3149                                 TRX_DUE_DATE                   = p_trx_line_dist_tbl.TRX_DUE_DATE(i),
3150                                 TRX_TYPE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
3151                                 DOCUMENT_SUB_TYPE              = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', DOCUMENT_SUB_TYPE, p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i)),
3152                                 SUPPLIER_TAX_INVOICE_NUMBER    = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
3153                                 SUPPLIER_TAX_INVOICE_DATE      = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
3154                                 SUPPLIER_EXCHANGE_RATE         = p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
3155                                 TAX_INVOICE_DATE               = DECODE(p_trx_line_dist_tbl.TAX_INVOICE_DATE(i)
3156                                                                        ,FND_API.G_MISS_DATE,TAX_INVOICE_DATE
3157                                                                        ,DECODE(USER_UPD_DET_FACTORS_FLAG
3158                                                                               ,'Y', TAX_INVOICE_DATE
3159                                                                               , p_trx_line_dist_tbl.TAX_INVOICE_DATE(i))
3160                                                                        ),
3161                                 TAX_INVOICE_NUMBER             = DECODE(p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i), FND_API.G_MISS_CHAR, TAX_INVOICE_NUMBER
3162                                                                        ,p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i)),
3163                                 FIRST_PTY_ORG_ID               = p_trx_line_dist_tbl.FIRST_PTY_ORG_ID(i),
3164                                 TAX_EVENT_CLASS_CODE           = p_event_class_rec.TAX_EVENT_CLASS_CODE,
3165                                 TAX_EVENT_TYPE_CODE            = p_event_class_rec.TAX_EVENT_TYPE_CODE,
3166                                 RDNG_SHIP_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
3167                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
3168                                 RDNG_BILL_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
3169                                 RDNG_BILL_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
3170                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
3171                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
3172                                 RDNG_BILL_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
3173                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
3174                                 LINE_INTENDED_USE              = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', LINE_INTENDED_USE, p_trx_line_dist_tbl.LINE_INTENDED_USE(i)), -- Bug 14589356
3175                                 TRX_LINE_TYPE                  = p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
3176                                 TRX_SHIPPING_DATE              = p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
3177                                 TRX_RECEIPT_DATE               = p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
3178                                 TRX_SIC_CODE                   = p_trx_line_dist_tbl.TRX_SIC_CODE(i),
3179                                 FOB_POINT                      = p_trx_line_dist_tbl.FOB_POINT(i),
3180                                 TRX_WAYBILL_NUMBER             = p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
3181                                 PRODUCT_ID                     = p_trx_line_dist_tbl.PRODUCT_ID(i),
3182                                 PRODUCT_FISC_CLASSIFICATION    = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', PRODUCT_FISC_CLASSIFICATION, p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i)), -- Bug 14589356
3183                                 PRODUCT_ORG_ID                 = p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
3184                                 UOM_CODE                       = p_trx_line_dist_tbl.UOM_CODE(i),
3185                                 PRODUCT_TYPE                   = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_TYPE, p_trx_line_dist_tbl.PRODUCT_TYPE(i)), -- Bug 14589356
3186                                 PRODUCT_CODE                   = p_trx_line_dist_tbl.PRODUCT_CODE(i),
3187                                 PRODUCT_CATEGORY               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_CATEGORY, p_trx_line_dist_tbl.PRODUCT_CATEGORY(i)), -- Bug 14589356
3188                                 PRODUCT_DESCRIPTION            = p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
3189                                 USER_DEFINED_FISC_CLASS        = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',USER_DEFINED_FISC_CLASS, p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i)), -- Bug 14589356
3190                                 LINE_AMT                       = p_trx_line_dist_tbl.LINE_AMT(i),
3191                                 TRX_LINE_QUANTITY              = p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
3192                                 UNIT_PRICE                     = p_trx_line_dist_tbl.UNIT_PRICE(i),
3193                                 CASH_DISCOUNT                  = p_trx_line_dist_tbl.CASH_DISCOUNT(i),
3194                                 VOLUME_DISCOUNT                = p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
3195                                 TRADING_DISCOUNT               = p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
3196                                 TRANSFER_CHARGE                = p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
3197                                 TRANSPORTATION_CHARGE          = p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
3198                                 INSURANCE_CHARGE               = p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
3199                                 OTHER_CHARGE                   = p_trx_line_dist_tbl.OTHER_CHARGE(i),
3200                                 ASSESSABLE_VALUE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',ASSESSABLE_VALUE, p_trx_line_dist_tbl.ASSESSABLE_VALUE(i)), -- Bug 14589356
3201                                 ASSET_FLAG                     = p_trx_line_dist_tbl.ASSET_FLAG(i),
3202                                 ASSET_NUMBER                   = p_trx_line_dist_tbl.ASSET_NUMBER(i),
3203                                 ASSET_ACCUM_DEPRECIATION       = p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
3204                                 ASSET_TYPE                     = p_trx_line_dist_tbl.ASSET_TYPE(i),
3205                                 ASSET_COST                     = p_trx_line_dist_tbl.ASSET_COST(i),
3206                                 RELATED_DOC_APPLICATION_ID     = p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
3207                                 RELATED_DOC_ENTITY_CODE        = p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
3208                                 RELATED_DOC_EVENT_CLASS_CODE   = p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
3209                                 RELATED_DOC_TRX_ID             = p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
3210                                 RELATED_DOC_NUMBER             = p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
3211                                 RELATED_DOC_DATE               = p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
3212                                 APPLIED_FROM_APPLICATION_ID    = p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
3213                                 APPLIED_FROM_ENTITY_CODE       = p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
3214                                 APPLIED_FROM_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
3215                                 APPLIED_FROM_TRX_ID            = p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
3216                                 APPLIED_FROM_LINE_ID           = p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
3217                                 APPLIED_FROM_TRX_NUMBER        = p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
3218                                 ADJUSTED_DOC_APPLICATION_ID    = p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
3219                                 ADJUSTED_DOC_ENTITY_CODE       = p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
3220                                 ADJUSTED_DOC_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
3221                                 ADJUSTED_DOC_TRX_ID            = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
3222                                 ADJUSTED_DOC_LINE_ID           = p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
3223                                 ADJUSTED_DOC_NUMBER            = p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
3224                                 ADJUSTED_DOC_DATE              = p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
3225                                 APPLIED_TO_APPLICATION_ID      = p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
3226                                 APPLIED_TO_ENTITY_CODE         = p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
3227                                 APPLIED_TO_EVENT_CLASS_CODE    = p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
3228                                 APPLIED_TO_TRX_ID              = p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
3229                                 APPLIED_TO_TRX_LINE_ID         = p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
3230                                 TRX_ID_LEVEL2                  = p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
3231                                 TRX_ID_LEVEL3                  = p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
3232                                 TRX_ID_LEVEL4                  = p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
3233                                 TRX_ID_LEVEL5                  = p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
3234                                 TRX_ID_LEVEL6                  = p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
3235                                 TRX_BUSINESS_CATEGORY          = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TRX_BUSINESS_CATEGORY, p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i)), -- Bug 14589356
3236                                 EXEMPT_CERTIFICATE_NUMBER      = p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
3237                                 EXEMPT_REASON                  = p_trx_line_dist_tbl.EXEMPT_REASON(i),
3238                                 HISTORICAL_FLAG                = NVL(HISTORICAL_FLAG,p_trx_line_dist_tbl.HISTORICAL_FLAG(i)),
3239                                 TRX_LINE_GL_DATE               = p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
3240                                 LINE_AMT_INCLUDES_TAX_FLAG     = p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
3241                                 ACCOUNT_CCID                   = p_trx_line_dist_tbl.ACCOUNT_CCID(i),
3242                                 ACCOUNT_STRING                 = p_trx_line_dist_tbl.ACCOUNT_STRING(i),
3243                                 MERCHANT_PARTY_TAX_PROF_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
3244                                 HQ_ESTB_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
3245                                 NUMERIC1                       = p_trx_line_dist_tbl.NUMERIC1(i),
3246                                 NUMERIC2                       = p_trx_line_dist_tbl.NUMERIC2(i),
3247                                 NUMERIC3                       = p_trx_line_dist_tbl.NUMERIC3(i),
3248                                 NUMERIC4                       = p_trx_line_dist_tbl.NUMERIC4(i),
3249                                 NUMERIC5                       = p_trx_line_dist_tbl.NUMERIC5(i),
3250                                 NUMERIC6                       = p_trx_line_dist_tbl.NUMERIC6(i),
3251                                 NUMERIC7                       = p_trx_line_dist_tbl.NUMERIC7(i),
3252                                 NUMERIC8                       = p_trx_line_dist_tbl.NUMERIC8(i),
3253                                 NUMERIC9                       = p_trx_line_dist_tbl.NUMERIC9(i),
3254                                 NUMERIC10                      = p_trx_line_dist_tbl.NUMERIC10(i),
3255                                 CHAR1                          = p_trx_line_dist_tbl.CHAR1(i),
3256                                 CHAR2                          = p_trx_line_dist_tbl.CHAR2(i),
3257                                 CHAR3                          = p_trx_line_dist_tbl.CHAR3(i),
3258                                 CHAR4                          = p_trx_line_dist_tbl.CHAR4(i),
3259                                 CHAR5                          = p_trx_line_dist_tbl.CHAR5(i),
3260                                 CHAR6                          = p_trx_line_dist_tbl.CHAR6(i),
3261                                 CHAR7                          = p_trx_line_dist_tbl.CHAR7(i),
3262                                 CHAR8                          = p_trx_line_dist_tbl.CHAR8(i),
3263                                 CHAR9                          = p_trx_line_dist_tbl.CHAR9(i),
3264                                 CHAR10                         = p_trx_line_dist_tbl.CHAR10(i),
3265                                 DATE1                          = p_trx_line_dist_tbl.DATE1(i),
3266                                 DATE2                          = p_trx_line_dist_tbl.DATE2(i),
3267                                 DATE3                          = p_trx_line_dist_tbl.DATE3(i),
3268                                 DATE4                          = p_trx_line_dist_tbl.DATE4(i),
3269                                 DATE5                          = p_trx_line_dist_tbl.DATE5(i),
3270                                 DATE6                          = p_trx_line_dist_tbl.DATE6(i),
3271                                 DATE7                          = p_trx_line_dist_tbl.DATE7(i),
3272                                 DATE8                          = p_trx_line_dist_tbl.DATE8(i),
3273                                 DATE9                          = p_trx_line_dist_tbl.DATE9(i),
3274                                 DATE10                         = p_trx_line_dist_tbl.DATE10(i),
3275                                 MERCHANT_PARTY_NAME            = p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
3276                                 MERCHANT_PARTY_DOCUMENT_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
3277                                 MERCHANT_PARTY_REFERENCE       = p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
3278                                 MERCHANT_PARTY_TAXPAYER_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
3279                                 MERCHANT_PARTY_TAX_REG_NUMBER  = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
3280                                 MERCHANT_PARTY_ID              = p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
3281                                 MERCHANT_PARTY_COUNTRY         = p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
3282                                 SHIP_TO_LOCATION_ID            = p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
3283                                 SHIP_FROM_LOCATION_ID          = p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
3284                                 POA_LOCATION_ID                = p_trx_line_dist_tbl.POA_LOCATION_ID(i),
3285                                 POO_LOCATION_ID                = p_trx_line_dist_tbl.POO_LOCATION_ID(i),
3286                                 BILL_TO_LOCATION_ID            = p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
3287                                 BILL_FROM_LOCATION_ID          = p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
3288                                 PAYING_LOCATION_ID             = p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
3289                                 OWN_HQ_LOCATION_ID             = p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
3290                                 TRADING_HQ_LOCATION_ID         = p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
3291                                 POC_LOCATION_ID                = p_trx_line_dist_tbl.POC_LOCATION_ID(i),
3292                                 POI_LOCATION_ID                = p_trx_line_dist_tbl.POI_LOCATION_ID(i),
3293                                 POD_LOCATION_ID                = p_trx_line_dist_tbl.POD_LOCATION_ID(i),
3294                                 TITLE_TRANSFER_LOCATION_ID     = p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
3295                                 SHIP_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
3296                                 SHIP_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
3297                                 POA_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
3298                                 POO_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
3299                                 PAYING_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
3300                                 OWN_HQ_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
3301                                 TRADING_HQ_PARTY_TAX_PROF_ID   = p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
3302                                 POI_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
3303                                 POD_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
3304                                 BILL_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
3305                                 BILL_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
3306                                 TITLE_TRANS_PARTY_TAX_PROF_ID  = p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
3307                                 SHIP_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
3308                                 SHIP_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
3309                                 POA_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
3310                                 POO_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
3311                                 PAYING_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
3312                                 OWN_HQ_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
3313                                 TRADING_HQ_SITE_TAX_PROF_ID    = p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
3314                                 POI_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
3315                                 POD_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
3316                                 BILL_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
3317                                 BILL_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
3318                                 TITLE_TRANS_SITE_TAX_PROF_ID   = p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
3319                                 CTRL_HDR_TX_APPL_FLAG          = p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
3320                                 CTRL_TOTAL_LINE_TX_AMT         = p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
3321                                 CTRL_TOTAL_HDR_TX_AMT          = p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
3322                                 REF_DOC_APPLICATION_ID         = p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
3323                                 REF_DOC_ENTITY_CODE            = p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
3324                                 REF_DOC_EVENT_CLASS_CODE       = p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
3325                                 REF_DOC_TRX_ID                 = p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
3326                                 REF_DOC_LINE_ID                = p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
3327                                 REF_DOC_LINE_QUANTITY          = p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
3328                                 TRX_LINE_DATE                  = p_trx_line_dist_tbl.TRX_LINE_DATE(i),
3329                                 INPUT_TAX_CLASSIFICATION_CODE  = p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
3330                                 OUTPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
3331                                 INTERNAL_ORG_LOCATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
3332                                 PORT_OF_ENTRY_CODE             = p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
3333                                 TAX_REPORTING_FLAG             = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX'
3334                                                                        ,'N',NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag)),
3335                                 TAX_AMT_INCLUDED_FLAG          = p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
3336                                 COMPOUNDING_TAX_FLAG           = p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
3337                                 SHIP_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
3338                                 BILL_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
3339                                 SHIP_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
3340                                 BILL_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
3341                                 SHIP_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
3342                                 BILL_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
3343                                 START_EXPENSE_DATE             = p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
3344                                 TRX_BATCH_ID                   = p_trx_line_dist_tbl.TRX_BATCH_ID(i),
3345                                 APPLIED_TO_TRX_NUMBER          = p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
3346                                 SOURCE_APPLICATION_ID          = p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
3347                                 SOURCE_ENTITY_CODE             = p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
3348                                 SOURCE_EVENT_CLASS_CODE        = DECODE(p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),FND_API.G_MISS_CHAR,SOURCE_EVENT_CLASS_CODE,p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i)),
3349                                 SOURCE_TRX_ID                  = p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
3350                                 SOURCE_LINE_ID                 = p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
3351                                 SOURCE_TRX_LEVEL_TYPE          = p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
3352                                 SOURCE_TAX_LINE_ID             = p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
3353                                 REF_DOC_TRX_LEVEL_TYPE         = p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
3354                                 APPLIED_TO_TRX_LEVEL_TYPE      = p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
3355                                 APPLIED_FROM_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
3356                                 ADJUSTED_DOC_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
3357                                 APPLICATION_DOC_STATUS         = p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
3358                                 TAX_PROCESSING_COMPLETED_FLAG  = p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
3359                                 TAX_CALCULATION_DONE_FLAG      = p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
3360                                 OBJECT_VERSION_NUMBER          = OBJECT_VERSION_NUMBER+1,
3361                                 HDR_TRX_USER_KEY1              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
3362                                 HDR_TRX_USER_KEY2              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
3363                                 HDR_TRX_USER_KEY3              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
3364                                 HDR_TRX_USER_KEY4              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
3365                                 HDR_TRX_USER_KEY5              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
3366                                 HDR_TRX_USER_KEY6              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
3367                                 LINE_TRX_USER_KEY1             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
3368                                 LINE_TRX_USER_KEY2             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
3369                                 LINE_TRX_USER_KEY3             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
3370                                 LINE_TRX_USER_KEY4             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
3371                                 LINE_TRX_USER_KEY5             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
3372                                 LINE_TRX_USER_KEY6             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
3373                                 EXEMPTION_CONTROL_FLAG         = p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
3374                                 EXEMPT_REASON_CODE             = p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
3375                                 INTERFACE_ENTITY_CODE          = DECODE(p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),FND_API.G_MISS_CHAR,INTERFACE_ENTITY_CODE,p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i)),
3376                                 INTERFACE_LINE_ID              = DECODE(p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),FND_API.G_MISS_NUM,INTERFACE_LINE_ID,p_trx_line_dist_tbl.INTERFACE_LINE_ID(i)),
3377                                 DEFAULTING_ATTRIBUTE1          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
3378                                 DEFAULTING_ATTRIBUTE2          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
3379                                 DEFAULTING_ATTRIBUTE3          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
3380                                 DEFAULTING_ATTRIBUTE4          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
3381                                 DEFAULTING_ATTRIBUTE5          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
3382                                 DEFAULTING_ATTRIBUTE6          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
3383                                 DEFAULTING_ATTRIBUTE7          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
3384                                 DEFAULTING_ATTRIBUTE8          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
3385                                 DEFAULTING_ATTRIBUTE9          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
3386                                 DEFAULTING_ATTRIBUTE10         = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
3387                                 PROVNL_TAX_DETERMINATION_DATE  = p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
3388                                 HISTORICAL_TAX_CODE_ID         = p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
3389                                 GLOBAL_ATTRIBUTE_CATEGORY      = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
3390                                 GLOBAL_ATTRIBUTE1              = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
3391                                 USER_UPD_DET_FACTORS_FLAG      = NVL(p_trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(i), USER_UPD_DET_FACTORS_FLAG),  -- Bug 5659357
3392                                 TOTAL_INC_TAX_AMT              = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i), 'NO_CHANGE', TOTAL_INC_TAX_AMT,
3393                                                                         NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0)),
3394                                 ICX_SESSION_ID                 = DECODE (ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
3395                                 LAST_UPDATE_DATE               = sysdate,
3396                                 LAST_UPDATED_BY                = fnd_global.user_id,
3397                                 LAST_UPDATE_LOGIN              = fnd_global.conc_login_id
3398     	   WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
3399            AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
3400            AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
3401            AND TRX_ID           = p_trx_line_dist_tbl.TRX_ID(i)
3402            AND TRX_LINE_ID      = p_trx_line_dist_tbl.TRX_LINE_ID(i)
3403            AND TRX_LEVEL_TYPE   = p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i)
3404            AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IS NOT NULL
3405            AND NOT EXISTS (SELECT 'Y'
3406                              FROM zx_errors_gt err_gt
3407                             WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
3408                               AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
3409                               AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
3410                               AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i));
3411     ELSE
3412        --FORALL i IN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) .. NVL(p_update_index,-99)
3413        -- Bug 8873180
3414        l_stmt_num := 2;
3415        FORALL i IN  INDICES OF p_trx_line_dist_tbl.application_id BETWEEN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) AND NVL(p_update_index,-99)
3416        UPDATE ZX_LINES_DET_FACTORS SET
3417                                 EVENT_ID                       = p_event_class_rec.event_id,
3418                                 INTERNAL_ORGANIZATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
3419                                 EVENT_TYPE_CODE                = p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
3420                                 DOC_EVENT_STATUS               = p_event_class_rec.DOC_STATUS_CODE,
3421                                 LINE_LEVEL_ACTION              = p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
3422                                 LINE_CLASS                     = NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
3423                                 TRX_DATE                       = p_trx_line_dist_tbl.TRX_DATE(i),
3424                                 TRX_DOC_REVISION               = p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
3425                                 LEDGER_ID                      = p_trx_line_dist_tbl.LEDGER_ID(i),
3426                                 TRX_CURRENCY_CODE              = p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
3427                                 CURRENCY_CONVERSION_DATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
3428                                 CURRENCY_CONVERSION_RATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
3429                                 CURRENCY_CONVERSION_TYPE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
3430                                 MINIMUM_ACCOUNTABLE_UNIT       = p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
3431                                 PRECISION                      = p_trx_line_dist_tbl.PRECISION(i),
3432                                 TRX_LINE_CURRENCY_CODE         = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
3433                                 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)),
3434                                 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)),
3435                                 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)),
3436                                 TRX_LINE_MAU                   = NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
3437                                 TRX_LINE_PRECISION             = NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
3438                                 LEGAL_ENTITY_ID                = p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
3439                                 ESTABLISHMENT_ID               = p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
3440                                 RECEIVABLES_TRX_TYPE_ID        = p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
3441                                 DEFAULT_TAXATION_COUNTRY       = p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
3442                                 TRX_NUMBER                     = p_trx_line_dist_tbl.TRX_NUMBER(i),
3443                                 TRX_LINE_NUMBER                = p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
3444                                 TRX_LINE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
3445                                 TRX_DESCRIPTION                = p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
3446                                 TRX_COMMUNICATED_DATE          = p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
3447                                 BATCH_SOURCE_ID                = p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
3448                                 BATCH_SOURCE_NAME              = p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
3449                                 DOC_SEQ_ID                     = p_trx_line_dist_tbl.DOC_SEQ_ID(i),
3450                                 DOC_SEQ_NAME                   = p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
3451                                 DOC_SEQ_VALUE                  = p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
3452                                 TRX_DUE_DATE                   = p_trx_line_dist_tbl.TRX_DUE_DATE(i),
3453                                 TRX_TYPE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
3454                                 DOCUMENT_SUB_TYPE              = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', DOCUMENT_SUB_TYPE, p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i)),
3455                                 SUPPLIER_TAX_INVOICE_NUMBER    = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
3456                                 SUPPLIER_TAX_INVOICE_DATE      = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
3457                                 SUPPLIER_EXCHANGE_RATE         = p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
3458                                 TAX_INVOICE_DATE               = DECODE(p_trx_line_dist_tbl.TAX_INVOICE_DATE(i)
3459                                                                        ,FND_API.G_MISS_DATE,TAX_INVOICE_DATE
3460                                                                        ,DECODE(USER_UPD_DET_FACTORS_FLAG
3461                                                                               ,'Y', TAX_INVOICE_DATE
3462                                                                               , p_trx_line_dist_tbl.TAX_INVOICE_DATE(i))
3463                                                                        ),
3464                                 TAX_INVOICE_NUMBER             = DECODE(p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i), FND_API.G_MISS_CHAR, TAX_INVOICE_NUMBER
3465                                                                        ,p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i)),
3466                                 FIRST_PTY_ORG_ID               = p_trx_line_dist_tbl.FIRST_PTY_ORG_ID(i),
3467                                 TAX_EVENT_CLASS_CODE           = p_event_class_rec.TAX_EVENT_CLASS_CODE,
3468                                 TAX_EVENT_TYPE_CODE            = p_event_class_rec.TAX_EVENT_TYPE_CODE,
3469                                 RDNG_SHIP_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
3470                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
3471                                 RDNG_BILL_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
3472                                 RDNG_BILL_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
3473                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
3474                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
3475                                 RDNG_BILL_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
3476                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
3477                                 LINE_INTENDED_USE              = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', LINE_INTENDED_USE, p_trx_line_dist_tbl.LINE_INTENDED_USE(i)), -- Bug 14589356
3478                                 TRX_LINE_TYPE                  = p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
3479                                 TRX_SHIPPING_DATE              = p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
3480                                 TRX_RECEIPT_DATE               = p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
3481                                 TRX_SIC_CODE                   = p_trx_line_dist_tbl.TRX_SIC_CODE(i),
3482                                 FOB_POINT                      = p_trx_line_dist_tbl.FOB_POINT(i),
3483                                 TRX_WAYBILL_NUMBER             = p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
3484                                 PRODUCT_ID                     = p_trx_line_dist_tbl.PRODUCT_ID(i),
3485                                 PRODUCT_FISC_CLASSIFICATION    = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', PRODUCT_FISC_CLASSIFICATION, p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i)), -- Bug 14589356
3486                                 PRODUCT_ORG_ID                 = p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
3487                                 UOM_CODE                       = p_trx_line_dist_tbl.UOM_CODE(i),
3488                                 PRODUCT_TYPE                   = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_TYPE, p_trx_line_dist_tbl.PRODUCT_TYPE(i)), -- Bug 14589356
3489                                 PRODUCT_CODE                   = p_trx_line_dist_tbl.PRODUCT_CODE(i),
3490                                 PRODUCT_CATEGORY               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_CATEGORY, p_trx_line_dist_tbl.PRODUCT_CATEGORY(i)), -- Bug 14589356
3491                                 PRODUCT_DESCRIPTION            = p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
3492                                 USER_DEFINED_FISC_CLASS        = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',USER_DEFINED_FISC_CLASS, p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i)), -- Bug 14589356
3493                                 LINE_AMT                       = p_trx_line_dist_tbl.LINE_AMT(i),
3494                                 TRX_LINE_QUANTITY              = p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
3495                                 UNIT_PRICE                     = p_trx_line_dist_tbl.UNIT_PRICE(i),
3496                                 CASH_DISCOUNT                  = p_trx_line_dist_tbl.CASH_DISCOUNT(i),
3497                                 VOLUME_DISCOUNT                = p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
3498                                 TRADING_DISCOUNT               = p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
3499                                 TRANSFER_CHARGE                = p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
3500                                 TRANSPORTATION_CHARGE          = p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
3501                                 INSURANCE_CHARGE               = p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
3502                                 OTHER_CHARGE                   = p_trx_line_dist_tbl.OTHER_CHARGE(i),
3503                                 ASSESSABLE_VALUE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',ASSESSABLE_VALUE, p_trx_line_dist_tbl.ASSESSABLE_VALUE(i)), -- Bug 14589356
3504                                 ASSET_FLAG                     = p_trx_line_dist_tbl.ASSET_FLAG(i),
3505                                 ASSET_NUMBER                   = p_trx_line_dist_tbl.ASSET_NUMBER(i),
3506                                 ASSET_ACCUM_DEPRECIATION       = p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
3507                                 ASSET_TYPE                     = p_trx_line_dist_tbl.ASSET_TYPE(i),
3508                                 ASSET_COST                     = p_trx_line_dist_tbl.ASSET_COST(i),
3509                                 RELATED_DOC_APPLICATION_ID     = p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
3510                                 RELATED_DOC_ENTITY_CODE        = p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
3511                                 RELATED_DOC_EVENT_CLASS_CODE   = p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
3512                                 RELATED_DOC_TRX_ID             = p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
3513                                 RELATED_DOC_NUMBER             = p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
3514                                 RELATED_DOC_DATE               = p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
3515                                 APPLIED_FROM_APPLICATION_ID    = p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
3516                                 APPLIED_FROM_ENTITY_CODE       = p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
3517                                 APPLIED_FROM_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
3518                                 APPLIED_FROM_TRX_ID            = p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
3519                                 APPLIED_FROM_LINE_ID           = p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
3520                                 APPLIED_FROM_TRX_NUMBER        = p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
3521                                 ADJUSTED_DOC_APPLICATION_ID    = p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
3522                                 ADJUSTED_DOC_ENTITY_CODE       = p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
3523                                 ADJUSTED_DOC_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
3524                                 ADJUSTED_DOC_TRX_ID            = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
3525                                 ADJUSTED_DOC_LINE_ID           = p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
3526                                 ADJUSTED_DOC_NUMBER            = p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
3527                                 ADJUSTED_DOC_DATE              = p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
3528                                 APPLIED_TO_APPLICATION_ID      = p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
3529                                 APPLIED_TO_ENTITY_CODE         = p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
3530                                 APPLIED_TO_EVENT_CLASS_CODE    = p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
3531                                 APPLIED_TO_TRX_ID              = p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
3532                                 APPLIED_TO_TRX_LINE_ID         = p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
3533                                 TRX_ID_LEVEL2                  = p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
3534                                 TRX_ID_LEVEL3                  = p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
3535                                 TRX_ID_LEVEL4                  = p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
3536                                 TRX_ID_LEVEL5                  = p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
3537                                 TRX_ID_LEVEL6                  = p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
3538                                 TRX_BUSINESS_CATEGORY          = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TRX_BUSINESS_CATEGORY, p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i)), -- Bug 14589356
3539                                 EXEMPT_CERTIFICATE_NUMBER      = p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
3540                                 EXEMPT_REASON                  = p_trx_line_dist_tbl.EXEMPT_REASON(i),
3541                                 HISTORICAL_FLAG                = NVL(HISTORICAL_FLAG,p_trx_line_dist_tbl.HISTORICAL_FLAG(i)),
3542                                 TRX_LINE_GL_DATE               = p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
3543                                 LINE_AMT_INCLUDES_TAX_FLAG     = p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
3544                                 ACCOUNT_CCID                   = p_trx_line_dist_tbl.ACCOUNT_CCID(i),
3545                                 ACCOUNT_STRING                 = p_trx_line_dist_tbl.ACCOUNT_STRING(i),
3546                                 MERCHANT_PARTY_TAX_PROF_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
3547                                 HQ_ESTB_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
3548                                 NUMERIC1                       = p_trx_line_dist_tbl.NUMERIC1(i),
3549                                 NUMERIC2                       = p_trx_line_dist_tbl.NUMERIC2(i),
3550                                 NUMERIC3                       = p_trx_line_dist_tbl.NUMERIC3(i),
3551                                 NUMERIC4                       = p_trx_line_dist_tbl.NUMERIC4(i),
3552                                 NUMERIC5                       = p_trx_line_dist_tbl.NUMERIC5(i),
3553                                 NUMERIC6                       = p_trx_line_dist_tbl.NUMERIC6(i),
3554                                 NUMERIC7                       = p_trx_line_dist_tbl.NUMERIC7(i),
3555                                 NUMERIC8                       = p_trx_line_dist_tbl.NUMERIC8(i),
3556                                 NUMERIC9                       = p_trx_line_dist_tbl.NUMERIC9(i),
3557                                 NUMERIC10                      = p_trx_line_dist_tbl.NUMERIC10(i),
3558                                 CHAR1                          = p_trx_line_dist_tbl.CHAR1(i),
3559                                 CHAR2                          = p_trx_line_dist_tbl.CHAR2(i),
3560                                 CHAR3                          = p_trx_line_dist_tbl.CHAR3(i),
3561                                 CHAR4                          = p_trx_line_dist_tbl.CHAR4(i),
3562                                 CHAR5                          = p_trx_line_dist_tbl.CHAR5(i),
3563                                 CHAR6                          = p_trx_line_dist_tbl.CHAR6(i),
3564                                 CHAR7                          = p_trx_line_dist_tbl.CHAR7(i),
3565                                 CHAR8                          = p_trx_line_dist_tbl.CHAR8(i),
3566                                 CHAR9                          = p_trx_line_dist_tbl.CHAR9(i),
3567                                 CHAR10                         = p_trx_line_dist_tbl.CHAR10(i),
3568                                 DATE1                          = p_trx_line_dist_tbl.DATE1(i),
3569                                 DATE2                          = p_trx_line_dist_tbl.DATE2(i),
3570                                 DATE3                          = p_trx_line_dist_tbl.DATE3(i),
3571                                 DATE4                          = p_trx_line_dist_tbl.DATE4(i),
3572                                 DATE5                          = p_trx_line_dist_tbl.DATE5(i),
3573                                 DATE6                          = p_trx_line_dist_tbl.DATE6(i),
3574                                 DATE7                          = p_trx_line_dist_tbl.DATE7(i),
3575                                 DATE8                          = p_trx_line_dist_tbl.DATE8(i),
3576                                 DATE9                          = p_trx_line_dist_tbl.DATE9(i),
3577                                 DATE10                         = p_trx_line_dist_tbl.DATE10(i),
3578                                 MERCHANT_PARTY_NAME            = p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
3579                                 MERCHANT_PARTY_DOCUMENT_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
3580                                 MERCHANT_PARTY_REFERENCE       = p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
3581                                 MERCHANT_PARTY_TAXPAYER_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
3582                                 MERCHANT_PARTY_TAX_REG_NUMBER  = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
3583                                 MERCHANT_PARTY_ID              = p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
3584                                 MERCHANT_PARTY_COUNTRY         = p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
3585                                 SHIP_TO_LOCATION_ID            = p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
3586                                 SHIP_FROM_LOCATION_ID          = p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
3587                                 POA_LOCATION_ID                = p_trx_line_dist_tbl.POA_LOCATION_ID(i),
3588                                 POO_LOCATION_ID                = p_trx_line_dist_tbl.POO_LOCATION_ID(i),
3589                                 BILL_TO_LOCATION_ID            = p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
3590                                 BILL_FROM_LOCATION_ID          = p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
3591                                 PAYING_LOCATION_ID             = p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
3592                                 OWN_HQ_LOCATION_ID             = p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
3593                                 TRADING_HQ_LOCATION_ID         = p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
3594                                 POC_LOCATION_ID                = p_trx_line_dist_tbl.POC_LOCATION_ID(i),
3595                                 POI_LOCATION_ID                = p_trx_line_dist_tbl.POI_LOCATION_ID(i),
3596                                 POD_LOCATION_ID                = p_trx_line_dist_tbl.POD_LOCATION_ID(i),
3597                                 TITLE_TRANSFER_LOCATION_ID     = p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
3598                                 SHIP_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
3599                                 SHIP_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
3600                                 POA_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
3601                                 POO_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
3602                                 PAYING_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
3603                                 OWN_HQ_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
3604                                 TRADING_HQ_PARTY_TAX_PROF_ID   = p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
3605                                 POI_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
3606                                 POD_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
3607                                 BILL_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
3608                                 BILL_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
3609                                 TITLE_TRANS_PARTY_TAX_PROF_ID  = p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
3610                                 SHIP_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
3611                                 SHIP_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
3612                                 POA_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
3613                                 POO_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
3614                                 PAYING_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
3615                                 OWN_HQ_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
3616                                 TRADING_HQ_SITE_TAX_PROF_ID    = p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
3617                                 POI_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
3618                                 POD_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
3619                                 BILL_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
3620                                 BILL_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
3621                                 TITLE_TRANS_SITE_TAX_PROF_ID   = p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
3622                                 CTRL_HDR_TX_APPL_FLAG          = p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
3623                                 CTRL_TOTAL_LINE_TX_AMT         = p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
3624                                 CTRL_TOTAL_HDR_TX_AMT          = p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
3625                                 REF_DOC_APPLICATION_ID         = p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
3626                                 REF_DOC_ENTITY_CODE            = p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
3627                                 REF_DOC_EVENT_CLASS_CODE       = p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
3628                                 REF_DOC_TRX_ID                 = p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
3629                                 REF_DOC_LINE_ID                = p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
3630                                 REF_DOC_LINE_QUANTITY          = p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
3631                                 TRX_LINE_DATE                  = p_trx_line_dist_tbl.TRX_LINE_DATE(i),
3632                                 INPUT_TAX_CLASSIFICATION_CODE  = p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
3633                                 OUTPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
3634                                 INTERNAL_ORG_LOCATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
3635                                 PORT_OF_ENTRY_CODE             = p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
3636                                 TAX_REPORTING_FLAG             = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX'
3637                                                                        ,'N',NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag)),
3638                                 TAX_AMT_INCLUDED_FLAG          = p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
3639                                 COMPOUNDING_TAX_FLAG           = p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
3640                                 SHIP_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
3641                                 BILL_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
3642                                 SHIP_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
3643                                 BILL_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
3644                                 SHIP_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
3645                                 BILL_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
3646                                 START_EXPENSE_DATE             = p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
3647                                 TRX_BATCH_ID                   = p_trx_line_dist_tbl.TRX_BATCH_ID(i),
3648                                 APPLIED_TO_TRX_NUMBER          = p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
3649                                 SOURCE_APPLICATION_ID          = p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
3650                                 SOURCE_ENTITY_CODE             = p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
3651                                 SOURCE_EVENT_CLASS_CODE        = DECODE(p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),FND_API.G_MISS_CHAR,SOURCE_EVENT_CLASS_CODE,p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i)),
3652                                 SOURCE_TRX_ID                  = p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
3653                                 SOURCE_LINE_ID                 = p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
3654                                 SOURCE_TRX_LEVEL_TYPE          = p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
3655                                 SOURCE_TAX_LINE_ID             = p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
3656                                 REF_DOC_TRX_LEVEL_TYPE         = p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
3657                                 APPLIED_TO_TRX_LEVEL_TYPE      = p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
3658                                 APPLIED_FROM_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
3659                                 ADJUSTED_DOC_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
3660                                 APPLICATION_DOC_STATUS         = p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
3661                                 TAX_PROCESSING_COMPLETED_FLAG  = p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
3662                                 TAX_CALCULATION_DONE_FLAG      = p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
3663                                 OBJECT_VERSION_NUMBER          = OBJECT_VERSION_NUMBER+1,
3664                                 HDR_TRX_USER_KEY1              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
3665                                 HDR_TRX_USER_KEY2              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
3666                                 HDR_TRX_USER_KEY3              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
3667                                 HDR_TRX_USER_KEY4              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
3668                                 HDR_TRX_USER_KEY5              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
3669                                 HDR_TRX_USER_KEY6              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
3670                                 LINE_TRX_USER_KEY1             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
3671                                 LINE_TRX_USER_KEY2             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
3672                                 LINE_TRX_USER_KEY3             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
3673                                 LINE_TRX_USER_KEY4             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
3674                                 LINE_TRX_USER_KEY5             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
3675                                 LINE_TRX_USER_KEY6             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
3676                                 EXEMPTION_CONTROL_FLAG         = p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
3677                                 EXEMPT_REASON_CODE             = p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
3678                                 INTERFACE_ENTITY_CODE          = DECODE(p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),FND_API.G_MISS_CHAR,INTERFACE_ENTITY_CODE,p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i)),
3679                                 INTERFACE_LINE_ID              = DECODE(p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),FND_API.G_MISS_NUM,INTERFACE_LINE_ID,p_trx_line_dist_tbl.INTERFACE_LINE_ID(i)),
3680                                 DEFAULTING_ATTRIBUTE1          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
3681                                 DEFAULTING_ATTRIBUTE2          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
3682                                 DEFAULTING_ATTRIBUTE3          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
3683                                 DEFAULTING_ATTRIBUTE4          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
3684                                 DEFAULTING_ATTRIBUTE5          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
3685                                 DEFAULTING_ATTRIBUTE6          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
3686                                 DEFAULTING_ATTRIBUTE7          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
3687                                 DEFAULTING_ATTRIBUTE8          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
3688                                 DEFAULTING_ATTRIBUTE9          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
3689                                 DEFAULTING_ATTRIBUTE10         = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
3690                                 PROVNL_TAX_DETERMINATION_DATE  = p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
3691                                 HISTORICAL_TAX_CODE_ID         = p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
3692                                 GLOBAL_ATTRIBUTE_CATEGORY      = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
3693                                 GLOBAL_ATTRIBUTE1              = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
3694                                 USER_UPD_DET_FACTORS_FLAG      = NVL(p_trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(i), USER_UPD_DET_FACTORS_FLAG),  -- Bug 5659357
3695                                 TOTAL_INC_TAX_AMT              = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i), 'NO_CHANGE', TOTAL_INC_TAX_AMT,
3696                                                                         NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0)),
3697                                 ICX_SESSION_ID                 = DECODE (ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
3698                                 LAST_UPDATE_DATE               = sysdate,
3699                                 LAST_UPDATED_BY                = fnd_global.user_id,
3700                                 LAST_UPDATE_LOGIN              = fnd_global.conc_login_id
3701     	   WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
3702            AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
3703            AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
3704            AND TRX_ID           = p_trx_line_dist_tbl.TRX_ID(i)
3705            AND TRX_LINE_ID      = p_trx_line_dist_tbl.TRX_LINE_ID(i)
3706            AND TRX_LEVEL_TYPE   = p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i)
3707            AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IS NOT NULL
3708            AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IN
3709                                  ('NO_CHANGE',
3710                                   'UPDATE',
3711                                   'DISCARD',
3712                                   'CANCEL',
3713                                   'SYNCHRONIZE',
3714                                   'DELETE',
3715                                   'UNAPPLY_FROM')
3716            AND NOT EXISTS (SELECT 'Y'
3717                              FROM zx_errors_gt err_gt
3718                             WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
3719                               AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
3720                               AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
3721                               AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i));
3722     END IF;
3723 
3724        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3725          FND_LOG.STRING(G_LEVEL_STATEMENT,
3726            G_MODULE_NAME||l_api_name,
3727            'Records Updated (DML-'||l_stmt_num||') = ' || SQL%ROWCOUNT);
3728          FND_LOG.STRING(G_LEVEL_STATEMENT,
3729            G_MODULE_NAME||l_api_name||'.END',
3730            G_PKG_NAME ||':'||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
3731 
3732        END IF;
3733 
3734  EXCEPTION
3735     WHEN OTHERS THEN
3736        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3737        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3738           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3739        END IF;
3740  END db_update_line_det_factors;
3741 
3742 -----------------------------------------------------------------------
3743 --  PRIVATE PROCEDURE
3744 --  insert_detail_tax_lines_gt
3745 --
3746 --  DESCRIPTION
3747 --  Insert into zx_detail_tax_lines_gt for partners
3748 --
3749 --  CALLED BY
3750 --    override_tax_lines
3751 --    reverse_document
3752 -----------------------------------------------------------------------
3753 
3754 PROCEDURE insert_detail_tax_lines_gt
3755   (p_event_class_rec        IN  ZX_API_PUB.event_class_rec_type,
3756    p_sync_with_prvdr_flag   IN  ZX_LINES.sync_with_prvdr_flag%type,
3757    p_ptnr_tax_lines_insert  OUT NOCOPY NUMBER,     -- Bug 5332192
3758    x_return_status          OUT NOCOPY VARCHAR2
3759    )IS
3760   l_api_name           CONSTANT VARCHAR2(30):= 'INSERT_DETAIL_TAX_LINES_GT';
3761   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
3762 
3763   BEGIN
3764     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3765       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3766     END IF;
3767 
3768     /*Set the return status to Success */
3769     x_return_status := FND_API.G_RET_STS_SUCCESS;
3770 
3771     BEGIN
3772     INSERT INTO ZX_DETAIL_TAX_LINES_GT(
3773            tax_line_id,
3774            internal_organization_id,
3775            application_id,
3776            entity_code,
3777            event_class_code,
3778            event_type_code,
3779            trx_id,
3780            trx_line_id,
3781            trx_level_type,
3782            trx_line_number,
3783            doc_event_status,
3784 --         line_event_status,
3785            tax_event_class_code,
3786            tax_event_type_code,
3787            tax_line_number,
3788            content_owner_id,
3789            tax_regime_id,
3790            tax_regime_code,
3791            tax_id,
3792            tax,
3793            tax_status_id,
3794            tax_status_code,
3795            tax_rate_id,
3796            tax_rate_code,
3797            tax_rate,
3798            tax_apportionment_line_number,
3799            trx_id_level2,
3800            trx_id_level3,
3801            trx_id_level4,
3802            trx_id_level5,
3803            trx_id_level6,
3804            trx_user_key_level1,
3805            trx_user_key_level2,
3806            trx_user_key_level3,
3807            trx_user_key_level4,
3808            trx_user_key_level5,
3809            trx_user_key_level6,
3810            mrc_tax_line_flag,
3811            ledger_id,
3812            establishment_id,
3813            legal_entity_id,
3814            legal_entity_tax_reg_number,
3815            hq_estb_reg_number,
3816            hq_estb_party_tax_prof_id,
3817            currency_conversion_date,
3818            currency_conversion_type,
3819            currency_conversion_rate,
3820            tax_currency_conversion_date,
3821            tax_currency_conversion_type,
3822            tax_currency_conversion_rate,
3823            trx_currency_code,
3824            minimum_accountable_unit,
3825            precision,
3826            trx_number,
3827            trx_date,
3828            unit_price,
3829            line_amt,
3830            trx_line_quantity,
3831            tax_base_modifier_rate,
3832            ref_doc_application_id,
3833            ref_doc_entity_code,
3834            ref_doc_event_class_code,
3835            ref_doc_trx_id,
3836            ref_doc_line_id,
3837            ref_doc_line_quantity,
3838            other_doc_line_amt,
3839            other_doc_line_tax_amt,
3840            other_doc_line_taxable_amt,
3841            unrounded_taxable_amt,
3842            unrounded_tax_amt,
3843            related_doc_application_id,
3844            related_doc_entity_code,
3845            related_doc_event_class_code,
3846            related_doc_trx_id,
3847            related_doc_number,
3848            related_doc_date,
3849            applied_from_application_id,
3850            applied_from_event_class_code,
3851            applied_from_entity_code,
3852            applied_from_trx_id,
3853            applied_from_line_id,
3854            applied_from_trx_number,
3855            adjusted_doc_application_id,
3856            adjusted_doc_entity_code,
3857            adjusted_doc_event_class_code,
3858            adjusted_doc_trx_id,
3859            adjusted_doc_line_id,
3860            adjusted_doc_number,
3861            adjusted_doc_date,
3862            applied_to_application_id,
3863            applied_to_event_class_code,
3864            applied_to_entity_code,
3865            applied_to_trx_id,
3866            applied_to_line_id,
3867            applied_to_trx_number,
3868            summary_tax_line_id,
3869            offset_link_to_tax_line_id,
3870            offset_flag,
3871            process_for_recovery_flag,
3872            tax_jurisdiction_id,
3873            tax_jurisdiction_code,
3874            place_of_supply,
3875            place_of_supply_type_code,
3876            place_of_supply_result_id,
3877            tax_date_rule_id,
3878            tax_date,
3879            tax_determine_date,
3880            tax_point_date,
3881            trx_line_date,
3882            tax_type_code,
3883            tax_code,
3884            tax_registration_id,
3885            tax_registration_number,
3886            registration_party_type,
3887            rounding_level_code,
3888            rounding_rule_code,
3889            rounding_lvl_party_tax_prof_id,
3890            rounding_lvl_party_type,
3891            compounding_tax_flag,
3892            orig_tax_status_id,
3893            orig_tax_status_code,
3894            orig_tax_rate_id,
3895            orig_tax_rate_code,
3896            orig_tax_rate,
3897            orig_tax_jurisdiction_id,
3898            orig_tax_jurisdiction_code,
3899            orig_tax_amt_included_flag,
3900            orig_self_assessed_flag,
3901            tax_currency_code,
3902            tax_amt,
3903            tax_amt_tax_curr,
3904            tax_amt_funcl_curr,
3905            taxable_amt,
3906            taxable_amt_tax_curr,
3907            taxable_amt_funcl_curr,
3908            orig_taxable_amt,
3909            orig_taxable_amt_tax_curr,
3910            cal_tax_amt,
3911            cal_tax_amt_tax_curr,
3912            cal_tax_amt_funcl_curr,
3913            orig_tax_amt,
3914            orig_tax_amt_tax_curr,
3915            rec_tax_amt,
3916            rec_tax_amt_tax_curr,
3917            rec_tax_amt_funcl_curr,
3918            nrec_tax_amt,
3919            nrec_tax_amt_tax_curr,
3920            nrec_tax_amt_funcl_curr,
3921            tax_exemption_id,
3922            tax_rate_before_exemption,
3923            tax_rate_name_before_exemption,
3924            exempt_rate_modifier,
3925            exempt_certificate_number,
3926            exempt_reason,
3927            exempt_reason_code,
3928            tax_exception_id,
3929            tax_rate_before_exception,
3930            tax_rate_name_before_exception,
3931            exception_rate,
3932            tax_apportionment_flag,
3933            historical_flag,
3934            taxable_basis_formula,
3935            tax_calculation_formula,
3936            cancel_flag,
3937            purge_flag,
3938            delete_flag,
3939            tax_amt_included_flag,
3940            self_assessed_flag,
3941            overridden_flag,
3942            manually_entered_flag,
3943            freeze_until_overridden_flag,
3944            copied_from_other_doc_flag,
3945            recalc_required_flag,
3946            settlement_flag,
3947            item_dist_changed_flag,
3948            associated_child_frozen_flag,
3949            tax_only_line_flag,
3950            compounding_dep_tax_flag,
3951            last_manual_entry,
3952            tax_provider_id,
3953            record_type_code,
3954            reporting_period_id,
3955            legal_message_appl_2,
3956            legal_message_status,
3957            legal_message_rate,
3958            legal_message_basis,
3959            legal_message_calc,
3960            legal_message_threshold,
3961            legal_message_pos,
3962            legal_message_trn,
3963            legal_message_exmpt,
3964            legal_message_excpt,
3965            tax_regime_template_id,
3966            tax_applicability_result_id,
3967            direct_rate_result_id,
3968            status_result_id,
3969            rate_result_id,
3970            basis_result_id,
3971            thresh_result_id,
3972            calc_result_id,
3973            tax_reg_num_det_result_id,
3974            eval_exmpt_result_id,
3975            eval_excpt_result_id,
3976            enforce_from_natural_acct_flag,
3977            tax_hold_code,
3978            tax_hold_released_code,
3979            prd_total_tax_amt,
3980            prd_total_tax_amt_tax_curr,
3981            prd_total_tax_amt_funcl_curr,
3982            internal_org_location_id,
3983            attribute_category,
3984            attribute1,
3985            attribute2,
3986            attribute3,
3987            attribute4,
3988            attribute5,
3989            attribute6,
3990            attribute7,
3991            attribute8,
3992            attribute9,
3993            attribute10,
3994            attribute11,
3995            attribute12,
3996            attribute13,
3997            attribute14,
3998            attribute15,
3999            global_attribute_category,
4000            global_attribute1,
4001            global_attribute2,
4002            global_attribute3,
4003            global_attribute4,
4004            global_attribute5,
4005            global_attribute6,
4006            global_attribute7,
4007            global_attribute8,
4008            global_attribute9,
4009            global_attribute10,
4010            global_attribute11,
4011            global_attribute12,
4012            global_attribute13,
4013            global_attribute14,
4014            global_attribute15,
4015            numeric1,
4016            numeric2,
4017            numeric3,
4018            numeric4,
4019            numeric5,
4020            numeric6,
4021            numeric7,
4022            numeric8,
4023            numeric9,
4024            numeric10,
4025            char1,
4026            char2,
4027            char3,
4028            char4,
4029            char5,
4030            char6,
4031            char7,
4032            char8,
4033            char9,
4034            char10,
4035            date1,
4036            date2,
4037            date3,
4038            date4,
4039            date5,
4040            date6,
4041            date7,
4042            date8,
4043            date9,
4044            date10,
4045            tax_rate_type,
4046            created_by,
4047            creation_date,
4048            last_updated_by,
4049            last_update_date,
4050            last_update_login,
4051            line_assessable_value,
4052            legal_justification_text1,
4053            legal_justification_text2,
4054            legal_justification_text3,
4055            reporting_currency_code,
4056            trx_line_index,
4057            offset_tax_rate_code,
4058            proration_code,
4059            other_doc_source,
4060            reporting_only_flag,
4061            ctrl_total_line_tx_amt,
4062            sync_with_prvdr_flag,
4063            interface_entity_code,
4064            interface_tax_line_id,
4065            taxing_juris_geography_id,
4066            adjusted_doc_tax_line_id,
4067            object_version_number
4068            )
4069           (SELECT
4070            L.tax_line_id,
4071            L.internal_organization_id,
4072            L.application_id,
4073            L.entity_code,
4074            L.event_class_code,
4075            L.event_type_code,
4076            L.trx_id,
4077            L.trx_line_id,
4078            L.trx_level_type,
4079            L.trx_line_number,
4080            L.doc_event_status,
4081 --         L.line_event_status,
4082            L.tax_event_class_code,
4083            L.tax_event_type_code,
4084            L.tax_line_number,
4085            L.content_owner_id,
4086            L.tax_regime_id,
4087            L.tax_regime_code,
4088            L.tax_id,
4089            L.tax,
4090            L.tax_status_id,
4091            L.tax_status_code,
4092            L.tax_rate_id,
4093            L.tax_rate_code,
4094            L.tax_rate,
4095            L.tax_apportionment_line_number,
4096            L.trx_id_level2,
4097            L.trx_id_level3,
4098            L.trx_id_level4,
4099            L.trx_id_level5,
4100            L.trx_id_level6,
4101            L.trx_user_key_level1,
4102            L.trx_user_key_level2,
4103            L.trx_user_key_level3,
4104            L.trx_user_key_level4,
4105            L.trx_user_key_level5,
4106            L.trx_user_key_level6,
4107            L.mrc_tax_line_flag,
4108            L.ledger_id,
4109            L.establishment_id,
4110            L.legal_entity_id,
4111            L.legal_entity_tax_reg_number,
4112            L.hq_estb_reg_number,
4113            L.hq_estb_party_tax_prof_id,
4114            L.currency_conversion_date,
4115            L.currency_conversion_type,
4116            L.currency_conversion_rate,
4117            L.tax_currency_conversion_date,
4118            L.tax_currency_conversion_type,
4119            L.tax_currency_conversion_rate,
4120            L.trx_currency_code,
4121            L.minimum_accountable_unit,
4122            L.precision,
4123            L.trx_number,
4124            L.trx_date,
4125            L.unit_price,
4126            L.line_amt,
4127            L.trx_line_quantity,
4128            L.tax_base_modifier_rate,
4129            L.ref_doc_application_id,
4130            L.ref_doc_entity_code,
4131            L.ref_doc_event_class_code,
4132            L.ref_doc_trx_id,
4133            L.ref_doc_line_id,
4134            L.ref_doc_line_quantity,
4135            L.other_doc_line_amt,
4136            L.other_doc_line_tax_amt,
4137            L.other_doc_line_taxable_amt,
4138            L.unrounded_taxable_amt,
4139            L.unrounded_tax_amt,
4140            L.related_doc_application_id,
4141            L.related_doc_entity_code,
4142            L.related_doc_event_class_code,
4143            L.related_doc_trx_id,
4144            L.related_doc_number,
4145            L.related_doc_date,
4146            L.applied_from_application_id,
4147            L.applied_from_event_class_code,
4148            L.applied_from_entity_code,
4149            L.applied_from_trx_id,
4150            L.applied_from_line_id,
4151            L.applied_from_trx_number,
4152            L.adjusted_doc_application_id,
4153            L.adjusted_doc_entity_code,
4154            L.adjusted_doc_event_class_code,
4155            L.adjusted_doc_trx_id,
4156            L.adjusted_doc_line_id,
4157            L.adjusted_doc_number,
4158            L.adjusted_doc_date,
4159            L.applied_to_application_id,
4160            L.applied_to_event_class_code,
4161            L.applied_to_entity_code,
4162            L.applied_to_trx_id,
4163            L.applied_to_line_id,
4164            L.applied_to_trx_number,
4165            L.summary_tax_line_id,
4166            L.offset_link_to_tax_line_id,
4167            L.offset_flag,
4168            L.process_for_recovery_flag,
4169            L.tax_jurisdiction_id,
4170            L.tax_jurisdiction_code,
4171            L.place_of_supply,
4172            L.place_of_supply_type_code,
4173            L.place_of_supply_result_id,
4174            L.tax_date_rule_id,
4175            L.tax_date,
4176            L.tax_determine_date,
4177            L.tax_point_date,
4178            L.trx_line_date,
4179            L.tax_type_code,
4180            L.tax_code,
4181            L.tax_registration_id,
4182            L.tax_registration_number,
4183            L.registration_party_type,
4184            L.rounding_level_code,
4185            L.rounding_rule_code,
4186            L.rounding_lvl_party_tax_prof_id,
4187            L.rounding_lvl_party_type,
4188            L.compounding_tax_flag,
4189            L.orig_tax_status_id,
4190            L.orig_tax_status_code,
4191            L.orig_tax_rate_id,
4192            L.orig_tax_rate_code,
4193            L.orig_tax_rate,
4194            L.orig_tax_jurisdiction_id,
4195            L.orig_tax_jurisdiction_code,
4196            L.orig_tax_amt_included_flag,
4197            L.orig_self_assessed_flag,
4198            L.tax_currency_code,
4199            L.tax_amt,
4200            L.tax_amt_tax_curr,
4201            L.tax_amt_funcl_curr,
4202            L.taxable_amt,
4203            L.taxable_amt_tax_curr,
4204            L.taxable_amt_funcl_curr,
4205            L.orig_taxable_amt,
4206            L.orig_taxable_amt_tax_curr,
4207            L.cal_tax_amt,
4208            L.cal_tax_amt_tax_curr,
4209            L.cal_tax_amt_funcl_curr,
4210            L.orig_tax_amt,
4211            L.orig_tax_amt_tax_curr,
4212            L.rec_tax_amt,
4213            L.rec_tax_amt_tax_curr,
4214            L.rec_tax_amt_funcl_curr,
4215            L.nrec_tax_amt,
4216            L.nrec_tax_amt_tax_curr,
4217            L.nrec_tax_amt_funcl_curr,
4218            L.tax_exemption_id,
4219            L.tax_rate_before_exemption,
4220            L.tax_rate_name_before_exemption,
4221            L.exempt_rate_modifier,
4222            L.exempt_certificate_number,
4223            L.exempt_reason,
4224            L.exempt_reason_code,
4225            L.tax_exception_id,
4226            L.tax_rate_before_exception,
4227            L.tax_rate_name_before_exception,
4228            L.exception_rate,
4229            L.tax_apportionment_flag,
4230            L.historical_flag,
4231            L.taxable_basis_formula,
4232            L.tax_calculation_formula,
4233            L.cancel_flag,
4234            L.purge_flag,
4235            L.delete_flag,
4236            L.tax_amt_included_flag,
4237            L.self_assessed_flag,
4238            L.overridden_flag,
4239            L.manually_entered_flag,
4240            L.freeze_until_overridden_flag,
4241            L.copied_from_other_doc_flag,
4242            L.recalc_required_flag,
4243            L.settlement_flag,
4244            L.item_dist_changed_flag,
4245            L.associated_child_frozen_flag,
4246            L.tax_only_line_flag,
4247            L.compounding_dep_tax_flag,
4248            L.last_manual_entry,
4249            L.tax_provider_id,
4250            L.record_type_code,
4251            L.reporting_period_id,
4252            L.legal_message_appl_2,
4253            L.legal_message_status,
4254            L.legal_message_rate,
4255            L.legal_message_basis,
4256            L.legal_message_calc,
4257            L.legal_message_threshold,
4258            L.legal_message_pos,
4259            L.legal_message_trn,
4260            L.legal_message_exmpt,
4261            L.legal_message_excpt,
4262            L.tax_regime_template_id,
4263            L.tax_applicability_result_id,
4264            L.direct_rate_result_id,
4265            L.status_result_id,
4266            L.rate_result_id,
4267            L.basis_result_id,
4268            L.thresh_result_id,
4269            L.calc_result_id,
4270            L.tax_reg_num_det_result_id,
4271            L.eval_exmpt_result_id,
4272            L.eval_excpt_result_id,
4273            L.enforce_from_natural_acct_flag,
4274            L.tax_hold_code,
4275            L.tax_hold_released_code,
4276            L.prd_total_tax_amt,
4277            L.prd_total_tax_amt_tax_curr,
4278            L.prd_total_tax_amt_funcl_curr,
4279            L.internal_org_location_id,
4280            L.attribute_category,
4281            L.attribute1,
4282            L.attribute2,
4283            L.attribute3,
4284            L.attribute4,
4285            L.attribute5,
4286            L.attribute6,
4287            L.attribute7,
4288            L.attribute8,
4289            L.attribute9,
4290            L.attribute10,
4291            L.attribute11,
4292            L.attribute12,
4293            L.attribute13,
4294            L.attribute14,
4295            L.attribute15,
4296            L.global_attribute_category,
4297            L.global_attribute1,
4298            L.global_attribute2,
4299            L.global_attribute3,
4300            L.global_attribute4,
4301            L.global_attribute5,
4302            L.global_attribute6,
4303            L.global_attribute7,
4304            L.global_attribute8,
4305            L.global_attribute9,
4306            L.global_attribute10,
4307            L.global_attribute11,
4308            L.global_attribute12,
4309            L.global_attribute13,
4310            L.global_attribute14,
4311            L.global_attribute15,
4312            L.numeric1,
4313            L.numeric2,
4314            L.numeric3,
4315            L.numeric4,
4316            L.numeric5,
4317            L.numeric6,
4318            L.numeric7,
4319            L.numeric8,
4320            L.numeric9,
4321            L.numeric10,
4322            L.char1,
4323            L.char2,
4324            L.char3,
4325            L.char4,
4326            L.char5,
4327            L.char6,
4328            L.char7,
4329            L.char8,
4330            L.char9,
4331            L.char10,
4332            L.date1,
4333            L.date2,
4334            L.date3,
4335            L.date4,
4336            L.date5,
4337            L.date6,
4338            L.date7,
4339            L.date8,
4340            L.date9,
4341            L.date10,
4342            L.tax_rate_type,
4343            L.created_by,
4344            L.creation_date,
4345            L.last_updated_by,
4346            L.last_update_date,
4347            L.last_update_login,
4348            L.line_assessable_value,
4349            L.legal_justification_text1,
4350            L.legal_justification_text2,
4351            L.legal_justification_text3,
4352            L.reporting_currency_code,
4353            L.trx_line_index,
4354            L.offset_tax_rate_code,
4355            L.proration_code,
4356            L.other_doc_source,
4357            L.reporting_only_flag,
4358            L.ctrl_total_line_tx_amt,
4359            L.sync_with_prvdr_flag,
4360            L.interface_entity_code,
4361            L.interface_tax_line_id,
4362            L.taxing_juris_geography_id,
4363            L.adjusted_doc_tax_line_id,
4364            1
4365           FROM ZX_LINES L
4366 	  WHERE application_id = p_event_class_rec.application_id
4367             AND entity_code = p_event_class_rec.entity_code
4368             AND event_class_code = p_event_class_rec.event_class_code
4369             AND trx_id = p_event_class_rec.trx_id
4370     	    AND tax_provider_id is not null
4371             AND sync_with_prvdr_flag = nvl(p_sync_with_prvdr_flag, sync_with_prvdr_flag)
4372           );
4373        EXCEPTION WHEN OTHERS THEN
4374           p_ptnr_tax_lines_insert := 0;
4375        END;
4376        p_ptnr_tax_lines_insert := SQL%ROWCOUNT;    -- Bug 5332192
4377 
4378        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4379          FND_LOG.STRING(G_LEVEL_STATEMENT,
4380            G_MODULE_NAME||l_api_name||'.END',
4381            G_PKG_NAME ||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
4382        END IF;
4383 
4384        EXCEPTION
4385         WHEN OTHERS THEN
4386            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4387            IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4388               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4389            END IF;
4390 END insert_detail_tax_lines_gt;
4391 
4392 -----------------------------------------------------------------------
4393 --  PRIVATE PROCEDURE
4394 --  call_lte
4395 --
4396 --  DESCRIPTION
4397 --  Wrapper to fetch all lines from zx_lines_det_factors before calling LTE
4398 --  to calculate_tax
4399 --
4400 --  CALLED BY
4401 --    calculate_tax
4402 -----------------------------------------------------------------------
4403   PROCEDURE call_lte
4404   (
4405    p_event_class_rec          IN  OUT NOCOPY ZX_API_PUB.event_class_rec_type ,
4406    p_calling_proc             IN  VARCHAR2 DEFAULT 'CALCULATE_TAX',
4407    x_return_status            OUT NOCOPY VARCHAR2
4408   )IS
4409 
4410   l_api_name              CONSTANT VARCHAR2(30):= 'CALL_LTE';
4411   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
4412   l_return_status         VARCHAR2(1);
4413 
4414 /* Cursor for LTE calculate tax - need to fetch all the lines for document*/
4415  CURSOR fetch_det_factors_for_lte(p_event_class_rec zx_api_pub.event_class_rec_type)  IS
4416    SELECT  INTERNAL_ORGANIZATION_ID,
4417            APPLICATION_ID,
4418            ENTITY_CODE,
4419            EVENT_CLASS_CODE,
4420            EVENT_TYPE_CODE,
4421            DOC_EVENT_STATUS,
4422            LINE_LEVEL_ACTION,
4423            TRX_ID,
4424            TRX_LINE_ID,
4425            TRX_LEVEL_TYPE,
4426            TRX_DATE,
4427            TRX_DOC_REVISION,
4428            LEDGER_ID,
4429            TRX_CURRENCY_CODE,
4430            CURRENCY_CONVERSION_DATE,
4431            CURRENCY_CONVERSION_RATE,
4432            CURRENCY_CONVERSION_TYPE,
4433            MINIMUM_ACCOUNTABLE_UNIT,
4434            PRECISION,
4435            TRX_LINE_CURRENCY_CODE,
4436            TRX_LINE_CURRENCY_CONV_DATE,
4437            TRX_LINE_CURRENCY_CONV_RATE,
4438            TRX_LINE_CURRENCY_CONV_TYPE,
4439            TRX_LINE_MAU,
4440            TRX_LINE_PRECISION,
4441            LEGAL_ENTITY_ID,
4442            ESTABLISHMENT_ID,
4443            RECEIVABLES_TRX_TYPE_ID,
4444            DEFAULT_TAXATION_COUNTRY,
4445            TRX_NUMBER,
4446            TRX_LINE_NUMBER,
4447            TRX_LINE_DESCRIPTION,
4448            TRX_DESCRIPTION,
4449            TRX_COMMUNICATED_DATE,
4450            BATCH_SOURCE_ID,
4451            BATCH_SOURCE_NAME,
4452            DOC_SEQ_ID,
4453            DOC_SEQ_NAME,
4454            DOC_SEQ_VALUE,
4455            TRX_DUE_DATE,
4456            TRX_TYPE_DESCRIPTION,
4457            DOCUMENT_SUB_TYPE,
4458            SUPPLIER_TAX_INVOICE_NUMBER	,
4459            SUPPLIER_TAX_INVOICE_DATE,
4460            SUPPLIER_EXCHANGE_RATE,
4461            TAX_INVOICE_DATE,
4462            TAX_INVOICE_NUMBER,
4463            FIRST_PTY_ORG_ID,
4464            TAX_EVENT_CLASS_CODE,
4465            TAX_EVENT_TYPE_CODE,
4466            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
4467            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
4468            RDNG_BILL_TO_PTY_TX_PROF_ID	,
4469            RDNG_BILL_FROM_PTY_TX_PROF_ID,
4470            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
4471            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
4472            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
4473            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
4474            LINE_INTENDED_USE ,
4475            TRX_LINE_TYPE ,
4476            TRX_SHIPPING_DATE,
4477            TRX_RECEIPT_DATE,
4478            TRX_SIC_CODE,
4479            FOB_POINT ,
4480            TRX_WAYBILL_NUMBER,
4481            PRODUCT_ID,
4482            PRODUCT_FISC_CLASSIFICATION ,
4483            PRODUCT_ORG_ID,
4484            UOM_CODE,
4485            PRODUCT_TYPE ,
4486            PRODUCT_CODE,
4487            PRODUCT_CATEGORY ,
4488            PRODUCT_DESCRIPTION,
4489            USER_DEFINED_FISC_CLASS,
4490            LINE_AMT,
4491            TRX_LINE_QUANTITY ,
4492            UNIT_PRICE,
4493            CASH_DISCOUNT,
4494            VOLUME_DISCOUNT,
4495            TRADING_DISCOUNT,
4496            TRANSFER_CHARGE,
4497            TRANSPORTATION_CHARGE,
4498            INSURANCE_CHARGE,
4499            OTHER_CHARGE,
4500            ASSESSABLE_VALUE,
4501            ASSET_FLAG,
4502            ASSET_NUMBER,
4503            ASSET_ACCUM_DEPRECIATION,
4504            ASSET_TYPE,
4505            ASSET_COST,
4506            RELATED_DOC_APPLICATION_ID,
4507            RELATED_DOC_ENTITY_CODE,
4508            RELATED_DOC_EVENT_CLASS_CODE,
4509            RELATED_DOC_TRX_ID,
4510            RELATED_DOC_NUMBER,
4511            RELATED_DOC_DATE,
4512            APPLIED_FROM_APPLICATION_ID,
4513            APPLIED_FROM_ENTITY_CODE,
4514            APPLIED_FROM_EVENT_CLASS_CODE,
4515            APPLIED_FROM_TRX_ID,
4516            APPLIED_FROM_LINE_ID,
4517            APPLIED_FROM_TRX_NUMBER,
4518            ADJUSTED_DOC_APPLICATION_ID,
4519            ADJUSTED_DOC_ENTITY_CODE,
4520            ADJUSTED_DOC_EVENT_CLASS_CODE,
4521            ADJUSTED_DOC_TRX_ID,
4522            ADJUSTED_DOC_LINE_ID,
4523            ADJUSTED_DOC_NUMBER,
4524            ADJUSTED_DOC_DATE,
4525            APPLIED_TO_APPLICATION_ID,
4526            APPLIED_TO_ENTITY_CODE,
4527            APPLIED_TO_EVENT_CLASS_CODE,
4528            APPLIED_TO_TRX_ID ,
4529            APPLIED_TO_TRX_LINE_ID,
4530            TRX_ID_LEVEL2,
4531            TRX_ID_LEVEL3,
4532            TRX_ID_LEVEL4,
4533            TRX_ID_LEVEL5,
4534            TRX_ID_LEVEL6,
4535            TRX_BUSINESS_CATEGORY,
4536            EXEMPT_CERTIFICATE_NUMBER,
4537            EXEMPT_REASON,
4538            HISTORICAL_FLAG,
4539            TRX_LINE_GL_DATE,
4540            PROVNL_TAX_DETERMINATION_DATE,
4541            LINE_AMT_INCLUDES_TAX_FLAG,
4542            ACCOUNT_CCID,
4543            ACCOUNT_STRING,
4544            MERCHANT_PARTY_TAX_PROF_ID,
4545            HQ_ESTB_PARTY_TAX_PROF_ID,
4546            NUMERIC1,
4547            NUMERIC2,
4548            NUMERIC3,
4549            NUMERIC4,
4550            NUMERIC5,
4551            NUMERIC6,
4552            NUMERIC7,
4553            NUMERIC8,
4554            NUMERIC9,
4555            NUMERIC10,
4556            CHAR1,
4557            CHAR2,
4558            CHAR3,
4559            CHAR4,
4560            CHAR5,
4561            CHAR6,
4562            CHAR7,
4563            CHAR8,
4564            CHAR9,
4565            CHAR10,
4566            DATE1,
4567            DATE2,
4568            DATE3,
4569            DATE4,
4570            DATE5,
4571            DATE6,
4572            DATE7,
4573            DATE8,
4574            DATE9,
4575            DATE10,
4576            MERCHANT_PARTY_NAME,
4577            MERCHANT_PARTY_DOCUMENT_NUMBER,
4578            MERCHANT_PARTY_REFERENCE,
4579            MERCHANT_PARTY_TAXPAYER_ID,
4580            MERCHANT_PARTY_TAX_REG_NUMBER,
4581            MERCHANT_PARTY_ID,
4582            MERCHANT_PARTY_COUNTRY,
4583            SHIP_TO_LOCATION_ID,
4584            SHIP_FROM_LOCATION_ID,
4585            POA_LOCATION_ID,
4586            POO_LOCATION_ID,
4587            BILL_TO_LOCATION_ID,
4588            BILL_FROM_LOCATION_ID,
4589            PAYING_LOCATION_ID,
4590            OWN_HQ_LOCATION_ID,
4591            TRADING_HQ_LOCATION_ID,
4592            POC_LOCATION_ID,
4593            POI_LOCATION_ID,
4594            POD_LOCATION_ID,
4595            TITLE_TRANSFER_LOCATION_ID,
4596            SHIP_TO_PARTY_TAX_PROF_ID ,
4597            SHIP_FROM_PARTY_TAX_PROF_ID,
4598            POA_PARTY_TAX_PROF_ID,
4599            POO_PARTY_TAX_PROF_ID,
4600            PAYING_PARTY_TAX_PROF_ID,
4601            OWN_HQ_PARTY_TAX_PROF_ID,
4602            TRADING_HQ_PARTY_TAX_PROF_ID,
4603            POI_PARTY_TAX_PROF_ID,
4604            POD_PARTY_TAX_PROF_ID,
4605            BILL_TO_PARTY_TAX_PROF_ID,
4606            BILL_FROM_PARTY_TAX_PROF_ID,
4607            TITLE_TRANS_PARTY_TAX_PROF_ID,
4608            SHIP_TO_SITE_TAX_PROF_ID,
4609            SHIP_FROM_SITE_TAX_PROF_ID,
4610            POA_SITE_TAX_PROF_ID,
4611            POO_SITE_TAX_PROF_ID,
4612            PAYING_SITE_TAX_PROF_ID,
4613            OWN_HQ_SITE_TAX_PROF_ID,
4614            TRADING_HQ_SITE_TAX_PROF_ID,
4615            POI_SITE_TAX_PROF_ID,
4616            POD_SITE_TAX_PROF_ID,
4617            BILL_TO_SITE_TAX_PROF_ID,
4618            BILL_FROM_SITE_TAX_PROF_ID,
4619            TITLE_TRANS_SITE_TAX_PROF_ID,
4620            CTRL_HDR_TX_APPL_FLAG,
4621            CTRL_TOTAL_LINE_TX_AMT,
4622            CTRL_TOTAL_HDR_TX_AMT,
4623            REF_DOC_APPLICATION_ID,
4624            REF_DOC_ENTITY_CODE,
4625            REF_DOC_EVENT_CLASS_CODE,
4626            REF_DOC_TRX_ID,
4627            REF_DOC_LINE_ID,
4628            REF_DOC_LINE_QUANTITY,
4629            LINE_CLASS,
4630            TRX_LINE_DATE,
4631            INPUT_TAX_CLASSIFICATION_CODE,
4632            OUTPUT_TAX_CLASSIFICATION_CODE,
4633            INTERNAL_ORG_LOCATION_ID,
4634            PORT_OF_ENTRY_CODE,
4635            TAX_REPORTING_FLAG,
4636            TAX_AMT_INCLUDED_FLAG,
4637            COMPOUNDING_TAX_FLAG,
4638            SHIP_THIRD_PTY_ACCT_ID,
4639            BILL_THIRD_PTY_ACCT_ID,
4640            SHIP_THIRD_PTY_ACCT_SITE_ID,
4641            BILL_THIRD_PTY_ACCT_SITE_ID,
4642            SHIP_TO_CUST_ACCT_SITE_USE_ID,
4643            BILL_TO_CUST_ACCT_SITE_USE_ID,
4644            START_EXPENSE_DATE,
4645            TRX_BATCH_ID,
4646            APPLIED_TO_TRX_NUMBER,
4647            SOURCE_APPLICATION_ID,
4648            SOURCE_ENTITY_CODE,
4649            SOURCE_EVENT_CLASS_CODE,
4650            SOURCE_TRX_ID,
4651            SOURCE_LINE_ID,
4652            SOURCE_TRX_LEVEL_TYPE,
4653            REF_DOC_TRX_LEVEL_TYPE,
4654            APPLIED_TO_TRX_LEVEL_TYPE,
4655            APPLIED_FROM_TRX_LEVEL_TYPE,
4656            ADJUSTED_DOC_TRX_LEVEL_TYPE,
4657            APPLICATION_DOC_STATUS,
4658            HDR_TRX_USER_KEY1,
4659            HDR_TRX_USER_KEY2,
4660            HDR_TRX_USER_KEY3,
4661            HDR_TRX_USER_KEY4,
4662            HDR_TRX_USER_KEY5,
4663            HDR_TRX_USER_KEY6,
4664            LINE_TRX_USER_KEY1,
4665            LINE_TRX_USER_KEY2,
4666            LINE_TRX_USER_KEY3,
4667            LINE_TRX_USER_KEY4,
4668            LINE_TRX_USER_KEY5,
4669            LINE_TRX_USER_KEY6,
4670            null DIST_LEVEL_ACTION,
4671            to_number(null) ADJUSTED_DOC_TASK_DIST_ID,
4672            to_number(null) APPLIED_FROM_TAX_DIST_ID,
4673            to_number(null) TASK_ID,
4674            to_number(null) AWARD_ID,
4675            to_number(null) PROJECT_ID,
4676            null EXPENDITURE_TYPE,
4677            to_number(null) EXPENDITURE_ORGANIZATION_ID,
4678            null EXPENDITURE_ITEM_DATE,
4679            to_number(null) TRX_LINE_DIST_AMT,
4680            to_number(null) TRX_LINE_DIST_QUANTITY,
4681            to_number(null) REF_DOC_CURR_CONV_RATE,
4682            to_number(null) ITEM_DIST_NUMBER,
4683            to_number(null) REF_DOC_DIST_ID,
4684            to_number(null) TRX_LINE_DIST_TAX_AMT,
4685            to_number(null) TRX_LINE_DIST_ID,
4686            to_number(null) APPLIED_FROM_DIST_ID,
4687            to_number(null) ADJUSTED_DOC_DIST_ID,
4688            to_number(null) OVERRIDING_RECOVERY_RATE,
4689            TAX_AMT_INCLUDED_FLAG,
4690            COMPOUNDING_TAX_FLAG,
4691            SOURCE_TAX_LINE_ID,
4692            EXEMPTION_CONTROL_FLAG,
4693            EXEMPT_REASON_CODE,
4694            INTERFACE_ENTITY_CODE,
4695            INTERFACE_LINE_ID,
4696            DEFAULTING_ATTRIBUTE1,
4697            DEFAULTING_ATTRIBUTE2,
4698            DEFAULTING_ATTRIBUTE3,
4699            DEFAULTING_ATTRIBUTE4,
4700            DEFAULTING_ATTRIBUTE5,
4701            DEFAULTING_ATTRIBUTE6,
4702            DEFAULTING_ATTRIBUTE7,
4703            DEFAULTING_ATTRIBUTE8,
4704            DEFAULTING_ATTRIBUTE9,
4705            DEFAULTING_ATTRIBUTE10,
4706            HISTORICAL_TAX_CODE_ID,
4707            GLOBAL_ATTRIBUTE_CATEGORY,
4708            GLOBAL_ATTRIBUTE1,
4709            TOTAL_INC_TAX_AMT,
4710            USER_UPD_DET_FACTORS_FLAG
4711          FROM  ZX_LINES_DET_FACTORS
4712          WHERE application_id = p_event_class_rec.application_id
4713 	   AND entity_code = p_event_class_rec.entity_code
4714 	   AND event_class_code = p_event_class_rec.event_class_code
4715 	   AND trx_id = p_event_class_rec.trx_id
4716 	   AND line_level_action <> 'DELETE';
4717 
4718  BEGIN
4719   IF ( G_LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
4720      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4721    END IF;
4722 
4723    x_return_status := FND_API.G_RET_STS_SUCCESS ;
4724 
4725    OPEN fetch_det_factors_for_lte(p_event_class_rec);
4726      LOOP
4727          FETCH fetch_det_factors_for_lte BULK COLLECT INTO
4728            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
4729            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
4730            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
4731            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
4732            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
4733            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
4734            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
4735            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
4736            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
4737            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
4738            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
4739            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
4740            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
4741            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
4742            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
4743            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
4744            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
4745            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
4746            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
4747            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
4748            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
4749            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
4750            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
4751            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
4752            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
4753            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
4754            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
4755            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
4756            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
4757            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
4758            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
4759            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
4760            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
4761            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
4762            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
4763            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
4764            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
4765            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
4766            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
4767            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
4768            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
4769            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
4770            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
4771            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
4772            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
4773            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
4774            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
4775            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
4776            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
4777            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
4778            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
4779            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
4780            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
4781            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
4782            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
4783            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
4784            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
4785            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
4786            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
4787            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
4788            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
4789            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
4790            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
4791            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
4792            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
4793            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
4794            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
4795            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
4796            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
4797            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
4798            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
4799            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
4800            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
4801            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
4802            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
4803            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
4804            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
4805            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
4806            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
4807            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
4808            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
4809            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
4810            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
4811            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
4812            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
4813            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
4814            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
4815            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
4816            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
4817            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
4818            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
4819            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
4820            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
4821            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
4822            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
4823            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
4824            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
4825            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
4826            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
4827            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
4828            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
4829            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
4830            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
4831            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
4832            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
4833            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
4834            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
4835            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
4836            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
4837            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
4838            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
4839            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
4840            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
4841            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
4842            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
4843            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
4844            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
4845            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
4846            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
4847            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
4848            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
4849            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
4850            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
4851            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
4852            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
4853            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
4854            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
4855            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
4856            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
4857            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
4858            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
4859            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
4860            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
4861            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
4862            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
4863            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
4864            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
4865            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
4866            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
4867            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
4868            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
4869            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
4870            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
4871            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
4872            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
4873            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
4874            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
4875            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
4876            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
4877            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
4878            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
4879            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
4880            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
4881            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
4882            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
4883            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
4884            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
4885            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
4886            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
4887            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
4888            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
4889            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
4890            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
4891            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
4892            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
4893            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
4894            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
4895            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
4896            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
4897            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
4898            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
4899            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
4900            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
4901            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
4902            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
4903            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
4904            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
4905            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
4906            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
4907            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
4908            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
4909            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
4910            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
4911            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
4912            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
4913            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
4914            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
4915            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
4916            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
4917            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
4918            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
4919            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
4920            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
4921            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
4922            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
4923            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
4924            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
4925            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
4926            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
4927            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
4928            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
4929            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
4930            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
4931            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
4932            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
4933            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
4934            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
4935            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
4936            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
4937            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
4938            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
4939            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
4940            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
4941            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
4942            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
4943            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
4944            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
4945            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
4946            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
4947            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
4948            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
4949            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
4950            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
4951            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
4952            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
4953            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
4954            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
4955            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
4956            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
4957            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
4958            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
4959            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
4960            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
4961            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
4962            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
4963            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
4964            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
4965            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
4966            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
4967            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
4968            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
4969            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
4970            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
4971            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
4972            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
4973            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
4974            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
4975            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
4976            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
4977            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
4978            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
4979            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
4980            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
4981            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
4982            zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
4983            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
4984            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
4985            zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
4986            zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
4987            zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
4988            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
4989            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
4990            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
4991            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
4992            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
4993            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
4994            zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
4995            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
4996            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
4997            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
4998            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
4999            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
5000            zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
5001            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
5002            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
5003            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
5004            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
5005            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
5006            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
5007            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
5008            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
5009            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
5010            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
5011            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
5012            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
5013            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
5014            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
5015            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
5016            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
5017            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
5018            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
5019            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
5020            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
5021            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
5022            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
5023          LIMIT G_MAX_LINES_PER_FETCH;
5024 
5025          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5026            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Calling Proc : '||p_calling_proc);
5027          END IF;
5028 
5029          IF p_calling_proc = 'CALCULATE_TAX' THEN
5030            --Call LTE to calculate tax
5031            ZX_PRODUCT_INTEGRATION_PKG.calculate_tax (p_event_class_rec => p_event_class_rec,
5032                                                      x_return_status   => l_return_status
5033                                                     );
5034          ELSIF p_calling_proc = 'IMPORT' THEN
5035            --Call LTE to import tax lines
5036            ZX_PRODUCT_INTEGRATION_PKG.import_document_with_tax(p_event_class_rec => p_event_class_rec,
5037                                                                x_return_status   => l_return_status
5038                                                               );
5039          END IF;
5040 
5041          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5042            x_return_status := l_return_status ;
5043            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5044              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'LTE calculate tax returned errors. Return_Status = '||x_return_status);
5045            END IF;
5046            IF fetch_det_factors_for_lte%ISOPEN THEN CLOSE fetch_det_factors_for_lte; END IF;
5047            RETURN;
5048          END IF;
5049 
5050        EXIT WHEN fetch_det_factors_for_lte%NOTFOUND;
5051      END LOOP;
5052    CLOSE fetch_det_factors_for_lte;
5053 
5054    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5055      FND_LOG.STRING(G_LEVEL_STATEMENT,
5056        G_MODULE_NAME||l_api_name||'.END',
5057        G_PKG_NAME ||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
5058    END IF;
5059 
5060  EXCEPTION
5061    WHEN OTHERS THEN
5062      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5063      IF fetch_det_factors_for_lte%ISOPEN THEN CLOSE fetch_det_factors_for_lte; END IF;
5064      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5065        FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5066      END IF;
5067   END call_lte;
5068 
5069 -----------------------------------------------------------------------
5070 --  PRIVATE PROCEDURE
5071 --  Lock_line_det_facts
5072 --
5073 --  DESCRIPTION
5074 --  Lock the tables to prevent 2 users from making inconsistent updates to
5075 --  database via forms or UIs
5076 --
5077 --  CALLED BY
5078 --    calculate_tax
5079 -----------------------------------------------------------------------
5080 PROCEDURE lock_line_det_facts (
5081 p_trx_line_index      IN NUMBER,
5082 p_event_class_rec     IN ZX_API_PUB.event_class_rec_type,
5083 x_return_status       OUT NOCOPY VARCHAR2
5084 ) IS
5085     l_api_name         CONSTANT VARCHAR2(30):= 'LOCK_LINE_DET_FACTS';
5086     l_return_status    VARCHAR2(30);
5087     l_lines_det_rec    zx_lines_det_factors%rowtype;
5088     l_context_info_rec ZX_API_PUB.context_info_rec_type;
5089 
5090 BEGIN
5091     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5092       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5093     END IF;
5094 
5095     x_return_status := FND_API.G_RET_STS_SUCCESS ;
5096 
5097     IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
5098          /*Lock trx line det factors*/
5099          SELECT *
5100            INTO l_lines_det_rec
5101            FROM ZX_LINES_DET_FACTORS
5102           WHERE application_id   = p_event_class_rec.application_id
5103             AND entity_code      = p_event_class_rec.entity_code
5104             AND event_class_code = p_event_class_rec.event_class_code
5105     	    AND trx_id           = p_event_class_rec.trx_id
5106             AND trx_line_id      = zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index)
5107             AND trx_level_type   = zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index)
5108           FOR UPDATE NOWAIT;
5109     END IF;
5110 
5111     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5112        FND_LOG.STRING(G_LEVEL_STATEMENT,
5113          G_MODULE_NAME||l_api_name||'.END',
5114          G_PKG_NAME ||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
5115     END IF;
5116 
5117  EXCEPTION
5118        --no_data_found can occur if new transaction line is being created
5119        --for already existing document in which case , exit gracefully
5120        WHEN NO_DATA_FOUND THEN
5121          null;
5122        WHEN OTHERS THEN
5123           IF (SQLCODE = 54) THEN
5124              x_return_status := FND_API.G_RET_STS_ERROR ;
5125              FND_MESSAGE.SET_NAME('ZX','ZX_RESOURCE_BUSY');
5126              l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
5127              l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
5128              l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
5129              l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
5130              l_context_info_rec.TRX_LINE_ID      := zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
5131              l_context_info_rec.TRX_LEVEL_TYPE   := zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
5132              ZX_API_PUB.add_msg( p_context_info_rec => l_context_info_rec );
5133              IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
5134                FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
5135              END IF;
5136           ELSE
5137              x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5138              IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5139                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5140              END IF;
5141           END IF;
5142  END lock_line_det_facts;
5143 
5144 -----------------------------------------------------------------------
5145 --  PRIVATE PROCEDURE
5146 --  populate_ptnr_tax_regime_tbl
5147 --
5148 --  DESCRIPTION
5149 --
5150 --
5151 --  CALLED BY
5152 --    calculate_tax
5153 --
5154 -----------------------------------------------------------------------
5155 PROCEDURE populate_ptnr_tax_regime_tbl
5156 IS
5157     l_ptnr_index                  NUMBER;
5158 
5159     l_api_name         CONSTANT VARCHAR2(30):= 'populate_ptnr_tax_regime_tbl';
5160 
5161 BEGIN
5162     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5163       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
5164     END IF;
5165 
5166     l_ptnr_index := NVL(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.LAST, 0) + 1;
5167     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).application_id
5168              := zx_global_structures_pkg.g_event_class_rec.application_id;
5169     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_class_code
5170              := zx_global_structures_pkg.g_event_class_rec.event_class_code;
5171     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).entity_code
5172              := zx_global_structures_pkg.g_event_class_rec.entity_code;
5173     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).trx_id
5174              := zx_global_structures_pkg.g_event_class_rec.trx_id;
5175     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_id
5176              := zx_global_structures_pkg.g_event_class_rec.event_id;
5177     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_class_mapping_id
5178              := zx_global_structures_pkg.g_event_class_rec.event_class_mapping_id;
5179     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_type_code
5180              := zx_global_structures_pkg.g_event_class_rec.event_type_code;
5181     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_event_class_code
5182              := zx_global_structures_pkg.g_event_class_rec.tax_event_class_code;
5183     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_event_type_code
5184              := zx_global_structures_pkg.g_event_class_rec.tax_event_type_code;
5185     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).doc_status_code
5186              := zx_global_structures_pkg.g_event_class_rec.doc_status_code;
5187     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).record_flag
5188              := zx_global_structures_pkg.g_event_class_rec.record_flag;
5189     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).quote_flag
5190              := zx_global_structures_pkg.g_event_class_rec.quote_flag;
5191     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).record_for_partners_flag
5192              := zx_global_structures_pkg.g_event_class_rec.record_for_partners_flag;
5193     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).prod_family_grp_code
5194              := zx_global_structures_pkg.g_event_class_rec.prod_family_grp_code;
5195     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).first_pty_org_id
5196              := zx_global_structures_pkg.g_event_class_rec.first_pty_org_id;
5197     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).internal_organization_id
5198              := zx_global_structures_pkg.g_event_class_rec.internal_organization_id;
5199     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).legal_entity_id
5200              := zx_global_structures_pkg.g_event_class_rec.legal_entity_id;
5201     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ledger_id
5202              := zx_global_structures_pkg.g_event_class_rec.ledger_id;
5203     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).establishment_id
5204              := zx_global_structures_pkg.g_event_class_rec.establishment_id;
5205     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).currency_conversion_type
5206              := zx_global_structures_pkg.g_event_class_rec.currency_conversion_type;
5207     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).process_for_applicability_flag
5208              := zx_global_structures_pkg.g_event_class_rec.process_for_applicability_flag;
5209     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).perf_addnl_appl_for_imprt_flag
5210              := zx_global_structures_pkg.g_event_class_rec.perf_addnl_appl_for_imprt_flag;
5211     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).effective_date
5212              := zx_security.g_effective_date;
5213     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_regime_tbl
5214              := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl;
5215 
5216     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ptnr_srvc_subscr_flag := 'N';
5217 -- change for 5711466
5218     FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
5219     LOOP
5220          IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
5221             nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,0) <> 0  THEN
5222             ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ptnr_srvc_subscr_flag := 'Y';
5223             EXIT;
5224          END IF;
5225     END LOOP;
5226 -- end 5711466
5227 
5228     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5229        FND_LOG.STRING(G_LEVEL_STATEMENT,
5230          G_MODULE_NAME||l_api_name,
5231          G_PKG_NAME ||': '||l_api_name||', ptnr_srvc_subsrc_flag = ' ||ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ptnr_srvc_subscr_flag);
5232     END IF;
5233 
5234     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5235       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
5236     END IF;
5237 
5238 EXCEPTION
5239    WHEN OTHERS THEN
5240 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5241       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5242          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5243       END IF;
5244 END populate_ptnr_tax_regime_tbl;
5245 
5246 -----------------------------------------------------------------------
5247 --  PRIVATE PROCEDURE
5248 --  populate_lte_trx_tbl
5249 --
5250 --  DESCRIPTION
5251 --  Populates Global PlSql Structure for Latin Tax Processing
5252 --
5253 --  CALLED BY
5254 --    calculate_tax
5255 --    import
5256 -----------------------------------------------------------------------
5257 PROCEDURE populate_lte_trx_tbl
5258 IS
5259     l_ptnr_index       NUMBER;
5260     l_api_name         CONSTANT VARCHAR2(30):= 'populate_lte_trx_tbl';
5261 
5262 BEGIN
5263     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5264       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
5265     END IF;
5266 
5267     l_ptnr_index := NVL(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.LAST, 0) + 1;
5268     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).application_id
5269              := zx_global_structures_pkg.g_event_class_rec.application_id;
5270     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).event_class_code
5271              := zx_global_structures_pkg.g_event_class_rec.event_class_code;
5272     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).entity_code
5273              := zx_global_structures_pkg.g_event_class_rec.entity_code;
5274     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).trx_id
5275              := zx_global_structures_pkg.g_event_class_rec.trx_id;
5276     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).event_id
5277              := zx_global_structures_pkg.g_event_class_rec.event_id;
5278     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).event_class_mapping_id
5279              := zx_global_structures_pkg.g_event_class_rec.event_class_mapping_id;
5280     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).event_type_code
5281              := zx_global_structures_pkg.g_event_class_rec.event_type_code;
5282     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).tax_event_class_code
5283              := zx_global_structures_pkg.g_event_class_rec.tax_event_class_code;
5284     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).tax_event_type_code
5285              := zx_global_structures_pkg.g_event_class_rec.tax_event_type_code;
5286     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).doc_status_code
5287              := zx_global_structures_pkg.g_event_class_rec.doc_status_code;
5288     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).record_flag
5289              := zx_global_structures_pkg.g_event_class_rec.record_flag;
5290     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).quote_flag
5291              := zx_global_structures_pkg.g_event_class_rec.quote_flag;
5292     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).record_for_partners_flag
5293              := zx_global_structures_pkg.g_event_class_rec.record_for_partners_flag;
5294     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).prod_family_grp_code
5295              := zx_global_structures_pkg.g_event_class_rec.prod_family_grp_code;
5296     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).first_pty_org_id
5297              := zx_global_structures_pkg.g_event_class_rec.first_pty_org_id;
5298     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).internal_organization_id
5299              := zx_global_structures_pkg.g_event_class_rec.internal_organization_id;
5300     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).legal_entity_id
5301              := zx_global_structures_pkg.g_event_class_rec.legal_entity_id;
5302     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).ledger_id
5303              := zx_global_structures_pkg.g_event_class_rec.ledger_id;
5304     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).establishment_id
5305              := zx_global_structures_pkg.g_event_class_rec.establishment_id;
5306     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).currency_conversion_type
5307              := zx_global_structures_pkg.g_event_class_rec.currency_conversion_type;
5308     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).process_for_applicability_flag
5309              := zx_global_structures_pkg.g_event_class_rec.process_for_applicability_flag;
5310     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).perf_addnl_appl_for_imprt_flag
5311              := zx_global_structures_pkg.g_event_class_rec.perf_addnl_appl_for_imprt_flag;
5312     ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_ptnr_index).effective_date
5313              := zx_security.g_effective_date;
5314 
5315     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5316       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
5317     END IF;
5318 
5319 EXCEPTION
5320    WHEN OTHERS THEN
5321       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5322          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5323       END IF;
5324 END populate_lte_trx_tbl;
5325 
5326 -----------------------------------------------------------------------
5327 --  PRIVATE PROCEDURE
5328 --  fetch_ptnr_tax_regime_tbl
5329 --
5330 --  DESCRIPTION
5331 --  Initialise the partner tables for subsequent calls
5332 --
5333 --  CALLED BY
5334 --    calculate_tax
5335 --
5336 -----------------------------------------------------------------------
5337 PROCEDURE fetch_ptnr_tax_regime_tbl(
5338    p_trx_id_index    IN  NUMBER,
5339    x_event_class_rec OUT NOCOPY  ZX_API_PUB.event_class_rec_type ,
5340    x_return_status   OUT NOCOPY VARCHAR2
5341   )IS
5342 
5343     l_api_name         CONSTANT VARCHAR2(30):= 'FETCH_PTNR_TAX_REGIME_TBL';
5344 
5345 BEGIN
5346     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5347       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
5348     END IF;
5349 
5350     x_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).application_id;
5351     x_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_class_code;
5352     x_event_class_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).entity_code;
5353     x_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).trx_id;
5354     x_event_class_rec.event_id         := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_id;
5355 
5356     BEGIN
5357       SELECT tax_recovery_flag
5358       INTO x_event_class_rec.tax_recovery_flag
5359       FROM zx_evnt_cls_mappings
5360       WHERE application_id = x_event_class_rec.application_id
5361       AND entity_code = x_event_class_rec.entity_code
5362       AND event_class_code = x_event_class_rec.event_class_code;
5363     EXCEPTION
5364       WHEN OTHERS THEN
5365         NULL;
5366     END;
5367     x_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_class_mapping_id;
5368     x_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_type_code;
5369     x_event_class_rec.tax_event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_event_class_code;
5370     x_event_class_rec.tax_event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_event_type_code;
5371     x_event_class_rec.doc_status_code      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).doc_status_code;
5372     x_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).record_flag;
5373     x_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).quote_flag;
5374     x_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).record_for_partners_flag;
5375     x_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).prod_family_grp_code;
5376     x_event_class_rec.first_pty_org_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).first_pty_org_id;
5377     x_event_class_rec.internal_organization_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).internal_organization_id;
5378     x_event_class_rec.legal_entity_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).legal_entity_id;
5379     x_event_class_rec.ledger_id       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).ledger_id;
5380     x_event_class_rec.establishment_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).establishment_id;
5381     x_event_class_rec.currency_conversion_type := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).currency_conversion_type;
5382     x_event_class_rec.process_for_applicability_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).process_for_applicability_flag;
5383     x_event_class_rec.perf_addnl_appl_for_imprt_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).perf_addnl_appl_for_imprt_flag;
5384 
5385     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_regime_tbl;
5386 
5387    /*--------------------------------------------+
5388     |   Call to zx_security.set_security_context |
5389     +--------------------------------------------*/
5390     ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).legal_entity_id,
5391                                      ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).internal_organization_id,
5392                                      ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).effective_date,
5393                                      x_return_status
5394                                      );
5395 
5396     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5397              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5398              'application_id: '||to_char(x_event_class_rec.application_id)||
5399              ', entity_code: '||x_event_class_rec.entity_code||
5400              ', event_class_code: '||x_event_class_rec.event_class_code||
5401              ', event_type_code: '||x_event_class_rec.event_type_code||
5402              ', trx_id: '||to_char(x_event_class_rec.trx_id)||
5403              ', internal_organization_id: '||to_char(x_event_class_rec.internal_organization_id)||
5404              ', ledger_id: '||to_char(x_event_class_rec.ledger_id)||
5405              ', legal_entity_id: '||to_char(x_event_class_rec.legal_entity_id)||
5406              ', trx_date: '||to_char(x_event_class_rec.trx_date)||
5407              ', related_document_date: '||to_char(x_event_class_rec.rel_doc_date)||
5408              ', provnl_tax_determination_date: '||to_char(x_event_class_rec.provnl_tax_determination_date)||
5409              ', trx_currency_code: '||x_event_class_rec.trx_currency_code||
5410              ', quote_flag: '||x_event_class_rec.quote_flag ||
5411              ', establishment_id: '||to_char(x_event_class_rec.establishment_id)||
5412              ', icx_session_id: '||to_char(x_event_class_rec.icx_session_id));
5413     END IF;
5414 
5415     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5416       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
5417     END IF;
5418 
5419 EXCEPTION
5420    WHEN OTHERS THEN
5421 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5422       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5423          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5424       END IF;
5425 END fetch_ptnr_tax_regime_tbl;
5426 
5427 -----------------------------------------------------------------------
5428 --  PRIVATE PROCEDURE
5429 --  delete_ptnr_location_tbl
5430 --
5431 --  DESCRIPTION
5432 --  deletes the record of table structure
5433 --
5434 --  CALLED BY
5435 --    partner_location_population
5436 -----------------------------------------------------------------------
5437 PROCEDURE delete_ptnr_location_tbl IS
5438 BEGIN
5439   l_ptnr_loc_tbl.EVENT_CLASS_MAPPING_ID.delete;
5440   l_ptnr_loc_tbl.TRX_ID.delete;
5441   l_ptnr_loc_tbl.TRX_LINE_ID.delete;
5442   l_ptnr_loc_tbl.TRX_LEVEL_TYPE.delete;
5443   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1.delete;
5444   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1.delete;
5445   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2.delete;
5446   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2.delete;
5447   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3.delete;
5448   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3.delete;
5449   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4.delete;
5450   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4.delete;
5451   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5.delete;
5452   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5.delete;
5453   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6.delete;
5454   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6.delete;
5455   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7.delete;
5456   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7.delete;
5457   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8.delete;
5458   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8.delete;
5459   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9.delete;
5460   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9.delete;
5461   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10.delete;
5462   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10.delete;
5463   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1.delete;
5464   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1.delete;
5465   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2.delete;
5466   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2.delete;
5467   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3.delete;
5468   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3.delete;
5469   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4.delete;
5470   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4.delete;
5471   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5.delete;
5472   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5.delete;
5473   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6.delete;
5474   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6.delete;
5475   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7.delete;
5476   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7.delete;
5477   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8.delete;
5478   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8.delete;
5479   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9.delete;
5480   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9.delete;
5481   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10.delete;
5482   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10.delete;
5483   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1.delete;
5484   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1.delete;
5485   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2.delete;
5486   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2.delete;
5487   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3.delete;
5488   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3.delete;
5489   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4.delete;
5490   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4.delete;
5491   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5.delete;
5492   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5.delete;
5493   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6.delete;
5494   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6.delete;
5495   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7.delete;
5496   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7.delete;
5497   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8.delete;
5498   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8.delete;
5499   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9.delete;
5500   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9.delete;
5501   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10.delete;
5502   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10.delete;
5503   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1.delete;
5504   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1.delete;
5505   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2.delete;
5506   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2.delete;
5507   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3.delete;
5508   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3.delete;
5509   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4.delete;
5510   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4.delete;
5511   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5.delete;
5512   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5.delete;
5513   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6.delete;
5514   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6.delete;
5515   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7.delete;
5516   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7.delete;
5517   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8.delete;
5518   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8.delete;
5519   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9.delete;
5520   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9.delete;
5521   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10.delete;
5522   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10.delete;
5523   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1.delete;
5524   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1.delete;
5525   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2.delete;
5526   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2.delete;
5527   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3.delete;
5528   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3.delete;
5529   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4.delete;
5530   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4.delete;
5531   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5.delete;
5532   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5.delete;
5533   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6.delete;
5534   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6.delete;
5535   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7.delete;
5536   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7.delete;
5537   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8.delete;
5538   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8.delete;
5539   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9.delete;
5540   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9.delete;
5541   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10.delete;
5542   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10.delete;
5543   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1.delete;
5544   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1.delete;
5545   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2.delete;
5546   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2.delete;
5547   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3.delete;
5548   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3.delete;
5549   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4.delete;
5550   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4.delete;
5551   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5.delete;
5552   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5.delete;
5553   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6.delete;
5554   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6.delete;
5555   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7.delete;
5556   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7.delete;
5557   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8.delete;
5558   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8.delete;
5559   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9.delete;
5560   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9.delete;
5561   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10.delete;
5562   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10.delete;
5563   l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER.delete;
5564   l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME.delete;
5565   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER.delete;
5566   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME.delete;
5567   l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER.delete;
5568   l_ptnr_loc_tbl.BILL_TO_PARTY_NAME.delete;
5569   l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER.delete;
5570   l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME.delete;
5571 END ;
5572 
5573 -----------------------------------------------------------------------
5574 --  PRIVATE PROCEDURE
5575 --  initialise_partner_tables
5576 --
5577 --  DESCRIPTION
5578 --  Initialise the partner tables for subsequent calls
5579 --
5580 --  CALLED BY
5581 --    calculate_tax
5582 --    import_tax
5583 -----------------------------------------------------------------------
5584 PROCEDURE initialise_partner_tables
5585 IS
5586     l_api_name         CONSTANT VARCHAR2(30):= 'INITIALISE_PARTNER_TABLES';
5587 
5588 BEGIN
5589     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5590       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5591     END IF;
5592 
5593     DELETE from ZX_TRX_PRE_PROC_OPTIONS_GT;
5594     DELETE from ZX_PRVDR_HDR_EXTNS_GT;
5595     DELETE from ZX_PRVDR_LINE_EXTNS_GT;
5596     DELETE from ZX_PTNR_LOCATION_INFO_GT;
5597 
5598     delete_ptnr_location_tbl;
5599 
5600     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5601       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5602     END IF;
5603 
5604 EXCEPTION
5605    WHEN OTHERS THEN
5606 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5607       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5608          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5609       END IF;
5610 END initialise_partner_tables;
5611 
5612 -----------------------------------------------------------------------
5613 --  PRIVATE PROCEDURE
5614 --  intialise_partner_location_table
5615 --
5616 --  DESCRIPTION
5617 --  intialise the record of table structure so that if element at index
5618 --  does not exist error does not occur
5619 --
5620 --  CALLED BY
5621 --    partner_location_population
5622 -----------------------------------------------------------------------
5623 PROCEDURE init_ptnr_location_tbl
5624  (p_ptnr_index    IN         NUMBER
5625  )IS
5626 BEGIN
5627   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1(p_ptnr_index)    := null;
5628   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1(p_ptnr_index)   := null;
5629   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2(p_ptnr_index)    := null;
5630   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2(p_ptnr_index)   := null;
5631   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3(p_ptnr_index)    := null;
5632   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3(p_ptnr_index)   := null;
5633   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4(p_ptnr_index)    := null;
5634   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4(p_ptnr_index)   := null;
5635   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5(p_ptnr_index)    := null;
5636   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5(p_ptnr_index)   := null;
5637   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6(p_ptnr_index)    := null;
5638   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6(p_ptnr_index)   := null;
5639   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7(p_ptnr_index)    := null;
5640   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7(p_ptnr_index)   := null;
5641   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8(p_ptnr_index)    := null;
5642   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8(p_ptnr_index)   := null;
5643   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9(p_ptnr_index)    := null;
5644   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9(p_ptnr_index)   := null;
5645   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10(p_ptnr_index)   := null;
5646   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10(p_ptnr_index)  := null;
5647   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1(p_ptnr_index)  := null;
5648   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1(p_ptnr_index) := null;
5649   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2(p_ptnr_index)  := null;
5650   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2(p_ptnr_index) := null;
5651   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3(p_ptnr_index)  := null;
5652   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3(p_ptnr_index) := null;
5653   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4(p_ptnr_index)  := null;
5654   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4(p_ptnr_index) := null;
5655   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5(p_ptnr_index)  := null;
5656   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5(p_ptnr_index) := null;
5657   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6(p_ptnr_index)  := null;
5658   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6(p_ptnr_index) := null;
5659   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7(p_ptnr_index)  := null;
5660   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7(p_ptnr_index) := null;
5661   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8(p_ptnr_index)  := null;
5662   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8(p_ptnr_index) := null;
5663   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9(p_ptnr_index)  := null;
5664   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9(p_ptnr_index) := null;
5665   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10(p_ptnr_index) := null;
5666   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10(p_ptnr_index):= null;
5667   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1(p_ptnr_index)        := null;
5668   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1(p_ptnr_index)       := null;
5669   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2(p_ptnr_index)        := null;
5670   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2(p_ptnr_index)       := null;
5671   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3(p_ptnr_index)        := null;
5672   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3(p_ptnr_index)       := null;
5673   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4(p_ptnr_index)        := null;
5674   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4(p_ptnr_index)       := null;
5675   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5(p_ptnr_index)        := null;
5676   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5(p_ptnr_index)       := null;
5677   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6(p_ptnr_index)        := null;
5678   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6(p_ptnr_index)       := null;
5679   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7(p_ptnr_index)        := null;
5680   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7(p_ptnr_index)       := null;
5681   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8(p_ptnr_index)        := null;
5682   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8(p_ptnr_index)       := null;
5683   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9(p_ptnr_index)        := null;
5684   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9(p_ptnr_index)       := null;
5685   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10(p_ptnr_index)       := null;
5686   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10(p_ptnr_index)      := null;
5687   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1(p_ptnr_index)        := null;
5688   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1(p_ptnr_index)       := null;
5689   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2(p_ptnr_index)        := null;
5690   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2(p_ptnr_index)       := null;
5691   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3(p_ptnr_index)        := null;
5692   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3(p_ptnr_index)       := null;
5693   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4(p_ptnr_index)        := null;
5694   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4(p_ptnr_index)       := null;
5695   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5(p_ptnr_index)        := null;
5696   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5(p_ptnr_index)       := null;
5697   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6(p_ptnr_index)        := null;
5698   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6(p_ptnr_index)       := null;
5699   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7(p_ptnr_index)        := null;
5700   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7(p_ptnr_index)       := null;
5701   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8(p_ptnr_index)        := null;
5702   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8(p_ptnr_index)       := null;
5703   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9(p_ptnr_index)        := null;
5704   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9(p_ptnr_index)       := null;
5705   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10(p_ptnr_index)       := null;
5706   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10(p_ptnr_index)      := null;
5707   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1(p_ptnr_index)    := null;
5708   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1(p_ptnr_index)   := null;
5709   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2(p_ptnr_index)    := null;
5710   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2(p_ptnr_index)   := null;
5711   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3(p_ptnr_index)    := null;
5712   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3(p_ptnr_index)   := null;
5713   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4(p_ptnr_index)    := null;
5714   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4(p_ptnr_index)   := null;
5715   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5(p_ptnr_index)    := null;
5716   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5(p_ptnr_index)   := null;
5717   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6(p_ptnr_index)    := null;
5718   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6(p_ptnr_index)   := null;
5719   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7(p_ptnr_index)    := null;
5720   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7(p_ptnr_index)   := null;
5721   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8(p_ptnr_index)    := null;
5722   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8(p_ptnr_index)   := null;
5723   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9(p_ptnr_index)    := null;
5724   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9(p_ptnr_index)   := null;
5725   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10(p_ptnr_index)   := null;
5726   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10(p_ptnr_index)  := null;
5727   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1(p_ptnr_index)  := null;
5728   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1(p_ptnr_index) := null;
5729   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2(p_ptnr_index)  := null;
5730   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2(p_ptnr_index) := null;
5731   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3(p_ptnr_index)  := null;
5732   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3(p_ptnr_index) := null;
5733   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4(p_ptnr_index)  := null;
5734   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4(p_ptnr_index) := null;
5735   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5(p_ptnr_index)  := null;
5736   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5(p_ptnr_index) := null;
5737   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6(p_ptnr_index)  := null;
5738   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6(p_ptnr_index) := null;
5739   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7(p_ptnr_index)  := null;
5740   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7(p_ptnr_index) := null;
5741   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8(p_ptnr_index)  := null;
5742   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8(p_ptnr_index) := null;
5743   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9(p_ptnr_index)  := null;
5744   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9(p_ptnr_index) := null;
5745   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10(p_ptnr_index) := null;
5746   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10(p_ptnr_index):= null;
5747   l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER(p_ptnr_index)       := null;
5748   l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME(p_ptnr_index)         := null;
5749   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER(p_ptnr_index)     := null;
5750   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME(p_ptnr_index)       := null;
5751   l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER(p_ptnr_index)       := null;
5752   l_ptnr_loc_tbl.BILL_TO_PARTY_NAME(p_ptnr_index)         := null;
5753   l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER(p_ptnr_index)     := null;
5754   l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME(p_ptnr_index)       := null;
5755 END ;
5756 
5757 -----------------------------------------------------------------------
5758 --  PRIVATE PROCEDURE
5759 --  get_address_elements
5760 --
5761 --  DESCRIPTION
5762 --  gets additional address elements for location types
5763 --
5764 --  CALLED BY
5765 --    partner_location_population
5766 -----------------------------------------------------------------------
5767 /*----------------------------------------------------------------------------*
5768  |This procedure gets the additional geography types and values after all the |
5769  |location types have been populated from the partner global structure        |
5770  |All records of one location type have a unique value of location table and  |
5771  |location id. This procedure is called for each location type.               |
5772  *----------------------------------------------------------------------------*/
5773 PROCEDURE get_address_elements
5774   (p_table          IN  VARCHAR2,
5775    p_location_id    IN  NUMBER,
5776    x_address1       OUT NOCOPY VARCHAR2,
5777    x_address2       OUT NOCOPY VARCHAR2,
5778    x_address3       OUT NOCOPY VARCHAR2,
5779    x_address4       OUT NOCOPY VARCHAR2,
5780    x_return_status  OUT NOCOPY VARCHAR2
5781   ) IS
5782 
5783    l_api_name CONSTANT  VARCHAR2(30) := 'GET_ADDRESS_ELEMENTS';
5784    l_add_idx            VARCHAR2(100);
5785 BEGIN
5786     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5787       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5788     END IF;
5789 
5790     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
5791     l_add_idx := p_table||to_char(p_location_id);
5792 
5793     IF l_add_idx is NOT NULL THEN
5794       IF (NOT(l_ptnr_addr_tbl.EXISTS(l_add_idx))) THEN
5795          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5796            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Caching from database for '||l_add_idx);
5797          END IF;
5798          IF p_table = 'HR_LOCATIONS_ALL' THEN
5799            SELECT address_line_1, address_line_2, address_line_3, NULL
5800            INTO l_ptnr_addr_tbl(l_add_idx).address1,
5801                 l_ptnr_addr_tbl(l_add_idx).address2,
5802                 l_ptnr_addr_tbl(l_add_idx).address3,
5803                 l_ptnr_addr_tbl(l_add_idx).address4
5804            FROM HR_LOCATIONS_ALL
5805           WHERE location_id = p_location_id;
5806          ELSIF p_table = 'HZ_LOCATIONS' THEN
5807            SELECT address1, address2, address3, address4
5808            INTO l_ptnr_addr_tbl(l_add_idx).address1,
5809                 l_ptnr_addr_tbl(l_add_idx).address2,
5810                 l_ptnr_addr_tbl(l_add_idx).address3,
5811                 l_ptnr_addr_tbl(l_add_idx).address4
5812            FROM HZ_LOCATIONS
5813           WHERE location_id = p_location_id;
5814          ELSIF p_table = 'PO_VENDOR_SITES_ALL' THEN
5815            SELECT address1, address2, address3, address4
5816            INTO l_ptnr_addr_tbl(l_add_idx).address1,
5817                 l_ptnr_addr_tbl(l_add_idx).address2,
5818                 l_ptnr_addr_tbl(l_add_idx).address3,
5819                 l_ptnr_addr_tbl(l_add_idx).address4
5820            FROM HZ_LOCATIONS
5821           WHERE location_id = p_location_id;
5822          END IF;
5823        END IF;
5824        x_address1 := l_ptnr_addr_tbl(l_add_idx).address1;
5825        x_address2 := l_ptnr_addr_tbl(l_add_idx).address2;
5826        x_address3 := l_ptnr_addr_tbl(l_add_idx).address3;
5827        x_address4 := l_ptnr_addr_tbl(l_add_idx).address4;
5828        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5829           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5830             'Address1: '||l_ptnr_addr_tbl(l_add_idx).address1||
5831             ', Address2: '||l_ptnr_addr_tbl(l_add_idx).address2||
5832             ', Address3: '||l_ptnr_addr_tbl(l_add_idx).address3||
5833             ', Address4: '||l_ptnr_addr_tbl(l_add_idx).address4||' for key: '||to_char(l_add_idx));
5834        END IF;
5835     END IF;
5836 
5837     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5838       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5839     END IF;
5840 
5841     EXCEPTION
5842       WHEN OTHERS THEN
5843         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5844         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5845           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5846         END IF;
5847   END get_address_elements;
5848 
5849 
5850 -----------------------------------------------------------------------
5851 --  PRIVATE PROCEDURE
5852 --  populate_parties
5853 --
5854 --  DESCRIPTION
5855 --  Retrieve the following from hz_parties given the party_tax_profile ids
5856 --  from zx_lines_det_factors and zx_party_tax_profile
5857 --  SHIP_TO_PARTY_NUMBER
5858 --  SHIP_TO_PARTY_NAME
5859 --  SHIP_FROM_PARTY_NUMBER
5860 --  SHIP_FROM_PARTY_NAME
5861 --  BILL_TO_PARTY_NUMBER
5862 --  BILL_TO_PARTY_NAME
5863 --  BILL_FROM_PARTY_NUMBER
5864 --  BILL_FROM_PARTY_NAME
5865 --
5866 --  CALLED BY
5867 --    partner_location_population
5868 -----------------------------------------------------------------------
5869 
5870 PROCEDURE populate_parties
5871   (p_event_class_rec         IN  ZX_API_PUB.event_class_rec_type,
5872    p_trx_id                  IN  NUMBER,
5873    p_trx_line_id             IN  NUMBER,
5874    p_trx_level_type          IN  VARCHAR2,
5875    p_ptnr_idx                IN  NUMBER,
5876    x_return_status           OUT NOCOPY VARCHAR2
5877   ) IS
5878 
5879    l_api_name         CONSTANT  VARCHAR2(30) := 'POPULATE_PARTIES';
5880    l_ship_to_ptp_id             NUMBER;
5881    l_ship_from_ptp_id           NUMBER;
5882    l_bill_to_ptp_id             NUMBER;
5883    l_bill_from_ptp_id           NUMBER;
5884    l_ship_third_pty_acct_id     ZX_LINES_DET_FACTORS.SHIP_THIRD_PTY_ACCT_ID%type;
5885    l_bill_third_pty_acct_id     ZX_LINES_DET_FACTORS.BILL_THIRD_PTY_ACCT_ID%type;
5886    l_party_index                VARCHAR2(100);
5887 BEGIN
5888     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5889       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5890     END IF;
5891 
5892     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
5893 
5894     --Get the ptp ids from zx_lines_det_factors
5895     SELECT ship_to_party_tax_prof_id,
5896            bill_to_party_tax_prof_id,
5897            ship_from_party_tax_prof_id,
5898            bill_from_party_tax_prof_id,
5899            ship_third_pty_acct_id,
5900            bill_third_pty_acct_id
5901       INTO l_ship_to_ptp_id,
5902            l_bill_to_ptp_id,
5903            l_ship_from_ptp_id,
5904            l_bill_from_ptp_id,
5905            l_ship_third_pty_acct_id,   -- Bug 4939819
5906            l_bill_third_pty_acct_id    -- Bug 4939819
5907       FROM ZX_LINES_DET_FACTORS
5908      WHERE event_class_mapping_id = p_event_class_rec.event_class_mapping_id  -- Bug 4939819
5909        AND trx_id                 = p_trx_id
5910        AND trx_line_id            = p_trx_line_id
5911        AND trx_level_type         = p_trx_level_type;
5912 
5913 /*
5914     Get the party_number,party_name from hz_parties for the ptp_ids
5915     Cache the values in party_id_tbl so that multiple selects are not performed
5916 
5917 Bug 4939819
5918 The source of party number and name information varies depending upon the family group.
5919 
5920 For O2C products, the information can be derived as follows.
5921 Party Type         PTP known   Other Info              Derivation Logic
5922 ---------------    -----       -----------             ----------------
5923 SHIP/BILL TO       Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5924 
5925 SHIP/BILL TO       N           SHIP_THIRD_PTY_ACCT_ID  Via HZ_CUST_ACCOUNTS, HZ_PARTIES
5926 In this case, SHIP_THIRD_PTY_ACCT_ID holds value of CUST_ACCOUNT_ID from HZ_CUST_ACCOUNTS.
5927 
5928 SHIP/BILL FROM     Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5929 As per Desh's update in the bug, If a eBiz customer wants to pass first party inv org id in
5930 Rel 12 with new partner integration, he must do legal to business association using LE form.
5931 That would create a PTP for the first party inv org.
5932 Hence, there will be a record in HZ_PARTIES and is correct to derive info from HZ_PARTIES.
5933 
5934 SHIP/BILL FROM     N                                   NULL (PTP is always expected)
5935 
5936 -------------------------------------------------------------------------------------------
5937 For P2P products, the information can be derived as follows.
5938 Party Type         PTP known   Other Info              Derivation Logic
5939 ---------------    -----       -----------             ----------------
5940 SHIP/BILL TO       Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5941 As per Desh's update in the bug, If a eBiz customer wants to pass first party inv org id in
5942 Rel 12 with new partner integration, he must do legal to business association using LE form.
5943 That would create a PTP for the first party inv org.
5944 Hence, there will definitely be record in HZ_PARTIES.
5945 
5946 SHIP/BILL TO       N                                   NULL (PTP is always expected)
5947 
5948 SHIP/BILL FROM     Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5949 
5950 SHIP/BILL FROM     N           SHIP_THIRD_PTY_ACCT_ID  Via AP_SUPPLIERS
5951 In this case, SHIP_THIRD_PTY_ACCT_ID holds value of VENDOR_ID.
5952 
5953 */
5954     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5955        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5956          'l_ship_from_ptp_id = '||l_ship_from_ptp_id||
5957          ', l_ship_third_pty_acct_id = '||l_ship_third_pty_acct_id);
5958     END IF;
5959 
5960     IF l_ship_from_ptp_id is NOT NULL  THEN
5961       l_party_index := l_ship_from_ptp_id;
5962       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
5963         SELECT pty.party_name,
5964                pty.party_number
5965           INTO l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx),
5966                l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx)
5967           FROM hz_parties pty,
5968                zx_party_tax_profile ptp
5969          WHERE ptp.party_tax_profile_id = l_ship_from_ptp_id
5970            AND ptp.party_id = pty.party_id;
5971 
5972          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx);
5973          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx);
5974        ELSE
5975          l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
5976          l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
5977       END IF;
5978     ELSE
5979       IF p_event_class_rec.prod_family_grp_code = 'O2C' THEN
5980          l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5981          l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
5982       ELSE
5983          IF l_ship_third_pty_acct_id is NOT NULL THEN
5984             BEGIN
5985                SELECT po.vendor_name,
5986                       hp.party_number
5987                  INTO l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx),
5988                       l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx)
5989                  FROM ap_suppliers po
5990                     , hz_parties hp
5991                 WHERE po.vendor_id = l_ship_third_pty_acct_id
5992                   AND po.party_id  = hp.party_id;
5993             EXCEPTION WHEN OTHERS THEN
5994                l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5995                l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
5996             END;
5997          ELSE
5998             l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5999             l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
6000          END IF;
6001       END IF;
6002     END IF;
6003 
6004     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6005        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6006          'l_bill_from_ptp_id = '||l_bill_from_ptp_id||
6007          ', l_bill_third_pty_acct_id = '||l_bill_third_pty_acct_id);
6008     END IF;
6009 
6010     IF l_bill_from_ptp_id is NOT NULL  THEN
6011       l_party_index := l_bill_from_ptp_id;
6012       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
6013         SELECT pty.party_name,
6014                pty.party_number
6015           INTO l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx),
6016                l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx)
6017           FROM hz_parties pty,
6018                zx_party_tax_profile ptp
6019          WHERE ptp.party_tax_profile_id = l_bill_from_ptp_id
6020            AND ptp.party_id = pty.party_id;
6021 
6022          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx);
6023          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx);
6024       ELSE
6025          l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
6026          l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
6027       END IF;
6028     ELSE
6029       IF p_event_class_rec.prod_family_grp_code = 'O2C' THEN
6030          l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
6031          l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
6032       ELSE
6033          IF l_bill_third_pty_acct_id is NOT NULL THEN
6034             BEGIN
6035                SELECT po.vendor_name,
6036                       hp.party_number
6037                  INTO l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx),
6038                       l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx)
6039                  FROM ap_suppliers po
6040                     , hz_parties hp
6041                 WHERE po.vendor_id = l_bill_third_pty_acct_id
6042                   AND po.party_id  = hp.party_id;
6043             EXCEPTION WHEN OTHERS THEN
6044                l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
6045                l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
6046             END;
6047          ELSE
6048             l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
6049             l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
6050          END IF;
6051       END IF;
6052     END IF;
6053 
6054     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6055        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6056          'l_ship_to_ptp_id = '||l_ship_to_ptp_id||
6057          ', l_ship_third_pty_acct_id = '||l_ship_third_pty_acct_id);
6058     END IF;
6059 
6060     IF l_ship_to_ptp_id is NOT NULL  THEN
6061       l_party_index := l_ship_to_ptp_id;
6062       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
6063         SELECT pty.party_name,
6064                pty.party_number
6065           INTO l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx),
6066                l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx)
6067           FROM hz_parties pty,
6068                zx_party_tax_profile ptp
6069          WHERE ptp.party_tax_profile_id = l_ship_to_ptp_id
6070            AND ptp.party_id = pty.party_id;
6071 
6072          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx);
6073          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx);
6074        ELSE
6075          l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
6076          l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
6077       END IF;
6078     ELSE
6079       IF p_event_class_rec.prod_family_grp_code = 'P2P' THEN
6080          l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
6081          l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
6082       ELSE
6083          IF l_ship_third_pty_acct_id is NOT NULL THEN
6084             BEGIN
6085                SELECT hzp.party_name,
6086                       hzp.party_number
6087                  INTO l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx),
6088                       l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx)
6089                  FROM hz_cust_accounts hzca,
6090                       hz_parties hzp
6091                 WHERE hzp.party_id = hzca.party_id
6092                   AND hzca.cust_account_id = l_ship_third_pty_acct_id;
6093             EXCEPTION WHEN OTHERS THEN
6094                l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
6095                l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
6096             END;
6097          ELSE
6098             l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
6099             l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
6100          END IF;
6101       END IF;
6102     END IF;
6103 
6104     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6105        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6106          'l_bill_to_ptp_id = '||l_bill_to_ptp_id||
6107          ', l_bill_third_pty_acct_id = '||l_bill_third_pty_acct_id);
6108     END IF;
6109 
6110     IF l_bill_to_ptp_id is NOT NULL  THEN
6111       l_party_index := l_bill_to_ptp_id;
6112       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
6113         SELECT pty.party_name,
6114                pty.party_number
6115           INTO l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx),
6116                l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx)
6117           FROM hz_parties pty,
6118                zx_party_tax_profile ptp
6119          WHERE ptp.party_tax_profile_id = l_bill_to_ptp_id
6120            AND ptp.party_id = pty.party_id;
6121 
6122          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx);
6123          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx);
6124        ELSE
6125          l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
6126          l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
6127       END IF;
6128     ELSE
6129       IF p_event_class_rec.prod_family_grp_code = 'P2P' THEN
6130          l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
6131          l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
6132       ELSE
6133          IF l_bill_third_pty_acct_id is NOT NULL THEN
6134             BEGIN
6135                SELECT hzp.party_name,
6136                       hzp.party_number
6137                  INTO l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx),
6138                       l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx)
6139                  FROM hz_cust_accounts hzca,
6140                       hz_parties hzp
6141                 WHERE hzp.party_id = hzca.party_id
6142                   AND hzca.cust_account_id = l_bill_third_pty_acct_id;
6143             EXCEPTION WHEN OTHERS THEN
6144                l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
6145                l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
6146             END;
6147          ELSE
6148             l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
6149             l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
6150          END IF;
6151       END IF;
6152     END IF;
6153 
6154     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6155       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
6156     END IF;
6157 
6158     EXCEPTION
6159       WHEN OTHERS THEN
6160         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6161         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6162           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6163         END IF;
6164   END populate_parties;
6165 
6166 -----------------------------------------------------------------------
6167 --  PRIVATE PROCEDURE
6168 --  populate_ptnr_loc_tbl
6169 --
6170 --  DESCRIPTION
6171 --  Populate the partner location gt table
6172 --
6173 --  CALLED BY
6174 --    partner_location_population
6175 -----------------------------------------------------------------------
6176  PROCEDURE populate_ptnr_loc_tbl(
6177     p_ptnr_idx      IN         BINARY_INTEGER,
6178     p_location_type IN         VARCHAR2,
6179     p_loc_idx       IN         BINARY_INTEGER,
6180     p_geo_type      IN         VARCHAR2,
6181     p_geo_val       IN         VARCHAR2,
6182     x_return_status OUT NOCOPY VARCHAR2
6183     ) IS
6184     l_api_name CONSTANT  VARCHAR2(30) := 'POPULATE_PTNR_LOC_TBL';
6185     l_return_status      VARCHAR2(1);
6186  BEGIN
6187    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6188      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
6189    END IF;
6190 
6191    x_return_status := FND_API.G_RET_STS_SUCCESS;
6192 
6193    IF p_location_type = 'SHIP_FROM' THEN
6194      IF p_loc_idx = 1 THEN
6195        l_ptnr_loc_tbl.ship_from_geography_type1(p_ptnr_idx) := p_geo_type;
6196        l_ptnr_loc_tbl.ship_from_geography_value1(p_ptnr_idx):= p_geo_val;
6197      ELSIF p_loc_idx = 2 THEN
6198        l_ptnr_loc_tbl.ship_from_geography_type2(p_ptnr_idx) := p_geo_type;
6199        l_ptnr_loc_tbl.ship_from_geography_value2(p_ptnr_idx):= p_geo_val;
6200      ELSIF p_loc_idx = 3 THEN
6201        l_ptnr_loc_tbl.ship_from_geography_type3(p_ptnr_idx) := p_geo_type;
6202        l_ptnr_loc_tbl.ship_from_geography_value3(p_ptnr_idx):= p_geo_val;
6203      ELSIF p_loc_idx = 4 THEN
6204        l_ptnr_loc_tbl.ship_from_geography_type4(p_ptnr_idx) := p_geo_type;
6205        l_ptnr_loc_tbl.ship_from_geography_value4(p_ptnr_idx):= p_geo_val;
6206      ELSIF p_loc_idx = 5 THEN
6207        l_ptnr_loc_tbl.ship_from_geography_type5(p_ptnr_idx) := p_geo_type;
6208        l_ptnr_loc_tbl.ship_from_geography_value5(p_ptnr_idx):= p_geo_val;
6209      ELSIF p_loc_idx = 6 THEN
6210        l_ptnr_loc_tbl.ship_from_geography_type6(p_ptnr_idx) := p_geo_type;
6211        l_ptnr_loc_tbl.ship_from_geography_value6(p_ptnr_idx):= p_geo_val;
6212      ELSIF p_loc_idx = 7 THEN
6213        l_ptnr_loc_tbl.ship_from_geography_type7(p_ptnr_idx) := p_geo_type;
6214        l_ptnr_loc_tbl.ship_from_geography_value7(p_ptnr_idx):= p_geo_val;
6215      ELSIF p_loc_idx = 8 THEN
6216        l_ptnr_loc_tbl.ship_from_geography_type8(p_ptnr_idx) := p_geo_type;
6217        l_ptnr_loc_tbl.ship_from_geography_value8(p_ptnr_idx):= p_geo_val;
6218      ELSIF p_loc_idx = 9 THEN
6219        l_ptnr_loc_tbl.ship_from_geography_type9(p_ptnr_idx) := p_geo_type;
6220        l_ptnr_loc_tbl.ship_from_geography_value9(p_ptnr_idx):= p_geo_val;
6221      ELSIF p_loc_idx = 10 THEN
6222        l_ptnr_loc_tbl.ship_from_geography_type10(p_ptnr_idx) := p_geo_type;
6223        l_ptnr_loc_tbl.ship_from_geography_value10(p_ptnr_idx):= p_geo_val;
6224      END IF;
6225    ELSIF p_location_type = 'SHIP_TO' THEN
6226      IF p_loc_idx = 1 THEN
6227        l_ptnr_loc_tbl.ship_to_geography_type1(p_ptnr_idx) := p_geo_type;
6228        l_ptnr_loc_tbl.ship_to_geography_value1(p_ptnr_idx):= p_geo_val;
6229      ELSIF p_loc_idx = 2 THEN
6230        l_ptnr_loc_tbl.ship_to_geography_type2(p_ptnr_idx) := p_geo_type;
6231        l_ptnr_loc_tbl.ship_to_geography_value2(p_ptnr_idx):= p_geo_val;
6232      ELSIF p_loc_idx = 3 THEN
6233        l_ptnr_loc_tbl.ship_to_geography_type3(p_ptnr_idx) := p_geo_type;
6234        l_ptnr_loc_tbl.ship_to_geography_value3(p_ptnr_idx):= p_geo_val;
6235      ELSIF p_loc_idx = 4 THEN
6236        l_ptnr_loc_tbl.ship_to_geography_type4(p_ptnr_idx) := p_geo_type;
6237        l_ptnr_loc_tbl.ship_to_geography_value4(p_ptnr_idx):= p_geo_val;
6238      ELSIF p_loc_idx = 5 THEN
6239        l_ptnr_loc_tbl.ship_to_geography_type5(p_ptnr_idx) := p_geo_type;
6240        l_ptnr_loc_tbl.ship_to_geography_value5(p_ptnr_idx):= p_geo_val;
6241      ELSIF p_loc_idx = 6 THEN
6242        l_ptnr_loc_tbl.ship_to_geography_type6(p_ptnr_idx) := p_geo_type;
6243        l_ptnr_loc_tbl.ship_to_geography_value6(p_ptnr_idx):= p_geo_val;
6244      ELSIF p_loc_idx = 7 THEN
6245        l_ptnr_loc_tbl.ship_to_geography_type7(p_ptnr_idx) := p_geo_type;
6246        l_ptnr_loc_tbl.ship_to_geography_value7(p_ptnr_idx):= p_geo_val;
6247      ELSIF p_loc_idx = 8 THEN
6248        l_ptnr_loc_tbl.ship_to_geography_type8(p_ptnr_idx) := p_geo_type;
6249        l_ptnr_loc_tbl.ship_to_geography_value8(p_ptnr_idx):= p_geo_val;
6250      ELSIF p_loc_idx = 9 THEN
6251        l_ptnr_loc_tbl.ship_to_geography_type9(p_ptnr_idx) := p_geo_type;
6252        l_ptnr_loc_tbl.ship_to_geography_value9(p_ptnr_idx):= p_geo_val;
6253      ELSIF p_loc_idx = 10 THEN
6254        l_ptnr_loc_tbl.ship_to_geography_type10(p_ptnr_idx) := p_geo_type;
6255        l_ptnr_loc_tbl.ship_to_geography_value10(p_ptnr_idx):= p_geo_val;
6256      END IF;
6257    ELSIF p_location_type = 'BILL_TO' THEN
6258      IF p_loc_idx = 1 THEN
6259        l_ptnr_loc_tbl.bill_to_geography_type1(p_ptnr_idx) := p_geo_type;
6260        l_ptnr_loc_tbl.bill_to_geography_value1(p_ptnr_idx):= p_geo_val;
6261      ELSIF p_loc_idx = 2 THEN
6262        l_ptnr_loc_tbl.bill_to_geography_type2(p_ptnr_idx) := p_geo_type;
6263        l_ptnr_loc_tbl.bill_to_geography_value2(p_ptnr_idx):= p_geo_val;
6264      ELSIF p_loc_idx = 3 THEN
6265        l_ptnr_loc_tbl.bill_to_geography_type3(p_ptnr_idx) := p_geo_type;
6266        l_ptnr_loc_tbl.bill_to_geography_value3(p_ptnr_idx):= p_geo_val;
6267      ELSIF p_loc_idx = 4 THEN
6268        l_ptnr_loc_tbl.bill_to_geography_type4(p_ptnr_idx) := p_geo_type;
6269        l_ptnr_loc_tbl.bill_to_geography_value4(p_ptnr_idx):= p_geo_val;
6270      ELSIF p_loc_idx = 5 THEN
6271        l_ptnr_loc_tbl.bill_to_geography_type5(p_ptnr_idx) := p_geo_type;
6272        l_ptnr_loc_tbl.bill_to_geography_value5(p_ptnr_idx):= p_geo_val;
6273      ELSIF p_loc_idx = 6 THEN
6274        l_ptnr_loc_tbl.bill_to_geography_type6(p_ptnr_idx) := p_geo_type;
6275        l_ptnr_loc_tbl.bill_to_geography_value6(p_ptnr_idx):= p_geo_val;
6276      ELSIF p_loc_idx = 7 THEN
6277        l_ptnr_loc_tbl.bill_to_geography_type7(p_ptnr_idx) := p_geo_type;
6278        l_ptnr_loc_tbl.bill_to_geography_value7(p_ptnr_idx):= p_geo_val;
6279      ELSIF p_loc_idx = 8 THEN
6280        l_ptnr_loc_tbl.bill_to_geography_type8(p_ptnr_idx) := p_geo_type;
6281        l_ptnr_loc_tbl.bill_to_geography_value8(p_ptnr_idx):= p_geo_val;
6282      ELSIF p_loc_idx = 9 THEN
6283        l_ptnr_loc_tbl.bill_to_geography_type9(p_ptnr_idx) := p_geo_type;
6284        l_ptnr_loc_tbl.bill_to_geography_value9(p_ptnr_idx):= p_geo_val;
6285      ELSIF p_loc_idx = 10 THEN
6286        l_ptnr_loc_tbl.bill_to_geography_type10(p_ptnr_idx) := p_geo_type;
6287        l_ptnr_loc_tbl.bill_to_geography_value10(p_ptnr_idx):= p_geo_val;
6288      END IF;
6289    ELSIF p_location_type = 'BILL_FROM' THEN
6290      IF p_loc_idx = 1 THEN
6291        l_ptnr_loc_tbl.bill_from_geography_type1(p_ptnr_idx) := p_geo_type;
6292        l_ptnr_loc_tbl.bill_from_geography_value1(p_ptnr_idx):= p_geo_val;
6293      ELSIF p_loc_idx = 2 THEN
6294        l_ptnr_loc_tbl.bill_from_geography_type2(p_ptnr_idx) := p_geo_type;
6295        l_ptnr_loc_tbl.bill_from_geography_value2(p_ptnr_idx):= p_geo_val;
6296      ELSIF p_loc_idx = 3 THEN
6297        l_ptnr_loc_tbl.bill_from_geography_type3(p_ptnr_idx) := p_geo_type;
6298        l_ptnr_loc_tbl.bill_from_geography_value3(p_ptnr_idx):= p_geo_val;
6299      ELSIF p_loc_idx = 4 THEN
6300        l_ptnr_loc_tbl.bill_from_geography_type4(p_ptnr_idx) := p_geo_type;
6301        l_ptnr_loc_tbl.bill_from_geography_value4(p_ptnr_idx):= p_geo_val;
6302      ELSIF p_loc_idx = 5 THEN
6303        l_ptnr_loc_tbl.bill_from_geography_type5(p_ptnr_idx) := p_geo_type;
6304        l_ptnr_loc_tbl.bill_from_geography_value5(p_ptnr_idx):= p_geo_val;
6305      ELSIF p_loc_idx = 6 THEN
6306        l_ptnr_loc_tbl.bill_from_geography_type6(p_ptnr_idx) := p_geo_type;
6307        l_ptnr_loc_tbl.bill_from_geography_value6(p_ptnr_idx):= p_geo_val;
6308      ELSIF p_loc_idx = 7 THEN
6309        l_ptnr_loc_tbl.bill_from_geography_type7(p_ptnr_idx) := p_geo_type;
6310        l_ptnr_loc_tbl.bill_from_geography_value7(p_ptnr_idx):= p_geo_val;
6311      ELSIF p_loc_idx = 8 THEN
6312        l_ptnr_loc_tbl.bill_from_geography_type8(p_ptnr_idx) := p_geo_type;
6313        l_ptnr_loc_tbl.bill_from_geography_value8(p_ptnr_idx):= p_geo_val;
6314      ELSIF p_loc_idx = 9 THEN
6315        l_ptnr_loc_tbl.bill_from_geography_type9(p_ptnr_idx) := p_geo_type;
6316        l_ptnr_loc_tbl.bill_from_geography_value9(p_ptnr_idx):= p_geo_val;
6317      ELSIF p_loc_idx = 10 THEN
6318        l_ptnr_loc_tbl.bill_from_geography_type10(p_ptnr_idx) := p_geo_type;
6319        l_ptnr_loc_tbl.bill_from_geography_value10(p_ptnr_idx):= p_geo_val;
6320      END IF;
6321    ELSIF p_location_type = 'POO' THEN
6322      IF p_loc_idx = 1 THEN
6323        l_ptnr_loc_tbl.poo_geography_type1(p_ptnr_idx) := p_geo_type;
6324        l_ptnr_loc_tbl.poo_geography_value1(p_ptnr_idx):= p_geo_val;
6325      ELSIF p_loc_idx = 2 THEN
6326        l_ptnr_loc_tbl.poo_geography_type2(p_ptnr_idx) := p_geo_type;
6327        l_ptnr_loc_tbl.poo_geography_value2(p_ptnr_idx):= p_geo_val;
6328      ELSIF p_loc_idx = 3 THEN
6329        l_ptnr_loc_tbl.poo_geography_type3(p_ptnr_idx) := p_geo_type;
6330        l_ptnr_loc_tbl.poo_geography_value3(p_ptnr_idx):= p_geo_val;
6331      ELSIF p_loc_idx = 4 THEN
6332        l_ptnr_loc_tbl.poo_geography_type4(p_ptnr_idx) := p_geo_type;
6333        l_ptnr_loc_tbl.poo_geography_value4(p_ptnr_idx):= p_geo_val;
6334      ELSIF p_loc_idx = 5 THEN
6335        l_ptnr_loc_tbl.poo_geography_type5(p_ptnr_idx) := p_geo_type;
6336        l_ptnr_loc_tbl.poo_geography_value5(p_ptnr_idx):= p_geo_val;
6337      ELSIF p_loc_idx = 6 THEN
6338        l_ptnr_loc_tbl.poo_geography_type6(p_ptnr_idx) := p_geo_type;
6339        l_ptnr_loc_tbl.poo_geography_value6(p_ptnr_idx):= p_geo_val;
6340      ELSIF p_loc_idx = 7 THEN
6341        l_ptnr_loc_tbl.poo_geography_type7(p_ptnr_idx) := p_geo_type;
6342        l_ptnr_loc_tbl.poo_geography_value7(p_ptnr_idx):= p_geo_val;
6343      ELSIF p_loc_idx = 8 THEN
6344        l_ptnr_loc_tbl.poo_geography_type8(p_ptnr_idx) := p_geo_type;
6345        l_ptnr_loc_tbl.poo_geography_value8(p_ptnr_idx):= p_geo_val;
6346      ELSIF p_loc_idx = 9 THEN
6347        l_ptnr_loc_tbl.poo_geography_type9(p_ptnr_idx) := p_geo_type;
6348        l_ptnr_loc_tbl.poo_geography_value9(p_ptnr_idx):= p_geo_val;
6349      ELSIF p_loc_idx = 10 THEN
6350        l_ptnr_loc_tbl.poo_geography_type10(p_ptnr_idx) := p_geo_type;
6351        l_ptnr_loc_tbl.poo_geography_value10(p_ptnr_idx):= p_geo_val;
6352      END IF;
6353    ELSIF p_location_type = 'POA' THEN
6354      IF p_loc_idx = 1 THEN
6355        l_ptnr_loc_tbl.poa_geography_type1(p_ptnr_idx) := p_geo_type;
6356        l_ptnr_loc_tbl.poa_geography_value1(p_ptnr_idx):= p_geo_val;
6357      ELSIF p_loc_idx = 2 THEN
6358        l_ptnr_loc_tbl.poa_geography_type2(p_ptnr_idx) := p_geo_type;
6359        l_ptnr_loc_tbl.poa_geography_value2(p_ptnr_idx):= p_geo_val;
6360      ELSIF p_loc_idx = 3 THEN
6361        l_ptnr_loc_tbl.poa_geography_type3(p_ptnr_idx) := p_geo_type;
6362        l_ptnr_loc_tbl.poa_geography_value3(p_ptnr_idx):= p_geo_val;
6363      ELSIF p_loc_idx = 4 THEN
6364        l_ptnr_loc_tbl.poa_geography_type4(p_ptnr_idx) := p_geo_type;
6365        l_ptnr_loc_tbl.poa_geography_value4(p_ptnr_idx):= p_geo_val;
6366      ELSIF p_loc_idx = 5 THEN
6367        l_ptnr_loc_tbl.poa_geography_type5(p_ptnr_idx) := p_geo_type;
6368        l_ptnr_loc_tbl.poa_geography_value5(p_ptnr_idx):= p_geo_val;
6369      ELSIF p_loc_idx = 6 THEN
6370        l_ptnr_loc_tbl.poa_geography_type6(p_ptnr_idx) := p_geo_type;
6371        l_ptnr_loc_tbl.poa_geography_value6(p_ptnr_idx):= p_geo_val;
6372      ELSIF p_loc_idx = 7 THEN
6373        l_ptnr_loc_tbl.poa_geography_type7(p_ptnr_idx) := p_geo_type;
6374        l_ptnr_loc_tbl.poa_geography_value7(p_ptnr_idx):= p_geo_val;
6375      ELSIF p_loc_idx = 8 THEN
6376        l_ptnr_loc_tbl.poa_geography_type8(p_ptnr_idx) := p_geo_type;
6377        l_ptnr_loc_tbl.poa_geography_value8(p_ptnr_idx):= p_geo_val;
6378      ELSIF p_loc_idx = 9 THEN
6379        l_ptnr_loc_tbl.poa_geography_type9(p_ptnr_idx) := p_geo_type;
6380        l_ptnr_loc_tbl.poa_geography_value9(p_ptnr_idx):= p_geo_val;
6381      ELSIF p_loc_idx = 10 THEN
6382        l_ptnr_loc_tbl.poa_geography_type10(p_ptnr_idx) := p_geo_type;
6383        l_ptnr_loc_tbl.poa_geography_value10(p_ptnr_idx):= p_geo_val;
6384      END IF;
6385    END IF;
6386 
6387    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6388      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
6389    END IF;
6390 
6391    EXCEPTION
6392       WHEN OTHERS THEN
6393         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6394         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6395           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6396         END IF;
6397  END POPULATE_PTNR_LOC_TBL;
6398 
6399 -----------------------------------------------------------------------
6400 --  PRIVATE PROCEDURE
6401 --  prepare_for_loc_caching
6402 --
6403 --  DESCRIPTION
6404 --
6405 --
6406 --  CALLED BY
6407 --    calculate_tax_pvt
6408 --
6409 -----------------------------------------------------------------------
6410 PROCEDURE prepare_for_loc_caching(
6411    p_trx_line_index  IN  NUMBER,
6412    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
6413    x_return_status   OUT NOCOPY VARCHAR2
6414   )IS
6415 
6416   i                                NUMBER;
6417   l_location_type_tbl              ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
6418   l_location_id_tbl                ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
6419   l_return_status                  VARCHAR2(1);
6420   l_context_info_rec               ZX_API_PUB.context_info_rec_type;
6421   l_api_name              CONSTANT VARCHAR2(30):= 'PREPARE_FOR_LOC_CACHING';
6422 
6423 BEGIN
6424     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
6425       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
6426     END IF;
6427 
6428     IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
6429        i := 1;
6430     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index) is not NULL then
6431      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index);
6432      l_location_type_tbl(i):= 'SHIP_TO';
6433      i := i + 1;
6434     END IF;
6435 
6436     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index) is not NULL then
6437      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index);
6438      l_location_type_tbl(i):= 'SHIP_FROM';
6439      i := i + 1;
6440     END IF;
6441 
6442     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index)is NOT NULL then
6443      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index);
6444      l_location_type_tbl(i):= 'BILL_TO';
6445      i := i + 1;
6446     END IF;
6447 
6448     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index) is NOT NULL then
6449      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index);
6450      l_location_type_tbl(i):= 'BILL_FROM';
6451      i := i + 1;
6452     END IF;
6453 
6454     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) is NOT NULL then
6455      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index);
6456      l_location_type_tbl(i):= 'POA';
6457      i := i + 1;
6458     END IF;
6459 
6460     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) is NOT NULL then
6461      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index);
6462      l_location_type_tbl(i):= 'POO';
6463      i := i + 1;
6464     END IF;
6465 
6466     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_location_id(p_trx_line_index) is NOT NULL then
6467      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_location_id(p_trx_line_index);
6468      l_location_type_tbl(i):= 'TRADING_HQ';
6469      i := i + 1;
6470     END IF;
6471 
6472     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_location_id(p_trx_line_index) is NOT NULL then
6473      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_location_id(p_trx_line_index);
6474      l_location_type_tbl(i):= 'OWN_HQ';
6475      i := i + 1;
6476     END IF;
6477 
6478     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_transfer_location_id(p_trx_line_index) is NOT NULL then
6479      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_transfer_location_id(p_trx_line_index);
6480      l_location_type_tbl(i):= 'TITLE_TRANS';
6481      i := i + 1;
6482     END IF;
6483 
6484     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_location_id(p_trx_line_index)is NOT NULL then
6485      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_location_id(p_trx_line_index);
6486      l_location_type_tbl(i):= 'PAYING';
6487      i := i + 1;
6488     END IF;
6489 
6490     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poc_location_id(p_trx_line_index)is NOT NULL then
6491      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poc_location_id(p_trx_line_index);
6492      l_location_type_tbl(i):= 'POC';
6493      i := i + 1;
6494     END IF;
6495 
6496     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_location_id(p_trx_line_index) is NOT NULL then
6497      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_location_id(p_trx_line_index);
6498      l_location_type_tbl(i):= 'POD';
6499      i := i + 1;
6500     END IF;
6501 
6502     IF  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_org_location_id(p_trx_line_index) is NOT NULL then
6503      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_org_location_id(p_trx_line_index);
6504      l_location_type_tbl(i):= 'INTERNAL_ORG';
6505      i := i + 1;
6506     END IF;
6507 
6508 
6509     ZX_TCM_GEO_JUR_PKG.populate_loc_geography_info(event_class_mapping_id => p_event_class_rec.event_class_mapping_id,
6510                                                    trx_id                 => p_event_class_rec.trx_id,
6511                                                    trx_line_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index),
6512                                                    trx_level_type         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index),
6513                                                    location_type_tbl      => l_location_type_tbl,
6514                                                    location_id_tbl        => l_location_id_tbl,
6515                                                    x_return_status        => l_return_status
6516                                                    );
6517     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6518        x_return_status := l_return_status;
6519        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6520           l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index);
6521           l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index);
6522           l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index);
6523           l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index);
6524           l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
6525           l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
6526           ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
6527         END IF;
6528 
6529        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6530          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6531          ' RETURN_STATUS = ' || x_return_status||', '||SQLERRM);
6532        END IF;
6533        RETURN;
6534     END IF;
6535  END IF;
6536 
6537    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6538      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
6539    END IF;
6540 
6541    EXCEPTION
6542       WHEN OTHERS THEN
6543         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6544         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6545           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6546         END IF;
6547  END prepare_for_loc_caching;
6548 
6549 -----------------------------------------------------------------------
6550 --  PRIVATE PROCEDURE
6551 --  partner_location_population
6552 --
6553 --  DESCRIPTION
6554 --  Populate the partner location gt table
6555 --
6556 --  CALLED BY
6557 --    calculate_tax
6558 -----------------------------------------------------------------------
6559 PROCEDURE partner_location_population(
6560     p_event_class_rec  IN  ZX_API_PUB.event_class_rec_type,
6561     x_return_status    OUT NOCOPY VARCHAR2
6562     ) IS
6563     l_return_status      VARCHAR2(30);
6564     l_ptnr_index         BINARY_INTEGER;
6565     l_ship_from_idx      NUMBER;
6566     l_ship_to_idx        NUMBER;
6567     l_bill_to_idx        NUMBER;
6568     l_bill_from_idx      NUMBER;
6569     l_poo_idx            NUMBER;
6570     l_poa_idx            NUMBER;
6571     l_prev_trx_line_id   NUMBER;
6572     l_ship_from_tbl      VARCHAR2(100);
6573     l_ship_from_id       NUMBER;
6574     l_ship_to_tbl        VARCHAR2(100);
6575     l_ship_to_id         NUMBER;
6576     l_bill_to_tbl        VARCHAR2(100);
6577     l_bill_to_id         NUMBER;
6578     l_bill_from_tbl      VARCHAR2(100);
6579     l_bill_from_id       NUMBER;
6580     l_poo_tbl            VARCHAR2(100);
6581     l_poo_id             NUMBER;
6582     l_poa_tbl            VARCHAR2(100);
6583     l_poa_id             NUMBER;
6584     l_address1           VARCHAR2(100);
6585     l_address2           VARCHAR2(100);
6586     l_address3           VARCHAR2(100);
6587     l_address4           VARCHAR2(100);
6588     l_first              BOOLEAN;
6589     l_context_info_rec   ZX_API_PUB.context_info_rec_type;
6590     l_api_name  CONSTANT VARCHAR2(30) := 'PARTNER_LOCATION_POPULATION';
6591     -- Commneting the following code for Bug 13972505
6592     -- l_trx_id_indx        VARCHAR2(200);
6593   BEGIN
6594     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6595       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
6596     END IF;
6597 
6598     x_return_status := FND_API.G_RET_STS_SUCCESS;
6599     l_first := TRUE;
6600 
6601 /*
6602     FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
6603     LOOP
6604        IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
6605           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
6606          zx_global_structures_pkg.g_ptnr_srvc_subscr_flag := 'Y';
6607          EXIT;
6608        END IF;
6609     END LOOP;
6610 */
6611 
6612     IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
6613       l_ptnr_index := 0;
6614       initialise_partner_tables;   -- Bug 5068716: Moved initialization of partner tables only if partner is involved.
6615       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6616           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6617             ' ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl-count = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id.count);
6618           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6619             ' l_ptnr_loc_tbl-count = ' || l_ptnr_loc_tbl.trx_id.count);
6620       END IF;
6621 
6622       FOR i IN nvl(ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id.LAST,-99)
6623       LOOP
6624        IF (ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id(i) = p_event_class_rec.trx_id) THEN
6625         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6626           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6627             ' location_info_tbl-EVENT_CLASS_MAPPING_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.EVENT_CLASS_MAPPING_ID(i)||
6628             ', TRX_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_ID(i)||
6629             ', TRX_LINE_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_LINE_ID(i)||
6630             ', TRX_LEVEL_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_LEVEL_TYPE(i)||
6631             ', LOCATION_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_TYPE(i)||
6632             ', LOCATION_TABLE_NAME = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_TABLE_NAME(i)||
6633             ', LOCATION_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_ID(i)||
6634             ', GEOGRAPHY_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_TYPE(i)||
6635             ', GEOGRAPHY_VALUE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_VALUE(i)||
6636             ', GEOGRAPHY_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_ID(i));
6637         END IF;
6638 
6639        --------------------------------------------------------------------------------------
6640        -- For the first iteration populate the header columns of the structure using the flag l_first
6641        -- For subsequent iterations populate the header columns after trx line id changes.
6642        --------------------------------------------------------------------------------------
6643          IF (nvl(l_prev_trx_line_id,0) <> ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i) OR l_first) THEN
6644            l_prev_trx_line_id := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i);
6645            l_ptnr_index := l_ptnr_index + 1;
6646            l_ptnr_loc_tbl.event_class_mapping_id(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.event_class_mapping_id(i);
6647            l_ptnr_loc_tbl.trx_id(l_ptnr_index):= ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id(i);
6648            l_ptnr_loc_tbl.trx_line_id(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i);
6649            l_ptnr_loc_tbl.trx_level_type(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_level_type(i);
6650            l_ship_from_idx := 1;
6651            l_ship_to_idx := 1;
6652            l_bill_to_idx := 1;
6653            l_bill_from_idx := 1;
6654            l_poo_idx := 1;
6655            l_poa_idx := 1;
6656            l_first := FALSE;
6657 
6658            --Initialise the record of tables so that element at index error does not appear
6659            init_ptnr_location_tbl(l_ptnr_index);
6660 
6661            --Retrieve the ship_from_party_number/name,ship_to_party_number/name,
6662            --bill_to_party_number/name, bill_from_party_number/name
6663 
6664            populate_parties (p_event_class_rec,
6665                           -- l_ptnr_loc_tbl.event_class_mapping_id(l_ptnr_index),
6666                              l_ptnr_loc_tbl.trx_id(l_ptnr_index),
6667                              l_ptnr_loc_tbl.trx_line_id(l_ptnr_index),
6668                              l_ptnr_loc_tbl.trx_level_type(l_ptnr_index),
6669                              l_ptnr_index,
6670                              l_return_status
6671                              );
6672 
6673     --Bug#6721441 --
6674     -- Commneting the following code for Bug 13972505
6675     --       l_trx_id_indx := to_char(p_event_class_rec.event_class_mapping_id)
6676     --                      ||to_char(l_ptnr_loc_tbl.trx_id(l_ptnr_index))
6677     --                      ||to_char(l_ptnr_loc_tbl.trx_line_id(l_ptnr_index))
6678     --                      ||l_ptnr_loc_tbl.trx_level_type(l_ptnr_index);
6679 
6680     --       IF l_trx_id_tbl.EXISTS(l_trx_id_indx) THEN
6681     --          NULL;
6682     --       ELSE
6683 
6684     --       l_trx_id_tbl(l_trx_id_indx).event_class_map_id := p_event_class_rec.event_class_mapping_id;
6685     --       l_trx_id_tbl(l_trx_id_indx).trx_id := l_ptnr_loc_tbl.trx_id(l_ptnr_index);
6686     --       l_trx_id_tbl(l_trx_id_indx).trx_line_id := l_ptnr_loc_tbl.trx_line_id(l_ptnr_index);
6687     --       l_trx_id_tbl(l_trx_id_indx).trx_level_type := l_ptnr_loc_tbl.trx_level_type(l_ptnr_index);
6688 
6689     --       populate_parties (p_event_class_rec,
6690                           -- l_ptnr_loc_tbl.event_class_mapping_id(l_ptnr_index),
6691     --                         l_ptnr_loc_tbl.trx_id(l_ptnr_index),
6692     --                         l_ptnr_loc_tbl.trx_line_id(l_ptnr_index),
6693     --                         l_ptnr_loc_tbl.trx_level_type(l_ptnr_index),
6694     --                         l_ptnr_index,
6695     --                         l_return_status
6696     --                         );
6697     --     END IF;
6698          END IF;
6699        --------------------------------------------------------------------------------------
6700        -- Depending upon the location type populating the particular column of the record of
6701        -- tables structure. Incrementing the index counter for that particular location type
6702        --------------------------------------------------------------------------------------
6703          IF (ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'SHIP_FROM') THEN
6704            populate_ptnr_loc_tbl(l_ptnr_index,
6705                                  'SHIP_FROM',
6706                                  l_ship_from_idx,
6707                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6708                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6709                                  l_return_status
6710                                 );
6711            l_ship_from_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6712            l_ship_from_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6713            l_ship_from_idx := l_ship_from_idx + 1;
6714 
6715          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'SHIP_TO' THEN
6716            populate_ptnr_loc_tbl(l_ptnr_index,
6717                                  'SHIP_TO',
6718                                  l_ship_to_idx,
6719                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6720                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6721                                  l_return_status
6722                                 );
6723            l_ship_to_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6724            l_ship_to_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6725            l_ship_to_idx := l_ship_to_idx + 1;
6726 
6727          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'BILL_TO' THEN
6728            populate_ptnr_loc_tbl(l_ptnr_index,
6729                                 'BILL_TO',
6730                                 l_bill_to_idx,
6731                                 ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6732                                 ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6733                                 l_return_status
6734                                 );
6735            l_bill_to_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6736            l_bill_to_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6737            l_bill_to_idx := l_bill_to_idx + 1;
6738 
6739          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'BILL_FROM' THEN
6740            populate_ptnr_loc_tbl(l_ptnr_index,
6741                                  'BILL_FROM',
6742                                  l_bill_from_idx,
6743                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6744                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6745                                  l_return_status
6746                                  );
6747            l_bill_from_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6748            l_bill_from_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6749            l_bill_from_idx := l_bill_from_idx + 1;
6750 
6751          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'POO' THEN
6752            populate_ptnr_loc_tbl(l_ptnr_index,
6753                                  'POO',
6754                                  l_poo_idx,
6755                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6756                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6757                                  l_return_status
6758                                  );
6759            l_poo_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6760            l_poo_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6761            l_poo_idx := l_poo_idx + 1;
6762 
6763          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'POA' THEN
6764            populate_ptnr_loc_tbl(l_ptnr_index,
6765                                  'POA',
6766                                  l_poa_idx,
6767                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
6768                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
6769                                  l_return_status
6770                                  );
6771            l_poa_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
6772            l_poa_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
6773            l_poa_idx := l_poa_idx + 1;
6774          END IF;
6775 
6776        --------------------------------------------------------------------------------------
6777        -- IF the trx line id for the next record is different then fetching the additional
6778        -- address elements and inserting them into the record of tables for the present
6779        -- trx line id
6780        --------------------------------------------------------------------------------------
6781          IF (( i = ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id.LAST) OR
6782             (l_prev_trx_line_id <> ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i+1)) ) THEN
6783 
6784             --Fetch the address elements for SHIP_FROM
6785             get_address_elements(l_ship_from_tbl,
6786                                  l_ship_from_id,
6787                                  l_address1,
6788                                  l_address2,
6789                                  l_address3,
6790                                  l_address4,
6791                                  l_return_status
6792                                 );
6793             IF l_address1 is not null THEN
6794               populate_ptnr_loc_tbl(l_ptnr_index,
6795                                     'SHIP_FROM',
6796                                     l_ship_from_idx,
6797                                     'ADDRESS1',
6798                                     l_address1,
6799                                     l_return_status
6800                                    );
6801             END IF;
6802 
6803             IF l_address2 is not null THEN
6804               populate_ptnr_loc_tbl(l_ptnr_index,
6805                                     'SHIP_FROM',
6806                                     l_ship_from_idx+1,
6807                                     'ADDRESS2',
6808                                     l_address2,
6809                                     l_return_status
6810                                    );
6811             END IF;
6812 
6813             IF l_address3 is not null THEN
6814               populate_ptnr_loc_tbl(l_ptnr_index,
6815                                     'SHIP_FROM',
6816                                     l_ship_from_idx+2,
6817                                     'ADDRESS3',
6818                                     l_address3,
6819                                     l_return_status
6820                                     );
6821             END IF;
6822 
6823             IF l_address4 is not null THEN
6824               populate_ptnr_loc_tbl(l_ptnr_index,
6825                                     'SHIP_FROM',
6826                                     l_ship_from_idx+3,
6827                                     'ADDRESS4',
6828                                     l_address4,
6829                                     l_return_status
6830                                    );
6831             END IF;
6832 
6833             --Fetch the address elements for SHIP_TO
6834             get_address_elements(l_ship_to_tbl,
6835                                  l_ship_to_id,
6836                                  l_address1,
6837                                  l_address2,
6838                                  l_address3,
6839                                  l_address4,
6840                                  l_return_status
6841                                 );
6842 
6843             IF l_address1 is not null THEN
6844               populate_ptnr_loc_tbl(l_ptnr_index,
6845                                     'SHIP_TO',
6846                                     l_ship_to_idx,
6847                                     'ADDRESS1',
6848                                     l_address1,
6849                                     l_return_status
6850                                    );
6851             END IF;
6852 
6853             IF l_address2 is not null THEN
6854               populate_ptnr_loc_tbl(l_ptnr_index,
6855                                     'SHIP_TO',
6856                                     l_ship_to_idx+1,
6857                                     'ADDRESS2',
6858                                     l_address2,
6859                                     l_return_status
6860                                    );
6861             END IF;
6862 
6863             IF l_address3 is not null THEN
6864               populate_ptnr_loc_tbl(l_ptnr_index,
6865                                     'SHIP_TO',
6866                                     l_ship_to_idx+2,
6867                                     'ADDRESS3',
6868                                     l_address3,
6869                                     l_return_status
6870                                    );
6871             END IF;
6872 
6873             IF l_address4 is not null THEN
6874               populate_ptnr_loc_tbl(l_ptnr_index,
6875                                     'SHIP_TO',
6876                                     l_ship_to_idx+3,
6877                                     'ADDRESS4',
6878                                     l_address4,
6879                                     l_return_status
6880                                     );
6881             END IF;
6882 
6883             --Fetch the address elements for BILL_TO
6884             get_address_elements(l_bill_to_tbl,
6885                                  l_bill_to_id,
6886                                  l_address1,
6887                                  l_address2,
6888                                  l_address3,
6889                                  l_address4,
6890                                  l_return_status
6891                                  );
6892 
6893             IF l_address1 is not null THEN
6894               populate_ptnr_loc_tbl(l_ptnr_index,
6895                                     'BILL_TO',
6896                                     l_bill_to_idx,
6897                                     'ADDRESS1',
6898                                     l_address1,
6899                                     l_return_status
6900                                    );
6901             END IF;
6902 
6903             IF l_address2 is not null THEN
6904               populate_ptnr_loc_tbl(l_ptnr_index,
6905                                     'BILL_TO',
6906                                     l_bill_to_idx+1,
6907                                     'ADDRESS2',
6908                                     l_address2,
6909                                     l_return_status
6910                                     );
6911             END IF;
6912 
6913             IF l_address3 is not null THEN
6914               populate_ptnr_loc_tbl(l_ptnr_index,
6915                                     'BILL_TO',
6916                                     l_bill_to_idx+2,
6917                                     'ADDRESS3',
6918                                     l_address3,
6919                                     l_return_status
6920                                     );
6921             END IF;
6922 
6923             IF l_address4 is not null THEN
6924               populate_ptnr_loc_tbl(l_ptnr_index,
6925                                     'BILL_TO',
6926                                     l_bill_to_idx+3,
6927                                     'ADDRESS4',
6928                                     l_address4,
6929                                     l_return_status
6930                                     );
6931             END IF;
6932             --Fetch the address elements for BILL_FROM
6933             get_address_elements(l_bill_from_tbl,
6934                                  l_bill_from_id,
6935                                  l_address1,
6936                                  l_address2,
6937                                  l_address3,
6938                                  l_address4,
6939                                  l_return_status
6940                                 );
6941 
6942             IF l_address1 is not null THEN
6943               populate_ptnr_loc_tbl(l_ptnr_index,
6944                                     'BILL_FROM',
6945                                     l_bill_from_idx,
6946                                     'ADDRESS1',
6947                                     l_address1,
6948                                     l_return_status
6949                                    );
6950             END IF;
6951 
6952             IF l_address2 is not null THEN
6953               populate_ptnr_loc_tbl(l_ptnr_index,
6954                                     'BILL_FROM',
6955                                     l_bill_from_idx+1,
6956                                     'ADDRESS2',
6957                                     l_address2,
6958                                     l_return_status
6959                                    );
6960             END IF;
6961 
6962             IF l_address3 is not null THEN
6963               populate_ptnr_loc_tbl(l_ptnr_index,
6964                                     'BILL_FROM',
6965                                     l_bill_from_idx+2,
6966                                     'ADDRESS3',
6967                                     l_address3,
6968                                     l_return_status
6969                                    );
6970             END IF;
6971 
6972             IF l_address4 is not null THEN
6973               populate_ptnr_loc_tbl(l_ptnr_index,
6974                                     'BILL_FROM',
6975                                     l_bill_from_idx+3,
6976                                     'ADDRESS4',
6977                                     l_address4,
6978                                     l_return_status
6979                                    );
6980             END IF;
6981 
6982             --Fetch the address elements for POO
6983             get_address_elements(l_poo_tbl,
6984                                  l_poo_id,
6985                                  l_address1,
6986                                  l_address2,
6987                                  l_address3,
6988                                  l_address4,
6989                                  l_return_status
6990                                 );
6991             IF l_address1 is not null THEN
6992               populate_ptnr_loc_tbl(l_ptnr_index,
6993                                     'POO',
6994                                     l_poo_idx,
6995                                     'ADDRESS1',
6996                                     l_address1,
6997                                     l_return_status
6998                                    );
6999             END IF;
7000 
7001             IF l_address2 is not null THEN
7002               populate_ptnr_loc_tbl(l_ptnr_index,
7003                                     'POO',
7004                                     l_poo_idx+1,
7005                                     'ADDRESS2',
7006                                     l_address2,
7007                                     l_return_status
7008                                    );
7009             END IF;
7010 
7011             IF l_address3 is not null THEN
7012               populate_ptnr_loc_tbl(l_ptnr_index,
7013                                     'POO',
7014                                     l_poo_idx+2,
7015                                     'ADDRESS3',
7016                                     l_address3,
7017                                     l_return_status
7018                                     );
7019             END IF;
7020 
7021             IF l_address4 is not null THEN
7022               populate_ptnr_loc_tbl(l_ptnr_index,
7023                                     'POO',
7024                                     l_poo_idx+3,
7025                                     'ADDRESS4',
7026                                     l_address4,
7027                                     l_return_status
7028                                    );
7029             END IF;
7030 
7031             --Fetch the address elements for POA
7032             get_address_elements(l_poa_tbl,
7033                                  l_poa_id,
7034                                  l_address1,
7035                                  l_address2,
7036                                  l_address3,
7037                                  l_address4,
7038                                  l_return_status
7039                                  );
7040 
7041             IF l_address4 is not null THEN
7042               populate_ptnr_loc_tbl(l_ptnr_index,
7043                                     'POA',
7044                                     l_poa_idx,
7045                                     'ADDRESS1',
7046                                     l_address1,
7047                                     l_return_status
7048                                    );
7049             END IF;
7050 
7051             IF l_address2 is not null THEN
7052               populate_ptnr_loc_tbl(l_ptnr_index,
7053                                     'POA',
7054                                     l_poa_idx+1,
7055                                     'ADDRESS2',
7056                                     l_address2,
7057                                     l_return_status
7058                                    );
7059             END IF;
7060 
7061             IF l_address3 is not null THEN
7062               populate_ptnr_loc_tbl(l_ptnr_index,
7063                                     'POA',
7064                                     l_poa_idx+2,
7065                                     'ADDRESS3',
7066                                     l_address3,
7067                                     l_return_status
7068                                    );
7069             END IF;
7070 
7071             IF l_address4 is not null THEN
7072               populate_ptnr_loc_tbl(l_ptnr_index,
7073                                     'POA',
7074                                     l_poa_idx+3,
7075                                     'ADDRESS4',
7076                                     l_address4,
7077                                     l_return_status
7078                                    );
7079             END IF;
7080           END IF;
7081          END IF;
7082          END LOOP;
7083 
7084        --------------------------------------------------------------------------------------
7085        -- Bulk inserting the record of tables into the global temp table
7086        --------------------------------------------------------------------------------------
7087        FORALL i IN nvl(l_ptnr_loc_tbl.trx_id.FIRST,0) .. nvl(l_ptnr_loc_tbl.trx_id.LAST,-99)
7088          INSERT INTO ZX_PTNR_LOCATION_INFO_GT
7089                      (EVENT_CLASS_MAPPING_ID  ,
7090                       TRX_ID  ,
7091                       TRX_LINE_ID ,
7092                       TRX_LEVEL_TYPE ,
7093                       SHIP_TO_GEOGRAPHY_TYPE1 ,
7094                       SHIP_TO_GEOGRAPHY_VALUE1 ,
7095                       SHIP_TO_GEOGRAPHY_TYPE2 ,
7096                       SHIP_TO_GEOGRAPHY_VALUE2 ,
7097                       SHIP_TO_GEOGRAPHY_TYPE3 ,
7098                       SHIP_TO_GEOGRAPHY_VALUE3 ,
7099                       SHIP_TO_GEOGRAPHY_TYPE4 ,
7100                       SHIP_TO_GEOGRAPHY_VALUE4 ,
7101                       SHIP_TO_GEOGRAPHY_TYPE5 ,
7102                       SHIP_TO_GEOGRAPHY_VALUE5 ,
7103                       SHIP_TO_GEOGRAPHY_TYPE6 ,
7104                       SHIP_TO_GEOGRAPHY_VALUE6 ,
7105                       SHIP_TO_GEOGRAPHY_TYPE7 ,
7106                       SHIP_TO_GEOGRAPHY_VALUE7 ,
7107                       SHIP_TO_GEOGRAPHY_TYPE8 ,
7108                       SHIP_TO_GEOGRAPHY_VALUE8 ,
7109                       SHIP_TO_GEOGRAPHY_TYPE9 ,
7110                       SHIP_TO_GEOGRAPHY_VALUE9 ,
7111                       SHIP_TO_GEOGRAPHY_TYPE10 ,
7112                       SHIP_TO_GEOGRAPHY_VALUE10 ,
7113                       SHIP_FROM_GEOGRAPHY_TYPE1 ,
7114                       SHIP_FROM_GEOGRAPHY_VALUE1 ,
7115                       SHIP_FROM_GEOGRAPHY_TYPE2 ,
7116                       SHIP_FROM_GEOGRAPHY_VALUE2 ,
7117                       SHIP_FROM_GEOGRAPHY_TYPE3 ,
7118                       SHIP_FROM_GEOGRAPHY_VALUE3 ,
7119                       SHIP_FROM_GEOGRAPHY_TYPE4 ,
7120                       SHIP_FROM_GEOGRAPHY_VALUE4 ,
7121                       SHIP_FROM_GEOGRAPHY_TYPE5 ,
7122                       SHIP_FROM_GEOGRAPHY_VALUE5 ,
7123                       SHIP_FROM_GEOGRAPHY_TYPE6 ,
7124                       SHIP_FROM_GEOGRAPHY_VALUE6 ,
7125                       SHIP_FROM_GEOGRAPHY_TYPE7 ,
7126                       SHIP_FROM_GEOGRAPHY_VALUE7 ,
7127                       SHIP_FROM_GEOGRAPHY_TYPE8 ,
7128                       SHIP_FROM_GEOGRAPHY_VALUE8 ,
7129                       SHIP_FROM_GEOGRAPHY_TYPE9 ,
7130                       SHIP_FROM_GEOGRAPHY_VALUE9 ,
7131                       SHIP_FROM_GEOGRAPHY_TYPE10 ,
7132                       SHIP_FROM_GEOGRAPHY_VALUE10 ,
7133                       POA_GEOGRAPHY_TYPE1 ,
7134                       POA_GEOGRAPHY_VALUE1 ,
7135                       POA_GEOGRAPHY_TYPE2 ,
7136                       POA_GEOGRAPHY_VALUE2 ,
7137                       POA_GEOGRAPHY_TYPE3 ,
7138                       POA_GEOGRAPHY_VALUE3 ,
7139                       POA_GEOGRAPHY_TYPE4 ,
7140                       POA_GEOGRAPHY_VALUE4 ,
7141                       POA_GEOGRAPHY_TYPE5 ,
7142                       POA_GEOGRAPHY_VALUE5 ,
7143                       POA_GEOGRAPHY_TYPE6 ,
7144                       POA_GEOGRAPHY_VALUE6 ,
7145                       POA_GEOGRAPHY_TYPE7 ,
7146                       POA_GEOGRAPHY_VALUE7 ,
7147                       POA_GEOGRAPHY_TYPE8 ,
7148                       POA_GEOGRAPHY_VALUE8 ,
7149                       POA_GEOGRAPHY_TYPE9 ,
7150                       POA_GEOGRAPHY_VALUE9 ,
7151                       POA_GEOGRAPHY_TYPE10 ,
7152                       POA_GEOGRAPHY_VALUE10 ,
7153                       POO_GEOGRAPHY_TYPE1 ,
7154                       POO_GEOGRAPHY_VALUE1 ,
7155                       POO_GEOGRAPHY_TYPE2 ,
7156                       POO_GEOGRAPHY_VALUE2 ,
7157                       POO_GEOGRAPHY_TYPE3 ,
7158                       POO_GEOGRAPHY_VALUE3 ,
7159                       POO_GEOGRAPHY_TYPE4 ,
7160                       POO_GEOGRAPHY_VALUE4 ,
7161                       POO_GEOGRAPHY_TYPE5 ,
7162                       POO_GEOGRAPHY_VALUE5 ,
7163                       POO_GEOGRAPHY_TYPE6 ,
7164                       POO_GEOGRAPHY_VALUE6 ,
7165                       POO_GEOGRAPHY_TYPE7 ,
7166                       POO_GEOGRAPHY_VALUE7 ,
7167                       POO_GEOGRAPHY_TYPE8 ,
7168                       POO_GEOGRAPHY_VALUE8 ,
7169                       POO_GEOGRAPHY_TYPE9 ,
7170                       POO_GEOGRAPHY_VALUE9 ,
7171                       POO_GEOGRAPHY_TYPE10 ,
7172                       POO_GEOGRAPHY_VALUE10 ,
7173                       BILL_TO_GEOGRAPHY_TYPE1 ,
7174                       BILL_TO_GEOGRAPHY_VALUE1 ,
7175                       BILL_TO_GEOGRAPHY_TYPE2 ,
7176                       BILL_TO_GEOGRAPHY_VALUE2 ,
7177                       BILL_TO_GEOGRAPHY_TYPE3 ,
7178                       BILL_TO_GEOGRAPHY_VALUE3 ,
7179                       BILL_TO_GEOGRAPHY_TYPE4 ,
7180                       BILL_TO_GEOGRAPHY_VALUE4 ,
7181                       BILL_TO_GEOGRAPHY_TYPE5 ,
7182                       BILL_TO_GEOGRAPHY_VALUE5 ,
7183                       BILL_TO_GEOGRAPHY_TYPE6 ,
7184                       BILL_TO_GEOGRAPHY_VALUE6 ,
7185                       BILL_TO_GEOGRAPHY_TYPE7 ,
7186                       BILL_TO_GEOGRAPHY_VALUE7 ,
7187                       BILL_TO_GEOGRAPHY_TYPE8 ,
7188                       BILL_TO_GEOGRAPHY_VALUE8 ,
7189                       BILL_TO_GEOGRAPHY_TYPE9 ,
7190                       BILL_TO_GEOGRAPHY_VALUE9 ,
7191                       BILL_TO_GEOGRAPHY_TYPE10 ,
7192                       BILL_TO_GEOGRAPHY_VALUE10 ,
7193                       BILL_FROM_GEOGRAPHY_TYPE1 ,
7194                       BILL_FROM_GEOGRAPHY_VALUE1 ,
7195                       BILL_FROM_GEOGRAPHY_TYPE2 ,
7196                       BILL_FROM_GEOGRAPHY_VALUE2 ,
7197                       BILL_FROM_GEOGRAPHY_TYPE3 ,
7198                       BILL_FROM_GEOGRAPHY_VALUE3 ,
7199                       BILL_FROM_GEOGRAPHY_TYPE4 ,
7200                       BILL_FROM_GEOGRAPHY_VALUE4 ,
7201                       BILL_FROM_GEOGRAPHY_TYPE5 ,
7202                       BILL_FROM_GEOGRAPHY_VALUE5 ,
7203                       BILL_FROM_GEOGRAPHY_TYPE6 ,
7204                       BILL_FROM_GEOGRAPHY_VALUE6 ,
7205                       BILL_FROM_GEOGRAPHY_TYPE7 ,
7206                       BILL_FROM_GEOGRAPHY_VALUE7 ,
7207                       BILL_FROM_GEOGRAPHY_TYPE8 ,
7208                       BILL_FROM_GEOGRAPHY_VALUE8 ,
7209                       BILL_FROM_GEOGRAPHY_TYPE9 ,
7210                       BILL_FROM_GEOGRAPHY_VALUE9 ,
7211                       BILL_FROM_GEOGRAPHY_TYPE10 ,
7212                       BILL_FROM_GEOGRAPHY_VALUE10,
7213                       SHIP_TO_PARTY_NAME,
7214                       SHIP_TO_PARTY_NUMBER,
7215                       SHIP_FROM_PARTY_NAME,
7216                       SHIP_FROM_PARTY_NUMBER,
7217                       BILL_TO_PARTY_NAME,
7218                       BILL_TO_PARTY_NUMBER,
7219                       BILL_FROM_PARTY_NAME,
7220                       BILL_FROM_PARTY_NUMBER
7221                       )
7222                       VALUES
7223                       (l_ptnr_loc_tbl.EVENT_CLASS_MAPPING_ID(i),
7224                        l_ptnr_loc_tbl.TRX_ID(i),
7225                        l_ptnr_loc_tbl.TRX_LINE_ID(i),
7226                        l_ptnr_loc_tbl.TRX_LEVEL_TYPE(i),
7227                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1(i),
7228                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1(i),
7229                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2(i),
7230                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2(i),
7231                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3(i),
7232                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3(i),
7233                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4(i),
7234                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4(i),
7235                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5(i),
7236                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5(i),
7237                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6(i),
7238                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6(i),
7239                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7(i),
7240                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7(i),
7241                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8(i),
7242                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8(i),
7243                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9(i),
7244                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9(i),
7245                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10(i),
7246                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10(i),
7247                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1(i),
7248                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1(i),
7249                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2(i),
7250                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2(i),
7251                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3(i),
7252                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3(i),
7253                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4(i),
7254                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4(i),
7255                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5(i),
7256                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5(i),
7257                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6(i),
7258                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6(i),
7259                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7(i),
7260                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7(i),
7261                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8(i),
7262                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8(i),
7263                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9(i),
7264                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9(i),
7265                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10(i),
7266                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10(i),
7267                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1(i),
7268                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1(i),
7269                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2(i),
7270                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2(i),
7271                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3(i),
7272                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3(i),
7273                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4(i),
7274                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4(i),
7275                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5(i),
7276                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5(i),
7277                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6(i),
7278                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6(i),
7279                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7(i),
7280                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7(i),
7281                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8(i),
7282                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8(i),
7283                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9(i),
7284                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9(i),
7285                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10(i),
7286                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10(i),
7287                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1(i),
7288                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1(i),
7289                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2(i),
7290                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2(i),
7291                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3(i),
7292                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3(i),
7293                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4(i),
7294                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4(i),
7295                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5(i),
7296                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5(i),
7297                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6(i),
7298                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6(i),
7299                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7(i),
7300                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7(i),
7301                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8(i),
7302                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8(i),
7303                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9(i),
7304                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9(i),
7305                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10(i),
7306                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10(i),
7307                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1(i),
7308                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1(i),
7309                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2(i),
7310                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2(i),
7311                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3(i),
7312                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3(i),
7313                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4(i),
7314                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4(i),
7315                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5(i),
7316                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5(i),
7317                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6(i),
7318                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6(i),
7319                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7(i),
7320                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7(i),
7321                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8(i),
7322                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8(i),
7323                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9(i),
7324                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9(i),
7325                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10(i),
7326                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10(i),
7327                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1(i),
7328                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1(i),
7329                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2(i),
7330                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2(i),
7331                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3(i),
7332                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3(i),
7333                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4(i),
7334                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4(i),
7335                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5(i),
7336                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5(i),
7337                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6(i),
7338                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6(i),
7339                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7(i),
7340                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7(i),
7341                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8(i),
7342                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8(i),
7343                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9(i),
7344                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9(i),
7345                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10(i),
7346                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10(i),
7347                        l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME(i),
7348                        l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER(i),
7349                        l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME(i),
7350                        l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER(i),
7351                        l_ptnr_loc_tbl.BILL_TO_PARTY_NAME(i),
7352                        l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER(i),
7353                        l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME(i),
7354                        l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER(i)
7355                        );
7356     END IF;    -- Bug 5068716
7357     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7358       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
7359     END IF;
7360 
7361     EXCEPTION
7362       WHEN OTHERS THEN
7363         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7364         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7365           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7366         END IF;
7367   END PARTNER_LOCATION_POPULATION;
7368 
7369 -----------------------------------------------------------------------
7370 --  PRIVATE PROCEDURE
7371 --  get_regimes_for_del_item_lines
7372 --
7373 --  DESCRIPTION
7374 --  For deleted item lines, applicable regimes are not identified by eBTax
7375 --  Hence, the regime associated to deleted line needs to be derived for
7376 --  the purpose of partner derivation
7377 --
7378 --  CALLED BY
7379 --    calculate_tax
7380 -----------------------------------------------------------------------
7381 PROCEDURE GET_REGIMES_FOR_DEL_ITEM_LINES(
7382     p_event_class_rec  IN  ZX_API_PUB.event_class_rec_type,
7383     x_return_status    OUT NOCOPY VARCHAR2
7384     ) IS
7385     l_return_status      VARCHAR2(30);
7386     l_record_exists      VARCHAR2(1);
7387     l_api_name           CONSTANT VARCHAR2(30):= 'GET_REGIMES_FOR_DEL_ITEM_LINES';
7388 
7389     CURSOR c_regimes_for_del_item_lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
7390     SELECT lines.event_class_mapping_id,
7391            lines.trx_id,
7392            lines.trx_line_id,
7393            lines.trx_level_type,
7394            tax.tax_regime_code,
7395            tax.tax_regime_id,
7396            tax.tax_provider_id,
7397            regimes.effective_from,
7398            regimes.effective_to
7399       FROM ZX_LINES_DET_FACTORS lines,
7400            ZX_LINES tax,
7401            ZX_REGIMES_B regimes
7402      WHERE lines.application_id = p_event_class_rec.application_id
7403        AND lines.entity_code = p_event_class_rec.entity_code
7404        AND lines.event_class_code = p_event_class_rec.event_class_code
7405        AND lines.trx_id = p_event_class_rec.trx_id
7406        AND lines.application_id = tax.application_id
7407        AND lines.entity_code = tax.entity_code
7408        AND lines.event_class_code = tax.event_class_code
7409        AND lines.trx_id = tax.trx_id
7410        AND lines.line_level_action = 'DELETE'
7411        AND tax.tax_provider_id is not null
7412        AND regimes.tax_regime_id = tax.tax_regime_id;
7413 
7414     ptnr_del_lines c_regimes_for_del_item_lines%ROWTYPE;
7415 
7416   BEGIN
7417      IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7418        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
7419      END IF;
7420 
7421      x_return_status := FND_API.G_RET_STS_SUCCESS;
7422 
7423 /*
7424     The global variable ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW is usually populated while determining the service provider.
7425     But, when only DELETE action is taken on item line, ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW is not populated
7426     as program execution does not flow thru regime and provider determination logic.
7427 */
7428 
7429      ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW   := p_event_class_rec.prod_family_grp_code;
7430 
7431      FOR ptnr_del_lines IN c_regimes_for_del_item_lines(p_event_class_rec)
7432      LOOP
7433         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7434            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7435                'ptnr_del_lines.event_class_mapping_id = ' || ptnr_del_lines.event_class_mapping_id);
7436            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7437                'ptnr_del_lines.trx_id = ' || ptnr_del_lines.trx_id);
7438            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7439                'ptnr_del_lines.trx_line_id = ' || ptnr_del_lines.trx_line_id);
7440            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7441                'ptnr_del_lines.trx_level_type = ' || ptnr_del_lines.trx_level_type);
7442            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7443                'ptnr_del_lines.tax_regime_id = ' || ptnr_del_lines.tax_regime_id);
7444         END IF;
7445 
7446         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(ptnr_del_lines.tax_regime_id) THEN
7447            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_regime_id := ptnr_del_lines.tax_regime_id;
7448            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_regime_code := ptnr_del_lines.tax_regime_code;
7449            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_provider_id := ptnr_del_lines.tax_provider_id;
7450 /* Bug 5557565 */
7451            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).effective_from := ptnr_del_lines.effective_from;
7452            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).effective_to := ptnr_del_lines.effective_to;
7453            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).partner_processing_flag := 'C';
7454            ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
7455         END IF;
7456 
7457        --------------------------------------------------------------------------------------
7458        -- Need to insert records in table ZX_PTNR_LOCATION_INFO_GT into the global temp table
7459        --------------------------------------------------------------------------------------
7460         BEGIN
7461            SELECT 'Y'
7462              INTO l_record_exists
7463              FROM ZX_PTNR_LOCATION_INFO_GT zpli
7464             WHERE zpli.event_class_mapping_id = ptnr_del_lines.event_class_mapping_id
7465              AND  zpli.trx_id                 = ptnr_del_lines.trx_id
7466              AND  zpli.trx_line_id            = ptnr_del_lines.trx_line_id
7467              AND  zpli.trx_level_type         = ptnr_del_lines.trx_level_type;
7468         EXCEPTION
7469            WHEN NO_DATA_FOUND THEN
7470               INSERT INTO ZX_PTNR_LOCATION_INFO_GT
7471                        (EVENT_CLASS_MAPPING_ID,
7472                         TRX_ID,
7473                         TRX_LINE_ID,
7474                         TRX_LEVEL_TYPE
7475                         )
7476                         VALUES
7477                         (ptnr_del_lines.event_class_mapping_id,
7478                          ptnr_del_lines.trx_id,
7479                          ptnr_del_lines.trx_line_id,
7480                          ptnr_del_lines.trx_level_type
7481                         );
7482            WHEN OTHERS THEN
7483               l_record_exists := 'E';
7484         END;
7485         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7486            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7487                'l_record_exists = ' || l_record_exists);
7488         END IF;
7489 
7490      END LOOP;
7491 
7492      IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7493        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
7494      END IF;
7495 
7496      EXCEPTION
7497         WHEN OTHERS THEN
7498            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7499            IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7500               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7501            END IF;
7502   END GET_REGIMES_FOR_DEL_ITEM_LINES;
7503 
7504 -----------------------------------------------------------------------
7505 --  PRIVATE PROCEDURE
7506 --  partner_inclusive_tax_override
7507 --
7508 --  DESCRIPTION
7509 --  Performs special processing when the inclusive tax is overridden.
7510 --
7511 --  CALLED BY
7512 --    override_tax_lines
7513 -----------------------------------------------------------------------
7514 PROCEDURE partner_inclusive_tax_override(
7515     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type,
7516     x_return_status    OUT NOCOPY VARCHAR2
7517   )
7518   IS
7519     l_api_name           CONSTANT VARCHAR2(30):= 'PARTNER_INCLUSIVE_TAX_OVERRIDE';
7520     l_return_status      VARCHAR2(30);
7521     l_tax_provider_id    NUMBER;
7522     l_context_info_rec   ZX_API_PUB.context_info_rec_type;
7523     l_incl_override      VARCHAR2(1);
7524 
7525     --Fetch the transaction lines from ZX_LINES_DET_FACTORS for which inclusive tax line, calculated by Oracle E-Business Tax,
7526     --has been overridden and partner has been involved in the calculation of taxes of at least one regime and the transaction line
7527     --amount includes the inclusive tax amount.The transaction line containing inclusive taxes can be identified by the flag
7528     --INCLUSIVE_TAX_OVERRIDE_FLAG = 'Y' in ZX_LINES_DET_FACTORS.
7529 
7530     CURSOR ptnr_incl_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
7531     SELECT distinct
7532            tax.tax_regime_code,
7533            tax.tax_regime_id,
7534            tax.tax_provider_id,
7535            regimes.effective_from,
7536            regimes.effective_to
7537       FROM ZX_LINES_DET_FACTORS lines,
7538            ZX_LINES tax,
7539            ZX_REGIMES_B regimes
7540      WHERE lines.application_id = p_event_class_rec.application_id
7541        AND lines.entity_code = p_event_class_rec.entity_code
7542        AND lines.event_class_code = p_event_class_rec.event_class_code
7543        AND lines.trx_id = p_event_class_rec.trx_id
7544        AND lines.application_id = tax.application_id
7545        AND lines.entity_code = tax.entity_code
7546        AND lines.event_class_code = tax.event_class_code
7547        AND lines.trx_id = tax.trx_id
7548        AND lines.inclusive_tax_override_flag = 'Y'
7549        AND tax.tax_provider_id is not null
7550        AND regimes.tax_regime_id = tax.tax_regime_id;
7551 
7552     ptnr_incl_lines ptnr_incl_lines_csr%ROWTYPE;
7553 
7554   BEGIN
7555     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7556       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7557     END IF;
7558 
7559     x_return_status := FND_API.G_RET_STS_SUCCESS;
7560 
7561 
7562    /***********************PARTNER CODE START***************************/
7563    IF p_event_class_rec.record_flag ='Y' AND
7564       p_event_class_rec.record_for_partners_flag = 'Y' THEN
7565       l_incl_override := 'N';
7566       FOR ptnr_incl_lines IN ptnr_incl_lines_csr(p_event_class_rec)
7567       LOOP
7568         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(ptnr_incl_lines.tax_regime_id) THEN
7569           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_regime_id := ptnr_incl_lines.tax_regime_id;
7570           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_regime_code := ptnr_incl_lines.tax_regime_code;
7571           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_provider_id := ptnr_incl_lines.tax_provider_id;
7572 /* Bug 5557565 */
7573           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).effective_from := ptnr_incl_lines.effective_from;
7574           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).effective_to := ptnr_incl_lines.effective_to;
7575           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).partner_processing_flag := 'C';
7576         END IF;
7577         l_incl_override := 'Y';
7578       END LOOP;
7579 
7580       IF l_incl_override = 'N' THEN
7581          RETURN;
7582       END IF;
7583 
7584       FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
7585       LOOP
7586         IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
7587             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
7588 
7589             IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' THEN
7590        	      --Call pre-processing before sending to partner
7591               ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
7592                                                          ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
7593     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
7594     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
7595                                                          p_event_class_rec,
7596                                                          l_return_status
7597     	                                                );
7598 
7599               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7600                 x_return_status := l_return_status;
7601                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7602                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7603                      ' RETURN_STATUS = ' || x_return_status);
7604                 END IF;
7605                 RETURN;
7606               END IF;
7607             END IF; --partner processing flag is 'C'
7608 
7609             --Call partner to derive external attributes
7610             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
7611                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
7612                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
7613                                                   'DERIVE_HDR_ATTRS',
7614                                                   l_return_status
7615                                                  );
7616             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7617               x_return_status := l_return_status;
7618               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7619                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7620                      ' RETURN_STATUS = ' || x_return_status);
7621               END IF;
7622               RETURN;
7623             END IF;
7624 
7625             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
7626                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
7627                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
7628                                                   'DERIVE_LINE_ATTRS',
7629                                                   l_return_status
7630                                                  );
7631 
7632             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7633               x_return_status := l_return_status;
7634               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7635                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7636                      ' RETURN_STATUS = ' || x_return_status);
7637               END IF;
7638               RETURN;
7639             END IF;
7640 
7641             IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' THEN
7642               /*Check if provider called for first time in UPDATE mode for the document*/
7643               BEGIN
7644                 IF p_event_class_rec.event_type_code = 'UPDATE' THEN
7645                   SELECT tax_provider_id
7646                   INTO l_tax_provider_id
7647                   FROM ZX_TRX_LINE_APP_REGIMES
7648                   WHERE application_id   = p_event_class_rec.application_id
7649                     AND entity_code      = p_event_class_rec.entity_code
7650                     AND event_class_code = p_event_class_rec.event_class_code
7651                     AND trx_id           = p_event_class_rec.trx_id
7652                     AND tax_provider_id  = ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id
7653                     AND rownum =1 ;
7654                 END IF;
7655 
7656               EXCEPTION
7657                 WHEN NO_DATA_FOUND THEN
7658                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag := 'F';
7659               END;
7660 
7661               --Call Partner for calculate tax
7662               ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
7663                                                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
7664                                                        'CALCULATE_TAX',
7665                                                        p_event_class_rec,
7666                                                        l_return_status
7667                                                        );
7668 
7669               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7670                 x_return_status := l_return_status;
7671                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7672                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7673                      ' RETURN_STATUS = ' || x_return_status);
7674                 END IF;
7675                 RETURN;
7676               END IF;
7677 
7678               --Call  post-processing after partner has calculated the tax
7679               ZX_TPI_SERVICES_PKG.ptnr_post_processing_calc_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
7680                                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
7681                                                                 p_event_class_rec,
7682                                                                 l_return_status
7683                                                                 );
7684 
7685               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7686                 x_return_status := l_return_status;
7687                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7688                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7689                      ' RETURN_STATUS = ' || x_return_status);
7690                 END IF;
7691                 RETURN;
7692               END IF;
7693           END IF; --partner processing flag is 'C'
7694         END IF;   --tax_provider_id is not null
7695       END LOOP;
7696     END IF;  --recording
7697 
7698     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7699       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
7700         G_PKG_NAME ||': '||l_api_name||'()-'||
7701         ', RETURN_STATUS = ' || x_return_status);
7702     END IF;
7703 
7704  EXCEPTION
7705    WHEN OTHERS THEN
7706      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7707      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7708         FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7709      END IF;
7710 END  partner_inclusive_tax_override;
7711    /***********************PARTNER CODE END***************************/
7712 
7713 /* Bug 5013598 */
7714 -----------------------------------------------------------------------
7715 --  PRIVATE PROCEDURE
7716 --  derive_poo_parameters
7717 --
7718 --  DESCRIPTION
7719 --  Derives poo party id and poo location id if not passed by O2C products
7720 --
7721 --  This code needs to be removed once all O2C products derive
7722 --  poo party id/location id and pass it to eBTax.
7723 --
7724 --  CALLED BY
7725 --    derive_internal_parameters
7726 -----------------------------------------------------------------------
7727 PROCEDURE derive_poo_parameters(
7728     x_return_status    OUT NOCOPY VARCHAR2,
7729     p_trx_line_index   IN         BINARY_INTEGER,
7730     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
7731   )
7732   IS
7733     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_POO_PARAMETERS';
7734     l_return_status    VARCHAR2(30);
7735     l_person_id        NUMBER;
7736     l_salesrep_id      NUMBER;
7737     l_source_id        NUMBER;
7738     l_source_name      VARCHAR2(08);
7739     l_resource_id      NUMBER;
7740     l_trx_date         DATE;
7741     l_poo_index        VARCHAR2(300);
7742 --  l_partytype        VARCHAR2(100);
7743 --  l_context_info_rec ZX_API_PUB.context_info_rec_type;
7744 
7745   BEGIN
7746     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7747       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7748     END IF;
7749 
7750     x_return_status := FND_API.G_RET_STS_SUCCESS;
7751 
7752     IF p_event_class_rec.prod_family_grp_code = 'O2C' AND
7753        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) IS NULL THEN
7754        IF p_event_class_rec.application_id = 222 THEN
7755           l_source_name := 'SALESREP';
7756           BEGIN
7757              SELECT trx.primary_salesrep_id
7758                INTO l_source_id
7759                FROM ra_customer_trx_all trx
7760               WHERE trx.customer_trx_id = p_event_class_rec.trx_id;
7761           EXCEPTION
7762              WHEN OTHERS THEN
7763                   l_source_id := NULL;
7764           END;
7765        ELSIF p_event_class_rec.application_id = 660 THEN
7766           l_source_name := 'SALESREP';
7767           BEGIN
7768              SELECT trx.salesrep_id
7769                INTO l_source_id
7770                FROM oe_order_lines_all trx
7771               WHERE trx.header_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index)
7772                 AND trx.line_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index);
7773           EXCEPTION
7774              WHEN OTHERS THEN
7775                   l_source_id := NULL;
7776           END;
7777        ELSIF p_event_class_rec.application_id = 697 THEN
7778           l_source_name := 'RESOURCE';
7779           BEGIN
7780              SELECT resource_id
7781                INTO l_source_id
7782                FROM aso_quote_headers_all trx
7783               WHERE trx.quote_header_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index);
7784           EXCEPTION
7785              WHEN OTHERS THEN
7786                     l_source_id := null;
7787           END;
7788        END IF;
7789 
7790        IF l_source_id IS NOT NULL THEN
7791           l_poo_index := l_source_name||'|$|'||l_source_id||'|$|'||l_trx_date;
7792           IF poo_info_tbl.EXISTS(l_poo_index) THEN
7793              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
7794                 poo_info_tbl(l_poo_index).poo_party_id;
7795              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
7796                 poo_info_tbl(l_poo_index).poo_location_id;
7797           ELSE
7798              l_trx_date := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index);
7799              IF l_source_name = 'SALESREP' THEN
7800                 BEGIN
7801                    SELECT per.organization_id
7802                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index)
7803                      FROM ra_salesreps_all      sales,
7804                           per_all_assignments_f per
7805                     WHERE sales.salesrep_id         = l_source_id
7806                       AND per.person_id             = sales.person_id
7807                       AND nvl(per.primary_flag,'Y') = 'Y'
7808                       AND l_trx_date BETWEEN nvl(per.effective_start_date,l_trx_date)
7809                                          AND nvl(per.effective_end_date,l_trx_date)
7810                       AND per.assignment_type = 'E';
7811                 EXCEPTION
7812                    WHEN OTHERS THEN
7813                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) := NULL;
7814                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
7815                 END;
7816              ELSE
7817                 BEGIN
7818                    SELECT per.organization_id
7819                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index)
7820                      FROM jtf_rs_srp_vl sales,
7821                           per_all_assignments_f per
7822                     WHERE sales.resource_id         = l_source_id
7823                       AND per.person_id             = sales.person_id
7824                       AND nvl(per.primary_flag,'Y') = 'Y'
7825                       AND l_trx_date BETWEEN nvl(per.effective_start_date,l_trx_date)
7826                                          AND nvl(per.effective_end_date,l_trx_date);
7827                 EXCEPTION
7828                    WHEN OTHERS THEN
7829                         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) := NULL;
7830                         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
7831                 END;
7832              END IF;
7833              IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) IS NOT NULL THEN
7834                 BEGIN
7835                    SELECT hr.location_id
7836                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index)
7837                      FROM hr_organization_units hr
7838                     WHERE hr.organization_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index);
7839                 EXCEPTION
7840                    WHEN OTHERS THEN
7841                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
7842                 END;
7843              ELSE
7844                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
7845                    ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7846                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
7847                    ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7848              END IF;
7849              poo_info_tbl(l_poo_index).poo_party_id :=
7850                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index);
7851              poo_info_tbl(l_poo_index).poo_location_id :=
7852                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index);
7853           END IF;
7854        ELSE
7855           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
7856              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7857           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
7858              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7859        END IF;
7860 
7861     END IF;
7862 
7863     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7864       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
7865         G_PKG_NAME||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
7866     END IF;
7867 
7868     EXCEPTION
7869       WHEN OTHERS THEN
7870         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7871         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7872           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7873         END IF;
7874   END derive_poo_parameters;
7875 
7876 -----------------------------------------------------------------------
7877 --  PRIVATE PROCEDURE
7878 --  derive_poa_parameters
7879 --
7880 --  DESCRIPTION
7881 --  Derives poa party id and poa location id if not passed by O2C products
7882 --
7883 --  This code needs to be removed once all O2C products derive
7884 --  poa party id/location id and pass it to eBTax.
7885 --
7886 --  CALLED BY
7887 --    derive_internal_parameters
7888 -----------------------------------------------------------------------
7889 PROCEDURE derive_poa_parameters(
7890     x_return_status    OUT NOCOPY VARCHAR2,
7891     p_trx_line_index   IN         BINARY_INTEGER,
7892     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
7893   )
7894   IS
7895     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_POA_PARAMETERS';
7896     l_return_status    VARCHAR2(30);
7897 --  l_tax_prof_id      NUMBER;
7898 --  l_partytype        VARCHAR2(100);
7899 --  l_context_info_rec ZX_API_PUB.context_info_rec_type;
7900 
7901   BEGIN
7902     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7903       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7904     END IF;
7905 
7906     x_return_status := FND_API.G_RET_STS_SUCCESS;
7907 
7908     IF p_event_class_rec.prod_family_grp_code = 'O2C' AND
7909        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) IS NULL THEN
7910           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) :=
7911              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7912           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) :=
7913              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7914     END IF;
7915 
7916     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7917       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
7918         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
7919     END IF;
7920 
7921     EXCEPTION
7922       WHEN OTHERS THEN
7923         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7924         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7925           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7926         END IF;
7927   END derive_poa_parameters;
7928 /* Bug 5013598 */
7929 
7930 -----------------------------------------------------------------------
7931 --  PRIVATE PROCEDURE
7932 --  derive_internal_parameters
7933 --
7934 --  DESCRIPTION
7935 --  Derives ptp ids and other internal eBTax parameters
7936 --
7937 --  CALLED BY
7938 --    calculate_tax
7939 --    import
7940 --    insupd_line_det_factors
7941 -----------------------------------------------------------------------
7942 PROCEDURE derive_internal_parameters(
7943     x_return_status    OUT NOCOPY VARCHAR2,
7944     p_trx_line_index   IN         BINARY_INTEGER,
7945     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
7946   )
7947   IS
7948     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_INTERNAL_PARAMETERS';
7949     l_return_status    VARCHAR2(30);
7950     l_tax_prof_id      NUMBER;
7951     l_partytype        VARCHAR2(100);
7952     l_context_info_rec ZX_API_PUB.context_info_rec_type;
7953     l_item_name        MTL_SYSTEM_ITEMS_B.SEGMENT1%TYPE; --Bug 10179680
7954     l_org_name         HR_ALL_ORGANIZATION_UNITS.NAME%TYPE; --Bug 10179680
7955 
7956   BEGIN
7957     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7958       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7959     END IF;
7960 
7961     x_return_status := FND_API.G_RET_STS_SUCCESS;
7962 
7963     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.first_pty_org_id(p_trx_line_index) := p_event_class_rec.first_pty_org_id;
7964     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_class_code(p_trx_line_index) := p_event_class_rec.tax_event_class_code;
7965     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_type_code(p_trx_line_index):= p_event_class_rec.tax_event_type_code;
7966     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_event_status(p_trx_line_index):= p_event_class_rec.doc_status_code;
7967 
7968     /* ---------------------------------------------------------------------------------+
7969      | We need to skip the logic to get ptps if they already exist in trx_line_dist_tbl.|
7970      | This is the case when import is called after call to validate_and_default routine|
7971      | which derives and defaults the values back to GT and also in the case when       |
7972      | calculate tax is called by products uptaking the determining factors UI where the|
7973      | transaction line information is alredy present in zx_lines_det_factors and       |
7974      | fetched into trx_line_dist_tbl                                                   |
7975      +---------------------------------------------------------------------------------*/
7976     /* Skip if the ship_to_party_tax_prof_id is already populated*/
7977     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(p_trx_line_index) is NULL THEN
7978       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index) is NOT NULL THEN
7979         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NULL)
7980           OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NOT NULL)
7981           AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index) <>
7982               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index)))) THEN
7983           --Get PTP Id for Ship To Party Id
7984           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_to_party_type;
7985           get_tax_profile_ids(l_return_status,
7986                               l_partytype,
7987                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index),
7988                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index),
7989                               NULL,
7990                               l_tax_prof_id
7991                               );
7992 
7993           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7994              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7995                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the ship_to_party_tax_profile_id for ship_to_party_id : '||
7996 				                                             to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index)));
7997              END IF;
7998              RAISE FND_API.G_EXC_ERROR;
7999           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8000             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8001             RETURN;
8002           ELSE /* Return Status is SUCCESS */
8003             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8004           END IF;
8005         ELSE /* Ship To Party is same as Rounding Ship To Party */
8006           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_ship_to_pty_tx_prof_id;
8007         END IF;
8008       END IF; /* Completed Condition Check for Ship To Party */
8009     END IF; /*Condition check to see if Ship to party tax profile id is already populated*/
8010 
8011     /* Skip if the ptp of HQ establishment for LE is already populated*/
8012     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.hq_estb_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8013       --Get PTP Id for Legal Entity Pty Tax Prof Id
8014       --Bug 3500941 - return the ptp of HQ establishment for LE
8015       ZX_TCM_PTP_PKG.get_ptp_hq(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.legal_entity_id(p_trx_line_index) ,
8016                                 l_tax_prof_id,
8017                                 l_return_status
8018                                 );
8019 
8020       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8021         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8022            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the hq_estb_party_tax_prof_id for legal_entity : '||
8023 		                                                       to_char(zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(p_trx_line_index)));
8024         END IF;
8025         RAISE FND_API.G_EXC_ERROR;
8026       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8027         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8028         RETURN;
8029       ELSE /* Return Status is success */
8030         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.hq_estb_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8031       END IF;
8032     END IF; /*Condition check to see if ptp for HQ establishment for LE is already populated*/
8033 
8034     /* Skip if the ship_from_party_tax_prof_id is already populated*/
8035     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8036       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index) is NOT NULL THEN
8037         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NULL)
8038           OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NOT NULL)
8039           AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index)
8040           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index)))) THEN
8041           --Get PTP Id for Ship From Party Id
8042           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_from_party_type;
8043           get_tax_profile_ids(l_return_status,
8044                               l_partytype,
8045                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index) ,
8046                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index) ,
8047                               NULL,
8048                               l_tax_prof_id
8049                               );
8050 
8051           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8052              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8053                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the ship_from_party_tax_prof_id for ship_from_party_id: '||
8054 			                                                   to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index)));
8055              END IF;
8056              RAISE FND_API.G_EXC_ERROR;
8057           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8058             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8059             RETURN;
8060           ELSE /* Return Status is success */
8061             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8062           END IF;
8063         ELSE /* Ship from party is same as rounding ship from party */
8064           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_ship_from_pty_tx_prof_id;
8065         END IF;
8066       END IF; /* Completed condition check for ship from party */
8067     END IF; /*Condition check to see if ship_from_party_tax_prof_id is already populated*/
8068 
8069     /* Skip if the poa_party_tax_prof_id is already populated*/
8070     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8071 /* Bug 5013598 */
8072       derive_poa_parameters(l_return_status,
8073                             p_trx_line_index,
8074                             p_event_class_rec
8075                            );
8076 /* Bug 5013598 */
8077       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) is NOT NULL THEN
8078         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8079           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Get PTP Id for POA Party Id: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.poa_party_id(p_trx_line_index)));
8080         END IF;
8081 
8082     /* -- bug 5077171 don't derive PTP_ID for POO and POA Parties
8083         l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.poa_party_type;
8084          get_tax_profile_ids(l_return_status,
8085                             l_partytype ,
8086                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) ,
8087                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) ,
8088                             NULL,
8089                             l_tax_prof_id
8090                             );
8091 
8092         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8093           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8094             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the poa_party_tax_prof_id for poa_party_id: '||
8095    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poa_party_id(p_trx_line_index)));
8096           END IF;
8097           RAISE FND_API.G_EXC_ERROR;
8098         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8099           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8100           RETURN;
8101         ELSE -- Return status is success
8102           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8103         END IF;
8104      */
8105 
8106       END IF; /* Completed condition check for poa party */
8107     END IF; /*Condition check to see if poa_party_tax_prof_id is already populated*/
8108 
8109     /* Skip if the poo_party_tax_prof_id is already populated*/
8110     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8111 /* Bug 5013598 */
8112       derive_poo_parameters(l_return_status,
8113                             p_trx_line_index,
8114                             p_event_class_rec
8115                            );
8116 /* Bug 5013598 */
8117       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) is NOT NULL THEN
8118         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8119           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Get PTP Id for POO Party Id: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.poo_party_id(p_trx_line_index)));
8120         END IF;
8121 
8122     /* -- bug 5077171 don't derive PTP_ID for POO and POA Parties
8123         l_partytype := zx_valid_init_params_pkg.source_rec.poo_party_type;
8124         get_tax_profile_ids(l_return_status,
8125                             l_partytype,
8126                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) ,
8127                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) ,
8128                             NULL,
8129                             l_tax_prof_id
8130                            );
8131 
8132         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8133            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8134              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the poo_party_tax_prof_id for poo_party_id: '||
8135    	                                                                 to_char(zx_global_structures_pkg.trx_line_dist_tbl.poo_party_id(p_trx_line_index)));
8136            END IF;
8137            RAISE FND_API.G_EXC_ERROR;
8138         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8139           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8140           RETURN;
8141         ELSE -- Return status is success
8142           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8143         END IF;
8144      */
8145 
8146       END IF; /* Completed condition check for poo party */
8147     END IF;/*Condition check to see if poo_party_tax_prof_id is already populated*/
8148 
8149     /* Skip if the poo_party_tax_prof_id is already populated*/
8150     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8151       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index) is NOT NULL THEN
8152         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NULL)
8153         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NOT NULL)
8154         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index)
8155          <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index)))) THEN
8156           --Get PTP Id for Bill To Party Id
8157           l_partytype := zx_valid_init_params_pkg.source_rec.bill_to_party_type;
8158           get_tax_profile_ids(l_return_status,
8159                               l_partytype,
8160                               zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index),
8161                               zx_global_structures_pkg.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index),
8162                               NULL,
8163                               l_tax_prof_id
8164                              );
8165 
8166           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8167              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8168                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the bill_to_party_tax_prof_id for bill_to_party_id: '||
8169    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index)));
8170              END IF;
8171              RAISE FND_API.G_EXC_ERROR;
8172           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8173             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8174             RETURN;
8175           ELSE /* Return status is success */
8176             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8177           END IF;
8178         ELSE /* Bill to party is same as rounding bill to party */
8179           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_bill_to_pty_tx_prof_id;
8180         END IF;
8181       END IF; /* Completed condition check for bill to party */
8182     END IF;/*Condition check to see if bill_to_party_tax_prof_id is already populated*/
8183 
8184     /* Skip if the bill_from_party_tax_prof_id is already populated*/
8185     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(p_trx_line_index) is NULL  THEN
8186       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index) is NOT NULL THEN
8187         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NULL)
8188         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NOT NULL)
8189         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index)
8190           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index)))) THEN
8191           --Get PTP Id for Bill From Party Id
8192           l_partytype := zx_valid_init_params_pkg.source_rec.bill_from_party_type;
8193           get_tax_profile_ids(l_return_status,
8194                               l_partytype,
8195                               zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index) ,
8196                               zx_global_structures_pkg.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index) ,
8197                               NULL,
8198                               l_tax_prof_id
8199                              );
8200 
8201           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8202              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8203                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the bill_from_party_tax_prof_id for bill_from_party_id: '||
8204    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index)));
8205              END IF;
8206              RAISE FND_API.G_EXC_ERROR;
8207           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8208             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8209             RETURN;
8210           ELSE /* Return status is success */
8211             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8212           END IF;
8213         ELSE /* Bill from party is same as rounding bill from party */
8214           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_bill_from_pty_tx_prof_id;
8215         END IF;
8216       END IF; /* Completed condition check for bill from party */
8217     END IF;/*Condition check to see if bill_from_party_tax_prof_id is already populated*/
8218 
8219     /* Skip if the ship_to_site_tax_prof_id is already populated*/
8220     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8221       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index) is NOT NULL THEN
8222         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NULL)
8223         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NOT NULL)
8224         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index)
8225           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index)))) THEN
8226           --Get PTP Id for Ship To Party Site Id
8227           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_to_pty_site_type;
8228           get_tax_profile_ids(l_return_status,
8229                               l_partytype,
8230                               NULL,
8231                               NULL,
8232                               zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index) ,
8233                               l_tax_prof_id
8234                               );
8235 
8236           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8237              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8238                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the ship_to_site_tax_prof_id for ship_to_party_site_id: '||
8239    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index)));
8240              END IF;
8241              RAISE FND_API.G_EXC_ERROR;
8242           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8243             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8244             RETURN;
8245           ELSE /* Return status is success */
8246             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8247           END IF;
8248         ELSE /* Ship to site is same as rounding ship to site */
8249           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_ship_to_pty_tx_p_st_id;
8250         END IF;
8251       END IF; /* Completed condition check for ship to party site */
8252     END IF;/*Condition check to see if ship_to_site_tax_prof_id is already populated*/
8253 
8254     /* Skip if the ship_from_site_tax_prof_id is already populated*/
8255     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8256       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index) is NOT NULL THEN
8257         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NULL)
8258         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NOT NULL)
8259         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index)
8260           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index)))) THEN
8261           --Get PTP Id for Ship From Party Site Id
8262           l_partytype := zx_valid_init_params_pkg.source_rec.ship_from_pty_site_type;
8263           get_tax_profile_ids(l_return_status,
8264                               l_partytype,
8265                               NULL,
8266                               NULL,
8267                               zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index),
8268                               l_tax_prof_id
8269                               );
8270 
8271           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8272             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8273               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the ship_from_site_tax_prof_id for ship_from_party_site_id: '||
8274    	                                                                  to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index)));
8275             END IF;
8276             RAISE FND_API.G_EXC_ERROR;
8277           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8278             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8279             RETURN;
8280           ELSE /* Return status is success */
8281             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8282           END IF;
8283         ELSE /* Ship from site is same as rounding ship from site */
8284           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_ship_from_pty_tx_p_st_id;
8285         END IF;
8286       END IF; /* Completed condition check for ship from site*/
8287     END IF;/*Condition check to see if ship_from_site_tax_prof_id is already populated*/
8288 
8289     /* Skip if the poa_site_tax_prof_id is already populated*/
8290     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8291       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index) is NOT NULL THEN
8292         --Get PTP Id for POA Party Site Id
8293         l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.poa_pty_site_type;
8294         get_tax_profile_ids(l_return_status,
8295                             l_partytype,
8296                             NULL,
8297                             NULL,
8298                             zx_global_structures_pkg.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index),
8299                             l_tax_prof_id
8300                            );
8301 
8302         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8303           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8304             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the poa_site_tax_prof_id for poa_party_site_id: '||
8305    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index)));
8306           END IF;
8307           RAISE FND_API.G_EXC_ERROR;
8308         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8309           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8310           RETURN;
8311         ELSE /* Return status is success */
8312           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8313         END IF;
8314       END IF; /* Completed condition check for poa party site */
8315     END IF;/*Condition check to see if poa_site_tax_prof_id is already populated*/
8316 
8317     /* Skip if the poo_site_tax_prof_id is already populated*/
8318     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8319       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index) is NOT NULL THEN
8320         --Get PTP Id for POO Party Site Id
8321         l_partytype := zx_valid_init_params_pkg.source_rec.poo_pty_site_type;
8322         get_tax_profile_ids(l_return_status,
8323                             l_partytype,
8324                             NULL,
8325                             NULL,
8326                             zx_global_structures_pkg.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index) ,
8327                             l_tax_prof_id
8328                             );
8329 
8330         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8331           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8332             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the poo_site_tax_prof_id for poo_party_site_id: '||
8333    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index)));
8334           END IF;
8335           RAISE FND_API.G_EXC_ERROR;
8336         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8337           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8338           RETURN;
8339         ELSE /* Return status is success */
8340           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8341         END IF;
8342       END IF; /* Completed condition check for poo party site */
8343     END IF;/*Condition check to see if poo_site_tax_prof_id is already populated*/
8344 
8345     /* Skip if the bill_to_site_tax_prof_id is already populated*/
8346     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8347       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index) is NOT NULL THEN
8348       IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NULL)
8349       OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NOT NULL)
8350        AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index)
8351          <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index)))) THEN
8352           --Get PTP Id for Bill To Party Site Id
8353           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.bill_to_pty_site_type;
8354           get_tax_profile_ids(l_return_status,
8355                               l_partytype,
8356                               NULL,
8357                               NULL,
8358                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index),
8359                               l_tax_prof_id
8360                               );
8361 
8362           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8363              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8364                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the bill_to_site_tax_prof_id for bill_to_party_site_id: '||
8365    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index)));
8366              END IF;
8367              RAISE FND_API.G_EXC_ERROR;
8368           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8369             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8370             RETURN;
8371           ELSE /* Return status is success */
8372             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8373           END IF;
8374         ELSE  /* Bill to site is same as rounding bill to site */
8375           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_bill_to_pty_tx_p_st_id;
8376         END IF;
8377       END IF; /* Completed condition check for bill to site */
8378     END IF;/*Condition check to see if bill_to_party_site_id is already populated*/
8379 
8380     /* Skip if the bill_from_site_tax_prof_id is already populated*/
8381     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(p_trx_line_index) is NULL  THEN
8382       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index) is NOT NULL THEN
8383         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NULL)
8384         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NOT NULL)
8385         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index)
8386           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index)))) THEN
8387           --Get PTP Id for Bill From Party Site Id
8388           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.bill_from_pty_site_type;
8389           get_tax_profile_ids(l_return_status,
8390                               l_partytype,
8391                               NULL,
8392                               NULL,
8393                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index),
8394                               l_tax_prof_id
8395                               );
8396 
8397           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8398              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8399                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the bill_from_site_tax_prof_id for bill_from_party_site_id: '||
8400    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index)));
8401              END IF;
8402              RAISE FND_API.G_EXC_ERROR;
8403           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8404             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8405             RETURN;
8406           ELSE /* Return status is success */
8407             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
8408           END IF;
8409         ELSE /* Bill from site is same as rounding bill from site */
8410           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(p_trx_line_index) := p_event_class_rec.rdng_bill_from_pty_tx_p_st_id;
8411         END IF;
8412       END IF; /* Completed condition check for rounding bill from site */
8413     END IF;/*Condition check to see if bill_from_site_tax_prof_id is already populated*/
8414 
8415     --Copy rounding party and site PTP values from event class rec to TRX_LINE_DIST_TBL
8416     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
8417       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NOT NULL THEN
8418          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_prof_id(p_trx_line_index) :=
8419                                                        p_event_class_rec.rdng_ship_to_pty_tx_prof_id;
8420       END IF; /* Completed condition check for Rounding ship to party site */
8421     END IF; /* Copy only if rdng_ship_to_pty_tx_prof_id is null*/
8422 
8423     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
8424       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NOT NULL THEN
8425         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_prof_id(p_trx_line_index) :=
8426                                                        p_event_class_rec.rdng_ship_from_pty_tx_prof_id;
8427       END IF; /* Completed condition check for rounding ship from party site */
8428     END IF; /* Copy only if rdng_ship_from_pty_tx_prof_id is null*/
8429 
8430     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
8431       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NOT NULL THEN
8432         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_prof_id(p_trx_line_index) :=
8433                                                        p_event_class_rec.rdng_bill_to_pty_tx_prof_id;
8434       END IF; /* Completed condition check for rounding bill to party */
8435     END IF; /* Copy only if rdng_bill_to_pty_tx_prof_id is null*/
8436 
8437     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
8438       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NOT NULL THEN
8439         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_prof_id(p_trx_line_index) :=
8440                                                        p_event_class_rec.rdng_bill_from_pty_tx_prof_id;
8441       END IF; /* Completed condition check for rounding bill from party */
8442     END IF; /* Copy only if rdng_bill_from_pty_tx_prof_id is null*/
8443 
8444     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
8445       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NOT NULL THEN
8446         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_p_st_id(p_trx_line_index) :=
8447                                                        p_event_class_rec.rdng_ship_to_pty_tx_p_st_id;
8448       END IF; /* Completed condition check for rounding ship to party site */
8449     END IF; /* Copy only if rdng_ship_to_pty_tx_p_st_id is null*/
8450 
8451     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
8452       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NOT NULL THEN
8453         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_p_st_id(p_trx_line_index) :=
8454                                                        p_event_class_rec.rdng_ship_from_pty_tx_p_st_id;
8455       END IF; /* Completed condition check for rounding ship from party site */
8456     END IF; /* Copy only if rdng_ship_from_pty_tx_p_st_id is null*/
8457 
8458     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
8459       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NOT NULL THEN
8460         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_p_st_id(p_trx_line_index) :=
8461                                                         p_event_class_rec.rdng_bill_to_pty_tx_p_st_id;
8462       END IF; /* Completed condition check for rounding bill to party site */
8463     END IF; /* Copy only if rdng_bill_to_pty_tx_p_st_id is null*/
8464 
8465     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
8466       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NOT NULL THEN
8467         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_p_st_id(p_trx_line_index) :=
8468                                                         p_event_class_rec.rdng_bill_from_pty_tx_p_st_id;
8469       END IF; /* Completed condition check for rounding bill from party site */
8470     END IF; /* Copy only if rdng_bill_from_pty_tx_p_st_id is null*/
8471 
8472     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NOT NULL
8473        AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) is NOT NULL
8474        AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_code(p_trx_line_index) is NULL THEN
8475          BEGIN
8476             SELECT  segment1
8477               INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_code(p_trx_line_index)
8478               FROM  MTL_SYSTEM_ITEMS
8479               WHERE inventory_item_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index)
8480                 AND organization_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index);
8481          EXCEPTION WHEN OTHERS THEN
8482              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8483                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the product code for inventory_item_id: '||
8484    	                                                                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index));
8485              END IF;
8486              --Bug 10179680 Starts
8487               L_ORG_NAME := NULL;
8488 
8489               BEGIN
8490               SELECT HAOU.NAME ORG_NAME
8491               INTO L_ORG_NAME
8492               FROM HR_ALL_ORGANIZATION_UNITS HAOU
8493               WHERE HAOU.ORGANIZATION_ID=ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index);
8494 
8495               EXCEPTION
8496               WHEN OTHERS THEN
8497               L_ORG_NAME:=NULL;
8498               END;
8499 
8500               L_ITEM_NAME := NULL;
8501 
8502               BEGIN
8503               SELECT MSIBK.CONCATENATED_SEGMENTS ITEM_NAME
8504               INTO L_ITEM_NAME
8505               FROM MTL_SYSTEM_ITEMS_B_KFV  MSIBK
8506               WHERE MSIBK.INVENTORY_ITEM_ID=ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index)
8507               AND ROWNUM=1;
8508 
8509               EXCEPTION
8510               WHEN OTHERS THEN
8511                 L_ITEM_NAME:=NULL;
8512               END;
8513 
8514                FND_MESSAGE.SET_NAME('ZX', 'ZX_ITEM_ORG_ASSOC_NOT_EXIST');
8515                FND_MESSAGE.SET_TOKEN('ITEM',L_ITEM_NAME);
8516                FND_MESSAGE.SET_TOKEN('ORG_NAME',L_ORG_NAME);
8517               --Bug 10179680 Ends
8518              RAISE FND_API.G_EXC_ERROR;
8519          END;
8520      END IF;
8521     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8522       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
8523     END IF;
8524 
8525     EXCEPTION
8526       WHEN FND_API.G_EXC_ERROR THEN
8527         x_return_status := FND_API.G_RET_STS_ERROR ;
8528         l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index);
8529         l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index);
8530         l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index);
8531         l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index);
8532         l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
8533         l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
8534         ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
8535       WHEN OTHERS THEN
8536         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8537         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
8538           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
8539         END IF;
8540   END derive_internal_parameters;
8541 
8542 -----------------------------------------------------------------------
8543 --  PRIVATE PROCEDURE
8544 --  calculate_tax_pvt
8545 --
8546 --  DESCRIPTION
8547 --  This is a private calculate tax procedure created to deal with the
8548 --  complexities that arose on creating the gtt and pls version for calculate_tax
8549 --  In the GTT case, we need to loop over the cursor lines and fetch into the
8550 --  trx_line_dist_tbl table. In the PLS case we need to work on the trx_line_dist
8551 --  tbl directly as populated by the products
8552 --
8553 --  CALLED BY
8554 --    calculate_tax
8555 -----------------------------------------------------------------------
8556 PROCEDURE calculate_tax_pvt
8557   (p_event_class_rec IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
8558    p_trx_line_index  IN             BINARY_INTEGER,
8559    x_return_status   OUT    NOCOPY  VARCHAR2
8560   ) IS
8561 
8562   l_api_name                 CONSTANT VARCHAR2(30):= 'CALCULATE_TAX_PVT';
8563   l_return_status                     VARCHAR2(1);
8564   l_detail_regime_index               NUMBER;
8565   l_provider_id                       NUMBER;
8566   l_prvdr_dtl_reg_index               VARCHAR2(100);
8567   l_context_info_rec                  ZX_API_PUB.context_info_rec_type;
8568   l_call_default_APIs                 BOOLEAN;
8569   i                                   NUMBER;
8570 BEGIN
8571   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
8572      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
8573    END IF;
8574 
8575    x_return_status := FND_API.G_RET_STS_SUCCESS ;
8576 
8577    --Bugfix 4420279 - Stamp line level action as CREATE in case of quote call
8578    IF nvl(p_event_class_rec.quote_flag,'N') = 'Y' THEN
8579      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(p_trx_line_index) := 'CREATE';
8580    END IF;
8581 
8582    /* Partner code - Update the zx_trx_line_app_regimes to indicate which transaction lines
8583       are being updated - this will ease out the setting of partner processing flag later*/
8584    IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
8585       IF p_event_class_rec.TAX_EVENT_TYPE_CODE ='UPDATE' THEN
8586          --Call zx_line_app_regimes table_handler for deleting the non-applicable regimes
8587          ZX_TPI_SERVICES_PKG.trx_line_app_regimes_tbl_hdl (p_event_class_rec   => p_event_class_rec,
8588                                                        p_event             => 'SET_FLAG',
8589                                                        p_tax_regime_code   => null,
8590                                                        p_provider_id       => null,
8591                                                        p_trx_line_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index),
8592                                                        p_trx_level_type    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index),
8593                                                        x_return_status     => l_return_status
8594                                                       );
8595 
8596          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8597             x_return_status := l_return_status;
8598             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8599                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8600                  ' RETURN_STATUS = ' || x_return_status);
8601             END IF;
8602             RETURN;
8603          END IF;
8604       END IF; --tax event type is UPDATE
8605    END IF; --zx_global_structures_pkg.g_ptnr_srvc_subscr_flag
8606 
8607 
8608   /* =======================================================================*
8609    |Bug 3975818 - If adjusted/applied_from/source information passed then    |
8610    | default from the line determining factors from these reference          |
8611    | documents else call TDS defaulting API to populate the global structures|
8612    * =======================================================================*/
8613      --Call wrapper to default the tax determining attributes
8614      l_call_default_APIs := decide_call_redefault_APIs (p_trx_line_index  => p_trx_line_index);
8615 
8616       IF l_call_default_APIs THEN
8617           default_tax_attrs_wrapper (p_trx_line_index  => p_trx_line_index,
8618                                      p_event_class_rec => p_event_class_rec,
8619                                      x_return_status   => l_return_status
8620                                     );
8621 
8622           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8623             x_return_status := l_return_status;
8624             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8625               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8626               ' RETURN_STATUS = ' || x_return_status);
8627             END IF;
8628             RETURN;
8629           END IF;
8630    END IF;
8631 
8632   /* ===================================================================*
8633    |Bug 3687807 - assign line_amt to assessable_value if null           |
8634    * ==================================================================*/
8635    IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index) is null THEN
8636       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index) :=
8637 	  		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index);
8638    END IF;
8639 
8640  /* ===============================================================================*
8641    |Initialize the global structures/global temp tables owned by TDM at line level |
8642    * =============================================================================*/
8643    --Call TDS Initialization routine
8644    ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec,
8645                                             'LINE',
8646                                             l_return_status
8647                                             );
8648 
8649    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8650      x_return_status := l_return_status;
8651      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8652          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8653          ' RETURN_STATUS = ' || x_return_status);
8654      END IF;
8655      RETURN;
8656    END IF;
8657 
8658    IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN --deriving of ptps already done in this case
8659      --Call Derive_internal_parameters
8660 
8661      derive_internal_parameters(l_return_status,
8662                                 p_trx_line_index,
8663                                 p_event_class_rec
8664                                 );
8665 
8666      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8667         x_return_status := l_return_status;
8668         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8669            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8670            ' RETURN_STATUS = ' || x_return_status);
8671         END IF;
8672         RETURN;
8673      END IF;
8674    END IF;
8675 
8676    BEGIN
8677    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8678        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Processing for Transaction Line with APPLICATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index))||
8679               ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index)||
8680               ', EVENT_CLASS_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index)|| ', EVENT_TYPE_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(p_trx_line_index)||
8681               ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(p_trx_line_index))||
8682               ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index))||
8683               ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index))||
8684               ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index))||
8685               ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(p_trx_line_index)||
8686               ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(p_trx_line_index))||
8687               ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(p_trx_line_index)||
8688               ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(p_trx_line_index))||
8689               ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(p_trx_line_index)||
8690               ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(p_trx_line_index))||
8691               ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(p_trx_line_index))||
8692               ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(p_trx_line_index)||
8693               ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(p_trx_line_index)||
8694               ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(p_trx_line_index)||
8695               ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(p_trx_line_index))||
8696               ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(p_trx_line_index))||
8697               ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(p_trx_line_index))||
8698               ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(p_trx_line_index))||
8699               ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(p_trx_line_index)||
8700               ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(p_trx_line_index))||
8701               ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index)||
8702               ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index)||
8703               ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index)||
8704               ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(p_trx_line_index))||
8705               ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(p_trx_line_index))||
8706               ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(p_trx_line_index))||
8707               ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(p_trx_line_index)||
8708               ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(p_trx_line_index)||
8709               ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(p_trx_line_index)||
8710               ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(p_trx_line_index)||
8711               ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(p_trx_line_index)||
8712               ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(p_trx_line_index)||
8713               ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(p_trx_line_index)||
8714               ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(p_trx_line_index)||
8715               ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(p_trx_line_index)||
8716               ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index))||
8717               ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index)||
8718               ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index))||
8719               ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(p_trx_line_index)||
8720               ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index)||
8721               ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(p_trx_line_index)||
8722               ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index)||
8723               ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(p_trx_line_index)||
8724               ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(p_trx_line_index));
8725    END IF;
8726    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8727        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name, 'FOB_POINT: '|| zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT(p_trx_line_index)||
8728               ', SHIP_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID(p_trx_line_index))||
8729               ', SHIP_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(p_trx_line_index))||
8730               ', POA_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID(p_trx_line_index))||
8731               ', POO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID(p_trx_line_index))||
8732               ', BILL_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID(p_trx_line_index))||
8733               ', BILL_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID(p_trx_line_index))||
8734               ', ACCOUNT_CCID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID(p_trx_line_index))||
8735               ', ACCOUNT_STRING: '|| zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING(p_trx_line_index)||
8736               ', MERCHANT_PARTY_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(p_trx_line_index)||
8737               ', RECEIVABLES_TRX_TYPE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(p_trx_line_index))||
8738               ', REF_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID(p_trx_line_index))||
8739               ', REF_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE(p_trx_line_index)||
8740               ', REF_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
8741               ', REF_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID(p_trx_line_index))||
8742               ', REF_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID(p_trx_line_index))||
8743               ', REF_DOC_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(p_trx_line_index))||
8744               ', RELATED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(p_trx_line_index))||
8745               ', RELATED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(p_trx_line_index)||
8746               ', RELATED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
8747               ', RELATED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID(p_trx_line_index))||
8748               ', RELATED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER(p_trx_line_index))||
8749               ', RELATED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(p_trx_line_index))||
8750               ', APPLIED_FROM_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(p_trx_line_index))||
8751               ', APPLIED_FROM_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(p_trx_line_index)||
8752               ', APPLIED_FROM_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(p_trx_line_index)||
8753               ', APPLIED_FROM_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID(p_trx_line_index))||
8754               ', APPLIED_FROM_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID(p_trx_line_index))||
8755               ', ADJUSTED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(p_trx_line_index))||
8756               ', ADJUSTED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(p_trx_line_index)||
8757               ', ADJUSTED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
8758               ', ADJUSTED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(p_trx_line_index))||
8759               ', ADJUSTED_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(p_trx_line_index))||
8760               ', ADJUSTED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(p_trx_line_index))||
8761               ', ADJUSTED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE(p_trx_line_index))||
8762               ', APPLIED_TO_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(p_trx_line_index))||
8763               ', APPLIED_TO_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(p_trx_line_index)||
8764               ', APPLIED_TO_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(p_trx_line_index)||
8765               ', APPLIED_TO_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID(p_trx_line_index))||
8766               ', APPLIED_TO_TRX_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(p_trx_line_index))||
8767               ', TRX_ID_LEVEL2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2(p_trx_line_index))||
8768               ', TRX_ID_LEVEL3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3(p_trx_line_index))||
8769               ', TRX_ID_LEVEL4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4(p_trx_line_index))||
8770               ', TRX_ID_LEVEL5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5(p_trx_line_index))||
8771               ', TRX_ID_LEVEL6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6(p_trx_line_index))||
8772               ', TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER(p_trx_line_index));
8773    END IF;
8774    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8775        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'TRX_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION(p_trx_line_index)||
8776               ', TRX_LINE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER(p_trx_line_index)||
8777               ', TRX_LINE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION(p_trx_line_index)||
8778               ', PRODUCT_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION(p_trx_line_index)||
8779               ', TRX_WAYBILL_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER(p_trx_line_index)||
8780               ', TRX_COMMUNICATED_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE(p_trx_line_index))||
8781               ', TRX_LINE_GL_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE(p_trx_line_index))||
8782               ', BATCH_SOURCE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID(p_trx_line_index))||
8783               ', BATCH_SOURCE_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME(p_trx_line_index)||
8784               ', DOC_SEQ_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID(p_trx_line_index))||
8785               ', DOC_SEQ_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME(p_trx_line_index)||
8786               ', DOC_SEQ_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE(p_trx_line_index)||
8787               ', TRX_DUE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE(p_trx_line_index))||
8788               ', TRX_TYPE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(p_trx_line_index)||
8789               ', MERCHANT_PARTY_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME(p_trx_line_index)||
8790               ', MERCHANT_PARTY_DOCUMENT_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(p_trx_line_index)||
8791               ', MERCHANT_PARTY_REFERENCE: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(p_trx_line_index)||
8792               ', MERCHANT_PARTY_TAXPAYER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(p_trx_line_index))||
8793               ', MERCHANT_PARTY_TAX_REG_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(p_trx_line_index)||
8794               --', PAYING_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID(p_trx_line_index))||
8795               --', OWN_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID(p_trx_line_index))||
8796               --', TRADING_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(p_trx_line_index))||
8797               --', POC_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID(p_trx_line_index))||
8798               --', POI_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID(p_trx_line_index))||
8799               --', POD_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID(p_trx_line_index))||
8800               --', TITLE_TRANSFER_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(p_trx_line_index))||
8801               ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index)||
8802               ', ASSET_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG(p_trx_line_index)||
8803               ', ASSET_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER(p_trx_line_index)||
8804               ', ASSET_ACCUM_DEPRECIATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(p_trx_line_index)||
8805               ', ASSET_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE(p_trx_line_index)||
8806               ', ASSET_COST: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST(p_trx_line_index)
8807               --', NUMERIC1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1(p_trx_line_index))||
8808               --', NUMERIC2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2(p_trx_line_index))||
8809               --', NUMERIC3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3(p_trx_line_index))||
8810               --', NUMERIC4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4(p_trx_line_index))||
8811               --', NUMERIC5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5(p_trx_line_index))||
8812               --', NUMERIC6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6(p_trx_line_index))||
8813               --', NUMERIC7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7(p_trx_line_index))||
8814               --', NUMERIC8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8(p_trx_line_index))||
8815               --', NUMERIC9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9(p_trx_line_index))||
8816               --', NUMERIC10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10(p_trx_line_index))||
8817               --', CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(p_trx_line_index)||
8818               --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(p_trx_line_index)||
8819               --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(p_trx_line_index)||
8820               --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(p_trx_line_index)
8821               );
8822    END IF;
8823    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8824        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8825               --  'CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(p_trx_line_index)||
8826               --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(p_trx_line_index)||
8827               --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(p_trx_line_index)||
8828               --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(p_trx_line_index)||
8829               --', CHAR6: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR6(p_trx_line_index)||
8830               --', CHAR7: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR7(p_trx_line_index)||
8831               --', CHAR8: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR8(p_trx_line_index)||
8832               --', CHAR9: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR9(p_trx_line_index)||
8833               --', CHAR10: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR10(p_trx_line_index)||
8834               --', DATE1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE1(p_trx_line_index))||
8835               --', DATE2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE2(p_trx_line_index))||
8836               --', DATE3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE3(p_trx_line_index))||
8837               --', DATE4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE4(p_trx_line_index))||
8838               --', DATE5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE5(p_trx_line_index))||
8839               --', DATE6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE6(p_trx_line_index))||
8840               --', DATE7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE7(p_trx_line_index))||
8841               --', DATE8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE8(p_trx_line_index))||
8842               --', DATE9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE9(p_trx_line_index))||
8843               --', DATE10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE10(p_trx_line_index))||
8844               ' FIRST_PTY_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID(p_trx_line_index))||
8845               ', TAX_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(p_trx_line_index)||
8846               ', TAX_EVENT_TYPE_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(p_trx_line_index)||
8847               ', DOC_EVENT_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(p_trx_line_index)||
8848               ', RDNG_SHIP_TO_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(p_trx_line_index))||
8849               ', RDNG_SHIP_FROM_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(p_trx_line_index))||
8850               ', RDNG_BILL_TO_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(p_trx_line_index))||
8851               ', RDNG_BILL_FROM_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(p_trx_line_index))||
8852               ', RDNG_SHIP_TO_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(p_trx_line_index))||
8853               ', RDNG_SHIP_FROM_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(p_trx_line_index))||
8854               ', RDNG_BILL_TO_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(p_trx_line_index))||
8855               ', RDNG_BILL_FROM_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(p_trx_line_index))||
8856               ', SHIP_TO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(p_trx_line_index))||
8857               ', SHIP_FROM_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(p_trx_line_index))||
8858               ', POA_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(p_trx_line_index))||
8859               ', POO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(p_trx_line_index))||
8860               ', PAYING_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(p_trx_line_index))||
8861               ', OWN_HQ_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(p_trx_line_index))||
8862               ', TRADING_HQ_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(p_trx_line_index))||
8863               ', POI_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(p_trx_line_index))||
8864               ', POD_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(p_trx_line_index))||
8865               ', BILL_TO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(p_trx_line_index))||
8866               ', BILL_FROM_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(p_trx_line_index))||
8867               ', TITLE_TRANS_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(p_trx_line_index))||
8868               ', SHIP_TO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(p_trx_line_index))||
8869               ', SHIP_FROM_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(p_trx_line_index))||
8870               ', POA_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(p_trx_line_index))||
8871               ', POO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(p_trx_line_index))||
8872               ', PAYING_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(p_trx_line_index))||
8873               ', OWN_HQ_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(p_trx_line_index))||
8874               ', TRADING_HQ_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(p_trx_line_index))||
8875               ', POI_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(p_trx_line_index))||
8876               ', POD_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(p_trx_line_index))||
8877               ', BILL_TO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(p_trx_line_index))||
8878               ', BILL_FROM_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(p_trx_line_index))||
8879               ', TITLE_TRANS_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(p_trx_line_index))||
8880 			  ', MERCHANT_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(p_trx_line_index)));
8881    END IF;
8882    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8883        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8884               'DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index)||
8885               ', SUPPLIER_TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(p_trx_line_index)||
8886               ', SUPPLIER_TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(p_trx_line_index))||
8887               ', SUPPLIER_EXCHANGE_RATE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(p_trx_line_index)||
8888               ', TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE(p_trx_line_index))||
8889               ', TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER(p_trx_line_index)||
8890               ', LINE_AMT_INCLUDES_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(p_trx_line_index)||
8891               ', QUOTE_FLAG: '|| p_event_class_rec.QUOTE_FLAG||
8892               ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index)||
8893               ', HISTORICAL_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG(p_trx_line_index)||
8894               ', INTERNAL_ORG_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index))||
8895               ', CTRL_HDR_TX_APPL_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(p_trx_line_index)||
8896               ', CTRL_TOTAL_HDR_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(p_trx_line_index)||
8897               ', CTRL_TOTAL_LINE_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(p_trx_line_index) ||
8898               ', DIST_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION(p_trx_line_index) ||
8899               ', ADJUSTED_DOC_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID(p_trx_line_index)) ||
8900               ', APPLIED_FROM_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID(p_trx_line_index)) ||
8901               ', TASK_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID(p_trx_line_index)) ||
8902               ', AWARD_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID(p_trx_line_index)) ||
8903               ', PROJECT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID(p_trx_line_index)) ||
8904               ', EXPENDITURE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE(p_trx_line_index) ||
8905               ', EXPENDITURE_ORGANIZATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID(p_trx_line_index)) ||
8906               ', EXPENDITURE_ITEM_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE(p_trx_line_index)) ||
8907               ', TRX_LINE_DIST_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT(p_trx_line_index)) ||
8908               ', TRX_LINE_DIST_QUANTITY: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY(p_trx_line_index)) ||
8909               ', REF_DOC_CURR_CONV_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE(p_trx_line_index)) ||
8910               ', ITEM_DIST_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER(p_trx_line_index) ||
8911               ', REF_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID(p_trx_line_index)) ||
8912               ', TRX_LINE_DIST_TAX_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT(p_trx_line_index))||
8913               ', TRX_LINE_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID(p_trx_line_index)) ||
8914               ', APPLIED_FROM_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID(p_trx_line_index)) ||
8915               ', ADJUSTED_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID(p_trx_line_index)) ||
8916               ', OVERRIDING_RECOVERY_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE(p_trx_line_index)) ||
8917               ', INPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) ||
8918               ', OUTPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) ||
8919               ', PORT_OF_ENTRY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE(p_trx_line_index) ||
8920               ', TAX_REPORTING_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG(p_trx_line_index) ||
8921               ', TAX_AMT_INCLUDED_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(p_trx_line_index) ||
8922               ', COMPOUNDING_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(p_trx_line_index) ||
8923               ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(p_trx_line_index)) ||
8924               ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(p_trx_line_index)) ||
8925               ', SHIP_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(p_trx_line_index)) ||
8926               ', BILL_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(p_trx_line_index)) ||
8927               ', SHIP_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(p_trx_line_index)) ||
8928               ', BILL_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(p_trx_line_index)) ||
8929               ', PROVNL_TAX_DETERMINATION_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(p_trx_line_index)) ||
8930               ', START_EXPENSE_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE(p_trx_line_index)) ||
8931               ', TRX_BATCH_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID(p_trx_line_index))||
8932               ', APPLIED_TO_TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(p_trx_line_index) ||
8933               ', SOURCE_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(p_trx_line_index)) ||
8934               ', SOURCE_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(p_trx_line_index) ||
8935               ', SOURCE_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) ||
8936               ', SOURCE_TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID(p_trx_line_index)) ||
8937               ', SOURCE_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID(p_trx_line_index)) ||
8938               ', SOURCE_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(p_trx_line_index) ||
8939               ', REF_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(p_trx_line_index) ||
8940               ', APPLIED_TO_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(p_trx_line_index) ||
8941               ', APPLIED_FROM_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(p_trx_line_index) ||
8942               ', ADJUSTED_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(p_trx_line_index) ||
8943               ', APPLICATION_DOC_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS(p_trx_line_index) ||
8944               ', SOURCE_TAX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID(p_trx_line_index))||
8945               ', EXEMPTION_CONTROL_FLAG: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(p_trx_line_index) ||
8946               ', EXEMPT_REASON_CODE: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE(p_trx_line_index)
8947               );
8948    END IF;
8949    EXCEPTION
8950      WHEN OTHERS THEN
8951        null;
8952    END;
8953 
8954    IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
8955       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(p_trx_line_index) := 'N';
8956       RETURN;
8957    END IF;
8958 
8959    /* -----------------------------------------------+
8960     |    Determine Regime Applicability              |
8961     + -----------------------------------------------*/
8962 
8963     ZX_TDS_CALC_SERVICES_PUB_PKG.get_tax_regimes(p_trx_line_index
8964                                                 ,p_event_class_rec
8965                                                 ,l_return_status
8966                                                  );
8967 
8968     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8969       x_return_status := l_return_status;
8970       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8971         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8972          ' RETURN_STATUS = ' || x_return_status);
8973       END IF;
8974       RETURN;
8975     END IF;
8976 
8977 
8978     /*******************************PARTNER CODE START****************************/
8979     --Stamp the provider information on the regimes table returned by the
8980     --get_tax_regimes procedure and also populate the trx_app_regimes structure*/
8981     IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
8982        ZX_TPI_SERVICES_PKG.popl_pvrdr_info_tax_reg_tbl (p_event_class_rec
8983                                                     ,p_trx_line_index
8984                                                     ,l_return_status
8985                                                      );
8986 
8987        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8988           x_return_status := l_return_status;
8989           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8990              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8991                ' RETURN_STATUS = ' || x_return_status);
8992           END IF;
8993        END IF;
8994 
8995        /* -----------------------------------------------+
8996         |    Call TCM Location Caching API               |
8997         + -----------------------------------------------*/
8998 
8999        prepare_for_loc_caching(p_trx_line_index
9000                            ,p_event_class_rec
9001                            ,l_return_status
9002                             );
9003 
9004        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9005           x_return_status := l_return_status;
9006           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9007             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9008              ' RETURN_STATUS = ' || x_return_status);
9009           END IF;
9010        END IF;
9011     END IF; --zx_global_structures_pkg.g_ptnr_srvc_subscr_flag
9012 
9013     /* ----------------------------------------------------------------------+
9014     | Bug 3937387 - Initialize the detail_tax_regime structure since the tax |
9015     | applicability need not be performed in the event of process_for_       |
9016     | applicability being 'N'. We needed to populate detail_tax_regime_tbl   |
9017     | though since TPI processing needs this information                     |
9018     + ----------------------------------------------------------------------*/
9019 
9020     IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
9021        ZX_GLOBAL_STRUCTURES_PKG.Init_Detail_Tax_Regime_Tbl;
9022     END IF;
9023     /*******************************PARTNER CODE END ****************************/
9024 
9025     /* -----------------------------------------------+
9026     |   Call TDS  Calculate Tax                      |
9027     + -----------------------------------------------*/
9028     -- Bug 3895727 - Call calculate tax irrespective of process_for_applicability_flag*/
9029     ZX_TDS_CALC_SERVICES_PUB_PKG.calculate_tax(p_trx_line_index
9030                                               ,p_event_class_rec
9031                                               ,l_return_status
9032                                                );
9033 
9034     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9035        x_return_status := l_return_status;
9036        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9037          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9038           ' RETURN_STATUS = ' || x_return_status);
9039        END IF;
9040        RETURN;
9041     END IF;
9042     --Set the tax processing completed flag to indicate that line has been processed for tax
9043     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(p_trx_line_index) := 'Y';
9044 
9045     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9046       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
9047     END IF;
9048 
9049  EXCEPTION
9050    WHEN OTHERS THEN
9051        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9052        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
9053           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
9054        END IF;
9055 END calculate_tax_pvt;
9056 
9057 -----------------------------------------------------------------------
9058 --  PRIVATE PROCEDURE
9059 --  ptnr_calculate_tax_pvt
9060 --
9061 --  DESCRIPTION
9062 --  Wrapper to call partner integration code for TAB/PLS/WIN mode
9063 --  to calculate_tax
9064 --
9065 --  CALLED BY
9066 --    calculate_tax
9067 -----------------------------------------------------------------------
9068   PROCEDURE ptnr_calculate_tax_pvt(
9069    p_event_class_rec IN ZX_API_PUB.event_class_rec_type ,
9070    x_return_status   OUT NOCOPY VARCHAR2
9071   )IS
9072 
9073   l_api_name              CONSTANT VARCHAR2(30):= 'PTNR_CALCULATE_TAX_PVT';
9074   l_deleted_line_exists         VARCHAR2(1);
9075   l_record_type                 VARCHAR2(30);
9076   l_partner_migrated_flag       VARCHAR2(1);
9077   l_regime_exists_other_lines   VARCHAR2(1);
9078   l_negative_index              NUMBER;
9079   l_return_status         VARCHAR2(1);
9080 
9081   BEGIN
9082      IF ( G_LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9083         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
9084      END IF;
9085 
9086      x_return_status := FND_API.G_RET_STS_SUCCESS ;
9087      l_negative_index := -99; --set the negative index to store regimes served by old provider
9088 
9089 /*Commented following condition, because for sales order both the flags would be 'N'*/
9090 --   IF p_event_class_rec.record_flag ='Y'
9091 --     AND  p_event_class_rec.record_for_partners_flag = 'Y' THEN
9092 
9093        IF p_event_class_rec.tax_event_type_code = 'UPDATE'
9094        AND p_event_class_rec.QUOTE_FLAG = 'N' THEN
9095 
9096       /*If document is a migrated one, include all the distinct regimes from ZX_TRX_LINE_APP_REGIMES,
9097         for which partners were called in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl and set the
9098         partner_processing_flag to 'F' (first time called)*/
9099 
9100     /*-------------------------------------------------------------*
9101      | Determine if the document is originally a migrated one -TPI |
9102      *------------------------------------------------------------*/
9103       BEGIN
9104        SELECT record_type_code,
9105               partner_migrated_flag
9106          INTO l_record_type,
9107               l_partner_migrated_flag
9108          FROM ZX_LINES_DET_FACTORS
9109         WHERE application_id   = p_event_class_rec.application_id
9110           AND entity_code      = p_event_class_rec.entity_code
9111           AND event_class_code = p_event_class_rec.event_class_code
9112           AND trx_id           = p_event_class_rec.trx_id
9113           AND rownum           = 1;
9114        EXCEPTION WHEN OTHERS THEN --Bug fix 5094078
9115   	     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9116   		FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9117   		  ' No row found in zx_lines_det_factors for UPDATE event type' );
9118   	     END IF;
9119        END;
9120 
9121         IF l_partner_migrated_flag = 'Y' THEN
9122           FOR update_trx_line_app_reg IN update_trx_line_app_reg_csr(p_event_class_rec)
9123           LOOP
9124             IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(update_trx_line_app_reg.tax_regime_id) THEN
9125               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).tax_regime_id := update_trx_line_app_reg.tax_regime_id;
9126               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).tax_regime_code := update_trx_line_app_reg.tax_regime_code;
9127               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).tax_provider_id := update_trx_line_app_reg.tax_provider_id;
9128 /* Bug 5557565 */
9129               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).effective_from := update_trx_line_app_reg.effective_from;
9130               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).effective_to := update_trx_line_app_reg.effective_to;
9131               ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
9132 
9133               /*Check other lines have the regime in considerarion in table zx_TRX_LINES_APP_REGIMES*/
9134               SELECT 'Y'
9135                INTO l_regime_exists_other_lines
9136                FROM ZX_TRX_LINE_APP_REGIMES
9137               WHERE application_id = p_event_class_rec.application_id
9138                 AND entity_code = p_event_class_rec.entity_code
9139                 AND event_class_code = p_event_class_rec.event_class_code
9140                 AND trx_id = p_event_class_rec.trx_id
9141                 AND tax_provider_id is not null
9142                 AND update_flag is null
9143                 AND tax_regime_code = update_trx_line_app_reg.tax_regime_code
9144                 AND rownum =1 ;
9145 
9146               IF l_regime_exists_other_lines = 'Y' THEN
9147                  IF l_record_type = 'MIGRATED' THEN
9148                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
9149                  ELSE
9150                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'C';
9151                  END IF;
9152                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
9153 
9154                /*Provider/Regime No Longer Applicable: If a "provider regime" is no longer found applicable to entire
9155     	         transaction due to an update on a transaction line(s) (The new applicable regimes for the line are in
9156      	         ZX_GLOBAL_STRUCTURES_PKG.zx_trx_line_app_regimes_tbl whereas old applicable regimes for the line are in
9157                  ZX_TRX_LINE_APP_REGIMES), look for this provider regime if applicable for non-updated lines. If not
9158                  applicable for non-updated lines, then include that provider in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl
9159                  and set the partner_processing_flag to 'N' (Provider/Regime no longer applicable) in
9160                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl for that provider. */
9161                ELSE --regime no longer applicable
9162                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'N';
9163                END IF;
9164             ELSE --regime exists in tax_regime_tbl
9165                 IF l_record_type = 'MIGRATED' THEN
9166                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
9167                 ELSE
9168                   /*The change of subscription may also result in a Provider no longer applicable. In this scenario,
9169                     we need to have 2 records in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl for new and previous providers respectively.*/
9170       	          IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).tax_provider_id <> update_trx_line_app_reg.tax_provider_id THEN
9171                       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
9172                       /*Since tax_regime_tbl is indexed by tax_regime_id, it is not possible to create 2 records for same regime
9173                         with different providers in it, hence devised a method of inserting with negative index*/
9174                       IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_negative_index) THEN
9175                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_regime_id := l_negative_index;
9176                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_regime_code := update_trx_line_app_reg.tax_regime_code;
9177                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_provider_id := update_trx_line_app_reg.tax_provider_id;
9178                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).partner_processing_flag := 'N';
9179                         l_negative_index := l_negative_index +1;
9180                       END IF;
9181                   ELSE
9182                      /*For the transaction line being updated, there may be a case where new provider regime becomes applicable
9183                        and/or the current "provider regime no longer applicable" for the line but is still applicable on other lines.
9184                        In this case, the previous provider also needs to be called for Calculate Tax. Therefore, include the
9185                        provider in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl and set the partner_processing_flag to 'C'.This provider has
9186                        already been picked up by the Provider Synchronization.*/
9187                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'C';
9188                    END IF;
9189                  END IF; --l_record_type
9190                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
9191              END IF;--l_regime_exists
9192             END LOOP; --loop on trx_line_app_regimes
9193 
9194             FOR non_update_trx_line_app_reg IN non_update_trx_line_reg_csr(p_event_class_rec)
9195             LOOP
9196 	      /*Check if regime exists in tax_regimes_tbl */
9197                IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(non_update_trx_line_app_reg.tax_regime_id) THEN
9198                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(non_update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'S';
9199                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
9200                END IF;
9201             END LOOP;
9202 
9203           ELSE --partner_migrated_flag
9204              null;
9205           END IF;
9206           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9207              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9208                    ' Checking Deleted Item Lines ');
9209           END IF;
9210           BEGIN
9211              SELECT 'Y'
9212                INTO l_deleted_line_exists
9213                FROM ZX_LINES_DET_FACTORS
9214               WHERE application_id = p_event_class_rec.application_id
9215                 AND entity_code = p_event_class_rec.entity_code
9216                 AND event_class_code = p_event_class_rec.event_class_code
9217                 AND trx_id = p_event_class_rec.trx_id
9218                 AND line_level_action = 'DELETE'
9219                 AND rownum = 1;
9220           EXCEPTION
9221              WHEN OTHERS THEN
9222                 l_deleted_line_exists := 'N';
9223           END;
9224           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9225              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9226                     ' line_level_action DELETE = ' || l_deleted_line_exists);
9227           END IF;
9228 
9229       END IF; -- Tax event type is UPDATE
9230 
9231       partner_location_population (p_event_class_rec => p_event_class_rec,
9232                                    x_return_status => l_return_status);
9233 
9234       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9235          x_return_status := l_return_status;
9236          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9237             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9238                    ' RETURN_STATUS = ' || x_return_status);
9239          END IF;
9240          RETURN;
9241       END IF;
9242 
9243       IF nvl(l_deleted_line_exists,'N') = 'Y' THEN
9244 
9245          get_regimes_for_del_item_lines (p_event_class_rec => p_event_class_rec,
9246                                              x_return_status => l_return_status);
9247          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9248             x_return_status := l_return_status;
9249             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9250                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9251                       ' RETURN_STATUS = ' || x_return_status);
9252             END IF;
9253             RETURN;
9254          END IF;
9255       END IF;
9256 
9257       FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
9258       LOOP
9259 
9260         IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
9261            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
9262 
9263            IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag is not null AND
9264              (ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'S' OR
9265               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' OR
9266               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'F') THEN
9267               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9268                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call pre-processing before sending to partner');
9269               END IF;
9270 
9271               ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
9272                                                          ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9273     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9274     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
9275                                                          p_event_class_rec,
9276                                                          l_return_status
9277     	                                                );
9278               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9279                 x_return_status := l_return_status;
9280                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9281                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9282                    ' RETURN_STATUS = ' || x_return_status);
9283                 END IF;
9284                 RETURN;
9285               END IF;
9286            END IF;   --partner processing flag
9287 
9288       	   ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
9289                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9290                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9291                                                  'DERIVE_HDR_ATTRS',
9292                                                  l_return_status
9293                                                  );
9294 
9295            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9296              x_return_status := l_return_status;
9297              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9298                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9299                 ' RETURN_STATUS = ' || x_return_status);
9300              END IF;
9301              RETURN;
9302            END IF;
9303 
9304        	   ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
9305                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9306                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9307                                                  'DERIVE_LINE_ATTRS',
9308                                                  l_return_status
9309                                                 );
9310 
9311            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9312              x_return_status := l_return_status;
9313              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9314                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9315                 ' RETURN_STATUS = ' || x_return_status);
9316              END IF;
9317              RETURN;
9318            END IF;
9319 
9320 
9321            /*Check if partner_processing_flag = 'N', then
9322            Delete Provider Tax Lines from the ZX_LINES and references to the provider in the ZX_TRX_LINE_APP_REGIMES for that regime.
9323            If partner recording is allowed for this event class, then
9324            Call partner's service Modify Doc Status with action DELETE*/
9325 
9326           IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
9327              ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'N' THEN
9328              IF p_event_class_rec.record_for_partners_flag = 'Y' THEN
9329 
9330               ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9331                                                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9332                                                        'DOCUMENT_LEVEL_CHANGES',   -- Bug 5200373
9333                                                        p_event_class_rec,
9334                                                        l_return_status
9335     	                                               );
9336 
9337               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9338                 x_return_status := l_return_status;
9339                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9340                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9341                    'Incorrect Status returned by ZX_TPI_SERVICES_PKG.call_partner_service. RETURN_STATUS = '||x_return_status);
9342                 END IF;
9343                 RETURN;
9344               END IF;
9345             END IF; --record_for_partners_flag
9346 
9347             /*Delete Provider Tax Lines from the ZX_LINES*/
9348             --Call zx_lines_table_handler for deleting the non-applicable regimes
9349 
9350             zx_lines_table_handler (p_event_class_rec   => p_event_class_rec,
9351                                     p_event             => 'DELETE',
9352                                     p_tax_regime_code   => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9353                                     p_provider_id       => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9354                                     x_return_status     => l_return_status
9355     	                           );
9356 
9357               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9358                 x_return_status := l_return_status;
9359                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9360                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9361                    ' RETURN_STATUS = ' || x_return_status);
9362                 END IF;
9363                 RETURN;
9364               END IF;
9365 
9366             /*Delete Provider Tax Lines from the ZX_TRX_LINE_APP_REGIMES*/
9367             --Call zx_line_app_regimes table_handler for deleting the non-applicable regimes
9368 
9369             ZX_TPI_SERVICES_PKG.trx_line_app_regimes_tbl_hdl (p_event_class_rec   => p_event_class_rec,
9370                                                               p_event             => 'DELETE',
9371                                                               p_tax_regime_code   => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9372                                                               p_provider_id       => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9373                                                               p_trx_line_id       => null,
9374                                                               p_trx_level_type    => null,
9375                                                               x_return_status     => l_return_status
9376     	                                                     );
9377 
9378              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9379                 x_return_status := l_return_status;
9380                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9381                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9382                    ' RETURN_STATUS = ' || x_return_status);
9383                 END IF;
9384                 RETURN;
9385               END IF;
9386           END IF; --partner_processing_flag ='N'
9387 
9388 
9389           IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag is not null AND
9390 	        (ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'S' OR
9391     	     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' OR
9392     	     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'F') THEN
9393              --Call Partner for calculate tax
9394 
9395              ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9396     	                                              ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9397     	                                              'CALCULATE_TAX',
9398                                                       p_event_class_rec,
9399                                                       l_return_status
9400     	                                             );
9401 
9402              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9403                x_return_status := l_return_status;
9404                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9405                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9406                    'Incorrect Status returned by ZX_TPI_SERVICES_PKG.call_partner_service. RETURN_STATUS = '||x_return_status);
9407                END IF;
9408                RETURN;
9409              END IF;
9410 
9411              --Call for post-processing after partner has calculated the tax
9412 
9413              ZX_TPI_SERVICES_PKG.ptnr_post_processing_calc_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
9414     	                                                       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
9415                                                                p_event_class_rec,
9416                                                                l_return_status
9417        	                                                      );
9418 
9419              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9420                x_return_status := l_return_status;
9421                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9422                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9423                    ' RETURN_STATUS = ' || x_return_status);
9424                END IF;
9425                RETURN;
9426              END IF;
9427 
9428            END IF; -- partner processing is not null
9429 
9430           END IF; -- tax_provider_id is not null
9431 
9432       END LOOP;
9433 
9434    --END IF;/*Commented condition, because for sales order both the flags would be 'N'*/
9435     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9436       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
9437     END IF;
9438 
9439 EXCEPTION
9440    WHEN OTHERS THEN
9441 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9442       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
9443          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
9444       END IF;
9445 END ptnr_calculate_tax_pvt;
9446 
9447 /* =============================================================*
9448  | PROCEDURE  	Wrapper on ptnr_calculate_tax_pvt for bulk      |
9449  |            	processing                                      |
9450  * ============================================================*/
9451 
9452  PROCEDURE ptnr_bulk_calc_tax_pvt (x_return_status      OUT NOCOPY VARCHAR2
9453  )IS
9454    l_return_status         VARCHAR2(1);
9455    l_event_class_rec       zx_api_pub.event_class_rec_type;
9456    l_api_name              CONSTANT VARCHAR2(30) := 'PTNR_BULK_CALC_TAX_PVT';
9457    l_no_of_trx             NUMBER;
9458  BEGIN
9459     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9460        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
9461     END IF;
9462 
9463     x_return_status := FND_API.G_RET_STS_SUCCESS;
9464 
9465     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9466        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9467                       'DATA_TRANSFER_MODE = '||ZX_API_PUB.G_DATA_TRANSFER_MODE);
9468     END IF;
9469 
9470     IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN
9471       SELECT COUNT(*) INTO l_no_of_trx
9472         FROM zx_trx_headers_gt;
9473 
9474       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9475         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9476                        'No. of Transactions to be processed = '||l_no_of_trx);
9477       END IF;
9478     END IF;
9479 
9480     FOR l_trx_id_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.LAST,-99)
9481     LOOP
9482       -- Bug 5524869. Added the logic to rollback only failed transaction.
9483       BEGIN
9484         -- 5711466
9485         ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag :=  ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).ptnr_srvc_subscr_flag;
9486 
9487         IF ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag = 'Y' THEN
9488 
9489           SAVEPOINT Ptnr_Bulk_Calc_Tax_Pvt;
9490 
9491           fetch_ptnr_tax_regime_tbl(p_trx_id_index    => l_trx_id_index,
9492                                     x_event_class_rec => l_event_class_rec ,
9493                                     x_return_status   => l_return_status
9494                                    );
9495 
9496           ptnr_calculate_tax_pvt(p_event_class_rec   => l_event_class_rec ,
9497                                  x_return_status     => l_return_status
9498                                 );
9499 
9500           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9501             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9502                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9503                               'Incorrect Status returned by Ptnr_calculate_tax_pvt. RETURN_STATUS = ' || x_return_status);
9504             END IF;
9505             IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9506               RAISE FND_API.G_EXC_ERROR;
9507             ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9508               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9509             END IF;
9510           END IF;
9511 
9512         END IF;  -- 5711466
9513 
9514       EXCEPTION
9515         WHEN FND_API.G_EXC_ERROR THEN
9516            ROLLBACK TO Ptnr_Bulk_Calc_Tax_Pvt;
9517            x_return_status := FND_API.G_RET_STS_ERROR ;
9518 
9519            Delete_from_lines_det_gt(p_event_class_rec   => l_event_class_rec ,
9520                                     x_return_status     => l_return_status);
9521 
9522            IF (ZX_API_PUB.G_DATA_TRANSFER_MODE IN ('WIN', 'PLS')) OR
9523               (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' AND l_no_of_trx = 1)
9524            THEN
9525              -- In case of a single transaction processing, Exit the loop --
9526              IF (g_level_unexpected >= g_current_runtime_level ) THEN
9527                FND_LOG.STRING(g_level_unexpected, G_MODULE_NAME||l_api_name||
9528                               '.END',G_PKG_NAME || ': ' || l_api_name||'(-)' || 'raised errors');
9529                FND_LOG.STRING(g_level_unexpected, G_MODULE_NAME||l_api_name,
9530                               'RETURN_STATUS: ' || x_return_status);
9531              END IF;
9532              EXIT;
9533            END IF;
9534       END; -- End of Bug fix 5524869
9535 
9536     END LOOP;
9537 
9538     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9539       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,'RETURN_STATUS: ' || x_return_status);
9540       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME || ': ' || l_api_name||'(-)');
9541     END IF;
9542 
9543   EXCEPTION
9544 
9545     WHEN OTHERS THEN
9546       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9547 
9548       IF (g_level_unexpected >= g_current_runtime_level ) THEN
9549         FND_LOG.STRING(g_level_unexpected,
9550                        G_MODULE_NAME||l_api_name,
9551                        'Unexpected Error: '|| SUBSTR(SQLERRM, 1, 80)
9552                        );
9553       END IF;
9554   END ptnr_bulk_calc_tax_pvt;
9555 
9556   PROCEDURE delete_from_lines_det_gt (
9557    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
9558    x_return_status   OUT    NOCOPY VARCHAR2
9559  ) IS
9560   l_api_name              CONSTANT VARCHAR2(30) := 'DELETE_FROM_LINES_DET_GT';
9561   BEGIN
9562     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9563        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
9564     END IF;
9565     x_return_status := FND_API.G_RET_STS_SUCCESS;
9566 
9567     delete from zx_lines_det_factors
9568     WHERE application_id = p_event_class_rec.application_id
9569     AND entity_code = p_event_class_rec.entity_code
9570     AND event_class_code = p_event_class_rec.event_class_code
9571     AND trx_id = p_event_class_rec.trx_id;
9572 
9573     delete from zx_detail_tax_lines_gt
9574     WHERE application_id = p_event_class_rec.application_id
9575     AND entity_code = p_event_class_rec.entity_code
9576     AND event_class_code = p_event_class_rec.event_class_code
9577     AND trx_id = p_event_class_rec.trx_id;
9578 
9579     delete from zx_summary_tax_lines_gt
9580     WHERE application_id = p_event_class_rec.application_id
9581     AND entity_code = p_event_class_rec.entity_code
9582     AND event_class_code = p_event_class_rec.event_class_code
9583     AND trx_id = p_event_class_rec.trx_id;
9584 
9585     delete from zx_rec_nrec_dist_gt
9586     WHERE application_id = p_event_class_rec.application_id
9587     AND entity_code = p_event_class_rec.entity_code
9588     AND event_class_code = p_event_class_rec.event_class_code
9589     AND trx_id = p_event_class_rec.trx_id;
9590 
9591     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
9592       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME || ': ' || l_api_name||'(-)');
9593     END IF;
9594   EXCEPTION
9595 
9596     WHEN OTHERS THEN
9597       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9598 
9599       IF (g_level_unexpected >= g_current_runtime_level ) THEN
9600         FND_LOG.STRING(g_level_unexpected,
9601                        G_MODULE_NAME||l_api_name,
9602                        'Error: '|| SUBSTR(SQLERRM, 1, 80)
9603                        );
9604       END IF;
9605 
9606 
9607   END;
9608 
9609 
9610 /*-----------------------------------------------------------------------*
9611  |   PUBLIC  FUNCTIONS/PROCEDURES                                        |
9612  *-----------------------------------------------------------------------*/
9613 
9614 -----------------------------------------------------------------------
9615 --  PUBLIC PROCEDURE
9616 --  calculate_tax
9617 --
9618 --  DESCRIPTION
9619 --  Calculate tax processing
9620 --
9621 --  CALLED BY
9622 --    ZX_API_PUB.calculate_tax
9623 -----------------------------------------------------------------------
9624  PROCEDURE Calculate_Tax (
9625    p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type ,
9626    x_return_status   OUT    NOCOPY VARCHAR2
9627  ) IS
9628   l_api_name                    CONSTANT VARCHAR2(30) := 'CALCULATE_TAX';
9629   l_trx_line_index              BINARY_INTEGER;
9630   l_cursor_rows                 NUMBER;
9631   l_tax_prof_id                 NUMBER;
9632   l_internal_org_location_id    NUMBER;
9633   l_lines_passed                NUMBER;
9634   l_update_index                NUMBER;
9635   l_return_status               VARCHAR2(30);
9636   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
9637   l_error_buffer                VARCHAR2(2000);
9638   l_count                       NUMBER;
9639   l_deleted_line_exists         VARCHAR2(1);
9640   l_flag                        BOOLEAN;
9641   -- bug fix 5417887 begin
9642   l_trx_id                      NUMBER := -1;
9643   l_legal_entity_id             NUMBER := -1;
9644   l_org_id                      NUMBER := -1;
9645   l_trx_date                    DATE := TO_DATE('01/01/1951', 'DD/MM/RRRR');
9646   l_effective_date              DATE;
9647   l_event_class_rec             ZX_API_PUB.event_class_rec_type;
9648   -- bug fix 5417887 end
9649   l_no_of_trx                   NUMBER;
9650 
9651   -- Start : Added for Bug#8765723
9652   l_delimiter                   zx_fc_types_b.delimiter%TYPE;
9653 
9654  --Added for Bug#16483600 JAI ZX Integration
9655   lb_jai_exists                 BOOLEAN := FALSE;
9656 
9657   CURSOR c_delimiter IS
9658     SELECT delimiter
9659     FROM   zx_fc_types_b
9660     WHERE  classification_type_code ='TRX_BUSINESS_CATEGORY';
9661   -- End : Added for Bug#8765723
9662 
9663  BEGIN
9664    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9665      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
9666    END IF;
9667    --Initialise local variables
9668    l_lines_passed   := 1;
9669    l_update_index   := 0; --store index upto which records need to updated
9670 
9671    x_return_status := FND_API.G_RET_STS_SUCCESS ;
9672 
9673    --Call get_location of TCM to get the location of internal organization
9674    ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
9675                                   l_internal_org_location_id,
9676                                   l_return_status
9677                                   );
9678 
9679    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9680      x_return_status := l_return_status;
9681      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
9682         l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
9683         l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
9684         l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
9685         l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
9686         ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
9687      END IF;
9688      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9689         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9690           ' RETURN_STATUS = ' || x_return_status);
9691      END IF;
9692      RETURN;
9693    END IF;
9694 
9695   /*-----------------------------------------------------------------------*
9696    |  Bug 3417023 - In case of call to calculate_tax with TAX_EVENT_TYPE as |
9697    |  'UPDATE' and no lines passed in zx_transaction_lines_gt/              |
9698    |  trx_line_dist_tbl, we need to ignore all processsing                  |
9699    *-----------------------------------------------------------------------*/
9700    IF ZX_API_PUB.G_DATA_TRANSFER_MODE ='TAB' THEN
9701 /*     IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
9702        select count(*)
9703         INTO l_lines_passed
9704 	    FROM ZX_TRANSACTION_LINES_GT
9705         WHERE ROWNUM <=1  ;
9706      END IF;
9707 Event Type is not yet populated. So, commenting out*/
9708      null;
9709    ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE ='PLS' THEN
9710       IF (p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE') AND
9711          NOT ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id.EXISTS(1) THEN
9712          l_lines_passed := 0;
9713       END IF;
9714    END IF;
9715    -- bug fix 5417887 begin
9716    IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
9717 
9718     /*-----------------------------------------------------------------------*
9719      |  Bug 3698114 - In case of LTE, we need to fetch all the transaction    |
9720      |  into memory while in case of EBTax, they will be fetched in chunks    |
9721      |  of 1000. The below logic puts the constraint on the LIMIT of cursor   |
9722      *-----------------------------------------------------------------------*/
9723 
9724     /*------------------------------------------------------------------------*
9725      | Bug 3955422 - Remove the logic below since for LTE , decision is to    |
9726      | retreive data from zx_lines_det_factors always                         |
9727      *-----------------------------------------------------------------------*/
9728      /*IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
9729         l_cursor_rows := C_LINES_PER_FETCH ;
9730      ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
9731         l_cursor_rows := C_MAX_LINES_PER_FETCH ;
9732      END IF;
9733      */
9734      --Bug 9452928
9735      ZX_TDS_CALC_SERVICES_PUB_PKG.g_process_for_appl_flg := NULL;
9736      --Bugfix 4322369 - Call rounding API at document level
9737      --Call TDS get_rounding_level_and_rule
9738      ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
9739                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
9740                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
9741                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
9742                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
9743                                                          l_return_status,
9744                                                          l_error_buffer
9745                                                          );
9746 
9747      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9748        x_return_status := l_return_status;
9749        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9750           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9751             ' RETURN_STATUS = ' || x_return_status);
9752        END IF;
9753        RETURN;
9754      END IF;
9755      --Bug 9452928
9756      --Bugfix 4718307 - Call TDS to get the applicability flag for the party
9757      --ZX_TDS_CALC_SERVICES_PUB_PKG.get_process_for_appl_flg (p_tax_prof_id   => ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
9758      --                                                       x_return_status => l_return_status
9759      --                                                      );
9760      --
9761      --IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9762      --  x_return_status := l_return_status;
9763      --  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9764      --     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9765      --       ' RETURN_STATUS = ' || x_return_status);
9766      --  END IF;
9767      --  RETURN;
9768      --END IF;
9769    END IF;
9770    -- bug fix 5417887 end
9771 
9772    IF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' AND l_lines_passed = 1) THEN
9773     /*-----------------------------------------------------------+
9774      | Get no. of records from ZX_TRX_HEADERS_GT to segregate    |
9775      | single transaction and multiple transactions processing   |
9776      | l_no_of_trx = 1  =>  single transaction processing        |
9777      | l_no_of_trx > 1  =>  multiple transactions processing     |
9778      +-----------------------------------------------------------*/
9779      BEGIN
9780        SELECT count(*) No_of_records
9781          INTO l_no_of_trx
9782          FROM zx_trx_headers_gt;
9783      EXCEPTION
9784        WHEN OTHERS THEN
9785          l_no_of_trx := 0;
9786      END;
9787 
9788      IF l_no_of_trx = 0 THEN
9789        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9790        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9791           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9792             'No record found in Headers GT Table.');
9793        END IF;
9794        RETURN;
9795      END IF;
9796 
9797      -- SDSU Bug 6605681, When AP is calling invoice validation in bulk process, it errors out with U1 violation in zx_lines_det_factors.
9798      -- The invoice validation flow is then changed to processing individual invoices. At this point AP receives cursor already open error. To avoid this, adding this code to close and open the cursor for each call.
9799      -- This is a temporary fix and tested. We need to identify where exactly they are receiving the cursor error and identify if cursor should be open or close. This fix will now go only in a one-off checkin, includable by AP
9800      -- Start Bug 6605681
9801      IF c_lines%ISOPEN THEN CLOSE c_lines;
9802      OPEN c_lines(p_event_class_rec);
9803      ELSE
9804      OPEN c_lines(p_event_class_rec);
9805      END IF;
9806      -- End Bug 6605681
9807      -- OPEN c_lines(p_event_class_rec);
9808       LOOP
9809          FETCH c_lines BULK COLLECT INTO
9810              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
9811              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
9812              zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
9813              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
9814              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
9815              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
9816              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
9817              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
9818              zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
9819              zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
9820              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
9821              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
9822              zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
9823              zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
9824              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
9825              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
9826              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
9827              zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
9828              zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
9829              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
9830              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
9831              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
9832              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
9833              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
9834              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
9835              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
9836              zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
9837              zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
9838              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
9839              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
9840              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
9841              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
9842              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
9843              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
9844              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
9845              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
9846              zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
9847              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
9848              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
9849              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
9850              zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
9851              zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
9852              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
9853              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
9854              zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
9855              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
9856              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
9857              zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
9858              zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
9859              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
9860              zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
9861              zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
9862              zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
9863              zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
9864              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
9865              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
9866              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
9867              zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
9868              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
9869              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
9870              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
9871              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
9872              zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
9873              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
9874              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
9875              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
9876              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
9877              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
9878              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
9879              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
9880              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
9881              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
9882              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
9883              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
9884              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
9885              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
9886              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
9887              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
9888              zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
9889              zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
9890              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
9891              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
9892              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
9893              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
9894              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
9895              zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
9896              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
9897              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
9898              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
9899              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
9900              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
9901              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
9902              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
9903              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
9904              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
9905              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
9906              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
9907              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
9908              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
9909              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
9910              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
9911              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
9912              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
9913              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
9914              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
9915              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
9916              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
9917              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
9918              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
9919              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
9920              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
9921              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
9922              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
9923              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
9924              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
9925              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
9926              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
9927              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
9928              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
9929              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
9930              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
9931              zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
9932              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
9933              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
9934              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
9935              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
9936              zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
9937              zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
9938              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
9939              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
9940              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
9941              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
9942              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
9943              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
9944              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
9945              zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
9946              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
9947              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
9948              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
9949              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
9950              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
9951              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
9952              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
9953              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
9954              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
9955              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
9956              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
9957              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
9958              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
9959              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
9960              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
9961              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
9962              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
9963              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
9964              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
9965              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
9966              zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
9967              zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
9968              zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
9969              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
9970              zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
9971              zx_global_structures_pkg.trx_line_dist_tbl.Asset_Flag,
9972              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
9973              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
9974              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
9975              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
9976              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
9977              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
9978              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
9979              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
9980              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
9981              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
9982              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
9983              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
9984              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
9985              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
9986              zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
9987              zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
9988              zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
9989              zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
9990              zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
9991              zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
9992              zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
9993              zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
9994              zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
9995              zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
9996              zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
9997              zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
9998              zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
9999              zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
10000              zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
10001              zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
10002              zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
10003              zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
10004              zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
10005              zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
10006              zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
10007              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
10008              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
10009              zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
10010              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
10011              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
10012              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
10013              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
10014              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
10015              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
10016              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
10017              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
10018              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
10019              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
10020              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
10021              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
10022              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
10023              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
10024              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
10025              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
10026              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
10027              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
10028              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
10029              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
10030              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
10031              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
10032              zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
10033              zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
10034              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
10035              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
10036              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
10037              zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
10038              zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
10039              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
10040              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
10041              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
10042              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
10043              zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
10044              zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
10045              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
10046              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
10047              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
10048              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
10049              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
10050              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
10051              zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
10052              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
10053              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
10054              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
10055              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
10056              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
10057              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
10058              zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
10059              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
10060              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
10061              zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
10062              zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
10063              zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
10064              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
10065              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
10066              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
10067              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
10068              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
10069              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
10070              zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
10071              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
10072              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
10073              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
10074              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
10075              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
10076              zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
10077              zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
10078              zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
10079              zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
10080              zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
10081              zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
10082              zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
10083              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
10084              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
10085              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
10086              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
10087              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
10088              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
10089              zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
10090              zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
10091              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
10092              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
10093              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
10094              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
10095              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
10096              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
10097              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
10098              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
10099              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
10100              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
10101              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
10102              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
10103              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
10104              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
10105              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
10106              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
10107              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
10108              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
10109              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
10110              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
10111              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
10112              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
10113              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
10114              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
10115              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
10116              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
10117              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
10118              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
10119              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
10120              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
10121              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
10122              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
10123              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
10124              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
10125              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
10126              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
10127              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
10128              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
10129              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
10130              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
10131              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
10132              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
10133              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
10134              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
10135              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
10136              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
10137              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
10138              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
10139              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
10140              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
10141              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
10142              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
10143              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
10144              zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
10145              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
10146              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
10147              zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
10148              zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
10149              zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG,
10150              zx_global_structures_pkg.trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG, -- Bug 8931030
10151              zx_global_structures_pkg.trx_line_dist_tbl.TAX_CALCULATION_DONE_FLAG  -- Bug 8931030
10152            LIMIT G_LINES_PER_FETCH;
10153 
10154          FOR l_trx_line_index IN 1 .. NVL(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
10155          LOOP
10156            -- Bug 5524869. Added the logic to rollback only failed transaction.
10157            BEGIN
10158              -- Bug fix 5417887 begin
10159              IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
10160                l_flag := TRUE;
10161                SAVEPOINT Calculate_Tax;
10162 
10163                p_event_class_rec.LEGAL_ENTITY_ID              :=  zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index);
10164                p_event_class_rec.LEDGER_ID                    :=  zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index);
10165                p_event_class_rec.EVENT_TYPE_CODE              :=  zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index);
10166                p_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);
10167                p_event_class_rec.TRX_ID                       :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
10168                p_event_class_rec.TRX_DATE                     :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index);
10169                p_event_class_rec.REL_DOC_DATE                 :=  zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index);
10170                p_event_class_rec.PROVNL_TAX_DETERMINATION_DATE:=  zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index);
10171                p_event_class_rec.TRX_CURRENCY_CODE            :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index);
10172                p_event_class_rec.PRECISION                    :=  zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index);
10173                p_event_class_rec.CURRENCY_CONVERSION_TYPE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index);
10174                p_event_class_rec.CURRENCY_CONVERSION_RATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index);
10175                p_event_class_rec.CURRENCY_CONVERSION_DATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index);
10176                p_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);
10177                p_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);
10178                p_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);
10179                p_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);
10180                p_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);
10181                p_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);
10182                p_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);
10183                p_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);
10184                p_event_class_rec.ESTABLISHMENT_ID             :=  zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index);
10185                p_event_class_rec.INTERNAL_ORGANIZATION_ID     :=  zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index);
10186 
10187                IF zx_global_structures_pkg.trx_line_dist_tbl.trx_currency_code(l_trx_line_index)is not NULL   AND
10188                   zx_global_structures_pkg.trx_line_dist_tbl.precision(l_trx_line_index) is not NULL THEN
10189                   p_event_class_rec.header_level_currency_flag := 'Y';
10190                END IF;
10191 
10192                IF  zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(l_trx_line_index) is NOT NULL
10193                AND zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(l_trx_line_index) is NOT NULL
10194                AND zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(l_trx_line_index) is NOT NULL
10195                THEN
10196                    pop_src_evnt_cls_info
10197                      ( p_trx_line_index  => l_trx_line_index,
10198                        p_event_class_rec => p_event_class_rec,
10199                        x_return_status 	 => l_return_status);
10200                ELSE
10201                  p_event_class_rec.source_event_class_mapping_id := NULL;
10202                  p_event_class_rec.source_tax_event_class_code := NULL;
10203                  p_event_class_rec.source_process_for_appl_flag := NULL;
10204                END IF;
10205 
10206                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10207                   x_return_status := l_return_status;
10208                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10209                     RAISE FND_API.G_EXC_ERROR;
10210                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10211                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10212                   END IF;
10213                END IF;
10214 
10215                /* ----------------------------------------------------------------------+
10216                 |  Determine effective date                                             |
10217                 + ----------------------------------------------------------------------*/
10218                zx_valid_init_params_pkg.determine_effective_date(p_event_class_rec,
10219                                           l_effective_date,
10220                                           l_return_status
10221                                          );
10222 
10223                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10224                   x_return_status := l_return_status;
10225                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10226                     RAISE FND_API.G_EXC_ERROR;
10227                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10228                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10229                   END IF;
10230                END IF;
10231 
10232                IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index)
10233                        OR l_org_id <> zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index) THEN
10234                 /* ----------------------------------------------------------------------+
10235                  | Bug 3129063 -      Setting the Security Context for Subscription      |
10236                  + ----------------------------------------------------------------------*/
10237                  zx_valid_init_params_pkg.get_tax_subscriber(p_event_class_rec,
10238                                     l_effective_date,
10239                                     l_return_status
10240                                    );
10241 
10242                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10243                    x_return_status := l_return_status;
10244                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10245                      RAISE FND_API.G_EXC_ERROR;
10246                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10247                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10248                    END IF;
10249                  END IF;
10250                ELSE
10251                    zx_security.g_effective_date := l_effective_date;
10252                    zx_security.name_value('EFFECTIVEDATE',to_char(l_effective_date));
10253                END IF;
10254 
10255                /* ----------------------------------------------------------------------+
10256                 |      Get Tax Event Type                                               |
10257                 + ----------------------------------------------------------------------*/
10258                 zx_valid_init_params_pkg.get_tax_event_type (l_return_status
10259                                    ,p_event_class_rec.event_class_code
10260                                    ,p_event_class_rec.application_id
10261                                    ,p_event_class_rec.entity_code
10262                                    ,p_event_class_rec.event_type_code
10263                                    ,p_event_class_rec.tax_event_class_code
10264                                    ,p_event_class_rec.tax_event_type_code
10265                                    ,p_event_class_rec.doc_status_code
10266                                    );
10267 
10268                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10269                  x_return_status := l_return_status;
10270                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10271                    RAISE FND_API.G_EXC_ERROR;
10272                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10273                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10274                  END IF;
10275                END IF;
10276                --Bug 8736358
10277                IF p_event_class_rec.tax_event_type_code = 'UPDATE' THEN
10278                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_ln_action_update_exist_flg := 'Y';
10279                END IF;
10280               /*----------------------------------+
10281                | Reassigning the retrieved values |
10282                +----------------------------------*/
10283                zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index) :=
10284                                                                    p_event_class_rec.tax_event_type_code;
10285                zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(l_trx_line_index) :=
10286                                                                    p_event_class_rec.doc_status_code;
10287 
10288                 /* ----------------------------------------------------------------------+
10289                  |      Populate Event Class Options                                     |
10290                  + ----------------------------------------------------------------------*/
10291                  zx_valid_init_params_pkg.populate_event_class_options(l_return_status,
10292                                               l_effective_date,
10293                                               p_event_class_rec
10294                                              );
10295 
10296                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10297                    x_return_status := l_return_status;
10298                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10299                      RAISE FND_API.G_EXC_ERROR;
10300                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10301                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10302                    END IF;
10303                  END IF;
10304 
10305                /* ----------------------------------------------------------------------+
10306                 |      Get the locations for parties and their ptp ids                  |
10307                 + ----------------------------------------------------------------------*/
10308                zx_valid_init_params_pkg.get_loc_id_and_ptp_ids(
10309                                 p_event_class_rec  => p_event_class_rec,
10310                                 p_trx_line_index   => l_trx_line_index,
10311                                 x_return_status    => l_return_status
10312                               );
10313 
10314                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10315                  x_return_status := l_return_status;
10316                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10317                    RAISE FND_API.G_EXC_ERROR;
10318                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10319                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10320                  END IF;
10321                END IF;
10322 
10323                zx_global_structures_pkg.g_event_class_rec := p_event_class_rec;
10324 
10325                IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
10326 
10327                  -- set flag to indicate there is at least one trx in the batch for update event
10328                  -- this flag will be used in TRL bulk process.
10329                  ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
10330 
10331                  ZX_TRL_DETAIL_OVERRIDE_PKG.lock_dtl_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
10332                                                                        p_entity_code         => p_event_class_rec.entity_code,
10333                                                                        p_event_class_code    => p_event_class_rec.event_class_code,
10334                                                                        p_trx_id              => p_event_class_rec.trx_id,
10335                                                                        x_return_status       => l_return_status,
10336                                                                        x_error_buffer        => l_error_buffer
10337                                                                        );
10338 
10339                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10340                    x_return_status := l_return_status;
10341                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10342                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10343                             ' RETURN_STATUS = ' || x_return_status);
10344                    END IF;
10345                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10346                      RAISE FND_API.G_EXC_ERROR;
10347                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10348                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10349                    END IF;
10350                  END IF;
10351 
10352                  ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
10353                                                                          p_entity_code         => p_event_class_rec.entity_code,
10354                                                                          p_event_class_code    => p_event_class_rec.event_class_code,
10355                                                                          p_trx_id              => p_event_class_rec.trx_id,
10356                                                                          x_return_status       => l_return_status,
10357                                                                          x_error_buffer        => l_error_buffer
10358                                                                          );
10359                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10360                    x_return_status := l_return_status;
10361                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10362                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10363                             ' RETURN_STATUS = ' || x_return_status);
10364                    END IF;
10365                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10366                      RAISE FND_API.G_EXC_ERROR;
10367                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10368                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10369                    END IF;
10370                  END IF;
10371 
10372                  ZX_TRL_DISTRIBUTIONS_PKG.lock_rec_nrec_dist_for_doc (p_application_id      => p_event_class_rec.application_id,
10373                                                                       p_entity_code         => p_event_class_rec.entity_code,
10374                                                                       p_event_class_code    => p_event_class_rec.event_class_code,
10375                                                                       p_trx_id              => p_event_class_rec.trx_id,
10376                                                                       x_return_status       => l_return_status,
10377                                                                       x_error_buffer        => l_error_buffer
10378                                                                       );
10379                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10380                    x_return_status := l_return_status;
10381                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10382                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10383                             ' RETURN_STATUS = ' || x_return_status);
10384                    END IF;
10385                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10386                      RAISE FND_API.G_EXC_ERROR;
10387                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10388                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10389                    END IF;
10390                  END IF;
10391 
10392                END IF; --tax event type ='UPDATE'
10393 
10394              /*-------------------------------------------------------------+
10395               |  Initialize the tax regime pl/sql strcture for every invoice|
10396               +-------------------------------------------------------------*/
10397               ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl;  -- Added for Bug#13620116
10398 
10399                /* ===============================================================================*
10400                |Initialize the global structures/global temp tables owned by TDM at line level |
10401                * =============================================================================*/
10402                ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
10403                                                         'HEADER',
10404                                                          l_return_status
10405                                                        );
10406 
10407                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10408                   x_return_status := l_return_status;
10409                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10410                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_TDS_CALC_SERVICES_PUB_PKG.initialize returned errors');
10411                   END IF;
10412                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10413                     RAISE FND_API.G_EXC_ERROR;
10414                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10415                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10416                   END IF;
10417                END IF;
10418                --Bug 9452928
10419                ZX_TDS_CALC_SERVICES_PUB_PKG.g_process_for_appl_flg := NULL;
10420                --Bugfix 4322369 - Call rounding API at document level
10421                --Call TDS get_rounding_level_and_rule
10422                ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
10423                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
10424                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
10425                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
10426                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
10427                                                                    l_return_status,
10428                                                                    l_error_buffer
10429                                                                    );
10430 
10431                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10432                  x_return_status := l_return_status;
10433                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10434                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10435                       ' RETURN_STATUS = ' || x_return_status);
10436                  END IF;
10437                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10438                    RAISE FND_API.G_EXC_ERROR;
10439                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10440                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10441                  END IF;
10442                END IF;
10443 
10444                 --Bug 14122718
10445                 pop_estb_id
10446                 (
10447                     l_trx_line_index,
10448                     p_event_class_rec,
10449                     'HEADER',
10450                     x_return_status
10451                 );
10452 
10453                 IF X_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10454                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10455                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10456                       ' RETURN_STATUS = ' || x_return_status);
10457                  END IF;
10458                  IF x_return_status = FND_API.G_RET_STS_ERROR THEN
10459                    RAISE FND_API.G_EXC_ERROR;
10460                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10461                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10462                  END IF;
10463                END IF;
10464                --Bug 14122718
10465 
10466                --Bug 9452928
10467                --Bugfix 4718307 - Call TDS to get the applicability flag for the party
10468                --ZX_TDS_CALC_SERVICES_PUB_PKG.get_process_for_appl_flg (p_tax_prof_id   => ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
10469                --                                                       x_return_status => l_return_status
10470                --                                                      );
10471 
10472                --IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10473                --  x_return_status := l_return_status;
10474                --  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10475                --     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10476                --       ' RETURN_STATUS = ' || x_return_status);
10477                --  END IF;
10478                --  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10479                --    RAISE FND_API.G_EXC_ERROR;
10480                --  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10481                --    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10482                --  END IF;
10483                --END IF;
10484 
10485                /*-------------------------------------------------------------+
10486                 |  JAI tax processing for JAI AP Invoice Create/Update        |
10487                 +-------------------------------------------------------------*/
10488                -- Start : Added for JAI Trigger Elimination : Bug#16483600 JAI ZX Integration
10489                lb_jai_exists := JAI_TAX_PROCESSING_PKG.CHECK_JAI_EXISTS_IN_ZX(
10490                                   pn_set_of_books_id => p_event_class_rec.ledger_id,
10491                                   pn_application_id  => p_event_class_rec.application_id,
10492                                   pv_entity_code => p_event_class_rec.entity_code,
10493                                   pn_trx_id => p_event_class_rec.trx_id
10494                                  );
10495 
10496                IF (lb_jai_exists = TRUE) THEN
10497                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10498                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing start +');
10499                  END IF;
10500                  --Call JAI tax processing for JAI AR Invoice Create/Update and OM Sales Order Create/Update
10501                  --and JAI PO/Requistion Create/Update
10502                  JAI_TAX_PROCESSING_PKG.CALCULATE_TAX(p_transaction_rec => NULL
10503                                                      ,p_event_class_rec => p_event_class_rec
10504                                                      ,p_line_level_action => NULL
10505                                                      ,p_trx_line_id => NULL
10506                                                      ,x_return_status   => l_return_status
10507                                                      );
10508 
10509                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10510                    x_return_status := l_return_status;
10511                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10512                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10513                          ' JAI_TAX_PROCESSING_PKG.CALCULATE_TAX  RETURN_STATUS = ' || x_return_status);
10514                    END IF;
10515                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10516                      RAISE FND_API.G_EXC_ERROR;
10517                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10518                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10519                    END IF;
10520                  END IF;
10521 
10522                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10523                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing end -');
10524                  END IF;
10525                END IF;
10526                -- End : Added for JAI Trigger Elimination
10527 
10528              END IF; -- End of Trx Id Change check
10529              -- Bug fix 5417887 end
10530 
10531              -- Bug 5524869. If there is no error in the header then only process the trx lines
10532              IF l_flag = TRUE THEN
10533                /*-------------------------------------------------------+
10534                 |Lock the zx_line_det_factors table to prevent another  |
10535                 |user from updating same line via the forms/UIs while   |
10536                 |calculation is in progress                             |
10537                 +------------------------------------------------------*/
10538                 lock_line_det_facts (l_trx_line_index,
10539                                   p_event_class_rec,
10540                                   l_return_status
10541                                  );
10542 
10543                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10544                   x_return_status := l_return_status;
10545                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10546                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10547                      ' RETURN_STATUS = ' || x_return_status);
10548                   END IF;
10549                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10550                     RAISE FND_API.G_EXC_ERROR;
10551                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10552                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10553                   END IF;
10554                 END IF;
10555 
10556                 pop_estb_id (l_trx_line_index,
10557                              p_event_class_rec,
10558                              'LINE',            --14122718
10559                              l_return_status
10560                              );
10561 
10562                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10563                   x_return_status := l_return_status;
10564                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10565                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10566                      ' RETURN_STATUS = ' || x_return_status);
10567                   END IF;
10568                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10569                     RAISE FND_API.G_EXC_ERROR;
10570                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10571                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10572                   END IF;
10573                 END IF;
10574 
10575                 IF zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index) is not null AND
10576 	                 zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index)= 'U' THEN
10577                    l_update_index := l_trx_line_index;
10578                 END IF;
10579 
10580                 -- Bug#14078289 - Prefix Tax-Event-Class-Code to Trx-Business-Category for OM and Quoting
10581 
10582                 IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(l_trx_line_index) in (660,697) AND
10583                    ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index) IS NOT NULL AND
10584                    p_event_class_rec.tax_event_class_code IS NOT NULL AND
10585                    NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
10586 
10587                    OPEN c_delimiter;
10588                    FETCH c_delimiter INTO l_delimiter;
10589 
10590                    IF c_delimiter%FOUND THEN
10591                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index) :=
10592                         p_event_class_rec.tax_event_class_code||l_delimiter||ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index);
10593                    END IF;
10594 
10595                    CLOSE c_delimiter;
10596 
10597                    IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10598                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10599                        'Trx Business Category = ' || ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index));
10600                    END IF;
10601                 END IF;
10602 
10603                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
10604                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
10605                 calculate_tax_pvt (p_event_class_rec,
10606                                    l_trx_line_index,
10607     	                             l_return_status
10608                                    );
10609 
10610                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10611                   x_return_status := l_return_status;
10612                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10613                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10614                      ' RETURN_STATUS = ' || x_return_status);
10615                   END IF;
10616                   -- Raise exception depending upon return_status
10617                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
10618                     RAISE FND_API.G_EXC_ERROR;
10619                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10620                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10621                   END IF;
10622                 END IF;
10623 
10624              ELSIF l_flag = FALSE THEN
10625                /*--------------------------------------------------------------+
10626                 | Call procedure to populate all the attributes of plsql table |
10627                 | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
10628                 | except key attributes at a index l_trx_line_index            |
10629                 +--------------------------------------------------------------*/
10630                 Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
10631                                            x_return_status => l_return_status);
10632 
10633                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10634                   x_return_status := l_return_status;
10635                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10636                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10637                      ' RETURN_STATUS = ' || x_return_status);
10638                   END IF;
10639                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10640                 END IF;
10641 
10642              END IF; -- End of Bug fix 5524869
10643 
10644            EXCEPTION
10645              WHEN FND_API.G_EXC_ERROR THEN
10646                ROLLBACK TO Calculate_Tax;
10647                l_flag := FALSE;
10648                IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
10649                  FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
10650                END IF;
10651 
10652                -- Handling single trx and multiple trxs processing
10653                IF l_no_of_trx IS NULL then
10654                  SELECT COUNT(*)
10655                    INTO l_no_of_trx
10656                    FROM zx_trx_headers_gt;
10657                END IF;
10658 
10659                IF l_no_of_trx = 0 THEN
10660                  -- Return
10661                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10662                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10663                                   'No record found in Headers GT Table.');
10664                  END IF;
10665                  RETURN;
10666                ELSIF l_no_of_trx = 1 THEN
10667                  -- Close cursor and Return
10668                  IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
10669                  RETURN;
10670                ELSIF l_no_of_trx > 1 THEN
10671                 /*--------------------------------------------------------------+
10672                  | Call procedure to populate all the attributes of plsql table |
10673                  | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
10674                  | except key attributes at a index l_trx_line_index            |
10675                  +--------------------------------------------------------------*/
10676                  Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
10677                                             x_return_status => l_return_status);
10678 
10679                  -- Commented call to dump error message into errors_gt table
10680                  -- This will be handled in the API ZX_API_PUB.Calculate_Tax
10681                  -- ZX_API_PUB.Dump_Msg;
10682                END IF;
10683 
10684            END; -- End of Bug fix 5524869
10685 
10686            -- Bug fix 5417887 begin
10687            IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
10688              -- populate the tax_regime_tbl cache structure for partner
10689              IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y'
10690              THEN
10691                  populate_ptnr_tax_regime_tbl;
10692              END IF;
10693              -- populate the lte_trx_tbl structure for LTE
10694              IF NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE'
10695              THEN
10696                  populate_lte_trx_tbl;
10697              END IF;
10698 
10699              /*---------------------------------------------------------+
10700               |  Initialize the tax regime PL/SQL strcture for every doc|
10701               +--------------------------------------------------------*/
10702              -- ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl; -- Commented for Bug#13620116
10703 
10704              l_trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
10705              l_legal_entity_id := zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index);
10706              l_trx_date := zx_global_structures_pkg.trx_line_dist_tbl.trx_date(l_trx_line_index);
10707              l_org_id := zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index);
10708            END IF; -- Trx Id change check.
10709            -- Bug fix 5417887 end
10710          END LOOP;
10711 
10712         -- bug fix 54117887 begin
10713         IF p_event_class_rec.quote_flag ='Y' THEN
10714           db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10715                                       p_event_class_rec    =>  p_event_class_rec,
10716                                       p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
10717                                       x_return_status      =>  l_return_status
10718                                       );
10719           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10720             x_return_status := l_return_status;
10721             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10722               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10723                  ' RETURN_STATUS = ' || x_return_status);
10724             END IF;
10725             RETURN;
10726           END IF;
10727         ELSIF p_event_class_rec.quote_flag ='N'
10728           --AND p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE'
10729           THEN
10730            IF l_update_index > 0 THEN
10731              db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10732                                          p_event_class_rec    =>  p_event_class_rec,
10733                                          p_update_index       =>  l_update_index,
10734                                          x_return_status      =>  l_return_status
10735                                          );
10736              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10737                x_return_status := l_return_status;
10738                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10739                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10740                   ' RETURN_STATUS = ' || x_return_status);
10741                END IF;
10742                RETURN;
10743              END IF;
10744            END IF; --l_update_index
10745 
10746            db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
10747                                        p_event_class_rec    =>  p_event_class_rec,
10748                                        p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
10749                                        x_return_status      =>  l_return_status
10750                                       );
10751            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10752              x_return_status := l_return_status;
10753              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10754                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10755                   ' RETURN_STATUS = ' || x_return_status);
10756              END IF;
10757              RETURN;
10758            END IF;
10759         /*ELSIF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'CREATE' THEN
10760           db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10761                                       p_event_class_rec    =>  p_event_class_rec,
10762                                       p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
10763                                       x_return_status      =>  l_return_status
10764                                       );
10765           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10766             x_return_status := l_return_status;
10767             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10768                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10769                ' RETURN_STATUS = ' || x_return_status);
10770             END IF;
10771             RETURN;
10772           END IF;*/
10773         END IF;
10774         -- bug fix 54117887 end
10775         EXIT WHEN c_lines%NOTFOUND;
10776         -- bug#6594730
10777         ZX_GLOBAL_STRUCTURES_PKG.init_detail_tax_regime_tbl;
10778      END LOOP;
10779      CLOSE c_lines;
10780 
10781    ELSIF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' AND l_lines_passed = 1) THEN
10782       -- bug fix 5499862
10783       IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
10784 
10785         -- set flag to indicate there is at least one trx in the batch fro update event
10786         -- this flag will be used in TRL bulk process.
10787         ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
10788       END IF;
10789 
10790       FOR l_trx_line_index IN 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
10791         LOOP
10792 
10793         /*-------------------------------------------------------+
10794          |Lock the zx_line_det_factors table to prevent another   |
10795          |user from updating same line via the forms/UIs while    |
10796          |calculation is in progress                              |
10797          +------------------------------------------------------*/
10798          lock_line_det_facts (l_trx_line_index,
10799                               p_event_class_rec,
10800                               l_return_status
10801                              );
10802          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10803             x_return_status := l_return_status;
10804             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10805               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10806               ' RETURN_STATUS = ' || x_return_status);
10807             END IF;
10808             RETURN;
10809          END IF;
10810          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
10811          --Copy from header attributes to line if line level attributes are passed null
10812          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index) is null THEN
10813            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index) :=
10814                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index);
10815          END IF;
10816          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index) is null THEN
10817            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index) :=
10818                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID(l_trx_line_index);
10819          END IF;
10820          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) is null THEN
10821            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) :=
10822                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID(l_trx_line_index);
10823          END IF;
10824          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) is null THEN
10825            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) :=
10826                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID(l_trx_line_index);
10827          END IF;
10828          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) is null THEN
10829            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) :=
10830                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID (l_trx_line_index);
10831          END IF;
10832          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) is null THEN
10833            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) :=
10834                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID(l_trx_line_index);
10835          END IF;
10836          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index) is null THEN
10837            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index) :=
10838                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID(l_trx_line_index);
10839          END IF;
10840 
10841           -- Bug 6062224 - Populate l_update_index in PLS mode
10842           IF zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index) is not null AND
10843                 zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index)= 'U' THEN
10844                     l_update_index := l_trx_line_index;
10845           END IF;
10846 
10847           -- Start : Bug#8765723, Bug#14078289 - Prefix Tax-Event-Class-Code to Trx-Business-Category for OM and Quoting
10848           IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(l_trx_line_index) in (660,697) AND
10849              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index) IS NOT NULL AND
10850              p_event_class_rec.tax_event_class_code IS NOT NULL AND
10851              NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
10852 
10853              OPEN c_delimiter;
10854              FETCH c_delimiter INTO l_delimiter;
10855 
10856              IF c_delimiter%FOUND THEN
10857                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index) :=
10858                   p_event_class_rec.tax_event_class_code||l_delimiter||ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index);
10859              END IF;
10860 
10861              CLOSE c_delimiter;
10862 
10863              IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10864                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10865                  'Trx Business Category = ' || ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(l_trx_line_index));
10866              END IF;
10867           END IF;
10868           -- End : Bug#8765723 - Prefix Tax-Event-Class-Code to Trx-Business-Category for OM
10869 
10870          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
10871          calculate_tax_pvt (p_event_class_rec,
10872                              l_trx_line_index,
10873                              l_return_status
10874     	                    );
10875 
10876           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10877              x_return_status := l_return_status;
10878              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10879                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10880                    ' RETURN_STATUS = ' || x_return_status);
10881              END IF;
10882              RETURN;
10883           END IF;
10884 
10885         END LOOP;
10886 
10887         IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
10888            populate_ptnr_tax_regime_tbl;
10889         END IF;
10890 
10891    ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
10892       -- bug fix 5499862
10893       IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
10894 
10895         -- set flag to indicate there is at least one trx in the batch fro update event
10896         -- this flag will be used in TRL bulk process.
10897         ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
10898       END IF;
10899 
10900          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10901               BEGIN
10902                  SELECT count(*)
10903                    INTO l_count
10904                    FROM ZX_LINES_DET_FACTORS
10905                   WHERE application_id = p_event_class_rec.application_id
10906              	   AND entity_code = p_event_class_rec.entity_code
10907              	   AND event_class_code = p_event_class_rec.event_class_code
10908              	   AND trx_id = p_event_class_rec.trx_id
10909              	   AND tax_processing_completed_flag = 'N';
10910               END;
10911               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10912                   ' p_event_class_rec.application_id = '||p_event_class_rec.application_id
10913                   || ' p_event_class_rec.entity_code = '||p_event_class_rec.entity_code
10914                   || ' p_event_class_rec.event_class_code = '||p_event_class_rec.event_class_code
10915                   || ' p_event_class_rec.trx_id = '||p_event_class_rec.trx_id
10916                   || ' l_count = ' || l_count);
10917          END IF;
10918 
10919       IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors;
10920         OPEN get_lines_det_factors(p_event_class_rec);
10921       ELSE
10922         OPEN get_lines_det_factors(p_event_class_rec);
10923       END IF;
10924         LOOP
10925          FETCH get_lines_det_factors BULK COLLECT INTO
10926            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
10927            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
10928            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
10929            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
10930            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
10931            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
10932            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
10933            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
10934            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
10935            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
10936            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
10937            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
10938            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
10939            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
10940            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
10941            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
10942            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
10943            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
10944            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
10945            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
10946            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
10947            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
10948            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
10949            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
10950            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
10951            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
10952            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
10953            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
10954            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
10955            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
10956            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
10957            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
10958            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
10959            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
10960            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
10961            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
10962            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
10963            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
10964            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
10965            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
10966            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
10967            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
10968            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
10969            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
10970            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
10971            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
10972            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
10973            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
10974            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
10975            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
10976            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
10977            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
10978            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
10979            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
10980            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
10981            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
10982            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
10983            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
10984            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
10985            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
10986            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
10987            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
10988            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
10989            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
10990            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
10991            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
10992            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
10993            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
10994            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
10995            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
10996            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
10997            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
10998            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
10999            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
11000            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
11001            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
11002            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
11003            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
11004            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
11005            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
11006            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
11007            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
11008            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
11009            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
11010            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
11011            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
11012            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
11013            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
11014            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
11015            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
11016            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
11017            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
11018            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
11019            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
11020            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
11021            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
11022            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
11023            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
11024            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
11025            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
11026            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
11027            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
11028            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
11029            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
11030            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
11031            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
11032            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
11033            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
11034            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
11035            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
11036            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
11037            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
11038            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
11039            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
11040            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
11041            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
11042            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
11043            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
11044            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
11045            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
11046            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
11047            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
11048            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
11049            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
11050            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
11051            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
11052            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
11053            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
11054            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
11055            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
11056            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
11057            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
11058            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
11059            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
11060            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
11061            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
11062            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
11063            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
11064            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
11065            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
11066            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
11067            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
11068            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
11069            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
11070            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
11071            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
11072            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
11073            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
11074            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
11075            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
11076            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
11077            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
11078            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
11079            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
11080            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
11081            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
11082            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
11083            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
11084            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
11085            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
11086            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
11087            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
11088            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
11089            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
11090            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
11091            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
11092            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
11093            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
11094            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
11095            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
11096            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
11097            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
11098            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
11099            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
11100            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
11101            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
11102            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
11103            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
11104            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
11105            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
11106            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
11107            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
11108            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
11109            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
11110            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
11111            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
11112            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
11113            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
11114            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
11115            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
11116            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
11117            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
11118            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
11119            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
11120            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
11121            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
11122            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
11123            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
11124            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
11125            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
11126            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
11127            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
11128            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
11129            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
11130            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
11131            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
11132            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
11133            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
11134            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
11135            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
11136            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
11137            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
11138            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
11139            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
11140            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
11141            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
11142            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
11143            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
11144            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
11145            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
11146            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
11147            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
11148            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
11149            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
11150            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
11151            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
11152            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
11153            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
11154            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
11155            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
11156            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
11157            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
11158            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
11159            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
11160            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
11161            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
11162            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
11163            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
11164            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
11165            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
11166            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
11167            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
11168            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
11169            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
11170            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
11171            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
11172            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
11173            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
11174            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
11175            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
11176            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
11177            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
11178            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
11179            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
11180            zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
11181            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
11182            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
11183            zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
11184            zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
11185            zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
11186            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
11187            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
11188            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
11189            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
11190            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
11191            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
11192            zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
11193            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
11194            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
11195            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
11196            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
11197            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
11198            zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
11199            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
11200            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
11201            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
11202            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
11203            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
11204            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
11205            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
11206            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
11207            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
11208            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
11209            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
11210            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
11211            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
11212            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
11213            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
11214            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
11215            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
11216            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
11217            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
11218            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
11219            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
11220            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
11221          LIMIT G_LINES_PER_FETCH;
11222 
11223          -- 10143408 no need to populate the regimes for deleted lines when
11224          -- there are some item lines to process as the api call exists in
11225          -- partner processing.
11226          IF get_lines_det_factors%ROWCOUNT = 0 THEN
11227           SELECT count(*)
11228           INTO l_count
11229           FROM ZX_LINES_DET_FACTORS
11230           WHERE application_id = p_event_class_rec.application_id
11231           AND entity_code = p_event_class_rec.entity_code
11232           AND event_class_code = p_event_class_rec.event_class_code
11233           AND trx_id = p_event_class_rec.trx_id
11234           AND line_level_action = 'DELETE';
11235 
11236           IF l_count <> 0 THEN
11237             GET_REGIMES_FOR_DEL_ITEM_LINES (p_event_class_rec,l_return_status);
11238             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11239               x_return_status := l_return_status;
11240               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11241                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,' RETURN_STATUS = ' || x_return_status);
11242               END IF;
11243               RETURN;
11244             END IF;
11245             l_count := 0;
11246           END IF;
11247          END IF;
11248          -- 10143408
11249          FOR l_trx_line_index IN 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
11250            LOOP
11251            --Bug 9203490
11252            IF zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index) IS NOT NULL
11253            THEN
11254               IF p_event_class_rec.prod_family_grp_code = 'O2C'
11255               THEN
11256                  zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index) :=
11257                     zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index);
11258                  zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index) := NULL;
11259               ELSE
11260                  zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index) :=
11261                     zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index);
11262                  zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index) := NULL;
11263               END IF;
11264            ELSE
11265               zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index) := NULL;
11266               zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index) := NULL;
11267            END IF;
11268 
11269            IF zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(l_trx_line_index) IS NOT NULL
11270               AND zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index) IS NULL
11271            THEN
11272               SELECT party_id
11273                 INTO zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index)
11274                 FROM zx_party_tax_profile
11275                WHERE party_tax_profile_id = zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(l_trx_line_index);
11276            END IF;
11277 
11278            IF zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(l_trx_line_index) IS NOT NULL
11279               AND zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index) IS NULL
11280            THEN
11281               SELECT party_id
11282                 INTO zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index)
11283                 FROM zx_party_tax_profile
11284                WHERE party_tax_profile_id = zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(l_trx_line_index);
11285            END IF;
11286 
11287              /*-------------------------------------------------------+
11288              |Lock the zx_line_det_factors table to prevent another   |
11289              |user from updating same line via the forms/UIs while    |
11290              |calculation is in progress                              |
11291              +------------------------------------------------------*/
11292              lock_line_det_facts(l_trx_line_index,
11293                                  p_event_class_rec,
11294                                  l_return_status
11295                                 );
11296              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11297                x_return_status := l_return_status;
11298                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11299                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11300                   ' RETURN_STATUS = ' || x_return_status);
11301                END IF;
11302                RETURN;
11303              END IF;
11304 
11305              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
11306              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
11307 
11308              calculate_tax_pvt (p_event_class_rec,
11309                                 l_trx_line_index,
11310                                 l_return_status
11311     	      	               );
11312 
11313              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11314                x_return_status := l_return_status;
11315                IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors; END IF;
11316                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11317                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11318                   ' RETURN_STATUS = ' || x_return_status);
11319                END IF;
11320                RETURN;
11321              END IF;
11322 
11323          END LOOP;
11324 
11325        -- Bug 7453587 -- Add this part within the LOOP
11326        -- for get_lines_det_factors cursor limit
11327        IF p_event_class_rec.quote_flag ='N' AND ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
11328          db_update_line_det_factors (p_trx_line_dist_tbl  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11329                                      p_event_class_rec    => p_event_class_rec,
11330                                      p_update_index       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
11331                                      x_return_status      =>  l_return_status
11332                                     );
11333          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11334            x_return_status := l_return_status;
11335            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11336                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11337                ' RETURN_STATUS = ' || x_return_status);
11338            END IF;
11339            RETURN;
11340          END IF;
11341        END IF;
11342        -- End bug 7453587
11343 
11344          EXIT WHEN get_lines_det_factors%NOTFOUND;
11345 
11346      END LOOP;
11347      CLOSE get_lines_det_factors;
11348 
11349      IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
11350         populate_ptnr_tax_regime_tbl;
11351      END IF;
11352 
11353    END IF;
11354 
11355     /*Merge ruled out by performance due to record of table structure*/
11356     --Do not perform updates in case of lines called from Determining Factors window since
11357     --line is already updated in zx_lines_det_factors due to call to update table handler
11358     -- by products
11359 
11360     --Tax calculation has been successfully performed on this document
11361     p_event_class_rec.TAX_CALCULATION_DONE_FLAG := 'Y';
11362 
11363     -- bug fix 54117887 begin
11364     IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
11365       IF p_event_class_rec.quote_flag ='Y' and ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
11366            db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11367                                        p_event_class_rec    =>  p_event_class_rec,
11368                                        p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
11369                                        x_return_status      =>  l_return_status
11370                                        );
11371            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11372              x_return_status := l_return_status;
11373              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11374                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11375                   ' RETURN_STATUS = ' || x_return_status);
11376              END IF;
11377              RETURN;
11378            END IF;
11379       ELSIF p_event_class_rec.quote_flag ='N'
11380           --AND p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE'
11381           THEN
11382           IF  ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
11383             IF l_update_index > 0 THEN
11384               db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11385                                           p_event_class_rec    =>  p_event_class_rec,
11386                                           p_update_index       =>  l_update_index,
11387                                           x_return_status      =>  l_return_status
11388                                           );
11389               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11390                 x_return_status := l_return_status;
11391                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11392                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11393                    ' RETURN_STATUS = ' || x_return_status);
11394                 END IF;
11395                 RETURN;
11396               END IF;
11397             END IF; --l_update_index
11398 
11399             db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
11400                                         p_event_class_rec    =>  p_event_class_rec,
11401                                         p_insert_index       =>  l_update_index+1,
11402                                         x_return_status      =>  l_return_status
11403                                        );
11404             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11405               x_return_status := l_return_status;
11406               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11407                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11408                    ' RETURN_STATUS = ' || x_return_status);
11409               END IF;
11410               RETURN;
11411             END IF;
11412           ELSIF p_event_class_rec.quote_flag ='N' AND ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
11413 	    db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11414                                         p_event_class_rec    =>  p_event_class_rec,
11415                                         p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
11416                                         x_return_status      =>  l_return_status
11417                                        );
11418             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11419                x_return_status := l_return_status;
11420                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11421                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11422                  ' RETURN_STATUS = ' || x_return_status);
11423                END IF;
11424                RETURN;
11425             END IF;
11426           END IF;
11427       /*ELSIF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'CREATE' THEN
11428           IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
11429             db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11430                                         p_event_class_rec    =>  p_event_class_rec,
11431                                         p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
11432                                         x_return_status      =>  l_return_status
11433                                         );
11434             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11435               x_return_status := l_return_status;
11436               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11437                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11438                  ' RETURN_STATUS = ' || x_return_status);
11439               END IF;
11440               RETURN;
11441             END IF;
11442           --Do not perform inserts in case of lines called from Determining Factors window since
11443           --line is already existing in zx_lines_det_factors
11444       ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
11445             db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
11446                                         p_event_class_rec    =>  p_event_class_rec,
11447                                         p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
11448                                         x_return_status      =>  l_return_status
11449                                        );
11450 
11451             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11452               x_return_status := l_return_status;
11453               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11454                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11455                  ' RETURN_STATUS = ' || x_return_status);
11456               END IF;
11457               RETURN;
11458             END IF;
11459          END IF;*/
11460       END IF;
11461     END IF;
11462     -- bug fix 54117887 end
11463 
11464     -- Handle the scenario where only one transaction is passed with no transaction
11465     -- lines - Case of delete only lines for a transaction.
11466     IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN
11467       IF p_event_class_rec.EVENT_TYPE_CODE IS NULL THEN
11468         BEGIN
11469           SELECT event_type_code
11470             INTO p_event_class_rec.event_type_code
11471             FROM ZX_TRX_HEADERS_GT
11472            WHERE ROWNUM=1;
11473         EXCEPTION
11474           WHEN OTHERS THEN
11475             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11476                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11477                  'Not able to find event type code - No transaction lines passed');
11478             END IF;
11479             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11480         END;
11481         /* ----------------------------------------------------------------------+
11482           |      Get Tax Event Type                                               |
11483           + ----------------------------------------------------------------------*/
11484           zx_valid_init_params_pkg.get_tax_event_type (l_return_status
11485                               ,p_event_class_rec.event_class_code
11486                               ,p_event_class_rec.application_id
11487                               ,p_event_class_rec.entity_code
11488                               ,p_event_class_rec.event_type_code
11489                               ,p_event_class_rec.tax_event_class_code
11490                               ,p_event_class_rec.tax_event_type_code
11491                               ,p_event_class_rec.doc_status_code
11492                               );
11493 
11494           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11495             x_return_status := l_return_status;
11496             Return;
11497           END IF;
11498       END IF;
11499     END IF;
11500 
11501     IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
11502       -- set flag to indicate there is at least one trx in the batch fro update event
11503       -- this flag will be used in TRL bulk process.
11504       ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
11505 
11506       ZX_TRL_DETAIL_OVERRIDE_PKG.lock_dtl_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
11507                                                             p_entity_code         => p_event_class_rec.entity_code,
11508                                                             p_event_class_code    => p_event_class_rec.event_class_code,
11509                                                             p_trx_id              => p_event_class_rec.trx_id,
11510                                                             x_return_status       => l_return_status,
11511                                                             x_error_buffer        => l_error_buffer
11512                                                             );
11513 
11514       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11515         x_return_status := l_return_status;
11516         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11517           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11518                  ' RETURN_STATUS = ' || x_return_status);
11519         END IF;
11520         RAISE FND_API.G_EXC_ERROR;
11521       END IF;
11522 
11523       ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
11524                                                               p_entity_code         => p_event_class_rec.entity_code,
11525                                                               p_event_class_code    => p_event_class_rec.event_class_code,
11526                                                               p_trx_id              => p_event_class_rec.trx_id,
11527                                                               x_return_status       => l_return_status,
11528                                                               x_error_buffer        => l_error_buffer
11529                                                               );
11530       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11531         x_return_status := l_return_status;
11532         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11533           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11534                  ' RETURN_STATUS = ' || x_return_status);
11535         END IF;
11536         RAISE FND_API.G_EXC_ERROR;
11537       END IF;
11538 
11539       ZX_TRL_DISTRIBUTIONS_PKG.lock_rec_nrec_dist_for_doc (p_application_id      => p_event_class_rec.application_id,
11540                                                            p_entity_code         => p_event_class_rec.entity_code,
11541                                                            p_event_class_code    => p_event_class_rec.event_class_code,
11542                                                            p_trx_id              => p_event_class_rec.trx_id,
11543                                                            x_return_status       => l_return_status,
11544                                                            x_error_buffer        => l_error_buffer
11545                                                            );
11546       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11547         x_return_status := l_return_status;
11548         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11549           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11550                  ' RETURN_STATUS = ' || x_return_status);
11551         END IF;
11552         RAISE FND_API.G_EXC_ERROR;
11553       END IF;
11554 
11555     END IF; --tax event type ='UPDATE'
11556 
11557 
11558     /*-------------------------------------------------------------+
11559      |  JAI tax processing for JAI AR Invoice Create/Update        |
11560      |  and JAI OM Sales Order Create/Update                       |
11561      |  and JAI PO/Requisition Create/Update                       |
11562      +-------------------------------------------------------------*/
11563     IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
11564       -- Strat : Added for JAI Trigger Elimination : Bug#16483600 JAI ZX Integration
11565       lb_jai_exists := JAI_TAX_PROCESSING_PKG.CHECK_JAI_EXISTS_IN_ZX(
11566                            pn_set_of_books_id => p_event_class_rec.ledger_id,
11567                            pn_application_id  => p_event_class_rec.application_id,
11568                            pv_entity_code => p_event_class_rec.entity_code,
11569                            pn_trx_id => p_event_class_rec.trx_id
11570                           );
11571 
11572       IF (lb_jai_exists = TRUE) THEN
11573         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11574           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing start +');
11575         END IF;
11576         --Call JAI tax processing for JAI AR Invoice Create/Update and OM Sales Order Create/Update
11577         --and JAI PO/Requistion Create/Update
11578         JAI_TAX_PROCESSING_PKG.CALCULATE_TAX(p_transaction_rec => NULL
11579                                             ,p_event_class_rec => p_event_class_rec
11580                                             ,p_line_level_action => NULL
11581                                             ,p_trx_line_id => NULL
11582                                             ,x_return_status   => l_return_status
11583                                            );
11584 
11585         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11586           x_return_status := l_return_status;
11587           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11588              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11589              ' JAI_TAX_PROCESSING_PKG.CALCULATE_TAX  RETURN_STATUS = ' || x_return_status);
11590           END IF;
11591           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11592             RAISE FND_API.G_EXC_ERROR;
11593           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11594             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11595           END IF;
11596         END IF;
11597 
11598         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11599           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing end -');
11600         END IF;
11601       END IF;
11602     END IF;
11603     -- End : Added for JAI Trigger Elimination
11604 
11605     --Call LTE package if tax method is LTE
11606     IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
11607       -- bug#5665057-
11608       IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
11609         update zx_lines_det_factors
11610             set event_id = p_event_class_rec.event_id
11611           where application_id = p_event_class_rec.application_id
11612             AND entity_code = p_event_class_rec.entity_code
11613             AND event_class_code = p_event_class_rec.event_class_code
11614             AND trx_id = p_event_class_rec.trx_id;
11615       END IF;
11616 
11617       IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
11618 
11619         call_lte (p_event_class_rec => p_event_class_rec,
11620                 x_return_status   => l_return_status
11621                );
11622 
11623         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11624           x_return_status := l_return_status;
11625           RETURN;
11626         END IF;
11627 
11628       ELSE
11629         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11630           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11631                  'Tax Method is LTE. Calling LTE in a loop ');
11632           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11633                  ' Looping over ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl. Number of records: '||
11634                     to_char(nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.LAST,0)) );
11635         END IF;
11636 
11637         FOR l_trx_id_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.LAST,-99)
11638         LOOP
11639           BEGIN -- Begin of Bug fix 5524869
11640             SAVEPOINT Calculate_Tax_LTE;
11641 
11642             l_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).application_id;
11643             l_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_class_code;
11644             l_event_class_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).entity_code;
11645             l_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).trx_id;
11646             l_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_type_code;
11647             l_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).record_flag;
11648             l_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).quote_flag;
11649             l_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).prod_family_grp_code;
11650             l_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_class_mapping_id;
11651             l_event_class_rec.internal_organization_id := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).internal_organization_id;
11652             l_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).record_for_partners_flag;
11653 
11654 
11655             /*--------------------------------------------+
11656              |   Call to zx_security.set_security_context |
11657              +--------------------------------------------*/
11658             ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).legal_entity_id,
11659                                              ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).internal_organization_id,
11660                                              ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).effective_date,
11661                                              l_return_status
11662                                             );
11663 
11664             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11665               x_return_status := l_return_status;
11666               RAISE FND_API.G_EXC_ERROR;
11667             END IF;
11668 
11669             call_lte (p_event_class_rec => l_event_class_rec,
11670                       x_return_status   => l_return_status
11671                      );
11672 
11673             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11674               x_return_status := l_return_status;
11675               IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
11676                   FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Incorrect status returned by Call_lte. Return_Status'||x_return_status);
11677               END IF;
11678               IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11679                 RAISE FND_API.G_EXC_ERROR;
11680               ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11681                 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11682               END IF;
11683             END IF;
11684           EXCEPTION
11685             WHEN FND_API.G_EXC_ERROR THEN
11686               ROLLBACK TO Calculate_Tax_LTE;
11687               IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
11688                 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Deleting Records from Zx_Lines_Det_Factors for Trx_id : '||l_event_class_rec.trx_id );
11689               END IF;
11690 
11691               DELETE FROM zx_lines_det_factors
11692                WHERE application_id   = l_event_class_rec.application_id
11693                  AND entity_code      = l_event_class_rec.entity_code
11694                  AND event_class_code = l_event_class_rec.event_class_code
11695                  AND trx_id           = l_event_class_rec.trx_id;
11696 
11697               IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
11698                 FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Records Deleted : '||SQL%ROWCOUNT);
11699               END IF;
11700 
11701               -- Commented call to dump error message into errors_gt table
11702               -- This will be handled in the API ZX_API_PUB.Calculate_Tax
11703               -- ZX_API_PUB.dump_msg;
11704 
11705           END; -- End of Bug fix 5524869
11706 
11707           ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
11708         END LOOP;
11709       END IF;
11710 
11711       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11712         x_return_status := l_return_status;
11713         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11714            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11715               ' RETURN_STATUS = ' || x_return_status);
11716         END IF;
11717         RETURN;
11718       END IF;
11719     END IF; --tax_method_code is LTE
11720 
11721     /*******************************PARTNER CODE START ****************************/
11722     /* ---------------------------------------------------------------------+
11723      |  Check if partner applicable to call partner related routines        |
11724      + ---------------------------------------------------------------------*/
11725      IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
11726        -- call only ptnr_bulk_calc_tax_pvt is all cases
11727        -- bug#7199139
11728        --IF zx_global_structures_pkg.g_event_class_rec.tax_event_type_code = 'UPDATE' THEN
11729        --   ptnr_calculate_tax_pvt(p_event_class_rec   => zx_global_structures_pkg.g_event_class_rec,
11730        --                          x_return_status     => l_return_status
11731        --                         );
11732        --ELSE
11733        ptnr_bulk_calc_tax_pvt(x_return_status => l_return_status);
11734        --END IF;
11735 
11736        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11737          x_return_status := l_return_status;
11738          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11739            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11740                           'Incorrect status returned by Ptnr_bulk_calc_tax_pvt. RETURN_STATUS = '||x_return_status);
11741          END IF;
11742          RETURN;
11743        END IF;
11744      END IF;
11745     /*******************************PARTNER CODE END ****************************/
11746 
11747     IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
11748       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
11749     END IF;
11750 
11751  EXCEPTION
11752    WHEN OTHERS THEN
11753      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11754      IF lines%ISOPEN THEN CLOSE lines; END IF;
11755      IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors; END IF;
11756      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
11757         FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
11758      END IF;
11759  END calculate_tax;
11760 
11761 -----------------------------------------------------------------------
11762 --  PUBLIC PROCEDURE
11763 --  import
11764 --
11765 --  DESCRIPTION
11766 --  Import document processing
11767 --
11768 --  CALLED BY
11769 --    ZX_API_PUB.import_document_with_tax
11770 -----------------------------------------------------------------------
11771  PROCEDURE import
11772  ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
11773    x_return_status   OUT    NOCOPY VARCHAR2
11774  ) IS
11775   l_api_name                    CONSTANT VARCHAR2(30) := 'IMPORT';
11776   l_trx_line_index              BINARY_INTEGER;
11777   l_tax_prof_id                 NUMBER;
11778   l_internal_org_location_id    NUMBER;
11779   l_cursor_rows                 NUMBER;
11780   l_return_status               VARCHAR2(30);
11781   l_error_buffer                VARCHAR2(2000);
11782   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
11783   l_location_type_tbl           ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
11784   l_location_id_tbl             ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
11785   i                             NUMBER;
11786   l_flag                        BOOLEAN;
11787   l_tax_calc_flag               VARCHAR2(10);
11788   -- l_count_line_level_action     NUMBER;
11789 
11790   -- Added for bug#5417887
11791   l_trx_id                      NUMBER := -1;
11792   l_trx_type_id                  NUMBER := -1;
11793   l_legal_entity_id             NUMBER := -1;
11794   l_org_id                      NUMBER := -1;
11795   l_trx_date                    DATE := TO_DATE('01/01/1951', 'DD/MM/RRRR');
11796   l_effective_date              DATE;
11797   l_event_class_rec             ZX_API_PUB.event_class_rec_type;
11798   l_line_level_indx             NUMBER;
11799 
11800   -- Added for bug#8265004
11801   l_line_level_indx1            NUMBER;
11802   l_no_of_trx                   NUMBER; --Bug 10179680
11803 
11804   -- Added for bug#16483600 JAI ZX Integration
11805   lb_jai_exists                 BOOLEAN := FALSE;
11806 
11807  BEGIN
11808    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
11809      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
11810    END IF;
11811 
11812    x_return_status := FND_API.G_RET_STS_SUCCESS ;
11813 
11814    ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
11815                                   l_internal_org_location_id,
11816                                   l_return_status
11817                                  );
11818 
11819    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11820       x_return_status := l_return_status;
11821       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
11822         l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
11823         l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
11824         l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
11825         l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
11826         ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
11827       END IF;
11828       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11829         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||'ZX_TCM_PTP_PKG.get_location_id returned errors');
11830       END IF;
11831       RETURN;
11832    END IF;
11833 
11834   /*-----------------------------------------------------------------------*
11835    |  Bug 3698114 - In case of LTE, we need to fetch all the transaction    |
11836    |  into memory while in case of EBTax, they will be fetched in chunks    |
11837    |  of 1000. The below logic puts the constraint on the LIMIT of cursor   |
11838    *-----------------------------------------------------------------------
11839 
11840    Need not do this because we have a separeate loop for LTE which calls
11841    LTE calculation for each document
11842    IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
11843       l_cursor_rows := G_LINES_PER_FETCH ;
11844    ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
11845       l_cursor_rows := G_MAX_LINES_PER_FETCH ;
11846    END IF;
11847   */
11848    IF c_lines%ISOPEN THEN CLOSE c_lines;
11849      OPEN c_lines(p_event_class_rec);
11850    ELSE
11851      OPEN c_lines(p_event_class_rec);
11852    END IF;
11853    LOOP
11854          FETCH c_lines BULK COLLECT INTO
11855              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
11856              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
11857              zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
11858              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
11859              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
11860              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
11861              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
11862              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
11863              zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
11864              zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
11865              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
11866              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
11867              zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
11868              zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
11869              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
11870              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
11871              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
11872              zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
11873              zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
11874              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
11875              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
11876              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
11877              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
11878              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
11879              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
11880              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
11881              zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
11882              zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
11883              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
11884              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
11885              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
11886              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
11887              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
11888              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
11889              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
11890              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
11891              zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
11892              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
11893              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
11894              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
11895              zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
11896              zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
11897              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
11898              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
11899              zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
11900              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
11901              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
11902              zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
11903              zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
11904              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
11905              zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
11906              zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
11907              zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
11908              zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
11909              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
11910              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
11911              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
11912              zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
11913              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
11914              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
11915              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
11916              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
11917              zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
11918              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
11919              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
11920              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
11921              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
11922              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
11923              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
11924              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
11925              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
11926              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
11927              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
11928              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
11929              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
11930              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
11931              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
11932              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
11933              zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
11934              zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
11935              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
11936              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
11937              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
11938              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
11939              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
11940              zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
11941              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
11942              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
11943              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
11944              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
11945              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
11946              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
11947              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
11948              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
11949              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
11950              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
11951              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
11952              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
11953              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
11954              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
11955              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
11956              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
11957              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
11958              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
11959              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
11960              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
11961              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
11962              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
11963              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
11964              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
11965              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
11966              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
11967              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
11968              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
11969              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
11970              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
11971              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
11972              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
11973              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
11974              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
11975              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
11976              zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
11977              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
11978              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
11979              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
11980              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
11981              zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
11982              zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
11983              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
11984              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
11985              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
11986              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
11987              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
11988              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
11989              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
11990              zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
11991              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
11992              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
11993              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
11994              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
11995              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
11996              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
11997              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
11998              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
11999              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
12000              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
12001              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
12002              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
12003              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
12004              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
12005              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
12006              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
12007              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
12008              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
12009              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
12010              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
12011              zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
12012              zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
12013              zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
12014              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
12015              zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
12016              zx_global_structures_pkg.trx_line_dist_tbl.Asset_Flag,
12017              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
12018              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
12019              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
12020              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
12021              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
12022              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
12023              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
12024              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
12025              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
12026              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
12027              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
12028              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
12029              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
12030              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
12031              zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
12032              zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
12033              zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
12034              zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
12035              zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
12036              zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
12037              zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
12038              zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
12039              zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
12040              zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
12041              zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
12042              zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
12043              zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
12044              zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
12045              zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
12046              zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
12047              zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
12048              zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
12049              zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
12050              zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
12051              zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
12052              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
12053              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
12054              zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
12055              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
12056              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
12057              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
12058              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
12059              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
12060              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
12061              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
12062              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
12063              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
12064              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
12065              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
12066              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
12067              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
12068              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
12069              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
12070              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
12071              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
12072              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
12073              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
12074              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
12075              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
12076              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
12077              zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
12078              zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
12079              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
12080              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
12081              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
12082              zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
12083              zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
12084              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
12085              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
12086              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
12087              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
12088              zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
12089              zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
12090              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
12091              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
12092              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
12093              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
12094              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
12095              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
12096              zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
12097              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
12098              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
12099              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
12100              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
12101              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
12102              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
12103              zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
12104              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
12105              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
12106              zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
12107              zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
12108              zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
12109              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
12110              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
12111              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
12112              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
12113              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
12114              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
12115              zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
12116              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
12117              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
12118              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
12119              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
12120              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
12121              zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
12122              zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
12123              zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
12124              zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
12125              zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
12126              zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
12127              zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
12128              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
12129              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
12130              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
12131              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
12132              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
12133              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
12134              zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
12135              zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
12136              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
12137              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
12138              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
12139              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
12140              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
12141              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
12142              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
12143              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
12144              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
12145              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
12146              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
12147              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
12148              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
12149              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
12150              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
12151              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
12152              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
12153              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
12154              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
12155              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
12156              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
12157              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
12158              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
12159              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
12160              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
12161              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
12162              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
12163              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
12164              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
12165              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
12166              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
12167              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
12168              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
12169              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
12170              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
12171              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
12172              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
12173              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
12174              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
12175              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
12176              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
12177              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
12178              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
12179              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
12180              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
12181              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
12182              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
12183              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
12184              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
12185              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
12186              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
12187              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
12188              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
12189              zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
12190              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
12191              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
12192              zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
12193              zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
12194              zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG,
12195              zx_global_structures_pkg.trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG, -- Bug 8931030
12196              zx_global_structures_pkg.trx_line_dist_tbl.TAX_CALCULATION_DONE_FLAG      -- Bug 8931030
12197            LIMIT G_LINES_PER_FETCH;
12198 
12199       FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
12200       LOOP
12201 
12202        	-- Bug 5524869. Added the logic to rollback only failed transaction.
12203        BEGIN
12204 
12205        IF zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index) <> l_trx_type_id  THEN
12206           SELECT TAX_CALCULATION_FLAG into l_tax_calc_flag
12207           FROM  RA_CUST_TRX_TYPES_ALL
12208           RTT WHERE
12209           RTT.CUST_TRX_TYPE_ID = zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index)
12210           AND RTT.ORG_ID = zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index);
12211 
12212 
12213           zx_global_structures_pkg.tax_calc_flag_tbl(to_char(zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index))) := l_tax_calc_flag;
12214 
12215          l_trx_type_id := zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index);
12216 
12217        END IF;
12218 
12219 
12220        -- bug fix 5417887 begin
12221        IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
12222 
12223           l_flag := TRUE;
12224           SAVEPOINT Import_Doc;
12225 
12226           p_event_class_rec.LEGAL_ENTITY_ID              :=  zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index);
12227           p_event_class_rec.LEDGER_ID                    :=  zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index);
12228           p_event_class_rec.EVENT_TYPE_CODE              :=  zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index);
12229           p_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);
12230           p_event_class_rec.TRX_ID                       :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
12231           p_event_class_rec.TRX_DATE                     :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index);
12232           p_event_class_rec.REL_DOC_DATE                 :=  zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index);
12233           p_event_class_rec.PROVNL_TAX_DETERMINATION_DATE:=  zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index);
12234           p_event_class_rec.TRX_CURRENCY_CODE            :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index);
12235           p_event_class_rec.PRECISION                    :=  zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index);
12236           p_event_class_rec.CURRENCY_CONVERSION_TYPE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index);
12237           p_event_class_rec.CURRENCY_CONVERSION_RATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index);
12238           p_event_class_rec.CURRENCY_CONVERSION_DATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index);
12239           p_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);
12240           p_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);
12241           p_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);
12242           p_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);
12243           p_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);
12244           p_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);
12245           p_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);
12246           p_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);
12247           p_event_class_rec.ESTABLISHMENT_ID             :=  zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index);
12248           p_event_class_rec.INTERNAL_ORGANIZATION_ID     :=  zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index);
12249 
12250          /*---------------------------------+
12251           |  JAI Integration Call           |
12252           +---------------------------------*/
12253           -- Start : Added for JAI Trigger Elimination : Bug#16483600 JAI ZX Integration
12254 		      -- Code to handle India JAI Order/Project Import AR to populate localization table.
12255 		      -- Before call JAI API, need to ensure ZX_GLOBAL_STRUCTURES_PKG.G_EVENT_CLASS_REC has been assigned value.
12256 		      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12257 		        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12258                            'JAI Intg Call : pn_application_id=>'||p_event_class_rec.application_id
12259                            ||', pn_trx_id =>'|| p_event_class_rec.trx_id);
12260 		      END IF;
12261 
12262 		      lb_jai_exists := JAI_TAX_PROCESSING_PKG.CHECK_JAI_EXISTS_IN_ZX(
12263 		                              pn_set_of_books_id => null,
12264 		                              pn_application_id => p_event_class_rec.application_id,
12265 		                              pn_trx_id => p_event_class_rec.trx_id
12266 		                            --pn_set_of_books_id => ZX_GLOBAL_STRUCTURES_PKG.G_EVENT_CLASS_REC.ledger_id
12267 		                          );
12268 
12269 		      IF lb_jai_exists = TRUE THEN
12270             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12271               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing start +');
12272             END IF;
12273 
12274             JAI_TAX_PROCESSING_PKG.import_document_with_tax(p_event_class_rec,l_return_status);
12275             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12276 		          x_return_status := l_return_status;
12277 		          RAISE FND_API.G_EXC_ERROR;
12278 		        END IF;
12279 		        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12280 		          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':JAI processing end -');
12281 		        END IF;
12282 		      END IF;
12283 		      -- End : Added for JAI Trigger Elimination
12284 
12285           IF zx_global_structures_pkg.trx_line_dist_tbl.trx_currency_code(l_trx_line_index)is not NULL   AND
12286              zx_global_structures_pkg.trx_line_dist_tbl.precision(l_trx_line_index) is not NULL THEN
12287              p_event_class_rec.header_level_currency_flag := 'Y';
12288           END IF;
12289 
12290           IF  zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(l_trx_line_index) is NOT NULL
12291           AND zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(l_trx_line_index) is NOT NULL
12292           AND zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(l_trx_line_index) is NOT NULL
12293           THEN
12294              pop_src_evnt_cls_info
12295                   ( p_trx_line_index    => l_trx_line_index,
12296                      p_event_class_rec  => p_event_class_rec,
12297                      x_return_status 	=> l_return_status);
12298              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12299                x_return_status := l_return_status;
12300                RAISE FND_API.G_EXC_ERROR;
12301              END IF;
12302           ELSE
12303             p_event_class_rec.source_event_class_mapping_id := NULL;
12304             p_event_class_rec.source_tax_event_class_code := NULL;
12305             p_event_class_rec.source_process_for_appl_flag := NULL;
12306           END IF;
12307 
12308           /* ----------------------------------------------------------------------+
12309              |  Determine effective date                                             |
12310              + ----------------------------------------------------------------------*/
12311           zx_valid_init_params_pkg.determine_effective_date(p_event_class_rec,
12312                                      l_effective_date,
12313                                      l_return_status
12314                                     );
12315 
12316           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12317              x_return_status := l_return_status;
12318              RAISE FND_API.G_EXC_ERROR;
12319           END IF;
12320 
12321           IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index)
12322             OR l_org_id <> zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index) THEN
12323            /* ----------------------------------------------------------------------+
12324             | Bug 3129063 -      Setting the Security Context for Subscription      |
12325             + ----------------------------------------------------------------------*/
12326             zx_valid_init_params_pkg.get_tax_subscriber(p_event_class_rec,
12327        	                l_effective_date,
12328                                l_return_status
12329                               );
12330 
12331             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12332               x_return_status := l_return_status;
12333               RAISE FND_API.G_EXC_ERROR;
12334             END IF;
12335           ELSE
12336               zx_security.g_effective_date := l_effective_date;
12337               zx_security.name_value('EFFECTIVEDATE',to_char(l_effective_date));
12338           END IF;
12339 
12340          /* ----------------------------------------------------------------------+
12341           |      Get Tax Event Type                                               |
12342           + ----------------------------------------------------------------------*/
12343           zx_valid_init_params_pkg.get_tax_event_type (l_return_status
12344                               ,p_event_class_rec.event_class_code
12345                               ,p_event_class_rec.application_id
12346                               ,p_event_class_rec.entity_code
12347                               ,p_event_class_rec.event_type_code
12348                               ,p_event_class_rec.tax_event_class_code
12349                               ,p_event_class_rec.tax_event_type_code
12350                               ,p_event_class_rec.doc_status_code
12351                               );
12352 
12353           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12354             x_return_status := l_return_status;
12355             RAISE FND_API.G_EXC_ERROR;
12356           END IF;
12357 
12358            /* ----------------------------------------------------------------------+
12359             |      Populate Event Class Options                                     |
12360             + ----------------------------------------------------------------------*/
12361             zx_valid_init_params_pkg.populate_event_class_options(l_return_status,
12362                                          l_effective_date,
12363                                          p_event_class_rec
12364                                         );
12365 
12366             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12367               x_return_status := l_return_status;
12368               RAISE FND_API.G_EXC_ERROR;
12369             END IF;
12370 
12371         /* ----------------------------------------------------------------------+
12372           |      Get the locations for parties and their ptp ids                  |
12373           + ----------------------------------------------------------------------*/
12374 
12375            zx_valid_init_params_pkg.get_loc_id_and_ptp_ids(
12376                             p_event_class_rec  => p_event_class_rec,
12377                             p_trx_line_index   => l_trx_line_index,
12378                             x_return_status    => l_return_status
12379                           );
12380 
12381            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12382              x_return_status := l_return_status;
12383              RAISE FND_API.G_EXC_ERROR;
12384            END IF;
12385 
12386             zx_global_structures_pkg.g_event_class_rec := p_event_class_rec;
12387 
12388            /*-------------------------------------------------------------+
12389             |  Initialize the tax regime PL/SQL strcture for every invoice|
12390             +-------------------------------------------------------------*/
12391             ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl;      -- Added for Bug#13620116
12392 
12393             /* ===============================================================================*
12394              |Initialize the global structures/global temp tables owned by TDM at header level |
12395              * =============================================================================*/
12396              ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
12397                                                       'HEADER',
12398                                                       l_return_status
12399                                                      );
12400 
12401 
12402              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12403                 x_return_status := l_return_status;
12404                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12405                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_TDS_CALC_SERVICES_PUB_PKG.initialize returned errors');
12406                 END IF;
12407                 RAISE FND_API.G_EXC_ERROR;
12408              END IF;
12409 
12410          --Bug 9452928
12411          ZX_TDS_CALC_SERVICES_PUB_PKG.g_process_for_appl_flg := NULL;
12412 
12413          --Bugfix 4322369 - Call rounding API at document level
12414          ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
12415                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
12416                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
12417                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
12418                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
12419                                                              l_return_status,
12420                                                              l_error_buffer
12421                                                             );
12422 
12423          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12424            x_return_status := l_return_status;
12425            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12426               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12427                 ' RETURN_STATUS = ' || x_return_status);
12428            END IF;
12429            IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12430              RAISE FND_API.G_EXC_ERROR;
12431            ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12432              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12433            END IF;
12434          END IF;
12435 
12436          --Bug 14122718
12437           pop_estb_id
12438           (
12439              l_trx_line_index,
12440               p_event_class_rec,
12441               'HEADER',
12442               x_return_status
12443           );
12444 
12445           IF X_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12446            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12447               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12448                 ' RETURN_STATUS = ' || x_return_status);
12449            END IF;
12450            IF x_return_status = FND_API.G_RET_STS_ERROR THEN
12451              RAISE FND_API.G_EXC_ERROR;
12452            ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12453              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12454            END IF;
12455          END IF;
12456 
12457          --Bug 14122718
12458 
12459 	 --bug#6334533
12460 	 --need to call prorate_imported_sum_tax_lines for the whole document if any line
12461 	 --has line_level_action as CREATE_WITH_TAX or LINE_INFO_TAX_ONLY.
12462 	 --commenting the call here for performance reasons.
12463 	 --moving the call down in a separate block.
12464 
12465 
12466    --      SELECT COUNT(*)
12467 	 --      INTO l_count_line_level_action
12468    --      FROM ZX_TRANSACTION_LINES_GT
12469    --      WHERE application_id = zx_global_structures_pkg.trx_line_dist_tbl.application_id(l_trx_line_index)
12470    --      AND entity_code = zx_global_structures_pkg.trx_line_dist_tbl.entity_code(l_trx_line_index)
12471    --      AND event_class_code = zx_global_structures_pkg.trx_line_dist_tbl.event_class_code(l_trx_line_index)
12472    --      AND trx_id = zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index)
12473    --      AND line_level_action IN ('CREATE_WITH_TAX','LINE_INFO_TAX_ONLY');
12474 
12475           /* ====================================================================*
12476           |Prorate imported summary tax lines - call only if tax method is EBTAX|
12477           * ====================================================================*/
12478    --     IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' AND
12479    --              l_count_line_level_action > 0
12480    --     THEN
12481    --       ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines (p_event_class_rec,
12482    --                                                                    l_return_status
12483    --                                                                   );
12484    --
12485    --       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12486    --         x_return_status := l_return_status;
12487    --         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12488    --           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||'ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines  returned errors');
12489    --         END IF;
12490    --         RAISE FND_API.G_EXC_ERROR;
12491    --       END IF;
12492    --     END IF;
12493 
12494          --Bug 9452928
12495          --Bugfix 4718307 - Call TDS to get the applicability flag for the party
12496          --ZX_TDS_CALC_SERVICES_PUB_PKG.get_process_for_appl_flg (p_tax_prof_id   => ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
12497          --                                                       x_return_status => l_return_status
12498          --                                                      );
12499 
12500          --IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12501          --  x_return_status := l_return_status;
12502          --  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12503          --     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12504          --       ' RETURN_STATUS = ' || x_return_status);
12505          --  END IF;
12506          --  RAISE FND_API.G_EXC_ERROR;
12507          --END IF;
12508 
12509       END IF; -- trx header changed
12510 
12511       -- Bug 5524869. If there is no error in the header then only process the trx lines
12512       IF l_flag = TRUE THEN
12513 
12514         pop_estb_id (l_trx_line_index,
12515                     p_event_class_rec,
12516                     'LINE',                 --14122718
12517                     l_return_status
12518                     );
12519 
12520         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12521          x_return_status := l_return_status;
12522          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12523            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12524             ' RETURN_STATUS = ' || x_return_status);
12525          END IF;
12526          IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12527            RAISE FND_API.G_EXC_ERROR;
12528          ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12529            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12530          END IF;
12531         END IF;
12532 
12533         --need to call prorate_imported_sum_tax_lines for the whole document if any line
12534         --has line_level_action as CREATE_WITH_TAX or LINE_INFO_TAX_ONLY.
12535         --changed the logic and moved the call down in a separate block for performance reasons.
12536 
12537         /* ====================================================================*
12538         |Prorate imported summary tax lines - call only if tax method is EBTAX|
12539         * ====================================================================*/
12540 
12541         IF NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
12542 
12543           l_line_level_indx := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
12544 
12545           IF l_line_level_tbl.EXISTS(l_line_level_indx)
12546              AND l_line_level_tbl(l_line_level_indx).trx_id = zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) THEN
12547             NULL;
12548           ELSE
12549             IF zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index)
12550                                                        IN ('CREATE_WITH_TAX','LINE_INFO_TAX_ONLY') THEN
12551               l_line_level_tbl(l_line_level_indx).trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
12552 
12553               ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines (p_event_class_rec,
12554                                                                                 l_return_status
12555                                                                                );
12556 
12557               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12558                 x_return_status := l_return_status;
12559                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12560                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||'ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines  returned errors');
12561                 END IF;
12562                 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12563                  RAISE FND_API.G_EXC_ERROR;
12564                 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12565                  RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12566                 END IF;
12567               END IF;
12568             END IF;
12569           END IF;
12570         END IF;
12571 
12572         --Bug 3687807 - assign line_amt to assessable_value if null
12573         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index) is null THEN
12574            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index) :=
12575 		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(l_trx_line_index);
12576         END IF;
12577         --Populate the internal_organization_location_id
12578         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
12579 
12580 
12581        /* =============================================================================*
12582        |Initialize the global structures/global temp tables owned by TDM at Line level |
12583        * ==============================================================================*/
12584         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
12585                                                  'LINE',
12586                                                  l_return_status
12587                                                 );
12588 
12589         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12590            x_return_status := l_return_status;
12591 --           IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;  --Bug 10179680
12592            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12593                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12594                 ' RETURN_STATUS = ' || x_return_status);
12595            END IF;
12596            RAISE FND_API.G_EXC_ERROR;
12597         END IF;
12598 
12599        /* ----------------------------------------------------+
12600         |     Derive Internal_Flag Parameters                 |
12601         + ---------------------------------------------------*/
12602         derive_internal_parameters(l_return_status,
12603                                    l_trx_line_index,
12604                                    p_event_class_rec
12605                                   );
12606 
12607         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12608            x_return_status := l_return_status;
12609 --           IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;   --Bug 10179680
12610            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12611                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12612                 ' RETURN_STATUS = ' || x_return_status);
12613            END IF;
12614            RAISE FND_API.G_EXC_ERROR;
12615         END IF;
12616 
12617         BEGIN
12618         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12619           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Processing for Transaction Line with APPLICATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index))||
12620           ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index)||
12621           ', EVENT_CLASS_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index)|| ', EVENT_TYPE_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index)||
12622           ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index))||
12623           ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index))||
12624           ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index))||
12625           ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index))||
12626           ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index)||
12627           ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index))||
12628           ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(l_trx_line_index)||
12629           ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index))||
12630           ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index)||
12631           ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index))||
12632           ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index))||
12633           ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index)||
12634           ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(l_trx_line_index)||
12635           ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index)||
12636           ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(l_trx_line_index))||
12637           ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(l_trx_line_index))||
12638           ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index))||
12639           ', ROUNDING_SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(l_trx_line_index))||
12640           ', ROUNDING_SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(l_trx_line_index))||
12641           ', ROUNDING_BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(l_trx_line_index))||
12642           ', ROUNDING_BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(l_trx_line_index))||
12643           ', RNDG_SHIP_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID(l_trx_line_index))||
12644           ', RNDG_SHIP_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID(l_trx_line_index))||
12645           ', RNDG_BILL_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID(l_trx_line_index))||
12646           ', RNDG_BILL_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID(l_trx_line_index))||
12647           ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index))||
12648           ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(l_trx_line_index)||
12649           ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(l_trx_line_index))||
12650           ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_line_index)||
12651           ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(l_trx_line_index)||
12652           ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_line_index)||
12653           ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(l_trx_line_index))||
12654           ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(l_trx_line_index))||
12655           ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(l_trx_line_index))||
12656           ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(l_trx_line_index)||
12657           ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(l_trx_line_index)||
12658           ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(l_trx_line_index)||
12659           ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(l_trx_line_index)||
12660           ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(l_trx_line_index)||
12661           ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(l_trx_line_index)||
12662           ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(l_trx_line_index)||
12663           ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(l_trx_line_index)||
12664           ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(l_trx_line_index)||
12665           ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(l_trx_line_index))||
12666           ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_line_index)||
12667           ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index))||
12668           ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(l_trx_line_index)||
12669           ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_line_index)||
12670           ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(l_trx_line_index)||
12671           ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_line_index)||
12672           ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(l_trx_line_index)||
12673           ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(l_trx_line_index)||
12674           ', FOB_POINT: '|| zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT(l_trx_line_index)||
12675           ', SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index))||
12676           ', SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index))||
12677           ', POA_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID(l_trx_line_index))||
12678           ', POO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID(l_trx_line_index))||
12679           ', BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID(l_trx_line_index))||
12680           ', BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID(l_trx_line_index))||
12681           ', MERCHANT_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID(l_trx_line_index)));
12682         END IF;
12683         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12684           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12685           ', SHIP_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID(l_trx_line_index))||
12686           ', SHIP_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID(l_trx_line_index))||
12687           ', POA_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID(l_trx_line_index))||
12688           ', POO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID(l_trx_line_index))||
12689           ', BILL_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID(l_trx_line_index))||
12690           ', BILL_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID(l_trx_line_index))||
12691           ', SHIP_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID(l_trx_line_index))||
12692           ', SHIP_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(l_trx_line_index))||
12693           ', POA_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID(l_trx_line_index))||
12694           ', POO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID(l_trx_line_index))||
12695           ', BILL_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID(l_trx_line_index))||
12696           ', BILL_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID(l_trx_line_index))||
12697           ', ACCOUNT_CCID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID(l_trx_line_index))||
12698           ', ACCOUNT_STRING: '|| zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING(l_trx_line_index)||
12699           ', MERCHANT_PARTY_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(l_trx_line_index)||
12700           ', RECEIVABLES_TRX_TYPE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index))||
12701           ', REF_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID(l_trx_line_index))||
12702           ', REF_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE(l_trx_line_index)||
12703           ', REF_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
12704           ', REF_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID(l_trx_line_index))||
12705           ', REF_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID(l_trx_line_index))||
12706           ', REF_DOC_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(l_trx_line_index))||
12707           ', RELATED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(l_trx_line_index))||
12708           ', RELATED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(l_trx_line_index)||
12709           ', RELATED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
12710           ', RELATED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID(l_trx_line_index))||
12711           ', RELATED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER(l_trx_line_index))||
12712           ', RELATED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index))||
12713           ', APPLIED_FROM_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(l_trx_line_index))||
12714           ', APPLIED_FROM_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(l_trx_line_index)||
12715           ', APPLIED_FROM_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(l_trx_line_index)||
12716           ', APPLIED_FROM_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID(l_trx_line_index))||
12717           ', APPLIED_FROM_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID(l_trx_line_index))||
12718           ', ADJUSTED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(l_trx_line_index))||
12719           ', ADJUSTED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(l_trx_line_index)||
12720           ', ADJUSTED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
12721           ', ADJUSTED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(l_trx_line_index))||
12722           ', ADJUSTED_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(l_trx_line_index))||
12723           ', ADJUSTED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(l_trx_line_index))||
12724           ', ADJUSTED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE(l_trx_line_index))||
12725           ', APPLIED_TO_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(l_trx_line_index))||
12726           ', APPLIED_TO_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(l_trx_line_index)||
12727           ', APPLIED_TO_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(l_trx_line_index)||
12728           ', APPLIED_TO_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID(l_trx_line_index))||
12729           ', APPLIED_TO_TRX_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(l_trx_line_index))||
12730           ', TRX_ID_LEVEL2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2(l_trx_line_index))||
12731           ', TRX_ID_LEVEL3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3(l_trx_line_index))||
12732           ', TRX_ID_LEVEL4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4(l_trx_line_index))||
12733           ', TRX_ID_LEVEL5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5(l_trx_line_index))||
12734           ', TRX_ID_LEVEL6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6(l_trx_line_index))||
12735           ', TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER(l_trx_line_index)||
12736           ', TRX_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION(l_trx_line_index)||
12737           ', TRX_LINE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER(l_trx_line_index)||
12738           ', TRX_LINE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION(l_trx_line_index)||
12739           ', PRODUCT_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION(l_trx_line_index)||
12740           ', TRX_WAYBILL_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER(l_trx_line_index)||
12741           ', TRX_COMMUNICATED_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE(l_trx_line_index))||
12742           ', TRX_LINE_GL_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE(l_trx_line_index))||
12743           ', BATCH_SOURCE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID(l_trx_line_index))||
12744           ', BATCH_SOURCE_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME(l_trx_line_index)||
12745           ', DOC_SEQ_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID(l_trx_line_index))||
12746           ', DOC_SEQ_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME(l_trx_line_index)||
12747           ', DOC_SEQ_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE(l_trx_line_index)||
12748           ', TRX_DUE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE(l_trx_line_index))||
12749           ', TRX_TYPE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(l_trx_line_index)||
12750           ', MERCHANT_PARTY_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME(l_trx_line_index)||
12751           ', MERCHANT_PARTY_DOCUMENT_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(l_trx_line_index)||
12752           ', MERCHANT_PARTY_REFERENCE: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(l_trx_line_index)||
12753           ', MERCHANT_PARTY_TAXPAYER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(l_trx_line_index))||
12754           ', MERCHANT_PARTY_TAX_REG_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(l_trx_line_index)
12755           --', PAYING_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID(l_trx_line_index))
12756           );
12757         END IF;
12758         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12759           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12760           --', OWN_HQ_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID(l_trx_line_index))||
12761           --', TRADING_HQ_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID(l_trx_line_index))||
12762           --', POI_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID(l_trx_line_index))||
12763           --', POD_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID(l_trx_line_index))||
12764           --', TITLE_TRANSFER_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID(l_trx_line_index))||
12765           --', PAYING_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID(l_trx_line_index))||
12766           --', OWN_HQ_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID(l_trx_line_index))||
12767           --', TRADING_HQ_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID(l_trx_line_index))||
12768           --', POI_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID(l_trx_line_index))||
12769           --', POD_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID(l_trx_line_index))||
12770           --', TITLE_TRANSFER_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID(l_trx_line_index))||
12771           --', PAYING_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID(l_trx_line_index))||
12772           --', OWN_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID(l_trx_line_index))||
12773           --', TRADING_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(l_trx_line_index))||
12774           --', POC_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID(l_trx_line_index))||
12775           --', POI_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID(l_trx_line_index))||
12776           --', POD_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID(l_trx_line_index))||
12777           --', TITLE_TRANSFER_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(l_trx_line_index))||
12778           ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_line_index)||
12779           ', Asset_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG(l_trx_line_index)||
12780           ', ASSET_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER(l_trx_line_index)||
12781           ', ASSET_ACCUM_DEPRECIATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(l_trx_line_index)||
12782           ', ASSET_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE(l_trx_line_index)||
12783           ', ASSET_COST: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST(l_trx_line_index)
12784           --', NUMERIC1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1(l_trx_line_index))||
12785           --', NUMERIC2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2(l_trx_line_index))||
12786           --', NUMERIC3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3(l_trx_line_index))||
12787           --', NUMERIC4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4(l_trx_line_index))||
12788           --', NUMERIC5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5(l_trx_line_index))||
12789           --', NUMERIC6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6(l_trx_line_index))||
12790           --', NUMERIC7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7(l_trx_line_index))||
12791           --', NUMERIC8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8(l_trx_line_index))||
12792           --', NUMERIC9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9(l_trx_line_index))||
12793           --', NUMERIC10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10(l_trx_line_index))||
12794           --', CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(l_trx_line_index)||
12795           --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(l_trx_line_index)||
12796           --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(l_trx_line_index)||
12797           --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(l_trx_line_index)||
12798           --', CHAR5: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR5(l_trx_line_index)||
12799           --', CHAR6: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR6(l_trx_line_index)||
12800           --', CHAR7: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR7(l_trx_line_index)||
12801           --', CHAR8: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR8(l_trx_line_index)||
12802           --', CHAR9: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR9(l_trx_line_index)||
12803           --', CHAR10: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR10(l_trx_line_index)||
12804           --', DATE1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE1(l_trx_line_index))||
12805           --', DATE2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE2(l_trx_line_index))||
12806           --', DATE3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE3(l_trx_line_index))||
12807           --', DATE4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE4(l_trx_line_index))||
12808           --', DATE5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE5(l_trx_line_index))||
12809           --', DATE6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE6(l_trx_line_index))||
12810           --', DATE7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE7(l_trx_line_index))||
12811           --', DATE8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE8(l_trx_line_index))||
12812           --', DATE9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE9(l_trx_line_index))||
12813           --', DATE10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE10(l_trx_line_index))
12814           );
12815         END IF;
12816         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12817           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12818           ', FIRST_PTY_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID(l_trx_line_index))||
12819           ', TAX_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(l_trx_line_index)||
12820           ', TAX_EVENT_TYPE_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index)||
12821           ', DOC_EVENT_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(l_trx_line_index)||
12822           ', RDNG_SHIP_TO_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(l_trx_line_index))||
12823           ', RDNG_SHIP_FROM_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(l_trx_line_index))||
12824           ', RDNG_BILL_TO_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(l_trx_line_index))||
12825           ', RDNG_BILL_FROM_PTY_TX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(l_trx_line_index))||
12826           ', RDNG_SHIP_TO_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(l_trx_line_index))||
12827           ', RDNG_SHIP_FROM_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(l_trx_line_index))||
12828           ', RDNG_BILL_TO_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(l_trx_line_index))||
12829           ', RDNG_BILL_FROM_PTY_TX_P_ST_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(l_trx_line_index))||
12830           ', SHIP_TO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(l_trx_line_index))||
12831           ', SHIP_FROM_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(l_trx_line_index))||
12832           ', POA_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(l_trx_line_index))||
12833           ', POO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(l_trx_line_index))||
12834           ', PAYING_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(l_trx_line_index))||
12835           ', OWN_HQ_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(l_trx_line_index))||
12836           ', TRADING_HQ_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(l_trx_line_index))||
12837           ', POI_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(l_trx_line_index))||
12838           ', POD_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(l_trx_line_index))||
12839           ', BILL_TO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(l_trx_line_index))||
12840           ', BILL_FROM_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(l_trx_line_index))||
12841           ', TITLE_TRANS_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(l_trx_line_index))||
12842           ', SHIP_TO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(l_trx_line_index))||
12843           ', SHIP_FROM_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(l_trx_line_index))||
12844           ', POA_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(l_trx_line_index))||
12845           ', POO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(l_trx_line_index))||
12846           ', PAYING_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(l_trx_line_index))||
12847           ', OWN_HQ_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(l_trx_line_index))||
12848           ', TRADING_HQ_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(l_trx_line_index))||
12849           ', POI_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(l_trx_line_index))||
12850           ', POD_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(l_trx_line_index))||
12851           ', BILL_TO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(l_trx_line_index))||
12852           ', BILL_FROM_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(l_trx_line_index))||
12853           ', TITLE_TRANS_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(l_trx_line_index))||
12854           ', MERCHANT_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(l_trx_line_index))||
12855           ', DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(l_trx_line_index)||
12856           ', SUPPLIER_TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(l_trx_line_index)||
12857           ', SUPPLIER_TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(l_trx_line_index))||
12858           ', SUPPLIER_EXCHANGE_RATE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(l_trx_line_index)||
12859           ', TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE(l_trx_line_index))||
12860           ', TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER(l_trx_line_index)||
12861           ', LINE_AMT_INCLUDES_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(l_trx_line_index)||
12862           ', QUOTE_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG(l_trx_line_index)||
12863           ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(l_trx_line_index)||
12864           ', Historical_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG(l_trx_line_index)||
12865           ', INTERNAL_ORG_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index))||
12866           ', Ctrl_Hdr_Tx_Appl_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(l_trx_line_index)||
12867           ', CTRL_TOTAL_HDR_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(l_trx_line_index)||
12868           ', CTRL_TOTAL_LINE_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(l_trx_line_index)||
12869           ', DIST_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION(l_trx_line_index));
12870         END IF;
12871         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12872           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12873           ', ADJUSTED_DOC_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID(l_trx_line_index)) ||
12874           ', APPLIED_FROM_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID(l_trx_line_index)) ||
12875           ', TASK_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID(l_trx_line_index)) ||
12876           ', AWARD_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID(l_trx_line_index)) ||
12877           ', PROJECT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID(l_trx_line_index)) ||
12878           ', EXPENDITURE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE(l_trx_line_index) ||
12879           ', EXPENDITURE_ORGANIZATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID(l_trx_line_index)) ||
12880           ', EXPENDITURE_ITEM_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE(l_trx_line_index)) ||
12881           ', TRX_LINE_DIST_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT(l_trx_line_index)) ||
12882           ', TRX_LINE_DIST_QUANTITY: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY(l_trx_line_index)) ||
12883           ', REF_DOC_CURR_CONV_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE(l_trx_line_index)) ||
12884           ', ITEM_DIST_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER(l_trx_line_index) ||
12885           ', REF_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID(l_trx_line_index)) ||
12886           ', TRX_LINE_DIST_TAX_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT(l_trx_line_index))||
12887           ', TRX_LINE_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID(l_trx_line_index)) ||
12888           ', APPLIED_FROM_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID(l_trx_line_index)) ||
12889           ', ADJUSTED_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID(l_trx_line_index)) ||
12890           ', OVERRIDING_RECOVERY_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE(l_trx_line_index)) ||
12891           ', INPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(l_trx_line_index) ||
12892           ', OUTPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(l_trx_line_index) ||
12893           ', PORT_OF_ENTRY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE(l_trx_line_index) ||
12894           ', TAX_REPORTING_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG(l_trx_line_index) ||
12895           ', TAX_AMT_INCLUDED_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(l_trx_line_index) ||
12896           ', COMPOUNDING_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(l_trx_line_index) ||
12897           ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index)) ||
12898           ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index)) ||
12899           ', SHIP_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index)) ||
12900           ', BILL_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index)) ||
12901           ', SHIP_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index))||
12902           ', BILL_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index)) ||
12903           ', PROVNL_TAX_DETERMINATION_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index)) ||
12904           ', START_EXPENSE_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE(l_trx_line_index)) ||
12905           ', TRX_BATCH_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID(l_trx_line_index))||
12906           ', APPLIED_TO_TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(l_trx_line_index) ||
12907           ', SOURCE_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(l_trx_line_index)) ||
12908           ', SOURCE_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(l_trx_line_index) ||
12909           ', SOURCE_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(l_trx_line_index) ||
12910           ', SOURCE_TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID(l_trx_line_index)) ||
12911           ', SOURCE_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID(l_trx_line_index)) ||
12912           ', SOURCE_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(l_trx_line_index) ||
12913           ', REF_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(l_trx_line_index) ||
12914           ', APPLIED_TO_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(l_trx_line_index) ||
12915           ', APPLIED_FROM_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(l_trx_line_index) ||
12916           ', ADJUSTED_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(l_trx_line_index) ||
12917           ', APPLICATION_DOC_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS(l_trx_line_index) ||
12918           ', SOURCE_TAX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID(l_trx_line_index))||
12919           ', EXEMPTION_CONTROL_FLAG: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(l_trx_line_index)||
12920           ', EXEMPT_REASON_CODE: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE(l_trx_line_index)
12921           );
12922         END IF;
12923         EXCEPTION
12924           WHEN OTHERS THEN
12925             null;
12926         END;
12927 
12928        /* ---------------------------------------------------------------------------+
12929         |                            Get Tax Regimes                                 |
12930         + ---------------------------------------------------------------------------*/
12931 
12932         /*---------------------------------------------------------------------------------+
12933     	 | Bug 3666786 - if process for applicability flag is  set to N                    |
12934     	 | * Do not call additional applicability if line level action is 'CREATE_WITH_TAX'|
12935     	 | * Do not perform additional applicability and calculation if line level action  |
12936     	 | is 'CREATE'                                                                     |
12937          +--------------------------------------------------------------------------------*/
12938 
12939         IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
12940         /* The following complex logic is not really required
12941            IF nvl(p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG,'Y') = 'N'
12942 	         AND zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE' THEN
12943 	         null;
12944            ELSE
12945              IF nvl(p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG,'Y') = 'N'
12946     	       AND zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE_WITH_TAX' THEN
12947     	       null;
12948            ELSE
12949          */
12950 
12951          /* -----------------------------------------------------------------------+
12952          | Bug 3937387 - Call get_tax_regimes irrespective of value in process_for_|
12953          | applicability_flag - Needed for TPI since TPI relies heavily on the     |
12954      	 | derivation of tax regimes by TDS                                        |
12955          + ----------------------------------------------------------------------*/
12956          --  IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
12957          --    null;
12958          --  ELSE
12959            IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE'
12960              OR p_event_class_rec.perf_addnl_appl_for_imprt_flag = 'Y' THEN
12961 
12962                ZX_TDS_CALC_SERVICES_PUB_PKG.get_tax_regimes(l_trx_line_index,
12963                                                             p_event_class_rec,
12964                                                             l_return_status
12965                                                            );
12966 
12967                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12968                  x_return_status := l_return_status;
12969 --                 IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;  --Bug 10179680
12970                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12971                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12972                   ' RETURN_STATUS = ' || x_return_status);
12973                  END IF;
12974                  RAISE FND_API.G_EXC_ERROR;
12975                END IF;
12976              END IF; --line level action is CREATE
12977             /**************************PARTNER CODE START - Point 1b****************************/
12978             /*Stamp the provider information on the regimes table returned by the get_tax_regimes procedure
12979               and also populate the trx_app_regimes structure*/
12980 
12981            IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
12982 
12983                  ZX_TPI_SERVICES_PKG.popl_pvrdr_info_tax_reg_tbl (p_event_class_rec
12984                                                              ,l_trx_line_index
12985                                                              ,l_return_status
12986                                                              );
12987 
12988              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12989                x_return_status := l_return_status;
12990 --               IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;  --Bug 10179680
12991                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12992                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12993                  ' RETURN_STATUS = ' || x_return_status);
12994                END IF;
12995                RAISE FND_API.G_EXC_ERROR;
12996              END IF;
12997 
12998              /* -----------------------------------------------+
12999               |    Call TCM Location Caching API               |
13000               + -----------------------------------------------*/
13001 
13002              prepare_for_loc_caching(l_trx_line_index
13003                            ,p_event_class_rec
13004                            ,l_return_status
13005                             );
13006 
13007              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13008                 x_return_status := l_return_status;
13009                 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
13010                   l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index);
13011                   l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index);
13012                   l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index);
13013                   l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
13014                   l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index);
13015                   l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index);
13016                   ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
13017                 END IF;
13018                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13019                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13020                    ' RETURN_STATUS = ' || x_return_status);
13021                 END IF;
13022                 RAISE FND_API.G_EXC_ERROR;
13023              END IF;
13024 
13025            END IF; -- zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y'
13026 
13027            /*******************************PARTNER CODE END ****************************/
13028            --END IF; -- process for applicability flag is 'N'
13029 
13030              /* ----------------------------------------------------------------------+
13031              | Bug 3937387 - Initialize the detail_tax_regime structure since the tax |
13032              | applicability need not be performed in the event of process_for_       |
13033              | applicability being 'N'. We needed to populate detail_tax_regime_tbl   |
13034              | though since TPI processing needs this information                     |
13035              + ----------------------------------------------------------------------*/
13036 
13037              IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
13038                 ZX_GLOBAL_STRUCTURES_PKG.Init_Detail_Tax_Regime_Tbl;
13039              END IF;
13040 
13041             /* -----------------------------------------------+
13042              |     Call TDS Import service                    |
13043              + -----------------------------------------------*/
13044         	/* Bug 3895727 - Call calculate tax irrespective of process_for_applicability_flag*/
13045 
13046              ZX_TDS_CALC_SERVICES_PUB_PKG.calculate_tax_for_import(l_trx_line_index,
13047                                                                    p_event_class_rec,
13048                                                                    l_return_status
13049                                                                   );
13050              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13051                x_return_status := l_return_status;
13052 --               IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;  --Bug 10179680
13053                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13054                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13055                  ' RETURN_STATUS = ' || x_return_status);
13056                END IF;
13057                RAISE FND_API.G_EXC_ERROR;
13058              END IF;
13059 
13060      /* Handle LTE outside the loop
13061          ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
13062            ZX_PRODUCT_INTEGRATION_PKG.import_document_with_tax(p_event_class_rec => p_event_class_rec,
13063                                                                x_return_status   => l_return_status
13064                                                               );
13065              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13066                x_return_status := l_return_status;
13067                IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
13068                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13069                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13070                  ' RETURN_STATUS = ' || x_return_status);
13071                END IF;
13072                RETURN;
13073              END IF;
13074       */
13075          END IF; --TAX_METHOD_CODE
13076 
13077           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_line_index) := 'Y';
13078 
13079           ELSIF l_flag = FALSE THEN
13080              /*--------------------------------------------------------------+
13081               | Call procedure to populate all the attributes of plsql table |
13082               | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
13083               | except key attributes at a index l_trx_line_index            |
13084               +--------------------------------------------------------------*/
13085               Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
13086                                          x_return_status => l_return_status);
13087 
13088               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13089                 x_return_status := l_return_status;
13090                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13091                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13092                    ' RETURN_STATUS = ' || x_return_status);
13093                 END IF;
13094                 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13095               END IF;
13096 
13097 
13098           END IF; -- End of Bug fix 5524869
13099           --Bug 10179680 Starts
13100        EXCEPTION
13101         WHEN FND_API.G_EXC_ERROR THEN
13102           ROLLBACK TO Import_Doc;
13103           l_flag := FALSE;
13104           IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
13105             FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
13106           END IF;
13107 
13108           DELETE FROM zx_detail_tax_lines_gt
13109           WHERE application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index)
13110           AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index)
13111           AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index)
13112           AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
13113 
13114           IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
13115             FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Manual Tax Lines Count: '||SQL%ROWCOUNT);
13116           END IF;
13117 
13118           FOR l_search_pointer IN REVERSE 1 .. NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl.LAST, 0) LOOP
13119             IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_search_pointer).trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index)
13120                 AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_search_pointer).event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(l_trx_line_index)
13121                 AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_search_pointer).APPLICATION_ID = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index) THEN
13122 
13123               ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl.delete(l_search_pointer);
13124             ELSE
13125               EXIT;
13126             END IF;
13127           END LOOP;
13128 
13129              -- Handling single trx and multiple trxs processing
13130              IF l_no_of_trx IS NULL then
13131                SELECT COUNT(*)
13132                  INTO l_no_of_trx
13133                  FROM zx_trx_headers_gt;
13134              END IF;
13135 
13136              IF l_no_of_trx = 1 THEN
13137                -- Close cursor and Return
13138                IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
13139                RETURN;
13140              ELSIF l_no_of_trx > 1 THEN
13141               /*--------------------------------------------------------------+
13142                | Call procedure to populate all the attributes of plsql table |
13143                | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
13144                | except key attributes at a index l_trx_line_index            |
13145                +--------------------------------------------------------------*/
13146                Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
13147                                           x_return_status => l_return_status);
13148                -- Commented call to dump error message into errors_gt table
13149                -- This will be handled in the API ZX_API_PUB.Calculate_Tax
13150                -- ZX_API_PUB.Dump_Msg;
13151             END IF;                       --Bug 10179680 Ends
13152         END; -- End of Bug fix 5524869
13153 
13154         --bug8265004
13155         l_line_level_indx1 := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
13156 
13157          IF l_line_level_tbl1.EXISTS(l_line_level_indx1)
13158            AND l_line_level_tbl1(l_line_level_indx1).trx_id = zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) THEN
13159            NULL;
13160          ELSE
13161            IF (zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE'
13162              OR p_event_class_rec.perf_addnl_appl_for_imprt_flag = 'Y') AND
13163              (zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y') THEN
13164 	           l_line_level_tbl1(l_line_level_indx1).trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
13165              populate_ptnr_tax_regime_tbl;
13166            END IF;
13167          END IF;
13168 
13169          -- bug fix 5417887 begin
13170          IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
13171            -- populate the lte_trx_tbl structure for LTE
13172            IF NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE'
13173            THEN
13174              populate_lte_trx_tbl;
13175            END IF;
13176 
13177            /*---------------------------------------------------------+
13178             |  Initialize the tax regime PL/SQL strcture for every doc|
13179             +--------------------------------------------------------*/
13180            -- ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl; -- Commented for Bug#13620116
13181            -- ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
13182 
13183            l_trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
13184            l_legal_entity_id := zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index);
13185            l_trx_date := zx_global_structures_pkg.trx_line_dist_tbl.trx_date(l_trx_line_index);
13186            l_org_id := zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index);
13187          END IF;
13188          -- bug fix 5417887 end
13189 
13190          -- bug 5730752
13191          IF ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl.LAST >= 1000) THEN
13192 
13193            ZX_TDS_CALC_SERVICES_PUB_PKG.dump_detail_tax_lines_into_gt(x_return_status  => l_return_status );
13194 
13195            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13196              x_return_status := l_return_status ;
13197              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13198                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': '||l_api_name||':ZX_TDS_CALC_SERVICES_PUB_PKG.dump_detail_tax_lines_into_gt returned errors');
13199              END IF;
13200              RETURN;
13201            END IF;
13202          END IF;
13203          -- end bug 5730752
13204 
13205        END LOOP;  --l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
13206 
13207        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13208                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13209                  'Completed the processing loop. Calling db_insert_line_det_factors..');
13210        END IF;
13211 
13212          /*Merge ruled out by performance due to record of table structure*/
13213          db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
13214                                     p_event_class_rec    =>  p_event_class_rec,
13215                                     p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
13216                                     x_return_status      =>  l_return_status
13217                                    );
13218 
13219          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13220             x_return_status := l_return_status;
13221             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13222                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13223                  ' RETURN_STATUS = ' || x_return_status);
13224              END IF;
13225              RETURN;
13226          END IF;
13227 
13228      EXIT WHEN c_lines%NOTFOUND;
13229 
13230      -- bug 5683445
13231      ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
13232      -- bug 6343328
13233      ZX_GLOBAL_STRUCTURES_PKG.init_detail_tax_regime_tbl;
13234 
13235    END LOOP;
13236 
13237    CLOSE c_lines;
13238 
13239     -- Handle LTE tax method
13240       IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
13241           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13242 
13243                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13244                  'Tax Method is LTE. Calling LTE in a loop ');
13245                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13246                  ' Looping over ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl. Number of records: '||
13247                     to_char(nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.LAST,0)) );
13248            END IF;
13249 
13250            FOR l_trx_id_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl.LAST,-99)
13251            LOOP
13252 
13253             BEGIN -- Begin of Bug fix 5524869
13254 
13255                SAVEPOINT Import_Tax_LTE;
13256 
13257                l_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).application_id;
13258                l_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_class_code;
13259                l_event_class_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).entity_code;
13260                l_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).trx_id;
13261                l_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_type_code;
13262                l_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).record_flag;
13263                l_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).quote_flag;
13264                l_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).prod_family_grp_code;
13265                l_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).event_class_mapping_id;
13266                l_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).record_for_partners_flag;
13267                l_event_class_rec.internal_organization_id := ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).internal_organization_id;
13268 
13269                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13270                  FND_LOG.STRING(G_LEVEL_STATEMENT,
13271                    G_MODULE_NAME||l_api_name,
13272                    'processing trx_id:  ' ||
13273                    TO_CHAR(l_event_class_rec.trx_id));
13274                END IF;
13275 
13276                /*--------------------------------------------+
13277                |   Call to zx_security.set_security_context |
13278                +--------------------------------------------*/
13279                ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).legal_entity_id,
13280                                           ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).internal_organization_id,
13281                                           ZX_GLOBAL_STRUCTURES_PKG.lte_trx_tbl(l_trx_id_index).effective_date,
13282                                           l_return_status
13283                                           );
13284 
13285                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13286                  x_return_status := l_return_status;
13287                  RAISE FND_API.G_EXC_ERROR;
13288                END IF;
13289 
13290               call_lte( p_event_class_rec => l_event_class_rec,
13291                         p_calling_proc => 'IMPORT',
13292                         x_return_status   => l_return_status
13293                       );
13294 
13295                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13296                  x_return_status := l_return_status;
13297                  IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
13298                     FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Incorrect status returned by Call_lte. Return_Status'||x_return_status);
13299                  END IF;
13300                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
13301                     RAISE FND_API.G_EXC_ERROR;
13302                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
13303                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13304                  END IF;
13305                END IF;
13306 
13307            EXCEPTION
13308                  WHEN FND_API.G_EXC_ERROR THEN
13309                    ROLLBACK TO Import_Tax_LTE;
13310                    IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
13311                       FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Deleting Records from Zx_Lines_Det_Factors for Trx_id : '||l_event_class_rec.trx_id );
13312                    END IF;
13313 
13314                    DELETE FROM zx_lines_det_factors
13315                    WHERE  application_id   = l_event_class_rec.application_id
13316                    AND    entity_code      = l_event_class_rec.entity_code
13317                    AND    event_class_code = l_event_class_rec.event_class_code
13318                    AND    trx_id           = l_event_class_rec.trx_id;
13319 
13320                    IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
13321                       FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'Records Deleted : '||SQL%ROWCOUNT );
13322                    END IF;
13323 
13324                    -- Commented call to dump error message into errors_gt table
13325                    -- This will be handled in the API ZX_API_PUB.Import_Document_With_Tax
13326                    -- ZX_API_PUB.dump_msg;
13327            END; -- End of Bug fix 5524869
13328 
13329            ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
13330 
13331           END LOOP;
13332 
13333           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13334             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13335                  'Return Status from LTE : ' || l_return_status);
13336             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13337                  'g_ptnr_srvc_subscr_flag : '||
13338                  zx_global_structures_pkg.g_ptnr_srvc_subscr_flag );
13339           END IF;
13340 
13341           -- Dump the LTE error messages to ZX_ERRORS_GT table
13342           ZX_API_PUB.dump_msg;
13343 
13344           -- if l_return_status from LTE returned error, it has
13345           -- been handled by the exception already, end of this
13346           -- loop set status to successful to commit other
13347           -- invoices that went through fine w/o error
13348           x_return_status := FND_API.G_RET_STS_SUCCESS;
13349 
13350      END IF;
13351 
13352     /**********************PARTNER CODE START ****************************/
13353     /* ---------------------------------------------------------------------+
13354      |  Check if partner applicable to call partner related routines        |
13355      + ---------------------------------------------------------------------*/
13356      IF (zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' AND
13357         NVL(p_event_class_rec.TAX_METHOD_CODE,'X') <> 'LTE' ) THEN
13358        -- call only ptnr_bulk_calc_tax_pvt is all cases
13359        -- bug#7199139
13360        --IF zx_global_structures_pkg.g_event_class_rec.tax_event_type_code = 'UPDATE' THEN
13361        --   ptnr_calculate_tax_pvt(p_event_class_rec   => zx_global_structures_pkg.g_event_class_rec,
13362        --                          x_return_status     => l_return_status
13363        --                         );
13364        --ELSE
13365        ptnr_bulk_calc_tax_pvt(x_return_status => l_return_status);
13366        --END IF;
13367 
13368        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13369          x_return_status := l_return_status;
13370          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13371            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13372                           'Incorrect status returned by Ptnr_bulk_calc_tax_pvt. RETURN_STATUS = '||x_return_status);
13373          END IF;
13374          RETURN;
13375        END IF;
13376      END IF;
13377     /*******************************PARTNER CODE END ****************************/
13378 
13379    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13380      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
13381        G_PKG_NAME||': '||l_api_name||'()-'||
13382        ' RETURN_STATUS = ' || x_return_status);
13383    END IF;
13384 
13385    EXCEPTION
13386     WHEN OTHERS THEN
13387        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13388        IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
13389        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13390          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13391        END IF;
13392   END import;
13393 
13394 -----------------------------------------------------------------------
13395 --  PRIVATE PROCEDURE
13396 --  override_summary_tax_lines
13397 --
13398 --  DESCRIPTION
13399 --  Override_tax processing
13400 --
13401 --  CALLED BY
13402 --    override_tax_lines
13403 -----------------------------------------------------------------------
13404  PROCEDURE override_summary_tax_lines
13405   ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
13406     x_return_status   OUT    NOCOPY VARCHAR2
13407   ) IS
13408   l_api_name                    CONSTANT VARCHAR2(30) := 'OVERRIDE_SUMMARY_TAX_LINES';
13409   l_trx_line_index              BINARY_INTEGER;
13410   l_tax_prof_id                 NUMBER;
13411   l_return_status               VARCHAR2(30);
13412   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
13413  BEGIN
13414    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13415      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13416    END IF;
13417 
13418    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13419 
13420    OPEN get_overridden_lines(p_event_class_rec.event_id);
13421    LOOP
13422       FETCH get_overridden_lines BULK COLLECT INTO
13423            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
13424            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
13425            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
13426            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
13427            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
13428            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
13429            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
13430            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
13431            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
13432            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
13433            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
13434            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
13435            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
13436            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
13437            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
13438            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
13439            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
13440            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
13441            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
13442            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
13443            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
13444            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
13445            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
13446            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
13447            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
13448            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
13449            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
13450            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
13451            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
13452            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
13453            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
13454            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
13455            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
13456            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
13457            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
13458            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
13459            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
13460            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
13461            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
13462            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
13463            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
13464            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
13465            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
13466            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
13467            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
13468            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
13469            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
13470            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
13471            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
13472            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
13473            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
13474            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
13475            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
13476            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
13477            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
13478            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
13479            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
13480            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
13481            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
13482            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
13483            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
13484            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
13485            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
13486            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
13487            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
13488            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
13489            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
13490            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
13491            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
13492            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
13493            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
13494            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
13495            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
13496            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
13497            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
13498            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
13499            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
13500            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
13501            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
13502            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
13503            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
13504            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
13505            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
13506            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
13507            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
13508            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
13509            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
13510            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
13511            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
13512            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
13513            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
13514            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
13515            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
13516            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
13517            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
13518            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
13519            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
13520            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
13521            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
13522            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
13523            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
13524            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
13525            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
13526            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
13527            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
13528            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
13529            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
13530            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
13531            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
13532            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
13533            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
13534            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
13535            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
13536            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
13537            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
13538            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
13539            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
13540            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
13541            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
13542            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
13543            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
13544            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
13545            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
13546            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
13547            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
13548            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
13549            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
13550            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
13551            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
13552            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
13553            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
13554            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
13555            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
13556            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
13557            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
13558            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
13559            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
13560            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
13561            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
13562            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
13563            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
13564            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
13565            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
13566            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
13567            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
13568            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
13569            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
13570            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
13571            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
13572            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
13573            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
13574            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
13575            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
13576            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
13577            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
13578            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
13579            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
13580            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
13581            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
13582            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
13583            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
13584            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
13585            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
13586            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
13587            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
13588            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
13589            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
13590            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
13591            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
13592            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
13593            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
13594            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
13595            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
13596            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
13597            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
13598            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
13599            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
13600            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
13601            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
13602            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
13603            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
13604            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
13605            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
13606            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
13607            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
13608            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
13609            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
13610            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
13611            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
13612            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
13613            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
13614            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
13615            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
13616            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
13617            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
13618            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
13619            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
13620            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
13621            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
13622            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
13623            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
13624            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
13625            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
13626            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
13627            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
13628            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
13629            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
13630            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
13631            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
13632            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
13633            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
13634            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
13635            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
13636            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
13637            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
13638            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
13639            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
13640            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
13641            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
13642            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
13643            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
13644            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
13645            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
13646            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
13647            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
13648            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
13649            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
13650            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
13651            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
13652            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
13653            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
13654            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
13655            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
13656            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
13657            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
13658            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
13659            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
13660            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
13661            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
13662            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
13663            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
13664            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
13665            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
13666            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
13667            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
13668            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
13669            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
13670            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
13671            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
13672            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
13673            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
13674            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
13675            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
13676            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
13677            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
13678            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
13679            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
13680            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
13681            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
13682            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
13683            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
13684            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
13685            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
13686            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
13687            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
13688            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
13689            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
13690            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
13691            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
13692            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
13693            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
13694            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
13695            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
13696            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
13697       LIMIT G_LINES_PER_FETCH;
13698 
13699       FOR l_trx_line_index IN 1..nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
13700       LOOP
13701        /* =============================================================================*
13702        |Initialize the global structures/global temp tables owned by TDM at Line level |
13703        * ==============================================================================*/
13704         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
13705                                                  'LINE'            ,
13706                                                  l_return_status
13707                                                 );
13708         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13709           x_return_status := l_return_status;
13710           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13711           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13712             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13713               ' RETURN_STATUS = ' || x_return_status);
13714           END IF;
13715           RETURN;
13716         END IF;
13717 
13718        /*------------------------------------------------------------------------+
13719        |  Override Summary Tax Lines                                             |
13720        + ------------------------------------------------------------------------*/
13721 
13722         --Pass the tax event type code derived into event class rec instead of that fetched from zx_lines_det_factors
13723         zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index):=p_event_class_rec.tax_event_type_code;
13724 
13725         ZX_TDS_CALC_SERVICES_PUB_PKG.override_summary_tax_lines(l_trx_line_index
13726                                                                ,p_event_class_rec
13727                                                                ,l_return_status
13728                                                                );
13729 
13730         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13731           x_return_status := l_return_status;
13732           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13733           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13734              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13735               ' RETURN_STATUS = ' || x_return_status);
13736           END IF;
13737           RETURN;
13738         END IF;
13739 
13740       END LOOP;
13741      EXIT WHEN get_overridden_lines%NOTFOUND;
13742    END LOOP;
13743    CLOSE get_overridden_lines;
13744 
13745     IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13746       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
13747         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
13748     END IF;
13749 
13750    EXCEPTION
13751     WHEN OTHERS THEN
13752        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13753        IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13754        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13755           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13756        END IF;
13757    END override_summary_tax_lines;
13758 
13759 -----------------------------------------------------------------------
13760 --  PRIVATE PROCEDURE
13761 --  override_detail_tax_lines
13762 --
13763 --  DESCRIPTION
13764 --  Override_tax processing
13765 --
13766 --  CALLED BY
13767 --    override_tax_lines
13768 -----------------------------------------------------------------------
13769  PROCEDURE override_detail_tax_lines
13770    ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
13771      x_return_status   OUT    NOCOPY VARCHAR2
13772    ) IS
13773    l_api_name                    CONSTANT VARCHAR2(30):= 'OVERRIDE_DETAIL_TAX_LINES';
13774    l_trx_line_index              BINARY_INTEGER;
13775    l_tax_prof_id                 NUMBER;
13776    l_return_status               VARCHAR2(30);
13777    l_context_info_rec            ZX_API_PUB.context_info_rec_type;
13778 
13779  BEGIN
13780    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13781      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13782    END IF;
13783 
13784    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13785 
13786    OPEN get_overridden_lines(p_event_class_rec.event_id);
13787     LOOP
13788       FETCH get_overridden_lines BULK COLLECT INTO
13789            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
13790            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
13791            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
13792            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
13793            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
13794            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
13795            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
13796            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
13797            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
13798            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
13799            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
13800            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
13801            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
13802            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
13803            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
13804            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
13805            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
13806            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
13807            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
13808            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
13809            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
13810            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
13811            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
13812            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
13813            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
13814            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
13815            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
13816            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
13817            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
13818            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
13819            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
13820            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
13821            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
13822            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
13823            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
13824            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
13825            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
13826            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
13827            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
13828            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
13829            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
13830            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
13831            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
13832            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
13833            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
13834            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
13835            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
13836            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
13837            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
13838            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
13839            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
13840            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
13841            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
13842            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
13843            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
13844            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
13845            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
13846            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
13847            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
13848            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
13849            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
13850            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
13851            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
13852            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
13853            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
13854            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
13855            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
13856            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
13857            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
13858            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
13859            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
13860            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
13861            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
13862            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
13863            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
13864            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
13865            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
13866            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
13867            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
13868            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
13869            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
13870            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
13871            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
13872            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
13873            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
13874            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
13875            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
13876            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
13877            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
13878            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
13879            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
13880            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
13881            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
13882            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
13883            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
13884            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
13885            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
13886            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
13887            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
13888            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
13889            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
13890            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
13891            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
13892            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
13893            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
13894            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
13895            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
13896            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
13897            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
13898            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
13899            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
13900            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
13901            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
13902            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
13903            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
13904            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
13905            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
13906            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
13907            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
13908            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
13909            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
13910            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
13911            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
13912            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
13913            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
13914            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
13915            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
13916            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
13917            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
13918            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
13919            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
13920            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
13921            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
13922            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
13923            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
13924            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
13925            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
13926            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
13927            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
13928            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
13929            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
13930            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
13931            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
13932            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
13933            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
13934            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
13935            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
13936            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
13937            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
13938            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
13939            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
13940            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
13941            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
13942            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
13943            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
13944            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
13945            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
13946            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
13947            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
13948            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
13949            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
13950            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
13951            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
13952            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
13953            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
13954            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
13955            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
13956            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
13957            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
13958            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
13959            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
13960            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
13961            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
13962            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
13963            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
13964            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
13965            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
13966            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
13967            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
13968            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
13969            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
13970            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
13971            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
13972            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
13973            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
13974            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
13975            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
13976            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
13977            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
13978            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
13979            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
13980            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
13981            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
13982            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
13983            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
13984            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
13985            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
13986            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
13987            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
13988            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
13989            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
13990            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
13991            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
13992            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
13993            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
13994            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
13995            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
13996            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
13997            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
13998            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
13999            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
14000            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
14001            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
14002            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
14003            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
14004            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
14005            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
14006            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
14007            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
14008            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
14009            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
14010            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
14011            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
14012            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
14013            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
14014            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
14015            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
14016            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
14017            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
14018            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
14019            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
14020            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
14021            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
14022            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
14023            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
14024            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
14025            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
14026            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
14027            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
14028            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
14029            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
14030            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
14031            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
14032            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
14033            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
14034            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
14035            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
14036            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
14037            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
14038            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
14039            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
14040            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
14041            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
14042            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
14043            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
14044            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
14045            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
14046            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
14047            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
14048            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
14049            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
14050            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
14051            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
14052            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
14053            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
14054            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
14055            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
14056            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
14057            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
14058            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
14059            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
14060            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
14061            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
14062            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
14063       LIMIT G_LINES_PER_FETCH;
14064 
14065       FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
14066       LOOP
14067        /* =============================================================================*
14068        |Initialize the global structures/global temp tables owned by TDM at Line level |
14069        * ==============================================================================*/
14070 
14071         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
14072                                                  'LINE'            ,
14073                                                  l_return_status
14074                                                 );
14075 
14076         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14077           x_return_status := l_return_status;
14078           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
14079           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14080             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14081              ' RETURN_STATUS = ' || x_return_status);
14082           END IF;
14083           RETURN;
14084         END IF;
14085 
14086 
14087        /* -----------------------------------------------------------------+
14088         |  Call TDS routine to override the detail tax lines               |
14089         |                                                                  |
14090         + -----------------------------------------------------------------*/
14091          --Pass the tax event type code derived into event class rec instead of that fetched from zx_lines_det_factors
14092          zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index):=p_event_class_rec.tax_event_type_code;
14093 
14094          ZX_TDS_CALC_SERVICES_PUB_PKG.override_detail_tax_lines(l_trx_line_index
14095                                                                ,p_event_class_rec
14096                                                                ,l_return_status
14097                                                                );
14098 
14099           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14100             x_return_status := l_return_status;
14101             IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
14102             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14103               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14104                ' RETURN_STATUS = ' || x_return_status);
14105             END IF;
14106             RETURN;
14107           END IF;
14108 
14109         END LOOP;
14110        EXIT WHEN get_overridden_lines%NOTFOUND;
14111     END LOOP;
14112     CLOSE get_overridden_lines;
14113 
14114     IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14115       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14116         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14117     END IF;
14118 
14119    EXCEPTION
14120     WHEN OTHERS THEN
14121        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14122        IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
14123        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14124           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14125        END IF;
14126    END override_detail_tax_lines;
14127 
14128 -----------------------------------------------------------------------
14129 --  PUBLIC PROCEDURE
14130 --  override_tax_lines
14131 --
14132 --  DESCRIPTION
14133 --  Wrapper procedure to call the procedures to override detail and summary tax lines
14134 --
14135 --  CALLED BY
14136 --    ZX_API_PUB.override_tax
14137 -----------------------------------------------------------------------
14138  PROCEDURE override_tax_lines(
14139  p_event_class_rec IN  OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
14140  p_override_level  IN  VARCHAR2,
14141  x_return_status   OUT NOCOPY VARCHAR2
14142  ) IS
14143   l_api_name                    CONSTANT VARCHAR2(30) := 'OVERRIDE_TAX_LINES';
14144   l_return_status               VARCHAR2(30);
14145   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
14146   l_ptnr_tax_lines_insert       NUMBER;    -- Bug 5332192
14147 
14148   /* Get all the tax lines inserted during override_tax_lines for external tax provider */
14149  CURSOR dtl_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
14150  SELECT distinct
14151         zdtlg.tax_regime_id,
14152         zdtlg.tax_regime_code,
14153         zdtlg.tax_provider_id,
14154         regimes.effective_from,
14155         regimes.effective_to
14156    FROM ZX_DETAIL_TAX_LINES_GT zdtlg,
14157         ZX_REGIMES_B regimes
14158    WHERE zdtlg.application_id = p_event_class_rec.application_id
14159      AND zdtlg.entity_code = p_event_class_rec.entity_code
14160      AND zdtlg.event_class_code = p_event_class_rec.event_class_code
14161      AND zdtlg.trx_id = p_event_class_rec.trx_id
14162      AND regimes.tax_regime_id = zdtlg.tax_regime_id;
14163 
14164  dtl_tax_lines_rec  dtl_tax_lines_csr%ROWTYPE;
14165 
14166 
14167  BEGIN
14168    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14169      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14170    END IF;
14171    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14172 
14173    /*--------------------------------------------------+
14174     |   Call Service Type Override Summary or Override |
14175     |   Detail Tax Lines depending of the overriding   |
14176     |   level.                                         |
14177     +--------------------------------------------------*/
14178     IF p_override_level = 'SUMMARY_OVERRIDE' THEN
14179        override_summary_tax_lines(p_event_class_rec,
14180                                   l_return_status
14181                                   );
14182        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14183          x_return_status := l_return_status;
14184          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14185             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14186             ' RETURN_STATUS = ' || x_return_status);
14187          END IF;
14188          RETURN;
14189        END IF;
14190      ELSIF p_override_level = 'DETAIL_OVERRIDE' THEN
14191        override_detail_tax_lines(p_event_class_rec,
14192                                  l_return_status
14193                                 );
14194        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14195          x_return_status := l_return_status;
14196          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14197             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14198             ' RETURN_STATUS = ' || x_return_status);
14199          END IF;
14200          RETURN;
14201        END IF;
14202      END IF;
14203      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14204        x_return_status := l_return_status;
14205        RETURN;
14206      END IF;
14207 
14208      /****************************PARTNER CODE START****************/
14209      IF p_event_class_rec.record_flag ='Y' AND
14210         p_event_class_rec.record_for_partners_flag = 'Y' THEN
14211 
14212         /*Commented due to GSCC error - need to provide all column names for insert
14213         INSERT INTO ZX_DETAIL_TAX_LINES_GT
14214    	     SELECT * from ZX_LINES
14215 	     WHERE application_id = p_event_class_rec.application_id
14216              AND entity_code = p_event_class_rec.entity_code
14217              AND event_class_code = p_event_class_rec.event_class_code
14218              AND trx_id = p_event_class_rec.trx_id
14219     	     AND tax_provider_id is not null;
14220         */
14221         insert_detail_tax_lines_gt(p_event_class_rec => p_event_class_rec,
14222                                    p_sync_with_prvdr_flag => 'Y',
14223                                    p_ptnr_tax_lines_insert => l_ptnr_tax_lines_insert,
14224                                    x_return_status   => l_return_status
14225                                    );
14226 
14227         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14228             x_return_status := l_return_status;
14229             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14230               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14231                ' RETURN_STATUS = ' || x_return_status);
14232             END IF;
14233             RETURN;
14234         END IF;
14235 
14236         IF l_ptnr_tax_lines_insert = 0 THEN
14237             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14238               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14239                ' No Tax Partner line needs to be synchronized.');
14240             END IF;
14241             RETURN;
14242         END IF;
14243 
14244         FOR dtl_tax_lines_rec IN dtl_tax_lines_csr(p_event_class_rec)
14245         LOOP
14246           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(dtl_tax_lines_rec.tax_regime_id) THEN
14247             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_regime_id := dtl_tax_lines_rec.tax_regime_id;
14248             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_regime_code := dtl_tax_lines_rec.tax_regime_code;
14249             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_provider_id := dtl_tax_lines_rec.tax_provider_id;
14250 /* Bug 5557565 */
14251             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).effective_from := dtl_tax_lines_rec.effective_from;
14252             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).effective_to := dtl_tax_lines_rec.effective_to;
14253             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).partner_processing_flag := 'S';
14254           END IF;
14255         END LOOP;
14256 
14257         FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
14258 
14259 
14260         LOOP
14261          IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
14262             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
14263 
14264 /* Bug 5382069 */
14265             ZX_TPI_SERVICES_PKG.partner_pre_processing (
14266                                 p_tax_regime_id        => l_regime_index
14267                               , p_tax_regime_code      => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code
14268                               , p_tax_provider_id      => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id
14269                               , p_ptnr_processing_flag => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag
14270                               , p_event_class_rec      => p_event_class_rec
14271                               , x_return_status        => l_return_status);
14272 
14273             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14274               x_return_status := l_return_status;
14275               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14276                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14277                  ' RETURN_STATUS = ' || x_return_status);
14278               END IF;
14279               RETURN;
14280             END IF;
14281 
14282             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
14283                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14284                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14285                                                   'DERIVE_HDR_ATTRS',
14286                                                   l_return_status
14287                                                  );
14288 
14289             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14290               x_return_status := l_return_status;
14291               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14292                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14293                  ' RETURN_STATUS = ' || x_return_status);
14294               END IF;
14295               RETURN;
14296             END IF;
14297 
14298             ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14299                                                      ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14300                                                      'SYNCHRONIZE_FOR_TAX',
14301                                                      p_event_class_rec,
14302                                                      l_return_status
14303     	                                             );
14304 
14305             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14306               x_return_status := l_return_status;
14307               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14308                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14309                  ' RETURN_STATUS = ' || x_return_status);
14310               END IF;
14311               RETURN;
14312             END IF;
14313 
14314             ZX_TPI_SERVICES_PKG.ptnr_post_proc_sync_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14315                                                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14316                                                         p_event_class_rec,
14317     	                                                l_return_status
14318                                                        );
14319 
14320             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14321               x_return_status := l_return_status;
14322               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14323                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14324                  ' RETURN_STATUS = ' || x_return_status);
14325               END IF;
14326               RETURN;
14327             END IF;
14328           END IF;--tax_provider_id is not null
14329         END LOOP;
14330       END IF;  --recording flag
14331 
14332      /* RE-INITIALISE SYNCHRONIZATION FLAG in ZX_LINES TO 'N' */
14333      zx_lines_table_handler(p_event_class_rec  => p_event_class_rec,
14334                             p_event            => 'UPDATE',
14335                             p_tax_regime_code  => null,
14336                             p_provider_id      => null,
14337                             x_return_status    => l_return_status
14338                            );
14339 
14340      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14341        x_return_status := l_return_status;
14342        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14343          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14344            ' RETURN_STATUS = ' || x_return_status);
14345        END IF;
14346        RETURN;
14347      END IF;
14348 
14349      /*	The deleted tax lines are inserted into ZX_DETAIL_TAX_LINES_GT
14350         for tax lines synchronization view needed for partner service.
14351         But, eBTax service ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines
14352         creates tax lines for the records remaining in the
14353         ZX_DETAIL_TAX_LINES_GT. This results in tax line not getting
14354         deleted from zx_lines when partner created tax line is deleted.
14355         Hence, following delete is being issued. */
14356 
14357      BEGIN
14358        DELETE FROM ZX_DETAIL_TAX_LINES_GT
14359         WHERE application_id   = p_event_class_rec.application_id
14360           AND entity_code      = p_event_class_rec.entity_code
14361           AND event_class_code = p_event_class_rec.event_class_code
14362           AND trx_id           = p_event_class_rec.trx_id
14363           AND delete_flag      = 'Y';
14364      END;
14365      /***********************PARTNER CODE END***************************/
14366 
14367      /*	If the user has overridden the inclusive tax, then the actual line amount portion is
14368 	    also changed as the included tax in the line amount is changed. This change must be
14369 		communicated to the partner(s) involved as line UPDATE scenario */
14370 
14371      partner_inclusive_tax_override(p_event_class_rec,
14372                                     l_return_status
14373                                     );
14374 
14375      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14376        x_return_status := l_return_status;
14377        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14378           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14379             ' RETURN_STATUS = ' || x_return_status);
14380        END IF;
14381        RETURN;
14382      END IF;
14383 
14384      IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14385        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14386          G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14387      END IF;
14388 
14389  EXCEPTION
14390     WHEN OTHERS THEN
14391        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14392        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14393           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14394        END IF;
14395  END override_tax_lines;
14396 
14397 -----------------------------------------------------------------------
14398 --  PUBLIC PROCEDURE
14399 --  document_level_changes
14400 --
14401 --  DESCRIPTION
14402 --  global_document_update processing
14403 --
14404 --  CALLED BY
14405 --    ZX_API_PUB.global_document_update
14406 -----------------------------------------------------------------------
14407  PROCEDURE document_level_changes
14408   ( x_return_status          OUT NOCOPY VARCHAR2 ,
14409     p_event_class_rec        IN         ZX_API_PUB.event_class_rec_type ,
14410     p_tax_hold_released_code IN         ZX_API_PUB.validation_status_tbl_type
14411   ) IS
14412   l_api_name              CONSTANT VARCHAR2(30):= 'DOCUMENT_LEVEL_CHANGES';
14413   l_return_status         VARCHAR2(30);
14414   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
14415 
14416  BEGIN
14417    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14418      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14419    END IF;
14420    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14421 
14422   /* --------------------------------------------------------------------------------+
14423    |For tax event type UNFREEZE FOR TAX, confirmation from partner is first required |
14424    |since partner may have already reported tax to authority. Hence call to TRL      |
14425    |process is defferred till after partner processing for this case                 |
14426    + -------------------------------------------------------------------------------*/
14427 
14428   /* -------------------------------------------------------+
14429    |  Document level changes                                |
14430    + -------------------------------------------------------*/
14431    IF p_event_class_rec.tax_event_type_code <> 'UNFREEZE_FOR_TAX' THEN    -- Bug 5200373
14432      ZX_TRL_PUB_PKG.document_level_changes(l_return_status,
14433                                            p_event_class_rec,
14434                                            p_tax_hold_released_code
14435                                           );
14436 
14437      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14438        x_return_status := l_return_status;
14439        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14440          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14441            ' RETURN_STATUS = ' || x_return_status);
14442        END IF;
14443        RETURN;
14444      END IF;
14445     END IF;
14446 
14447      /****************************PARTNER CODE START****************/
14448      IF p_event_class_rec.record_flag ='Y' AND
14449         p_event_class_rec.record_for_partners_flag = 'Y' THEN
14450         FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)    -- Bug 5200373
14451         LOOP
14452           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
14453             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
14454             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
14455             -- ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
14456 /* Bug 5557565 */
14457             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
14458             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
14459             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'C';
14460           END IF;
14461           --Bug 9252613
14462           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
14463 
14464           --Bug 8532463
14465           ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code,
14466                                                      ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id,
14467                                                      'DOCUMENT_LEVEL_CHANGES',   -- Bug 5200373
14468                                                      p_event_class_rec,
14469                                                      l_return_status
14470        	                                           );
14471 
14472           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14473               x_return_status := l_return_status;
14474               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14475                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14476                  ' RETURN_STATUS = ' || x_return_status);
14477               END IF;
14478               RETURN;
14479           END IF;
14480         END LOOP;
14481      END IF;  --recording flag
14482 
14483   /* -------------------------------------------------------+
14484    |  Document level changes                                |
14485    + -------------------------------------------------------*/
14486    IF p_event_class_rec.tax_event_type_code = 'UNFREEZE_FOR_TAX' THEN    -- Bug 5200373
14487      ZX_TRL_PUB_PKG.document_level_changes(l_return_status,
14488                                            p_event_class_rec,
14489                                            p_tax_hold_released_code
14490                                           );
14491 
14492      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14493        x_return_status := l_return_status;
14494        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14495          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14496            ' RETURN_STATUS = ' || x_return_status);
14497        END IF;
14498        RETURN;
14499      END IF;
14500    END IF;
14501 
14502    /***********************PARTNER CODE END***************************/
14503    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14504       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14505    END IF;
14506 
14507  EXCEPTION
14508    WHEN OTHERS THEN
14509        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14510        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14511           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14512        END IF;
14513   END document_level_changes;
14514 
14515 -----------------------------------------------------------------------
14516 --  PUBLIC PROCEDURE
14517 --  Mark_Tax_Lines_Deleted
14518 --
14519 --  DESCRIPTION
14520 --  Mark_Tax_Lines_Deleted processing
14521 --
14522 --  CALLED BY
14523 --    ZX_API_PUB.Mark_Tax_Lines_Deleted
14524 -----------------------------------------------------------------------
14525  PROCEDURE mark_tax_lines_deleted (
14526    p_trx_line_rec  IN         ZX_API_PUB.TRANSACTION_LINE_REC_TYPE ,
14527    x_return_status OUT NOCOPY VARCHAR2
14528  ) IS
14529  l_api_name          CONSTANT VARCHAR2(30) := 'MARK_TAX_LINES_DELETED';
14530  l_return_status     VARCHAR2(30);
14531  l_context_info_rec  ZX_API_PUB.context_info_rec_type;
14532 
14533  BEGIN
14534    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14535      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14536    END IF;
14537    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14538 
14539   /* -------------------------------------------------------+
14540    |  Mark Tax Lines Delete                                 |
14541    + -------------------------------------------------------*/
14542    ZX_TRL_PUB_PKG.mark_tax_lines_delete(l_return_status,p_trx_line_rec);
14543 
14544    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14545      x_return_status := l_return_status;
14546      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14547        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14548            ' RETURN_STATUS = ' || x_return_status);
14549      END IF;
14550      RETURN;
14551    END IF;
14552 
14553    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14554      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14555    END IF;
14556 
14557  EXCEPTION
14558    WHEN OTHERS THEN
14559        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14560        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14561           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14562        END IF;
14563    END mark_tax_lines_deleted;
14564 
14565 -----------------------------------------------------------------------
14566 --  PUBLIC PROCEDURE
14567 --  reverse_document
14568 --
14569 --  DESCRIPTION
14570 --  Negate the line amount and line quantity and store into zx_lines_det_factors
14571 --
14572 --  CALLED BY
14573 --    ZX_API_PUB.reverse_document
14574 -----------------------------------------------------------------------
14575  PROCEDURE reverse_document
14576   ( p_event_class_rec   IN         ZX_API_PUB.event_class_rec_type,
14577     x_return_status     OUT NOCOPY VARCHAR2
14578   ) IS
14579   l_api_name              CONSTANT VARCHAR2(30):= 'REVERSE_DOCUMENT';
14580   l_return_status         VARCHAR2(30);
14581   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
14582   l_location_type_tbl     ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
14583   l_location_id_tbl       ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
14584   l_ptnr_tax_lines_insert NUMBER;      -- Bug 5332192
14585   i                       NUMBER;
14586 
14587  CURSOR get_rev_info_csr IS
14588    SELECT zl.INTERNAL_ORGANIZATION_ID               ,
14589           zrtlgt.REVERSING_APPLN_ID                 ,
14590           zrtlgt.REVERSING_ENTITY_CODE              ,
14591           zrtlgt.REVERSING_EVNT_CLS_CODE            ,
14592           zl.EVENT_TYPE_CODE                        ,
14593           zrtlgt.REVERSING_TRX_ID                   ,
14594           zrtlgt.REVERSING_TRX_LEVEL_TYPE           ,
14595           zrtlgt.REVERSING_TRX_LINE_ID              ,
14596           zl.LINE_LEVEL_ACTION                      ,
14597           -- Modified the logic of populating Line Class for Bug#13853611
14598           --zl.LINE_CLASS                             ,
14599           DECODE(zrtlgt.REVERSING_APPLN_ID,200,'AP_CREDIT_MEMO',NULL) LINE_CLASS,
14600           zl.TRX_DATE                               ,
14601           zl.TRX_DOC_REVISION                       ,
14602           zl.LEDGER_ID                              ,
14603           zl.TRX_CURRENCY_CODE                      ,
14604           zl.CURRENCY_CONVERSION_DATE               ,
14605           zl.CURRENCY_CONVERSION_RATE               ,
14606           zl.CURRENCY_CONVERSION_TYPE               ,
14607           zl.MINIMUM_ACCOUNTABLE_UNIT               ,
14608           zl.PRECISION                              ,
14609           zl.TRX_LINE_CURRENCY_CODE                 ,
14610           zl.TRX_LINE_CURRENCY_CONV_DATE            ,
14611           zl.TRX_LINE_CURRENCY_CONV_RATE            ,
14612           zl.TRX_LINE_CURRENCY_CONV_TYPE            ,
14613           zl.TRX_LINE_MAU                           ,
14614           zl.TRX_LINE_PRECISION                     ,
14615           zl.TRX_SHIPPING_DATE                      ,
14616           zl.TRX_RECEIPT_DATE                       ,
14617           zl.LEGAL_ENTITY_ID                        ,
14618           zl.ESTABLISHMENT_ID                       ,
14619           zl.TRX_LINE_TYPE                          ,
14620           zl.TRX_LINE_DATE                          ,
14621           zl.TRX_BUSINESS_CATEGORY                  ,
14622           zl.LINE_INTENDED_USE                      ,
14623           zl.USER_DEFINED_FISC_CLASS                ,
14624           -zl.LINE_AMT                              ,
14625           -zl.TRX_LINE_QUANTITY                     ,
14626           zl.UNIT_PRICE                             ,
14627           zl.EXEMPT_CERTIFICATE_NUMBER              ,
14628           zl.EXEMPT_REASON                          ,
14629           zl.CASH_DISCOUNT                          ,
14630           zl.VOLUME_DISCOUNT                        ,
14631           zl.TRADING_DISCOUNT                       ,
14632           zl.TRANSFER_CHARGE                        ,
14633           zl.TRANSPORTATION_CHARGE                  ,
14634           zl.INSURANCE_CHARGE                       ,
14635           zl.OTHER_CHARGE                           ,
14636           zl.PRODUCT_ID                             ,
14637           zl.PRODUCT_FISC_CLASSIFICATION            ,
14638           zl.PRODUCT_ORG_ID                         ,
14639           zl.UOM_CODE                               ,
14640           zl.PRODUCT_TYPE                           ,
14641           zl.PRODUCT_CODE                           ,
14642           zl.PRODUCT_CATEGORY                       ,
14643           zl.TRX_SIC_CODE                           ,
14644           zl.FOB_POINT                              ,
14645           zl.SHIP_TO_LOCATION_ID                    ,
14646           zl.SHIP_FROM_LOCATION_ID                  ,
14647           zl.POA_LOCATION_ID                        ,
14648           zl.POO_LOCATION_ID                        ,
14649           zl.BILL_TO_LOCATION_ID                    ,
14650           zl.BILL_FROM_LOCATION_ID                  ,
14651           zl.ACCOUNT_CCID                           ,
14652           zl.ACCOUNT_STRING                         ,
14653           zl.MERCHANT_PARTY_COUNTRY                 ,
14654           zl.RECEIVABLES_TRX_TYPE_ID                ,
14655           zl.REF_DOC_APPLICATION_ID                 ,
14656           zl.REF_DOC_ENTITY_CODE                    ,
14657           zl.REF_DOC_EVENT_CLASS_CODE               ,
14658           zl.REF_DOC_TRX_ID                         ,
14659           zl.REF_DOC_LINE_ID                        ,
14660           zl.REF_DOC_LINE_QUANTITY                  ,
14661           zl.RELATED_DOC_APPLICATION_ID             ,
14662           zl.RELATED_DOC_ENTITY_CODE                ,
14663           zl.RELATED_DOC_EVENT_CLASS_CODE           ,
14664           zl.RELATED_DOC_TRX_ID                     ,
14665           zl.RELATED_DOC_NUMBER                     ,
14666           zl.RELATED_DOC_DATE                       ,
14667           zl.ADJUSTED_DOC_NUMBER                    ,
14668           zl.ADJUSTED_DOC_DATE                      ,
14669           zl.APPLIED_TO_APPLICATION_ID              ,
14670           zl.APPLIED_TO_ENTITY_CODE                 ,
14671           zl.APPLIED_TO_EVENT_CLASS_CODE            ,
14672           zl.APPLIED_TO_TRX_ID                      ,
14673           zl.APPLIED_TO_TRX_LINE_ID                 ,
14674           zl.TRX_ID_LEVEL2                          ,
14675           zl.TRX_ID_LEVEL3                          ,
14676           zl.TRX_ID_LEVEL4                          ,
14677           zl.TRX_ID_LEVEL5                          ,
14678           zl.TRX_ID_LEVEL6                          ,
14679           zrthgt.TRX_NUMBER                         ,
14680           zrthgt.TRX_DESCRIPTION                    ,
14681           zl.TRX_LINE_NUMBER                        ,
14682           zrtlgt.TRX_LINE_DESCRIPTION               ,
14683           zrtlgt.PRODUCT_DESCRIPTION                ,
14684           zrtlgt.TRX_WAYBILL_NUMBER                 ,
14685           zrthgt.TRX_COMMUNICATED_DATE              ,
14686           zrtlgt.TRX_LINE_GL_DATE                   ,
14687           zrthgt.BATCH_SOURCE_ID                    ,
14688           zrthgt.BATCH_SOURCE_NAME                  ,
14689           zrthgt.DOC_SEQ_ID                         ,
14690           zrthgt.DOC_SEQ_NAME                       ,
14691           zrthgt.DOC_SEQ_VALUE                      ,
14692           zrthgt.TRX_DUE_DATE                       ,
14693           zrthgt.TRX_TYPE_DESCRIPTION               ,
14694           zl.MERCHANT_PARTY_NAME                    ,
14695           zl.MERCHANT_PARTY_DOCUMENT_NUMBER         ,
14696           zl.MERCHANT_PARTY_REFERENCE               ,
14697           zl.MERCHANT_PARTY_TAXPAYER_ID             ,
14698           zl.MERCHANT_PARTY_TAX_REG_NUMBER          ,
14699           zl.PAYING_LOCATION_ID                     ,
14700           zl.OWN_HQ_LOCATION_ID                     ,
14701           zl.TRADING_HQ_LOCATION_ID                 ,
14702           zl.POC_LOCATION_ID                        ,
14703           zl.POI_LOCATION_ID                        ,
14704           zl.POD_LOCATION_ID                        ,
14705           zl.TITLE_TRANSFER_LOCATION_ID             ,
14706           zl.ASSESSABLE_VALUE                       ,
14707           zl.ASSET_FLAG                             ,
14708           zl.ASSET_NUMBER                           ,
14709           zl.ASSET_ACCUM_DEPRECIATION               ,
14710           zl.ASSET_TYPE                             ,
14711           zl.ASSET_COST                             ,
14712           zl.NUMERIC1                               ,
14713           zl.NUMERIC2                               ,
14714           zl.NUMERIC3                               ,
14715           zl.NUMERIC4                               ,
14716           zl.NUMERIC5                               ,
14717           zl.NUMERIC6                               ,
14718           zl.NUMERIC7                               ,
14719           zl.NUMERIC8                               ,
14720           zl.NUMERIC9                               ,
14721           zl.NUMERIC10                              ,
14722           zl.CHAR1                                  ,
14723           zl.CHAR2                                  ,
14724           zl.CHAR3                                  ,
14725           zl.CHAR4                                  ,
14726           zl.CHAR5                                  ,
14727           zl.CHAR6                                  ,
14728           zl.CHAR7                                  ,
14729           zl.CHAR8                                  ,
14730           zl.CHAR9                                  ,
14731           zl.CHAR10                                 ,
14732           zl.DATE1                                  ,
14733           zl.DATE2                                  ,
14734           zl.DATE3                                  ,
14735           zl.DATE4                                  ,
14736           zl.DATE5                                  ,
14737           zl.DATE6                                  ,
14738           zl.DATE7                                  ,
14739           zl.DATE8                                  ,
14740           zl.DATE9                                  ,
14741           zl.DATE10                                 ,
14742           zl.FIRST_PTY_ORG_ID                       ,
14743           zl.TAX_EVENT_CLASS_CODE                   ,
14744           zl.TAX_EVENT_TYPE_CODE                    ,
14745           zl.DOC_EVENT_STATUS                       ,
14746           zl.RDNG_SHIP_TO_PTY_TX_PROF_ID            ,
14747           zl.RDNG_SHIP_FROM_PTY_TX_PROF_ID          ,
14748           zl.RDNG_BILL_TO_PTY_TX_PROF_ID            ,
14749           zl.RDNG_BILL_FROM_PTY_TX_PROF_ID          ,
14750           zl.RDNG_SHIP_TO_PTY_TX_P_ST_ID            ,
14751           zl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID          ,
14752           zl.RDNG_BILL_TO_PTY_TX_P_ST_ID            ,
14753           zl.RDNG_BILL_FROM_PTY_TX_P_ST_ID          ,
14754           zl.SHIP_TO_PARTY_TAX_PROF_ID              ,
14755           zl.SHIP_FROM_PARTY_TAX_PROF_ID            ,
14756           zl.POA_PARTY_TAX_PROF_ID                  ,
14757           zl.POO_PARTY_TAX_PROF_ID                  ,
14758           zl.PAYING_PARTY_TAX_PROF_ID               ,
14759           zl.OWN_HQ_PARTY_TAX_PROF_ID               ,
14760           zl.TRADING_HQ_PARTY_TAX_PROF_ID           ,
14761           zl.POI_PARTY_TAX_PROF_ID                  ,
14762           zl.POD_PARTY_TAX_PROF_ID                  ,
14763           zl.BILL_TO_PARTY_TAX_PROF_ID              ,
14764           zl.BILL_FROM_PARTY_TAX_PROF_ID            ,
14765           zl.TITLE_TRANS_PARTY_TAX_PROF_ID          ,
14766           zl.SHIP_TO_SITE_TAX_PROF_ID               ,
14767           zl.SHIP_FROM_SITE_TAX_PROF_ID             ,
14768           zl.POA_SITE_TAX_PROF_ID                   ,
14769           zl.POO_SITE_TAX_PROF_ID                   ,
14770           zl.PAYING_SITE_TAX_PROF_ID                ,
14771           zl.OWN_HQ_SITE_TAX_PROF_ID                ,
14772           zl.TRADING_HQ_SITE_TAX_PROF_ID            ,
14773           zl.POI_SITE_TAX_PROF_ID                   ,
14774           zl.POD_SITE_TAX_PROF_ID                   ,
14775           zl.BILL_TO_SITE_TAX_PROF_ID               ,
14776           zl.BILL_FROM_SITE_TAX_PROF_ID             ,
14777           zl.TITLE_TRANS_SITE_TAX_PROF_ID           ,
14778           zl.MERCHANT_PARTY_TAX_PROF_ID             ,
14779           zrthgt.DOCUMENT_SUB_TYPE                  ,
14780           zrthgt.SUPPLIER_TAX_INVOICE_NUMBER        ,
14781           zrthgt.SUPPLIER_TAX_INVOICE_DATE          ,
14782           zrthgt.SUPPLIER_EXCHANGE_RATE             ,
14783           zrthgt.TAX_INVOICE_DATE                   ,
14784           zrthgt.TAX_INVOICE_NUMBER                 ,
14785           zl.LINE_AMT_INCLUDES_TAX_FLAG             ,
14786           zl.DEFAULT_TAXATION_COUNTRY               ,
14787           zl.HISTORICAL_FLAG                        ,
14788           zl.INTERNAL_ORG_LOCATION_ID               ,
14789           zl.CTRL_HDR_TX_APPL_FLAG                  ,
14790           zl.CTRL_TOTAL_HDR_TX_AMT                  ,
14791           zl.CTRL_TOTAL_LINE_TX_AMT                 ,
14792           zl.PORT_OF_ENTRY_CODE                     ,
14793           zl.TAX_REPORTING_FLAG                     ,
14794           zl.INPUT_TAX_CLASSIFICATION_CODE          ,
14795           zl.OUTPUT_TAX_CLASSIFICATION_CODE         ,
14796           null TAX_AMT_REPORTING_FLAG               ,
14797           null COMPOUNDING_TAX_FLAG                 ,
14798           zl.SHIP_THIRD_PTY_ACCT_SITE_ID            ,
14799           zl.BILL_THIRD_PTY_ACCT_SITE_ID            ,
14800           zl.SHIP_TO_CUST_ACCT_SITE_USE_ID          ,
14801           zl.BILL_TO_CUST_ACCT_SITE_USE_ID          ,
14802           null DIST_LEVEL_ACTION                    ,
14803           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
14804           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
14805           to_number(null) TASK_ID                   ,
14806           to_number(null) AWARD_ID                  ,
14807           to_number(null) PROJECT_ID                ,
14808           null EXPENDITURE_TYPE                     ,
14809           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
14810           null EXPENDITURE_ITEM_DATE                ,
14811           to_number(null) TRX_LINE_DIST_AMT         ,
14812           to_number(null) TRX_LINE_DIST_QUANTITY    ,
14813           to_number(null) REF_DOC_CURR_CONV_RATE    ,
14814           to_number(null) ITEM_DIST_NUMBER          ,
14815           to_number(null) REF_DOC_DIST_ID           ,
14816           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
14817           to_number(null) TRX_LINE_DIST_ID          ,
14818           APPLIED_FROM_APPLICATION_ID               ,
14819           APPLIED_FROM_EVENT_CLASS_CODE             ,
14820           APPLIED_FROM_ENTITY_CODE                  ,
14821           APPLIED_FROM_TRX_ID                       ,
14822           APPLIED_FROM_LINE_ID                      ,
14823           APPLIED_FROM_TRX_NUMBER                   ,
14824           to_number(null) APPLIED_FROM_DIST_ID      ,
14825           ADJUSTED_DOC_APPLICATION_ID               ,
14826           ADJUSTED_DOC_EVENT_CLASS_CODE             ,
14827           ADJUSTED_DOC_ENTITY_CODE                  ,
14828           ADJUSTED_DOC_TRX_ID                       ,
14829           ADJUSTED_DOC_LINE_ID                      ,
14830           to_number(null) ADJUSTED_DOC_DIST_ID      ,
14831           zl.SOURCE_APPLICATION_ID                  ,
14832           zl.SOURCE_ENTITY_CODE                     ,
14833           zl.SOURCE_EVENT_CLASS_CODE                ,
14834           zl.SOURCE_TRX_ID                          ,
14835           zl.SOURCE_LINE_ID                         ,
14836           zl.SOURCE_TRX_LEVEL_TYPE                  ,
14837           zl.SOURCE_TAX_LINE_ID                     ,
14838           zl.REF_DOC_TRX_LEVEL_TYPE                 ,
14839           zl.APPLIED_TO_TRX_LEVEL_TYPE              ,
14840           zl.APPLIED_FROM_TRX_LEVEL_TYPE            ,
14841           zl.ADJUSTED_DOC_TRX_LEVEL_TYPE            ,
14842           zl.APPLICATION_DOC_STATUS                 ,
14843           zl.HDR_TRX_USER_KEY1                      ,
14844           zl.HDR_TRX_USER_KEY2                      ,
14845           zl.HDR_TRX_USER_KEY3                      ,
14846           zl.HDR_TRX_USER_KEY4                      ,
14847           zl.HDR_TRX_USER_KEY5                      ,
14848           zl.HDR_TRX_USER_KEY6                      ,
14849           zl.LINE_TRX_USER_KEY1                     ,
14850           zl.LINE_TRX_USER_KEY2                     ,
14851           zl.LINE_TRX_USER_KEY3                     ,
14852           zl.LINE_TRX_USER_KEY4                     ,
14853           zl.LINE_TRX_USER_KEY5                     ,
14854           zl.LINE_TRX_USER_KEY6                     ,
14855           zrtlgt.REVERSED_APPLN_ID                  ,
14856           zrtlgt.REVERSED_ENTITY_CODE               ,
14857           zrtlgt.REVERSED_EVNT_CLS_CODE             ,
14858           zrtlgt.REVERSED_TRX_ID                    ,
14859           zrtlgt.REVERSED_TRX_LINE_ID               ,
14860           zrtlgt.REVERSED_TRX_LEVEL_TYPE            ,
14861           zl.EXEMPTION_CONTROL_FLAG                 ,
14862           zl.TAX_CALCULATION_DONE_FLAG              ,
14863           zl.TAX_PROCESSING_COMPLETED_FLAG          ,
14864           zl.USER_UPD_DET_FACTORS_FLAG              ,
14865           zl.EXEMPT_REASON_CODE                     ,
14866           zl.INTERFACE_ENTITY_CODE                  ,
14867           zl.INTERFACE_LINE_ID                      ,
14868           zl.DEFAULTING_ATTRIBUTE1                  ,
14869           zl.DEFAULTING_ATTRIBUTE2                  ,
14870           zl.DEFAULTING_ATTRIBUTE3                  ,
14871           zl.DEFAULTING_ATTRIBUTE4                  ,
14872           zl.DEFAULTING_ATTRIBUTE5                  ,
14873           zl.DEFAULTING_ATTRIBUTE6                  ,
14874           zl.DEFAULTING_ATTRIBUTE7                  ,
14875           zl.DEFAULTING_ATTRIBUTE8                  ,
14876           zl.DEFAULTING_ATTRIBUTE9                  ,
14877           zl.DEFAULTING_ATTRIBUTE10                 ,
14878           zl.HISTORICAL_TAX_CODE_ID                 ,
14879           zl.TOTAL_INC_TAX_AMT                      ,
14880           zl.GLOBAL_ATTRIBUTE_CATEGORY              ,
14881           zl.GLOBAL_ATTRIBUTE1                      ,
14882           zl.HQ_ESTB_PARTY_TAX_PROF_ID              ,
14883           zl.MERCHANT_PARTY_ID                      ,
14884           zl.SHIP_THIRD_PTY_ACCT_ID                 ,
14885           zl.BILL_THIRD_PTY_ACCT_ID                 ,
14886           zl.START_EXPENSE_DATE                     ,
14887           zl.TRX_BATCH_ID                           ,
14888           zl.APPLIED_TO_TRX_NUMBER                  ,
14889           zl.PROVNL_TAX_DETERMINATION_DATE
14890          FROM  ZX_LINES_DET_FACTORS zl,
14891                ZX_REVERSE_TRX_LINES_GT zrtlgt,
14892                ZX_REV_TRX_HEADERS_GT zrthgt
14893         WHERE  zl.trx_id =zrtlgt.reversed_trx_id
14894           AND  zl.application_id = zrtlgt.reversed_appln_id
14895           AND  zl.entity_code = zrtlgt.reversed_entity_code
14896           AND  zl.event_class_code = zrtlgt.reversed_evnt_cls_code
14897           AND  zl.trx_line_id = zrtlgt.reversed_trx_line_id
14898           AND  zl.trx_level_type = zrtlgt.reversed_trx_level_type
14899           AND  zrthgt.reversing_appln_id = zrtlgt.reversing_appln_id
14900           AND  zrthgt.reversing_entity_code = zrtlgt.reversing_entity_code
14901           AND  zrthgt.reversing_evnt_cls_code = zrtlgt.reversing_evnt_cls_code
14902           AND  zrthgt.reversing_trx_id = zrtlgt.reversing_trx_id;
14903 
14904  BEGIN
14905    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14906      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14907    END IF;
14908    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14909 
14910    /* -------------------------------------------------------+
14911    |  Reverse Document                                       |
14912    + -------------------------------------------------------*/
14913    ZX_TDS_CALC_SERVICES_PUB_PKG.reverse_document(p_event_class_rec,
14914                                                  l_return_status
14915                                                 );
14916 
14917    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14918      x_return_status := l_return_status;
14919      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14920        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14921            ' RETURN_STATUS = ' || x_return_status);
14922      END IF;
14923      RETURN;
14924    END IF;
14925   /* -------------------------------------------------------+
14926    |  Fetch into global table                               |
14927    + -------------------------------------------------------*/
14928 
14929    OPEN get_rev_info_csr;
14930     FETCH get_rev_info_csr BULK COLLECT INTO
14931           zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
14932           zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
14933           zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
14934           zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
14935           zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
14936           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
14937           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
14938           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
14939           zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
14940           zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
14941           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
14942           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
14943           zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
14944           zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
14945           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
14946           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
14947           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
14948           zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
14949           zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
14950           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
14951           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
14952           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
14953           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
14954           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
14955           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
14956           zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
14957           zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
14958           zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
14959           zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
14960           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
14961           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
14962           zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
14963           zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
14964           zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
14965           zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
14966           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
14967           zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
14968           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
14969           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
14970           zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
14971           zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
14972           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
14973           zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
14974           zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
14975           zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
14976           zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
14977           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
14978           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
14979           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
14980           zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
14981           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
14982           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
14983           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
14984           zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
14985           zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
14986           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
14987           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
14988           zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
14989           zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
14990           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
14991           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
14992           zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
14993           zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
14994           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
14995           zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
14996           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
14997           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
14998           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
14999           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
15000           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
15001           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
15002           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
15003           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
15004           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
15005           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
15006           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
15007           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
15008           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
15009           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
15010           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
15011           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
15012           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
15013           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
15014           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
15015           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
15016           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
15017           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
15018           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
15019           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
15020           zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
15021           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
15022           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
15023           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
15024           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
15025           zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
15026           zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
15027           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
15028           zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
15029           zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
15030           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
15031           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
15032           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
15033           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
15034           zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
15035           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
15036           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
15037           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
15038           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
15039           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
15040           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
15041           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
15042           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
15043           zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
15044           zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
15045           zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
15046           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
15047           zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
15048           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
15049           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
15050           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
15051           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
15052           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
15053           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
15054           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
15055           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
15056           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
15057           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
15058           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
15059           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
15060           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
15061           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
15062           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
15063           zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
15064           zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
15065           zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
15066           zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
15067           zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
15068           zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
15069           zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
15070           zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
15071           zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
15072           zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
15073           zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
15074           zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
15075           zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
15076           zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
15077           zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
15078           zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
15079           zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
15080           zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
15081           zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
15082           zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
15083           zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
15084           zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
15085           zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
15086           zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
15087           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
15088           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
15089           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
15090           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
15091           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
15092           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
15093           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
15094           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
15095           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
15096           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
15097           zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
15098           zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
15099           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
15100           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
15101           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
15102           zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
15103           zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
15104           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
15105           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
15106           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
15107           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
15108           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
15109           zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
15110           zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
15111           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
15112           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
15113           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
15114           zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
15115           zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
15116           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
15117           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
15118           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
15119           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
15120           zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
15121           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
15122           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
15123           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
15124           zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
15125           zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
15126           zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
15127           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
15128           zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
15129           zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
15130           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
15131           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
15132           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
15133           zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
15134           zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
15135           zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
15136           zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
15137           zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
15138           zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
15139           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
15140           zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
15141           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
15142           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
15143           zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
15144           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
15145           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
15146           zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
15147           zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
15148           zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
15149           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
15150           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
15151           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
15152           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
15153           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
15154           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
15155           zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
15156           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
15157           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
15158           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
15159           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
15160           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
15161           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
15162           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
15163           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
15164           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
15165           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
15166           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
15167           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
15168           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
15169           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
15170           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
15171           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
15172           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
15173           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
15174           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
15175           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
15176           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
15177           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
15178           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
15179           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
15180           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
15181           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
15182           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
15183           zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
15184           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
15185           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
15186           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
15187           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
15188           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
15189           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
15190           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
15191           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
15192           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
15193           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
15194           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
15195           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
15196           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
15197           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
15198           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
15199           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
15200           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
15201           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
15202           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
15203           zx_global_structures_pkg.trx_line_dist_tbl.TAX_CALCULATION_DONE_FLAG,
15204           zx_global_structures_pkg.trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG,
15205           zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
15206           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
15207           zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
15208           zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
15209           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
15210           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
15211           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
15212           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
15213           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
15214           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
15215           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
15216           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
15217           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
15218           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
15219           zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
15220           zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
15221           zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
15222           zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
15223           zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
15224           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
15225           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
15226           zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
15227           zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
15228           zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
15229           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
15230           zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE;
15231    CLOSE get_rev_info_csr;
15232 
15233   /* ---------------------------------------+
15234    |  Print Det Factor columns              |
15235    |  Added debug code for Bug#13853611     |
15236    + ---------------------------------------*/
15237    IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15238      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15239        'Creating Reverse Document.');
15240    END IF;
15241 
15242    IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15243      FOR i IN NVL(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID.FIRST,0)..
15244               NVL(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID.LAST,-99)
15245      LOOP
15246        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15247          'Record:'||TO_CHAR(i)||':- APPLICATION_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID(i))||
15248          ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(i)||
15249          ', EVENT_CLASS_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE(i)||
15250          ', TRX_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(i))||
15251          ', TRX_LINE_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(i))||
15252          ', TRX_LEVEL_TYPE: '||zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(i)||
15253          ', TRX_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(i),'DD-MM-YYYY')||
15254          ', LINE_CLASS: '||zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(i)||
15255          ', LINE_AMT: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(i))||
15256          ', TRX_NUMBER: '||zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER(i)||
15257          ', TRX_DESCRIPTION : '||zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION(i)||
15258          ', TRX_LINE_DESCRIPTION: '||zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i)||
15259          ', TRX_WAYBILL_NUMBER: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i))||
15260          ', TRX_COMMUNICATED_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),'DD-MM-YYYY')||
15261          ', TRX_LINE_GL_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE(i),'DD-MM-YYYY')||
15262          ', TRX_DUE_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE(i),'DD-MM-YYYY')||
15263          ', TRX_TYPE_DESCRIPTION: '||zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i)||
15264          ', DOCUMENT_SUB_TYPE: '||zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i)||
15265          ', REVERSED_APPLN_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID(i))||
15266          ', REVERSED_ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE(i)||
15267          ', REVERSED_EVNT_CLS_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE(i)||
15268          ', REVERSED_TRX_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID(i))||
15269          ', REVERSED_TRX_LINE_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID(i))||
15270          ', REVERSED_TRX_LEVEL_TYPE: '||zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE(i)||
15271          ', BATCH_SOURCE_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID(i))||
15272          ', BATCH_SOURCE_NAME: '||zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME(i)||
15273          ', DOC_SEQ_ID: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID(i))||
15274          ', DOC_SEQ_NAME: '||zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME(i)||
15275          ', DOC_SEQ_VALUE: '||zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE(i)||
15276          ', PRODUCT_DESCRIPTION: '||zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION(i)||
15277          ', SUPPLIER_TAX_INVOICE_NUMBER: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i))||
15278          ', SUPPLIER_TAX_INVOICE_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),'DD-MM-YYYY')||
15279          ', SUPPLIER_EXCHANGE_RATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i))||
15280          ', TAX_INVOICE_DATE: '||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE(i),'DD-MM-YYYY')||
15281          ', TAX_INVOICE_NUMBER'||TO_CHAR(zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER(i))
15282          );
15283      END LOOP;
15284    END IF;
15285 
15286   /* -------------------------------------------------------+
15287    |  Insert into zx_lines_det_factors                      |
15288    + -------------------------------------------------------*/
15289     db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
15290                                 p_event_class_rec    =>  p_event_class_rec,
15291                                 p_insert_index       =>  zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID.FIRST,
15292       	                        x_return_status      =>  l_return_status
15293                                );
15294 
15295     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15296       x_return_status := l_return_status;
15297       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15298         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15299           ' RETURN_STATUS = ' || x_return_status);
15300       END IF;
15301       RETURN;
15302     END IF;
15303 
15304    /****************************PARTNER CODE START****************/
15305    IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' AND
15306       nvl(p_event_class_rec.tax_method_code,'EBTAX') ='EBTAX' AND
15307       p_event_class_rec.record_for_partners_flag = 'Y' THEN
15308 
15309          insert_detail_tax_lines_gt(p_event_class_rec => p_event_class_rec,
15310                                     p_sync_with_prvdr_flag => NULL,
15311                                     p_ptnr_tax_lines_insert => l_ptnr_tax_lines_insert,
15312                                     x_return_status   => l_return_status
15313                                     );
15314 
15315          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15316            x_return_status := l_return_status;
15317            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15318              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15319                ' RETURN_STATUS = ' || x_return_status);
15320            END IF;
15321            RETURN;
15322          END IF;
15323 
15324          /* Bug 5662795 */
15325          IF l_ptnr_tax_lines_insert = 0 THEN
15326             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15327               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15328                ' No Tax Partner line available for reversing.');
15329             END IF;
15330             RETURN;
15331          END IF;
15332 
15333          ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
15334 
15335          FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)
15336          LOOP
15337             IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
15338                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
15339                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
15340                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
15341                /* Bug 5557565 */
15342                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
15343                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
15344                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'C';
15345             END IF;
15346 
15347             /* Bug 5662795 */
15348             ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
15349          END LOOP;
15350 
15351          IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
15352 
15353             FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
15354             LOOP
15355               /* -----------------------------------------------+
15356                |    Call TCM Location Caching API               |
15357                + -----------------------------------------------*/
15358 
15359                prepare_for_loc_caching(l_trx_line_index
15360                            ,p_event_class_rec
15361                            ,l_return_status
15362                             );
15363 
15364                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15365                   x_return_status := l_return_status;
15366                   IF x_return_status = FND_API.G_RET_STS_ERROR THEN
15367                      l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index);
15368                      l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index);
15369                      l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index);
15370                      l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
15371                      l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index);
15372                      l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index);
15373                      ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
15374                   END IF;
15375                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15376                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15377                      ' RETURN_STATUS = ' || x_return_status);
15378                   END IF;
15379                   RETURN;
15380                END IF;
15381             END LOOP;
15382 
15383            /* -----------------------------------------------+
15384             |  Populate the locations GT table               |
15385             + ----------------------------------------------*/
15386 
15387             partner_location_population (p_event_class_rec => p_event_class_rec,
15388                                    x_return_status => l_return_status);
15389 
15390             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15391                x_return_status := l_return_status;
15392                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15393                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15394                   ' RETURN_STATUS = ' || x_return_status);
15395                END IF;
15396                RETURN;
15397             END IF;
15398 
15399             FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
15400             LOOP
15401                ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
15402                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15403                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15404     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
15405                                                    p_event_class_rec,
15406                                                    l_return_status
15407     	                                           );
15408                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15409                   x_return_status := l_return_status;
15410                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15411                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15412                      ' RETURN_STATUS = ' || x_return_status);
15413                   END IF;
15414                   RETURN;
15415                END IF;
15416 
15417                ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
15418                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15419                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15420                                               'DERIVE_HDR_ATTRS',
15421                                               l_return_status
15422                                               );
15423 
15424                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15425                  x_return_status := l_return_status;
15426                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15427                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15428                     ' RETURN_STATUS = ' || x_return_status);
15429                  END IF;
15430                  RETURN;
15431                END IF;
15432                ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
15433                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15434                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15435                                               'DERIVE_LINE_ATTRS',
15436                                               l_return_status
15437                                               );
15438                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15439                  x_return_status := l_return_status;
15440                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15441                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15442                     ' RETURN_STATUS = ' || x_return_status);
15443                  END IF;
15444                  RETURN;
15445                END IF;
15446 
15447                ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15448                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15449                                                  'CALCULATE_TAX',
15450                                                  p_event_class_rec,
15451           	                                 l_return_status
15452                                                 );
15453                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15454                  x_return_status := l_return_status;
15455                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15456                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15457                     ' RETURN_STATUS = ' || x_return_status);
15458                  END IF;
15459                  RETURN;
15460                END IF;
15461 
15462             END LOOP;
15463          END IF;
15464    END IF;
15465   /***********************PARTNER CODE END***************************/
15466 
15467    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15468      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15469        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15470    END IF;
15471 
15472  EXCEPTION
15473    WHEN OTHERS THEN
15474      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15475      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15476           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15477      END IF;
15478    END reverse_document;
15479 
15480 -----------------------------------------------------------------------
15481 --  PUBLIC PROCEDURE
15482 --  reverse_distributions
15483 --
15484 --  DESCRIPTION
15485 --  Reverse_distributions processing
15486 --
15487 --  CALLED BY
15488 --    ZX_API_PUB.reverse_distributions
15489 -----------------------------------------------------------------------
15490  PROCEDURE reverse_distributions
15491   ( x_return_status OUT NOCOPY VARCHAR2
15492   ) IS
15493   l_api_name              CONSTANT VARCHAR2(30) := 'REVERSE_DISTRIBUTIONS';
15494   l_return_status         VARCHAR2(30);
15495   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
15496 
15497  BEGIN
15498    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15499      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15500    END IF;
15501    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15502 
15503   /* -------------------------------------------------------+
15504    |  Reverse Distributions                                 |
15505    + -------------------------------------------------------*/
15506    ZX_TRD_SERVICES_PUB_PKG.reverse_distributions(l_return_status);
15507 
15508    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15509      x_return_status := l_return_status;
15510      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15511         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15512         ' RETURN_STATUS = ' || x_return_status);
15513      END IF;
15514      RETURN;
15515    END IF;
15516 
15517    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15518      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15519        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15520    END IF;
15521 
15522   EXCEPTION
15523     WHEN OTHERS THEN
15524        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15525        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15526           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15527        END IF;
15528   END reverse_distributions;
15529 
15530 -----------------------------------------------------------------------
15531 --  PUBLIC PROCEDURE
15532 --  determine_recovery
15533 --
15534 --  DESCRIPTION
15535 --  determine_recovery processing
15536 --
15537 --  CALLED BY
15538 --    ZX_API_PUB.determine_recovery
15539 -----------------------------------------------------------------------
15540  PROCEDURE determine_recovery
15541   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
15542     x_return_status   OUT NOCOPY VARCHAR2
15543   ) IS
15544   l_api_name           CONSTANT VARCHAR2(30):= 'DETERMINE_RECOVERY';
15545   l_return_status      VARCHAR2(30);
15546   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
15547 
15548  BEGIN
15549    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15550      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15551    END IF;
15552    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15553    l_return_status := FND_API.G_RET_STS_SUCCESS ;
15554 
15555   /* -------------------------------------------------------+
15556    |  Determine recovery                                    |
15557    + -------------------------------------------------------*/
15558 
15559    ZX_TRD_SERVICES_PUB_PKG.determine_recovery(p_event_class_rec,
15560                                               l_return_status
15561                                              );
15562 
15563    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15564      x_return_status := l_return_status;
15565      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15566         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15567         ' RETURN_STATUS = ' || x_return_status);
15568      END IF;
15569      RETURN;
15570    END IF;
15571 
15572    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15573      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15574        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15575    END IF;
15576 
15577   EXCEPTION
15578    WHEN OTHERS THEN
15579      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15580      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15581           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15582      END IF;
15583  END determine_recovery;
15584 
15585 -----------------------------------------------------------------------
15586 --  PUBLIC PROCEDURE
15587 --  override_recovery
15588 --
15589 --  DESCRIPTION
15590 --  override_recovery processing
15591 --
15592 --  CALLED BY
15593 --    ZX_API_PUB.override_recovery
15594 ----------------------------------------------------------------------
15595  PROCEDURE override_recovery
15596   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
15597     x_return_status   OUT NOCOPY VARCHAR2
15598   ) IS
15599   l_api_name          CONSTANT VARCHAR2(30):= 'OVERRIDE_RECOVERY';
15600   l_return_status     VARCHAR2(30);
15601   l_context_info_rec  ZX_API_PUB.context_info_rec_type;
15602 
15603  BEGIN
15604    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15605      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15606    END IF;
15607    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15608 
15609    ZX_TRD_SERVICES_PUB_PKG.override_recovery(p_event_class_rec,
15610                                              x_return_status
15611                                              );
15612 
15613   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15614      x_return_status := l_return_status;
15615      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15616         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15617         ' RETURN_STATUS = ' || x_return_status);
15618      END IF;
15619      RETURN;
15620    END IF;
15621 
15622    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15623      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15624        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15625    END IF;
15626 
15627   EXCEPTION
15628    WHEN OTHERS THEN
15629      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15630      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15631           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15632      END IF;
15633   END override_recovery;
15634 
15635 
15636 -----------------------------------------------------------------------
15637 --  PUBLIC PROCEDURE
15638 --  freeze_distribution_lines
15639 --
15640 --  DESCRIPTION
15641 --  freeze_distribution_lines processing
15642 --
15643 --  CALLED BY
15644 --    ZX_API_PUB.freeze_distribution_lines
15645 ----------------------------------------------------------------------
15646  PROCEDURE freeze_distribution_lines
15647   ( p_event_class_rec IN         ZX_API_PUB.event_class_rec_type ,
15648     x_return_status   OUT NOCOPY VARCHAR2
15649   ) IS
15650   l_api_name          CONSTANT VARCHAR2(30):= 'FREEZE_DISTRIBUTION_LINES';
15651   l_return_status     VARCHAR2(30);
15652   l_context_info_rec  ZX_API_PUB.context_info_rec_type;
15653 
15654  BEGIN
15655    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15656      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15657    END IF;
15658    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15659 
15660   /* -------------------------------------------------------+
15661    |  Freeze tax distributions                              |
15662    + -------------------------------------------------------*/
15663    ZX_TRL_PUB_PKG.freeze_taxdistributions(l_return_status,
15664                                           p_event_class_rec
15665                                          );
15666 
15667   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15668      x_return_status := l_return_status;
15669      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15670         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15671         ' RETURN_STATUS = ' || x_return_status);
15672      END IF;
15673      RETURN;
15674    END IF;
15675 
15676    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15677      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15678        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15679    END IF;
15680 
15681  EXCEPTION
15682    WHEN OTHERS THEN
15683      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15684      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15685           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15686      END IF;
15687   END freeze_distribution_lines;
15688 
15689 -----------------------------------------------------------------------
15690 --  PUBLIC PROCEDURE
15691 --  validate_document_for_tax
15692 --
15693 --  DESCRIPTION
15694 --  validate_document_for_tax processing
15695 --
15696 --  CALLED BY
15697 --    ZX_API_PUB.validate_document_for_tax
15698 ----------------------------------------------------------------------
15699  PROCEDURE validate_document_for_tax
15700   ( p_trx_rec           IN         ZX_API_PUB.TRANSACTION_REC_TYPE ,
15701     p_event_class_rec   IN         ZX_API_PUB.event_class_rec_type ,
15702     x_validation_status OUT NOCOPY VARCHAR2,
15703     x_hold_status_code  OUT NOCOPY ZX_API_PUB.hold_codes_tbl_type ,
15704     x_return_status     OUT NOCOPY VARCHAR2
15705   ) IS
15706   l_api_name             CONSTANT VARCHAR2(30):= 'VALIDATE_DOCUMENT_FOR_TAX';
15707   l_return_status        VARCHAR2(30);
15708   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
15709 
15710  BEGIN
15711    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15712      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15713    END IF;
15714    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15715 
15716   /* -------------------------------------------------------+
15717    |  Validate document for tax                             |
15718    + -------------------------------------------------------*/
15719    ZX_TRD_SERVICES_PUB_PKG.validate_document_for_tax(p_event_class_rec => p_event_class_rec,
15720                                                      p_transaction_rec => p_trx_rec,
15721                                                      x_hold_status     => x_hold_status_code,
15722                                                      x_validate_status => x_validation_status,
15723                                                      x_return_status   => l_return_status
15724                                                     );
15725 
15726   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15727      x_return_status := l_return_status;
15728      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15729         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15730         ' RETURN_STATUS = ' || x_return_status);
15731      END IF;
15732      RETURN;
15733    END IF;
15734 
15735    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15736      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15737        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15738    END IF;
15739 
15740  EXCEPTION
15741    WHEN OTHERS THEN
15742      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15743      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15744           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15745      END IF;
15746    END validate_document_for_tax;
15747 
15748 
15749 -----------------------------------------------------------------------
15750 --  PUBLIC PROCEDURE
15751 --  discard_tax_only_lines
15752 --
15753 --  DESCRIPTION
15754 --  discard_tax_only_lines processing
15755 --
15756 --  CALLED BY
15757 --    ZX_API_PUB.discard_tax_only_lines
15758 ----------------------------------------------------------------------
15759  PROCEDURE discard_tax_only_lines
15760   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
15761     x_return_status   OUT NOCOPY VARCHAR2
15762   ) IS
15763   l_api_name             CONSTANT VARCHAR2(30):= 'DISCARD_TAX_ONLY_LINES';
15764   l_return_status        VARCHAR2(30);
15765   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
15766 
15767 
15768  BEGIN
15769    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15770      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15771    END IF;
15772    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15773 
15774   /* -------------------------------------------------------+
15775    |  Discard tax only lines                                |
15776    + -------------------------------------------------------*/
15777 
15778    ZX_TRL_PUB_PKG.discard_tax_only_lines(l_return_status,
15779                                          p_event_class_rec
15780                                         );
15781 
15782   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15783      x_return_status := l_return_status;
15784      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15785         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15786         ' RETURN_STATUS = ' || x_return_status);
15787      END IF;
15788      RETURN;
15789    END IF;
15790 
15791    /***********************PARTNER CODE START***************************/
15792    IF p_event_class_rec.record_flag ='Y' AND
15793       p_event_class_rec.record_for_partners_flag = 'Y' THEN
15794       FOR prtnr_tax_lines IN prtnr_tax_lines_csr(p_event_class_rec)
15795       LOOP
15796         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(prtnr_tax_lines.tax_regime_id) THEN
15797           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_regime_id := prtnr_tax_lines.tax_regime_id;
15798           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_regime_code := prtnr_tax_lines.tax_regime_code;
15799           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_provider_id := prtnr_tax_lines.tax_provider_id;
15800 /* Bug 5557565 */
15801           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).effective_from := prtnr_tax_lines.effective_from;
15802           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).effective_to := prtnr_tax_lines.effective_to;
15803           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).partner_processing_flag := 'S';
15804         END IF;
15805       END LOOP;
15806 
15807       FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
15808       LOOP
15809         ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
15810                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15811                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15812                                               'DERIVE_HDR_ATTRS',
15813                                               l_return_status
15814                                              );
15815 
15816         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15817           x_return_status := l_return_status;
15818           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15819             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15820              ' RETURN_STATUS = ' || x_return_status);
15821           END IF;
15822           RETURN;
15823         END IF;
15824 
15825         ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15826                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15827                                                  'SYNCHRONIZE_FOR_TAX',
15828                                                  p_event_class_rec,
15829                                                  l_return_status
15830     	                                        );
15831 
15832         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15833           x_return_status := l_return_status;
15834           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15835             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15836              ' RETURN_STATUS = ' || x_return_status);
15837           END IF;
15838           RETURN;
15839         END IF;
15840 
15841         ZX_TPI_SERVICES_PKG.ptnr_post_proc_sync_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
15842                                                     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
15843                                                     p_event_class_rec,
15844                                                     l_return_status
15845        	                                           );
15846 
15847         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15848           x_return_status := l_return_status;
15849           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15850             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15851              ' RETURN_STATUS = ' || x_return_status);
15852           END IF;
15853           RETURN;
15854         END IF;
15855       END LOOP;
15856     END IF;
15857 
15858      /* RE-INITIALISE SYNCHRONIZATION FLAG in ZX_LINES TO 'N' */
15859      zx_lines_table_handler(p_event_class_rec  => p_event_class_rec,
15860                             p_event            => 'UPDATE',
15861                             p_tax_regime_code  => null,
15862                             p_provider_id      => null,
15863                             x_return_status    => l_return_status
15864                            );
15865 
15866      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15867        x_return_status := l_return_status;
15868        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15869          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15870            ' RETURN_STATUS = ' || x_return_status);
15871        END IF;
15872        RETURN;
15873      END IF;
15874 
15875 
15876    /***********************PARTNER CODE END***************************/
15877    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15878      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15879        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15880    END IF;
15881 
15882  EXCEPTION
15883    WHEN OTHERS THEN
15884      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15885      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15886           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15887      END IF;
15888    END discard_tax_only_lines;
15889 
15890 
15891 
15892 -----------------------------------------------------------------------
15893 --  PUBLIC PROCEDURE
15894 --  synchronize_tax
15895 --
15896 --  DESCRIPTION
15897 --  synchronize_tax processing for partners
15898 --
15899 --  CALLED BY
15900 --    ZX_API_PUB.synchronize_tax
15901 ----------------------------------------------------------------------
15902  PROCEDURE synchronize_tax
15903   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
15904     x_return_status   OUT NOCOPY VARCHAR2
15905   ) IS
15906   l_api_name             CONSTANT VARCHAR2(30):= 'SYNCHRONIZE_TAX';
15907   l_return_status        VARCHAR2(30);
15908   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
15909   l_partner_migrated_flag      VARCHAR2(1);
15910   l_provider_id         NUMBER;
15911 
15912  BEGIN
15913    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15914      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15915    END IF;
15916    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15917 
15918   /* -------------------------------------------------------+
15919    |  Discard tax only lines                                |
15920    + -------------------------------------------------------*/
15921    /***********************PARTNER CODE START***************************/
15922    IF p_event_class_rec.record_flag ='Y' AND
15923       p_event_class_rec.record_for_partners_flag = 'Y' THEN
15924       BEGIN
15925         SELECT zxdet.partner_migrated_flag
15926         INTO  l_partner_migrated_flag
15927         FROM zx_lines_det_factors zxdet
15928         WHERE zxdet.application_id = p_event_class_rec.application_id
15929         AND zxdet.entity_code = p_event_class_rec.entity_code
15930         AND zxdet.event_class_code = p_event_class_rec.event_class_code
15931         AND zxdet.trx_id = p_event_class_rec.trx_id
15932         AND rownum = 1;
15933       EXCEPTION WHEN OTHERS THEN
15934        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15935             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15936             'No rows in zx_lines_det_factors for the transaction' );
15937        END IF;
15938        RETURN;
15939       END;
15940 
15941 
15942       IF nvl(l_partner_migrated_flag,'N') = 'N'  THEN
15943 
15944        --
15945       -- bug#7115402- init partner flag
15946       --
15947       ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
15948 
15949       FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)
15950       LOOP
15951         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
15952           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
15953           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
15954           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
15955 /* Bug 5557565 */
15956           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
15957           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
15958           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'S';
15959         END IF;
15960         -- bug#7115402- set partner flag
15961         ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
15962 
15963       END LOOP;
15964       ELSE
15965       --
15966       -- bug#7115402- init partner flag
15967       --
15968       ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
15969 
15970         FOR app_tax_lines IN app_tax_lines_csr2(p_event_class_rec)
15971         LOOP
15972           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
15973           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
15974           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
15975           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
15976 /* Bug 5557565 */
15977           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
15978           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
15979           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'S';
15980         END IF;
15981         -- bug#7115402- set partner flag
15982         ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
15983 
15984       END LOOP;
15985 
15986       END IF;
15987 
15988       -- bug#7115402- execute below loop only if partner
15989       -- flag is set
15990      IF ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag = 'Y' THEN
15991 
15992       FOR l_regime_index IN nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.FIRST,0) .. nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.LAST,-99)
15993       LOOP
15994 
15995        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15996             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15997             ' at the start of the loop');
15998        END IF;
15999       IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.exists(l_regime_index) THEN
16000 
16001        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16002             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16003             ' inside the regime index condition');
16004        END IF;
16005         ZX_tpi_services_pkg.get_service_provider(
16006 p_event_class_rec.application_id, p_event_class_rec.entity_code,
16007 p_event_class_rec.event_class_code,
16008 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
16009 l_provider_id , l_return_status);
16010 
16011        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16012             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16013             ' Provider Id = ' || to_char(l_provider_id));
16014        END IF;
16015 
16016        IF nvl(l_provider_id,0) > 0 THEN
16017        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16018             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16019             ' Before  partner pre processing  ');
16020        END IF;
16021       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id :=
16022 l_provider_id;
16023         ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
16024                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
16025     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
16026     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
16027                                                    p_event_class_rec,
16028                                                    l_return_status
16029                                                   );
16030         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16031            x_return_status := l_return_status;
16032            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16033             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16034              ' RETURN_STATUS = ' || x_return_status);
16035            END IF;
16036            RETURN;
16037         END IF;
16038 
16039        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16040             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16041             ' Before  derive ext attsr');
16042        END IF;
16043 
16044         ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
16045                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
16046                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
16047                                               'DERIVE_HDR_ATTRS',
16048                                               l_return_status
16049                                              );
16050 
16051         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16052           x_return_status := l_return_status;
16053           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16054             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16055              ' RETURN_STATUS = ' || x_return_status);
16056           END IF;
16057           RETURN;
16058         END IF;
16059 
16060        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16061             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16062             ' Before  call partner service');
16063        END IF;
16064          ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
16065                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
16066                                                   'SYNCHRONIZE_FOR_TAX',
16067                                                   p_event_class_rec,
16068                                                   l_return_status
16069     	                                         );
16070 
16071         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16072           x_return_status := l_return_status;
16073           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16074             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16075              ' RETURN_STATUS = ' || x_return_status);
16076           END IF;
16077           RETURN;
16078         END IF;
16079        END IF;
16080        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16081             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16082             ' after the iteratuion');
16083        END IF;
16084        END IF;
16085       END LOOP;
16086        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16087             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16088             ' After partner code ');
16089        END IF;
16090      END IF; -- bug7115402
16091     END IF;  --recording
16092 
16093    /***********************PARTNER CODE END***************************/
16094    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16095      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16096        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16097    END IF;
16098 
16099  EXCEPTION
16100    WHEN OTHERS THEN
16101      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
16102      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
16103           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
16104      END IF;
16105    END synchronize_tax;
16106 
16107 -----------------------------------------------------------------------
16108 --  PUBLIC PROCEDURE
16109 --  insupd_line_det_factors
16110 --
16111 --  DESCRIPTION
16112 --  Called to insert/update to zx_lines_det_factors for products integrating
16113 --  with the Line det factors UI
16114 --
16115 --  CALLED BY
16116 --    ZX_API_PUB.insert_line_det_factors
16117 --    ZX_API_PUB.update_line_det_factors
16118 --    ZX_API_PUB.copy_insert_line_det_factors
16119 ----------------------------------------------------------------------
16120   PROCEDURE insupd_line_det_factors
16121   (
16122    p_event_class_rec          IN  OUT NOCOPY ZX_API_PUB.event_class_rec_type ,
16123    x_return_status            OUT NOCOPY VARCHAR2
16124   )IS
16125 
16126   l_api_name              CONSTANT VARCHAR2(30):= 'INSUPD_LINE_DET_FACTORS';
16127   l_calculation_done_flag VARCHAR2(1);
16128   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
16129   l_return_status         VARCHAR2(1);
16130 
16131  BEGIN
16132   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16133      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16134    END IF;
16135 
16136    x_return_status := FND_API.G_RET_STS_SUCCESS ;
16137 
16138    FOR l_trx_index IN ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST .. ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST
16139      LOOP
16140        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16141          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16142             ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_index)) ||
16143             ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_index)) ||
16144             ', SHIP_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_index)) ||
16145             ', BILL_THIRD_PTY_ACCT_SITE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_index)) ||
16146             ', SHIP_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_index)) ||
16147 	    ', BILL_TO_CUST_ACCT_SITE_USE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_index))||
16148             ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(l_trx_index)||
16149             ', DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(l_trx_index)||
16150             ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_index)||
16151             ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_index)||
16152             ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_index)||
16153             ', PRODUCT_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_index)||
16154             ', ASSESSABLE_VALUE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_index))||
16155             ', TRANSACTION_BIZ_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_index));
16156        END IF;
16157        /* ------------------------------------------------*
16158        |Get location for internal organization           |
16159        * -----------------------------------------------*/
16160        ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
16161                                       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_index),
16162                                       l_return_status
16163                                       );
16164 
16165        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16166          x_return_status := l_return_status;
16167          IF x_return_status = FND_API.G_RET_STS_ERROR THEN
16168            l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
16169            l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
16170            l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
16171            l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
16172            ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
16173          END IF;
16174          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16175            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16176              ' RETURN_STATUS = ' || x_return_status);
16177          END IF;
16178          RETURN;
16179         END IF;
16180 
16181         /*--------------------------------------------------------------------*
16182        |Bug 3687807 - assign line_amt to assessable_value if null           |
16183        * ------------------------------------------------------------------*/
16184        IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_index) is null THEN
16185          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_index) :=
16186 	  		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(l_trx_index);
16187        END IF;
16188 
16189       /*----------------------------------------------*
16190        |Set the tax_processing_completed_flag         |
16191        *---------------------------------------------*/
16192        --PO/iP calls this API at end of tax calculation so this flag should be Y
16193        IF p_event_class_rec.application_id =201 THEN
16194           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_index) := 'Y';
16195        ELSE
16196           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_index) := 'N';
16197        END IF;
16198 
16199        /*----------------------------------------------*
16200         |Retrieve the ptps for the party ids           |
16201         *---------------------------------------------*/
16202         derive_internal_parameters(l_return_status,
16203                                    l_trx_index,
16204                                    p_event_class_rec
16205                                    );
16206 
16207         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16208           x_return_status := l_return_status;
16209           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16210             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16211            ' RETURN_STATUS = ' || x_return_status);
16212           END IF;
16213           RETURN;
16214        END IF;
16215         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16216           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Processing for Transaction Line with APPLICATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID(l_trx_index))||
16217           ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(l_trx_index)||
16218           ', EVENT_CLASS_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_index)|| ', EVENT_TYPE_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_index)||
16219           ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_index))||
16220           ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(l_trx_index))||
16221           ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_index))||
16222           ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_index))||
16223           ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_index)||
16224           ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_index))||
16225           ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(l_trx_index)||
16226           ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_index))||
16227           ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_index)||
16228           ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_index))||
16229           ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_index))||
16230           ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_index)||
16231           ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(l_trx_index)||
16232           ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_index)||
16233           ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(l_trx_index))||
16234           ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(l_trx_index))||
16235           ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_index))||
16236           ', ROUNDING_SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(l_trx_index))||
16237           ', ROUNDING_SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(l_trx_index))||
16238           ', ROUNDING_BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(l_trx_index))||
16239           ', ROUNDING_BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(l_trx_index))||
16240           ', RNDG_SHIP_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID(l_trx_index))||
16241           ', RNDG_SHIP_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID(l_trx_index))||
16242           ', RNDG_BILL_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID(l_trx_index))||
16243           ', RNDG_BILL_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID(l_trx_index))||
16244           ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_index))||
16245           ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(l_trx_index)||
16246           ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(l_trx_index))||
16247           ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_index)||
16248           ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(l_trx_index)||
16249           ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_index)||
16250           ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(l_trx_index))||
16251           ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(l_trx_index))||
16252           ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(l_trx_index))||
16253           ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(l_trx_index)||
16254           ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(l_trx_index)||
16255           ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(l_trx_index)||
16256           ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(l_trx_index)||
16257           ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(l_trx_index)||
16258           ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(l_trx_index)||
16259           ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(l_trx_index)||
16260           ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(l_trx_index)||
16261           ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(l_trx_index)||
16262           ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_index)||
16263           ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(l_trx_index))||
16264           ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_index)||
16265           ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_index))||
16266           ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(l_trx_index)||
16267           ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_index)||
16268           ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(l_trx_index)||
16269           ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_index)||
16270           ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(l_trx_index)||
16271           ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(l_trx_index)||
16272           ', FOB_POINT: '|| zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT(l_trx_index)||
16273           ', SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_index))||
16274           ', SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_index))||
16275           ', POA_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID(l_trx_index))||
16276           ', POO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID(l_trx_index))||
16277           ', BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID(l_trx_index))||
16278           ', BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID(l_trx_index))||
16279           ', MERCHANT_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID(l_trx_index)));
16280         END IF;
16281    END LOOP;
16282   /* ---------------------------------------------------------------------*
16283    |Perform insert/update into database based on the API from where called|
16284    *---------------------------------------------------------------------*/
16285    IF ZX_API_PUB.G_PUB_SRVC IN ('INSERT_LINE_DET_FACTORS','COPY_INSERT_LINE_DET_FACTORS') THEN
16286      --PO/iP calls this API at end of tax calculation so this flag should be Y
16287      IF p_event_class_rec.application_id =201 THEN
16288         p_event_class_rec.tax_calculation_done_flag := 'Y';
16289      ELSE
16290         p_event_class_rec.tax_calculation_done_flag := 'N';
16291      END IF;
16292 
16293      db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
16294                                  p_event_class_rec    =>  p_event_class_rec,
16295                                  p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
16296     	                         x_return_status      =>  l_return_status
16297                                  );
16298      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16299        x_return_status := l_return_status;
16300        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16301          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16302           ' RETURN_STATUS = ' || x_return_status);
16303        END IF;
16304        RETURN;
16305      END IF;
16306    ELSIF ZX_API_PUB.G_PUB_SRVC = 'UPDATE_LINE_DET_FACTORS' THEN
16307 
16308      SELECT tax_calculation_done_flag
16309        INTO p_event_class_rec.tax_calculation_done_flag
16310        FROM ZX_LINES_DET_FACTORS
16311       WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
16312         AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
16313         AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
16314         AND TRX_ID           = p_event_class_rec.TRX_ID
16315         AND ROWNUM           = 1;
16316 
16317       IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' AND
16318          p_event_class_rec.tax_calculation_done_flag = 'N' THEN
16319          p_event_class_rec.TAX_EVENT_TYPE_CODE := 'CREATE';
16320       END IF;
16321 
16322       db_update_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
16323                                   p_event_class_rec    =>  p_event_class_rec,
16324                                   p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
16325                                   x_return_status      =>  l_return_status
16326                                  );
16327 
16328      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16329        x_return_status := l_return_status;
16330        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16331          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16332           ' RETURN_STATUS = ' || x_return_status);
16333        END IF;
16334        RETURN;
16335      END IF;
16336    END IF;
16337 
16338    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16339      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16340        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16341    END IF;
16342  EXCEPTION
16343    WHEN OTHERS THEN
16344      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
16345      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
16346           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
16347      END IF;
16348   END insupd_line_det_factors;
16349 
16350 -----------------------------------------------------------------------
16351 --  PUBLIC PROCEDURE
16352 --  zx_lines_table_handler
16353 --
16354 --  DESCRIPTION
16355 --  Handles inserts/updates/deletes to zx_lines for partner integration
16356 --
16357 --  CALLED BY
16358 --    ZX_API_PUB.ptnr_sync_calc_tax
16359 --    override_tax
16360 ----------------------------------------------------------------------
16361   PROCEDURE zx_lines_table_handler
16362   (
16363    p_event_class_rec          IN  ZX_API_PUB.event_class_rec_type ,
16364    p_event                    IN  VARCHAR2,
16365    p_tax_regime_code          IN  VARCHAR2,
16366    p_provider_id              IN  NUMBER,
16367    x_return_status            OUT NOCOPY VARCHAR2
16368   )IS
16369 
16370   l_api_name              CONSTANT VARCHAR2(30):= 'ZX_LINES_TABLE_HANDLER';
16371   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
16372   l_return_status         VARCHAR2(1);
16373 
16374  BEGIN
16375   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16376      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16377    END IF;
16378 
16379    x_return_status := FND_API.G_RET_STS_SUCCESS ;
16380 
16381    IF p_event ='UPDATE' THEN
16382      UPDATE ZX_LINES
16383        SET sync_with_prvdr_flag ='N'
16384        WHERE  application_id = p_event_class_rec.application_id
16385           AND entity_code = p_event_class_rec.entity_code
16386           AND event_class_code = p_event_class_rec.event_class_code
16387           AND trx_id = p_event_class_rec.trx_id
16388           AND tax_provider_id is not null;
16389    ELSIF p_event = 'DELETE' THEN
16390      DELETE from zx_lines
16391        WHERE application_id    = p_event_class_rec.application_id
16392           AND entity_code      = p_event_class_rec.entity_code
16393           AND event_class_code = p_event_class_rec.event_class_code
16394           AND trx_id           = p_event_class_rec.trx_id
16395           AND tax_regime_code  = p_tax_regime_code;
16396    END IF;
16397 
16398    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16399      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16400        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16401    END IF;
16402 
16403  EXCEPTION
16404    WHEN OTHERS THEN
16405      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
16406      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
16407           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
16408      END IF;
16409   END zx_lines_table_handler;
16410 
16411 -----------------------------------------------------------------------
16412 --  PUBLIC PROCEDURE
16413 --  Get_Tax_Profile_Ids
16414 --
16415 --  DESCRIPTION
16416 --  Populates the party tax profile ids
16417 --
16418 --  CALLED BY
16419 --    derive_internal_parameters
16420 --    ZX_API_PUB.update_det_factors_hdr
16421 ----------------------------------------------------------------------
16422   PROCEDURE Get_Tax_Profile_Ids
16423   (
16424     x_return_status    OUT NOCOPY  VARCHAR2,
16425     p_party_type_Code  IN          VARCHAR2,
16426     p_party_id         IN          NUMBER,
16427     p_party_loc_id     IN          NUMBER,
16428     p_party_site_id    IN          NUMBER,
16429     x_tax_prof_id      OUT NOCOPY  NUMBER
16430   )
16431   IS
16432     l_api_name           CONSTANT VARCHAR2(30):= 'GET_TAX_PROFILE_IDS';
16433     l_party_index        VARCHAR2(100);
16434     l_site_index         VARCHAR2(100);
16435     l_return_status      VARCHAR2(30);
16436 
16437   BEGIN
16438     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16439       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',
16440         G_PKG_NAME||': '||l_api_name||'()+'||
16441         ', Party_id: '||to_char(p_party_id)||
16442         ', Party Type:'||p_party_type_code ||
16443         ', p_party_loc_id: '||to_char(p_party_loc_id)||
16444         ', p_party_site_id: '||to_char(p_party_site_id)
16445         );
16446     END IF;
16447 
16448     x_return_status := FND_API.G_RET_STS_SUCCESS;
16449 
16450     IF p_party_id IS NOT NULL THEN
16451       l_party_index := p_party_type_code||to_char(p_party_id);
16452       IF (p_party_tax_prof_id_tbl.EXISTS(l_party_index)) THEN
16453          x_tax_prof_id := p_party_tax_prof_id_tbl(l_party_index);
16454       ELSE
16455 
16456          ZX_TCM_PTP_PKG.get_ptp(p_party_id
16457                                ,p_Party_Type_Code
16458                                ,zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(1)
16459                                ,p_party_loc_id
16460                                ,x_tax_prof_id
16461                                ,l_return_status
16462                                );
16463 
16464         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16465           x_return_status := l_return_status;
16466           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16467             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16468                    ' RETURN_STATUS = ' || x_return_status);
16469           END IF;
16470           RETURN;
16471         END IF;
16472         p_party_tax_prof_id_tbl(l_party_index) := x_tax_prof_id;
16473       END IF;
16474     END IF;
16475 
16476     IF p_party_site_id IS NOT NULL THEN
16477       l_site_index := p_Party_Type_Code||to_char(p_party_site_id);
16478       IF (p_site_tax_prof_id_tbl.EXISTS(l_site_index)) THEN
16479          x_tax_prof_id := p_site_tax_prof_id_tbl(l_site_index);
16480       ELSE
16481          ZX_TCM_PTP_PKG.get_ptp( p_party_site_id
16482                                ,p_party_type_code
16483                                ,zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(1)
16484                                ,p_party_loc_id
16485                                ,x_tax_prof_id
16486                                ,l_return_status
16487                                );
16488 
16489         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16490           x_return_status := l_return_status;
16491           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16492              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16493                    ' RETURN_STATUS = ' || x_return_status);
16494           END IF;
16495           RETURN;
16496         END IF;
16497         p_site_tax_prof_id_tbl(l_site_index) := x_tax_prof_id;
16498       END IF;
16499     END IF;
16500 
16501     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16502       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16503         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16504     END IF;
16505   END get_tax_profile_ids;
16506 
16507 
16508 -----------------------------------------------------------------------
16509 --  PUBLIC PROCEDURE
16510 --  default_tax_attrs_wrapper
16511 --
16512 --  DESCRIPTION
16513 --  This overloaded procedure acts as a wrapper on TDS default_tax_attribs API to
16514 --  default the tax determining attributes. It follows the following logic for
16515 --  defaulting the determining attributes.
16516 --
16517 --    If adjusted_doc informaiton passed
16518 --      default from adjusted_doc
16519 --    elsif applied_from information passed
16520 --      default from applied_from
16521 --    elsif soure_doc information passed
16522 --      default from source
16523 --    else
16524 --      call the TDM default API
16525 
16526 --  CALLED BY
16527 --    calculate_tax
16528 --    ZX_API_PUB.insert_line_det_factors
16529 --    ZX_API_PUB.get_default_tax_det_atribs(called from populateTaxAttributes)
16530 ----------------------------------------------------------------------
16531 
16532   PROCEDURE default_tax_attrs_wrapper(
16533    p_trx_line_index   IN             NUMBER,
16534    p_event_class_rec  IN             ZX_API_PUB.event_class_rec_type,
16535    x_return_status    OUT NOCOPY     VARCHAR2
16536   )
16537   IS
16538     l_api_name                     CONSTANT VARCHAR2(30):= 'DEFAULT_TAX_ATTRS_WRAPPER';
16539     l_return_status                VARCHAR2(1);
16540     l_tax_classification_code      VARCHAR2(50);
16541     l_intrcmp_src_appln_id         NUMBER;
16542     l_intrcmp_src_entity_code      VARCHAR2(30);
16543     l_intrcmp_src_event_class_code VARCHAR2(30);
16544     l_event_class_rec              ZX_API_PUB.event_class_rec_type;
16545     l_upg_trx_info_rec             ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
16546 
16547   -- Bug 8859101 Starts
16548 
16549   l_default_taxation_country  VARCHAR2(2);
16550   l_doc_sub_type              VARCHAR2(240);
16551   l_tax_invoice_date ZX_LINES_DET_FACTORS.TAX_INVOICE_DATE%TYPE;
16552 
16553   -- Bug 8859101 ends
16554 
16555 
16556   BEGIN
16557     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16558       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16559     END IF;
16560 
16561     x_return_status := FND_API.G_RET_STS_SUCCESS;
16562 
16563     --Defaulting Automation accepts event class rec as IN OUT parameter while it is a IN parameter here
16564     --Hence need to populate event class details into intermediate record l_event_class_rec
16565     --Populating only those used by the defaulting automation API
16566     l_event_class_rec.application_id       := p_event_class_rec.application_id;
16567     l_event_class_rec.entity_code          := p_event_class_rec.entity_code;
16568     l_event_class_rec.event_class_code     := p_event_class_rec.event_class_code;
16569     l_event_class_rec.trx_id               := p_event_class_rec.trx_id;
16570     l_event_class_rec.prod_family_grp_code := p_event_class_rec.prod_family_grp_code;
16571     l_event_class_rec.tax_method_code      := p_event_class_rec.tax_method_code;
16572 
16573     /*If  the adjusted document information is passed with the transaction line, then derive the values
16574       tax determining factors from ZX_LINES_DET_FACTORS for the adjusted document*/
16575     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(p_trx_line_index) is not null THEN
16576       BEGIN
16577         SELECT default_taxation_country,
16578                document_sub_type,
16579                product_category,
16580                trx_business_category,
16581                line_intended_use,
16582                user_defined_fisc_class,
16583                product_fisc_classification,
16584                assessable_value,
16585                product_type,
16586                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16587                                                              'O2C',output_tax_classification_code)
16588          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16589                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16590                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16591                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16592                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16593                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16594                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16595                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16596                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16597                l_tax_classification_code
16598           FROM ZX_LINES_DET_FACTORS
16599          WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index)
16600            AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index)
16601            AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(p_trx_line_index)
16602            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index)
16603            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index)
16604            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index);
16605        EXCEPTION
16606          WHEN NO_DATA_FOUND THEN
16607               l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index);
16608               l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index);
16609               l_upg_trx_info_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(p_trx_line_index);
16610               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index);
16611               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
16612                                                            x_return_status      =>  l_return_status
16613                                                           );
16614               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16615                 x_return_status := l_return_status;
16616                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16617                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16618                     ' RETURN_STATUS = ' || x_return_status);
16619                 END IF;
16620                 RETURN;
16621               END IF;
16622               SELECT default_taxation_country,
16623                      document_sub_type,
16624                      product_category,
16625                      trx_business_category,
16626                      line_intended_use,
16627                      user_defined_fisc_class,
16628                      product_fisc_classification,
16629                      assessable_value,
16630                      product_type,
16631                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16632                                                                    'O2C',output_tax_classification_code)
16633                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16634                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16635                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16636                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16637                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16638                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16639                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16640                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16641                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16642                      l_tax_classification_code
16643                 FROM ZX_LINES_DET_FACTORS
16644                WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index)
16645                  AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index)
16646                  AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(p_trx_line_index)
16647                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index)
16648                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index)
16649                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index);
16650       END;
16651       --upgrade of adjusted doc complete
16652     /*If  the applied from document information is passed with the transaction line, then derive the values
16653      tax determining factors from ZX_LINES_DET_FACTORS for the applied from document*/
16654     ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index) is not null THEN
16655       BEGIN
16656         SELECT default_taxation_country,
16657                document_sub_type,
16658                product_category,
16659                trx_business_category,
16660                line_intended_use,
16661                user_defined_fisc_class,
16662                product_fisc_classification,
16663                assessable_value,
16664                product_type,
16665                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16666                                                              'O2C',output_tax_classification_code)
16667          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16668                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16669                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16670                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16671                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16672                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16673                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16674                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16675                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16676                l_tax_classification_code
16677           FROM ZX_LINES_DET_FACTORS
16678          WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index)
16679            AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index)
16680            AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(p_trx_line_index)
16681            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index)
16682            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_line_id(p_trx_line_index)
16683            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_level_type(p_trx_line_index);
16684        EXCEPTION
16685          WHEN NO_DATA_FOUND THEN
16686               l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index);
16687               l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index);
16688               l_upg_trx_info_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(p_trx_line_index);
16689               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index);
16690               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
16691                                                            x_return_status      =>  l_return_status
16692                                                           );
16693               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16694                 x_return_status := l_return_status;
16695                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16696                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16697                     ' RETURN_STATUS = ' || x_return_status);
16698                 END IF;
16699                 RETURN;
16700               END IF;
16701               SELECT default_taxation_country,
16702                      document_sub_type,
16703                      product_category,
16704                      trx_business_category,
16705                      line_intended_use,
16706                      user_defined_fisc_class,
16707                      product_fisc_classification,
16708                      assessable_value,
16709                      product_type,
16710                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16711                                                                    'O2C',output_tax_classification_code)
16712                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16713                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16714                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16715                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16716                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16717                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16718                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16719                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16720                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16721                      l_tax_classification_code
16722                 FROM ZX_LINES_DET_FACTORS
16723                WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index)
16724                  AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index)
16725                  AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(p_trx_line_index)
16726                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index)
16727                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_line_id(p_trx_line_index)
16728                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_level_type(p_trx_line_index);
16729       END;
16730       --upgrade of applied from doc complete
16731     /*If  the source document information is passed with the transaction line, then derive the values
16732      tax determining factors from ZX_LINES_DET_FACTORS for the source document*/
16733     /*ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_TRX_ID(p_trx_line_index) is not null THEN
16734       BEGIN
16735         --To support intercompany transactions, fetch the intercompany information
16736         --from zx_evnt_cls_mappings
16737         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) = 'INTERCOMPANY_TRX' THEN
16738           /* Bug 5223368 : Used the current document application id, entity code and event class code
16739                            instead of using source document values. */
16740           /* Bug 5666175 :
16741              AP's event classes don't match one-to-one with AR. This has resulted
16742              into an issue when Credit memo is imported during Intercompany xfer.
16743              We are not able to determine the correct intrcmp_src_evnt_cls_code ('CREDIT_MEMO') from the query below as AP has only one event class 'STANDARD INVOICES'
16744              with corresponding intrcmp_src_evnt_cls_code 'INVOICE'.
16745              Since, AR contains invoices, credit memos, debit memos in one entity, assumption here is trx_id will be unique. Hence, omitting event_class_code criteria from query on zx_lines_det_factors.
16746           */
16747 
16748           /*SELECT intrcmp_src_appln_id,
16749                  intrcmp_src_entity_code,
16750                  intrcmp_src_evnt_cls_code
16751             INTO l_intrcmp_src_appln_id,
16752                  l_intrcmp_src_entity_code,
16753                  l_intrcmp_src_event_class_code
16754             FROM ZX_EVNT_CLS_MAPPINGS
16755            WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_trx_line_index)
16756              AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_trx_line_index)
16757              AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_trx_line_index);
16758         END IF;
16759 
16760         SELECT default_taxation_country,
16761                document_sub_type,
16762                product_category,
16763                trx_business_category,
16764                line_intended_use,
16765                user_defined_fisc_class,
16766                product_fisc_classification,
16767                assessable_value,
16768                product_type,
16769                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16770                                                              'O2C',output_tax_classification_code)
16771          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16772                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16773                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16774                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16775                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16776                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16777                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16778                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16779                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16780                l_tax_classification_code
16781           FROM ZX_LINES_DET_FACTORS
16782          WHERE application_id   = nvl(l_intrcmp_src_appln_id,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index))
16783            AND entity_code      = nvl(l_intrcmp_src_entity_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index))
16784 -- Bug 5666175           AND event_class_code = nvl(l_intrcmp_src_event_class_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_trx_line_index))
16785            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index)
16786            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_line_id(p_trx_line_index)
16787            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_level_type(p_trx_line_index);
16788        EXCEPTION
16789          WHEN NO_DATA_FOUND THEN
16790               IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) = 'INTERCOMPANY_TRX' THEN
16791                 l_upg_trx_info_rec.application_id   := l_intrcmp_src_appln_id;
16792                 l_upg_trx_info_rec.entity_code      := l_intrcmp_src_entity_code;
16793                 l_upg_trx_info_rec.event_class_code := l_intrcmp_src_event_class_code;
16794               ELSE
16795                 l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index);
16796                 l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index);
16797                 l_upg_trx_info_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_trx_line_index);
16798               END IF;
16799               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index);
16800               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
16801                                                            x_return_status      =>  l_return_status
16802                                                           );
16803               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16804                 x_return_status := l_return_status;
16805                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16806                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16807                     ' RETURN_STATUS = ' || x_return_status);
16808                 END IF;
16809                 RETURN;
16810               END IF;
16811               SELECT default_taxation_country,
16812                      document_sub_type,
16813                      product_category,
16814                      trx_business_category,
16815                      line_intended_use,
16816                      user_defined_fisc_class,
16817                      product_fisc_classification,
16818                      assessable_value,
16819                      product_type,
16820                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
16821                                                                    'O2C',output_tax_classification_code)
16822                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16823                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16824                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
16825                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
16826                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16827                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
16828                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16829                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
16830                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
16831                      l_tax_classification_code
16832                 FROM ZX_LINES_DET_FACTORS
16833                WHERE application_id   = nvl(l_intrcmp_src_appln_id,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index))
16834                  AND entity_code      = nvl(l_intrcmp_src_entity_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index))
16835                  AND event_class_code = nvl(l_intrcmp_src_event_class_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_trx_line_index))
16836                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index)
16837                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_line_id(p_trx_line_index)
16838                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_level_type(p_trx_line_index);
16839       END;
16840       --upgrade of source document complete
16841    /*If the  Source Document Line identifiers are not passed and also if the adjusted document or
16842      applied from document information is not passed with the transaction line, then derive values
16843      of determining factors based on the defaulting rules setup in eBTax*/
16844     ELSE
16845       --If line already exists in line det factors then default and pass header level attributes
16846       --from that line so that it is not redefaulted again
16847       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null  THEN
16848          IF  l_default_taxation_country is null THEN
16849             BEGIN
16850               SELECT default_taxation_country ,
16851                      document_sub_type,
16852                      tax_invoice_date --Bug8541137
16853                 INTO l_default_taxation_country,
16854                      l_doc_sub_type,
16855                      l_tax_invoice_date --Bug8541137
16856                 FROM ZX_LINES_DET_FACTORS
16857                WHERE application_id   = p_event_class_rec.application_id
16858                  AND entity_code      = p_event_class_rec.entity_code
16859                  AND event_class_code = p_event_class_rec.event_class_code
16860                  AND trx_id           = p_event_class_rec.trx_id
16861                  AND rownum           = 1;
16862             EXCEPTION
16863                WHEN NO_DATA_FOUND THEN
16864                   null;
16865             END;
16866         END IF;
16867         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index):= l_default_taxation_country;
16868         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index)       := l_doc_sub_type;
16869         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_DATE(p_trx_line_index)        := l_tax_invoice_date; --Bug8541137
16870       END IF;
16871 
16872       ZX_DEFAULT_AUTOMATION_PKG.default_tax_attribs (p_trx_line_index    => p_trx_line_index,
16873                                                      p_event_class_rec   => l_event_class_rec,
16874                                                      p_taxation_country  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16875                                                      p_document_sub_type => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
16876                                                      p_tax_invoice_number=> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_NUMBER(p_trx_line_index),
16877                                                      p_tax_invoice_date  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_DATE(p_trx_line_index),
16878                                                      x_return_status     => l_return_status
16879                                                      );
16880       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16881          x_return_status := l_return_status;
16882          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16883            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16884              ' RETURN_STATUS = ' || x_return_status);
16885          END IF;
16886          RETURN;
16887       END IF;
16888     END IF;
16889 
16890     IF l_event_class_rec.prod_family_grp_code = 'P2P' AND
16891        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null THEN
16892          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(p_trx_line_index) := l_tax_classification_code;
16893     ELSIF l_event_class_rec.prod_family_grp_code = 'O2C' AND
16894        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null THEN
16895          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) := l_tax_classification_code;
16896     END IF;
16897 
16898 
16899     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16900       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16901         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16902     END IF;
16903 
16904     EXCEPTION
16905       WHEN OTHERS THEN
16906         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
16907         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
16908           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
16909         END IF;
16910   END default_tax_attrs_wrapper;
16911 
16912  -----------------------------------------------------------------------
16913  --  PUBLIC PROCEDURE
16914  --  get_default_tax_det_attrs
16915  --
16916  --  DESCRIPTION
16917  --  This overloaded procedure acts as a wrapper on TDS default_tax_attribs
16918  --  procedure to default the tax determining attributes. It follows the
16919  --  following logic defaulting the determining attributes.
16920  --
16921  --  Fetch from zx_trx_headers_gt and zx_trx_transaction_lines_gt into
16922  --  global structure zx_global_structures_pkg.trx_line_dist_tbl
16923  --  For records in trx_line_dist_tbl
16924  --  Loop
16925  --   If all of defaulting attributes null (not including tax classification) then
16926  --    If line_level_action is UPDATE
16927  --        Fetch all attributes from zx_lines_det_factors
16928  --          WHEN NO_DATA_FOUND
16929  --            IF event_class_code in ('PO_PA','RELEASE')
16930  --               call on-the-fly upgrade
16931  --            ELSIF user_upd_det_factors_flag = 'N'
16932  --               call RE-defaulting API for intended_use, product_fiscal_classification, product type
16933  --          end --when no-data-found
16934  --        if item/item_org_id/country has changed
16935  --           call RE-defaulting API for intended_use, product_fiscal_classification, product type
16936  --        if item/item_org_id/assessable value has changed
16937  --           call redefaulting API for assessable value
16938  --        if nothing changed copy from determining attrs from zx_lines_det_factors
16939  --        Always call the tax classification defaulting API
16940  --    ELSIF line level action is CREATE
16941  --       IF historical_tax_code_id passed
16942  --          redefault the tax attributes for PO (on the fly migration)
16943  --       elsif historical tax code id null
16944  --          If adjusted_doc informaiton passed
16945  --            default from adjusted_doc
16946  --          elsif applied_from information passed
16947  --            default from applied_from
16948  --          elsif soure_doc information passed
16949  --            default from source
16950  --          else
16951  --            call the TDM default API
16952  --    END IF
16953  -- ELSIF any of defaulting attributes not null and line level action is create
16954  --    if historical_tax_code_id not null  then
16955  --         call just the redefaulting for assessable value
16956  -- END IF
16957  --  End loop
16958  --  Update the GTTs with the defaulting attributes derived here.
16959 
16960  --  CALLED BY
16961  --    ZX_API_PUB.get_default_tax_det_attrs
16962  ----------------------------------------------------------------------
16963  PROCEDURE get_default_tax_det_attrs(
16964   p_event_class_rec       IN            ZX_API_PUB.event_class_rec_type,
16965   x_return_status         OUT NOCOPY    VARCHAR2
16966  )IS
16967   l_api_name             CONSTANT VARCHAR2(30):= 'GET_DEFAULT_TAX_DET_ATTRS';
16968   l_return_status                 VARCHAR2(1);
16969   l_error_buffer                  VARCHAR2(1000);
16970   l_call_default_APIs             BOOLEAN;
16971   l_context_info_rec              ZX_API_PUB.context_info_rec_type;
16972 
16973   CURSOR lines (p_event_class_rec  ZX_API_PUB.event_class_rec_type)is
16974   SELECT   /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1) */
16975           header.INTERNAL_ORGANIZATION_ID           ,
16976           header.APPLICATION_ID                     ,
16977           header.ENTITY_CODE                        ,
16978           header.EVENT_CLASS_CODE                   ,
16979           header.EVENT_TYPE_CODE                    ,
16980           header.TRX_ID                             ,
16981           trxlines.TRX_LEVEL_TYPE                   ,
16982           trxlines.TRX_LINE_ID                      ,
16983           trxlines.LINE_LEVEL_ACTION                ,
16984           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
16985           header.TRX_DATE                           ,
16986           header.TRX_DOC_REVISION                   ,
16987           header.LEDGER_ID                          ,
16988           header.TRX_CURRENCY_CODE                  ,
16989           header.CURRENCY_CONVERSION_DATE           ,
16990           header.CURRENCY_CONVERSION_RATE           ,
16991           header.CURRENCY_CONVERSION_TYPE           ,
16992           header.MINIMUM_ACCOUNTABLE_UNIT           ,
16993           header.PRECISION                          ,
16994           trxlines.TRX_LINE_CURRENCY_CODE           ,
16995           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
16996           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
16997           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
16998           trxlines.TRX_LINE_MAU                     ,
16999           trxlines.TRX_LINE_PRECISION               ,
17000           trxlines.TRX_SHIPPING_DATE                ,
17001           trxlines.TRX_RECEIPT_DATE                 ,
17002           header.LEGAL_ENTITY_ID                    ,
17003           header.ROUNDING_SHIP_TO_PARTY_ID          ,
17004           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
17005           header.ROUNDING_BILL_TO_PARTY_ID          ,
17006           header.ROUNDING_BILL_FROM_PARTY_ID        ,
17007           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
17008           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
17009           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
17010           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
17011           header.ESTABLISHMENT_ID                   ,
17012           trxlines.TRX_LINE_TYPE                    ,
17013           trxlines.TRX_LINE_DATE                    ,
17014           trxlines.TRX_BUSINESS_CATEGORY            ,
17015           trxlines.LINE_INTENDED_USE                ,
17016           trxlines.USER_DEFINED_FISC_CLASS          ,
17017           trxlines.LINE_AMT                         ,
17018           trxlines.TRX_LINE_QUANTITY                ,
17019           trxlines.UNIT_PRICE                       ,
17020           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
17021           trxlines.EXEMPT_REASON                    ,
17022           trxlines.CASH_DISCOUNT                    ,
17023           trxlines.VOLUME_DISCOUNT                  ,
17024           trxlines.TRADING_DISCOUNT                 ,
17025           trxlines.TRANSFER_CHARGE                  ,
17026           trxlines.TRANSPORTATION_CHARGE            ,
17027           trxlines.INSURANCE_CHARGE                 ,
17028           trxlines.OTHER_CHARGE                     ,
17029           trxlines.PRODUCT_ID                       ,
17030           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
17031           trxlines.PRODUCT_ORG_ID                   ,
17032           trxlines.UOM_CODE                         ,
17033           trxlines.PRODUCT_TYPE                     ,
17034           trxlines.PRODUCT_CODE                     ,
17035           trxlines.PRODUCT_CATEGORY                 ,
17036           trxlines.TRX_SIC_CODE                     ,
17037           trxlines.FOB_POINT                        ,
17038           trxlines.SHIP_TO_PARTY_ID                 ,
17039           trxlines.SHIP_FROM_PARTY_ID               ,
17040           trxlines.POA_PARTY_ID                     ,
17041           trxlines.POO_PARTY_ID                     ,
17042           trxlines.BILL_TO_PARTY_ID                 ,
17043           trxlines.BILL_FROM_PARTY_ID               ,
17044           trxlines.MERCHANT_PARTY_ID                ,
17045           trxlines.SHIP_TO_PARTY_SITE_ID            ,
17046           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
17047           trxlines.POA_PARTY_SITE_ID                ,
17048           trxlines.POO_PARTY_SITE_ID                ,
17049           trxlines.BILL_TO_PARTY_SITE_ID            ,
17050           trxlines.BILL_FROM_PARTY_SITE_ID          ,
17051           trxlines.SHIP_TO_LOCATION_ID              ,
17052           trxlines.SHIP_FROM_LOCATION_ID            ,
17053           trxlines.POA_LOCATION_ID                  ,
17054           trxlines.POO_LOCATION_ID                  ,
17055           trxlines.BILL_TO_LOCATION_ID              ,
17056           trxlines.BILL_FROM_LOCATION_ID            ,
17057           trxlines.ACCOUNT_CCID                     ,
17058           trxlines.ACCOUNT_STRING                   ,
17059           trxlines.MERCHANT_PARTY_COUNTRY           ,
17060           header.RECEIVABLES_TRX_TYPE_ID            ,
17061           trxlines.REF_DOC_APPLICATION_ID           ,
17062           trxlines.REF_DOC_ENTITY_CODE              ,
17063           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
17064           trxlines.REF_DOC_TRX_ID                   ,
17065           trxlines.REF_DOC_LINE_ID                  ,
17066           trxlines.REF_DOC_LINE_QUANTITY            ,
17067           header.RELATED_DOC_APPLICATION_ID         ,
17068           header.RELATED_DOC_ENTITY_CODE            ,
17069           header.RELATED_DOC_EVENT_CLASS_CODE       ,
17070           header.RELATED_DOC_TRX_ID                 ,
17071           header.RELATED_DOC_NUMBER                 ,
17072           header.RELATED_DOC_DATE                   ,
17073           trxlines.APPLIED_FROM_APPLICATION_ID      ,
17074           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
17075           trxlines.APPLIED_FROM_ENTITY_CODE         ,
17076           trxlines.APPLIED_FROM_TRX_ID              ,
17077           trxlines.APPLIED_FROM_LINE_ID             ,
17078           trxlines.APPLIED_FROM_TRX_NUMBER          ,
17079           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
17080           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
17081           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
17082           trxlines.ADJUSTED_DOC_TRX_ID              ,
17083           trxlines.ADJUSTED_DOC_LINE_ID             ,
17084           trxlines.ADJUSTED_DOC_NUMBER              ,
17085           trxlines.ADJUSTED_DOC_DATE                ,
17086           trxlines.APPLIED_TO_APPLICATION_ID        ,
17087           trxlines.APPLIED_TO_ENTITY_CODE           ,
17088           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
17089           trxlines.APPLIED_TO_TRX_ID                ,
17090           trxlines.APPLIED_TO_TRX_LINE_ID           ,
17091           trxlines.TRX_ID_LEVEL2                    ,
17092           trxlines.TRX_ID_LEVEL3                    ,
17093           trxlines.TRX_ID_LEVEL4                    ,
17094           trxlines.TRX_ID_LEVEL5                    ,
17095           trxlines.TRX_ID_LEVEL6                    ,
17096           header.TRX_NUMBER                         ,
17097           header.TRX_DESCRIPTION                    ,
17098           trxlines.TRX_LINE_NUMBER                  ,
17099           trxlines.TRX_LINE_DESCRIPTION             ,
17100           trxlines.PRODUCT_DESCRIPTION              ,
17101           trxlines.TRX_WAYBILL_NUMBER               ,
17102           header.TRX_COMMUNICATED_DATE              ,
17103           trxlines.TRX_LINE_GL_DATE                 ,
17104           header.BATCH_SOURCE_ID                    ,
17105           header.BATCH_SOURCE_NAME                  ,
17106           header.DOC_SEQ_ID                         ,
17107           header.DOC_SEQ_NAME                       ,
17108           header.DOC_SEQ_VALUE                      ,
17109           header.TRX_DUE_DATE                       ,
17110           header.TRX_TYPE_DESCRIPTION               ,
17111           trxlines.MERCHANT_PARTY_NAME              ,
17112           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
17113           trxlines.MERCHANT_PARTY_REFERENCE         ,
17114           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
17115           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
17116           trxlines.PAYING_PARTY_ID                  ,
17117           trxlines.OWN_HQ_PARTY_ID                  ,
17118           trxlines.TRADING_HQ_PARTY_ID              ,
17119           trxlines.POI_PARTY_ID                     ,
17120           trxlines.POD_PARTY_ID                     ,
17121           trxlines.TITLE_TRANSFER_PARTY_ID          ,
17122           trxlines.PAYING_PARTY_SITE_ID             ,
17123           trxlines.OWN_HQ_PARTY_SITE_ID             ,
17124           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
17125           trxlines.POI_PARTY_SITE_ID                ,
17126           trxlines.POD_PARTY_SITE_ID                ,
17127           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
17128           trxlines.PAYING_LOCATION_ID               ,
17129           trxlines.OWN_HQ_LOCATION_ID               ,
17130           trxlines.TRADING_HQ_LOCATION_ID           ,
17131           trxlines.POC_LOCATION_ID                  ,
17132           trxlines.POI_LOCATION_ID                  ,
17133           trxlines.POD_LOCATION_ID                  ,
17134           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
17135           trxlines.ASSESSABLE_VALUE                 ,
17136           trxlines.ASSET_FLAG                       ,
17137           trxlines.ASSET_NUMBER                     ,
17138           trxlines.ASSET_ACCUM_DEPRECIATION         ,
17139           trxlines.ASSET_TYPE                       ,
17140           trxlines.ASSET_COST                       ,
17141           trxlines.NUMERIC1                         ,
17142           trxlines.NUMERIC2                         ,
17143           trxlines.NUMERIC3                         ,
17144           trxlines.NUMERIC4                         ,
17145           trxlines.NUMERIC5                         ,
17146           trxlines.NUMERIC6                         ,
17147           trxlines.NUMERIC7                         ,
17148           trxlines.NUMERIC8                         ,
17149           trxlines.NUMERIC9                         ,
17150           trxlines.NUMERIC10                        ,
17151           trxlines.CHAR1                            ,
17152           trxlines.CHAR2                            ,
17153           trxlines.CHAR3                            ,
17154           trxlines.CHAR4                            ,
17155           trxlines.CHAR5                            ,
17156           trxlines.CHAR6                            ,
17157           trxlines.CHAR7                            ,
17158           trxlines.CHAR8                            ,
17159           trxlines.CHAR9                            ,
17160           trxlines.CHAR10                           ,
17161           trxlines.DATE1                            ,
17162           trxlines.DATE2                            ,
17163           trxlines.DATE3                            ,
17164           trxlines.DATE4                            ,
17165           trxlines.DATE5                            ,
17166           trxlines.DATE6                            ,
17167           trxlines.DATE7                            ,
17168           trxlines.DATE8                            ,
17169           trxlines.DATE9                            ,
17170           trxlines.DATE10                           ,
17171           header.FIRST_PTY_ORG_ID                   ,
17172           header.TAX_EVENT_CLASS_CODE               ,
17173           header.TAX_EVENT_TYPE_CODE                ,
17174           header.DOC_EVENT_STATUS                   ,
17175           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
17176           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
17177           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
17178           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
17179           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
17180           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
17181           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
17182           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
17183           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
17184           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
17185           trxlines.POA_PARTY_TAX_PROF_ID            ,
17186           trxlines.POO_PARTY_TAX_PROF_ID            ,
17187           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
17188           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
17189           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
17190           trxlines.POI_PARTY_TAX_PROF_ID            ,
17191           trxlines.POD_PARTY_TAX_PROF_ID            ,
17192           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
17193           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
17194           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
17195           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
17196           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
17197           trxlines.POA_SITE_TAX_PROF_ID             ,
17198           trxlines.POO_SITE_TAX_PROF_ID             ,
17199           trxlines.PAYING_SITE_TAX_PROF_ID          ,
17200           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
17201           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
17202           trxlines.POI_SITE_TAX_PROF_ID             ,
17203           trxlines.POD_SITE_TAX_PROF_ID             ,
17204           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
17205           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
17206           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
17207           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
17208           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
17209           header.DOCUMENT_SUB_TYPE                  ,
17210           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
17211           header.SUPPLIER_TAX_INVOICE_DATE          ,
17212           header.SUPPLIER_EXCHANGE_RATE             ,
17213           header.TAX_INVOICE_DATE                   ,
17214           header.TAX_INVOICE_NUMBER                 ,
17215           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
17216           header.QUOTE_FLAG                         ,
17217           header.DEFAULT_TAXATION_COUNTRY           ,
17218           trxlines.HISTORICAL_FLAG                  ,
17219           header.INTERNAL_ORG_LOCATION_ID           ,
17220           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
17221           header.CTRL_TOTAL_HDR_TX_AMT              ,
17222           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
17223           null DIST_LEVEL_ACTION                    ,
17224           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
17225           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
17226           to_number(null) TASK_ID                   ,
17227           to_number(null) AWARD_ID                  ,
17228           to_number(null) PROJECT_ID                ,
17229           null EXPENDITURE_TYPE                     ,
17230           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
17231           null EXPENDITURE_ITEM_DATE                ,
17232           to_number(null) TRX_LINE_DIST_AMT         ,
17233           to_number(null) TRX_LINE_DIST_QUANTITY    ,
17234           to_number(null) REF_DOC_CURR_CONV_RATE    ,
17235           to_number(null) ITEM_DIST_NUMBER          ,
17236           to_number(null) REF_DOC_DIST_ID           ,
17237           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
17238           to_number(null) TRX_LINE_DIST_ID          ,
17239           to_number(null) APPLIED_FROM_DIST_ID      ,
17240           to_number(null) ADJUSTED_DOC_DIST_ID      ,
17241           to_number(null) OVERRIDING_RECOVERY_RATE  ,
17242           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
17243           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
17244           header.PORT_OF_ENTRY_CODE                 ,
17245           header.TAX_REPORTING_FLAG                 ,
17246           null TAX_AMT_INCLUDED_FLAG                ,
17247           null COMPOUNDING_TAX_FLAG                 ,
17248           header.SHIP_THIRD_PTY_ACCT_ID             ,
17249           header.BILL_THIRD_PTY_ACCT_ID             ,
17250           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
17251           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
17252           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
17253           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
17254           header.PROVNL_TAX_DETERMINATION_DATE      ,
17255           trxlines.START_EXPENSE_DATE               ,
17256           header.TRX_BATCH_ID                       ,
17257           header.APPLIED_TO_TRX_NUMBER              ,
17258           trxlines.SOURCE_APPLICATION_ID            ,
17259           trxlines.SOURCE_ENTITY_CODE               ,
17260           trxlines.SOURCE_EVENT_CLASS_CODE          ,
17261           trxlines.SOURCE_TRX_ID                    ,
17262           trxlines.SOURCE_LINE_ID                   ,
17263           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
17264           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
17265           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
17266           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
17267           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
17268           header.APPLICATION_DOC_STATUS             ,
17269           header.HDR_TRX_USER_KEY1                  ,
17270           header.HDR_TRX_USER_KEY2                  ,
17271           header.HDR_TRX_USER_KEY3                  ,
17272           header.HDR_TRX_USER_KEY4                  ,
17273           header.HDR_TRX_USER_KEY5                  ,
17274           header.HDR_TRX_USER_KEY6                  ,
17275           trxlines.LINE_TRX_USER_KEY1               ,
17276           trxlines.LINE_TRX_USER_KEY2               ,
17277           trxlines.LINE_TRX_USER_KEY3               ,
17278           trxlines.LINE_TRX_USER_KEY4               ,
17279           trxlines.LINE_TRX_USER_KEY5               ,
17280           trxlines.LINE_TRX_USER_KEY6               ,
17281           trxlines.SOURCE_TAX_LINE_ID               ,
17282           trxlines.EXEMPTION_CONTROL_FLAG           ,
17283           to_number(null) REVERSED_APPLN_ID         ,
17284           null REVERSED_ENTITY_CODE                 ,
17285           null REVERSED_EVNT_CLS_CODE               ,
17286           to_number(null) REVERSED_TRX_ID           ,
17287           to_number(null) REVERSED_TRX_LEVEL_TYPE   ,
17288           to_number(null) REVERSED_TRX_LINE_ID      ,
17289           trxlines.EXEMPT_REASON_CODE               ,
17290           trxlines.INTERFACE_ENTITY_CODE            ,
17291           trxlines.INTERFACE_LINE_ID                ,
17292           trxlines.DEFAULTING_ATTRIBUTE1            ,
17293           trxlines.DEFAULTING_ATTRIBUTE2            ,
17294           trxlines.DEFAULTING_ATTRIBUTE3            ,
17295           trxlines.DEFAULTING_ATTRIBUTE4            ,
17296           trxlines.DEFAULTING_ATTRIBUTE5            ,
17297           trxlines.DEFAULTING_ATTRIBUTE6            ,
17298           trxlines.DEFAULTING_ATTRIBUTE7            ,
17299           trxlines.DEFAULTING_ATTRIBUTE8            ,
17300           trxlines.DEFAULTING_ATTRIBUTE9            ,
17301           trxlines.DEFAULTING_ATTRIBUTE10           ,
17302           trxlines.HISTORICAL_TAX_CODE_ID           ,
17303           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
17304           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
17305           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
17306           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
17307           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
17308           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
17309           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
17310           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
17311           trxlines.GLOBAL_ATTRIBUTE1,
17312           to_number(null) TOTAL_INC_TAX_AMT         ,
17313           trxlines.USER_UPD_DET_FACTORS_FLAG
17314       FROM ZX_TRANSACTION_LINES_GT trxlines,
17315            ZX_TRX_HEADERS_GT header
17316       WHERE header.application_id = p_event_class_rec.application_id
17317         AND header.entity_code = p_event_class_rec.entity_code
17318         AND header.event_class_code = p_event_class_rec.event_class_code
17319         AND header.trx_id = p_event_class_rec.trx_id
17320         AND trxlines.application_id = header.application_id
17321         AND trxlines.entity_code = header.entity_code
17322         AND trxlines.event_class_code = header.event_class_code
17323         AND trxlines.trx_id = header.trx_id
17324       ORDER by trxlines.trx_id, trxlines.trx_line_id;
17325 
17326  BEGIN
17327    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
17328       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
17329    END IF;
17330 
17331    x_return_status := FND_API.G_RET_STS_SUCCESS;
17332 
17333    OPEN lines(p_event_class_rec);
17334    LOOP
17335      FETCH lines BULK COLLECT INTO
17336        zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
17337        zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
17338        zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
17339        zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
17340        zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
17341        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
17342        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
17343        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
17344        zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
17345        zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
17346        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
17347        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
17348        zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
17349        zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
17350        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
17351        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
17352        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
17353        zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
17354        zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
17355        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
17356        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
17357        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
17358        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
17359        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
17360        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
17361        zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
17362        zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
17363        zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
17364        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
17365        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
17366        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
17367        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
17368        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
17369        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
17370        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
17371        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
17372        zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
17373        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
17374        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
17375        zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
17376        zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
17377        zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
17378        zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
17379        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
17380        zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
17381        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
17382        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
17383        zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
17384        zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
17385        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
17386        zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
17387        zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
17388        zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
17389        zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
17390        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
17391        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
17392        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
17393        zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
17394        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
17395        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
17396        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
17397        zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
17398        zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
17399        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
17400        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
17401        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
17402        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
17403        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
17404        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
17405        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
17406        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
17407        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
17408        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
17409        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
17410        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
17411        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
17412        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
17413        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
17414        zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
17415        zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
17416        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
17417        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
17418        zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
17419        zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
17420        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
17421        zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
17422        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
17423        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
17424        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
17425        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
17426        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
17427        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
17428        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
17429        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
17430        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
17431        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
17432        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
17433        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
17434        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
17435        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
17436        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
17437        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
17438        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
17439        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
17440        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
17441        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
17442        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
17443        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
17444        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
17445        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
17446        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
17447        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
17448        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
17449        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
17450        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
17451        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
17452        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
17453        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
17454        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
17455        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
17456        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
17457        zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
17458        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
17459        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
17460        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
17461        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
17462        zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
17463        zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
17464        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
17465        zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
17466        zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
17467        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
17468        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
17469        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
17470        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
17471        zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
17472        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
17473        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
17474        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
17475        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
17476        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
17477        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
17478        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
17479        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
17480        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
17481        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
17482        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
17483        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
17484        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
17485        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
17486        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
17487        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
17488        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
17489        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
17490        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
17491        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
17492        zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
17493        zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
17494        zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
17495        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
17496        zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
17497        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
17498        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
17499        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
17500        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
17501        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
17502        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
17503        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
17504        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
17505        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
17506        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
17507        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
17508        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
17509        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
17510        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
17511        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
17512        zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
17513        zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
17514        zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
17515        zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
17516        zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
17517        zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
17518        zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
17519        zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
17520        zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
17521        zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
17522        zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
17523        zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
17524        zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
17525        zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
17526        zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
17527        zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
17528        zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
17529        zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
17530        zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
17531        zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
17532        zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
17533        zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
17534        zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
17535        zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
17536        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
17537        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
17538        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
17539        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
17540        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
17541        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
17542        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
17543        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
17544        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
17545        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
17546        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
17547        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
17548        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
17549        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
17550        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
17551        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
17552        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
17553        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
17554        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
17555        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
17556        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
17557        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
17558        zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
17559        zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
17560        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
17561        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
17562        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
17563        zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
17564        zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
17565        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
17566        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
17567        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
17568        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
17569        zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
17570        zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
17571        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
17572        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
17573        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
17574        zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
17575        zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
17576        zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
17577        zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
17578        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
17579        zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
17580        zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
17581        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
17582        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
17583        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
17584        zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
17585        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
17586        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
17587        zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
17588        zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
17589        zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
17590        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
17591        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
17592        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
17593        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
17594        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
17595        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
17596        zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
17597        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
17598        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
17599        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
17600        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
17601        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
17602        zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
17603        zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
17604        zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
17605        zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
17606        zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
17607        zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
17608        zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
17609        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
17610        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
17611        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
17612        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
17613        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
17614        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
17615        zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
17616        zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
17617        zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
17618        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
17619        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
17620        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
17621        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
17622        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
17623        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
17624        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
17625        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
17626        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
17627        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
17628        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
17629        zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
17630        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
17631        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
17632        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
17633        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
17634        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
17635        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
17636        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
17637        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
17638        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
17639        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
17640        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
17641        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
17642        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
17643        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
17644        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
17645        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
17646        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
17647        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
17648        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
17649        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
17650        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
17651        zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
17652        zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
17653        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
17654        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
17655        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
17656        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
17657        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
17658        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
17659        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
17660        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
17661        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
17662        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
17663        zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
17664        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
17665        zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
17666        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
17667        zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
17668        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID ,
17669        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID ,
17670        zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
17671        zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY ,
17672        zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
17673        zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
17674        zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
17675      LIMIT G_LINES_PER_FETCH;
17676 
17677      FOR l_trx_line_index IN 1 .. nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
17678      LOOP
17679        l_call_default_APIs := decide_call_redefault_APIs (p_trx_line_index  => l_trx_line_index);
17680 
17681        IF l_call_default_APIs THEN
17682          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) = 'UPDATE' THEN
17683 
17684              call_redefaulting_APIs(p_event_class_rec  => p_event_class_rec,
17685                                     p_trx_line_index   => l_trx_line_index,
17686                                     x_return_status    => l_return_status
17687                                    );
17688              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17689                 x_return_status := l_return_status;
17690                IF lines%ISOPEN THEN CLOSE lines; END IF;
17691                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17692                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17693                    ' RETURN_STATUS = ' || x_return_status);
17694                 END IF;
17695                 RETURN;
17696              END IF;
17697          ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) ='CREATE' THEN
17698            --If historical tax code id, global attribute category and global attribute1 have values passed in them
17699            IF  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is not null THEN
17700                /*---------------------------------------------------+
17701                 |   Call TDM API to default the following           |
17702                 |      tax classification,                          |
17703                 |      product fiscal classification,               |
17704                 |      trx biz category                             |
17705                 |      product category                             |
17706                 +---------------------------------------------------*/
17707                 ZX_DEFAULT_AUTOMATION_PKG.default_tax_attributes_for_po(p_trx_line_index => l_trx_line_index,
17708                                                                         x_return_status  => l_return_status
17709                                                                         );
17710 
17711                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17712                   x_return_status := l_return_status;
17713                   IF lines%ISOPEN THEN CLOSE lines; END IF;
17714                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17715                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17716                       ' RETURN_STATUS = ' || x_return_status);
17717                   END IF;
17718                   RETURN;
17719                 END IF;
17720 
17721                 --Set other determining attributes to null
17722                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(l_trx_line_index)       := null;
17723                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(l_trx_line_index) := null;
17724                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index)        := null;
17725                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(l_trx_line_index)       := null;
17726 
17727            --If historical tax code id, global attribute category and global attribute1 passed as null
17728            ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is null  THEN
17729 
17730                  default_tax_attrs_wrapper (p_trx_line_index  => l_trx_line_index,
17731                                             p_event_class_rec => p_event_class_rec,
17732                                             x_return_status   => l_return_status
17733                                             );
17734 
17735                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17736                    x_return_status := l_return_status;
17737                    IF lines%ISOPEN THEN CLOSE lines; END IF;
17738                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17739                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17740                     ' RETURN_STATUS = ' || x_return_status);
17741                    END IF;
17742                    RETURN;
17743                  END IF;
17744                 END IF;  --check on historical_tax_code_id
17745             END IF;  --line_level_action ='UPDATE'/'CREATE'
17746       -- Bugfix 4453246
17747       ELSIF NOT (l_call_default_APIs) AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) = 'CREATE' THEN
17748          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is not null THEN
17749             ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index),
17750                                                                  p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index),
17751                                                                  p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index),
17752                                                                  p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index),
17753                                                                  p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index),
17754                                                                  p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index),
17755                                                                  p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index),
17756                                                                  p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(l_trx_line_index),
17757                                                                  p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index),
17758                                                                  p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(l_trx_line_index),
17759                                                                  x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_line_index),
17760                                                                  x_return_status    => l_return_status
17761                                                                  );
17762              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17763                 x_return_status := l_return_status;
17764                 IF lines%ISOPEN THEN CLOSE lines; END IF;
17765                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17766                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17767                    ' RETURN_STATUS = ' || x_return_status);
17768                 END IF;
17769                 RETURN;
17770              END IF;
17771          END IF;
17772       END IF;   -- l_call_default_APIs
17773     END LOOP; --loop over lines
17774     EXIT WHEN lines%NOTFOUND;
17775    END LOOP;   --cursor
17776    CLOSE lines;
17777 
17778    --Update the zx_transaction_lines_gt and zx_trx_headers_gt with defaulted ATAs
17779 
17780    FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,-99)
17781       UPDATE ZX_TRANSACTION_LINES_GT SET
17782          trx_business_category         = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(i),
17783          line_intended_use             = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(i),
17784          user_defined_fisc_class       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(i),
17785          product_fisc_classification   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(i),
17786          product_category              = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(i),
17787 	 product_type = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_type(i),--Bug 5084653
17788          assessable_value              = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(i),
17789          input_tax_classification_code = decode(p_event_class_rec.prod_family_grp_code,'P2P', ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(i),
17790                                                                                               input_tax_classification_code),
17791          output_tax_classification_code = decode(p_event_class_rec.prod_family_grp_code,'O2C', ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(i),
17792                                                                                               output_tax_classification_code)  ,
17793          user_upd_det_factors_flag = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_upd_det_factors_flag(i)--Bug 5084653
17794       WHERE application_id    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(i)
17795         AND entity_code       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(i)
17796         AND event_class_code  = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(i)
17797         AND trx_id            = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(i)
17798         AND trx_line_id       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(i)
17799         AND trx_level_type    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(i);
17800 
17801    FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,-99)
17802       UPDATE ZX_TRX_HEADERS_GT SET
17803          default_taxation_country = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(i),
17804          document_sub_type    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(i),
17805          tax_invoice_date     = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_date(i),
17806          tax_invoice_number   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_number(i)
17807       WHERE application_id    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(i)
17808         AND entity_code       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(i)
17809         AND event_class_code  = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(i)
17810         AND trx_id            = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(i);
17811 
17812    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
17813       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
17814         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
17815    END IF;
17816 
17817    EXCEPTION
17818      WHEN OTHERS THEN
17819           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
17820           IF lines%ISOPEN THEN CLOSE lines; END IF;
17821           IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
17822               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
17823           END IF;
17824 END get_default_tax_det_attrs;
17825 
17826 
17827 -----------------------------------------------------------------------
17828 --  PUBLIC PROCEDURE
17829 --  decide_call_redefault_APIs
17830 --
17831 --  DESCRIPTION
17832 --  Determine if need to default/redefault tax determining attributes
17833 --  AR always passes the tax classification code
17834 --    default only if all other tax determining attributes are null
17835 --  AP always passes the default taxation country
17836 --    default only if all other tax determining attributes are null
17837 --  All other products will pass some attributes or none
17838 --    default only if all tax determining attributes are null
17839 --
17840 --  CALLED BY
17841 --    calculate_tax
17842 --    get_default_tax_det_attrs
17843 --    ZX_API_PUB.insert_line_det_factors
17844 --    ZX_API_PUB.update_line_det_factors
17845 -----------------------------------------------------------------------
17846 FUNCTION decide_call_redefault_APIs
17847   (p_trx_line_index  IN             BINARY_INTEGER
17848   ) RETURN BOOLEAN IS
17849 
17850   l_api_name                 CONSTANT VARCHAR2(30):= 'DECIDE_CALL_REDEFAULT_APIS';
17851 
17852 BEGIN
17853   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
17854      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
17855   END IF;
17856 
17857    /*IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null AND
17858       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
17859       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
17860       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
17861       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
17862       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
17863       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
17864       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
17865       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null AND
17866       (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null OR
17867        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null) THEN
17868        RETURN TRUE;
17869     */
17870     --Bug 4634195 - Do not consider header level attributes (default_taxation_country and
17871     --document_sub_type for PO
17872     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index) = 201 THEN
17873       IF
17874          -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
17875          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
17876          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
17877          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
17878          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
17879          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
17880          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
17881          RETURN TRUE;
17882       END IF;
17883     END IF;
17884     --Bug 4453246 - Do not consider classification code for decision making
17885     IF --AP passes the taxation country
17886       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
17887       -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
17888       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
17889       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
17890       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
17891       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
17892       -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
17893       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN --AND
17894       --ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null  THEN
17895       RETURN TRUE;
17896     ELSIF --AR/other products may/may not pass the tax classification code
17897       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null AND
17898       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
17899       -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
17900       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
17901       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
17902       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
17903       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
17904       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
17905       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
17906       RETURN TRUE;
17907     ELSE
17908       RETURN FALSE;
17909     END IF;
17910     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
17911       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
17912     END IF;
17913  END decide_call_redefault_APIs;
17914 
17915 -----------------------------------------------------------------------
17916 --  PUBLIC PROCEDURE
17917 --  call_redefaulting_APIs
17918 --
17919 --  DESCRIPTION
17920 --  1) Fetch and populate all determining attributes from zx_lines_det_factors
17921 --  2) If product id or product org id changes call the redefaulting APIs for product
17922 --     fiscal classification and intended use
17923 --  3) If product id, product org id, line amount changes, call the redefaulting APIs
17924 --     for assessable value
17925 --  4) Redefault the tax classification code if product is not AR(AR always passes
17926 --     tax classification code)
17927 --  CALLED BY
17928 --    get_default_tax_det_attrs
17929 --    ZX_API_PUB.update_line_det_factors
17930 -----------------------------------------------------------------------
17931 PROCEDURE call_redefaulting_APIs
17932   (p_event_class_rec IN             ZX_API_PUB.event_class_rec_type,
17933    p_trx_line_index  IN             BINARY_INTEGER,
17934    x_return_status   OUT    NOCOPY  VARCHAR2
17935   ) IS
17936 
17937   l_api_name             CONSTANT VARCHAR2(30):= 'CALL_REDEFAULTING_API';
17938   l_return_status                 VARCHAR2(1);
17939   l_context_info_rec              ZX_API_PUB.context_info_rec_type;
17940   l_document_sub_type             VARCHAR2(240);
17941   l_line_intended_use             VARCHAR2(240);
17942   l_product_fisc_classification   VARCHAR2(240);
17943   l_assessable_value              NUMBER;
17944   l_trx_business_category         VARCHAR2(240);
17945   l_user_defined_fisc_class       VARCHAR2(30);
17946   l_product_category              VARCHAR2(240);
17947   l_user_upd_det_factors_flag     VARCHAR2(1);
17948   l_product_id                    NUMBER;
17949   l_product_org_id                NUMBER;
17950   l_product_type                  VARCHAR2(240);
17951   l_taxation_country              VARCHAR2(2);
17952   l_input_tax_class_code          VARCHAR2(30);
17953   l_output_tax_class_code         VARCHAR2(150);
17954   l_line_amt                      NUMBER;
17955   l_trx_line_id                   NUMBER;
17956   l_redef_tax_class_code_rec      ZX_API_PUB.def_tax_cls_code_info_rec_type;
17957   l_error_buffer                  VARCHAR2(1000);
17958   l_upg_trx_info_rec              ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
17959 
17960   --Bug 8565358
17961   -- reverting the changes done for Bug 7045194
17962   --Bug#7045194
17963   --l_tcc_valid                     NUMBER;
17964 
17965   --Bug#7045194: validate input tax classification code
17966 
17967   --CURSOR validate_input_tcc_csr
17968   --(c_input_tcc                ZX_RATES_B.tax_rate_code%TYPE,
17969    --c_trx_date                 ZX_LINES_DET_FACTORS.trx_date%TYPE,
17970    --c_internal_organization_id ZX_LINES.internal_organization_id%TYPE)
17971   --IS
17972   --SELECT COUNT(1)
17973 --    FROM ZX_INPUT_CLASSIFICATIONS_V
17974 --    WHERE lookup_code  = c_input_tcc
17975 --      AND enabled_flag = 'Y'
17976 --      AND c_trx_date >= start_date_active
17977 --      AND (c_trx_date <= end_date_active
17978 --           OR end_date_active IS NULL)
17979 --      AND org_id IN ( c_internal_organization_id, -99);
17980 
17981   --Bug#7045194: validate output tax classification code
17982 
17983 --  CURSOR validate_output_tcc_csr
17984 --  (c_output_tcc               ZX_RATES_B.tax_rate_code%TYPE,
17985 --   c_trx_date                 ZX_LINES_DET_FACTORS.trx_date%TYPE,
17986 --   c_internal_organization_id ZX_LINES.internal_organization_id%TYPE)
17987 --  IS
17988 --  SELECT COUNT(1)
17989 --    FROM ZX_OUTPUT_CLASSIFICATIONS_V
17990 --    WHERE lookup_code  = c_output_tcc
17991 --      AND enabled_flag = 'Y'
17992 --      AND c_trx_date >= start_date_active
17993 --      AND (c_trx_date <= end_date_active
17994 --           OR end_date_active IS NULL)
17995 --      AND org_id IN ( c_internal_organization_id, -99);
17996 
17997 BEGIN
17998   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
17999      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
18000    END IF;
18001 
18002    x_return_status := FND_API.G_RET_STS_SUCCESS ;
18003 
18004   --Bug 8565358
18005   -- reverting the changes done for Bug 7045194
18006   -- Bug#7045194
18007   -- l_tcc_valid := 0;
18008 
18009    BEGIN
18010    --If stored information different from passed information, redefault again
18011      SELECT
18012          DOCUMENT_SUB_TYPE,
18013          LINE_INTENDED_USE,
18014          PRODUCT_FISC_CLASSIFICATION,
18015          ASSESSABLE_VALUE,
18016          TRX_BUSINESS_CATEGORY,
18017          USER_DEFINED_FISC_CLASS,
18018          PRODUCT_CATEGORY,
18019          USER_UPD_DET_FACTORS_FLAG,
18020          PRODUCT_ID,
18021          PRODUCT_ORG_ID,
18022          PRODUCT_TYPE,
18023          DEFAULT_TAXATION_COUNTRY,
18024          LINE_AMT,
18025          INPUT_TAX_CLASSIFICATION_CODE,
18026          OUTPUT_TAX_CLASSIFICATION_CODE,
18027          TRX_LINE_ID --dummy get(need a not null column for checking and populating back the determining attributes conditionally)
18028      INTO
18029          l_document_sub_type,
18030          l_line_intended_use,
18031          l_product_fisc_classification,
18032          l_assessable_value,
18033          l_trx_business_category,
18034          l_user_defined_fisc_class ,
18035          l_product_category,
18036          l_user_upd_det_factors_flag,
18037          l_product_id,
18038          l_product_org_id,
18039          l_product_type,
18040          l_taxation_country,
18041          l_line_amt,
18042          l_input_tax_class_code,
18043          l_output_tax_class_code,
18044 	 l_trx_line_id
18045      FROM  ZX_LINES_DET_FACTORS
18046      WHERE application_id   = p_event_class_rec.application_id
18047        AND entity_code      = p_event_class_rec.entity_code
18048        AND event_class_code = p_event_class_rec.event_class_code
18049        AND trx_id           = p_event_class_rec.trx_id
18050        AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index)
18051        AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index);
18052     EXCEPTION
18053       WHEN NO_DATA_FOUND THEN
18054         IF p_event_class_rec.event_class_code in ('PO_PA','RELEASE') THEN
18055           l_upg_trx_info_rec.application_id   := p_event_class_rec.application_id;
18056           l_upg_trx_info_rec.entity_code      := p_event_class_rec.entity_code;
18057           l_upg_trx_info_rec.event_class_code := p_event_class_rec.event_class_code;
18058           l_upg_trx_info_rec.trx_id           := p_event_class_rec.trx_id;
18059           ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
18060                                                        x_return_status      =>  l_return_status
18061                                                       );
18062           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18063             x_return_status := l_return_status;
18064             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18065                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18066                   ' RETURN_STATUS = ' || x_return_status);
18067             END IF;
18068             RETURN;
18069           END IF;
18070        -- Start of Bug 6336029
18071           SELECT
18072              DOCUMENT_SUB_TYPE,
18073              LINE_INTENDED_USE,
18074              PRODUCT_FISC_CLASSIFICATION,
18075              ASSESSABLE_VALUE,
18076              TRX_BUSINESS_CATEGORY,
18077              USER_DEFINED_FISC_CLASS,
18078              PRODUCT_CATEGORY,
18079              USER_UPD_DET_FACTORS_FLAG,
18080              PRODUCT_ID,
18081              PRODUCT_ORG_ID,
18082              PRODUCT_TYPE,
18083              DEFAULT_TAXATION_COUNTRY,
18084              LINE_AMT,
18085              INPUT_TAX_CLASSIFICATION_CODE,
18086              OUTPUT_TAX_CLASSIFICATION_CODE,
18087              TRX_LINE_ID --dummy get(need a not null column for checking and populating back the determining attributes conditionally)
18088          INTO
18089              l_document_sub_type,
18090              l_line_intended_use,
18091              l_product_fisc_classification,
18092              l_assessable_value,
18093              l_trx_business_category,
18094              l_user_defined_fisc_class ,
18095              l_product_category,
18096              l_user_upd_det_factors_flag,
18097              l_product_id,
18098              l_product_org_id,
18099              l_product_type,
18100              l_taxation_country,
18101              l_line_amt,
18102              l_input_tax_class_code,
18103              l_output_tax_class_code,
18104     	       l_trx_line_id
18105         FROM
18106              ZX_LINES_DET_FACTORS
18107         WHERE
18108              application_id   = p_event_class_rec.application_id
18109        AND entity_code      = p_event_class_rec.entity_code
18110        AND event_class_code = p_event_class_rec.event_class_code
18111        AND trx_id           = p_event_class_rec.trx_id
18112        AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index)
18113        AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index);
18114        -- End of Bug 6336029
18115         ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(p_trx_line_index) ='N' THEN
18116           ZX_DEFAULT_AUTOMATION_PKG.redefault_intended_use(p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18117                                                            p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18118                                                            p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18119                                                            p_internal_org_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18120                                                            p_country_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
18121                                                            p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18122                                                            p_item_org_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index) ,
18123                                                            x_intended_use      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
18124                                                            x_return_status     => l_return_status
18125                                                            );
18126           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18127               x_return_status := l_return_status;
18128               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18129                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18130                    ' RETURN_STATUS = ' || x_return_status);
18131               END IF;
18132               RETURN;
18133           END IF;
18134 
18135           ZX_DEFAULT_AUTOMATION_PKG.redefault_prod_fisc_class_code(p_application_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18136                                                                    p_entity_code          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18137                                                                    p_event_class_code     => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18138                                                                    p_internal_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18139                                                                    p_country_code         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
18140                                                                    p_item_id              => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18141                                                                    p_item_org_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
18142                                                                    x_prod_fisc_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
18143                                                                    x_return_status        => l_return_status
18144                                                                    );
18145 
18146           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18147              x_return_status := l_return_status;
18148              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18149                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18150                ' RETURN_STATUS = ' || x_return_status);
18151              END IF;
18152              RETURN;
18153           END IF;
18154 
18155           ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18156                                                                p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18157                                                                p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18158                                                                p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18159                                                                p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index),
18160                                                                p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index),
18161                                                                p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index),
18162                                                                p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18163                                                                p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
18164                                                                p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(p_trx_line_index),
18165                                                                x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
18166                                                                x_return_status    => l_return_status
18167                                                                );
18168           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18169             x_return_status := l_return_status;
18170             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18171                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18172                ' RETURN_STATUS = ' || x_return_status);
18173             END IF;
18174             RETURN;
18175           END IF;
18176 
18177          /*-----------------------------------------------------+
18178           |   Get the default value for product type            |
18179           +-----------------------------------------------------*/
18180           ZX_TCM_EXT_SERVICES_PUB.get_default_classif_code(p_fiscal_type_code  => 'PRODUCT_TYPE',
18181                                                            p_country_code      => l_taxation_country,
18182                                                            p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18183                                                            p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18184                                                            p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18185                                                            p_source_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index),
18186                                                            p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18187                                                            p_org_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18188                                                            p_default_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
18189                                                            p_return_status     => l_return_status
18190                                                            );
18191 
18192           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18193              x_return_status := l_return_status;
18194              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18195                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18196                ' RETURN_STATUS = ' || x_return_status);
18197              END IF;
18198              RETURN;
18199           END IF;
18200           IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
18201             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) := l_product_type;
18202           END IF;
18203 
18204      END IF; --event class code in ('PO_PA','RELEASE') or user_upd_det_factors_flag ='N'
18205    END; --WHEN NO_DATA_FOUND
18206 
18207    IF l_trx_line_id is not null THEN  --copy additional tax attributes to global structure
18208         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(p_trx_line_index)       := l_trx_business_category;
18209         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(p_trx_line_index)           := l_line_intended_use;
18210         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(p_trx_line_index)     := l_user_defined_fisc_class;
18211         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) := l_product_fisc_classification;
18212         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(p_trx_line_index) IS NULL THEN
18213           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(p_trx_line_index)          := l_product_category;
18214         END IF;
18215         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index)            := l_assessable_value;
18216         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index)                := l_product_type;
18217         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_upd_det_factors_flag(p_trx_line_index)   := l_user_upd_det_factors_flag;
18218         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(p_trx_line_index)           := l_document_sub_type;
18219         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(p_trx_line_index)    := l_taxation_country;
18220    END IF;
18221 
18222 
18223    -- Bug 9845600
18224    IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(p_trx_line_index) is NOT NULL THEN
18225 
18226    IF l_product_id is not null AND
18227       (l_product_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) OR
18228       l_product_org_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index)) THEN
18229 
18230         ZX_DEFAULT_AUTOMATION_PKG.redefault_intended_use(p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18231                                                          p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18232                                                          p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18233                                                          p_internal_org_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18234                                                          p_country_code      => l_taxation_country,
18235                                                          p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18236                                                          p_item_org_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index) ,
18237                                                          x_intended_use      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
18238                                                          x_return_status     => l_return_status
18239                                                          );
18240 
18241         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18242             x_return_status := l_return_status;
18243           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18244                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18245                ' RETURN_STATUS = ' || x_return_status);
18246           END IF;
18247           RETURN;
18248         END IF;
18249 
18250        /*-----------------------------------------------------+
18251         |   Get the default value for product type            |
18252         +-----------------------------------------------------*/
18253         ZX_TCM_EXT_SERVICES_PUB.get_default_classif_code(p_fiscal_type_code  => 'PRODUCT_TYPE',
18254                                                          p_country_code      => l_taxation_country,
18255                                                          p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18256                                                          p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18257                                                          p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18258                                                          p_source_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index),
18259                                                          p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18260                                                          p_org_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18261                                                          p_default_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
18262                                                          p_return_status     => l_return_status
18263                                                          );
18264 
18265         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18266             x_return_status := l_return_status;
18267           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18268                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18269                ' RETURN_STATUS = ' || x_return_status);
18270           END IF;
18271           RETURN;
18272         END IF;
18273 
18274         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
18275           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) := l_product_type;
18276         END IF;
18277 
18278        /*-----------------------------------------------------------+
18279         |   Get the default value for product fiscal classification |
18280         +---------------------------------------------------------*/
18281         ZX_DEFAULT_AUTOMATION_PKG.redefault_prod_fisc_class_code(p_application_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18282                                                                  p_entity_code          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18283                                                                  p_event_class_code     => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18284                                                                  p_internal_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18285                                                                  p_country_code         => l_taxation_country,
18286                                                                  p_item_id              => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18287                                                                  p_item_org_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
18288                                                                  x_prod_fisc_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
18289                                                                  x_return_status        => l_return_status
18290                                                                  );
18291 
18292        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18293             x_return_status := l_return_status;
18294           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18295                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18296                ' RETURN_STATUS = ' || x_return_status);
18297           END IF;
18298           RETURN;
18299         END IF;
18300    END IF;
18301   END IF; -- Bug 9845600a, default_taxation_country is not null
18302 --   IF l_product_id is not null AND
18303 --      (l_product_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) OR
18304 --      l_product_org_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index) OR
18305 --      l_line_amt <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index)) THEN
18306    IF l_line_amt <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index) THEN    -- Bug 5659357
18307 
18308       ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
18309                                                               p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
18310                                                               p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
18311                                                               p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
18312                                                               p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index),
18313                                                               p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index),
18314                                                               p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index),
18315                                                               p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
18316                                                               p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
18317                                                               p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(p_trx_line_index),
18318                                                               x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
18319                                                               x_return_status    => l_return_status
18320                                                               );
18321         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18322             x_return_status := l_return_status;
18323           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18324                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18325                ' RETURN_STATUS = ' || x_return_status);
18326           END IF;
18327           RETURN;
18328         END IF;
18329    END IF;
18330    /*-------------------------------------------------------+
18331     |   Call TDM API to default the tax classification always|
18332     +-------------------------------------------------------*/
18333    IF p_event_class_rec.application_id <> 222 THEN
18334     -- Bug 8565358
18335     -- reverting the changes done for Bug 7045194
18336     --Bug#7045194: validate current input/output tax classification
18337     --code before redefaulting it from setups.
18338 
18339 --    IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
18340 --
18341 --     IF l_input_tax_class_code IS NOT NULL THEN
18342 --      OPEN validate_input_tcc_csr (
18343 --                l_input_tax_class_code,
18344 --                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index),
18345 --                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index));
18346 --
18347 --      FETCH validate_input_tcc_csr INTO l_tcc_valid;
18348 --      CLOSE validate_input_tcc_csr;
18349 --      IF l_tcc_valid > 0 THEN
18350 --        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(p_trx_line_index) := l_input_tax_class_code;
18351 --      END IF;
18352 --
18353 --    END IF;
18354 --
18355 --   ELSIF p_event_class_rec.prod_family_grp_code ='O2C' THEN
18356 --    IF l_output_tax_class_code IS NOT NULL THEN
18357 --      OPEN validate_output_tcc_csr (
18358 --                l_output_tax_class_code,
18359 --                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index),
18360 --                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index));
18361 --
18362 --      FETCH validate_output_tcc_csr INTO l_tcc_valid;
18363 --      CLOSE validate_output_tcc_csr;
18364 --      IF l_tcc_valid > 0 THEN
18365 --        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) := l_output_tax_class_code;
18366 --
18367 --      END IF;
18368 --    END IF;
18369 --  END IF;    -- validate current input/output tax classification code
18370 
18371   --
18372   --Bug#7045194: redefaulting tax classification code if
18373   -- the current one is invalid
18374   --
18375 --  IF l_tcc_valid = 0 THEN
18376 
18377           l_redef_tax_class_code_rec.application_id                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_trx_line_index);
18378           l_redef_tax_class_code_rec.entity_code                   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_trx_line_index);
18379           l_redef_tax_class_code_rec.event_class_code              := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_trx_line_index);
18380           l_redef_tax_class_code_rec.internal_organization_id      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
18381           l_redef_tax_class_code_rec.trx_id                        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index);
18382           l_redef_tax_class_code_rec.trx_line_id                   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index);
18383           l_redef_tax_class_code_rec.trx_level_type                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index);
18384           l_redef_tax_class_code_rec.ledger_id                     := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ledger_id(p_trx_line_index);
18385           l_redef_tax_class_code_rec.trx_date                      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index);
18386           l_redef_tax_class_code_rec.ref_doc_application_id        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_application_id(p_trx_line_index);
18387           l_redef_tax_class_code_rec.ref_doc_event_class_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_event_class_code(p_trx_line_index);
18388           l_redef_tax_class_code_rec.ref_doc_entity_code           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_entity_code(p_trx_line_index);
18389           l_redef_tax_class_code_rec.ref_doc_trx_id                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_trx_id(p_trx_line_index);
18390           l_redef_tax_class_code_rec.ref_doc_line_id               := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_line_id(p_trx_line_index);
18391           l_redef_tax_class_code_rec.ref_doc_trx_level_type        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_trx_level_type(p_trx_line_index);
18392           l_redef_tax_class_code_rec.account_ccid                  := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_ccid(p_trx_line_index);
18393           l_redef_tax_class_code_rec.account_string                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_string(p_trx_line_index);
18394           l_redef_tax_class_code_rec.product_id                    := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index);
18395           l_redef_tax_class_code_rec.product_org_id                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index);
18396           l_redef_tax_class_code_rec.receivables_trx_type_id       := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.receivables_trx_type_id(p_trx_line_index);
18397           l_redef_tax_class_code_rec.ship_third_pty_acct_id        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_third_pty_acct_id(p_trx_line_index);
18398           l_redef_tax_class_code_rec.bill_third_pty_acct_id        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_third_pty_acct_id(p_trx_line_index);
18399           l_redef_tax_class_code_rec.ship_third_pty_acct_site_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_third_pty_acct_site_id(p_trx_line_index);
18400           l_redef_tax_class_code_rec.bill_third_pty_acct_site_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_third_pty_acct_site_id(p_trx_line_index);
18401           l_redef_tax_class_code_rec.ship_to_cust_acct_site_use_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_cust_acct_site_use_id(p_trx_line_index);
18402           l_redef_tax_class_code_rec.bill_to_cust_acct_site_use_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_cust_acct_site_use_id(p_trx_line_index);
18403           l_redef_tax_class_code_rec.ship_to_location_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index);
18404           l_redef_tax_class_code_rec.defaulting_attribute1         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute1(p_trx_line_index);
18405           l_redef_tax_class_code_rec.defaulting_attribute2         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute2(p_trx_line_index);
18406           l_redef_tax_class_code_rec.defaulting_attribute3         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute3(p_trx_line_index);
18407           l_redef_tax_class_code_rec.defaulting_attribute4         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute4(p_trx_line_index);
18408           l_redef_tax_class_code_rec.defaulting_attribute5         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute5(p_trx_line_index);
18409           l_redef_tax_class_code_rec.defaulting_attribute6         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute6(p_trx_line_index);
18410           l_redef_tax_class_code_rec.defaulting_attribute7         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute7(p_trx_line_index);
18411           l_redef_tax_class_code_rec.defaulting_attribute8         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute8(p_trx_line_index);
18412           l_redef_tax_class_code_rec.defaulting_attribute9         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute9(p_trx_line_index);
18413           l_redef_tax_class_code_rec.defaulting_attribute10        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute10(p_trx_line_index);
18414           l_redef_tax_class_code_rec.tax_user_override_flag        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_upd_det_factors_flag(p_trx_line_index);
18415           l_redef_tax_class_code_rec.legal_entity_id               := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.legal_entity_id(p_trx_line_index);
18416 
18417           IF l_redef_tax_class_code_rec.tax_user_override_flag = 'Y' THEN
18418             IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
18419               l_redef_tax_class_code_rec.overridden_tax_cls_code := l_input_tax_class_code;
18420             ELSIF p_event_class_rec.prod_family_grp_code ='O2C' THEN
18421               l_redef_tax_class_code_rec.overridden_tax_cls_code := l_output_tax_class_code;
18422             END IF;
18423           END IF;
18424 
18425           ZX_TAX_DEFAULT_PKG.get_default_tax_classification (p_definfo        =>  l_redef_tax_class_code_rec,
18426                                                              p_return_status  =>  l_return_status,
18427                                                              p_error_buffer   =>  l_error_buffer
18428                                                             );
18429 
18430           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
18431             x_return_status := l_return_status;
18432             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18433                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18434                ' RETURN_STATUS = ' || x_return_status);
18435             END IF;
18436             RETURN;
18437           ELSE
18438             IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
18439                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(p_trx_line_index) := l_redef_tax_class_code_rec.x_tax_classification_code;
18440             ELSIF p_event_class_rec.prod_family_grp_code ='O2C' AND --AR will always pass the classification code so do not override
18441                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) is null THEN
18442                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) := l_redef_tax_class_code_rec.x_tax_classification_code;
18443             END IF;
18444           END IF;
18445     --Bug 8565358
18446     -- reverting the changes done for Bug 7045194
18447     -- END IF;   -- bug#7045194- current input/output tcc not valid
18448 
18449    END IF; --application_id <>222
18450 
18451    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
18452       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
18453         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
18454    END IF;
18455 
18456    EXCEPTION
18457       WHEN OTHERS THEN
18458           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
18459           IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
18460               FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
18461           END IF;
18462  END call_redefaulting_APIs;
18463 
18464 
18465  -- This private procedure is called from calculate (GTT version) and import procedures
18466  -- and populates the source event class info into the event_class_rec.
18467  -- this procedure should be called once per transaction.
18468 
18469  PROCEDURE pop_src_evnt_cls_info
18470   ( p_trx_line_index    IN     NUMBER,
18471     p_event_class_rec   IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
18472     x_return_status 	OUT    NOCOPY  VARCHAR2 )
18473  IS
18474    l_api_name CONSTANT VARCHAR2(30)  := 'pop_src_evnt_cls_info';
18475  BEGIN
18476 
18477     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18478       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
18479                    '.BEGIN',G_PKG_NAME||': '||l_api_name||'()+'||
18480                    ', RETURN_STATUS = ' || x_return_status);
18481     END IF;
18482 
18483     x_return_status := FND_API.G_RET_STS_SUCCESS;
18484 
18485     IF zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(p_trx_line_index)
18486        <> 'INTERCOMPANY_TRX'
18487     THEN
18488         SELECT mapp.event_class_mapping_id,
18489                mapp.tax_event_class_code,
18490                mapp.process_for_applicability_flag
18491           INTO p_event_class_rec.source_event_class_mapping_id,
18492                p_event_class_rec.source_tax_event_class_code,
18493                p_event_class_rec.source_process_for_appl_flag
18494           FROM zx_evnt_cls_mappings mapp
18495          WHERE mapp.application_id     = zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(p_trx_line_index)
18496            AND mapp.entity_code        = zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(p_trx_line_index)
18497            AND mapp.event_class_code   = zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(p_trx_line_index);
18498       ELSE
18499          p_event_class_rec.source_tax_event_class_code:= p_event_class_rec.intrcmp_tx_evnt_cls_code;
18500 
18501          SELECT mapp.event_class_mapping_id,
18502                mapp.tax_event_class_code,
18503                mapp.process_for_applicability_flag
18504           INTO p_event_class_rec.source_event_class_mapping_id,
18505                p_event_class_rec.source_tax_event_class_code,
18506                p_event_class_rec.source_process_for_appl_flag
18507           FROM zx_evnt_cls_mappings mapp
18508          WHERE mapp.application_id     = p_event_class_rec.intrcmp_src_appln_id
18509            AND mapp.entity_code        = p_event_class_rec.intrcmp_src_entity_code
18510            AND mapp.event_class_code   = p_event_class_rec.intrcmp_src_evnt_cls_code;
18511        END IF;
18512 
18513 
18514     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18515       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
18516                    '.END',G_PKG_NAME||': '||l_api_name||'()-'||
18517                    ', RETURN_STATUS = ' || x_return_status);
18518     END IF;
18519 
18520  EXCEPTION
18521         WHEN OTHERS THEN
18522             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
18523             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
18524                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
18525                  'Unable to derive the source event calss info ' ||
18526                  SQLERRM);
18527             END IF;
18528 
18529  END pop_src_evnt_cls_info;
18530 /* -- Procedure commented by ssohal
18531   PROCEDURE populate_errors
18532   ( p_event_class_rec   IN     ZX_API_PUB.event_class_rec_type,
18533     x_return_status 	OUT    NOCOPY  VARCHAR2 )
18534  IS
18535    l_api_name CONSTANT VARCHAR2(30)  := 'populate_errors';
18536    l_context_info_rec  ZX_API_PUB.context_info_rec_type;
18537  BEGIN
18538 
18539     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18540       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
18541                    '.BEGIN',G_PKG_NAME||': '||l_api_name||'()+'||
18542                    ', RETURN_STATUS = ' || x_return_status);
18543     END IF;
18544 
18545     x_return_status := FND_API.G_RET_STS_SUCCESS;
18546 
18547     FOR i IN 1 .. ZX_API_PUB.errors_tbl.application_id.COUNT LOOP
18548       IF ZX_API_PUB.errors_tbl.application_id(i) IS NULL THEN
18549         ZX_API_PUB.errors_tbl.application_id(i) := p_event_class_rec.APPLICATION_ID;
18550       END IF ;
18551       IF ZX_API_PUB.errors_tbl.ENTITY_CODE(i) IS NULL THEN
18552 	ZX_API_PUB.errors_tbl.ENTITY_CODE(i) := p_event_class_rec.ENTITY_CODE;
18553       END IF;
18554       IF ZX_API_PUB.errors_tbl.EVENT_CLASS_CODE(i) IS NULL THEN
18555 	ZX_API_PUB.errors_tbl.EVENT_CLASS_CODE(i) := p_event_class_rec.EVENT_CLASS_CODE;
18556       END IF;
18557       IF ZX_API_PUB.errors_tbl.TRX_ID(i) IS NULL THEN
18558 	ZX_API_PUB.errors_tbl.TRX_ID(i) := p_event_class_rec.TRX_ID;
18559       END IF;
18560       IF ZX_API_PUB.errors_tbl.message_text(i) IS NULL THEN
18561 	ZX_API_PUB.errors_tbl.message_text(i) := 'UNEXPECTED_ERROR_POPULATE_ERROR';
18562       END IF;
18563     END LOOP;
18564     IF ZX_API_PUB.errors_tbl.application_id.COUNT = 0 THEN
18565 	  l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
18566           l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
18567           l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
18568           l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
18569           l_context_info_rec.TRX_LINE_ID      := NULL;
18570           l_context_info_rec.TRX_LEVEL_TYPE   := NULL;
18571       IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
18572           FOR i in ZX_VERTEX_TAX_SERVICE_PKG.g_messages_tbl.error_message_string.first..ZX_VERTEX_TAX_SERVICE_PKG.g_messages_tbl.error_message_string.last
18573           LOOP
18574             FND_MESSAGE.SET_NAME('ZX','ZX_GENERIC_TEXT');
18575             FND_MESSAGE.SET_TOKEN('GENERIC_TEXT',ZX_VERTEX_TAX_SERVICE_PKG.g_messages_tbl.error_message_string(i));
18576             ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
18577           END LOOP;
18578        ELSE
18579           ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
18580        END IF;
18581     END IF;
18582 
18583     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18584       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
18585                    '.END',G_PKG_NAME||': '||l_api_name||'()-'||
18586                    ', RETURN_STATUS = ' || x_return_status);
18587     END IF;
18588 
18589  EXCEPTION
18590         WHEN OTHERS THEN
18591             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
18592             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
18593                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
18594                  'Unable to populate error information ' ||
18595                  SQLERRM);
18596             END IF;
18597 
18598  END populate_errors;
18599 */
18600 -----------------------------------------------------------------------
18601 --  PRIVATE PROCEDURE
18602 --    Pop_Index_Attrbs_To_Null
18603 --
18604 --  DESCRIPTION
18605 --    To populate all the attributes of plsql table structure
18606 --    ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL
18607 --    at a particular index p_index except key attributes
18608 --
18609 --  CALLED BY
18610 --    calculate_tax
18611 -----------------------------------------------------------------------
18612 PROCEDURE Pop_Index_Attrbs_To_Null ( p_index          IN  NUMBER,
18613                                      x_return_status  OUT NOCOPY VARCHAR2
18614  ) IS
18615  -- Variables
18616    l_api_name           CONSTANT VARCHAR2(30):= 'POP_INDEX_ATTRBS_TO_NULL';
18617    l_application_id     NUMBER;
18618    l_entity_code        VARCHAR(30);
18619    l_event_class_code   VARCHAR(30);
18620    l_trx_id             NUMBER;
18621    l_trx_line_id        NUMBER;
18622    l_trx_level_type     VARCHAR(30);
18623 
18624  BEGIN
18625    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18626       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',
18627          'ZX_SRVC_TYP_PKG: Pop_Index_Attrbs_To_Null()+');
18628    END IF;
18629    -- Copy the key attributes in the local variables
18630    l_application_id   := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index);
18631    l_entity_code      := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index);
18632    l_event_class_code := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index);
18633    l_trx_id           := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index);
18634    l_trx_line_id      := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index);
18635    l_trx_level_type   := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index);
18636 
18637    -- Call the procedure to populate all the attributes of plsql tbl structure
18638    -- ZX_Global_Structures_Pkg.trx_line_dist_tbl at index p_index to NULL
18639    ZX_GLOBAL_STRUCTURES_PKG.init_trx_line_dist_tbl (p_index);
18640 
18641    -- Populate the key attributes of ZX_Global_Structures_Pkg.trx_line_dist_tbl
18642    -- with values of local variables
18643    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index)   := l_application_id;
18644    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index)      := l_entity_code;
18645    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index) := l_event_class_code;
18646    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index)           := l_trx_id;
18647    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index)      := l_trx_line_id;
18648    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index)   := l_trx_level_type;
18649 
18650    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18651       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
18652          'ZX_SRVC_TYP_PKG: Pop_Index_Attrbs_To_Null()-');
18653    END IF;
18654 
18655  EXCEPTION
18656         WHEN OTHERS THEN
18657             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
18658             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
18659                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
18660                   'Error occurred in ' || l_api_name || ' : ' ||SQLERRM);
18661             END IF;
18662 
18663  END Pop_Index_Attrbs_To_Null;
18664 
18665 -----------------------------------------------------------------------
18666 --  PRIVATE PROCEDURE
18667 --    Pop_Estb_Id
18668 --
18669 --  DESCRIPTION
18670 --    To populate the main establishment id for a trx_line_id into
18671 --    zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID
18672 --    for a Legal Entity id.
18673 --
18674 --  CALLED BY
18675 --    calculate_tax
18676 -----------------------------------------------------------------------
18677 PROCEDURE Pop_Estb_Id ( p_index           IN            NUMBER,
18678                         p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type,
18679                         p_level           IN            VARCHAR2, --14122718
18680                         x_return_status      OUT NOCOPY VARCHAR2
18681  ) IS
18682    l_api_name           CONSTANT VARCHAR2(30):= 'POP_ESTB_ID';
18683    l_legal_entity_id     NUMBER;
18684    l_establishment_id    NUMBER;
18685    l_tbl_index           BINARY_INTEGER;
18686    l_trx_date            DATE;
18687    l_zx_lines_cnt        NUMBER;
18688 
18689  BEGIN
18690   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18691       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',
18692          'ZX_SRVC_TYP_PKG: Pop_Estb_Id()+');
18693   END IF;
18694 
18695   l_legal_entity_id      := ZX_Global_Structures_Pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(p_index);
18696   l_trx_date             := ZX_Global_Structures_Pkg.trx_line_dist_tbl.TRX_DATE(p_index);
18697 
18698   IF p_level = 'HEADER' THEN
18699     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18700       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18701          'Fetching establishment_id in Header level');
18702     END IF;
18703 
18704     IF l_legal_entity_id is NOT NULL  THEN
18705     l_tbl_index := to_char(l_legal_entity_id);
18706 
18707        SELECT xle_etb.establishment_id
18708          INTO l_establishment_id
18709          FROM zx_party_tax_profile ptp,
18710               xle_etb_profiles xle_etb
18711         WHERE ptp.party_id         = xle_etb.party_id
18712           AND ptp.party_type_code  = 'LEGAL_ESTABLISHMENT'
18713           AND xle_etb.legal_entity_id = l_legal_entity_id
18714           AND xle_etb.main_establishment_flag = 'Y'
18715           AND l_trx_date BETWEEN NVL(xle_etb.main_effective_from,l_trx_date)
18716                            AND NVL(xle_etb.main_effective_to,l_trx_date);
18717 
18718        l_main_estb_for_entity_tbl(l_tbl_index).legal_entity_id  := l_legal_entity_id;
18719        l_main_estb_for_entity_tbl(l_tbl_index).establishment_id := l_establishment_id;
18720 
18721        p_event_class_rec.ESTABLISHMENT_ID := l_establishment_id;
18722 
18723     END IF;
18724 
18725  ELSIF p_level = 'LINE' THEN
18726   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18727     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18728          'Fetching establishment_id in Line level');
18729   END IF;
18730     IF l_legal_entity_id is NOT NULL  THEN
18731        l_tbl_index := to_char(l_legal_entity_id);
18732       IF  NOT l_main_estb_for_entity_tbl.EXISTS(l_tbl_index) THEN
18733        SELECT xle_etb.establishment_id
18734          INTO l_establishment_id
18735          FROM zx_party_tax_profile ptp,
18736               xle_etb_profiles xle_etb
18737         WHERE ptp.party_id         = xle_etb.party_id
18738           AND ptp.party_type_code  = 'LEGAL_ESTABLISHMENT'
18739           AND xle_etb.legal_entity_id = l_legal_entity_id
18740           AND xle_etb.main_establishment_flag = 'Y'
18741           AND l_trx_date BETWEEN NVL(xle_etb.main_effective_from,l_trx_date)
18742                            AND NVL(xle_etb.main_effective_to,l_trx_date);
18743 
18744        l_main_estb_for_entity_tbl(l_tbl_index).legal_entity_id  := l_legal_entity_id;
18745        l_main_estb_for_entity_tbl(l_tbl_index).establishment_id := l_establishment_id;
18746 
18747       ELSE
18748        l_establishment_id := l_main_estb_for_entity_tbl(l_tbl_index).establishment_id;
18749       END IF;
18750       zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(p_index) := l_establishment_id;
18751     END IF;
18752 END IF;
18753 
18754   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18755       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18756          ' legal_entity_id: '||l_legal_entity_id || ' :  l_establishment_id : '||l_establishment_id||
18757          ' p_level: '||p_level||' l_trx_date'||l_trx_date);
18758   END IF;
18759 
18760   IF p_level = 'HEADER' THEN
18761     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18762       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18763          'Getting Count of tax lines with NULL establishment_id');
18764     END IF;
18765 
18766     SELECT COUNT(*)
18767       INTO l_zx_lines_cnt
18768       FROM zx_lines
18769      WHERE establishment_id IS NULL
18770        AND application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_index)
18771        AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_index)
18772        AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_index)
18773        AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_index);
18774 
18775     IF ( g_level_statement >= g_current_runtime_level) THEN
18776       FND_LOG.STRING(g_level_statement,g_module_name||l_api_name,
18777          'No. of tax lines with NULL establishment_id : '||l_zx_lines_cnt);
18778     END IF;
18779 
18780     IF l_zx_lines_cnt > 0 THEN
18781       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18782         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18783                        'Updating ZX Tables for Establishment_id');
18784       END IF;
18785 
18786       UPDATE zx_lines
18787          SET establishment_id = l_establishment_id,
18788              trx_date         = l_trx_date
18789        WHERE establishment_id IS NULL
18790          AND application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_index)
18791          AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_index)
18792          AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_index)
18793          AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_index);
18794 
18795       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18796         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18797             'Updated ZX_Lines Table rows : '||sql%rowcount);
18798       END IF;
18799 
18800       UPDATE zx_lines_summary
18801          SET establishment_id = l_establishment_id
18802        WHERE establishment_id IS NULL
18803          AND application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_index)
18804          AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_index)
18805          AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_index)
18806          AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_index);
18807 
18808       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18809         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18810            'Updated ZX_Lines_summary Table rows : '||sql%rowcount);
18811       END IF;
18812 
18813       UPDATE zx_lines_det_factors
18814          SET establishment_id = l_establishment_id,
18815              trx_date         = l_trx_date
18816        WHERE establishment_id IS NULL
18817          AND application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_index)
18818          AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_index)
18819          AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_index)
18820          AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_index);
18821 
18822       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18823         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
18824            'Updated ZX_Lines_det_factors Table rows : '||sql%rowcount);
18825       END IF;
18826 
18827     END IF;
18828   END IF;
18829 
18830   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18831       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
18832          'ZX_SRVC_TYP_PKG: Pop_Estb_Id()-');
18833   END IF;
18834 
18835  EXCEPTION
18836         WHEN OTHERS THEN
18837             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
18838             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
18839                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
18840                   'Error occurred in ' || l_api_name || ' : ' ||SQLERRM);
18841             END IF;
18842 
18843  END Pop_Estb_Id;
18844 
18845  ------------------------------------------------------------------------------
18846  --  PPRIVATE PROCEDURE
18847  --  print_unique_columns
18848  --
18849  --  DESCRIPTION
18850  --  This is a private procedure to print the unique columns in case of
18851  --  ZX_LINES_DET_FACTORS_U1 error for debug purpose
18852  --
18853  --  HISTORY
18854  --  Added by Binapani Beura on 23-Nov-2010
18855  ------------------------------------------------------------------------------
18856 
18857 
18858  PROCEDURE print_unique_columns
18859     (p_application_id   IN   NUMBER,
18860      p_entity_code      IN   VARCHAR2,
18861      p_event_class_code IN   VARCHAR2,
18862      p_trx_id           IN   NUMBER,
18863      p_trx_line_id      IN   NUMBER,
18864      p_trx_level_type   IN   VARCHAR2)
18865   IS
18866 
18867      -- Cursor to fetch unique columns from ZX_LINES_DET_FACTORS --
18868      CURSOR get_unique_columns IS
18869      SELECT application_id,
18870             entity_code,
18871             event_class_code,
18872             trx_id,
18873             trx_line_id,
18874             trx_level_type
18875        FROM zx_lines_det_factors
18876       WHERE application_id = p_application_id
18877         AND event_class_code = p_event_class_code
18878         AND entity_code = p_entity_code
18879         AND trx_id = p_trx_id
18880       ORDER BY trx_line_id;
18881 
18882   BEGIN
18883 
18884     IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
18885       FND_LOG.STRING(G_LEVEL_STATEMENT,
18886         'ZX.PLSQL.ZX_SRVC_TYP_PKG.print_unique_columns.BEGIN',
18887         'ZX_SRVC_TYP_PKG: print_unique_columns (+)');
18888     END IF;
18889 
18890     FOR rec IN get_unique_columns LOOP
18891       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
18892         FND_LOG.STRING(G_LEVEL_STATEMENT,
18893                        'ZX.PLSQL.ZX_SRVC_TYP_PKG.print_unique_columns',
18894                        '  TRX_LINE_ID : '                || rec.trx_line_id ||
18895                        ', APPLICATION_ID : '             || rec.application_id ||
18896                        ', ENTITY_CODE : '                || rec.entity_code ||
18897                        ', EVENT_CLASS_CODE : '           || rec.event_class_code ||
18898                        ', TRX_ID : '                     || rec.trx_id);
18899       END IF;
18900     END LOOP;
18901 
18902     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18903       FND_LOG.STRING(G_LEVEL_STATEMENT,
18904         'ZX.PLSQL.ZX_SRVC_TYP_PKG.print_unique_columns.END',
18905         'ZX_SRVC_TYP_PKG: print_unique_columns (-)');
18906     END IF;
18907 
18908   EXCEPTION
18909     WHEN OTHERS THEN
18910       IF(G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
18911         FND_LOG.STRING(G_LEVEL_STATEMENT,
18912                        'ZX.PLSQL.ZX_SRVC_TYP_PKG.print_unique_columns',
18913                        'Cannot print unique columns. Error Occured : '||SUBSTR(SQLERRM, 1, 80));
18914       END IF;
18915   END print_unique_columns;
18916 
18917  END ZX_SRVC_TYP_PKG;