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.246.12010000.8 2009/01/05 11:22:10 ssanka 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,
27   TRX_ID                       NUMBER_tbl_type,
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 
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 l_default_taxation_country  VARCHAR2(2);
204 l_doc_sub_type              VARCHAR2(240);
205 
206 /* Bug 5013598 */
207 
208 TYPE l_poo_info_rec_type is RECORD(
209  poo_party_id    NUMBER,
210  poo_location_id NUMBER
211 );
212 TYPE l_poo_info_tbl_type is TABLE OF l_poo_info_rec_type index by VARCHAR2(300);
213 poo_info_tbl    l_poo_info_tbl_type;
214 
215 /* The composite key of the table poo_info_tbl consists of following columns.
216  source_name     VARCHAR2(08),        -- Source could be 'SALESREP' or 'RESOURCE'
217  source_id       NUMBER,              -- Source id salesrep_id ('SALESREP') or resource_id ('RESOURCE')
218  trx_date        DATE,
219 */
220 /* Bug 5013598 */
221 
222 
223 /* Cursor for GTT version of calculate tax*/
224   Cursor lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) is
225   SELECT  /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1 */
226           header.INTERNAL_ORGANIZATION_ID           ,
227           header.APPLICATION_ID                     ,
228           header.ENTITY_CODE                        ,
229           header.EVENT_CLASS_CODE                   ,
230           header.EVENT_TYPE_CODE                    ,
231           header.TRX_ID                             ,
232           trxlines.TRX_LEVEL_TYPE                   ,
233           trxlines.TRX_LINE_ID                      ,
234           trxlines.LINE_LEVEL_ACTION                ,
235           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE),  --Bugfix 4938879
236           header.TRX_DATE                           ,
237           header.TRX_DOC_REVISION                   ,
238           header.LEDGER_ID                          ,
239           header.TRX_CURRENCY_CODE                  ,
240           header.CURRENCY_CONVERSION_DATE           ,
241           header.CURRENCY_CONVERSION_RATE           ,
242           header.CURRENCY_CONVERSION_TYPE           ,
243           header.MINIMUM_ACCOUNTABLE_UNIT           ,
244           header.PRECISION                          ,
245           trxlines.TRX_LINE_CURRENCY_CODE           ,
246           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
247           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
248           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
249           trxlines.TRX_LINE_MAU                     ,
250           trxlines.TRX_LINE_PRECISION               ,
251           trxlines.TRX_SHIPPING_DATE                ,
252           trxlines.TRX_RECEIPT_DATE                 ,
253           header.LEGAL_ENTITY_ID                    ,
254           header.ROUNDING_SHIP_TO_PARTY_ID          ,
255           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
256           header.ROUNDING_BILL_TO_PARTY_ID          ,
257           header.ROUNDING_BILL_FROM_PARTY_ID        ,
258           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
259           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
260           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
261           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
262           header.ESTABLISHMENT_ID                   ,
263           trxlines.TRX_LINE_TYPE                    ,
264           trxlines.TRX_LINE_DATE                    ,
265           trxlines.TRX_BUSINESS_CATEGORY            ,
266           trxlines.LINE_INTENDED_USE                ,
267           trxlines.USER_DEFINED_FISC_CLASS          ,
268           trxlines.LINE_AMT                         ,
269           trxlines.TRX_LINE_QUANTITY                ,
270           trxlines.UNIT_PRICE                       ,
271           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
272           trxlines.EXEMPT_REASON                    ,
273           trxlines.CASH_DISCOUNT                    ,
274           trxlines.VOLUME_DISCOUNT                  ,
275           trxlines.TRADING_DISCOUNT                 ,
276           trxlines.TRANSFER_CHARGE                  ,
277           trxlines.TRANSPORTATION_CHARGE            ,
278           trxlines.INSURANCE_CHARGE                 ,
279           trxlines.OTHER_CHARGE                     ,
280           trxlines.PRODUCT_ID                       ,
281           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
282           trxlines.PRODUCT_ORG_ID                   ,
283           trxlines.UOM_CODE                         ,
284           trxlines.PRODUCT_TYPE                     ,
285           trxlines.PRODUCT_CODE                     ,
286           trxlines.PRODUCT_CATEGORY                 ,
287           trxlines.TRX_SIC_CODE                     ,
288           trxlines.FOB_POINT                        ,
289           trxlines.SHIP_TO_PARTY_ID                 ,
290           trxlines.SHIP_FROM_PARTY_ID               ,
291           trxlines.POA_PARTY_ID                     ,
292           trxlines.POO_PARTY_ID                     ,
293           trxlines.BILL_TO_PARTY_ID                 ,
294           trxlines.BILL_FROM_PARTY_ID               ,
295           trxlines.MERCHANT_PARTY_ID                ,
296           trxlines.SHIP_TO_PARTY_SITE_ID            ,
297           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
298           trxlines.POA_PARTY_SITE_ID                ,
299           trxlines.POO_PARTY_SITE_ID                ,
300           trxlines.BILL_TO_PARTY_SITE_ID            ,
301           trxlines.BILL_FROM_PARTY_SITE_ID          ,
302           trxlines.SHIP_TO_LOCATION_ID              ,
303           trxlines.SHIP_FROM_LOCATION_ID            ,
304           trxlines.POA_LOCATION_ID                  ,
305           trxlines.POO_LOCATION_ID                  ,
306           trxlines.BILL_TO_LOCATION_ID              ,
307           trxlines.BILL_FROM_LOCATION_ID            ,
308           trxlines.ACCOUNT_CCID                     ,
309           trxlines.ACCOUNT_STRING                   ,
310           trxlines.MERCHANT_PARTY_COUNTRY           ,
311           header.RECEIVABLES_TRX_TYPE_ID            ,
312           trxlines.REF_DOC_APPLICATION_ID           ,
313           trxlines.REF_DOC_ENTITY_CODE              ,
314           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
315           trxlines.REF_DOC_TRX_ID                   ,
316           trxlines.REF_DOC_LINE_ID                  ,
317           trxlines.REF_DOC_LINE_QUANTITY            ,
318           header.RELATED_DOC_APPLICATION_ID         ,
319           header.RELATED_DOC_ENTITY_CODE            ,
320           header.RELATED_DOC_EVENT_CLASS_CODE       ,
321           header.RELATED_DOC_TRX_ID                 ,
322           header.RELATED_DOC_NUMBER                 ,
323           header.RELATED_DOC_DATE                   ,
324           trxlines.APPLIED_FROM_APPLICATION_ID      ,
325           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
326           trxlines.APPLIED_FROM_ENTITY_CODE         ,
327           trxlines.APPLIED_FROM_TRX_ID              ,
328           trxlines.APPLIED_FROM_LINE_ID             ,
329           trxlines.APPLIED_FROM_TRX_NUMBER          ,
330           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
331           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
332           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
333           trxlines.ADJUSTED_DOC_TRX_ID              ,
334           trxlines.ADJUSTED_DOC_LINE_ID             ,
335           trxlines.ADJUSTED_DOC_NUMBER              ,
336           trxlines.ADJUSTED_DOC_DATE                ,
337           trxlines.APPLIED_TO_APPLICATION_ID        ,
338           trxlines.APPLIED_TO_ENTITY_CODE           ,
339           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
340           trxlines.APPLIED_TO_TRX_ID                ,
341           trxlines.APPLIED_TO_TRX_LINE_ID           ,
342           trxlines.TRX_ID_LEVEL2                    ,
343           trxlines.TRX_ID_LEVEL3                    ,
344           trxlines.TRX_ID_LEVEL4                    ,
345           trxlines.TRX_ID_LEVEL5                    ,
346           trxlines.TRX_ID_LEVEL6                    ,
347           header.TRX_NUMBER                         ,
348           header.TRX_DESCRIPTION                    ,
349           trxlines.TRX_LINE_NUMBER                  ,
350           trxlines.TRX_LINE_DESCRIPTION             ,
351           trxlines.PRODUCT_DESCRIPTION              ,
352           trxlines.TRX_WAYBILL_NUMBER               ,
353           header.TRX_COMMUNICATED_DATE              ,
354           trxlines.TRX_LINE_GL_DATE                 ,
355           header.BATCH_SOURCE_ID                    ,
356           header.BATCH_SOURCE_NAME                  ,
357           header.DOC_SEQ_ID                         ,
358           header.DOC_SEQ_NAME                       ,
359           header.DOC_SEQ_VALUE                      ,
360           header.TRX_DUE_DATE                       ,
361           header.TRX_TYPE_DESCRIPTION               ,
362           trxlines.MERCHANT_PARTY_NAME              ,
363           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
364           trxlines.MERCHANT_PARTY_REFERENCE         ,
365           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
366           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
367           trxlines.PAYING_PARTY_ID                  ,
368           trxlines.OWN_HQ_PARTY_ID                  ,
369           trxlines.TRADING_HQ_PARTY_ID              ,
370           trxlines.POI_PARTY_ID                     ,
371           trxlines.POD_PARTY_ID                     ,
372           trxlines.TITLE_TRANSFER_PARTY_ID          ,
373           trxlines.PAYING_PARTY_SITE_ID             ,
374           trxlines.OWN_HQ_PARTY_SITE_ID             ,
375           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
376           trxlines.POI_PARTY_SITE_ID                ,
377           trxlines.POD_PARTY_SITE_ID                ,
378           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
379           trxlines.PAYING_LOCATION_ID               ,
380           trxlines.OWN_HQ_LOCATION_ID               ,
381           trxlines.TRADING_HQ_LOCATION_ID           ,
382           trxlines.POC_LOCATION_ID                  ,
383           trxlines.POI_LOCATION_ID                  ,
384           trxlines.POD_LOCATION_ID                  ,
385           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
386           trxlines.ASSESSABLE_VALUE                 ,
387           trxlines.ASSET_FLAG                       ,
388           trxlines.ASSET_NUMBER                     ,
389           trxlines.ASSET_ACCUM_DEPRECIATION         ,
390           trxlines.ASSET_TYPE                       ,
391           trxlines.ASSET_COST                       ,
392           trxlines.NUMERIC1                         ,
393           trxlines.NUMERIC2                         ,
394           trxlines.NUMERIC3                         ,
395           trxlines.NUMERIC4                         ,
396           trxlines.NUMERIC5                         ,
397           trxlines.NUMERIC6                         ,
398           trxlines.NUMERIC7                         ,
399           trxlines.NUMERIC8                         ,
400           trxlines.NUMERIC9                         ,
401           trxlines.NUMERIC10                        ,
402           trxlines.CHAR1                            ,
403           trxlines.CHAR2                            ,
404           trxlines.CHAR3                            ,
405           trxlines.CHAR4                            ,
406           trxlines.CHAR5                            ,
407           trxlines.CHAR6                            ,
408           trxlines.CHAR7                            ,
409           trxlines.CHAR8                            ,
410           trxlines.CHAR9                            ,
411           trxlines.CHAR10                           ,
412           trxlines.DATE1                            ,
413           trxlines.DATE2                            ,
414           trxlines.DATE3                            ,
415           trxlines.DATE4                            ,
416           trxlines.DATE5                            ,
417           trxlines.DATE6                            ,
418           trxlines.DATE7                            ,
419           trxlines.DATE8                            ,
420           trxlines.DATE9                            ,
421           trxlines.DATE10                           ,
422           header.FIRST_PTY_ORG_ID                   ,
423           header.TAX_EVENT_CLASS_CODE               ,
424           header.TAX_EVENT_TYPE_CODE                ,
425           header.DOC_EVENT_STATUS                   ,
426           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
427           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
428           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
429           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
430           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
431           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
432           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
433           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
434           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
435           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
436           trxlines.POA_PARTY_TAX_PROF_ID            ,
437           trxlines.POO_PARTY_TAX_PROF_ID            ,
438           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
439           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
440           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
441           trxlines.POI_PARTY_TAX_PROF_ID            ,
442           trxlines.POD_PARTY_TAX_PROF_ID            ,
443           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
444           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
445           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
446           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
447           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
448           trxlines.POA_SITE_TAX_PROF_ID             ,
449           trxlines.POO_SITE_TAX_PROF_ID             ,
450           trxlines.PAYING_SITE_TAX_PROF_ID          ,
451           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
452           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
453           trxlines.POI_SITE_TAX_PROF_ID             ,
454           trxlines.POD_SITE_TAX_PROF_ID             ,
455           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
456           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
457           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
458           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
459           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
460           header.DOCUMENT_SUB_TYPE                  ,
461           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
462           header.SUPPLIER_TAX_INVOICE_DATE          ,
463           header.SUPPLIER_EXCHANGE_RATE             ,
464           header.TAX_INVOICE_DATE                   ,
465           header.TAX_INVOICE_NUMBER                 ,
466           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
467           header.QUOTE_FLAG                         ,
468           header.DEFAULT_TAXATION_COUNTRY           ,
469           trxlines.HISTORICAL_FLAG                  ,
470           header.INTERNAL_ORG_LOCATION_ID           ,
471           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
472           header.CTRL_TOTAL_HDR_TX_AMT              ,
473           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
474           null DIST_LEVEL_ACTION                    ,
475           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
476           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
477           to_number(null) TASK_ID                   ,
478           to_number(null) AWARD_ID                  ,
479           to_number(null) PROJECT_ID                ,
480           null EXPENDITURE_TYPE                     ,
481           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
482           null EXPENDITURE_ITEM_DATE                ,
483           to_number(null) TRX_LINE_DIST_AMT         ,
484           to_number(null) TRX_LINE_DIST_QUANTITY    ,
485           to_number(null) REF_DOC_CURR_CONV_RATE    ,
486           to_number(null) ITEM_DIST_NUMBER          ,
487           to_number(null) REF_DOC_DIST_ID           ,
488           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
489           to_number(null) TRX_LINE_DIST_ID          ,
490           to_number(null) APPLIED_FROM_DIST_ID      ,
491           to_number(null) ADJUSTED_DOC_DIST_ID      ,
492           to_number(null) OVERRIDING_RECOVERY_RATE  ,
493           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
494           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
495           header.PORT_OF_ENTRY_CODE                 ,
496           header.TAX_REPORTING_FLAG                 ,
497           null TAX_AMT_INCLUDED_FLAG                ,
498           null COMPOUNDING_TAX_FLAG                 ,
499           header.SHIP_THIRD_PTY_ACCT_ID             ,
500           header.BILL_THIRD_PTY_ACCT_ID             ,
501           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
502           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
503           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
504           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
505           header.PROVNL_TAX_DETERMINATION_DATE      ,
506           trxlines.START_EXPENSE_DATE               ,
507           header.TRX_BATCH_ID                       ,
508           header.APPLIED_TO_TRX_NUMBER              ,
509           trxlines.SOURCE_APPLICATION_ID            ,
510           trxlines.SOURCE_ENTITY_CODE               ,
511           trxlines.SOURCE_EVENT_CLASS_CODE          ,
512           trxlines.SOURCE_TRX_ID                    ,
513           trxlines.SOURCE_LINE_ID                   ,
514           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
515           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
516           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
517           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
518           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
519           header.APPLICATION_DOC_STATUS             ,
520           header.HDR_TRX_USER_KEY1                  ,
521           header.HDR_TRX_USER_KEY2                  ,
522           header.HDR_TRX_USER_KEY3                  ,
523           header.HDR_TRX_USER_KEY4                  ,
524           header.HDR_TRX_USER_KEY5                  ,
525           header.HDR_TRX_USER_KEY6                  ,
526           trxlines.LINE_TRX_USER_KEY1               ,
527           trxlines.LINE_TRX_USER_KEY2               ,
528           trxlines.LINE_TRX_USER_KEY3               ,
529           trxlines.LINE_TRX_USER_KEY4               ,
530           trxlines.LINE_TRX_USER_KEY5               ,
531           trxlines.LINE_TRX_USER_KEY6               ,
532           trxlines.SOURCE_TAX_LINE_ID               ,
533           trxlines.EXEMPTION_CONTROL_FLAG           ,
534           to_number(null) REVERSED_APPLN_ID         ,
535           null REVERSED_ENTITY_CODE                 ,
536           null REVERSED_EVNT_CLS_CODE               ,
537           to_number(null) REVERSED_TRX_ID           ,
538           null REVERSED_TRX_LEVEL_TYPE              ,
539           to_number(null) REVERSED_TRX_LINE_ID      ,
540           trxlines.EXEMPT_REASON_CODE               ,
541           trxlines.INTERFACE_ENTITY_CODE            ,
542           trxlines.INTERFACE_LINE_ID                ,
543           trxlines.DEFAULTING_ATTRIBUTE1            ,
544           trxlines.DEFAULTING_ATTRIBUTE2            ,
545           trxlines.DEFAULTING_ATTRIBUTE3            ,
546           trxlines.DEFAULTING_ATTRIBUTE4            ,
547           trxlines.DEFAULTING_ATTRIBUTE5            ,
548           trxlines.DEFAULTING_ATTRIBUTE6            ,
549           trxlines.DEFAULTING_ATTRIBUTE7            ,
550           trxlines.DEFAULTING_ATTRIBUTE8            ,
551           trxlines.DEFAULTING_ATTRIBUTE9            ,
552           trxlines.DEFAULTING_ATTRIBUTE10           ,
553           trxlines.HISTORICAL_TAX_CODE_ID           ,
554           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
555           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
556           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
557           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
558           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
559           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
560           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
561           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
562           trxlines.GLOBAL_ATTRIBUTE1,
563           to_number(null) TOTAL_INC_TAX_AMT     ,
564           trxlines.USER_UPD_DET_FACTORS_FLAG,
565           decode(p_event_class_rec.tax_event_type_code,'UPDATE',
566              decode(trxlines.line_level_action,'CREATE','I',
567                                                'CREATE_TAX_ONLY','I',
568                                                'APPLY_FROM','I',
569                                                'UNAPPLY_FROM','U',
570                                                'LINE_INFO_TAX_ONLY','I',
571                                                'CREATE_WITH_TAX','I',
572                                                'ALLOCATE_TAX_ONLY_ADJUSTMENT','I',
573                                                'COPY_AND_CREATE','I',
574                                                'RECORD_WITH_NO_TAX','I',
575                                                'NO_CHANGE','U',
576                                                'UPDATE','U',
577                                                'DISCARD','U',
578                                                'CANCEL','U',
579                                                'SYNCHRONIZE','U',
580                                                'DELETE','U') ,
581 	 	    null)INSERT_UPDATE_FLAG
582       /* The update insert flag is to determine the records that need to be inserted/updated
583 	  into zx_lines_det_factors depending on the line_level_action for tax event type UPDATE*/
584       FROM ZX_TRANSACTION_LINES_GT trxlines,
585            ZX_TRX_HEADERS_GT header
586       WHERE header.application_id = p_event_class_rec.application_id
587         AND header.entity_code = p_event_class_rec.entity_code
588         AND header.event_class_code = p_event_class_rec.event_class_code
589         AND header.trx_id = p_event_class_rec.trx_id
590         AND trxlines.application_id = header.application_id
591         AND trxlines.entity_code = header.entity_code
592         AND trxlines.event_class_code = header.event_class_code
593         AND trxlines.trx_id = header.trx_id
594 	  ORDER BY insert_update_flag desc;
595 	  /*ordering by insert_update_flag will fetch all the records to be updated first
596 	  into collection followed by the records to be inserted*/
597 
598 -- bug fix 5417887 begin
599 /* Cursor for GTT version of calculate tax as well as import_document_with_tax AI */
600   Cursor c_lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) is
601   SELECT  /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1) */
602           header.INTERNAL_ORGANIZATION_ID           ,
603           header.APPLICATION_ID                     ,
604           header.ENTITY_CODE                        ,
605           header.EVENT_CLASS_CODE                   ,
606           header.EVENT_TYPE_CODE                    ,
607           header.TRX_ID                             ,
608           trxlines.TRX_LEVEL_TYPE                   ,
609           trxlines.TRX_LINE_ID                      ,
610           trxlines.LINE_LEVEL_ACTION                ,
611           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE),  --Bugfix 4938879
612           header.TRX_DATE                           ,
613           header.TRX_DOC_REVISION                   ,
614           header.LEDGER_ID                          ,
615           header.TRX_CURRENCY_CODE                  ,
616           header.CURRENCY_CONVERSION_DATE           ,
617           header.CURRENCY_CONVERSION_RATE           ,
618           header.CURRENCY_CONVERSION_TYPE           ,
619           header.MINIMUM_ACCOUNTABLE_UNIT           ,
620           header.PRECISION                          ,
621           trxlines.TRX_LINE_CURRENCY_CODE           ,
622           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
623           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
624           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
625           trxlines.TRX_LINE_MAU                     ,
626           trxlines.TRX_LINE_PRECISION               ,
627           trxlines.TRX_SHIPPING_DATE                ,
628           trxlines.TRX_RECEIPT_DATE                 ,
629           header.LEGAL_ENTITY_ID                    ,
630           header.ROUNDING_SHIP_TO_PARTY_ID          ,
631           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
632           header.ROUNDING_BILL_TO_PARTY_ID          ,
633           header.ROUNDING_BILL_FROM_PARTY_ID        ,
634           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
635           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
636           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
637           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
638           header.ESTABLISHMENT_ID                   ,
639           trxlines.TRX_LINE_TYPE                    ,
640           trxlines.TRX_LINE_DATE                    ,
641           trxlines.TRX_BUSINESS_CATEGORY            ,
642           trxlines.LINE_INTENDED_USE                ,
643           trxlines.USER_DEFINED_FISC_CLASS          ,
644           trxlines.LINE_AMT                         ,
645           trxlines.TRX_LINE_QUANTITY                ,
646           trxlines.UNIT_PRICE                       ,
647           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
648           trxlines.EXEMPT_REASON                    ,
649           trxlines.CASH_DISCOUNT                    ,
650           trxlines.VOLUME_DISCOUNT                  ,
651           trxlines.TRADING_DISCOUNT                 ,
652           trxlines.TRANSFER_CHARGE                  ,
653           trxlines.TRANSPORTATION_CHARGE            ,
654           trxlines.INSURANCE_CHARGE                 ,
655           trxlines.OTHER_CHARGE                     ,
656           trxlines.PRODUCT_ID                       ,
657           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
658           trxlines.PRODUCT_ORG_ID                   ,
659           trxlines.UOM_CODE                         ,
660           trxlines.PRODUCT_TYPE                     ,
661           trxlines.PRODUCT_CODE                     ,
662           trxlines.PRODUCT_CATEGORY                 ,
663           trxlines.TRX_SIC_CODE                     ,
664           trxlines.FOB_POINT                        ,
665           trxlines.SHIP_TO_PARTY_ID                 ,
666           trxlines.SHIP_FROM_PARTY_ID               ,
667           trxlines.POA_PARTY_ID                     ,
668           trxlines.POO_PARTY_ID                     ,
669           trxlines.BILL_TO_PARTY_ID                 ,
670           trxlines.BILL_FROM_PARTY_ID               ,
671           trxlines.MERCHANT_PARTY_ID                ,
672           trxlines.SHIP_TO_PARTY_SITE_ID            ,
673           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
674           trxlines.POA_PARTY_SITE_ID                ,
675           trxlines.POO_PARTY_SITE_ID                ,
676           trxlines.BILL_TO_PARTY_SITE_ID            ,
677           trxlines.BILL_FROM_PARTY_SITE_ID          ,
678           trxlines.SHIP_TO_LOCATION_ID              ,
679           trxlines.SHIP_FROM_LOCATION_ID            ,
680           trxlines.POA_LOCATION_ID                  ,
681           trxlines.POO_LOCATION_ID                  ,
682           trxlines.BILL_TO_LOCATION_ID              ,
683           trxlines.BILL_FROM_LOCATION_ID            ,
684           trxlines.ACCOUNT_CCID                     ,
685           trxlines.ACCOUNT_STRING                   ,
686           trxlines.MERCHANT_PARTY_COUNTRY           ,
687           header.RECEIVABLES_TRX_TYPE_ID            ,
688           trxlines.REF_DOC_APPLICATION_ID           ,
689           trxlines.REF_DOC_ENTITY_CODE              ,
690           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
691           trxlines.REF_DOC_TRX_ID                   ,
692           trxlines.REF_DOC_LINE_ID                  ,
693           trxlines.REF_DOC_LINE_QUANTITY            ,
694           header.RELATED_DOC_APPLICATION_ID         ,
695           header.RELATED_DOC_ENTITY_CODE            ,
696           header.RELATED_DOC_EVENT_CLASS_CODE       ,
697           header.RELATED_DOC_TRX_ID                 ,
698           header.RELATED_DOC_NUMBER                 ,
699           header.RELATED_DOC_DATE                   ,
700           trxlines.APPLIED_FROM_APPLICATION_ID      ,
701           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
702           trxlines.APPLIED_FROM_ENTITY_CODE         ,
703           trxlines.APPLIED_FROM_TRX_ID              ,
704           trxlines.APPLIED_FROM_LINE_ID             ,
705           trxlines.APPLIED_FROM_TRX_NUMBER          ,
706           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
707           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
708           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
709           trxlines.ADJUSTED_DOC_TRX_ID              ,
710           trxlines.ADJUSTED_DOC_LINE_ID             ,
711           trxlines.ADJUSTED_DOC_NUMBER              ,
712           trxlines.ADJUSTED_DOC_DATE                ,
713           trxlines.APPLIED_TO_APPLICATION_ID        ,
714           trxlines.APPLIED_TO_ENTITY_CODE           ,
715           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
716           trxlines.APPLIED_TO_TRX_ID                ,
717           trxlines.APPLIED_TO_TRX_LINE_ID           ,
718           trxlines.TRX_ID_LEVEL2                    ,
719           trxlines.TRX_ID_LEVEL3                    ,
720           trxlines.TRX_ID_LEVEL4                    ,
721           trxlines.TRX_ID_LEVEL5                    ,
722           trxlines.TRX_ID_LEVEL6                    ,
723           header.TRX_NUMBER                         ,
724           header.TRX_DESCRIPTION                    ,
725           trxlines.TRX_LINE_NUMBER                  ,
726           trxlines.TRX_LINE_DESCRIPTION             ,
727           trxlines.PRODUCT_DESCRIPTION              ,
728           trxlines.TRX_WAYBILL_NUMBER               ,
729           header.TRX_COMMUNICATED_DATE              ,
730           trxlines.TRX_LINE_GL_DATE                 ,
731           header.BATCH_SOURCE_ID                    ,
732           header.BATCH_SOURCE_NAME                  ,
733           header.DOC_SEQ_ID                         ,
734           header.DOC_SEQ_NAME                       ,
735           header.DOC_SEQ_VALUE                      ,
736           header.TRX_DUE_DATE                       ,
737           header.TRX_TYPE_DESCRIPTION               ,
738           trxlines.MERCHANT_PARTY_NAME              ,
739           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
740           trxlines.MERCHANT_PARTY_REFERENCE         ,
741           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
742           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
743           trxlines.PAYING_PARTY_ID                  ,
744           trxlines.OWN_HQ_PARTY_ID                  ,
745           trxlines.TRADING_HQ_PARTY_ID              ,
746           trxlines.POI_PARTY_ID                     ,
747           trxlines.POD_PARTY_ID                     ,
748           trxlines.TITLE_TRANSFER_PARTY_ID          ,
749           trxlines.PAYING_PARTY_SITE_ID             ,
750           trxlines.OWN_HQ_PARTY_SITE_ID             ,
751           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
752           trxlines.POI_PARTY_SITE_ID                ,
753           trxlines.POD_PARTY_SITE_ID                ,
754           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
755           trxlines.PAYING_LOCATION_ID               ,
756           trxlines.OWN_HQ_LOCATION_ID               ,
757           trxlines.TRADING_HQ_LOCATION_ID           ,
758           trxlines.POC_LOCATION_ID                  ,
759           trxlines.POI_LOCATION_ID                  ,
760           trxlines.POD_LOCATION_ID                  ,
761           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
762           trxlines.ASSESSABLE_VALUE                 ,
763           trxlines.ASSET_FLAG                       ,
764           trxlines.ASSET_NUMBER                     ,
765           trxlines.ASSET_ACCUM_DEPRECIATION         ,
766           trxlines.ASSET_TYPE                       ,
767           trxlines.ASSET_COST                       ,
768           trxlines.NUMERIC1                         ,
769           trxlines.NUMERIC2                         ,
770           trxlines.NUMERIC3                         ,
771           trxlines.NUMERIC4                         ,
772           trxlines.NUMERIC5                         ,
773           trxlines.NUMERIC6                         ,
774           trxlines.NUMERIC7                         ,
775           trxlines.NUMERIC8                         ,
776           trxlines.NUMERIC9                         ,
777           trxlines.NUMERIC10                        ,
778           trxlines.CHAR1                            ,
779           trxlines.CHAR2                            ,
780           trxlines.CHAR3                            ,
781           trxlines.CHAR4                            ,
782           trxlines.CHAR5                            ,
783           trxlines.CHAR6                            ,
784           trxlines.CHAR7                            ,
785           trxlines.CHAR8                            ,
786           trxlines.CHAR9                            ,
787           trxlines.CHAR10                           ,
788           trxlines.DATE1                            ,
789           trxlines.DATE2                            ,
790           trxlines.DATE3                            ,
791           trxlines.DATE4                            ,
792           trxlines.DATE5                            ,
793           trxlines.DATE6                            ,
794           trxlines.DATE7                            ,
795           trxlines.DATE8                            ,
796           trxlines.DATE9                            ,
797           trxlines.DATE10                           ,
798           header.FIRST_PTY_ORG_ID                   ,
799           header.TAX_EVENT_CLASS_CODE               ,
800           header.TAX_EVENT_TYPE_CODE                ,
801           header.DOC_EVENT_STATUS                   ,
802           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
803           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
804           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
805           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
806           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
807           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
808           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
809           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
810           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
811           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
812           trxlines.POA_PARTY_TAX_PROF_ID            ,
813           trxlines.POO_PARTY_TAX_PROF_ID            ,
814           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
815           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
816           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
817           trxlines.POI_PARTY_TAX_PROF_ID            ,
818           trxlines.POD_PARTY_TAX_PROF_ID            ,
819           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
820           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
821           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
822           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
823           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
824           trxlines.POA_SITE_TAX_PROF_ID             ,
825           trxlines.POO_SITE_TAX_PROF_ID             ,
826           trxlines.PAYING_SITE_TAX_PROF_ID          ,
827           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
828           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
829           trxlines.POI_SITE_TAX_PROF_ID             ,
830           trxlines.POD_SITE_TAX_PROF_ID             ,
831           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
832           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
833           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
834           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
835           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
836           header.DOCUMENT_SUB_TYPE                  ,
837           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
838           header.SUPPLIER_TAX_INVOICE_DATE          ,
839           header.SUPPLIER_EXCHANGE_RATE             ,
840           header.TAX_INVOICE_DATE                   ,
841           header.TAX_INVOICE_NUMBER                 ,
842           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
843           header.QUOTE_FLAG                         ,
844           header.DEFAULT_TAXATION_COUNTRY           ,
845           trxlines.HISTORICAL_FLAG                  ,
846           header.INTERNAL_ORG_LOCATION_ID           ,
847           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
848           header.CTRL_TOTAL_HDR_TX_AMT              ,
849           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
850           null DIST_LEVEL_ACTION                    ,
851           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
852           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
853           to_number(null) TASK_ID                   ,
854           to_number(null) AWARD_ID                  ,
855           to_number(null) PROJECT_ID                ,
856           null EXPENDITURE_TYPE                     ,
857           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
858           null EXPENDITURE_ITEM_DATE                ,
859           to_number(null) TRX_LINE_DIST_AMT         ,
860           to_number(null) TRX_LINE_DIST_QUANTITY    ,
861           to_number(null) REF_DOC_CURR_CONV_RATE    ,
862           to_number(null) ITEM_DIST_NUMBER          ,
863           to_number(null) REF_DOC_DIST_ID           ,
864           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
865           to_number(null) TRX_LINE_DIST_ID          ,
866           to_number(null) APPLIED_FROM_DIST_ID      ,
867           to_number(null) ADJUSTED_DOC_DIST_ID      ,
868           to_number(null) OVERRIDING_RECOVERY_RATE  ,
869           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
870           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
871           header.PORT_OF_ENTRY_CODE                 ,
872           header.TAX_REPORTING_FLAG                 ,
873           null TAX_AMT_INCLUDED_FLAG                ,
874           null COMPOUNDING_TAX_FLAG                 ,
875           header.SHIP_THIRD_PTY_ACCT_ID             ,
876           header.BILL_THIRD_PTY_ACCT_ID             ,
877           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
878           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
879           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
880           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
881           header.PROVNL_TAX_DETERMINATION_DATE      ,
882           trxlines.START_EXPENSE_DATE               ,
883           header.TRX_BATCH_ID                       ,
884           header.APPLIED_TO_TRX_NUMBER              ,
885           trxlines.SOURCE_APPLICATION_ID            ,
886           trxlines.SOURCE_ENTITY_CODE               ,
887           trxlines.SOURCE_EVENT_CLASS_CODE          ,
888           trxlines.SOURCE_TRX_ID                    ,
889           trxlines.SOURCE_LINE_ID                   ,
890           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
891           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
892           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
893           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
894           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
895           header.APPLICATION_DOC_STATUS             ,
896           header.HDR_TRX_USER_KEY1                  ,
897           header.HDR_TRX_USER_KEY2                  ,
898           header.HDR_TRX_USER_KEY3                  ,
899           header.HDR_TRX_USER_KEY4                  ,
900           header.HDR_TRX_USER_KEY5                  ,
901           header.HDR_TRX_USER_KEY6                  ,
902           trxlines.LINE_TRX_USER_KEY1               ,
903           trxlines.LINE_TRX_USER_KEY2               ,
904           trxlines.LINE_TRX_USER_KEY3               ,
905           trxlines.LINE_TRX_USER_KEY4               ,
906           trxlines.LINE_TRX_USER_KEY5               ,
907           trxlines.LINE_TRX_USER_KEY6               ,
908           trxlines.SOURCE_TAX_LINE_ID               ,
909           trxlines.EXEMPTION_CONTROL_FLAG           ,
910           to_number(null) REVERSED_APPLN_ID         ,
911           null REVERSED_ENTITY_CODE                 ,
912           null REVERSED_EVNT_CLS_CODE               ,
913           to_number(null) REVERSED_TRX_ID           ,
914           null REVERSED_TRX_LEVEL_TYPE              ,
915           to_number(null) REVERSED_TRX_LINE_ID      ,
916           trxlines.EXEMPT_REASON_CODE               ,
917           trxlines.INTERFACE_ENTITY_CODE            ,
918           trxlines.INTERFACE_LINE_ID                ,
919           trxlines.DEFAULTING_ATTRIBUTE1            ,
920           trxlines.DEFAULTING_ATTRIBUTE2            ,
921           trxlines.DEFAULTING_ATTRIBUTE3            ,
922           trxlines.DEFAULTING_ATTRIBUTE4            ,
923           trxlines.DEFAULTING_ATTRIBUTE5            ,
924           trxlines.DEFAULTING_ATTRIBUTE6            ,
925           trxlines.DEFAULTING_ATTRIBUTE7            ,
926           trxlines.DEFAULTING_ATTRIBUTE8            ,
927           trxlines.DEFAULTING_ATTRIBUTE9            ,
928           trxlines.DEFAULTING_ATTRIBUTE10           ,
929           trxlines.HISTORICAL_TAX_CODE_ID           ,
930           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
931           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
932           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
933           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
934           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
935           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
936           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
937           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
938           trxlines.GLOBAL_ATTRIBUTE1,
939           to_number(null) TOTAL_INC_TAX_AMT     ,
940           trxlines.USER_UPD_DET_FACTORS_FLAG,
941           decode(trxlines.line_level_action,'CREATE','I',
942                                                'CREATE_TAX_ONLY','I',
943                                                'APPLY_FROM','I',
944                                                'INTERCOMPANY_CREATE','I',
945                                                'UNAPPLY_FROM','U',
946                                                'LINE_INFO_TAX_ONLY','I',
947                                                'CREATE_WITH_TAX','I',
948                                                'ALLOCATE_TAX_ONLY_ADJUSTMENT','I',
949                                                'COPY_AND_CREATE','I',
950                                                'RECORD_WITH_NO_TAX','I',
951                                                'NO_CHANGE','U',
952                                                'UPDATE','U',
953                                                'DISCARD','U',
954                                                'CANCEL','U',
955                                                'SYNCHRONIZE','U',
956                                                'DELETE','U')  INSERT_UPDATE_FLAG
957       /* The update insert flag is to determine the records that need to be inserted/updated
958 	  into zx_lines_det_factors depending on the line_level_action for tax event type UPDATE*/
959       FROM ZX_TRANSACTION_LINES_GT trxlines,
960            ZX_TRX_HEADERS_GT header
961       WHERE trxlines.application_id = header.application_id
962         AND trxlines.entity_code = header.entity_code
963         AND trxlines.event_class_code = header.event_class_code
964         AND trxlines.trx_id = header.trx_id
965         AND header.event_class_code = p_event_class_rec.event_class_code
966         AND header.entity_code = p_event_class_rec.entity_code
967         AND header.application_id = p_event_class_rec.application_id
968         AND NVL(header.validation_check_flag, 'Y') = 'Y'
969         AND NOT EXISTS(
970               SELECT 1
971                 FROM ZX_ERRORS_GT err
972                WHERE err.application_id = header.application_id
973                  AND err.entity_code = header.entity_code
974                  AND err.event_class_code = header.event_class_code
975                  AND err.trx_id = header.trx_id)
976    ORDER BY header.related_doc_application_id ASC NULLS FIRST ,
977             header.legal_entity_id ASC,
978             header.trx_date ASC,
979             header.trx_id ASC,
980             INSERT_UPDATE_FLAG DESC;
981 	  /*ordering by insert_update_flag will fetch all the records to be updated first
982 	  into collection followed by the records to be inserted
983 	  ASSUMPTION: For multiple documents scenario, this flag will always be I */
984 
985 -- bug fix 5417887 end
986 
987  /* Cursor for override_tax*/
988  CURSOR get_overridden_lines (p_event_id NUMBER) IS
989    SELECT  INTERNAL_ORGANIZATION_ID,
990            APPLICATION_ID,
991            ENTITY_CODE,
992            EVENT_CLASS_CODE,
993            EVENT_TYPE_CODE,
994            DOC_EVENT_STATUS,
995            LINE_LEVEL_ACTION,
996            TRX_ID,
997            TRX_LINE_ID,
998            TRX_LEVEL_TYPE,
999            TRX_DATE,
1000            TRX_DOC_REVISION,
1001            LEDGER_ID,
1002            TRX_CURRENCY_CODE,
1003            CURRENCY_CONVERSION_DATE,
1004            CURRENCY_CONVERSION_RATE,
1005            CURRENCY_CONVERSION_TYPE,
1006            MINIMUM_ACCOUNTABLE_UNIT,
1007            PRECISION,
1008            TRX_LINE_CURRENCY_CODE,
1009            TRX_LINE_CURRENCY_CONV_DATE,
1010            TRX_LINE_CURRENCY_CONV_RATE,
1011            TRX_LINE_CURRENCY_CONV_TYPE,
1012            TRX_LINE_MAU,
1013            TRX_LINE_PRECISION,
1014            LEGAL_ENTITY_ID,
1015            ESTABLISHMENT_ID,
1016            RECEIVABLES_TRX_TYPE_ID,
1017            DEFAULT_TAXATION_COUNTRY,
1018            TRX_NUMBER,
1019            TRX_LINE_NUMBER,
1020            TRX_LINE_DESCRIPTION,
1021            TRX_DESCRIPTION,
1022            TRX_COMMUNICATED_DATE,
1023            BATCH_SOURCE_ID,
1024            BATCH_SOURCE_NAME,
1025            DOC_SEQ_ID,
1026            DOC_SEQ_NAME,
1027            DOC_SEQ_VALUE,
1028            TRX_DUE_DATE,
1029            TRX_TYPE_DESCRIPTION,
1030            DOCUMENT_SUB_TYPE,
1031            SUPPLIER_TAX_INVOICE_NUMBER	,
1032            SUPPLIER_TAX_INVOICE_DATE,
1033            SUPPLIER_EXCHANGE_RATE,
1034            TAX_INVOICE_DATE,
1035            TAX_INVOICE_NUMBER,
1036            FIRST_PTY_ORG_ID,
1037            TAX_EVENT_CLASS_CODE,
1038            TAX_EVENT_TYPE_CODE,
1039            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
1040            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1041            RDNG_BILL_TO_PTY_TX_PROF_ID	,
1042            RDNG_BILL_FROM_PTY_TX_PROF_ID,
1043            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
1044            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1045            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
1046            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1047            LINE_INTENDED_USE ,
1048            TRX_LINE_TYPE ,
1049            TRX_SHIPPING_DATE,
1050            TRX_RECEIPT_DATE,
1051            TRX_SIC_CODE,
1052            FOB_POINT ,
1053            TRX_WAYBILL_NUMBER,
1054            PRODUCT_ID,
1055            PRODUCT_FISC_CLASSIFICATION ,
1056            PRODUCT_ORG_ID,
1057            UOM_CODE,
1058            PRODUCT_TYPE ,
1059            PRODUCT_CODE,
1060            PRODUCT_CATEGORY ,
1061            PRODUCT_DESCRIPTION,
1062            USER_DEFINED_FISC_CLASS,
1063            LINE_AMT,
1064            TRX_LINE_QUANTITY ,
1065            UNIT_PRICE,
1066            CASH_DISCOUNT,
1067            VOLUME_DISCOUNT,
1068            TRADING_DISCOUNT,
1069            TRANSFER_CHARGE,
1070            TRANSPORTATION_CHARGE,
1071            INSURANCE_CHARGE,
1072            OTHER_CHARGE,
1073            ASSESSABLE_VALUE,
1074            ASSET_FLAG,
1075            ASSET_NUMBER,
1076            ASSET_ACCUM_DEPRECIATION,
1077            ASSET_TYPE,
1078            ASSET_COST,
1079            RELATED_DOC_APPLICATION_ID,
1080            RELATED_DOC_ENTITY_CODE,
1081            RELATED_DOC_EVENT_CLASS_CODE,
1082            RELATED_DOC_TRX_ID,
1083            RELATED_DOC_NUMBER,
1084            RELATED_DOC_DATE,
1085            APPLIED_FROM_APPLICATION_ID,
1086            APPLIED_FROM_ENTITY_CODE,
1087            APPLIED_FROM_EVENT_CLASS_CODE,
1088            APPLIED_FROM_TRX_ID,
1089            APPLIED_FROM_LINE_ID,
1090            APPLIED_FROM_TRX_NUMBER,
1091            ADJUSTED_DOC_APPLICATION_ID,
1092            ADJUSTED_DOC_ENTITY_CODE,
1093            ADJUSTED_DOC_EVENT_CLASS_CODE,
1094            ADJUSTED_DOC_TRX_ID,
1095            ADJUSTED_DOC_LINE_ID,
1096            ADJUSTED_DOC_NUMBER,
1097            ADJUSTED_DOC_DATE,
1098            APPLIED_TO_APPLICATION_ID,
1099            APPLIED_TO_ENTITY_CODE,
1100            APPLIED_TO_EVENT_CLASS_CODE,
1101            APPLIED_TO_TRX_ID ,
1102            APPLIED_TO_TRX_LINE_ID,
1103            TRX_ID_LEVEL2,
1104            TRX_ID_LEVEL3,
1105            TRX_ID_LEVEL4,
1106            TRX_ID_LEVEL5,
1107            TRX_ID_LEVEL6,
1108            TRX_BUSINESS_CATEGORY,
1109            EXEMPT_CERTIFICATE_NUMBER,
1110            EXEMPT_REASON,
1111            HISTORICAL_FLAG,
1112            TRX_LINE_GL_DATE,
1113            PROVNL_TAX_DETERMINATION_DATE,
1114            LINE_AMT_INCLUDES_TAX_FLAG,
1115            ACCOUNT_CCID,
1116            ACCOUNT_STRING,
1117            MERCHANT_PARTY_TAX_PROF_ID,
1118            HQ_ESTB_PARTY_TAX_PROF_ID,
1119            NUMERIC1,
1120            NUMERIC2,
1121            NUMERIC3,
1122            NUMERIC4,
1123            NUMERIC5,
1124            NUMERIC6,
1125            NUMERIC7,
1126            NUMERIC8,
1127            NUMERIC9,
1128            NUMERIC10,
1129            CHAR1,
1130            CHAR2,
1131            CHAR3,
1132            CHAR4,
1133            CHAR5,
1134            CHAR6,
1135            CHAR7,
1136            CHAR8,
1137            CHAR9,
1138            CHAR10,
1139            DATE1,
1140            DATE2,
1141            DATE3,
1142            DATE4,
1143            DATE5,
1144            DATE6,
1145            DATE7,
1146            DATE8,
1147            DATE9,
1148            DATE10,
1149            MERCHANT_PARTY_NAME,
1150            MERCHANT_PARTY_DOCUMENT_NUMBER,
1151            MERCHANT_PARTY_REFERENCE,
1152            MERCHANT_PARTY_TAXPAYER_ID,
1153            MERCHANT_PARTY_TAX_REG_NUMBER,
1154            MERCHANT_PARTY_ID,
1155            MERCHANT_PARTY_COUNTRY,
1156            SHIP_TO_LOCATION_ID,
1157            SHIP_FROM_LOCATION_ID,
1158            POA_LOCATION_ID,
1159            POO_LOCATION_ID,
1160            BILL_TO_LOCATION_ID,
1161            BILL_FROM_LOCATION_ID,
1162            PAYING_LOCATION_ID,
1163            OWN_HQ_LOCATION_ID,
1164            TRADING_HQ_LOCATION_ID,
1165            POC_LOCATION_ID,
1166            POI_LOCATION_ID,
1167            POD_LOCATION_ID,
1168            TITLE_TRANSFER_LOCATION_ID,
1169            SHIP_TO_PARTY_TAX_PROF_ID ,
1170            SHIP_FROM_PARTY_TAX_PROF_ID,
1171            POA_PARTY_TAX_PROF_ID,
1172            POO_PARTY_TAX_PROF_ID,
1173            PAYING_PARTY_TAX_PROF_ID,
1174            OWN_HQ_PARTY_TAX_PROF_ID,
1175            TRADING_HQ_PARTY_TAX_PROF_ID,
1176            POI_PARTY_TAX_PROF_ID,
1177            POD_PARTY_TAX_PROF_ID,
1178            BILL_TO_PARTY_TAX_PROF_ID,
1179            BILL_FROM_PARTY_TAX_PROF_ID,
1180            TITLE_TRANS_PARTY_TAX_PROF_ID,
1181            SHIP_TO_SITE_TAX_PROF_ID,
1182            SHIP_FROM_SITE_TAX_PROF_ID,
1183            POA_SITE_TAX_PROF_ID,
1184            POO_SITE_TAX_PROF_ID,
1185            PAYING_SITE_TAX_PROF_ID,
1186            OWN_HQ_SITE_TAX_PROF_ID,
1187            TRADING_HQ_SITE_TAX_PROF_ID,
1188            POI_SITE_TAX_PROF_ID,
1189            POD_SITE_TAX_PROF_ID,
1190            BILL_TO_SITE_TAX_PROF_ID,
1191            BILL_FROM_SITE_TAX_PROF_ID,
1192            TITLE_TRANS_SITE_TAX_PROF_ID,
1193            CTRL_HDR_TX_APPL_FLAG,
1194            CTRL_TOTAL_LINE_TX_AMT,
1195            CTRL_TOTAL_HDR_TX_AMT,
1196            REF_DOC_APPLICATION_ID,
1197            REF_DOC_ENTITY_CODE,
1198            REF_DOC_EVENT_CLASS_CODE,
1199            REF_DOC_TRX_ID,
1200            REF_DOC_LINE_ID,
1201            REF_DOC_LINE_QUANTITY,
1202            LINE_CLASS,
1203            TRX_LINE_DATE,
1204            INPUT_TAX_CLASSIFICATION_CODE,
1205            OUTPUT_TAX_CLASSIFICATION_CODE,
1206            INTERNAL_ORG_LOCATION_ID,
1207            PORT_OF_ENTRY_CODE,
1208            TAX_REPORTING_FLAG,
1209            TAX_AMT_INCLUDED_FLAG,
1210            COMPOUNDING_TAX_FLAG,
1211            SHIP_THIRD_PTY_ACCT_ID,
1212            BILL_THIRD_PTY_ACCT_ID,
1213            SHIP_THIRD_PTY_ACCT_SITE_ID,
1214            BILL_THIRD_PTY_ACCT_SITE_ID,
1215            SHIP_TO_CUST_ACCT_SITE_USE_ID,
1216            BILL_TO_CUST_ACCT_SITE_USE_ID,
1217            START_EXPENSE_DATE,
1218            TRX_BATCH_ID,
1219            APPLIED_TO_TRX_NUMBER,
1220            SOURCE_APPLICATION_ID,
1221            SOURCE_ENTITY_CODE,
1222            SOURCE_EVENT_CLASS_CODE,
1223            SOURCE_TRX_ID,
1224            SOURCE_LINE_ID,
1225            SOURCE_TRX_LEVEL_TYPE,
1226            REF_DOC_TRX_LEVEL_TYPE,
1227            APPLIED_TO_TRX_LEVEL_TYPE,
1228            APPLIED_FROM_TRX_LEVEL_TYPE,
1229            ADJUSTED_DOC_TRX_LEVEL_TYPE,
1230            APPLICATION_DOC_STATUS,
1231            HDR_TRX_USER_KEY1,
1232            HDR_TRX_USER_KEY2,
1233            HDR_TRX_USER_KEY3,
1234            HDR_TRX_USER_KEY4,
1235            HDR_TRX_USER_KEY5,
1236            HDR_TRX_USER_KEY6,
1237            LINE_TRX_USER_KEY1,
1238            LINE_TRX_USER_KEY2,
1239            LINE_TRX_USER_KEY3,
1240            LINE_TRX_USER_KEY4,
1241            LINE_TRX_USER_KEY5,
1242            LINE_TRX_USER_KEY6,
1243            SOURCE_TAX_LINE_ID,
1244            EXEMPTION_CONTROL_FLAG,
1245            EXEMPT_REASON_CODE,
1246            INTERFACE_ENTITY_CODE,
1247            INTERFACE_LINE_ID,
1248            DEFAULTING_ATTRIBUTE1,
1249            DEFAULTING_ATTRIBUTE2,
1250            DEFAULTING_ATTRIBUTE3,
1251            DEFAULTING_ATTRIBUTE4,
1252            DEFAULTING_ATTRIBUTE5,
1253            DEFAULTING_ATTRIBUTE6,
1254            DEFAULTING_ATTRIBUTE7,
1255            DEFAULTING_ATTRIBUTE8,
1256            DEFAULTING_ATTRIBUTE9,
1257            DEFAULTING_ATTRIBUTE10,
1258            HISTORICAL_TAX_CODE_ID,
1259            GLOBAL_ATTRIBUTE_CATEGORY,
1260            GLOBAL_ATTRIBUTE1,
1261            TOTAL_INC_TAX_AMT,
1262            USER_UPD_DET_FACTORS_FLAG
1263          FROM  ZX_LINES_DET_FACTORS
1264          WHERE event_id = p_event_id;
1265 
1266  /* Cursor for windows (Determining Factors) version of calculate tax*/
1267  CURSOR get_lines_det_factors(p_event_class_rec zx_api_pub.event_class_rec_type)  IS
1268    SELECT  INTERNAL_ORGANIZATION_ID,
1269            APPLICATION_ID,
1270            ENTITY_CODE,
1271            EVENT_CLASS_CODE,
1272            nvl(p_event_class_rec.EVENT_TYPE_CODE,EVENT_TYPE_CODE),
1273            DOC_EVENT_STATUS,
1274            LINE_LEVEL_ACTION,
1275            TRX_ID,
1276            TRX_LINE_ID,
1277            TRX_LEVEL_TYPE,
1278            TRX_DATE,
1279            TRX_DOC_REVISION,
1280            LEDGER_ID,
1281            TRX_CURRENCY_CODE,
1282            CURRENCY_CONVERSION_DATE,
1283            CURRENCY_CONVERSION_RATE,
1284            CURRENCY_CONVERSION_TYPE,
1285            MINIMUM_ACCOUNTABLE_UNIT,
1286            PRECISION,
1287            TRX_LINE_CURRENCY_CODE,
1288            TRX_LINE_CURRENCY_CONV_DATE,
1289            TRX_LINE_CURRENCY_CONV_RATE,
1290            TRX_LINE_CURRENCY_CONV_TYPE,
1291            TRX_LINE_MAU,
1292            TRX_LINE_PRECISION,
1293            LEGAL_ENTITY_ID,
1294            ESTABLISHMENT_ID,
1295            RECEIVABLES_TRX_TYPE_ID,
1296            DEFAULT_TAXATION_COUNTRY,
1297            TRX_NUMBER,
1298            TRX_LINE_NUMBER,
1299            TRX_LINE_DESCRIPTION,
1300            TRX_DESCRIPTION,
1301            TRX_COMMUNICATED_DATE,
1302            BATCH_SOURCE_ID,
1303            BATCH_SOURCE_NAME,
1304            DOC_SEQ_ID,
1305            DOC_SEQ_NAME,
1306            DOC_SEQ_VALUE,
1307            TRX_DUE_DATE,
1308            TRX_TYPE_DESCRIPTION,
1309            DOCUMENT_SUB_TYPE,
1310            SUPPLIER_TAX_INVOICE_NUMBER,
1311            SUPPLIER_TAX_INVOICE_DATE,
1312            SUPPLIER_EXCHANGE_RATE,
1313            TAX_INVOICE_DATE,
1314            TAX_INVOICE_NUMBER,
1315            FIRST_PTY_ORG_ID,
1316            TAX_EVENT_CLASS_CODE,
1317            nvl(p_event_class_rec.TAX_EVENT_TYPE_CODE,TAX_EVENT_TYPE_CODE),
1318            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
1319            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1320            RDNG_BILL_TO_PTY_TX_PROF_ID	,
1321            RDNG_BILL_FROM_PTY_TX_PROF_ID,
1322            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
1323            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1324            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
1325            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1326            LINE_INTENDED_USE ,
1327            TRX_LINE_TYPE ,
1328            TRX_SHIPPING_DATE,
1329            TRX_RECEIPT_DATE,
1330            TRX_SIC_CODE,
1331            FOB_POINT ,
1332            TRX_WAYBILL_NUMBER,
1333            PRODUCT_ID,
1334            PRODUCT_FISC_CLASSIFICATION ,
1335            PRODUCT_ORG_ID,
1336            UOM_CODE,
1337            PRODUCT_TYPE ,
1338            PRODUCT_CODE,
1339            PRODUCT_CATEGORY ,
1340            PRODUCT_DESCRIPTION,
1341            USER_DEFINED_FISC_CLASS,
1342            LINE_AMT,
1343            TRX_LINE_QUANTITY ,
1344            UNIT_PRICE,
1345            CASH_DISCOUNT,
1346            VOLUME_DISCOUNT,
1347            TRADING_DISCOUNT,
1348            TRANSFER_CHARGE,
1349            TRANSPORTATION_CHARGE,
1350            INSURANCE_CHARGE,
1351            OTHER_CHARGE,
1352            ASSESSABLE_VALUE,
1353            ASSET_FLAG,
1354            ASSET_NUMBER,
1355            ASSET_ACCUM_DEPRECIATION,
1356            ASSET_TYPE,
1357            ASSET_COST,
1358            RELATED_DOC_APPLICATION_ID,
1359            RELATED_DOC_ENTITY_CODE,
1360            RELATED_DOC_EVENT_CLASS_CODE,
1361            RELATED_DOC_TRX_ID,
1362            RELATED_DOC_NUMBER,
1363            RELATED_DOC_DATE,
1364            APPLIED_FROM_APPLICATION_ID,
1365            APPLIED_FROM_ENTITY_CODE,
1366            APPLIED_FROM_EVENT_CLASS_CODE,
1367            APPLIED_FROM_TRX_ID,
1368            APPLIED_FROM_LINE_ID,
1369            APPLIED_FROM_TRX_NUMBER,
1370            ADJUSTED_DOC_APPLICATION_ID,
1371            ADJUSTED_DOC_ENTITY_CODE,
1372            ADJUSTED_DOC_EVENT_CLASS_CODE,
1373            ADJUSTED_DOC_TRX_ID,
1374            ADJUSTED_DOC_LINE_ID,
1375            ADJUSTED_DOC_NUMBER,
1376            ADJUSTED_DOC_DATE,
1377            APPLIED_TO_APPLICATION_ID,
1378            APPLIED_TO_ENTITY_CODE,
1379            APPLIED_TO_EVENT_CLASS_CODE,
1380            APPLIED_TO_TRX_ID ,
1381            APPLIED_TO_TRX_LINE_ID,
1382            TRX_ID_LEVEL2,
1383            TRX_ID_LEVEL3,
1384            TRX_ID_LEVEL4,
1385            TRX_ID_LEVEL5,
1386            TRX_ID_LEVEL6,
1387            TRX_BUSINESS_CATEGORY,
1388            EXEMPT_CERTIFICATE_NUMBER,
1389            EXEMPT_REASON,
1390            HISTORICAL_FLAG,
1391            TRX_LINE_GL_DATE,
1392            PROVNL_TAX_DETERMINATION_DATE,
1393            LINE_AMT_INCLUDES_TAX_FLAG,
1394            ACCOUNT_CCID,
1395            ACCOUNT_STRING,
1396            MERCHANT_PARTY_TAX_PROF_ID,
1397            HQ_ESTB_PARTY_TAX_PROF_ID,
1398            NUMERIC1,
1399            NUMERIC2,
1400            NUMERIC3,
1401            NUMERIC4,
1402            NUMERIC5,
1403            NUMERIC6,
1404            NUMERIC7,
1405            NUMERIC8,
1406            NUMERIC9,
1407            NUMERIC10,
1408            CHAR1,
1409            CHAR2,
1410            CHAR3,
1411            CHAR4,
1412            CHAR5,
1413            CHAR6,
1414            CHAR7,
1415            CHAR8,
1416            CHAR9,
1417            CHAR10,
1418            DATE1,
1419            DATE2,
1420            DATE3,
1421            DATE4,
1422            DATE5,
1423            DATE6,
1424            DATE7,
1425            DATE8,
1426            DATE9,
1427            DATE10,
1428            MERCHANT_PARTY_NAME,
1429            MERCHANT_PARTY_DOCUMENT_NUMBER,
1430            MERCHANT_PARTY_REFERENCE,
1431            MERCHANT_PARTY_TAXPAYER_ID,
1432            MERCHANT_PARTY_TAX_REG_NUMBER,
1433            MERCHANT_PARTY_ID,
1434            MERCHANT_PARTY_COUNTRY,
1435            SHIP_TO_LOCATION_ID,
1436            SHIP_FROM_LOCATION_ID,
1437            POA_LOCATION_ID,
1438            POO_LOCATION_ID,
1439            BILL_TO_LOCATION_ID,
1440            BILL_FROM_LOCATION_ID,
1441            PAYING_LOCATION_ID,
1442            OWN_HQ_LOCATION_ID,
1443            TRADING_HQ_LOCATION_ID,
1444            POC_LOCATION_ID,
1445            POI_LOCATION_ID,
1446            POD_LOCATION_ID,
1447            TITLE_TRANSFER_LOCATION_ID,
1448            SHIP_TO_PARTY_TAX_PROF_ID ,
1449            SHIP_FROM_PARTY_TAX_PROF_ID,
1450            POA_PARTY_TAX_PROF_ID,
1451            POO_PARTY_TAX_PROF_ID,
1452            PAYING_PARTY_TAX_PROF_ID,
1453            OWN_HQ_PARTY_TAX_PROF_ID,
1454            TRADING_HQ_PARTY_TAX_PROF_ID,
1455            POI_PARTY_TAX_PROF_ID,
1456            POD_PARTY_TAX_PROF_ID,
1457            BILL_TO_PARTY_TAX_PROF_ID,
1458            BILL_FROM_PARTY_TAX_PROF_ID,
1459            TITLE_TRANS_PARTY_TAX_PROF_ID,
1460            SHIP_TO_SITE_TAX_PROF_ID,
1461            SHIP_FROM_SITE_TAX_PROF_ID,
1462            POA_SITE_TAX_PROF_ID,
1463            POO_SITE_TAX_PROF_ID,
1464            PAYING_SITE_TAX_PROF_ID,
1465            OWN_HQ_SITE_TAX_PROF_ID,
1466            TRADING_HQ_SITE_TAX_PROF_ID,
1467            POI_SITE_TAX_PROF_ID,
1468            POD_SITE_TAX_PROF_ID,
1469            BILL_TO_SITE_TAX_PROF_ID,
1470            BILL_FROM_SITE_TAX_PROF_ID,
1471            TITLE_TRANS_SITE_TAX_PROF_ID,
1472            CTRL_HDR_TX_APPL_FLAG,
1473            CTRL_TOTAL_LINE_TX_AMT,
1474            CTRL_TOTAL_HDR_TX_AMT,
1475            REF_DOC_APPLICATION_ID,
1476            REF_DOC_ENTITY_CODE,
1477            REF_DOC_EVENT_CLASS_CODE,
1478            REF_DOC_TRX_ID,
1479            REF_DOC_LINE_ID,
1480            REF_DOC_LINE_QUANTITY,
1481            LINE_CLASS,
1482            TRX_LINE_DATE,
1483            INPUT_TAX_CLASSIFICATION_CODE,
1484            OUTPUT_TAX_CLASSIFICATION_CODE,
1485            INTERNAL_ORG_LOCATION_ID,
1486            PORT_OF_ENTRY_CODE,
1487            TAX_REPORTING_FLAG,
1488            TAX_AMT_INCLUDED_FLAG,
1489            COMPOUNDING_TAX_FLAG,
1490            SHIP_THIRD_PTY_ACCT_ID,
1491            BILL_THIRD_PTY_ACCT_ID,
1492            SHIP_THIRD_PTY_ACCT_SITE_ID,
1493            BILL_THIRD_PTY_ACCT_SITE_ID,
1494            SHIP_TO_CUST_ACCT_SITE_USE_ID,
1495            BILL_TO_CUST_ACCT_SITE_USE_ID,
1496            START_EXPENSE_DATE,
1497            TRX_BATCH_ID,
1498            APPLIED_TO_TRX_NUMBER,
1499            SOURCE_APPLICATION_ID,
1500            SOURCE_ENTITY_CODE,
1501            SOURCE_EVENT_CLASS_CODE,
1502            SOURCE_TRX_ID,
1503            SOURCE_LINE_ID,
1504            SOURCE_TRX_LEVEL_TYPE,
1505            REF_DOC_TRX_LEVEL_TYPE,
1506            APPLIED_TO_TRX_LEVEL_TYPE,
1507            APPLIED_FROM_TRX_LEVEL_TYPE,
1508            ADJUSTED_DOC_TRX_LEVEL_TYPE,
1509            APPLICATION_DOC_STATUS,
1510            HDR_TRX_USER_KEY1,
1511            HDR_TRX_USER_KEY2,
1512            HDR_TRX_USER_KEY3,
1513            HDR_TRX_USER_KEY4,
1514            HDR_TRX_USER_KEY5,
1515            HDR_TRX_USER_KEY6,
1516            LINE_TRX_USER_KEY1,
1517            LINE_TRX_USER_KEY2,
1518            LINE_TRX_USER_KEY3,
1519            LINE_TRX_USER_KEY4,
1520            LINE_TRX_USER_KEY5,
1521            LINE_TRX_USER_KEY6,
1522            null DIST_LEVEL_ACTION,
1523            to_number(null) ADJUSTED_DOC_TASK_DIST_ID,
1524            to_number(null) APPLIED_FROM_TAX_DIST_ID,
1525            to_number(null) TASK_ID,
1526            to_number(null) AWARD_ID,
1527            to_number(null) PROJECT_ID,
1528            null EXPENDITURE_TYPE,
1529            to_number(null) EXPENDITURE_ORGANIZATION_ID,
1530            null EXPENDITURE_ITEM_DATE,
1531            to_number(null) TRX_LINE_DIST_AMT,
1532            to_number(null) TRX_LINE_DIST_QUANTITY,
1533            to_number(null) REF_DOC_CURR_CONV_RATE,
1534            to_number(null) ITEM_DIST_NUMBER,
1535            to_number(null) REF_DOC_DIST_ID,
1536            to_number(null) TRX_LINE_DIST_TAX_AMT,
1537            to_number(null) TRX_LINE_DIST_ID,
1538            to_number(null) APPLIED_FROM_DIST_ID,
1539            to_number(null) ADJUSTED_DOC_DIST_ID,
1540            to_number(null) OVERRIDING_RECOVERY_RATE,
1541            null TAX_AMT_INCLUDED_FLAG,
1542            null COMPOUNDING_TAX_FLAG,
1543            SOURCE_TAX_LINE_ID,
1544            EXEMPTION_CONTROL_FLAG,
1545            EXEMPT_REASON_CODE,
1546            INTERFACE_ENTITY_CODE,
1547            INTERFACE_LINE_ID,
1548            DEFAULTING_ATTRIBUTE1,
1549            DEFAULTING_ATTRIBUTE2,
1550            DEFAULTING_ATTRIBUTE3,
1551            DEFAULTING_ATTRIBUTE4,
1552            DEFAULTING_ATTRIBUTE5,
1553            DEFAULTING_ATTRIBUTE6,
1554            DEFAULTING_ATTRIBUTE7,
1555            DEFAULTING_ATTRIBUTE8,
1556            DEFAULTING_ATTRIBUTE9,
1557            DEFAULTING_ATTRIBUTE10,
1558            HISTORICAL_TAX_CODE_ID,
1559            GLOBAL_ATTRIBUTE_CATEGORY,
1560            GLOBAL_ATTRIBUTE1,
1561            TOTAL_INC_TAX_AMT,
1562            USER_UPD_DET_FACTORS_FLAG
1563       FROM ZX_LINES_DET_FACTORS
1564      WHERE application_id = p_event_class_rec.application_id
1565 	   AND entity_code = p_event_class_rec.entity_code
1566 	   AND event_class_code = p_event_class_rec.event_class_code
1567 	   AND trx_id = p_event_class_rec.trx_id
1568 	   AND tax_processing_completed_flag = 'N';
1569 
1570 
1571   CURSOR prtnr_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1572   SELECT zl.tax_regime_id,
1573          zl.tax_regime_code,
1574          zl.tax_provider_id,
1575          regimes.effective_from,
1576          regimes.effective_to
1577     FROM ZX_LINES zl,
1578          ZX_REGIMES_B regimes
1579    WHERE zl.application_id = p_event_class_rec.application_id
1580      AND zl.entity_code = p_event_class_rec.entity_code
1581      AND zl.event_class_code = p_event_class_rec.event_class_code
1582      AND zl.trx_id = p_event_class_rec.trx_id
1583      AND zl.tax_provider_id is not null
1584      AND zl.tax_regime_id = regimes.tax_regime_id;
1585      --AND zl.content_owner_id = p_event_class_rec.first_pty_org_id
1586   prtnr_tax_lines    prtnr_tax_lines_csr%ROWTYPE;
1587 
1588 
1589   CURSOR app_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1590   SELECT ztlar.tax_regime_id,
1591          ztlar.tax_regime_code,
1592          ztlar.tax_provider_id,
1593          ztlar.trx_line_id,
1594          regimes.effective_from,
1595          regimes.effective_to
1596     FROM ZX_TRX_LINE_APP_REGIMES ztlar,
1597          ZX_REGIMES_B regimes
1598    WHERE ztlar.application_id = p_event_class_rec.application_id
1599      AND ztlar.entity_code = p_event_class_rec.entity_code
1600      AND ztlar.event_class_code = p_event_class_rec.event_class_code
1601      AND ztlar.trx_id = p_event_class_rec.trx_id
1602      AND ztlar.tax_provider_id is not null
1603      AND ztlar.tax_regime_id = regimes.tax_regime_id;
1604      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1605 
1606   CURSOR app_tax_lines_csr2(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1607   SELECT zxlines.tax_regime_id,
1608          zxlines.tax_regime_code,
1609          zxlines.tax_provider_id,
1610          zxlines.trx_line_id,
1611          regimes.effective_from,
1612          regimes.effective_to
1613     FROM ZX_LINES zxlines,
1614          ZX_REGIMES_B regimes
1615    WHERE zxlines.application_id = p_event_class_rec.application_id
1616      AND zxlines.entity_code = p_event_class_rec.entity_code
1617      AND zxlines.event_class_code = p_event_class_rec.event_class_code
1618      AND zxlines.trx_id = p_event_class_rec.trx_id
1619      AND zxlines.tax_provider_id is not null
1620      AND zxlines.tax_regime_id = regimes.tax_regime_id;
1621      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1622 
1623   app_tax_lines  app_tax_lines_csr%ROWTYPE;
1624 
1625   CURSOR update_trx_line_app_reg_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1626   SELECT ztlar.tax_regime_id,
1627          ztlar.tax_regime_code,
1628          ztlar.tax_provider_id,
1629          ztlar.trx_line_id,
1630          regimes.effective_from,
1631          regimes.effective_to
1632     FROM ZX_TRX_LINE_APP_REGIMES ztlar,
1633          ZX_REGIMES_B regimes
1634    WHERE ztlar.application_id = p_event_class_rec.application_id
1635      AND ztlar.entity_code = p_event_class_rec.entity_code
1636      AND ztlar.event_class_code = p_event_class_rec.event_class_code
1637      AND ztlar.trx_id = p_event_class_rec.trx_id
1638      AND ztlar.tax_provider_id is not null
1639      AND ztlar.update_flag ='Y'
1640      AND ztlar.tax_regime_id = regimes.tax_regime_id;
1641      --AND ztlar.content_owner_id = p_event_class_rec.first_pty_org_id
1642   update_trx_line_app_reg  update_trx_line_app_reg_csr%ROWTYPE;
1643 
1644   CURSOR non_update_trx_line_reg_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
1645   SELECT tax_regime_id,
1646          tax_regime_code,
1647          tax_provider_id,
1648          trx_line_id
1649     FROM ZX_TRX_LINE_APP_REGIMES
1650    WHERE application_id = p_event_class_rec.application_id
1651      AND entity_code = p_event_class_rec.entity_code
1652      AND event_class_code = p_event_class_rec.event_class_code
1653      AND trx_id = p_event_class_rec.trx_id
1654      AND tax_provider_id is not null
1655      AND update_flag is null;
1656      --AND content_owner_id = p_event_class_rec.first_pty_org_id
1657   non_update_trx_line_app_reg    non_update_trx_line_reg_csr%ROWTYPE;
1658 /*----------------------------------------------------------------------------*
1659  |   PRIVATE FUNCTIONS/PROCEDURES                                             |
1660  *----------------------------------------------------------------------------*/
1661 
1662 PROCEDURE pop_src_evnt_cls_info
1663   ( p_trx_line_index    IN     NUMBER,
1664     p_event_class_rec   IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
1665     x_return_status 	OUT    NOCOPY  VARCHAR2 );
1666 /* -- Procedure commented by ssohal
1667 PROCEDURE populate_errors
1668   ( p_event_class_rec   IN     ZX_API_PUB.event_class_rec_type,
1669     x_return_status 	OUT    NOCOPY  VARCHAR2 );
1670 */
1671 PROCEDURE delete_from_lines_det_gt (
1672    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
1673    x_return_status   OUT    NOCOPY VARCHAR2
1674  );
1675 PROCEDURE Pop_Index_Attrbs_To_Null (
1676    p_index          IN  NUMBER,
1677    x_return_status  OUT NOCOPY VARCHAR2
1678  );
1679 -----------------------------------------------------------------------
1680 --  PRIVATE PROCEDURE
1681 --  db_insert_line_det_factors
1682 --
1683 --  DESCRIPTION
1684 --  Bulk insert into zx_lines_det_factors
1685 --
1686 --  CALLED BY
1687 --    calculate_tax
1688 --    import_document_with_tax
1689 --    reverse_document
1690 --    insupd_line_det_factors
1691 -----------------------------------------------------------------------
1692 /*----------------------------------------------------------------------------*
1693  |p_insert needed in case of UPDATE tax event type wherein some records passed|
1694  |need to be updated in zx_lines_det_factors while others need to be inserted |
1695  |depending on the line level action. This scenario is applicable only for    |
1696  |Calculate_tax API. p_insert stores the index upto which the records from the|
1697  |collection needs to be inserted into zx_lines_det_factors.                  |
1698  *----------------------------------------------------------------------------*/
1699 PROCEDURE db_insert_line_det_factors
1700   (p_trx_line_dist_tbl      IN         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%TYPE,
1701    p_event_class_rec        IN         ZX_API_PUB.event_class_rec_type,
1702    p_insert_index           IN         NUMBER,
1703    x_return_status          OUT NOCOPY VARCHAR2)
1704   IS
1705     l_api_name           CONSTANT VARCHAR2(30):= 'DB_INSERT_LINE_DET_FACTORS';
1706   BEGIN
1707     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
1708       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||':'||l_api_name||'()+');
1709     END IF;
1710 
1711     -- Set the return status to Success
1712     x_return_status := FND_API.G_RET_STS_SUCCESS;
1713 
1714     -- Insert records in ZX_LINES_DET_FACTORS
1715     FORALL i IN  INDICES OF p_trx_line_dist_tbl.application_id
1716        INSERT INTO ZX_LINES_DET_FACTORS(
1717                                 EVENT_ID,
1718                                 INTERNAL_ORGANIZATION_ID,
1719                                 APPLICATION_ID,
1720                                 ENTITY_CODE,
1721                                 EVENT_CLASS_CODE,
1722                                 EVENT_CLASS_MAPPING_ID,
1723                                 EVENT_TYPE_CODE,
1724                                 DOC_EVENT_STATUS,
1725                                 LINE_LEVEL_ACTION,
1726                                 TRX_ID,
1727                                 TRX_LINE_ID,
1728                                 TRX_LEVEL_TYPE,
1729                                 TRX_DATE,
1730                                 TRX_DOC_REVISION,
1731                                 LEDGER_ID,
1732                                 TRX_CURRENCY_CODE,
1733                                 CURRENCY_CONVERSION_DATE,
1734                                 CURRENCY_CONVERSION_RATE,
1735                                 CURRENCY_CONVERSION_TYPE,
1736                                 MINIMUM_ACCOUNTABLE_UNIT,
1737                                 PRECISION,
1738                                 TRX_LINE_CURRENCY_CODE,
1739                                 TRX_LINE_CURRENCY_CONV_DATE,
1740                                 TRX_LINE_CURRENCY_CONV_RATE,
1741                                 TRX_LINE_CURRENCY_CONV_TYPE,
1742                                 TRX_LINE_MAU,
1743                                 TRX_LINE_PRECISION,
1744                                 LEGAL_ENTITY_ID,
1745                                 ESTABLISHMENT_ID,
1746                                 RECEIVABLES_TRX_TYPE_ID,
1747                                 DEFAULT_TAXATION_COUNTRY,
1748                                 TRX_NUMBER,
1749                                 TRX_LINE_NUMBER,
1750                                 TRX_LINE_DESCRIPTION,
1751                                 TRX_DESCRIPTION,
1752                                 TRX_COMMUNICATED_DATE,
1753                                 BATCH_SOURCE_ID,
1754                                 BATCH_SOURCE_NAME,
1755                                 DOC_SEQ_ID,
1756                                 DOC_SEQ_NAME,
1757                                 DOC_SEQ_VALUE,
1758                                 TRX_DUE_DATE,
1759                                 TRX_TYPE_DESCRIPTION,
1760                                 DOCUMENT_SUB_TYPE,
1761                                 SUPPLIER_TAX_INVOICE_NUMBER,
1762                                 SUPPLIER_TAX_INVOICE_DATE,
1763                                 SUPPLIER_EXCHANGE_RATE,
1764                                 TAX_INVOICE_DATE,
1765                                 TAX_INVOICE_NUMBER,
1766                                 FIRST_PTY_ORG_ID,
1767                                 TAX_EVENT_CLASS_CODE,
1768                                 TAX_EVENT_TYPE_CODE,
1769                                 RDNG_SHIP_TO_PTY_TX_PROF_ID,
1770                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID,
1771                                 RDNG_BILL_TO_PTY_TX_PROF_ID,
1772                                 RDNG_BILL_FROM_PTY_TX_PROF_ID,
1773                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID,
1774                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
1775                                 RDNG_BILL_TO_PTY_TX_P_ST_ID,
1776                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID,
1777                                 LINE_INTENDED_USE ,
1778                                 TRX_LINE_TYPE ,
1779                                 TRX_SHIPPING_DATE,
1780                                 TRX_RECEIPT_DATE,
1781                                 TRX_SIC_CODE,
1782                                 FOB_POINT ,
1783                                 TRX_WAYBILL_NUMBER,
1784                                 PRODUCT_ID,
1785                                 PRODUCT_FISC_CLASSIFICATION ,
1786                                 PRODUCT_ORG_ID,
1787                                 UOM_CODE,
1788                                 PRODUCT_TYPE ,
1789                                 PRODUCT_CODE,
1790                                 PRODUCT_CATEGORY ,
1791                                 PRODUCT_DESCRIPTION,
1792                                 USER_DEFINED_FISC_CLASS,
1793                                 LINE_AMT,
1794                                 TRX_LINE_QUANTITY,
1795                                 UNIT_PRICE,
1796                                 CASH_DISCOUNT,
1797                                 VOLUME_DISCOUNT,
1798                                 TRADING_DISCOUNT,
1799                                 TRANSFER_CHARGE,
1800                                 TRANSPORTATION_CHARGE,
1801                                 INSURANCE_CHARGE,
1802                                 OTHER_CHARGE,
1803                                 ASSESSABLE_VALUE,
1804                                 ASSET_FLAG,
1805                                 ASSET_NUMBER,
1806                                 ASSET_ACCUM_DEPRECIATION,
1807                                 ASSET_TYPE,
1808                                 ASSET_COST,
1809                                 RELATED_DOC_APPLICATION_ID,
1810                                 RELATED_DOC_ENTITY_CODE,
1811                                 RELATED_DOC_EVENT_CLASS_CODE,
1812                                 RELATED_DOC_TRX_ID,
1813                                 RELATED_DOC_NUMBER,
1814                                 RELATED_DOC_DATE,
1815                                 APPLIED_FROM_APPLICATION_ID,
1816                                 APPLIED_FROM_ENTITY_CODE,
1817                                 APPLIED_FROM_EVENT_CLASS_CODE,
1818                                 APPLIED_FROM_TRX_ID,
1819                                 APPLIED_FROM_LINE_ID,
1820                                 APPLIED_FROM_TRX_NUMBER,
1821                                 ADJUSTED_DOC_APPLICATION_ID,
1822                                 ADJUSTED_DOC_ENTITY_CODE,
1823                                 ADJUSTED_DOC_EVENT_CLASS_CODE,
1824                                 ADJUSTED_DOC_TRX_ID,
1825                                 ADJUSTED_DOC_LINE_ID,
1826                                 ADJUSTED_DOC_NUMBER,
1827                                 ADJUSTED_DOC_DATE,
1828                                 APPLIED_TO_APPLICATION_ID,
1829                                 APPLIED_TO_ENTITY_CODE,
1830                                 APPLIED_TO_EVENT_CLASS_CODE,
1831                                 APPLIED_TO_TRX_ID ,
1832                                 APPLIED_TO_TRX_LINE_ID,
1833                                 TRX_ID_LEVEL2,
1834                                 TRX_ID_LEVEL3,
1835                                 TRX_ID_LEVEL4,
1836                                 TRX_ID_LEVEL5,
1837                                 TRX_ID_LEVEL6,
1838                                 TRX_BUSINESS_CATEGORY,
1839                                 EXEMPT_CERTIFICATE_NUMBER,
1840                                 EXEMPT_REASON,
1841                                 HISTORICAL_FLAG,
1842                                 TRX_LINE_GL_DATE,
1843                                 LINE_AMT_INCLUDES_TAX_FLAG,
1844                                 ACCOUNT_CCID,
1845                                 ACCOUNT_STRING,
1846                                 MERCHANT_PARTY_TAX_PROF_ID,
1847                                 HQ_ESTB_PARTY_TAX_PROF_ID,
1848                                 NUMERIC1,
1849                                 NUMERIC2,
1850                                 NUMERIC3,
1851                                 NUMERIC4,
1852                                 NUMERIC5,
1853                                 NUMERIC6,
1854                                 NUMERIC7,
1855                                 NUMERIC8,
1856                                 NUMERIC9,
1857                                 NUMERIC10,
1858                                 CHAR1,
1859                                 CHAR2,
1860                                 CHAR3,
1861                                 CHAR4,
1862                                 CHAR5,
1863                                 CHAR6,
1864                                 CHAR7,
1865                                 CHAR8,
1866                                 CHAR9,
1867                                 CHAR10,
1868                                 DATE1,
1869                                 DATE2,
1870                                 DATE3,
1871                                 DATE4,
1872                                 DATE5,
1873                                 DATE6,
1874                                 DATE7,
1875                                 DATE8,
1876                                 DATE9,
1877                                 DATE10,
1878                                 MERCHANT_PARTY_NAME,
1879                                 MERCHANT_PARTY_DOCUMENT_NUMBER,
1880                                 MERCHANT_PARTY_REFERENCE,
1881                                 MERCHANT_PARTY_TAXPAYER_ID,
1882                                 MERCHANT_PARTY_TAX_REG_NUMBER,
1883                                 MERCHANT_PARTY_ID,
1884                                 MERCHANT_PARTY_COUNTRY,
1885                                 SHIP_TO_LOCATION_ID,
1886                                 SHIP_FROM_LOCATION_ID,
1887                                 POA_LOCATION_ID,
1888                                 POO_LOCATION_ID,
1889                                 BILL_TO_LOCATION_ID,
1890                                 BILL_FROM_LOCATION_ID,
1891                                 PAYING_LOCATION_ID,
1892                                 OWN_HQ_LOCATION_ID,
1893                                 TRADING_HQ_LOCATION_ID,
1894                                 POC_LOCATION_ID,
1895                                 POI_LOCATION_ID,
1896                                 POD_LOCATION_ID,
1897                                 TITLE_TRANSFER_LOCATION_ID,
1898                                 SHIP_TO_PARTY_TAX_PROF_ID ,
1899                                 SHIP_FROM_PARTY_TAX_PROF_ID,
1900                                 POA_PARTY_TAX_PROF_ID,
1901                                 POO_PARTY_TAX_PROF_ID,
1902                                 PAYING_PARTY_TAX_PROF_ID,
1903                                 OWN_HQ_PARTY_TAX_PROF_ID,
1904                                 TRADING_HQ_PARTY_TAX_PROF_ID,
1905                                 POI_PARTY_TAX_PROF_ID,
1906                                 POD_PARTY_TAX_PROF_ID,
1907                                 BILL_TO_PARTY_TAX_PROF_ID,
1908                                 BILL_FROM_PARTY_TAX_PROF_ID,
1909                                 TITLE_TRANS_PARTY_TAX_PROF_ID,
1910                                 SHIP_TO_SITE_TAX_PROF_ID,
1911                                 SHIP_FROM_SITE_TAX_PROF_ID,
1912                                 POA_SITE_TAX_PROF_ID,
1913                                 POO_SITE_TAX_PROF_ID,
1914                                 PAYING_SITE_TAX_PROF_ID,
1915                                 OWN_HQ_SITE_TAX_PROF_ID,
1916                                 TRADING_HQ_SITE_TAX_PROF_ID,
1917                                 POI_SITE_TAX_PROF_ID,
1918                                 POD_SITE_TAX_PROF_ID,
1919                                 BILL_TO_SITE_TAX_PROF_ID,
1920                                 BILL_FROM_SITE_TAX_PROF_ID,
1921                                 TITLE_TRANS_SITE_TAX_PROF_ID,
1922                                 CTRL_HDR_TX_APPL_FLAG,
1923                                 CTRL_TOTAL_LINE_TX_AMT,
1924                                 CTRL_TOTAL_HDR_TX_AMT,
1925                                 REF_DOC_APPLICATION_ID,
1926                                 REF_DOC_ENTITY_CODE,
1927                                 REF_DOC_EVENT_CLASS_CODE,
1928                                 REF_DOC_TRX_ID,
1929                                 REF_DOC_LINE_ID,
1930                                 REF_DOC_LINE_QUANTITY,
1931                                 LINE_CLASS,
1932                                 TRX_LINE_DATE,
1933                                 INPUT_TAX_CLASSIFICATION_CODE,
1934                                 OUTPUT_TAX_CLASSIFICATION_CODE,
1935                                 INTERNAL_ORG_LOCATION_ID,
1936                                 PORT_OF_ENTRY_CODE,
1937                                 TAX_REPORTING_FLAG,
1938                                 TAX_AMT_INCLUDED_FLAG,
1939                                 COMPOUNDING_TAX_FLAG,
1940                                 SHIP_THIRD_PTY_ACCT_ID,
1941                                 BILL_THIRD_PTY_ACCT_ID,
1942                                 SHIP_THIRD_PTY_ACCT_SITE_ID,
1943                                 BILL_THIRD_PTY_ACCT_SITE_ID,
1944                                 SHIP_TO_CUST_ACCT_SITE_USE_ID,
1945                                 BILL_TO_CUST_ACCT_SITE_USE_ID,
1946                                 START_EXPENSE_DATE,
1947                                 TRX_BATCH_ID,
1948                                 APPLIED_TO_TRX_NUMBER,
1949                                 SOURCE_APPLICATION_ID,
1950                                 SOURCE_ENTITY_CODE,
1951                                 SOURCE_EVENT_CLASS_CODE,
1952                                 SOURCE_TRX_ID,
1953                                 SOURCE_LINE_ID,
1954                                 SOURCE_TRX_LEVEL_TYPE,
1955                                 SOURCE_TAX_LINE_ID,
1956                                 REF_DOC_TRX_LEVEL_TYPE,
1957                                 ADJUSTED_DOC_TRX_LEVEL_TYPE,
1958                                 APPLIED_TO_TRX_LEVEL_TYPE,
1959                                 APPLIED_FROM_TRX_LEVEL_TYPE,
1960                                 APPLICATION_DOC_STATUS,
1961                                 OBJECT_VERSION_NUMBER,
1962                                 TAX_PROCESSING_COMPLETED_FLAG,
1963                                 USER_UPD_DET_FACTORS_FLAG,
1964                                 RECORD_TYPE_CODE,
1965                                 HDR_TRX_USER_KEY1,
1966                                 HDR_TRX_USER_KEY2,
1967                                 HDR_TRX_USER_KEY3,
1968                                 HDR_TRX_USER_KEY4,
1969                                 HDR_TRX_USER_KEY5,
1970                                 HDR_TRX_USER_KEY6,
1971                                 LINE_TRX_USER_KEY1,
1972                                 LINE_TRX_USER_KEY2,
1973                                 LINE_TRX_USER_KEY3,
1974                                 LINE_TRX_USER_KEY4,
1975                                 LINE_TRX_USER_KEY5,
1976                                 LINE_TRX_USER_KEY6,
1977                                 TAX_CALCULATION_DONE_FLAG,
1978                                 REVERSED_APPLN_ID,
1979                                 REVERSED_ENTITY_CODE,
1980                                 REVERSED_EVNT_CLS_CODE,
1981                                 REVERSED_TRX_ID,
1982                                 REVERSED_TRX_LEVEL_TYPE,
1983                                 REVERSED_TRX_LINE_ID,
1984                                 EXEMPTION_CONTROL_FLAG,
1985                                 EXEMPT_REASON_CODE,
1986                                 INTERFACE_ENTITY_CODE,
1987                                 INTERFACE_LINE_ID,
1988                                 DEFAULTING_ATTRIBUTE1,
1989                                 DEFAULTING_ATTRIBUTE2,
1990                                 DEFAULTING_ATTRIBUTE3,
1991                                 DEFAULTING_ATTRIBUTE4,
1992                                 DEFAULTING_ATTRIBUTE5,
1993                                 DEFAULTING_ATTRIBUTE6,
1994                                 DEFAULTING_ATTRIBUTE7,
1995                                 DEFAULTING_ATTRIBUTE8,
1996                                 DEFAULTING_ATTRIBUTE9,
1997                                 DEFAULTING_ATTRIBUTE10,
1998                                 PROVNL_TAX_DETERMINATION_DATE,
1999                                 HISTORICAL_TAX_CODE_ID,
2000                                 GLOBAL_ATTRIBUTE_CATEGORY,
2001                                 GLOBAL_ATTRIBUTE1,
2002                                 TOTAL_INC_TAX_AMT,
2003                                 ICX_SESSION_ID,
2004                                 CREATION_DATE,
2005                                 CREATED_BY,
2006                                 LAST_UPDATE_DATE,
2007                                 LAST_UPDATED_BY,
2008                                 LAST_UPDATE_LOGIN)
2009                          SELECT p_event_class_rec.event_id,
2010                                 p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
2011                                 p_trx_line_dist_tbl.APPLICATION_ID(i),
2012                                 p_trx_line_dist_tbl.ENTITY_CODE(i),
2013                                 p_trx_line_dist_tbl.EVENT_CLASS_CODE(i),
2014                                 p_event_class_rec.EVENT_CLASS_MAPPING_ID,
2015                                 p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
2016                                 p_event_class_rec.DOC_STATUS_CODE,
2017                                 p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
2018                                 p_trx_line_dist_tbl.TRX_ID(i),
2019                                 p_trx_line_dist_tbl.TRX_LINE_ID(i),
2020                                 p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i),
2021                                 p_trx_line_dist_tbl.TRX_DATE(i),
2022                                 p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
2023                                 p_trx_line_dist_tbl.LEDGER_ID(i),
2024                                 p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
2025                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
2026                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
2027                                 p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
2028                                 p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
2029                                 p_trx_line_dist_tbl.PRECISION(i),
2030                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
2031                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i)),
2032                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i)),
2033                                 NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE(i),p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i)),
2034                                 NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
2035                                 NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
2036                                 p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
2037                                 p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
2038                                 p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
2039                                 p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
2040                                 p_trx_line_dist_tbl.TRX_NUMBER(i),
2041                                 p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
2042                                 p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
2043                                 p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
2044                                 p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
2045                                 p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
2046                                 p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
2047                                 p_trx_line_dist_tbl.DOC_SEQ_ID(i),
2048                                 p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
2049                                 p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
2050                                 p_trx_line_dist_tbl.TRX_DUE_DATE(i),
2051                                 p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
2052                                 p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i),
2053                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
2054                                 p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
2055                                 p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
2056                                 p_trx_line_dist_tbl.TAX_INVOICE_DATE(i),
2057                                 p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
2058                                 p_event_class_rec.FIRST_PTY_ORG_ID,
2059                                 p_trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(i),
2060                                 p_trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(i),
2061                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
2062                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
2063                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
2064                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
2065                                 p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
2066                                 p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
2067                                 p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
2068                                 p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
2069                                 p_trx_line_dist_tbl.LINE_INTENDED_USE(i),
2070                                 p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
2071                                 p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
2072                                 p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
2073                                 p_trx_line_dist_tbl.TRX_SIC_CODE(i),
2074                                 p_trx_line_dist_tbl.FOB_POINT(i),
2075                                 p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
2076                                 p_trx_line_dist_tbl.PRODUCT_ID(i),
2077                                 p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i),
2078                                 p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
2079                                 p_trx_line_dist_tbl.UOM_CODE(i),
2080                                 p_trx_line_dist_tbl.PRODUCT_TYPE(i),
2081                                 p_trx_line_dist_tbl.PRODUCT_CODE(i),
2082                                 p_trx_line_dist_tbl.PRODUCT_CATEGORY(i),
2083                                 p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
2084                                 p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i),
2085                                 p_trx_line_dist_tbl.LINE_AMT(i),
2086                                 p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
2087                                 p_trx_line_dist_tbl.UNIT_PRICE(i),
2088                                 p_trx_line_dist_tbl.CASH_DISCOUNT(i),
2089                                 p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
2090                                 p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
2091                                 p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
2092                                 p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
2093                                 p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
2094                                 p_trx_line_dist_tbl.OTHER_CHARGE(i),
2095                                 p_trx_line_dist_tbl.ASSESSABLE_VALUE(i),
2096                                 p_trx_line_dist_tbl.ASSET_FLAG(i),
2097                                 p_trx_line_dist_tbl.ASSET_NUMBER(i),
2098                                 p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
2099                                 p_trx_line_dist_tbl.ASSET_TYPE(i),
2100                                 p_trx_line_dist_tbl.ASSET_COST(i),
2101                                 p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
2102                                 p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
2103                                 p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
2104                                 p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
2105                                 p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
2106                                 p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
2107                                 p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
2108                                 p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
2109                                 p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
2110                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
2111                                 p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
2112                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
2113                                 p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
2114                                 p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
2115                                 p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
2116                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
2117                                 p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
2118                                 p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
2119                                 p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
2120                                 p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
2121                                 p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
2122                                 p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
2123                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
2124                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
2125                                 p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
2126                                 p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
2127                                 p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
2128                                 p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
2129                                 p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
2130                                 p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i),
2131                                 p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
2132                                 p_trx_line_dist_tbl.EXEMPT_REASON(i),
2133                                 p_trx_line_dist_tbl.HISTORICAL_FLAG(i),
2134                                 p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
2135                                 p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
2136                                 p_trx_line_dist_tbl.ACCOUNT_CCID(i),
2137                                 p_trx_line_dist_tbl.ACCOUNT_STRING(i),
2138                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
2139                                 p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
2140                                 p_trx_line_dist_tbl.NUMERIC1(i),
2141                                 p_trx_line_dist_tbl.NUMERIC2(i),
2142                                 p_trx_line_dist_tbl.NUMERIC3(i),
2143                                 p_trx_line_dist_tbl.NUMERIC4(i),
2144                                 p_trx_line_dist_tbl.NUMERIC5(i),
2145                                 p_trx_line_dist_tbl.NUMERIC6(i),
2146                                 p_trx_line_dist_tbl.NUMERIC7(i),
2147                                 p_trx_line_dist_tbl.NUMERIC8(i),
2148                                 p_trx_line_dist_tbl.NUMERIC9(i),
2149                                 p_trx_line_dist_tbl.NUMERIC10(i),
2150                                 p_trx_line_dist_tbl.CHAR1(i),
2151                                 p_trx_line_dist_tbl.CHAR2(i),
2152                                 p_trx_line_dist_tbl.CHAR3(i),
2153                                 p_trx_line_dist_tbl.CHAR4(i),
2154                                 p_trx_line_dist_tbl.CHAR5(i),
2155                                 p_trx_line_dist_tbl.CHAR6(i),
2156                                 p_trx_line_dist_tbl.CHAR7(i),
2157                                 p_trx_line_dist_tbl.CHAR8(i),
2158                                 p_trx_line_dist_tbl.CHAR9(i),
2159                                 p_trx_line_dist_tbl.CHAR10(i),
2160                                 p_trx_line_dist_tbl.DATE1(i),
2161                                 p_trx_line_dist_tbl.DATE2(i),
2162                                 p_trx_line_dist_tbl.DATE3(i),
2163                                 p_trx_line_dist_tbl.DATE4(i),
2164                                 p_trx_line_dist_tbl.DATE5(i),
2165                                 p_trx_line_dist_tbl.DATE6(i),
2166                                 p_trx_line_dist_tbl.DATE7(i),
2167                                 p_trx_line_dist_tbl.DATE8(i),
2168                                 p_trx_line_dist_tbl.DATE9(i),
2169                                 p_trx_line_dist_tbl.DATE10(i),
2170                                 p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
2171                                 p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
2172                                 p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
2173                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
2174                                 p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
2175                                 p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
2176                                 p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
2177                                 p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
2178                                 p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
2179                                 p_trx_line_dist_tbl.POA_LOCATION_ID(i),
2180                                 p_trx_line_dist_tbl.POO_LOCATION_ID(i),
2181                                 p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
2182                                 p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
2183                                 p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
2184                                 p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
2185                                 p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
2186                                 p_trx_line_dist_tbl.POC_LOCATION_ID(i),
2187                                 p_trx_line_dist_tbl.POI_LOCATION_ID(i),
2188                                 p_trx_line_dist_tbl.POD_LOCATION_ID(i),
2189                                 p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
2190                                 p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
2191                                 p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
2192                                 p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
2193                                 p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
2194                                 p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
2195                                 p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
2196                                 p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
2197                                 p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
2198                                 p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
2199                                 p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
2200                                 p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
2201                                 p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
2202                                 p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
2203                                 p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
2204                                 p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
2205                                 p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
2206                                 p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
2207                                 p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
2208                                 p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
2209                                 p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
2210                                 p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
2211                                 p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
2212                                 p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
2213                                 p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
2214                                 p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
2215                                 p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
2216                                 p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
2217                                 p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
2218                                 p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
2219                                 p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
2220                                 p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
2221                                 p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
2222                                 p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
2223                                 NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
2224                                 p_trx_line_dist_tbl.TRX_LINE_DATE(i),
2225                                 p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
2226                                 p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
2227                                 p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
2228                                 p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
2229                                 DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX','N',
2230                                       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
2231                                 p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
2232                                 p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
2233                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
2234                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
2235                                 p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
2236                                 p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
2237                                 p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
2238                                 p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
2239                                 p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
2240                                 p_trx_line_dist_tbl.TRX_BATCH_ID(i),
2241                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
2242                                 p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
2243                                 p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
2244                                 p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
2245                                 p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
2246                                 p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
2247                                 p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
2248                                 p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
2249                                 p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
2250                                 p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
2251                                 p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
2252                                 p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
2253                                 p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
2254                                 1,
2255                                 p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
2256                                 p_trx_line_dist_tbl.user_upd_det_factors_flag(i),
2257                                 'ETAX_CREATED',
2258                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
2259                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
2260                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
2261                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
2262                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
2263                                 p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
2264                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
2265                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
2266                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
2267                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
2268                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
2269                                 p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
2270                                 p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
2271                                 p_trx_line_dist_tbl.REVERSED_APPLN_ID(i),
2272                                 p_trx_line_dist_tbl.REVERSED_ENTITY_CODE(i),
2273                                 p_trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE(i),
2274                                 p_trx_line_dist_tbl.REVERSED_TRX_ID(i),
2275                                 p_trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE(i),
2276                                 p_trx_line_dist_tbl.REVERSED_TRX_LINE_ID(i),
2277                                 p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
2278                                 p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
2279                                 p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
2280                                 p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
2281                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
2282                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
2283                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
2284                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
2285                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
2286                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
2287                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
2288                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
2289                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
2290                                 p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
2291                                 p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
2292                                 p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
2293                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
2294                                 p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
2295                                 NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
2296                                 DECODE(ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
2297                                 SYSDATE SYSTEM_DATE_1,
2298                                 fnd_global.user_id USER_ID_1,
2299                                 SYSDATE SYSTEM_DATE_2,
2300                                 fnd_global.user_id USER_ID_2,
2301                                 fnd_global.conc_login_id
2302                            FROM DUAL
2303                           WHERE NOT EXISTS (SELECT 'Y'
2304                                               FROM zx_errors_gt err_gt
2305                                              WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
2306                                                AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
2307                                                AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
2308                                                AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i))
2309                             AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IN
2310                                      ('CREATE',
2311                                       'CREATE_TAX_ONLY',
2312                                       'APPLY_FROM',
2313                                       'INTERCOMPANY_CREATE',
2314                                       'LINE_INFO_TAX_ONLY',
2315                                       'CREATE_WITH_TAX',
2316                                       'ALLOCATE_TAX_ONLY_ADJUSTMENT',
2317                                       'COPY_AND_CREATE',
2318                                       'RECORD_WITH_NO_TAX');
2319 
2320        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2321          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
2322            G_PKG_NAME||':'||l_api_name||'(). Records Inserted = ' || SQL%ROWCOUNT);
2323          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
2324            G_PKG_NAME||':'||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
2325        END IF;
2326 
2327  EXCEPTION
2328     WHEN OTHERS THEN
2329        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2330        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
2331           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
2332        END IF;
2333  END db_insert_line_det_factors;
2334 
2335 -----------------------------------------------------------------------
2336 --  PRIVATE PROCEDURE
2337 --  db_update_line_det_factors
2338 --
2339 --  DESCRIPTION
2340 --  Bulk update into zx_lines_det_factors
2341 --
2342 --  CALLED BY
2343 --    calculate_tax
2344 --    insupd_line_det_factors
2345 -----------------------------------------------------------------------
2346 /*----------------------------------------------------------------------------*
2347  |p_update needed in case of UPDATE tax event type wherein some records passed|
2348  |need to be updated in zx_lines_det_factors while others need to be inserted |
2349  |depending on the line level action. This scenario is applicable only for    |
2350  |Calculate_tax API. p_update stores the index from which the lines from      |
2351  |the collection needs to be updated to zx_lines_det_factors                  |
2352  *----------------------------------------------------------------------------*/
2353 
2354 PROCEDURE db_update_line_det_factors
2355    (p_trx_line_dist_tbl  IN         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl%TYPE,
2356     p_event_class_rec    IN         ZX_API_PUB.event_class_rec_type,
2357     p_update_index       IN         NUMBER,
2358     x_return_status      OUT NOCOPY VARCHAR2)
2359 IS
2360   l_api_name           CONSTANT VARCHAR2(30):= 'UPDATE_LINE_DET_FACTORS';
2361   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
2362   l_insert_tab         ZX_API_PUB.VARCHAR2_1_tbl_type;
2363   l_return_status      VARCHAR2(1);
2364 
2365   BEGIN
2366     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2367       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||':'||l_api_name||'()+');
2368     END IF;
2369 
2370     /*Set the return status to Success */
2371     x_return_status := FND_API.G_RET_STS_SUCCESS;
2372 
2373     /* In case of UPDATE, then if line_level_action in (UPDATE/DISCARD/CANCEL/SYNCHRONIZE) then UPDATE
2374        if line_level_action in (CREATE/CREATE_TAX_ONLY/APPLY_FROM/UNAPPLY_FROM/LINE_INFO_TAX_ONLY) then INSERT
2375     */
2376 
2377     /*Here we need to take the snapshot of det_factors before updation,so that this info can be used
2378      during contra entry for parnter*/
2379 
2380     IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'Y') = 'Y' THEN
2381        ZX_R11I_TAX_PARTNER_PKG.copy_trx_line_for_ptnr_bef_upd(p_trx_line_dist_tbl,
2382                                                               p_event_class_rec,
2383                                                               p_update_index,
2384                                                               'N',
2385                                                               NULL,
2386                                                               NULL,
2387                                                               l_return_status
2388                                                              );
2389        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2390           x_return_status := l_return_status ;
2391           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
2392              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');
2393           END IF;
2394           RETURN;
2395        END IF;
2396     END IF;
2397 
2398     -- Added IF-ELSE statement for Bug#7588449
2399     IF ZX_API_PUB.G_PUB_SRVC = 'UPDATE_LINE_DET_FACTORS' OR
2400        (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND
2401         p_event_class_rec.quote_flag ='N' AND
2402         p_event_class_rec.tax_event_type_code IN('UPDATE','CREATE'))
2403     THEN
2404        FORALL i IN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) .. NVL(p_update_index,-99)
2405        UPDATE ZX_LINES_DET_FACTORS SET
2406                                 EVENT_ID                       = p_event_class_rec.event_id,
2407                                 INTERNAL_ORGANIZATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
2408                                 EVENT_TYPE_CODE                = p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
2409                                 DOC_EVENT_STATUS               = p_event_class_rec.DOC_STATUS_CODE,
2410                                 LINE_LEVEL_ACTION              = p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
2411                                 LINE_CLASS                     = NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
2412                                 TRX_DATE                       = p_trx_line_dist_tbl.TRX_DATE(i),
2413                                 TRX_DOC_REVISION               = p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
2414                                 LEDGER_ID                      = p_trx_line_dist_tbl.LEDGER_ID(i),
2415                                 TRX_CURRENCY_CODE              = p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
2416                                 CURRENCY_CONVERSION_DATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
2417                                 CURRENCY_CONVERSION_RATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
2418                                 CURRENCY_CONVERSION_TYPE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
2419                                 MINIMUM_ACCOUNTABLE_UNIT       = p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
2420                                 PRECISION                      = p_trx_line_dist_tbl.PRECISION(i),
2421                                 TRX_LINE_CURRENCY_CODE         = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
2422                                 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)),
2423                                 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)),
2424                                 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)),
2425                                 TRX_LINE_MAU                   = NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
2426                                 TRX_LINE_PRECISION             = NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
2427                                 LEGAL_ENTITY_ID                = p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
2428                                 ESTABLISHMENT_ID               = p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
2429                                 RECEIVABLES_TRX_TYPE_ID        = p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
2430                                 DEFAULT_TAXATION_COUNTRY       = NVL(p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i), DEFAULT_TAXATION_COUNTRY),   -- Bug 5659537
2431                                 TRX_NUMBER                     = p_trx_line_dist_tbl.TRX_NUMBER(i),
2432                                 TRX_LINE_NUMBER                = p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
2433                                 TRX_LINE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
2434                                 TRX_DESCRIPTION                = p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
2435                                 TRX_COMMUNICATED_DATE          = p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
2436                                 BATCH_SOURCE_ID                = p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
2437                                 BATCH_SOURCE_NAME              = p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
2438                                 DOC_SEQ_ID                     = p_trx_line_dist_tbl.DOC_SEQ_ID(i),
2439                                 DOC_SEQ_NAME                   = p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
2440                                 DOC_SEQ_VALUE                  = p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
2441                                 TRX_DUE_DATE                   = p_trx_line_dist_tbl.TRX_DUE_DATE(i),
2442                                 TRX_TYPE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
2443                                 DOCUMENT_SUB_TYPE              = NVL(p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i), DOCUMENT_SUB_TYPE),   -- Bug 5659537
2444                                 SUPPLIER_TAX_INVOICE_NUMBER    = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
2445                                 SUPPLIER_TAX_INVOICE_DATE      = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
2446                                 SUPPLIER_EXCHANGE_RATE         = p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
2447                                 TAX_INVOICE_DATE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TAX_INVOICE_DATE, NVL(p_trx_line_dist_tbl.TAX_INVOICE_DATE(i), TAX_INVOICE_DATE)),  -- Bug 5659357
2448                                 TAX_INVOICE_NUMBER             = p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
2449                                 FIRST_PTY_ORG_ID               = p_event_class_rec.FIRST_PTY_ORG_ID,
2450                                 TAX_EVENT_CLASS_CODE           = p_event_class_rec.TAX_EVENT_CLASS_CODE,
2451                                 TAX_EVENT_TYPE_CODE            = p_event_class_rec.TAX_EVENT_TYPE_CODE,
2452                                 RDNG_SHIP_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
2453                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
2454                                 RDNG_BILL_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
2455                                 RDNG_BILL_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
2456                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
2457                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
2458                                 RDNG_BILL_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
2459                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
2460                                 LINE_INTENDED_USE              = p_trx_line_dist_tbl.LINE_INTENDED_USE(i),
2461                                 TRX_LINE_TYPE                  = p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
2462                                 TRX_SHIPPING_DATE              = p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
2463                                 TRX_RECEIPT_DATE               = p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
2464                                 TRX_SIC_CODE                   = p_trx_line_dist_tbl.TRX_SIC_CODE(i),
2465                                 FOB_POINT                      = p_trx_line_dist_tbl.FOB_POINT(i),
2466                                 TRX_WAYBILL_NUMBER             = p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
2467                                 PRODUCT_ID                     = p_trx_line_dist_tbl.PRODUCT_ID(i),
2468                                 PRODUCT_FISC_CLASSIFICATION    = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', NVL(p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i), PRODUCT_FISC_CLASSIFICATION)),  -- Bug 5659357
2469                                 PRODUCT_ORG_ID                 = p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
2470                                 UOM_CODE                       = p_trx_line_dist_tbl.UOM_CODE(i),
2471                                 PRODUCT_TYPE                   = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_TYPE,NVL(p_trx_line_dist_tbl.PRODUCT_TYPE(i), PRODUCT_TYPE)),  -- Bug 5659357
2472                                 PRODUCT_CODE                   = p_trx_line_dist_tbl.PRODUCT_CODE(i),
2473                                 PRODUCT_CATEGORY               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_CATEGORY, NVL(p_trx_line_dist_tbl.PRODUCT_CATEGORY(i), PRODUCT_CATEGORY)),  -- Bug 5659357
2474                                 PRODUCT_DESCRIPTION            = p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
2475                                 USER_DEFINED_FISC_CLASS        = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',USER_DEFINED_FISC_CLASS,NVL(p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i), USER_DEFINED_FISC_CLASS)),  -- Bug 5659357
2476                                 LINE_AMT                       = p_trx_line_dist_tbl.LINE_AMT(i),
2477                                 TRX_LINE_QUANTITY              = p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
2478                                 UNIT_PRICE                     = p_trx_line_dist_tbl.UNIT_PRICE(i),
2479                                 CASH_DISCOUNT                  = p_trx_line_dist_tbl.CASH_DISCOUNT(i),
2480                                 VOLUME_DISCOUNT                = p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
2481                                 TRADING_DISCOUNT               = p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
2482                                 TRANSFER_CHARGE                = p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
2483                                 TRANSPORTATION_CHARGE          = p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
2484                                 INSURANCE_CHARGE               = p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
2485                                 OTHER_CHARGE                   = p_trx_line_dist_tbl.OTHER_CHARGE(i),
2486                                 ASSESSABLE_VALUE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',ASSESSABLE_VALUE,NVL(p_trx_line_dist_tbl.ASSESSABLE_VALUE(i), ASSESSABLE_VALUE)),  -- Bug 5659357
2487                                 ASSET_FLAG                     = p_trx_line_dist_tbl.ASSET_FLAG(i),
2488                                 ASSET_NUMBER                   = p_trx_line_dist_tbl.ASSET_NUMBER(i),
2489                                 ASSET_ACCUM_DEPRECIATION       = p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
2490                                 ASSET_TYPE                     = p_trx_line_dist_tbl.ASSET_TYPE(i),
2491                                 ASSET_COST                     = p_trx_line_dist_tbl.ASSET_COST(i),
2492                                 RELATED_DOC_APPLICATION_ID     = p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
2493                                 RELATED_DOC_ENTITY_CODE        = p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
2494                                 RELATED_DOC_EVENT_CLASS_CODE   = p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
2495                                 RELATED_DOC_TRX_ID             = p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
2496                                 RELATED_DOC_NUMBER             = p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
2497                                 RELATED_DOC_DATE               = p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
2498                                 APPLIED_FROM_APPLICATION_ID    = p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
2499                                 APPLIED_FROM_ENTITY_CODE       = p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
2500                                 APPLIED_FROM_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
2501                                 APPLIED_FROM_TRX_ID            = p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
2502                                 APPLIED_FROM_LINE_ID           = p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
2503                                 APPLIED_FROM_TRX_NUMBER        = p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
2504                                 ADJUSTED_DOC_APPLICATION_ID    = p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
2505                                 ADJUSTED_DOC_ENTITY_CODE       = p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
2506                                 ADJUSTED_DOC_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
2507                                 ADJUSTED_DOC_TRX_ID            = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
2508                                 ADJUSTED_DOC_LINE_ID           = p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
2509                                 ADJUSTED_DOC_NUMBER            = p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
2510                                 ADJUSTED_DOC_DATE              = p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
2511                                 APPLIED_TO_APPLICATION_ID      = p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
2512                                 APPLIED_TO_ENTITY_CODE         = p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
2513                                 APPLIED_TO_EVENT_CLASS_CODE    = p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
2514                                 APPLIED_TO_TRX_ID              = p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
2515                                 APPLIED_TO_TRX_LINE_ID         = p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
2516                                 TRX_ID_LEVEL2                  = p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
2517                                 TRX_ID_LEVEL3                  = p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
2518                                 TRX_ID_LEVEL4                  = p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
2519                                 TRX_ID_LEVEL5                  = p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
2520                                 TRX_ID_LEVEL6                  = p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
2521                                 TRX_BUSINESS_CATEGORY          = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TRX_BUSINESS_CATEGORY, NVL(p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i), TRX_BUSINESS_CATEGORY)),  -- Bug 5659357
2522                                 EXEMPT_CERTIFICATE_NUMBER      = p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
2523                                 EXEMPT_REASON                  = p_trx_line_dist_tbl.EXEMPT_REASON(i),
2524                                 HISTORICAL_FLAG                = NVL(HISTORICAL_FLAG,p_trx_line_dist_tbl.HISTORICAL_FLAG(i)),
2525                                 TRX_LINE_GL_DATE               = p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
2526                                 LINE_AMT_INCLUDES_TAX_FLAG     = p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
2527                                 ACCOUNT_CCID                   = p_trx_line_dist_tbl.ACCOUNT_CCID(i),
2528                                 ACCOUNT_STRING                 = p_trx_line_dist_tbl.ACCOUNT_STRING(i),
2529                                 MERCHANT_PARTY_TAX_PROF_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
2530                                 HQ_ESTB_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
2531                                 NUMERIC1                       = p_trx_line_dist_tbl.NUMERIC1(i),
2532                                 NUMERIC2                       = p_trx_line_dist_tbl.NUMERIC2(i),
2533                                 NUMERIC3                       = p_trx_line_dist_tbl.NUMERIC3(i),
2534                                 NUMERIC4                       = p_trx_line_dist_tbl.NUMERIC4(i),
2535                                 NUMERIC5                       = p_trx_line_dist_tbl.NUMERIC5(i),
2536                                 NUMERIC6                       = p_trx_line_dist_tbl.NUMERIC6(i),
2537                                 NUMERIC7                       = p_trx_line_dist_tbl.NUMERIC7(i),
2538                                 NUMERIC8                       = p_trx_line_dist_tbl.NUMERIC8(i),
2539                                 NUMERIC9                       = p_trx_line_dist_tbl.NUMERIC9(i),
2540                                 NUMERIC10                      = p_trx_line_dist_tbl.NUMERIC10(i),
2541                                 CHAR1                          = p_trx_line_dist_tbl.CHAR1(i),
2542                                 CHAR2                          = p_trx_line_dist_tbl.CHAR2(i),
2543                                 CHAR3                          = p_trx_line_dist_tbl.CHAR3(i),
2544                                 CHAR4                          = p_trx_line_dist_tbl.CHAR4(i),
2545                                 CHAR5                          = p_trx_line_dist_tbl.CHAR5(i),
2546                                 CHAR6                          = p_trx_line_dist_tbl.CHAR6(i),
2547                                 CHAR7                          = p_trx_line_dist_tbl.CHAR7(i),
2548                                 CHAR8                          = p_trx_line_dist_tbl.CHAR8(i),
2549                                 CHAR9                          = p_trx_line_dist_tbl.CHAR9(i),
2550                                 CHAR10                         = p_trx_line_dist_tbl.CHAR10(i),
2551                                 DATE1                          = p_trx_line_dist_tbl.DATE1(i),
2552                                 DATE2                          = p_trx_line_dist_tbl.DATE2(i),
2553                                 DATE3                          = p_trx_line_dist_tbl.DATE3(i),
2554                                 DATE4                          = p_trx_line_dist_tbl.DATE4(i),
2555                                 DATE5                          = p_trx_line_dist_tbl.DATE5(i),
2556                                 DATE6                          = p_trx_line_dist_tbl.DATE6(i),
2557                                 DATE7                          = p_trx_line_dist_tbl.DATE7(i),
2558                                 DATE8                          = p_trx_line_dist_tbl.DATE8(i),
2559                                 DATE9                          = p_trx_line_dist_tbl.DATE9(i),
2560                                 DATE10                         = p_trx_line_dist_tbl.DATE10(i),
2561                                 MERCHANT_PARTY_NAME            = p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
2562                                 MERCHANT_PARTY_DOCUMENT_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
2563                                 MERCHANT_PARTY_REFERENCE       = p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
2564                                 MERCHANT_PARTY_TAXPAYER_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
2565                                 MERCHANT_PARTY_TAX_REG_NUMBER  = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
2566                                 MERCHANT_PARTY_ID              = p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
2567                                 MERCHANT_PARTY_COUNTRY         = p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
2568                                 SHIP_TO_LOCATION_ID            = p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
2569                                 SHIP_FROM_LOCATION_ID          = p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
2570                                 POA_LOCATION_ID                = p_trx_line_dist_tbl.POA_LOCATION_ID(i),
2571                                 POO_LOCATION_ID                = p_trx_line_dist_tbl.POO_LOCATION_ID(i),
2572                                 BILL_TO_LOCATION_ID            = p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
2573                                 BILL_FROM_LOCATION_ID          = p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
2574                                 PAYING_LOCATION_ID             = p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
2575                                 OWN_HQ_LOCATION_ID             = p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
2576                                 TRADING_HQ_LOCATION_ID         = p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
2577                                 POC_LOCATION_ID                = p_trx_line_dist_tbl.POC_LOCATION_ID(i),
2578                                 POI_LOCATION_ID                = p_trx_line_dist_tbl.POI_LOCATION_ID(i),
2579                                 POD_LOCATION_ID                = p_trx_line_dist_tbl.POD_LOCATION_ID(i),
2580                                 TITLE_TRANSFER_LOCATION_ID     = p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
2581                                 SHIP_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
2582                                 SHIP_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
2583                                 POA_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
2584                                 POO_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
2585                                 PAYING_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
2586                                 OWN_HQ_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
2587                                 TRADING_HQ_PARTY_TAX_PROF_ID   = p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
2588                                 POI_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
2589                                 POD_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
2590                                 BILL_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
2591                                 BILL_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
2592                                 TITLE_TRANS_PARTY_TAX_PROF_ID  = p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
2593                                 SHIP_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
2594                                 SHIP_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
2595                                 POA_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
2596                                 POO_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
2597                                 PAYING_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
2598                                 OWN_HQ_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
2599                                 TRADING_HQ_SITE_TAX_PROF_ID    = p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
2600                                 POI_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
2601                                 POD_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
2602                                 BILL_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
2603                                 BILL_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
2604                                 TITLE_TRANS_SITE_TAX_PROF_ID   = p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
2605                                 CTRL_HDR_TX_APPL_FLAG          = p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
2606                                 CTRL_TOTAL_LINE_TX_AMT         = p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
2607                                 CTRL_TOTAL_HDR_TX_AMT          = p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
2608                                 REF_DOC_APPLICATION_ID         = p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
2609                                 REF_DOC_ENTITY_CODE            = p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
2610                                 REF_DOC_EVENT_CLASS_CODE       = p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
2611                                 REF_DOC_TRX_ID                 = p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
2612                                 REF_DOC_LINE_ID                = p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
2613                                 REF_DOC_LINE_QUANTITY          = p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
2614                                 TRX_LINE_DATE                  = p_trx_line_dist_tbl.TRX_LINE_DATE(i),
2615                                 INPUT_TAX_CLASSIFICATION_CODE  = p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
2616                                 OUTPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
2617                                 INTERNAL_ORG_LOCATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
2618                                 PORT_OF_ENTRY_CODE             = p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
2619                                 TAX_REPORTING_FLAG             = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX'
2620                                                                                                                   ,'N'
2621                                                                                                                   ,NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag)),
2622                                 TAX_AMT_INCLUDED_FLAG          = p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
2623                                 COMPOUNDING_TAX_FLAG           = p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
2624                                 SHIP_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
2625                                 BILL_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
2626                                 SHIP_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
2627                                 BILL_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
2628                                 SHIP_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
2629                                 BILL_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
2630                                 START_EXPENSE_DATE             = p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
2631                                 TRX_BATCH_ID                   = p_trx_line_dist_tbl.TRX_BATCH_ID(i),
2632                                 APPLIED_TO_TRX_NUMBER          = p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
2633                                 SOURCE_APPLICATION_ID          = p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
2634                                 SOURCE_ENTITY_CODE             = p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
2635                                 SOURCE_EVENT_CLASS_CODE        = p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
2636                                 SOURCE_TRX_ID                  = p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
2637                                 SOURCE_LINE_ID                 = p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
2638                                 SOURCE_TRX_LEVEL_TYPE          = p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
2639                                 SOURCE_TAX_LINE_ID             = p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
2640                                 REF_DOC_TRX_LEVEL_TYPE         = p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
2641                                 APPLIED_TO_TRX_LEVEL_TYPE      = p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
2642                                 APPLIED_FROM_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
2643                                 ADJUSTED_DOC_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
2644                                 APPLICATION_DOC_STATUS         = p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
2645                                 TAX_PROCESSING_COMPLETED_FLAG  = p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
2646                                 TAX_CALCULATION_DONE_FLAG      = p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
2647                                 OBJECT_VERSION_NUMBER          = OBJECT_VERSION_NUMBER+1,
2648                                 HDR_TRX_USER_KEY1              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
2649                                 HDR_TRX_USER_KEY2              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
2650                                 HDR_TRX_USER_KEY3              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
2651                                 HDR_TRX_USER_KEY4              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
2652                                 HDR_TRX_USER_KEY5              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
2653                                 HDR_TRX_USER_KEY6              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
2654                                 LINE_TRX_USER_KEY1             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
2655                                 LINE_TRX_USER_KEY2             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
2656                                 LINE_TRX_USER_KEY3             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
2657                                 LINE_TRX_USER_KEY4             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
2658                                 LINE_TRX_USER_KEY5             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
2659                                 LINE_TRX_USER_KEY6             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
2660                                 EXEMPTION_CONTROL_FLAG         = p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
2661                                 EXEMPT_REASON_CODE             = p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
2662                                 INTERFACE_ENTITY_CODE          = p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
2663                                 INTERFACE_LINE_ID              = p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
2664                                 DEFAULTING_ATTRIBUTE1          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
2665                                 DEFAULTING_ATTRIBUTE2          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
2666                                 DEFAULTING_ATTRIBUTE3          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
2667                                 DEFAULTING_ATTRIBUTE4          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
2668                                 DEFAULTING_ATTRIBUTE5          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
2669                                 DEFAULTING_ATTRIBUTE6          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
2670                                 DEFAULTING_ATTRIBUTE7          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
2671                                 DEFAULTING_ATTRIBUTE8          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
2672                                 DEFAULTING_ATTRIBUTE9          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
2673                                 DEFAULTING_ATTRIBUTE10         = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
2674                                 PROVNL_TAX_DETERMINATION_DATE  = p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
2675                                 HISTORICAL_TAX_CODE_ID         = p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
2676                                 GLOBAL_ATTRIBUTE_CATEGORY      = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
2677                                 GLOBAL_ATTRIBUTE1              = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
2678                                 USER_UPD_DET_FACTORS_FLAG      = NVL(p_trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(i), USER_UPD_DET_FACTORS_FLAG),  -- Bug 5659357
2679                                 TOTAL_INC_TAX_AMT              = NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
2680                                 ICX_SESSION_ID                 = DECODE (ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
2681                                 LAST_UPDATE_DATE               = sysdate,
2682                                 LAST_UPDATED_BY                = fnd_global.user_id,
2683                                 LAST_UPDATE_LOGIN              = fnd_global.conc_login_id
2684     	   WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
2685            AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
2686            AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
2687            AND TRX_ID           = p_trx_line_dist_tbl.TRX_ID(i)
2688            AND TRX_LINE_ID      = p_trx_line_dist_tbl.TRX_LINE_ID(i)
2689            AND TRX_LEVEL_TYPE   = p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i)
2690            AND NOT EXISTS (SELECT 'Y'
2691                              FROM zx_errors_gt err_gt
2692                             WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
2693                               AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
2694                               AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
2695                               AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i));
2696     ELSE
2697        FORALL i IN NVL(p_trx_line_dist_tbl.application_id.FIRST,0) .. NVL(p_update_index,-99)
2698        UPDATE ZX_LINES_DET_FACTORS SET
2699                                 EVENT_ID                       = p_event_class_rec.event_id,
2700                                 INTERNAL_ORGANIZATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i),
2701                                 EVENT_TYPE_CODE                = p_trx_line_dist_tbl.EVENT_TYPE_CODE(i),
2702                                 DOC_EVENT_STATUS               = p_event_class_rec.DOC_STATUS_CODE,
2703                                 LINE_LEVEL_ACTION              = p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),
2704                                 LINE_CLASS                     = NVL(p_trx_line_dist_tbl.LINE_CLASS(i),p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
2705                                 TRX_DATE                       = p_trx_line_dist_tbl.TRX_DATE(i),
2706                                 TRX_DOC_REVISION               = p_trx_line_dist_tbl.TRX_DOC_REVISION(i),
2707                                 LEDGER_ID                      = p_trx_line_dist_tbl.LEDGER_ID(i),
2708                                 TRX_CURRENCY_CODE              = p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i),
2709                                 CURRENCY_CONVERSION_DATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i),
2710                                 CURRENCY_CONVERSION_RATE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i),
2711                                 CURRENCY_CONVERSION_TYPE       = p_trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i),
2712                                 MINIMUM_ACCOUNTABLE_UNIT       = p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i),
2713                                 PRECISION                      = p_trx_line_dist_tbl.PRECISION(i),
2714                                 TRX_LINE_CURRENCY_CODE         = NVL(p_trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE(i),p_trx_line_dist_tbl.TRX_CURRENCY_CODE(i)),
2715                                 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)),
2716                                 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)),
2717                                 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)),
2718                                 TRX_LINE_MAU                   = NVL(p_trx_line_dist_tbl.TRX_LINE_MAU(i),p_trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(i)),
2719                                 TRX_LINE_PRECISION             = NVL(p_trx_line_dist_tbl.TRX_LINE_PRECISION(i),p_trx_line_dist_tbl.PRECISION(i)),
2720                                 LEGAL_ENTITY_ID                = p_trx_line_dist_tbl.LEGAL_ENTITY_ID(i),
2721                                 ESTABLISHMENT_ID               = p_trx_line_dist_tbl.ESTABLISHMENT_ID(i),
2722                                 RECEIVABLES_TRX_TYPE_ID        = p_trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(i),
2723                                 DEFAULT_TAXATION_COUNTRY       = NVL(p_trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i), DEFAULT_TAXATION_COUNTRY),   -- Bug 5659537
2724                                 TRX_NUMBER                     = p_trx_line_dist_tbl.TRX_NUMBER(i),
2725                                 TRX_LINE_NUMBER                = p_trx_line_dist_tbl.TRX_LINE_NUMBER(i),
2726                                 TRX_LINE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_LINE_DESCRIPTION(i),
2727                                 TRX_DESCRIPTION                = p_trx_line_dist_tbl.TRX_DESCRIPTION(i),
2728                                 TRX_COMMUNICATED_DATE          = p_trx_line_dist_tbl.TRX_COMMUNICATED_DATE(i),
2729                                 BATCH_SOURCE_ID                = p_trx_line_dist_tbl.BATCH_SOURCE_ID(i),
2730                                 BATCH_SOURCE_NAME              = p_trx_line_dist_tbl.BATCH_SOURCE_NAME(i),
2731                                 DOC_SEQ_ID                     = p_trx_line_dist_tbl.DOC_SEQ_ID(i),
2732                                 DOC_SEQ_NAME                   = p_trx_line_dist_tbl.DOC_SEQ_NAME(i),
2733                                 DOC_SEQ_VALUE                  = p_trx_line_dist_tbl.DOC_SEQ_VALUE(i),
2734                                 TRX_DUE_DATE                   = p_trx_line_dist_tbl.TRX_DUE_DATE(i),
2735                                 TRX_TYPE_DESCRIPTION           = p_trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(i),
2736                                 DOCUMENT_SUB_TYPE              = NVL(p_trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i), DOCUMENT_SUB_TYPE),   -- Bug 5659537
2737                                 SUPPLIER_TAX_INVOICE_NUMBER    = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(i),
2738                                 SUPPLIER_TAX_INVOICE_DATE      = p_trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(i),
2739                                 SUPPLIER_EXCHANGE_RATE         = p_trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(i),
2740                                 TAX_INVOICE_DATE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TAX_INVOICE_DATE, NVL(p_trx_line_dist_tbl.TAX_INVOICE_DATE(i), TAX_INVOICE_DATE)),  -- Bug 5659357
2741                                 TAX_INVOICE_NUMBER             = p_trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
2742                                 FIRST_PTY_ORG_ID               = p_event_class_rec.FIRST_PTY_ORG_ID,
2743                                 TAX_EVENT_CLASS_CODE           = p_event_class_rec.TAX_EVENT_CLASS_CODE,
2744                                 TAX_EVENT_TYPE_CODE            = p_event_class_rec.TAX_EVENT_TYPE_CODE,
2745                                 RDNG_SHIP_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID(i),
2746                                 RDNG_SHIP_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID(i),
2747                                 RDNG_BILL_TO_PTY_TX_PROF_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID(i),
2748                                 RDNG_BILL_FROM_PTY_TX_PROF_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID(i),
2749                                 RDNG_SHIP_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID(i),
2750                                 RDNG_SHIP_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID(i),
2751                                 RDNG_BILL_TO_PTY_TX_P_ST_ID    = p_trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID(i),
2752                                 RDNG_BILL_FROM_PTY_TX_P_ST_ID  = p_trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID(i),
2753                                 LINE_INTENDED_USE              = p_trx_line_dist_tbl.LINE_INTENDED_USE(i),
2754                                 TRX_LINE_TYPE                  = p_trx_line_dist_tbl.TRX_LINE_TYPE(i),
2755                                 TRX_SHIPPING_DATE              = p_trx_line_dist_tbl.TRX_SHIPPING_DATE(i),
2756                                 TRX_RECEIPT_DATE               = p_trx_line_dist_tbl.TRX_RECEIPT_DATE(i),
2757                                 TRX_SIC_CODE                   = p_trx_line_dist_tbl.TRX_SIC_CODE(i),
2758                                 FOB_POINT                      = p_trx_line_dist_tbl.FOB_POINT(i),
2759                                 TRX_WAYBILL_NUMBER             = p_trx_line_dist_tbl.TRX_WAYBILL_NUMBER(i),
2760                                 PRODUCT_ID                     = p_trx_line_dist_tbl.PRODUCT_ID(i),
2761                                 PRODUCT_FISC_CLASSIFICATION    = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', NVL(p_trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(i), PRODUCT_FISC_CLASSIFICATION)),  -- Bug 5659357
2762                                 PRODUCT_ORG_ID                 = p_trx_line_dist_tbl.PRODUCT_ORG_ID(i),
2763                                 UOM_CODE                       = p_trx_line_dist_tbl.UOM_CODE(i),
2764                                 PRODUCT_TYPE                   = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_TYPE,NVL(p_trx_line_dist_tbl.PRODUCT_TYPE(i), PRODUCT_TYPE)),  -- Bug 5659357
2765                                 PRODUCT_CODE                   = p_trx_line_dist_tbl.PRODUCT_CODE(i),
2766                                 PRODUCT_CATEGORY               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',PRODUCT_CATEGORY, NVL(p_trx_line_dist_tbl.PRODUCT_CATEGORY(i), PRODUCT_CATEGORY)),  -- Bug 5659357
2767                                 PRODUCT_DESCRIPTION            = p_trx_line_dist_tbl.PRODUCT_DESCRIPTION(i),
2768                                 USER_DEFINED_FISC_CLASS        = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',USER_DEFINED_FISC_CLASS,NVL(p_trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i), USER_DEFINED_FISC_CLASS)),  -- Bug 5659357
2769                                 LINE_AMT                       = p_trx_line_dist_tbl.LINE_AMT(i),
2770                                 TRX_LINE_QUANTITY              = p_trx_line_dist_tbl.TRX_LINE_QUANTITY(i),
2771                                 UNIT_PRICE                     = p_trx_line_dist_tbl.UNIT_PRICE(i),
2772                                 CASH_DISCOUNT                  = p_trx_line_dist_tbl.CASH_DISCOUNT(i),
2773                                 VOLUME_DISCOUNT                = p_trx_line_dist_tbl.VOLUME_DISCOUNT(i),
2774                                 TRADING_DISCOUNT               = p_trx_line_dist_tbl.TRADING_DISCOUNT(i),
2775                                 TRANSFER_CHARGE                = p_trx_line_dist_tbl.TRANSFER_CHARGE(i),
2776                                 TRANSPORTATION_CHARGE          = p_trx_line_dist_tbl.TRANSPORTATION_CHARGE(i),
2777                                 INSURANCE_CHARGE               = p_trx_line_dist_tbl.INSURANCE_CHARGE(i),
2778                                 OTHER_CHARGE                   = p_trx_line_dist_tbl.OTHER_CHARGE(i),
2779                                 ASSESSABLE_VALUE               = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y',ASSESSABLE_VALUE,NVL(p_trx_line_dist_tbl.ASSESSABLE_VALUE(i), ASSESSABLE_VALUE)),  -- Bug 5659357
2780                                 ASSET_FLAG                     = p_trx_line_dist_tbl.ASSET_FLAG(i),
2781                                 ASSET_NUMBER                   = p_trx_line_dist_tbl.ASSET_NUMBER(i),
2782                                 ASSET_ACCUM_DEPRECIATION       = p_trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(i),
2783                                 ASSET_TYPE                     = p_trx_line_dist_tbl.ASSET_TYPE(i),
2784                                 ASSET_COST                     = p_trx_line_dist_tbl.ASSET_COST(i),
2785                                 RELATED_DOC_APPLICATION_ID     = p_trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(i),
2786                                 RELATED_DOC_ENTITY_CODE        = p_trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(i),
2787                                 RELATED_DOC_EVENT_CLASS_CODE   = p_trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(i),
2788                                 RELATED_DOC_TRX_ID             = p_trx_line_dist_tbl.RELATED_DOC_TRX_ID(i),
2789                                 RELATED_DOC_NUMBER             = p_trx_line_dist_tbl.RELATED_DOC_NUMBER(i),
2790                                 RELATED_DOC_DATE               = p_trx_line_dist_tbl.RELATED_DOC_DATE(i),
2791                                 APPLIED_FROM_APPLICATION_ID    = p_trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(i),
2792                                 APPLIED_FROM_ENTITY_CODE       = p_trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(i),
2793                                 APPLIED_FROM_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(i),
2794                                 APPLIED_FROM_TRX_ID            = p_trx_line_dist_tbl.APPLIED_FROM_TRX_ID(i),
2795                                 APPLIED_FROM_LINE_ID           = p_trx_line_dist_tbl.APPLIED_FROM_LINE_ID(i),
2796                                 APPLIED_FROM_TRX_NUMBER        = p_trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER(i),
2797                                 ADJUSTED_DOC_APPLICATION_ID    = p_trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(i),
2798                                 ADJUSTED_DOC_ENTITY_CODE       = p_trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(i),
2799                                 ADJUSTED_DOC_EVENT_CLASS_CODE  = p_trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(i),
2800                                 ADJUSTED_DOC_TRX_ID            = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(i),
2801                                 ADJUSTED_DOC_LINE_ID           = p_trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(i),
2802                                 ADJUSTED_DOC_NUMBER            = p_trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(i),
2803                                 ADJUSTED_DOC_DATE              = p_trx_line_dist_tbl.ADJUSTED_DOC_DATE(i),
2804                                 APPLIED_TO_APPLICATION_ID      = p_trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(i),
2805                                 APPLIED_TO_ENTITY_CODE         = p_trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(i),
2806                                 APPLIED_TO_EVENT_CLASS_CODE    = p_trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(i),
2807                                 APPLIED_TO_TRX_ID              = p_trx_line_dist_tbl.APPLIED_TO_TRX_ID(i),
2808                                 APPLIED_TO_TRX_LINE_ID         = p_trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(i),
2809                                 TRX_ID_LEVEL2                  = p_trx_line_dist_tbl.TRX_ID_LEVEL2(i),
2810                                 TRX_ID_LEVEL3                  = p_trx_line_dist_tbl.TRX_ID_LEVEL3(i),
2811                                 TRX_ID_LEVEL4                  = p_trx_line_dist_tbl.TRX_ID_LEVEL4(i),
2812                                 TRX_ID_LEVEL5                  = p_trx_line_dist_tbl.TRX_ID_LEVEL5(i),
2813                                 TRX_ID_LEVEL6                  = p_trx_line_dist_tbl.TRX_ID_LEVEL6(i),
2814                                 TRX_BUSINESS_CATEGORY          = DECODE(USER_UPD_DET_FACTORS_FLAG,'Y', TRX_BUSINESS_CATEGORY, NVL(p_trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(i), TRX_BUSINESS_CATEGORY)),  -- Bug 5659357
2815                                 EXEMPT_CERTIFICATE_NUMBER      = p_trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(i),
2816                                 EXEMPT_REASON                  = p_trx_line_dist_tbl.EXEMPT_REASON(i),
2817                                 HISTORICAL_FLAG                = NVL(HISTORICAL_FLAG,p_trx_line_dist_tbl.HISTORICAL_FLAG(i)),
2818                                 TRX_LINE_GL_DATE               = p_trx_line_dist_tbl.TRX_LINE_GL_DATE(i),
2819                                 LINE_AMT_INCLUDES_TAX_FLAG     = p_trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(i),
2820                                 ACCOUNT_CCID                   = p_trx_line_dist_tbl.ACCOUNT_CCID(i),
2821                                 ACCOUNT_STRING                 = p_trx_line_dist_tbl.ACCOUNT_STRING(i),
2822                                 MERCHANT_PARTY_TAX_PROF_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(i),
2823                                 HQ_ESTB_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID(i),
2824                                 NUMERIC1                       = p_trx_line_dist_tbl.NUMERIC1(i),
2825                                 NUMERIC2                       = p_trx_line_dist_tbl.NUMERIC2(i),
2826                                 NUMERIC3                       = p_trx_line_dist_tbl.NUMERIC3(i),
2827                                 NUMERIC4                       = p_trx_line_dist_tbl.NUMERIC4(i),
2828                                 NUMERIC5                       = p_trx_line_dist_tbl.NUMERIC5(i),
2829                                 NUMERIC6                       = p_trx_line_dist_tbl.NUMERIC6(i),
2830                                 NUMERIC7                       = p_trx_line_dist_tbl.NUMERIC7(i),
2831                                 NUMERIC8                       = p_trx_line_dist_tbl.NUMERIC8(i),
2832                                 NUMERIC9                       = p_trx_line_dist_tbl.NUMERIC9(i),
2833                                 NUMERIC10                      = p_trx_line_dist_tbl.NUMERIC10(i),
2834                                 CHAR1                          = p_trx_line_dist_tbl.CHAR1(i),
2835                                 CHAR2                          = p_trx_line_dist_tbl.CHAR2(i),
2836                                 CHAR3                          = p_trx_line_dist_tbl.CHAR3(i),
2837                                 CHAR4                          = p_trx_line_dist_tbl.CHAR4(i),
2838                                 CHAR5                          = p_trx_line_dist_tbl.CHAR5(i),
2839                                 CHAR6                          = p_trx_line_dist_tbl.CHAR6(i),
2840                                 CHAR7                          = p_trx_line_dist_tbl.CHAR7(i),
2841                                 CHAR8                          = p_trx_line_dist_tbl.CHAR8(i),
2842                                 CHAR9                          = p_trx_line_dist_tbl.CHAR9(i),
2843                                 CHAR10                         = p_trx_line_dist_tbl.CHAR10(i),
2844                                 DATE1                          = p_trx_line_dist_tbl.DATE1(i),
2845                                 DATE2                          = p_trx_line_dist_tbl.DATE2(i),
2846                                 DATE3                          = p_trx_line_dist_tbl.DATE3(i),
2847                                 DATE4                          = p_trx_line_dist_tbl.DATE4(i),
2848                                 DATE5                          = p_trx_line_dist_tbl.DATE5(i),
2849                                 DATE6                          = p_trx_line_dist_tbl.DATE6(i),
2850                                 DATE7                          = p_trx_line_dist_tbl.DATE7(i),
2851                                 DATE8                          = p_trx_line_dist_tbl.DATE8(i),
2852                                 DATE9                          = p_trx_line_dist_tbl.DATE9(i),
2853                                 DATE10                         = p_trx_line_dist_tbl.DATE10(i),
2854                                 MERCHANT_PARTY_NAME            = p_trx_line_dist_tbl.MERCHANT_PARTY_NAME(i),
2855                                 MERCHANT_PARTY_DOCUMENT_NUMBER = p_trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(i),
2856                                 MERCHANT_PARTY_REFERENCE       = p_trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(i),
2857                                 MERCHANT_PARTY_TAXPAYER_ID     = p_trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(i),
2858                                 MERCHANT_PARTY_TAX_REG_NUMBER  = p_trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(i),
2859                                 MERCHANT_PARTY_ID              = p_trx_line_dist_tbl.MERCHANT_PARTY_ID(i),
2860                                 MERCHANT_PARTY_COUNTRY         = p_trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(i),
2861                                 SHIP_TO_LOCATION_ID            = p_trx_line_dist_tbl.SHIP_TO_LOCATION_ID(i),
2862                                 SHIP_FROM_LOCATION_ID          = p_trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(i),
2863                                 POA_LOCATION_ID                = p_trx_line_dist_tbl.POA_LOCATION_ID(i),
2864                                 POO_LOCATION_ID                = p_trx_line_dist_tbl.POO_LOCATION_ID(i),
2865                                 BILL_TO_LOCATION_ID            = p_trx_line_dist_tbl.BILL_TO_LOCATION_ID(i),
2866                                 BILL_FROM_LOCATION_ID          = p_trx_line_dist_tbl.BILL_FROM_LOCATION_ID(i),
2867                                 PAYING_LOCATION_ID             = p_trx_line_dist_tbl.PAYING_LOCATION_ID(i),
2868                                 OWN_HQ_LOCATION_ID             = p_trx_line_dist_tbl.OWN_HQ_LOCATION_ID(i),
2869                                 TRADING_HQ_LOCATION_ID         = p_trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(i),
2870                                 POC_LOCATION_ID                = p_trx_line_dist_tbl.POC_LOCATION_ID(i),
2871                                 POI_LOCATION_ID                = p_trx_line_dist_tbl.POI_LOCATION_ID(i),
2872                                 POD_LOCATION_ID                = p_trx_line_dist_tbl.POD_LOCATION_ID(i),
2873                                 TITLE_TRANSFER_LOCATION_ID     = p_trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(i),
2874                                 SHIP_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID(i),
2875                                 SHIP_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID(i),
2876                                 POA_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(i),
2877                                 POO_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(i),
2878                                 PAYING_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(i),
2879                                 OWN_HQ_PARTY_TAX_PROF_ID       = p_trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID(i),
2880                                 TRADING_HQ_PARTY_TAX_PROF_ID   = p_trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID(i),
2881                                 POI_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(i),
2882                                 POD_PARTY_TAX_PROF_ID          = p_trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(i),
2883                                 BILL_TO_PARTY_TAX_PROF_ID      = p_trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID(i),
2884                                 BILL_FROM_PARTY_TAX_PROF_ID    = p_trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID(i),
2885                                 TITLE_TRANS_PARTY_TAX_PROF_ID  = p_trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID(i),
2886                                 SHIP_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID(i),
2887                                 SHIP_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID(i),
2888                                 POA_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(i),
2889                                 POO_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(i),
2890                                 PAYING_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(i),
2891                                 OWN_HQ_SITE_TAX_PROF_ID        = p_trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID(i),
2892                                 TRADING_HQ_SITE_TAX_PROF_ID    = p_trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID(i),
2893                                 POI_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(i),
2894                                 POD_SITE_TAX_PROF_ID           = p_trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(i),
2895                                 BILL_TO_SITE_TAX_PROF_ID       = p_trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID(i),
2896                                 BILL_FROM_SITE_TAX_PROF_ID     = p_trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID(i),
2897                                 TITLE_TRANS_SITE_TAX_PROF_ID   = p_trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID(i),
2898                                 CTRL_HDR_TX_APPL_FLAG          = p_trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(i),
2899                                 CTRL_TOTAL_LINE_TX_AMT         = p_trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(i),
2900                                 CTRL_TOTAL_HDR_TX_AMT          = p_trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i),
2901                                 REF_DOC_APPLICATION_ID         = p_trx_line_dist_tbl.REF_DOC_APPLICATION_ID(i),
2902                                 REF_DOC_ENTITY_CODE            = p_trx_line_dist_tbl.REF_DOC_ENTITY_CODE(i),
2903                                 REF_DOC_EVENT_CLASS_CODE       = p_trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(i),
2904                                 REF_DOC_TRX_ID                 = p_trx_line_dist_tbl.REF_DOC_TRX_ID(i),
2905                                 REF_DOC_LINE_ID                = p_trx_line_dist_tbl.REF_DOC_LINE_ID(i),
2906                                 REF_DOC_LINE_QUANTITY          = p_trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(i),
2907                                 TRX_LINE_DATE                  = p_trx_line_dist_tbl.TRX_LINE_DATE(i),
2908                                 INPUT_TAX_CLASSIFICATION_CODE  = p_trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(i),
2909                                 OUTPUT_TAX_CLASSIFICATION_CODE = p_trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(i),
2910                                 INTERNAL_ORG_LOCATION_ID       = p_trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(i),
2911                                 PORT_OF_ENTRY_CODE             = p_trx_line_dist_tbl.PORT_OF_ENTRY_CODE(i),
2912                                 TAX_REPORTING_FLAG             = DECODE(p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i),'RECORD_WITH_NO_TAX'
2913                                                                                                                   ,'N'
2914                                                                                                                   ,NVL(p_trx_line_dist_tbl.TAX_REPORTING_FLAG(i),p_event_class_rec.tax_reporting_flag)),
2915                                 TAX_AMT_INCLUDED_FLAG          = p_trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(i),
2916                                 COMPOUNDING_TAX_FLAG           = p_trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(i),
2917                                 SHIP_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(i),
2918                                 BILL_THIRD_PTY_ACCT_ID         = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(i),
2919                                 SHIP_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(i),
2920                                 BILL_THIRD_PTY_ACCT_SITE_ID    = p_trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(i),
2921                                 SHIP_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(i),
2922                                 BILL_TO_CUST_ACCT_SITE_USE_ID  = p_trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(i),
2923                                 START_EXPENSE_DATE             = p_trx_line_dist_tbl.START_EXPENSE_DATE(i),
2924                                 TRX_BATCH_ID                   = p_trx_line_dist_tbl.TRX_BATCH_ID(i),
2925                                 APPLIED_TO_TRX_NUMBER          = p_trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(i),
2926                                 SOURCE_APPLICATION_ID          = p_trx_line_dist_tbl.SOURCE_APPLICATION_ID(i),
2927                                 SOURCE_ENTITY_CODE             = p_trx_line_dist_tbl.SOURCE_ENTITY_CODE(i),
2928                                 SOURCE_EVENT_CLASS_CODE        = p_trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(i),
2929                                 SOURCE_TRX_ID                  = p_trx_line_dist_tbl.SOURCE_TRX_ID(i),
2930                                 SOURCE_LINE_ID                 = p_trx_line_dist_tbl.SOURCE_LINE_ID(i),
2931                                 SOURCE_TRX_LEVEL_TYPE          = p_trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(i),
2932                                 SOURCE_TAX_LINE_ID             = p_trx_line_dist_tbl.SOURCE_TAX_LINE_ID(i),
2933                                 REF_DOC_TRX_LEVEL_TYPE         = p_trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(i),
2934                                 APPLIED_TO_TRX_LEVEL_TYPE      = p_trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(i),
2935                                 APPLIED_FROM_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(i),
2936                                 ADJUSTED_DOC_TRX_LEVEL_TYPE    = p_trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(i),
2937                                 APPLICATION_DOC_STATUS         = p_trx_line_dist_tbl.APPLICATION_DOC_STATUS(i),
2938                                 TAX_PROCESSING_COMPLETED_FLAG  = p_trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG(i),
2939                                 TAX_CALCULATION_DONE_FLAG      = p_event_class_rec.TAX_CALCULATION_DONE_FLAG,
2940                                 OBJECT_VERSION_NUMBER          = OBJECT_VERSION_NUMBER+1,
2941                                 HDR_TRX_USER_KEY1              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY1(i),
2942                                 HDR_TRX_USER_KEY2              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY2(i),
2943                                 HDR_TRX_USER_KEY3              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY3(i),
2944                                 HDR_TRX_USER_KEY4              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY4(i),
2945                                 HDR_TRX_USER_KEY5              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY5(i),
2946                                 HDR_TRX_USER_KEY6              = p_trx_line_dist_tbl.HDR_TRX_USER_KEY6(i),
2947                                 LINE_TRX_USER_KEY1             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY1(i),
2948                                 LINE_TRX_USER_KEY2             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY2(i),
2949                                 LINE_TRX_USER_KEY3             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY3(i),
2950                                 LINE_TRX_USER_KEY4             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY4(i),
2951                                 LINE_TRX_USER_KEY5             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY5(i),
2952                                 LINE_TRX_USER_KEY6             = p_trx_line_dist_tbl.LINE_TRX_USER_KEY6(i),
2953                                 EXEMPTION_CONTROL_FLAG         = p_trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(i),
2954                                 EXEMPT_REASON_CODE             = p_trx_line_dist_tbl.EXEMPT_REASON_CODE(i),
2955                                 INTERFACE_ENTITY_CODE          = p_trx_line_dist_tbl.INTERFACE_ENTITY_CODE(i),
2956                                 INTERFACE_LINE_ID              = p_trx_line_dist_tbl.INTERFACE_LINE_ID(i),
2957                                 DEFAULTING_ATTRIBUTE1          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1(i),
2958                                 DEFAULTING_ATTRIBUTE2          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2(i),
2959                                 DEFAULTING_ATTRIBUTE3          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3(i),
2960                                 DEFAULTING_ATTRIBUTE4          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4(i),
2961                                 DEFAULTING_ATTRIBUTE5          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5(i),
2962                                 DEFAULTING_ATTRIBUTE6          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6(i),
2963                                 DEFAULTING_ATTRIBUTE7          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7(i),
2964                                 DEFAULTING_ATTRIBUTE8          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8(i),
2965                                 DEFAULTING_ATTRIBUTE9          = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9(i),
2966                                 DEFAULTING_ATTRIBUTE10         = p_trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10(i),
2967                                 PROVNL_TAX_DETERMINATION_DATE  = p_trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(i),
2968                                 HISTORICAL_TAX_CODE_ID         = p_trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID(i),
2969                                 GLOBAL_ATTRIBUTE_CATEGORY      = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY(i),
2970                                 GLOBAL_ATTRIBUTE1              = p_trx_line_dist_tbl.GLOBAL_ATTRIBUTE1(i),
2971                                 USER_UPD_DET_FACTORS_FLAG      = NVL(p_trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(i), USER_UPD_DET_FACTORS_FLAG),  -- Bug 5659357
2972                                 TOTAL_INC_TAX_AMT              = NVL(p_trx_line_dist_tbl.TOTAL_INC_TAX_AMT(i),0),
2973                                 ICX_SESSION_ID                 = DECODE (ZX_API_PUB.G_PUB_SRVC,'CALCULATE_TAX', ZX_SECURITY.G_ICX_SESSION_ID, null),
2974                                 LAST_UPDATE_DATE               = sysdate,
2975                                 LAST_UPDATED_BY                = fnd_global.user_id,
2976                                 LAST_UPDATE_LOGIN              = fnd_global.conc_login_id
2977     	   WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
2978            AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
2979            AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
2980            AND TRX_ID           = p_trx_line_dist_tbl.TRX_ID(i)
2981            AND TRX_LINE_ID      = p_trx_line_dist_tbl.TRX_LINE_ID(i)
2982            AND TRX_LEVEL_TYPE   = p_trx_line_dist_tbl.TRX_LEVEL_TYPE(i)
2983            AND NOT EXISTS (SELECT 'Y'
2984                              FROM zx_errors_gt err_gt
2985                             WHERE err_gt.application_id   = p_trx_line_dist_tbl.application_id(i)
2986                               AND err_gt.entity_code      = p_trx_line_dist_tbl.entity_code(i)
2987                               AND err_gt.event_class_code = p_trx_line_dist_tbl.event_class_code(i)
2988                               AND err_gt.trx_id           = p_trx_line_dist_tbl.trx_id(i))
2989            AND p_trx_line_dist_tbl.LINE_LEVEL_ACTION(i) IN
2990                                  ('NO_CHANGE',
2991                                   'UPDATE',
2992                                   'DISCARD',
2993                                   'CANCEL',
2994                                   'SYNCHRONIZE',
2995                                   'DELETE',
2996                                   'UNAPPLY_FROM');
2997     END IF;
2998 
2999        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3000          FND_LOG.STRING(G_LEVEL_STATEMENT,
3001            G_MODULE_NAME||l_api_name||'.END',
3002            G_PKG_NAME ||':'||l_api_name||'(). Records Updated = ' || SQL%ROWCOUNT);
3003          FND_LOG.STRING(G_LEVEL_STATEMENT,
3004            G_MODULE_NAME||l_api_name||'.END',
3005            G_PKG_NAME ||':'||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
3006 
3007        END IF;
3008 
3009  EXCEPTION
3010     WHEN OTHERS THEN
3011        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3012        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3013           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3014        END IF;
3015  END db_update_line_det_factors;
3016 
3017 -----------------------------------------------------------------------
3018 --  PRIVATE PROCEDURE
3019 --  insert_detail_tax_lines_gt
3020 --
3021 --  DESCRIPTION
3022 --  Insert into zx_detail_tax_lines_gt for partners
3023 --
3024 --  CALLED BY
3025 --    override_tax_lines
3026 --    reverse_document
3027 -----------------------------------------------------------------------
3028 
3029 PROCEDURE insert_detail_tax_lines_gt
3030   (p_event_class_rec        IN  ZX_API_PUB.event_class_rec_type,
3031    p_sync_with_prvdr_flag   IN  ZX_LINES.sync_with_prvdr_flag%type,
3032    p_ptnr_tax_lines_insert  OUT NOCOPY NUMBER,     -- Bug 5332192
3033    x_return_status          OUT NOCOPY VARCHAR2
3034    )IS
3035   l_api_name           CONSTANT VARCHAR2(30):= 'INSERT_DETAIL_TAX_LINES_GT';
3036   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
3037 
3038   BEGIN
3039     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3040       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3041     END IF;
3042 
3043     /*Set the return status to Success */
3044     x_return_status := FND_API.G_RET_STS_SUCCESS;
3045 
3046     BEGIN
3047     INSERT INTO ZX_DETAIL_TAX_LINES_GT(
3048            tax_line_id,
3049            internal_organization_id,
3050            application_id,
3051            entity_code,
3052            event_class_code,
3053            event_type_code,
3054            trx_id,
3055            trx_line_id,
3056            trx_level_type,
3057            trx_line_number,
3058            doc_event_status,
3059 --         line_event_status,
3060            tax_event_class_code,
3061            tax_event_type_code,
3062            tax_line_number,
3063            content_owner_id,
3064            tax_regime_id,
3065            tax_regime_code,
3066            tax_id,
3067            tax,
3068            tax_status_id,
3069            tax_status_code,
3070            tax_rate_id,
3071            tax_rate_code,
3072            tax_rate,
3073            tax_apportionment_line_number,
3074            trx_id_level2,
3075            trx_id_level3,
3076            trx_id_level4,
3077            trx_id_level5,
3078            trx_id_level6,
3079            trx_user_key_level1,
3080            trx_user_key_level2,
3081            trx_user_key_level3,
3082            trx_user_key_level4,
3083            trx_user_key_level5,
3084            trx_user_key_level6,
3085            mrc_tax_line_flag,
3086            ledger_id,
3087            establishment_id,
3088            legal_entity_id,
3089            legal_entity_tax_reg_number,
3090            hq_estb_reg_number,
3091            hq_estb_party_tax_prof_id,
3092            currency_conversion_date,
3093            currency_conversion_type,
3094            currency_conversion_rate,
3095            tax_currency_conversion_date,
3096            tax_currency_conversion_type,
3097            tax_currency_conversion_rate,
3098            trx_currency_code,
3099            minimum_accountable_unit,
3100            precision,
3101            trx_number,
3102            trx_date,
3103            unit_price,
3104            line_amt,
3105            trx_line_quantity,
3106            tax_base_modifier_rate,
3107            ref_doc_application_id,
3108            ref_doc_entity_code,
3109            ref_doc_event_class_code,
3110            ref_doc_trx_id,
3111            ref_doc_line_id,
3112            ref_doc_line_quantity,
3113            other_doc_line_amt,
3114            other_doc_line_tax_amt,
3115            other_doc_line_taxable_amt,
3116            unrounded_taxable_amt,
3117            unrounded_tax_amt,
3118            related_doc_application_id,
3119            related_doc_entity_code,
3120            related_doc_event_class_code,
3121            related_doc_trx_id,
3122            related_doc_number,
3123            related_doc_date,
3124            applied_from_application_id,
3125            applied_from_event_class_code,
3126            applied_from_entity_code,
3127            applied_from_trx_id,
3128            applied_from_line_id,
3129            applied_from_trx_number,
3130            adjusted_doc_application_id,
3131            adjusted_doc_entity_code,
3132            adjusted_doc_event_class_code,
3133            adjusted_doc_trx_id,
3134            adjusted_doc_line_id,
3135            adjusted_doc_number,
3136            adjusted_doc_date,
3137            applied_to_application_id,
3138            applied_to_event_class_code,
3139            applied_to_entity_code,
3140            applied_to_trx_id,
3141            applied_to_line_id,
3142            applied_to_trx_number,
3143            summary_tax_line_id,
3144            offset_link_to_tax_line_id,
3145            offset_flag,
3146            process_for_recovery_flag,
3147            tax_jurisdiction_id,
3148            tax_jurisdiction_code,
3149            place_of_supply,
3150            place_of_supply_type_code,
3151            place_of_supply_result_id,
3152            tax_date_rule_id,
3153            tax_date,
3154            tax_determine_date,
3155            tax_point_date,
3156            trx_line_date,
3157            tax_type_code,
3158            tax_code,
3159            tax_registration_id,
3160            tax_registration_number,
3161            registration_party_type,
3162            rounding_level_code,
3163            rounding_rule_code,
3164            rounding_lvl_party_tax_prof_id,
3165            rounding_lvl_party_type,
3166            compounding_tax_flag,
3167            orig_tax_status_id,
3168            orig_tax_status_code,
3169            orig_tax_rate_id,
3170            orig_tax_rate_code,
3171            orig_tax_rate,
3172            orig_tax_jurisdiction_id,
3173            orig_tax_jurisdiction_code,
3174            orig_tax_amt_included_flag,
3175            orig_self_assessed_flag,
3176            tax_currency_code,
3177            tax_amt,
3178            tax_amt_tax_curr,
3179            tax_amt_funcl_curr,
3180            taxable_amt,
3181            taxable_amt_tax_curr,
3182            taxable_amt_funcl_curr,
3183            orig_taxable_amt,
3184            orig_taxable_amt_tax_curr,
3185            cal_tax_amt,
3186            cal_tax_amt_tax_curr,
3187            cal_tax_amt_funcl_curr,
3188            orig_tax_amt,
3189            orig_tax_amt_tax_curr,
3190            rec_tax_amt,
3191            rec_tax_amt_tax_curr,
3192            rec_tax_amt_funcl_curr,
3193            nrec_tax_amt,
3194            nrec_tax_amt_tax_curr,
3195            nrec_tax_amt_funcl_curr,
3196            tax_exemption_id,
3197            tax_rate_before_exemption,
3198            tax_rate_name_before_exemption,
3199            exempt_rate_modifier,
3200            exempt_certificate_number,
3201            exempt_reason,
3202            exempt_reason_code,
3203            tax_exception_id,
3204            tax_rate_before_exception,
3205            tax_rate_name_before_exception,
3206            exception_rate,
3207            tax_apportionment_flag,
3208            historical_flag,
3209            taxable_basis_formula,
3210            tax_calculation_formula,
3211            cancel_flag,
3212            purge_flag,
3213            delete_flag,
3214            tax_amt_included_flag,
3215            self_assessed_flag,
3216            overridden_flag,
3217            manually_entered_flag,
3218            freeze_until_overridden_flag,
3219            copied_from_other_doc_flag,
3220            recalc_required_flag,
3221            settlement_flag,
3222            item_dist_changed_flag,
3223            associated_child_frozen_flag,
3224            tax_only_line_flag,
3225            compounding_dep_tax_flag,
3226            last_manual_entry,
3227            tax_provider_id,
3228            record_type_code,
3229            reporting_period_id,
3230            legal_message_appl_2,
3231            legal_message_status,
3232            legal_message_rate,
3233            legal_message_basis,
3234            legal_message_calc,
3235            legal_message_threshold,
3236            legal_message_pos,
3237            legal_message_trn,
3238            legal_message_exmpt,
3239            legal_message_excpt,
3240            tax_regime_template_id,
3241            tax_applicability_result_id,
3242            direct_rate_result_id,
3243            status_result_id,
3244            rate_result_id,
3245            basis_result_id,
3246            thresh_result_id,
3247            calc_result_id,
3248            tax_reg_num_det_result_id,
3249            eval_exmpt_result_id,
3250            eval_excpt_result_id,
3251            enforce_from_natural_acct_flag,
3252            tax_hold_code,
3253            tax_hold_released_code,
3254            prd_total_tax_amt,
3255            prd_total_tax_amt_tax_curr,
3256            prd_total_tax_amt_funcl_curr,
3257            internal_org_location_id,
3258            attribute_category,
3259            attribute1,
3260            attribute2,
3261            attribute3,
3262            attribute4,
3263            attribute5,
3264            attribute6,
3265            attribute7,
3266            attribute8,
3267            attribute9,
3268            attribute10,
3269            attribute11,
3270            attribute12,
3271            attribute13,
3272            attribute14,
3273            attribute15,
3274            global_attribute_category,
3275            global_attribute1,
3276            global_attribute2,
3277            global_attribute3,
3278            global_attribute4,
3279            global_attribute5,
3280            global_attribute6,
3281            global_attribute7,
3282            global_attribute8,
3283            global_attribute9,
3284            global_attribute10,
3285            global_attribute11,
3286            global_attribute12,
3287            global_attribute13,
3288            global_attribute14,
3289            global_attribute15,
3290            numeric1,
3291            numeric2,
3292            numeric3,
3293            numeric4,
3294            numeric5,
3295            numeric6,
3296            numeric7,
3297            numeric8,
3298            numeric9,
3299            numeric10,
3300            char1,
3301            char2,
3302            char3,
3303            char4,
3304            char5,
3305            char6,
3306            char7,
3307            char8,
3308            char9,
3309            char10,
3310            date1,
3311            date2,
3312            date3,
3313            date4,
3314            date5,
3315            date6,
3316            date7,
3317            date8,
3318            date9,
3319            date10,
3320            tax_rate_type,
3321            created_by,
3322            creation_date,
3323            last_updated_by,
3324            last_update_date,
3325            last_update_login,
3326            line_assessable_value,
3327            legal_justification_text1,
3328            legal_justification_text2,
3329            legal_justification_text3,
3330            reporting_currency_code,
3331            trx_line_index,
3332            offset_tax_rate_code,
3333            proration_code,
3334            other_doc_source,
3335            reporting_only_flag,
3336            ctrl_total_line_tx_amt,
3337            sync_with_prvdr_flag,
3338            interface_entity_code,
3339            interface_tax_line_id,
3340            taxing_juris_geography_id,
3341            adjusted_doc_tax_line_id,
3342            object_version_number
3343            )
3344           (SELECT
3345            L.tax_line_id,
3346            L.internal_organization_id,
3347            L.application_id,
3348            L.entity_code,
3349            L.event_class_code,
3350            L.event_type_code,
3351            L.trx_id,
3352            L.trx_line_id,
3353            L.trx_level_type,
3354            L.trx_line_number,
3355            L.doc_event_status,
3356 --         L.line_event_status,
3357            L.tax_event_class_code,
3358            L.tax_event_type_code,
3359            L.tax_line_number,
3360            L.content_owner_id,
3361            L.tax_regime_id,
3362            L.tax_regime_code,
3363            L.tax_id,
3364            L.tax,
3365            L.tax_status_id,
3366            L.tax_status_code,
3367            L.tax_rate_id,
3368            L.tax_rate_code,
3369            L.tax_rate,
3370            L.tax_apportionment_line_number,
3371            L.trx_id_level2,
3372            L.trx_id_level3,
3373            L.trx_id_level4,
3374            L.trx_id_level5,
3375            L.trx_id_level6,
3376            L.trx_user_key_level1,
3377            L.trx_user_key_level2,
3378            L.trx_user_key_level3,
3379            L.trx_user_key_level4,
3380            L.trx_user_key_level5,
3381            L.trx_user_key_level6,
3382            L.mrc_tax_line_flag,
3383            L.ledger_id,
3384            L.establishment_id,
3385            L.legal_entity_id,
3386            L.legal_entity_tax_reg_number,
3387            L.hq_estb_reg_number,
3388            L.hq_estb_party_tax_prof_id,
3389            L.currency_conversion_date,
3390            L.currency_conversion_type,
3391            L.currency_conversion_rate,
3392            L.tax_currency_conversion_date,
3393            L.tax_currency_conversion_type,
3394            L.tax_currency_conversion_rate,
3395            L.trx_currency_code,
3396            L.minimum_accountable_unit,
3397            L.precision,
3398            L.trx_number,
3399            L.trx_date,
3400            L.unit_price,
3401            L.line_amt,
3402            L.trx_line_quantity,
3403            L.tax_base_modifier_rate,
3404            L.ref_doc_application_id,
3405            L.ref_doc_entity_code,
3406            L.ref_doc_event_class_code,
3407            L.ref_doc_trx_id,
3408            L.ref_doc_line_id,
3409            L.ref_doc_line_quantity,
3410            L.other_doc_line_amt,
3411            L.other_doc_line_tax_amt,
3412            L.other_doc_line_taxable_amt,
3413            L.unrounded_taxable_amt,
3414            L.unrounded_tax_amt,
3415            L.related_doc_application_id,
3416            L.related_doc_entity_code,
3417            L.related_doc_event_class_code,
3418            L.related_doc_trx_id,
3419            L.related_doc_number,
3420            L.related_doc_date,
3421            L.applied_from_application_id,
3422            L.applied_from_event_class_code,
3423            L.applied_from_entity_code,
3424            L.applied_from_trx_id,
3425            L.applied_from_line_id,
3426            L.applied_from_trx_number,
3427            L.adjusted_doc_application_id,
3428            L.adjusted_doc_entity_code,
3429            L.adjusted_doc_event_class_code,
3430            L.adjusted_doc_trx_id,
3431            L.adjusted_doc_line_id,
3432            L.adjusted_doc_number,
3433            L.adjusted_doc_date,
3434            L.applied_to_application_id,
3435            L.applied_to_event_class_code,
3436            L.applied_to_entity_code,
3437            L.applied_to_trx_id,
3438            L.applied_to_line_id,
3439            L.applied_to_trx_number,
3440            L.summary_tax_line_id,
3441            L.offset_link_to_tax_line_id,
3442            L.offset_flag,
3443            L.process_for_recovery_flag,
3444            L.tax_jurisdiction_id,
3445            L.tax_jurisdiction_code,
3446            L.place_of_supply,
3447            L.place_of_supply_type_code,
3448            L.place_of_supply_result_id,
3449            L.tax_date_rule_id,
3450            L.tax_date,
3451            L.tax_determine_date,
3452            L.tax_point_date,
3453            L.trx_line_date,
3454            L.tax_type_code,
3455            L.tax_code,
3456            L.tax_registration_id,
3457            L.tax_registration_number,
3458            L.registration_party_type,
3459            L.rounding_level_code,
3460            L.rounding_rule_code,
3461            L.rounding_lvl_party_tax_prof_id,
3462            L.rounding_lvl_party_type,
3463            L.compounding_tax_flag,
3464            L.orig_tax_status_id,
3465            L.orig_tax_status_code,
3466            L.orig_tax_rate_id,
3467            L.orig_tax_rate_code,
3468            L.orig_tax_rate,
3469            L.orig_tax_jurisdiction_id,
3470            L.orig_tax_jurisdiction_code,
3471            L.orig_tax_amt_included_flag,
3472            L.orig_self_assessed_flag,
3473            L.tax_currency_code,
3474            L.tax_amt,
3475            L.tax_amt_tax_curr,
3476            L.tax_amt_funcl_curr,
3477            L.taxable_amt,
3478            L.taxable_amt_tax_curr,
3479            L.taxable_amt_funcl_curr,
3480            L.orig_taxable_amt,
3481            L.orig_taxable_amt_tax_curr,
3482            L.cal_tax_amt,
3483            L.cal_tax_amt_tax_curr,
3484            L.cal_tax_amt_funcl_curr,
3485            L.orig_tax_amt,
3486            L.orig_tax_amt_tax_curr,
3487            L.rec_tax_amt,
3488            L.rec_tax_amt_tax_curr,
3489            L.rec_tax_amt_funcl_curr,
3490            L.nrec_tax_amt,
3491            L.nrec_tax_amt_tax_curr,
3492            L.nrec_tax_amt_funcl_curr,
3493            L.tax_exemption_id,
3494            L.tax_rate_before_exemption,
3495            L.tax_rate_name_before_exemption,
3496            L.exempt_rate_modifier,
3497            L.exempt_certificate_number,
3498            L.exempt_reason,
3499            L.exempt_reason_code,
3500            L.tax_exception_id,
3501            L.tax_rate_before_exception,
3502            L.tax_rate_name_before_exception,
3503            L.exception_rate,
3504            L.tax_apportionment_flag,
3505            L.historical_flag,
3506            L.taxable_basis_formula,
3507            L.tax_calculation_formula,
3508            L.cancel_flag,
3509            L.purge_flag,
3510            L.delete_flag,
3511            L.tax_amt_included_flag,
3512            L.self_assessed_flag,
3513            L.overridden_flag,
3514            L.manually_entered_flag,
3515            L.freeze_until_overridden_flag,
3516            L.copied_from_other_doc_flag,
3517            L.recalc_required_flag,
3518            L.settlement_flag,
3519            L.item_dist_changed_flag,
3520            L.associated_child_frozen_flag,
3521            L.tax_only_line_flag,
3522            L.compounding_dep_tax_flag,
3523            L.last_manual_entry,
3524            L.tax_provider_id,
3525            L.record_type_code,
3526            L.reporting_period_id,
3527            L.legal_message_appl_2,
3528            L.legal_message_status,
3529            L.legal_message_rate,
3530            L.legal_message_basis,
3531            L.legal_message_calc,
3532            L.legal_message_threshold,
3533            L.legal_message_pos,
3534            L.legal_message_trn,
3535            L.legal_message_exmpt,
3536            L.legal_message_excpt,
3537            L.tax_regime_template_id,
3538            L.tax_applicability_result_id,
3539            L.direct_rate_result_id,
3540            L.status_result_id,
3541            L.rate_result_id,
3542            L.basis_result_id,
3543            L.thresh_result_id,
3544            L.calc_result_id,
3545            L.tax_reg_num_det_result_id,
3546            L.eval_exmpt_result_id,
3547            L.eval_excpt_result_id,
3548            L.enforce_from_natural_acct_flag,
3549            L.tax_hold_code,
3550            L.tax_hold_released_code,
3551            L.prd_total_tax_amt,
3552            L.prd_total_tax_amt_tax_curr,
3553            L.prd_total_tax_amt_funcl_curr,
3554            L.internal_org_location_id,
3555            L.attribute_category,
3556            L.attribute1,
3557            L.attribute2,
3558            L.attribute3,
3559            L.attribute4,
3560            L.attribute5,
3561            L.attribute6,
3562            L.attribute7,
3563            L.attribute8,
3564            L.attribute9,
3565            L.attribute10,
3566            L.attribute11,
3567            L.attribute12,
3568            L.attribute13,
3569            L.attribute14,
3570            L.attribute15,
3571            L.global_attribute_category,
3572            L.global_attribute1,
3573            L.global_attribute2,
3574            L.global_attribute3,
3575            L.global_attribute4,
3576            L.global_attribute5,
3577            L.global_attribute6,
3578            L.global_attribute7,
3579            L.global_attribute8,
3580            L.global_attribute9,
3581            L.global_attribute10,
3582            L.global_attribute11,
3583            L.global_attribute12,
3584            L.global_attribute13,
3585            L.global_attribute14,
3586            L.global_attribute15,
3587            L.numeric1,
3588            L.numeric2,
3589            L.numeric3,
3590            L.numeric4,
3591            L.numeric5,
3592            L.numeric6,
3593            L.numeric7,
3594            L.numeric8,
3595            L.numeric9,
3596            L.numeric10,
3597            L.char1,
3598            L.char2,
3599            L.char3,
3600            L.char4,
3601            L.char5,
3602            L.char6,
3603            L.char7,
3604            L.char8,
3605            L.char9,
3606            L.char10,
3607            L.date1,
3608            L.date2,
3609            L.date3,
3610            L.date4,
3611            L.date5,
3612            L.date6,
3613            L.date7,
3614            L.date8,
3615            L.date9,
3616            L.date10,
3617            L.tax_rate_type,
3618            L.created_by,
3619            L.creation_date,
3620            L.last_updated_by,
3621            L.last_update_date,
3622            L.last_update_login,
3623            L.line_assessable_value,
3624            L.legal_justification_text1,
3625            L.legal_justification_text2,
3626            L.legal_justification_text3,
3627            L.reporting_currency_code,
3628            L.trx_line_index,
3629            L.offset_tax_rate_code,
3630            L.proration_code,
3631            L.other_doc_source,
3632            L.reporting_only_flag,
3633            L.ctrl_total_line_tx_amt,
3634            L.sync_with_prvdr_flag,
3635            L.interface_entity_code,
3636            L.interface_tax_line_id,
3637            L.taxing_juris_geography_id,
3638            L.adjusted_doc_tax_line_id,
3639            1
3640           FROM ZX_LINES L
3641 	  WHERE application_id = p_event_class_rec.application_id
3642             AND entity_code = p_event_class_rec.entity_code
3643             AND event_class_code = p_event_class_rec.event_class_code
3644             AND trx_id = p_event_class_rec.trx_id
3645     	    AND tax_provider_id is not null
3646             AND sync_with_prvdr_flag = nvl(p_sync_with_prvdr_flag, sync_with_prvdr_flag)
3647           );
3648        EXCEPTION WHEN OTHERS THEN
3649           p_ptnr_tax_lines_insert := 0;
3650        END;
3651        p_ptnr_tax_lines_insert := SQL%ROWCOUNT;    -- Bug 5332192
3652 
3653        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
3654          FND_LOG.STRING(G_LEVEL_STATEMENT,
3655            G_MODULE_NAME||l_api_name||'.END',
3656            G_PKG_NAME ||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
3657        END IF;
3658 
3659        EXCEPTION
3660         WHEN OTHERS THEN
3661            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3662            IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
3663               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
3664            END IF;
3665 END insert_detail_tax_lines_gt;
3666 
3667 -----------------------------------------------------------------------
3668 --  PRIVATE PROCEDURE
3669 --  call_lte
3670 --
3671 --  DESCRIPTION
3672 --  Wrapper to fetch all lines from zx_lines_det_factors before calling LTE
3673 --  to calculate_tax
3674 --
3675 --  CALLED BY
3676 --    calculate_tax
3677 -----------------------------------------------------------------------
3678   PROCEDURE call_lte
3679   (
3680    p_event_class_rec          IN  ZX_API_PUB.event_class_rec_type ,
3681    x_return_status            OUT NOCOPY VARCHAR2
3682   )IS
3683 
3684   l_api_name              CONSTANT VARCHAR2(30):= 'CALL_LTE';
3685   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
3686   l_return_status         VARCHAR2(1);
3687 
3688 /* Cursor for LTE calculate tax - need to fetch all the lines for document*/
3689  CURSOR fetch_det_factors_for_lte(p_event_class_rec zx_api_pub.event_class_rec_type)  IS
3690    SELECT  INTERNAL_ORGANIZATION_ID,
3691            APPLICATION_ID,
3692            ENTITY_CODE,
3693            EVENT_CLASS_CODE,
3694            EVENT_TYPE_CODE,
3695            DOC_EVENT_STATUS,
3696            LINE_LEVEL_ACTION,
3697            TRX_ID,
3698            TRX_LINE_ID,
3699            TRX_LEVEL_TYPE,
3700            TRX_DATE,
3701            TRX_DOC_REVISION,
3702            LEDGER_ID,
3703            TRX_CURRENCY_CODE,
3704            CURRENCY_CONVERSION_DATE,
3705            CURRENCY_CONVERSION_RATE,
3706            CURRENCY_CONVERSION_TYPE,
3707            MINIMUM_ACCOUNTABLE_UNIT,
3708            PRECISION,
3709            TRX_LINE_CURRENCY_CODE,
3710            TRX_LINE_CURRENCY_CONV_DATE,
3711            TRX_LINE_CURRENCY_CONV_RATE,
3712            TRX_LINE_CURRENCY_CONV_TYPE,
3713            TRX_LINE_MAU,
3714            TRX_LINE_PRECISION,
3715            LEGAL_ENTITY_ID,
3716            ESTABLISHMENT_ID,
3717            RECEIVABLES_TRX_TYPE_ID,
3718            DEFAULT_TAXATION_COUNTRY,
3719            TRX_NUMBER,
3720            TRX_LINE_NUMBER,
3721            TRX_LINE_DESCRIPTION,
3722            TRX_DESCRIPTION,
3723            TRX_COMMUNICATED_DATE,
3724            BATCH_SOURCE_ID,
3725            BATCH_SOURCE_NAME,
3726            DOC_SEQ_ID,
3727            DOC_SEQ_NAME,
3728            DOC_SEQ_VALUE,
3729            TRX_DUE_DATE,
3730            TRX_TYPE_DESCRIPTION,
3731            DOCUMENT_SUB_TYPE,
3732            SUPPLIER_TAX_INVOICE_NUMBER	,
3733            SUPPLIER_TAX_INVOICE_DATE,
3734            SUPPLIER_EXCHANGE_RATE,
3735            TAX_INVOICE_DATE,
3736            TAX_INVOICE_NUMBER,
3737            FIRST_PTY_ORG_ID,
3738            TAX_EVENT_CLASS_CODE,
3739            TAX_EVENT_TYPE_CODE,
3740            RDNG_SHIP_TO_PTY_TX_PROF_ID	,
3741            RDNG_SHIP_FROM_PTY_TX_PROF_ID,
3742            RDNG_BILL_TO_PTY_TX_PROF_ID	,
3743            RDNG_BILL_FROM_PTY_TX_PROF_ID,
3744            RDNG_SHIP_TO_PTY_TX_P_ST_ID	,
3745            RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
3746            RDNG_BILL_TO_PTY_TX_P_ST_ID	,
3747            RDNG_BILL_FROM_PTY_TX_P_ST_ID,
3748            LINE_INTENDED_USE ,
3749            TRX_LINE_TYPE ,
3750            TRX_SHIPPING_DATE,
3751            TRX_RECEIPT_DATE,
3752            TRX_SIC_CODE,
3753            FOB_POINT ,
3754            TRX_WAYBILL_NUMBER,
3755            PRODUCT_ID,
3756            PRODUCT_FISC_CLASSIFICATION ,
3757            PRODUCT_ORG_ID,
3758            UOM_CODE,
3759            PRODUCT_TYPE ,
3760            PRODUCT_CODE,
3761            PRODUCT_CATEGORY ,
3762            PRODUCT_DESCRIPTION,
3763            USER_DEFINED_FISC_CLASS,
3764            LINE_AMT,
3765            TRX_LINE_QUANTITY ,
3766            UNIT_PRICE,
3767            CASH_DISCOUNT,
3768            VOLUME_DISCOUNT,
3769            TRADING_DISCOUNT,
3770            TRANSFER_CHARGE,
3771            TRANSPORTATION_CHARGE,
3772            INSURANCE_CHARGE,
3773            OTHER_CHARGE,
3774            ASSESSABLE_VALUE,
3775            ASSET_FLAG,
3776            ASSET_NUMBER,
3777            ASSET_ACCUM_DEPRECIATION,
3778            ASSET_TYPE,
3779            ASSET_COST,
3780            RELATED_DOC_APPLICATION_ID,
3781            RELATED_DOC_ENTITY_CODE,
3782            RELATED_DOC_EVENT_CLASS_CODE,
3783            RELATED_DOC_TRX_ID,
3784            RELATED_DOC_NUMBER,
3785            RELATED_DOC_DATE,
3786            APPLIED_FROM_APPLICATION_ID,
3787            APPLIED_FROM_ENTITY_CODE,
3788            APPLIED_FROM_EVENT_CLASS_CODE,
3789            APPLIED_FROM_TRX_ID,
3790            APPLIED_FROM_LINE_ID,
3791            APPLIED_FROM_TRX_NUMBER,
3792            ADJUSTED_DOC_APPLICATION_ID,
3793            ADJUSTED_DOC_ENTITY_CODE,
3794            ADJUSTED_DOC_EVENT_CLASS_CODE,
3795            ADJUSTED_DOC_TRX_ID,
3796            ADJUSTED_DOC_LINE_ID,
3797            ADJUSTED_DOC_NUMBER,
3798            ADJUSTED_DOC_DATE,
3799            APPLIED_TO_APPLICATION_ID,
3800            APPLIED_TO_ENTITY_CODE,
3801            APPLIED_TO_EVENT_CLASS_CODE,
3802            APPLIED_TO_TRX_ID ,
3803            APPLIED_TO_TRX_LINE_ID,
3804            TRX_ID_LEVEL2,
3805            TRX_ID_LEVEL3,
3806            TRX_ID_LEVEL4,
3807            TRX_ID_LEVEL5,
3808            TRX_ID_LEVEL6,
3809            TRX_BUSINESS_CATEGORY,
3810            EXEMPT_CERTIFICATE_NUMBER,
3811            EXEMPT_REASON,
3812            HISTORICAL_FLAG,
3813            TRX_LINE_GL_DATE,
3814            PROVNL_TAX_DETERMINATION_DATE,
3815            LINE_AMT_INCLUDES_TAX_FLAG,
3816            ACCOUNT_CCID,
3817            ACCOUNT_STRING,
3818            MERCHANT_PARTY_TAX_PROF_ID,
3819            HQ_ESTB_PARTY_TAX_PROF_ID,
3820            NUMERIC1,
3821            NUMERIC2,
3822            NUMERIC3,
3823            NUMERIC4,
3824            NUMERIC5,
3825            NUMERIC6,
3826            NUMERIC7,
3827            NUMERIC8,
3828            NUMERIC9,
3829            NUMERIC10,
3830            CHAR1,
3831            CHAR2,
3832            CHAR3,
3833            CHAR4,
3834            CHAR5,
3835            CHAR6,
3836            CHAR7,
3837            CHAR8,
3838            CHAR9,
3839            CHAR10,
3840            DATE1,
3841            DATE2,
3842            DATE3,
3843            DATE4,
3844            DATE5,
3845            DATE6,
3846            DATE7,
3847            DATE8,
3848            DATE9,
3849            DATE10,
3850            MERCHANT_PARTY_NAME,
3851            MERCHANT_PARTY_DOCUMENT_NUMBER,
3852            MERCHANT_PARTY_REFERENCE,
3853            MERCHANT_PARTY_TAXPAYER_ID,
3854            MERCHANT_PARTY_TAX_REG_NUMBER,
3855            MERCHANT_PARTY_ID,
3856            MERCHANT_PARTY_COUNTRY,
3857            SHIP_TO_LOCATION_ID,
3858            SHIP_FROM_LOCATION_ID,
3859            POA_LOCATION_ID,
3860            POO_LOCATION_ID,
3861            BILL_TO_LOCATION_ID,
3862            BILL_FROM_LOCATION_ID,
3863            PAYING_LOCATION_ID,
3864            OWN_HQ_LOCATION_ID,
3865            TRADING_HQ_LOCATION_ID,
3866            POC_LOCATION_ID,
3867            POI_LOCATION_ID,
3868            POD_LOCATION_ID,
3869            TITLE_TRANSFER_LOCATION_ID,
3870            SHIP_TO_PARTY_TAX_PROF_ID ,
3871            SHIP_FROM_PARTY_TAX_PROF_ID,
3872            POA_PARTY_TAX_PROF_ID,
3873            POO_PARTY_TAX_PROF_ID,
3874            PAYING_PARTY_TAX_PROF_ID,
3875            OWN_HQ_PARTY_TAX_PROF_ID,
3876            TRADING_HQ_PARTY_TAX_PROF_ID,
3877            POI_PARTY_TAX_PROF_ID,
3878            POD_PARTY_TAX_PROF_ID,
3879            BILL_TO_PARTY_TAX_PROF_ID,
3880            BILL_FROM_PARTY_TAX_PROF_ID,
3881            TITLE_TRANS_PARTY_TAX_PROF_ID,
3882            SHIP_TO_SITE_TAX_PROF_ID,
3883            SHIP_FROM_SITE_TAX_PROF_ID,
3884            POA_SITE_TAX_PROF_ID,
3885            POO_SITE_TAX_PROF_ID,
3886            PAYING_SITE_TAX_PROF_ID,
3887            OWN_HQ_SITE_TAX_PROF_ID,
3888            TRADING_HQ_SITE_TAX_PROF_ID,
3889            POI_SITE_TAX_PROF_ID,
3890            POD_SITE_TAX_PROF_ID,
3891            BILL_TO_SITE_TAX_PROF_ID,
3892            BILL_FROM_SITE_TAX_PROF_ID,
3893            TITLE_TRANS_SITE_TAX_PROF_ID,
3894            CTRL_HDR_TX_APPL_FLAG,
3895            CTRL_TOTAL_LINE_TX_AMT,
3896            CTRL_TOTAL_HDR_TX_AMT,
3897            REF_DOC_APPLICATION_ID,
3898            REF_DOC_ENTITY_CODE,
3899            REF_DOC_EVENT_CLASS_CODE,
3900            REF_DOC_TRX_ID,
3901            REF_DOC_LINE_ID,
3902            REF_DOC_LINE_QUANTITY,
3903            LINE_CLASS,
3904            TRX_LINE_DATE,
3905            INPUT_TAX_CLASSIFICATION_CODE,
3906            OUTPUT_TAX_CLASSIFICATION_CODE,
3907            INTERNAL_ORG_LOCATION_ID,
3908            PORT_OF_ENTRY_CODE,
3909            TAX_REPORTING_FLAG,
3910            TAX_AMT_INCLUDED_FLAG,
3911            COMPOUNDING_TAX_FLAG,
3912            SHIP_THIRD_PTY_ACCT_ID,
3913            BILL_THIRD_PTY_ACCT_ID,
3914            SHIP_THIRD_PTY_ACCT_SITE_ID,
3915            BILL_THIRD_PTY_ACCT_SITE_ID,
3916            SHIP_TO_CUST_ACCT_SITE_USE_ID,
3917            BILL_TO_CUST_ACCT_SITE_USE_ID,
3918            START_EXPENSE_DATE,
3919            TRX_BATCH_ID,
3920            APPLIED_TO_TRX_NUMBER,
3921            SOURCE_APPLICATION_ID,
3922            SOURCE_ENTITY_CODE,
3923            SOURCE_EVENT_CLASS_CODE,
3924            SOURCE_TRX_ID,
3925            SOURCE_LINE_ID,
3926            SOURCE_TRX_LEVEL_TYPE,
3927            REF_DOC_TRX_LEVEL_TYPE,
3928            APPLIED_TO_TRX_LEVEL_TYPE,
3929            APPLIED_FROM_TRX_LEVEL_TYPE,
3930            ADJUSTED_DOC_TRX_LEVEL_TYPE,
3931            APPLICATION_DOC_STATUS,
3932            HDR_TRX_USER_KEY1,
3933            HDR_TRX_USER_KEY2,
3934            HDR_TRX_USER_KEY3,
3935            HDR_TRX_USER_KEY4,
3936            HDR_TRX_USER_KEY5,
3937            HDR_TRX_USER_KEY6,
3938            LINE_TRX_USER_KEY1,
3939            LINE_TRX_USER_KEY2,
3940            LINE_TRX_USER_KEY3,
3941            LINE_TRX_USER_KEY4,
3942            LINE_TRX_USER_KEY5,
3943            LINE_TRX_USER_KEY6,
3944            null DIST_LEVEL_ACTION,
3945            to_number(null) ADJUSTED_DOC_TASK_DIST_ID,
3946            to_number(null) APPLIED_FROM_TAX_DIST_ID,
3947            to_number(null) TASK_ID,
3948            to_number(null) AWARD_ID,
3949            to_number(null) PROJECT_ID,
3950            null EXPENDITURE_TYPE,
3951            to_number(null) EXPENDITURE_ORGANIZATION_ID,
3952            null EXPENDITURE_ITEM_DATE,
3953            to_number(null) TRX_LINE_DIST_AMT,
3954            to_number(null) TRX_LINE_DIST_QUANTITY,
3955            to_number(null) REF_DOC_CURR_CONV_RATE,
3956            to_number(null) ITEM_DIST_NUMBER,
3957            to_number(null) REF_DOC_DIST_ID,
3958            to_number(null) TRX_LINE_DIST_TAX_AMT,
3959            to_number(null) TRX_LINE_DIST_ID,
3960            to_number(null) APPLIED_FROM_DIST_ID,
3961            to_number(null) ADJUSTED_DOC_DIST_ID,
3962            to_number(null) OVERRIDING_RECOVERY_RATE,
3963            TAX_AMT_INCLUDED_FLAG,
3964            COMPOUNDING_TAX_FLAG,
3965            SOURCE_TAX_LINE_ID,
3966            EXEMPTION_CONTROL_FLAG,
3967            EXEMPT_REASON_CODE,
3968            INTERFACE_ENTITY_CODE,
3969            INTERFACE_LINE_ID,
3970            DEFAULTING_ATTRIBUTE1,
3971            DEFAULTING_ATTRIBUTE2,
3972            DEFAULTING_ATTRIBUTE3,
3973            DEFAULTING_ATTRIBUTE4,
3974            DEFAULTING_ATTRIBUTE5,
3975            DEFAULTING_ATTRIBUTE6,
3976            DEFAULTING_ATTRIBUTE7,
3977            DEFAULTING_ATTRIBUTE8,
3978            DEFAULTING_ATTRIBUTE9,
3979            DEFAULTING_ATTRIBUTE10,
3980            HISTORICAL_TAX_CODE_ID,
3981            GLOBAL_ATTRIBUTE_CATEGORY,
3982            GLOBAL_ATTRIBUTE1,
3983            TOTAL_INC_TAX_AMT,
3984            USER_UPD_DET_FACTORS_FLAG
3985          FROM  ZX_LINES_DET_FACTORS
3986          WHERE application_id = p_event_class_rec.application_id
3987 	   AND entity_code = p_event_class_rec.entity_code
3988 	   AND event_class_code = p_event_class_rec.event_class_code
3989 	   AND trx_id = p_event_class_rec.trx_id
3990 	   AND line_level_action <> 'DELETE';
3991 
3992  BEGIN
3993   IF ( G_LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3994      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
3995    END IF;
3996 
3997    x_return_status := FND_API.G_RET_STS_SUCCESS ;
3998 
3999    OPEN fetch_det_factors_for_lte(p_event_class_rec);
4000      LOOP
4001          FETCH fetch_det_factors_for_lte BULK COLLECT INTO
4002            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
4003            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
4004            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
4005            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
4006            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
4007            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
4008            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
4009            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
4010            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
4011            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
4012            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
4013            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
4014            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
4015            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
4016            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
4017            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
4018            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
4019            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
4020            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
4021            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
4022            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
4023            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
4024            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
4025            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
4026            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
4027            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
4028            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
4029            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
4030            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
4031            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
4032            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
4033            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
4034            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
4035            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
4036            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
4037            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
4038            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
4039            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
4040            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
4041            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
4042            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
4043            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
4044            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
4045            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
4046            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
4047            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
4048            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
4049            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
4050            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
4051            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
4052            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
4053            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
4054            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
4055            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
4056            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
4057            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
4058            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
4059            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
4060            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
4061            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
4062            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
4063            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
4064            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
4065            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
4066            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
4067            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
4068            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
4069            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
4070            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
4071            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
4072            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
4073            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
4074            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
4075            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
4076            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
4077            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
4078            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
4079            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
4080            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
4081            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
4082            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
4083            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
4084            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
4085            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
4086            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
4087            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
4088            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
4089            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
4090            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
4091            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
4092            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
4093            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
4094            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
4095            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
4096            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
4097            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
4098            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
4099            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
4100            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
4101            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
4102            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
4103            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
4104            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
4105            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
4106            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
4107            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
4108            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
4109            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
4110            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
4111            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
4112            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
4113            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
4114            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
4115            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
4116            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
4117            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
4118            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
4119            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
4120            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
4121            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
4122            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
4123            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
4124            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
4125            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
4126            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
4127            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
4128            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
4129            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
4130            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
4131            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
4132            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
4133            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
4134            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
4135            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
4136            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
4137            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
4138            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
4139            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
4140            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
4141            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
4142            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
4143            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
4144            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
4145            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
4146            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
4147            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
4148            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
4149            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
4150            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
4151            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
4152            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
4153            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
4154            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
4155            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
4156            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
4157            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
4158            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
4159            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
4160            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
4161            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
4162            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
4163            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
4164            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
4165            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
4166            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
4167            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
4168            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
4169            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
4170            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
4171            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
4172            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
4173            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
4174            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
4175            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
4176            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
4177            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
4178            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
4179            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
4180            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
4181            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
4182            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
4183            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
4184            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
4185            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
4186            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
4187            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
4188            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
4189            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
4190            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
4191            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
4192            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
4193            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
4194            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
4195            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
4196            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
4197            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
4198            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
4199            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
4200            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
4201            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
4202            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
4203            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
4204            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
4205            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
4206            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
4207            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
4208            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
4209            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
4210            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
4211            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
4212            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
4213            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
4214            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
4215            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
4216            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
4217            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
4218            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
4219            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
4220            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
4221            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
4222            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
4223            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
4224            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
4225            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
4226            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
4227            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
4228            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
4229            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
4230            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
4231            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
4232            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
4233            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
4234            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
4235            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
4236            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
4237            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
4238            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
4239            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
4240            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
4241            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
4242            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
4243            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
4244            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
4245            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
4246            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
4247            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
4248            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
4249            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
4250            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
4251            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
4252            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
4253            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
4254            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
4255            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
4256            zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
4257            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
4258            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
4259            zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
4260            zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
4261            zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
4262            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
4263            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
4264            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
4265            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
4266            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
4267            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
4268            zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
4269            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
4270            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
4271            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
4272            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
4273            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
4274            zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
4275            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
4276            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
4277            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
4278            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
4279            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
4280            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
4281            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
4282            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
4283            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
4284            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
4285            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
4286            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
4287            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
4288            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
4289            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
4290            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
4291            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
4292            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
4293            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
4294            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
4295            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
4296            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
4297          LIMIT G_MAX_LINES_PER_FETCH;
4298 
4299          --Call LTE to calculate tax
4300          ZX_PRODUCT_INTEGRATION_PKG.calculate_tax (p_event_class_rec => p_event_class_rec,
4301                                                    x_return_status   => l_return_status
4302                                                   );
4303 
4304 
4305          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4306            x_return_status := l_return_status ;
4307            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4308              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'LTE calculate tax returned errors');
4309            END IF;
4310            IF fetch_det_factors_for_lte%ISOPEN THEN CLOSE fetch_det_factors_for_lte; END IF;
4311            RETURN;
4312          END IF;
4313 
4314        EXIT WHEN fetch_det_factors_for_lte%NOTFOUND;
4315      END LOOP;
4316    CLOSE fetch_det_factors_for_lte;
4317 
4318    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4319      FND_LOG.STRING(G_LEVEL_STATEMENT,
4320        G_MODULE_NAME||l_api_name||'.END',
4321        G_PKG_NAME ||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
4322    END IF;
4323 
4324  EXCEPTION
4325    WHEN OTHERS THEN
4326      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4327      IF fetch_det_factors_for_lte%ISOPEN THEN CLOSE fetch_det_factors_for_lte; END IF;
4328      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4329        FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4330      END IF;
4331   END call_lte;
4332 
4333 -----------------------------------------------------------------------
4334 --  PRIVATE PROCEDURE
4335 --  Lock_line_det_facts
4336 --
4337 --  DESCRIPTION
4338 --  Lock the tables to prevent 2 users from making inconsistent updates to
4339 --  database via forms or UIs
4340 --
4341 --  CALLED BY
4342 --    calculate_tax
4343 -----------------------------------------------------------------------
4344 PROCEDURE lock_line_det_facts (
4345 p_trx_line_index      IN NUMBER,
4346 p_event_class_rec     IN ZX_API_PUB.event_class_rec_type,
4347 x_return_status       OUT NOCOPY VARCHAR2
4348 ) IS
4349     l_api_name         CONSTANT VARCHAR2(30):= 'LOCK_LINE_DET_FACTS';
4350     l_return_status    VARCHAR2(30);
4351     l_lines_det_rec    zx_lines_det_factors%rowtype;
4352     l_context_info_rec ZX_API_PUB.context_info_rec_type;
4353 
4354 BEGIN
4355     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4356       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4357     END IF;
4358 
4359     x_return_status := FND_API.G_RET_STS_SUCCESS ;
4360 
4361     IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
4362          /*Lock trx line det factors*/
4363          SELECT *
4364            INTO l_lines_det_rec
4365            FROM ZX_LINES_DET_FACTORS
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 trx_line_id      = zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index)
4371             AND trx_level_type   = zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index)
4372           FOR UPDATE NOWAIT;
4373     END IF;
4374 
4375     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4376        FND_LOG.STRING(G_LEVEL_STATEMENT,
4377          G_MODULE_NAME||l_api_name||'.END',
4378          G_PKG_NAME ||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
4379     END IF;
4380 
4381  EXCEPTION
4382        --no_data_found can occur if new transaction line is being created
4383        --for already existing document in which case , exit gracefully
4384        WHEN NO_DATA_FOUND THEN
4385          null;
4386        WHEN OTHERS THEN
4387           IF (SQLCODE = 54) THEN
4388              x_return_status := FND_API.G_RET_STS_ERROR ;
4389              FND_MESSAGE.SET_NAME('ZX','ZX_RESOURCE_BUSY');
4390              l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
4391              l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
4392              l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
4393              l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
4394              l_context_info_rec.TRX_LINE_ID      := zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
4395              l_context_info_rec.TRX_LEVEL_TYPE   := zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
4396              ZX_API_PUB.add_msg( p_context_info_rec => l_context_info_rec );
4397              IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
4398                FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
4399              END IF;
4400           ELSE
4401              x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4402              IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4403                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4404              END IF;
4405           END IF;
4406  END lock_line_det_facts;
4407 
4408 -----------------------------------------------------------------------
4409 --  PRIVATE PROCEDURE
4410 --  populate_ptnr_tax_regime_tbl
4411 --
4412 --  DESCRIPTION
4413 --
4414 --
4415 --  CALLED BY
4416 --    calculate_tax
4417 --
4418 -----------------------------------------------------------------------
4419 PROCEDURE populate_ptnr_tax_regime_tbl
4420 IS
4421     l_ptnr_index                  NUMBER;
4422 
4423     l_api_name         CONSTANT VARCHAR2(30):= 'populate_ptnr_tax_regime_tbl';
4424 
4425 BEGIN
4426     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4427       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4428     END IF;
4429 
4430     l_ptnr_index := NVL(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.LAST, 0) + 1;
4431     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).application_id
4432              := zx_global_structures_pkg.g_event_class_rec.application_id;
4433     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_class_code
4434              := zx_global_structures_pkg.g_event_class_rec.event_class_code;
4435     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).entity_code
4436              := zx_global_structures_pkg.g_event_class_rec.entity_code;
4437     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).trx_id
4438              := zx_global_structures_pkg.g_event_class_rec.trx_id;
4439     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_id
4440              := zx_global_structures_pkg.g_event_class_rec.event_id;
4441     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_class_mapping_id
4442              := zx_global_structures_pkg.g_event_class_rec.event_class_mapping_id;
4443     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).event_type_code
4444              := zx_global_structures_pkg.g_event_class_rec.event_type_code;
4445     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_event_class_code
4446              := zx_global_structures_pkg.g_event_class_rec.tax_event_class_code;
4447     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_event_type_code
4448              := zx_global_structures_pkg.g_event_class_rec.tax_event_type_code;
4449     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).doc_status_code
4450              := zx_global_structures_pkg.g_event_class_rec.doc_status_code;
4451     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).record_flag
4452              := zx_global_structures_pkg.g_event_class_rec.record_flag;
4453     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).quote_flag
4454              := zx_global_structures_pkg.g_event_class_rec.quote_flag;
4455     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).record_for_partners_flag
4456              := zx_global_structures_pkg.g_event_class_rec.record_for_partners_flag;
4457     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).prod_family_grp_code
4458              := zx_global_structures_pkg.g_event_class_rec.prod_family_grp_code;
4459     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).first_pty_org_id
4460              := zx_global_structures_pkg.g_event_class_rec.first_pty_org_id;
4461     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).internal_organization_id
4462              := zx_global_structures_pkg.g_event_class_rec.internal_organization_id;
4463     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).legal_entity_id
4464              := zx_global_structures_pkg.g_event_class_rec.legal_entity_id;
4465     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ledger_id
4466              := zx_global_structures_pkg.g_event_class_rec.ledger_id;
4467     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).establishment_id
4468              := zx_global_structures_pkg.g_event_class_rec.establishment_id;
4469     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).currency_conversion_type
4470              := zx_global_structures_pkg.g_event_class_rec.currency_conversion_type;
4471     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).process_for_applicability_flag
4472              := zx_global_structures_pkg.g_event_class_rec.process_for_applicability_flag;
4473     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).perf_addnl_appl_for_imprt_flag
4474              := zx_global_structures_pkg.g_event_class_rec.perf_addnl_appl_for_imprt_flag;
4475     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).effective_date
4476              := zx_security.g_effective_date;
4477     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).tax_regime_tbl
4478              := ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl;
4479 
4480     ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ptnr_srvc_subscr_flag := 'N';
4481 -- change for 5711466
4482     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)
4483     LOOP
4484          IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
4485             nvl(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,0) <> 0  THEN
4486             ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_ptnr_index).ptnr_srvc_subscr_flag := 'Y';
4487             EXIT;
4488          END IF;
4489     END LOOP;
4490 -- end 5711466
4491 
4492     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4493        FND_LOG.STRING(G_LEVEL_STATEMENT,
4494          G_MODULE_NAME||l_api_name,
4495          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);
4496     END IF;
4497 
4498     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4499       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4500     END IF;
4501 
4502 EXCEPTION
4503    WHEN OTHERS THEN
4504 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4505       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4506          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4507       END IF;
4508 END populate_ptnr_tax_regime_tbl;
4509 
4510 -----------------------------------------------------------------------
4511 --  PRIVATE PROCEDURE
4512 --  fetch_ptnr_tax_regime_tbl
4513 --
4514 --  DESCRIPTION
4515 --  Initialise the partner tables for subsequent calls
4516 --
4517 --  CALLED BY
4518 --    calculate_tax
4519 --
4520 -----------------------------------------------------------------------
4521 PROCEDURE fetch_ptnr_tax_regime_tbl(
4522    p_trx_id_index    IN  NUMBER,
4523    x_event_class_rec OUT NOCOPY  ZX_API_PUB.event_class_rec_type ,
4524    x_return_status   OUT NOCOPY VARCHAR2
4525   )IS
4526 
4527     l_api_name         CONSTANT VARCHAR2(30):= 'FETCH_PTNR_TAX_REGIME_TBL';
4528 
4529 BEGIN
4530     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4531       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
4532     END IF;
4533 
4534     x_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).application_id;
4535     x_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_class_code;
4536     x_event_class_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).entity_code;
4537     x_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).trx_id;
4538     x_event_class_rec.event_id         := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_id;
4539 
4540     x_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_class_mapping_id;
4541     x_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).event_type_code;
4542     x_event_class_rec.tax_event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_event_class_code;
4543     x_event_class_rec.tax_event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_event_type_code;
4544     x_event_class_rec.doc_status_code      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).doc_status_code;
4545     x_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).record_flag;
4546     x_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).quote_flag;
4547     x_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).record_for_partners_flag;
4548     x_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).prod_family_grp_code;
4549     x_event_class_rec.first_pty_org_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).first_pty_org_id;
4550     x_event_class_rec.internal_organization_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).internal_organization_id;
4551     x_event_class_rec.legal_entity_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).legal_entity_id;
4552     x_event_class_rec.ledger_id       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).ledger_id;
4553     x_event_class_rec.establishment_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).establishment_id;
4554     x_event_class_rec.currency_conversion_type := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).currency_conversion_type;
4555     x_event_class_rec.process_for_applicability_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).process_for_applicability_flag;
4556     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;
4557 
4558     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).tax_regime_tbl;
4559 
4560    /*--------------------------------------------+
4561     |   Call to zx_security.set_security_context |
4562     +--------------------------------------------*/
4563     ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).legal_entity_id,
4564                                      ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).internal_organization_id,
4565                                      ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(p_trx_id_index).effective_date,
4566                                      x_return_status
4567                                      );
4568 
4569     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4570              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
4571              'application_id: '||to_char(x_event_class_rec.application_id)||
4572              ', entity_code: '||x_event_class_rec.entity_code||
4573              ', event_class_code: '||x_event_class_rec.event_class_code||
4574              ', event_type_code: '||x_event_class_rec.event_type_code||
4575              ', trx_id: '||to_char(x_event_class_rec.trx_id)||
4576              ', internal_organization_id: '||to_char(x_event_class_rec.internal_organization_id)||
4577              ', ledger_id: '||to_char(x_event_class_rec.ledger_id)||
4578              ', legal_entity_id: '||to_char(x_event_class_rec.legal_entity_id)||
4579              ', trx_date: '||to_char(x_event_class_rec.trx_date)||
4580              ', related_document_date: '||to_char(x_event_class_rec.rel_doc_date)||
4581              ', provnl_tax_determination_date: '||to_char(x_event_class_rec.provnl_tax_determination_date)||
4582              ', trx_currency_code: '||x_event_class_rec.trx_currency_code||
4583              ', quote_flag: '||x_event_class_rec.quote_flag ||
4584              ', establishment_id: '||to_char(x_event_class_rec.establishment_id)||
4585              ', icx_session_id: '||to_char(x_event_class_rec.icx_session_id));
4586     END IF;
4587 
4588     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
4589       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
4590     END IF;
4591 
4592 EXCEPTION
4593    WHEN OTHERS THEN
4594 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4595       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4596          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4597       END IF;
4598 END fetch_ptnr_tax_regime_tbl;
4599 
4600 -----------------------------------------------------------------------
4601 --  PRIVATE PROCEDURE
4602 --  delete_ptnr_location_tbl
4603 --
4604 --  DESCRIPTION
4605 --  deletes the record of table structure
4606 --
4607 --  CALLED BY
4608 --    partner_location_population
4609 -----------------------------------------------------------------------
4610 PROCEDURE delete_ptnr_location_tbl IS
4611 BEGIN
4612   l_ptnr_loc_tbl.EVENT_CLASS_MAPPING_ID.delete;
4613   l_ptnr_loc_tbl.TRX_ID.delete;
4614   l_ptnr_loc_tbl.TRX_LINE_ID.delete;
4615   l_ptnr_loc_tbl.TRX_LEVEL_TYPE.delete;
4616   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1.delete;
4617   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1.delete;
4618   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2.delete;
4619   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2.delete;
4620   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3.delete;
4621   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3.delete;
4622   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4.delete;
4623   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4.delete;
4624   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5.delete;
4625   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5.delete;
4626   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6.delete;
4627   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6.delete;
4628   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7.delete;
4629   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7.delete;
4630   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8.delete;
4631   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8.delete;
4632   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9.delete;
4633   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9.delete;
4634   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10.delete;
4635   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10.delete;
4636   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1.delete;
4637   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1.delete;
4638   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2.delete;
4639   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2.delete;
4640   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3.delete;
4641   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3.delete;
4642   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4.delete;
4643   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4.delete;
4644   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5.delete;
4645   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5.delete;
4646   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6.delete;
4647   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6.delete;
4648   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7.delete;
4649   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7.delete;
4650   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8.delete;
4651   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8.delete;
4652   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9.delete;
4653   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9.delete;
4654   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10.delete;
4655   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10.delete;
4656   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1.delete;
4657   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1.delete;
4658   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2.delete;
4659   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2.delete;
4660   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3.delete;
4661   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3.delete;
4662   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4.delete;
4663   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4.delete;
4664   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5.delete;
4665   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5.delete;
4666   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6.delete;
4667   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6.delete;
4668   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7.delete;
4669   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7.delete;
4670   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8.delete;
4671   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8.delete;
4672   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9.delete;
4673   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9.delete;
4674   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10.delete;
4675   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10.delete;
4676   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1.delete;
4677   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1.delete;
4678   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2.delete;
4679   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2.delete;
4680   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3.delete;
4681   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3.delete;
4682   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4.delete;
4683   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4.delete;
4684   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5.delete;
4685   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5.delete;
4686   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6.delete;
4687   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6.delete;
4688   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7.delete;
4689   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7.delete;
4690   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8.delete;
4691   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8.delete;
4692   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9.delete;
4693   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9.delete;
4694   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10.delete;
4695   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10.delete;
4696   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1.delete;
4697   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1.delete;
4698   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2.delete;
4699   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2.delete;
4700   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3.delete;
4701   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3.delete;
4702   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4.delete;
4703   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4.delete;
4704   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5.delete;
4705   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5.delete;
4706   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6.delete;
4707   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6.delete;
4708   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7.delete;
4709   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7.delete;
4710   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8.delete;
4711   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8.delete;
4712   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9.delete;
4713   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9.delete;
4714   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10.delete;
4715   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10.delete;
4716   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1.delete;
4717   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1.delete;
4718   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2.delete;
4719   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2.delete;
4720   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3.delete;
4721   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3.delete;
4722   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4.delete;
4723   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4.delete;
4724   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5.delete;
4725   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5.delete;
4726   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6.delete;
4727   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6.delete;
4728   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7.delete;
4729   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7.delete;
4730   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8.delete;
4731   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8.delete;
4732   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9.delete;
4733   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9.delete;
4734   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10.delete;
4735   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10.delete;
4736   l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER.delete;
4737   l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME.delete;
4738   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER.delete;
4739   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME.delete;
4740   l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER.delete;
4741   l_ptnr_loc_tbl.BILL_TO_PARTY_NAME.delete;
4742   l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER.delete;
4743   l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME.delete;
4744 END ;
4745 
4746 -----------------------------------------------------------------------
4747 --  PRIVATE PROCEDURE
4748 --  initialise_partner_tables
4749 --
4750 --  DESCRIPTION
4751 --  Initialise the partner tables for subsequent calls
4752 --
4753 --  CALLED BY
4754 --    calculate_tax
4755 --    import_tax
4756 -----------------------------------------------------------------------
4757 PROCEDURE initialise_partner_tables
4758 IS
4759     l_api_name         CONSTANT VARCHAR2(30):= 'INITIALISE_PARTNER_TABLES';
4760 
4761 BEGIN
4762     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4763       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4764     END IF;
4765 
4766     DELETE from ZX_TRX_PRE_PROC_OPTIONS_GT;
4767     DELETE from ZX_PRVDR_HDR_EXTNS_GT;
4768     DELETE from ZX_PRVDR_LINE_EXTNS_GT;
4769     DELETE from ZX_PTNR_LOCATION_INFO_GT;
4770 
4771     delete_ptnr_location_tbl;
4772 
4773     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4774       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
4775     END IF;
4776 
4777 EXCEPTION
4778    WHEN OTHERS THEN
4779 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4780       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
4781          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
4782       END IF;
4783 END initialise_partner_tables;
4784 
4785 -----------------------------------------------------------------------
4786 --  PRIVATE PROCEDURE
4787 --  intialise_partner_location_table
4788 --
4789 --  DESCRIPTION
4790 --  intialise the record of table structure so that if element at index
4791 --  does not exist error does not occur
4792 --
4793 --  CALLED BY
4794 --    partner_location_population
4795 -----------------------------------------------------------------------
4796 PROCEDURE init_ptnr_location_tbl
4797  (p_ptnr_index    IN         NUMBER
4798  )IS
4799 BEGIN
4800   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1(p_ptnr_index)    := null;
4801   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1(p_ptnr_index)   := null;
4802   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2(p_ptnr_index)    := null;
4803   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2(p_ptnr_index)   := null;
4804   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3(p_ptnr_index)    := null;
4805   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3(p_ptnr_index)   := null;
4806   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4(p_ptnr_index)    := null;
4807   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4(p_ptnr_index)   := null;
4808   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5(p_ptnr_index)    := null;
4809   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5(p_ptnr_index)   := null;
4810   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6(p_ptnr_index)    := null;
4811   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6(p_ptnr_index)   := null;
4812   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7(p_ptnr_index)    := null;
4813   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7(p_ptnr_index)   := null;
4814   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8(p_ptnr_index)    := null;
4815   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8(p_ptnr_index)   := null;
4816   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9(p_ptnr_index)    := null;
4817   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9(p_ptnr_index)   := null;
4818   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10(p_ptnr_index)   := null;
4819   l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10(p_ptnr_index)  := null;
4820   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1(p_ptnr_index)  := null;
4821   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1(p_ptnr_index) := null;
4822   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2(p_ptnr_index)  := null;
4823   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2(p_ptnr_index) := null;
4824   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3(p_ptnr_index)  := null;
4825   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3(p_ptnr_index) := null;
4826   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4(p_ptnr_index)  := null;
4827   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4(p_ptnr_index) := null;
4828   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5(p_ptnr_index)  := null;
4829   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5(p_ptnr_index) := null;
4830   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6(p_ptnr_index)  := null;
4831   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6(p_ptnr_index) := null;
4832   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7(p_ptnr_index)  := null;
4833   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7(p_ptnr_index) := null;
4834   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8(p_ptnr_index)  := null;
4835   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8(p_ptnr_index) := null;
4836   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9(p_ptnr_index)  := null;
4837   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9(p_ptnr_index) := null;
4838   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10(p_ptnr_index) := null;
4839   l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10(p_ptnr_index):= null;
4840   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1(p_ptnr_index)        := null;
4841   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1(p_ptnr_index)       := null;
4842   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2(p_ptnr_index)        := null;
4843   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2(p_ptnr_index)       := null;
4844   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3(p_ptnr_index)        := null;
4845   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3(p_ptnr_index)       := null;
4846   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4(p_ptnr_index)        := null;
4847   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4(p_ptnr_index)       := null;
4848   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5(p_ptnr_index)        := null;
4849   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5(p_ptnr_index)       := null;
4850   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6(p_ptnr_index)        := null;
4851   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6(p_ptnr_index)       := null;
4852   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7(p_ptnr_index)        := null;
4853   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7(p_ptnr_index)       := null;
4854   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8(p_ptnr_index)        := null;
4855   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8(p_ptnr_index)       := null;
4856   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9(p_ptnr_index)        := null;
4857   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9(p_ptnr_index)       := null;
4858   l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10(p_ptnr_index)       := null;
4859   l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10(p_ptnr_index)      := null;
4860   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1(p_ptnr_index)        := null;
4861   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1(p_ptnr_index)       := null;
4862   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2(p_ptnr_index)        := null;
4863   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2(p_ptnr_index)       := null;
4864   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3(p_ptnr_index)        := null;
4865   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3(p_ptnr_index)       := null;
4866   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4(p_ptnr_index)        := null;
4867   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4(p_ptnr_index)       := null;
4868   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5(p_ptnr_index)        := null;
4869   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5(p_ptnr_index)       := null;
4870   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6(p_ptnr_index)        := null;
4871   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6(p_ptnr_index)       := null;
4872   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7(p_ptnr_index)        := null;
4873   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7(p_ptnr_index)       := null;
4874   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8(p_ptnr_index)        := null;
4875   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8(p_ptnr_index)       := null;
4876   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9(p_ptnr_index)        := null;
4877   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9(p_ptnr_index)       := null;
4878   l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10(p_ptnr_index)       := null;
4879   l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10(p_ptnr_index)      := null;
4880   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1(p_ptnr_index)    := null;
4881   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1(p_ptnr_index)   := null;
4882   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2(p_ptnr_index)    := null;
4883   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2(p_ptnr_index)   := null;
4884   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3(p_ptnr_index)    := null;
4885   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3(p_ptnr_index)   := null;
4886   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4(p_ptnr_index)    := null;
4887   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4(p_ptnr_index)   := null;
4888   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5(p_ptnr_index)    := null;
4889   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5(p_ptnr_index)   := null;
4890   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6(p_ptnr_index)    := null;
4891   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6(p_ptnr_index)   := null;
4892   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7(p_ptnr_index)    := null;
4893   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7(p_ptnr_index)   := null;
4894   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8(p_ptnr_index)    := null;
4895   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8(p_ptnr_index)   := null;
4896   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9(p_ptnr_index)    := null;
4897   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9(p_ptnr_index)   := null;
4898   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10(p_ptnr_index)   := null;
4899   l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10(p_ptnr_index)  := null;
4900   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1(p_ptnr_index)  := null;
4901   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1(p_ptnr_index) := null;
4902   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2(p_ptnr_index)  := null;
4903   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2(p_ptnr_index) := null;
4904   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3(p_ptnr_index)  := null;
4905   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3(p_ptnr_index) := null;
4906   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4(p_ptnr_index)  := null;
4907   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4(p_ptnr_index) := null;
4908   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5(p_ptnr_index)  := null;
4909   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5(p_ptnr_index) := null;
4910   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6(p_ptnr_index)  := null;
4911   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6(p_ptnr_index) := null;
4912   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7(p_ptnr_index)  := null;
4913   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7(p_ptnr_index) := null;
4914   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8(p_ptnr_index)  := null;
4915   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8(p_ptnr_index) := null;
4916   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9(p_ptnr_index)  := null;
4917   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9(p_ptnr_index) := null;
4918   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10(p_ptnr_index) := null;
4919   l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10(p_ptnr_index):= null;
4920   l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER(p_ptnr_index)       := null;
4921   l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME(p_ptnr_index)         := null;
4922   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER(p_ptnr_index)     := null;
4923   l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME(p_ptnr_index)       := null;
4924   l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER(p_ptnr_index)       := null;
4925   l_ptnr_loc_tbl.BILL_TO_PARTY_NAME(p_ptnr_index)         := null;
4926   l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER(p_ptnr_index)     := null;
4927   l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME(p_ptnr_index)       := null;
4928 END ;
4929 
4930 -----------------------------------------------------------------------
4931 --  PRIVATE PROCEDURE
4932 --  get_address_elements
4933 --
4934 --  DESCRIPTION
4935 --  gets additional address elements for location types
4936 --
4937 --  CALLED BY
4938 --    partner_location_population
4939 -----------------------------------------------------------------------
4940 /*----------------------------------------------------------------------------*
4941  |This procedure gets the additional geography types and values after all the |
4942  |location types have been populated from the partner global structure        |
4943  |All records of one location type have a unique value of location table and  |
4944  |location id. This procedure is called for each location type.               |
4945  *----------------------------------------------------------------------------*/
4946 PROCEDURE get_address_elements
4947   (p_table          IN  VARCHAR2,
4948    p_location_id    IN  NUMBER,
4949    x_address1       OUT NOCOPY VARCHAR2,
4950    x_address2       OUT NOCOPY VARCHAR2,
4951    x_address3       OUT NOCOPY VARCHAR2,
4952    x_address4       OUT NOCOPY VARCHAR2,
4953    x_return_status  OUT NOCOPY VARCHAR2
4954   ) IS
4955 
4956    l_api_name CONSTANT  VARCHAR2(30) := 'GET_ADDRESS_ELEMENTS';
4957    l_add_idx            VARCHAR2(100);
4958 BEGIN
4959     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4960       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
4961     END IF;
4962 
4963     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
4964     l_add_idx := p_table||to_char(p_location_id);
4965 
4966     IF l_add_idx is NOT NULL THEN
4967       IF (NOT(l_ptnr_addr_tbl.EXISTS(l_add_idx))) THEN
4968          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
4969            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Caching from database for '||l_add_idx);
4970          END IF;
4971          IF p_table = 'HR_LOCATIONS_ALL' THEN
4972            SELECT address_line_1, address_line_2, address_line_3, NULL
4973            INTO l_ptnr_addr_tbl(l_add_idx).address1,
4974                 l_ptnr_addr_tbl(l_add_idx).address2,
4975                 l_ptnr_addr_tbl(l_add_idx).address3,
4976                 l_ptnr_addr_tbl(l_add_idx).address4
4977            FROM HR_LOCATIONS_ALL
4978           WHERE location_id = p_location_id;
4979          ELSIF p_table = 'HZ_LOCATIONS' THEN
4980            SELECT address1, address2, address3, address4
4981            INTO l_ptnr_addr_tbl(l_add_idx).address1,
4982                 l_ptnr_addr_tbl(l_add_idx).address2,
4983                 l_ptnr_addr_tbl(l_add_idx).address3,
4984                 l_ptnr_addr_tbl(l_add_idx).address4
4985            FROM HZ_LOCATIONS
4986           WHERE location_id = p_location_id;
4987          ELSIF p_table = 'PO_VENDOR_SITES_ALL' THEN
4988            SELECT address1, address2, address3, address4
4989            INTO l_ptnr_addr_tbl(l_add_idx).address1,
4990                 l_ptnr_addr_tbl(l_add_idx).address2,
4991                 l_ptnr_addr_tbl(l_add_idx).address3,
4992                 l_ptnr_addr_tbl(l_add_idx).address4
4993            FROM HZ_LOCATIONS
4994           WHERE location_id = p_location_id;
4995          END IF;
4996        END IF;
4997        x_address1 := l_ptnr_addr_tbl(l_add_idx).address1;
4998        x_address2 := l_ptnr_addr_tbl(l_add_idx).address2;
4999        x_address3 := l_ptnr_addr_tbl(l_add_idx).address3;
5000        x_address4 := l_ptnr_addr_tbl(l_add_idx).address4;
5001        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5002           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5003             'Address1: '||l_ptnr_addr_tbl(l_add_idx).address1||
5004             ', Address2: '||l_ptnr_addr_tbl(l_add_idx).address2||
5005             ', Address3: '||l_ptnr_addr_tbl(l_add_idx).address3||
5006             ', Address4: '||l_ptnr_addr_tbl(l_add_idx).address4||' for key: '||to_char(l_add_idx));
5007        END IF;
5008     END IF;
5009 
5010     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5011       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5012     END IF;
5013 
5014     EXCEPTION
5015       WHEN OTHERS THEN
5016         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5017         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5018           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5019         END IF;
5020   END get_address_elements;
5021 
5022 
5023 -----------------------------------------------------------------------
5024 --  PRIVATE PROCEDURE
5025 --  populate_parties
5026 --
5027 --  DESCRIPTION
5028 --  Retrieve the following from hz_parties given the party_tax_profile ids
5029 --  from zx_lines_det_factors and zx_party_tax_profile
5030 --  SHIP_TO_PARTY_NUMBER
5031 --  SHIP_TO_PARTY_NAME
5032 --  SHIP_FROM_PARTY_NUMBER
5033 --  SHIP_FROM_PARTY_NAME
5034 --  BILL_TO_PARTY_NUMBER
5035 --  BILL_TO_PARTY_NAME
5036 --  BILL_FROM_PARTY_NUMBER
5037 --  BILL_FROM_PARTY_NAME
5038 --
5039 --  CALLED BY
5040 --    partner_location_population
5041 -----------------------------------------------------------------------
5042 
5043 PROCEDURE populate_parties
5044   (p_event_class_rec         IN  ZX_API_PUB.event_class_rec_type,
5045    p_trx_id                  IN  NUMBER,
5046    p_trx_line_id             IN  NUMBER,
5047    p_trx_level_type          IN  VARCHAR2,
5048    p_ptnr_idx                IN  NUMBER,
5049    x_return_status           OUT NOCOPY VARCHAR2
5050   ) IS
5051 
5052    l_api_name         CONSTANT  VARCHAR2(30) := 'POPULATE_PARTIES';
5053    l_ship_to_ptp_id             NUMBER;
5054    l_ship_from_ptp_id           NUMBER;
5055    l_bill_to_ptp_id             NUMBER;
5056    l_bill_from_ptp_id           NUMBER;
5057    l_ship_third_pty_acct_id     ZX_LINES_DET_FACTORS.SHIP_THIRD_PTY_ACCT_ID%type;
5058    l_bill_third_pty_acct_id     ZX_LINES_DET_FACTORS.BILL_THIRD_PTY_ACCT_ID%type;
5059    l_party_index                VARCHAR2(100);
5060 BEGIN
5061     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5062       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5063     END IF;
5064 
5065     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
5066 
5067     --Get the ptp ids from zx_lines_det_factors
5068     SELECT ship_to_party_tax_prof_id,
5069            bill_to_party_tax_prof_id,
5070            ship_from_party_tax_prof_id,
5071            bill_from_party_tax_prof_id,
5072            ship_third_pty_acct_id,
5073            bill_third_pty_acct_id
5074       INTO l_ship_to_ptp_id,
5075            l_bill_to_ptp_id,
5076            l_ship_from_ptp_id,
5077            l_bill_from_ptp_id,
5078            l_ship_third_pty_acct_id,   -- Bug 4939819
5079            l_bill_third_pty_acct_id    -- Bug 4939819
5080       FROM ZX_LINES_DET_FACTORS
5081      WHERE event_class_mapping_id = p_event_class_rec.event_class_mapping_id  -- Bug 4939819
5082        AND trx_id                 = p_trx_id
5083        AND trx_line_id            = p_trx_line_id
5084        AND trx_level_type         = p_trx_level_type;
5085 
5086 /*
5087     Get the party_number,party_name from hz_parties for the ptp_ids
5088     Cache the values in party_id_tbl so that multiple selects are not performed
5089 
5090 Bug 4939819
5091 The source of party number and name information varies depending upon the family group.
5092 
5093 For O2C products, the information can be derived as follows.
5094 Party Type         PTP known   Other Info              Derivation Logic
5095 ---------------    -----       -----------             ----------------
5096 SHIP/BILL TO       Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5097 
5098 SHIP/BILL TO       N           SHIP_THIRD_PTY_ACCT_ID  Via HZ_CUST_ACCOUNTS, HZ_PARTIES
5099 In this case, SHIP_THIRD_PTY_ACCT_ID holds value of CUST_ACCOUNT_ID from HZ_CUST_ACCOUNTS.
5100 
5101 SHIP/BILL FROM     Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5102 As per Desh's update in the bug, If a eBiz customer wants to pass first party inv org id in
5103 Rel 12 with new partner integration, he must do legal to business association using LE form.
5104 That would create a PTP for the first party inv org.
5105 Hence, there will be a record in HZ_PARTIES and is correct to derive info from HZ_PARTIES.
5106 
5107 SHIP/BILL FROM     N                                   NULL (PTP is always expected)
5108 
5109 -------------------------------------------------------------------------------------------
5110 For P2P products, the information can be derived as follows.
5111 Party Type         PTP known   Other Info              Derivation Logic
5112 ---------------    -----       -----------             ----------------
5113 SHIP/BILL TO       Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5114 As per Desh's update in the bug, If a eBiz customer wants to pass first party inv org id in
5115 Rel 12 with new partner integration, he must do legal to business association using LE form.
5116 That would create a PTP for the first party inv org.
5117 Hence, there will definitely be record in HZ_PARTIES.
5118 
5119 SHIP/BILL TO       N                                   NULL (PTP is always expected)
5120 
5121 SHIP/BILL FROM     Y                                   Via ZX_PARTY_TAX_PROFILE, HZ_PARTIES
5122 
5123 SHIP/BILL FROM     N           SHIP_THIRD_PTY_ACCT_ID  Via AP_SUPPLIERS
5124 In this case, SHIP_THIRD_PTY_ACCT_ID holds value of VENDOR_ID.
5125 
5126 */
5127     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5128        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5129          'l_ship_from_ptp_id = '||l_ship_from_ptp_id||
5130          ', l_ship_third_pty_acct_id = '||l_ship_third_pty_acct_id);
5131     END IF;
5132 
5133     IF l_ship_from_ptp_id is NOT NULL  THEN
5134       l_party_index := l_ship_from_ptp_id;
5135       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
5136         SELECT pty.party_name,
5137                pty.party_number
5138           INTO l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx),
5139                l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx)
5140           FROM hz_parties pty,
5141                zx_party_tax_profile ptp
5142          WHERE ptp.party_tax_profile_id = l_ship_from_ptp_id
5143            AND ptp.party_id = pty.party_id;
5144 
5145          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx);
5146          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx);
5147        ELSE
5148          l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
5149          l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
5150       END IF;
5151     ELSE
5152       IF p_event_class_rec.prod_family_grp_code = 'O2C' THEN
5153          l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5154          l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
5155       ELSE
5156          IF l_ship_third_pty_acct_id is NOT NULL THEN
5157             BEGIN
5158                SELECT po.vendor_name,
5159                       hp.party_number
5160                  INTO l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx),
5161                       l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx)
5162                  FROM ap_suppliers po
5163                     , hz_parties hp
5164                 WHERE po.vendor_id = l_ship_third_pty_acct_id
5165                   AND po.party_id  = hp.party_id;
5166             EXCEPTION WHEN OTHERS THEN
5167                l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5168                l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
5169             END;
5170          ELSE
5171             l_ptnr_loc_tbl.ship_from_party_number(p_ptnr_idx):= null;
5172             l_ptnr_loc_tbl.ship_from_party_name(p_ptnr_idx)  := null;
5173          END IF;
5174       END IF;
5175     END IF;
5176 
5177     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5178        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5179          'l_bill_from_ptp_id = '||l_bill_from_ptp_id||
5180          ', l_bill_third_pty_acct_id = '||l_bill_third_pty_acct_id);
5181     END IF;
5182 
5183     IF l_bill_from_ptp_id is NOT NULL  THEN
5184       l_party_index := l_bill_from_ptp_id;
5185       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
5186         SELECT pty.party_name,
5187                pty.party_number
5188           INTO l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx),
5189                l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx)
5190           FROM hz_parties pty,
5191                zx_party_tax_profile ptp
5192          WHERE ptp.party_tax_profile_id = l_bill_from_ptp_id
5193            AND ptp.party_id = pty.party_id;
5194 
5195          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx);
5196          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx);
5197       ELSE
5198          l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
5199          l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
5200       END IF;
5201     ELSE
5202       IF p_event_class_rec.prod_family_grp_code = 'O2C' THEN
5203          l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
5204          l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
5205       ELSE
5206          IF l_bill_third_pty_acct_id is NOT NULL THEN
5207             BEGIN
5208                SELECT po.vendor_name,
5209                       hp.party_number
5210                  INTO l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx),
5211                       l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx)
5212                  FROM ap_suppliers po
5213                     , hz_parties hp
5214                 WHERE po.vendor_id = l_bill_third_pty_acct_id
5215                   AND po.party_id  = hp.party_id;
5216             EXCEPTION WHEN OTHERS THEN
5217                l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
5218                l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
5219             END;
5220          ELSE
5221             l_ptnr_loc_tbl.bill_from_party_number(p_ptnr_idx):= null;
5222             l_ptnr_loc_tbl.bill_from_party_name(p_ptnr_idx)  := null;
5223          END IF;
5224       END IF;
5225     END IF;
5226 
5227     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5228        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5229          'l_ship_to_ptp_id = '||l_ship_to_ptp_id||
5230          ', l_ship_third_pty_acct_id = '||l_ship_third_pty_acct_id);
5231     END IF;
5232 
5233     IF l_ship_to_ptp_id is NOT NULL  THEN
5234       l_party_index := l_ship_to_ptp_id;
5235       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
5236         SELECT pty.party_name,
5237                pty.party_number
5238           INTO l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx),
5239                l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx)
5240           FROM hz_parties pty,
5241                zx_party_tax_profile ptp
5242          WHERE ptp.party_tax_profile_id = l_ship_to_ptp_id
5243            AND ptp.party_id = pty.party_id;
5244 
5245          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx);
5246          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx);
5247        ELSE
5248          l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
5249          l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
5250       END IF;
5251     ELSE
5252       IF p_event_class_rec.prod_family_grp_code = 'P2P' THEN
5253          l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
5254          l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
5255       ELSE
5256          IF l_ship_third_pty_acct_id is NOT NULL THEN
5257             BEGIN
5258                SELECT hzp.party_name,
5259                       hzp.party_number
5260                  INTO l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx),
5261                       l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx)
5262                  FROM hz_cust_accounts hzca,
5263                       hz_parties hzp
5264                 WHERE hzp.party_id = hzca.party_id
5265                   AND hzca.cust_account_id = l_ship_third_pty_acct_id;
5266             EXCEPTION WHEN OTHERS THEN
5267                l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
5268                l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
5269             END;
5270          ELSE
5271             l_ptnr_loc_tbl.ship_to_party_number(p_ptnr_idx):= null;
5272             l_ptnr_loc_tbl.ship_to_party_name(p_ptnr_idx)  := null;
5273          END IF;
5274       END IF;
5275     END IF;
5276 
5277     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5278        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5279          'l_bill_to_ptp_id = '||l_bill_to_ptp_id||
5280          ', l_bill_third_pty_acct_id = '||l_bill_third_pty_acct_id);
5281     END IF;
5282 
5283     IF l_bill_to_ptp_id is NOT NULL  THEN
5284       l_party_index := l_bill_to_ptp_id;
5285       IF  NOT party_id_tbl.EXISTS(l_party_index) THEN
5286         SELECT pty.party_name,
5287                pty.party_number
5288           INTO l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx),
5289                l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx)
5290           FROM hz_parties pty,
5291                zx_party_tax_profile ptp
5292          WHERE ptp.party_tax_profile_id = l_bill_to_ptp_id
5293            AND ptp.party_id = pty.party_id;
5294 
5295          party_id_tbl(l_party_index).party_number := l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx);
5296          party_id_tbl(l_party_index).party_name   := l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx);
5297        ELSE
5298          l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= party_id_tbl(l_party_index).party_number;
5299          l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := party_id_tbl(l_party_index).party_name;
5300       END IF;
5301     ELSE
5302       IF p_event_class_rec.prod_family_grp_code = 'P2P' THEN
5303          l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
5304          l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
5305       ELSE
5306          IF l_bill_third_pty_acct_id is NOT NULL THEN
5307             BEGIN
5308                SELECT hzp.party_name,
5309                       hzp.party_number
5310                  INTO l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx),
5311                       l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx)
5312                  FROM hz_cust_accounts hzca,
5313                       hz_parties hzp
5314                 WHERE hzp.party_id = hzca.party_id
5315                   AND hzca.cust_account_id = l_bill_third_pty_acct_id;
5316             EXCEPTION WHEN OTHERS THEN
5317                l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
5318                l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
5319             END;
5320          ELSE
5321             l_ptnr_loc_tbl.bill_to_party_number(p_ptnr_idx):= null;
5322             l_ptnr_loc_tbl.bill_to_party_name(p_ptnr_idx)  := null;
5323          END IF;
5324       END IF;
5325     END IF;
5326 
5327     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5328       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5329     END IF;
5330 
5331     EXCEPTION
5332       WHEN OTHERS THEN
5333         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5334         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5335           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5336         END IF;
5337   END populate_parties;
5338 
5339 -----------------------------------------------------------------------
5340 --  PRIVATE PROCEDURE
5341 --  populate_ptnr_loc_tbl
5342 --
5343 --  DESCRIPTION
5344 --  Populate the partner location gt table
5345 --
5346 --  CALLED BY
5347 --    partner_location_population
5348 -----------------------------------------------------------------------
5349  PROCEDURE populate_ptnr_loc_tbl(
5350     p_ptnr_idx      IN         BINARY_INTEGER,
5351     p_location_type IN         VARCHAR2,
5352     p_loc_idx       IN         BINARY_INTEGER,
5353     p_geo_type      IN         VARCHAR2,
5354     p_geo_val       IN         VARCHAR2,
5355     x_return_status OUT NOCOPY VARCHAR2
5356     ) IS
5357     l_api_name CONSTANT  VARCHAR2(30) := 'POPULATE_PTNR_LOC_TBL';
5358     l_return_status      VARCHAR2(1);
5359  BEGIN
5360    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5361      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5362    END IF;
5363 
5364    x_return_status := FND_API.G_RET_STS_SUCCESS;
5365 
5366    IF p_location_type = 'SHIP_FROM' THEN
5367      IF p_loc_idx = 1 THEN
5368        l_ptnr_loc_tbl.ship_from_geography_type1(p_ptnr_idx) := p_geo_type;
5369        l_ptnr_loc_tbl.ship_from_geography_value1(p_ptnr_idx):= p_geo_val;
5370      ELSIF p_loc_idx = 2 THEN
5371        l_ptnr_loc_tbl.ship_from_geography_type2(p_ptnr_idx) := p_geo_type;
5372        l_ptnr_loc_tbl.ship_from_geography_value2(p_ptnr_idx):= p_geo_val;
5373      ELSIF p_loc_idx = 3 THEN
5374        l_ptnr_loc_tbl.ship_from_geography_type3(p_ptnr_idx) := p_geo_type;
5375        l_ptnr_loc_tbl.ship_from_geography_value3(p_ptnr_idx):= p_geo_val;
5376      ELSIF p_loc_idx = 4 THEN
5377        l_ptnr_loc_tbl.ship_from_geography_type4(p_ptnr_idx) := p_geo_type;
5378        l_ptnr_loc_tbl.ship_from_geography_value4(p_ptnr_idx):= p_geo_val;
5379      ELSIF p_loc_idx = 5 THEN
5380        l_ptnr_loc_tbl.ship_from_geography_type5(p_ptnr_idx) := p_geo_type;
5381        l_ptnr_loc_tbl.ship_from_geography_value5(p_ptnr_idx):= p_geo_val;
5382      ELSIF p_loc_idx = 6 THEN
5383        l_ptnr_loc_tbl.ship_from_geography_type6(p_ptnr_idx) := p_geo_type;
5384        l_ptnr_loc_tbl.ship_from_geography_value6(p_ptnr_idx):= p_geo_val;
5385      ELSIF p_loc_idx = 7 THEN
5386        l_ptnr_loc_tbl.ship_from_geography_type7(p_ptnr_idx) := p_geo_type;
5387        l_ptnr_loc_tbl.ship_from_geography_value7(p_ptnr_idx):= p_geo_val;
5388      ELSIF p_loc_idx = 8 THEN
5389        l_ptnr_loc_tbl.ship_from_geography_type8(p_ptnr_idx) := p_geo_type;
5390        l_ptnr_loc_tbl.ship_from_geography_value8(p_ptnr_idx):= p_geo_val;
5391      ELSIF p_loc_idx = 9 THEN
5392        l_ptnr_loc_tbl.ship_from_geography_type9(p_ptnr_idx) := p_geo_type;
5393        l_ptnr_loc_tbl.ship_from_geography_value9(p_ptnr_idx):= p_geo_val;
5394      ELSIF p_loc_idx = 10 THEN
5395        l_ptnr_loc_tbl.ship_from_geography_type10(p_ptnr_idx) := p_geo_type;
5396        l_ptnr_loc_tbl.ship_from_geography_value10(p_ptnr_idx):= p_geo_val;
5397      END IF;
5398    ELSIF p_location_type = 'SHIP_TO' THEN
5399      IF p_loc_idx = 1 THEN
5400        l_ptnr_loc_tbl.ship_to_geography_type1(p_ptnr_idx) := p_geo_type;
5401        l_ptnr_loc_tbl.ship_to_geography_value1(p_ptnr_idx):= p_geo_val;
5402      ELSIF p_loc_idx = 2 THEN
5403        l_ptnr_loc_tbl.ship_to_geography_type2(p_ptnr_idx) := p_geo_type;
5404        l_ptnr_loc_tbl.ship_to_geography_value2(p_ptnr_idx):= p_geo_val;
5405      ELSIF p_loc_idx = 3 THEN
5406        l_ptnr_loc_tbl.ship_to_geography_type3(p_ptnr_idx) := p_geo_type;
5407        l_ptnr_loc_tbl.ship_to_geography_value3(p_ptnr_idx):= p_geo_val;
5408      ELSIF p_loc_idx = 4 THEN
5409        l_ptnr_loc_tbl.ship_to_geography_type4(p_ptnr_idx) := p_geo_type;
5410        l_ptnr_loc_tbl.ship_to_geography_value4(p_ptnr_idx):= p_geo_val;
5411      ELSIF p_loc_idx = 5 THEN
5412        l_ptnr_loc_tbl.ship_to_geography_type5(p_ptnr_idx) := p_geo_type;
5413        l_ptnr_loc_tbl.ship_to_geography_value5(p_ptnr_idx):= p_geo_val;
5414      ELSIF p_loc_idx = 6 THEN
5415        l_ptnr_loc_tbl.ship_to_geography_type6(p_ptnr_idx) := p_geo_type;
5416        l_ptnr_loc_tbl.ship_to_geography_value6(p_ptnr_idx):= p_geo_val;
5417      ELSIF p_loc_idx = 7 THEN
5418        l_ptnr_loc_tbl.ship_to_geography_type7(p_ptnr_idx) := p_geo_type;
5419        l_ptnr_loc_tbl.ship_to_geography_value7(p_ptnr_idx):= p_geo_val;
5420      ELSIF p_loc_idx = 8 THEN
5421        l_ptnr_loc_tbl.ship_to_geography_type8(p_ptnr_idx) := p_geo_type;
5422        l_ptnr_loc_tbl.ship_to_geography_value8(p_ptnr_idx):= p_geo_val;
5423      ELSIF p_loc_idx = 9 THEN
5424        l_ptnr_loc_tbl.ship_to_geography_type9(p_ptnr_idx) := p_geo_type;
5425        l_ptnr_loc_tbl.ship_to_geography_value9(p_ptnr_idx):= p_geo_val;
5426      ELSIF p_loc_idx = 10 THEN
5427        l_ptnr_loc_tbl.ship_to_geography_type10(p_ptnr_idx) := p_geo_type;
5428        l_ptnr_loc_tbl.ship_to_geography_value10(p_ptnr_idx):= p_geo_val;
5429      END IF;
5430    ELSIF p_location_type = 'BILL_TO' THEN
5431      IF p_loc_idx = 1 THEN
5432        l_ptnr_loc_tbl.bill_to_geography_type1(p_ptnr_idx) := p_geo_type;
5433        l_ptnr_loc_tbl.bill_to_geography_value1(p_ptnr_idx):= p_geo_val;
5434      ELSIF p_loc_idx = 2 THEN
5435        l_ptnr_loc_tbl.bill_to_geography_type2(p_ptnr_idx) := p_geo_type;
5436        l_ptnr_loc_tbl.bill_to_geography_value2(p_ptnr_idx):= p_geo_val;
5437      ELSIF p_loc_idx = 3 THEN
5438        l_ptnr_loc_tbl.bill_to_geography_type3(p_ptnr_idx) := p_geo_type;
5439        l_ptnr_loc_tbl.bill_to_geography_value3(p_ptnr_idx):= p_geo_val;
5440      ELSIF p_loc_idx = 4 THEN
5441        l_ptnr_loc_tbl.bill_to_geography_type4(p_ptnr_idx) := p_geo_type;
5442        l_ptnr_loc_tbl.bill_to_geography_value4(p_ptnr_idx):= p_geo_val;
5443      ELSIF p_loc_idx = 5 THEN
5444        l_ptnr_loc_tbl.bill_to_geography_type5(p_ptnr_idx) := p_geo_type;
5445        l_ptnr_loc_tbl.bill_to_geography_value5(p_ptnr_idx):= p_geo_val;
5446      ELSIF p_loc_idx = 6 THEN
5447        l_ptnr_loc_tbl.bill_to_geography_type6(p_ptnr_idx) := p_geo_type;
5448        l_ptnr_loc_tbl.bill_to_geography_value6(p_ptnr_idx):= p_geo_val;
5449      ELSIF p_loc_idx = 7 THEN
5450        l_ptnr_loc_tbl.bill_to_geography_type7(p_ptnr_idx) := p_geo_type;
5451        l_ptnr_loc_tbl.bill_to_geography_value7(p_ptnr_idx):= p_geo_val;
5452      ELSIF p_loc_idx = 8 THEN
5453        l_ptnr_loc_tbl.bill_to_geography_type8(p_ptnr_idx) := p_geo_type;
5454        l_ptnr_loc_tbl.bill_to_geography_value8(p_ptnr_idx):= p_geo_val;
5455      ELSIF p_loc_idx = 9 THEN
5456        l_ptnr_loc_tbl.bill_to_geography_type9(p_ptnr_idx) := p_geo_type;
5457        l_ptnr_loc_tbl.bill_to_geography_value9(p_ptnr_idx):= p_geo_val;
5458      ELSIF p_loc_idx = 10 THEN
5459        l_ptnr_loc_tbl.bill_to_geography_type10(p_ptnr_idx) := p_geo_type;
5460        l_ptnr_loc_tbl.bill_to_geography_value10(p_ptnr_idx):= p_geo_val;
5461      END IF;
5462    ELSIF p_location_type = 'BILL_FROM' THEN
5463      IF p_loc_idx = 1 THEN
5464        l_ptnr_loc_tbl.bill_from_geography_type1(p_ptnr_idx) := p_geo_type;
5465        l_ptnr_loc_tbl.bill_from_geography_value1(p_ptnr_idx):= p_geo_val;
5466      ELSIF p_loc_idx = 2 THEN
5467        l_ptnr_loc_tbl.bill_from_geography_type2(p_ptnr_idx) := p_geo_type;
5468        l_ptnr_loc_tbl.bill_from_geography_value2(p_ptnr_idx):= p_geo_val;
5469      ELSIF p_loc_idx = 3 THEN
5470        l_ptnr_loc_tbl.bill_from_geography_type3(p_ptnr_idx) := p_geo_type;
5471        l_ptnr_loc_tbl.bill_from_geography_value3(p_ptnr_idx):= p_geo_val;
5472      ELSIF p_loc_idx = 4 THEN
5473        l_ptnr_loc_tbl.bill_from_geography_type4(p_ptnr_idx) := p_geo_type;
5474        l_ptnr_loc_tbl.bill_from_geography_value4(p_ptnr_idx):= p_geo_val;
5475      ELSIF p_loc_idx = 5 THEN
5476        l_ptnr_loc_tbl.bill_from_geography_type5(p_ptnr_idx) := p_geo_type;
5477        l_ptnr_loc_tbl.bill_from_geography_value5(p_ptnr_idx):= p_geo_val;
5478      ELSIF p_loc_idx = 6 THEN
5479        l_ptnr_loc_tbl.bill_from_geography_type6(p_ptnr_idx) := p_geo_type;
5480        l_ptnr_loc_tbl.bill_from_geography_value6(p_ptnr_idx):= p_geo_val;
5481      ELSIF p_loc_idx = 7 THEN
5482        l_ptnr_loc_tbl.bill_from_geography_type7(p_ptnr_idx) := p_geo_type;
5483        l_ptnr_loc_tbl.bill_from_geography_value7(p_ptnr_idx):= p_geo_val;
5484      ELSIF p_loc_idx = 8 THEN
5485        l_ptnr_loc_tbl.bill_from_geography_type8(p_ptnr_idx) := p_geo_type;
5486        l_ptnr_loc_tbl.bill_from_geography_value8(p_ptnr_idx):= p_geo_val;
5487      ELSIF p_loc_idx = 9 THEN
5488        l_ptnr_loc_tbl.bill_from_geography_type9(p_ptnr_idx) := p_geo_type;
5489        l_ptnr_loc_tbl.bill_from_geography_value9(p_ptnr_idx):= p_geo_val;
5490      ELSIF p_loc_idx = 10 THEN
5491        l_ptnr_loc_tbl.bill_from_geography_type10(p_ptnr_idx) := p_geo_type;
5492        l_ptnr_loc_tbl.bill_from_geography_value10(p_ptnr_idx):= p_geo_val;
5493      END IF;
5494    ELSIF p_location_type = 'POO' THEN
5495      IF p_loc_idx = 1 THEN
5496        l_ptnr_loc_tbl.poo_geography_type1(p_ptnr_idx) := p_geo_type;
5497        l_ptnr_loc_tbl.poo_geography_value1(p_ptnr_idx):= p_geo_val;
5498      ELSIF p_loc_idx = 2 THEN
5499        l_ptnr_loc_tbl.poo_geography_type2(p_ptnr_idx) := p_geo_type;
5500        l_ptnr_loc_tbl.poo_geography_value2(p_ptnr_idx):= p_geo_val;
5501      ELSIF p_loc_idx = 3 THEN
5502        l_ptnr_loc_tbl.poo_geography_type3(p_ptnr_idx) := p_geo_type;
5503        l_ptnr_loc_tbl.poo_geography_value3(p_ptnr_idx):= p_geo_val;
5504      ELSIF p_loc_idx = 4 THEN
5505        l_ptnr_loc_tbl.poo_geography_type4(p_ptnr_idx) := p_geo_type;
5506        l_ptnr_loc_tbl.poo_geography_value4(p_ptnr_idx):= p_geo_val;
5507      ELSIF p_loc_idx = 5 THEN
5508        l_ptnr_loc_tbl.poo_geography_type5(p_ptnr_idx) := p_geo_type;
5509        l_ptnr_loc_tbl.poo_geography_value5(p_ptnr_idx):= p_geo_val;
5510      ELSIF p_loc_idx = 6 THEN
5511        l_ptnr_loc_tbl.poo_geography_type6(p_ptnr_idx) := p_geo_type;
5512        l_ptnr_loc_tbl.poo_geography_value6(p_ptnr_idx):= p_geo_val;
5513      ELSIF p_loc_idx = 7 THEN
5514        l_ptnr_loc_tbl.poo_geography_type7(p_ptnr_idx) := p_geo_type;
5515        l_ptnr_loc_tbl.poo_geography_value7(p_ptnr_idx):= p_geo_val;
5516      ELSIF p_loc_idx = 8 THEN
5517        l_ptnr_loc_tbl.poo_geography_type8(p_ptnr_idx) := p_geo_type;
5518        l_ptnr_loc_tbl.poo_geography_value8(p_ptnr_idx):= p_geo_val;
5519      ELSIF p_loc_idx = 9 THEN
5520        l_ptnr_loc_tbl.poo_geography_type9(p_ptnr_idx) := p_geo_type;
5521        l_ptnr_loc_tbl.poo_geography_value9(p_ptnr_idx):= p_geo_val;
5522      ELSIF p_loc_idx = 10 THEN
5523        l_ptnr_loc_tbl.poo_geography_type10(p_ptnr_idx) := p_geo_type;
5524        l_ptnr_loc_tbl.poo_geography_value10(p_ptnr_idx):= p_geo_val;
5525      END IF;
5526    ELSIF p_location_type = 'POA' THEN
5527      IF p_loc_idx = 1 THEN
5528        l_ptnr_loc_tbl.poa_geography_type1(p_ptnr_idx) := p_geo_type;
5529        l_ptnr_loc_tbl.poa_geography_value1(p_ptnr_idx):= p_geo_val;
5530      ELSIF p_loc_idx = 2 THEN
5531        l_ptnr_loc_tbl.poa_geography_type2(p_ptnr_idx) := p_geo_type;
5532        l_ptnr_loc_tbl.poa_geography_value2(p_ptnr_idx):= p_geo_val;
5533      ELSIF p_loc_idx = 3 THEN
5534        l_ptnr_loc_tbl.poa_geography_type3(p_ptnr_idx) := p_geo_type;
5535        l_ptnr_loc_tbl.poa_geography_value3(p_ptnr_idx):= p_geo_val;
5536      ELSIF p_loc_idx = 4 THEN
5537        l_ptnr_loc_tbl.poa_geography_type4(p_ptnr_idx) := p_geo_type;
5538        l_ptnr_loc_tbl.poa_geography_value4(p_ptnr_idx):= p_geo_val;
5539      ELSIF p_loc_idx = 5 THEN
5540        l_ptnr_loc_tbl.poa_geography_type5(p_ptnr_idx) := p_geo_type;
5541        l_ptnr_loc_tbl.poa_geography_value5(p_ptnr_idx):= p_geo_val;
5542      ELSIF p_loc_idx = 6 THEN
5543        l_ptnr_loc_tbl.poa_geography_type6(p_ptnr_idx) := p_geo_type;
5544        l_ptnr_loc_tbl.poa_geography_value6(p_ptnr_idx):= p_geo_val;
5545      ELSIF p_loc_idx = 7 THEN
5546        l_ptnr_loc_tbl.poa_geography_type7(p_ptnr_idx) := p_geo_type;
5547        l_ptnr_loc_tbl.poa_geography_value7(p_ptnr_idx):= p_geo_val;
5548      ELSIF p_loc_idx = 8 THEN
5549        l_ptnr_loc_tbl.poa_geography_type8(p_ptnr_idx) := p_geo_type;
5550        l_ptnr_loc_tbl.poa_geography_value8(p_ptnr_idx):= p_geo_val;
5551      ELSIF p_loc_idx = 9 THEN
5552        l_ptnr_loc_tbl.poa_geography_type9(p_ptnr_idx) := p_geo_type;
5553        l_ptnr_loc_tbl.poa_geography_value9(p_ptnr_idx):= p_geo_val;
5554      ELSIF p_loc_idx = 10 THEN
5555        l_ptnr_loc_tbl.poa_geography_type10(p_ptnr_idx) := p_geo_type;
5556        l_ptnr_loc_tbl.poa_geography_value10(p_ptnr_idx):= p_geo_val;
5557      END IF;
5558    END IF;
5559 
5560    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5561      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5562    END IF;
5563 
5564    EXCEPTION
5565       WHEN OTHERS THEN
5566         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5567         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5568           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5569         END IF;
5570  END POPULATE_PTNR_LOC_TBL;
5571 
5572 -----------------------------------------------------------------------
5573 --  PRIVATE PROCEDURE
5574 --  prepare_for_loc_caching
5575 --
5576 --  DESCRIPTION
5577 --
5578 --
5579 --  CALLED BY
5580 --    calculate_tax_pvt
5581 --
5582 -----------------------------------------------------------------------
5583 PROCEDURE prepare_for_loc_caching(
5584    p_trx_line_index  IN  NUMBER,
5585    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
5586    x_return_status   OUT NOCOPY VARCHAR2
5587   )IS
5588 
5589   i                                NUMBER;
5590   l_location_type_tbl              ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
5591   l_location_id_tbl                ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
5592   l_return_status                  VARCHAR2(1);
5593   l_context_info_rec               ZX_API_PUB.context_info_rec_type;
5594   l_api_name              CONSTANT VARCHAR2(30):= 'PREPARE_FOR_LOC_CACHING';
5595 
5596 BEGIN
5597     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
5598       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
5599     END IF;
5600 
5601     IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
5602        i := 1;
5603     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index) is not NULL then
5604      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index);
5605      l_location_type_tbl(i):= 'SHIP_TO';
5606      i := i + 1;
5607     END IF;
5608 
5609     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index) is not NULL then
5610      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index);
5611      l_location_type_tbl(i):= 'SHIP_FROM';
5612      i := i + 1;
5613     END IF;
5614 
5615     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index)is NOT NULL then
5616      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index);
5617      l_location_type_tbl(i):= 'BILL_TO';
5618      i := i + 1;
5619     END IF;
5620 
5621     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index) is NOT NULL then
5622      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index);
5623      l_location_type_tbl(i):= 'BILL_FROM';
5624      i := i + 1;
5625     END IF;
5626 
5627     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) is NOT NULL then
5628      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index);
5629      l_location_type_tbl(i):= 'POA';
5630      i := i + 1;
5631     END IF;
5632 
5633     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) is NOT NULL then
5634      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index);
5635      l_location_type_tbl(i):= 'POO';
5636      i := i + 1;
5637     END IF;
5638 
5639     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_location_id(p_trx_line_index) is NOT NULL then
5640      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_location_id(p_trx_line_index);
5641      l_location_type_tbl(i):= 'TRADING_HQ';
5642      i := i + 1;
5643     END IF;
5644 
5645     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_location_id(p_trx_line_index) is NOT NULL then
5646      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_location_id(p_trx_line_index);
5647      l_location_type_tbl(i):= 'OWN_HQ';
5648      i := i + 1;
5649     END IF;
5650 
5651     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_transfer_location_id(p_trx_line_index) is NOT NULL then
5652      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_transfer_location_id(p_trx_line_index);
5653      l_location_type_tbl(i):= 'TITLE_TRANS';
5654      i := i + 1;
5655     END IF;
5656 
5657     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_location_id(p_trx_line_index)is NOT NULL then
5658      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_location_id(p_trx_line_index);
5659      l_location_type_tbl(i):= 'PAYING';
5660      i := i + 1;
5661     END IF;
5662 
5663     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poc_location_id(p_trx_line_index)is NOT NULL then
5664      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poc_location_id(p_trx_line_index);
5665      l_location_type_tbl(i):= 'POC';
5666      i := i + 1;
5667     END IF;
5668 
5669     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_location_id(p_trx_line_index) is NOT NULL then
5670      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_location_id(p_trx_line_index);
5671      l_location_type_tbl(i):= 'POD';
5672      i := i + 1;
5673     END IF;
5674 
5675     IF  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_org_location_id(p_trx_line_index) is NOT NULL then
5676      l_location_id_tbl(i):= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_org_location_id(p_trx_line_index);
5677      l_location_type_tbl(i):= 'INTERNAL_ORG';
5678      i := i + 1;
5679     END IF;
5680 
5681 
5682     ZX_TCM_GEO_JUR_PKG.populate_loc_geography_info(event_class_mapping_id => p_event_class_rec.event_class_mapping_id,
5683                                                    trx_id                 => p_event_class_rec.trx_id,
5684                                                    trx_line_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index),
5685                                                    trx_level_type         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index),
5686                                                    location_type_tbl      => l_location_type_tbl,
5687                                                    location_id_tbl        => l_location_id_tbl,
5688                                                    x_return_status        => l_return_status
5689                                                    );
5690     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5691        x_return_status := l_return_status;
5692        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5693           l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index);
5694           l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index);
5695           l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index);
5696           l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index);
5697           l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
5698           l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
5699           ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
5700         END IF;
5701 
5702        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5703          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5704          ' RETURN_STATUS = ' || x_return_status||', '||SQLERRM);
5705        END IF;
5706        RETURN;
5707     END IF;
5708  END IF;
5709 
5710    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5711      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
5712    END IF;
5713 
5714    EXCEPTION
5715       WHEN OTHERS THEN
5716         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5717         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
5718           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
5719         END IF;
5720  END prepare_for_loc_caching;
5721 
5722 -----------------------------------------------------------------------
5723 --  PRIVATE PROCEDURE
5724 --  partner_location_population
5725 --
5726 --  DESCRIPTION
5727 --  Populate the partner location gt table
5728 --
5729 --  CALLED BY
5730 --    calculate_tax
5731 -----------------------------------------------------------------------
5732 PROCEDURE partner_location_population(
5733     p_event_class_rec  IN  ZX_API_PUB.event_class_rec_type,
5734     x_return_status    OUT NOCOPY VARCHAR2
5735     ) IS
5736     l_return_status      VARCHAR2(30);
5737     l_ptnr_index         BINARY_INTEGER;
5738     l_ship_from_idx      NUMBER;
5739     l_ship_to_idx        NUMBER;
5740     l_bill_to_idx        NUMBER;
5741     l_bill_from_idx      NUMBER;
5742     l_poo_idx            NUMBER;
5743     l_poa_idx            NUMBER;
5744     l_prev_trx_line_id   NUMBER;
5745     l_ship_from_tbl      VARCHAR2(100);
5746     l_ship_from_id       NUMBER;
5747     l_ship_to_tbl        VARCHAR2(100);
5748     l_ship_to_id         NUMBER;
5749     l_bill_to_tbl        VARCHAR2(100);
5750     l_bill_to_id         NUMBER;
5751     l_bill_from_tbl      VARCHAR2(100);
5752     l_bill_from_id       NUMBER;
5753     l_poo_tbl            VARCHAR2(100);
5754     l_poo_id             NUMBER;
5755     l_poa_tbl            VARCHAR2(100);
5756     l_poa_id             NUMBER;
5757     l_address1           VARCHAR2(100);
5758     l_address2           VARCHAR2(100);
5759     l_address3           VARCHAR2(100);
5760     l_address4           VARCHAR2(100);
5761     l_first              BOOLEAN;
5762     l_context_info_rec   ZX_API_PUB.context_info_rec_type;
5763     l_api_name  CONSTANT VARCHAR2(30) := 'PARTNER_LOCATION_POPULATION';
5764     l_trx_id_indx        VARCHAR2(200);
5765   BEGIN
5766     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5767       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
5768     END IF;
5769 
5770     x_return_status := FND_API.G_RET_STS_SUCCESS;
5771     l_first := TRUE;
5772 
5773 /*
5774     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)
5775     LOOP
5776        IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
5777           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
5778          zx_global_structures_pkg.g_ptnr_srvc_subscr_flag := 'Y';
5779          EXIT;
5780        END IF;
5781     END LOOP;
5782 */
5783 
5784     IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
5785       l_ptnr_index := 0;
5786       initialise_partner_tables;   -- Bug 5068716: Moved initialization of partner tables only if partner is involved.
5787       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5788           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5789             ' ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl-count = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id.count);
5790           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5791             ' l_ptnr_loc_tbl-count = ' || l_ptnr_loc_tbl.trx_id.count);
5792       END IF;
5793 
5794       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)
5795       LOOP
5796        IF (ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id(i) = p_event_class_rec.trx_id) THEN
5797         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
5798           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
5799             ' location_info_tbl-EVENT_CLASS_MAPPING_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.EVENT_CLASS_MAPPING_ID(i)||
5800             ', TRX_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_ID(i)||
5801             ', TRX_LINE_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_LINE_ID(i)||
5802             ', TRX_LEVEL_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.TRX_LEVEL_TYPE(i)||
5803             ', LOCATION_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_TYPE(i)||
5804             ', LOCATION_TABLE_NAME = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_TABLE_NAME(i)||
5805             ', LOCATION_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.LOCATION_ID(i)||
5806             ', GEOGRAPHY_TYPE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_TYPE(i)||
5807             ', GEOGRAPHY_VALUE = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_VALUE(i)||
5808             ', GEOGRAPHY_ID = ' || ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.GEOGRAPHY_ID(i));
5809         END IF;
5810 
5811        --------------------------------------------------------------------------------------
5812        -- For the first iteration populate the header columns of the structure using the flag l_first
5813        -- For subsequent iterations populate the header columns after trx line id changes.
5814        --------------------------------------------------------------------------------------
5815          IF (nvl(l_prev_trx_line_id,0) <> ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i) OR l_first) THEN
5816            l_prev_trx_line_id := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i);
5817            l_ptnr_index := l_ptnr_index + 1;
5818            l_ptnr_loc_tbl.event_class_mapping_id(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.event_class_mapping_id(i);
5819            l_ptnr_loc_tbl.trx_id(l_ptnr_index):= ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_id(i);
5820            l_ptnr_loc_tbl.trx_line_id(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i);
5821            l_ptnr_loc_tbl.trx_level_type(l_ptnr_index) := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_level_type(i);
5822            l_ship_from_idx := 1;
5823            l_ship_to_idx := 1;
5824            l_bill_to_idx := 1;
5825            l_bill_from_idx := 1;
5826            l_poo_idx := 1;
5827            l_poa_idx := 1;
5828            l_first := FALSE;
5829 
5830            --Initialise the record of tables so that element at index error does not appear
5831            init_ptnr_location_tbl(l_ptnr_index);
5832 
5833            --Retrieve the ship_from_party_number/name,ship_to_party_number/name,
5834            --bill_to_party_number/name, bill_from_party_number/name
5835 
5836     --Bug#6721441 --
5837            l_trx_id_indx := to_char(p_event_class_rec.event_class_mapping_id)
5838                           ||to_char(l_ptnr_loc_tbl.trx_id(l_ptnr_index))
5839                           ||to_char(l_ptnr_loc_tbl.trx_line_id(l_ptnr_index))
5840                           ||l_ptnr_loc_tbl.trx_level_type(l_ptnr_index);
5841 
5842            IF l_trx_id_tbl.EXISTS(l_trx_id_indx) THEN
5843               NULL;
5844            ELSE
5845 
5846            l_trx_id_tbl(l_trx_id_indx).event_class_map_id := p_event_class_rec.event_class_mapping_id;
5847            l_trx_id_tbl(l_trx_id_indx).trx_id := l_ptnr_loc_tbl.trx_id(l_ptnr_index);
5848            l_trx_id_tbl(l_trx_id_indx).trx_line_id := l_ptnr_loc_tbl.trx_line_id(l_ptnr_index);
5849            l_trx_id_tbl(l_trx_id_indx).trx_level_type := l_ptnr_loc_tbl.trx_level_type(l_ptnr_index);
5850 
5851            populate_parties (p_event_class_rec,
5852                           -- l_ptnr_loc_tbl.event_class_mapping_id(l_ptnr_index),
5853                              l_ptnr_loc_tbl.trx_id(l_ptnr_index),
5854                              l_ptnr_loc_tbl.trx_line_id(l_ptnr_index),
5855                              l_ptnr_loc_tbl.trx_level_type(l_ptnr_index),
5856                              l_ptnr_index,
5857                              l_return_status
5858                              );
5859           END IF;
5860          END IF;
5861        --------------------------------------------------------------------------------------
5862        -- Depending upon the location type populating the particular column of the record of
5863        -- tables structure. Incrementing the index counter for that particular location type
5864        --------------------------------------------------------------------------------------
5865          IF (ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'SHIP_FROM') THEN
5866            populate_ptnr_loc_tbl(l_ptnr_index,
5867                                  'SHIP_FROM',
5868                                  l_ship_from_idx,
5869                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5870                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5871                                  l_return_status
5872                                 );
5873            l_ship_from_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5874            l_ship_from_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5875            l_ship_from_idx := l_ship_from_idx + 1;
5876 
5877          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'SHIP_TO' THEN
5878            populate_ptnr_loc_tbl(l_ptnr_index,
5879                                  'SHIP_TO',
5880                                  l_ship_to_idx,
5881                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5882                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5883                                  l_return_status
5884                                 );
5885            l_ship_to_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5886            l_ship_to_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5887            l_ship_to_idx := l_ship_to_idx + 1;
5888 
5889          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'BILL_TO' THEN
5890            populate_ptnr_loc_tbl(l_ptnr_index,
5891                                 'BILL_TO',
5892                                 l_bill_to_idx,
5893                                 ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5894                                 ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5895                                 l_return_status
5896                                 );
5897            l_bill_to_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5898            l_bill_to_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5899            l_bill_to_idx := l_bill_to_idx + 1;
5900 
5901          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'BILL_FROM' THEN
5902            populate_ptnr_loc_tbl(l_ptnr_index,
5903                                  'BILL_FROM',
5904                                  l_bill_from_idx,
5905                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5906                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5907                                  l_return_status
5908                                  );
5909            l_bill_from_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5910            l_bill_from_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5911            l_bill_from_idx := l_bill_from_idx + 1;
5912 
5913          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'POO' THEN
5914            populate_ptnr_loc_tbl(l_ptnr_index,
5915                                  'POO',
5916                                  l_poo_idx,
5917                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5918                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5919                                  l_return_status
5920                                  );
5921            l_poo_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5922            l_poo_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5923            l_poo_idx := l_poo_idx + 1;
5924 
5925          ELSIF ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_type(i) = 'POA' THEN
5926            populate_ptnr_loc_tbl(l_ptnr_index,
5927                                  'POA',
5928                                  l_poa_idx,
5929                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_type(i),
5930                                  ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.geography_value(i),
5931                                  l_return_status
5932                                  );
5933            l_poa_tbl := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_table_name(i);
5934            l_poa_id  := ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.location_id(i);
5935            l_poa_idx := l_poa_idx + 1;
5936          END IF;
5937 
5938        --------------------------------------------------------------------------------------
5939        -- IF the trx line id for the next record is different then fetching the additional
5940        -- address elements and inserting them into the record of tables for the present
5941        -- trx line id
5942        --------------------------------------------------------------------------------------
5943          IF (( i = ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id.LAST) OR
5944             (l_prev_trx_line_id <> ZX_GLOBAL_STRUCTURES_PKG.location_info_tbl.trx_line_id(i+1)) ) THEN
5945 
5946             --Fetch the address elements for SHIP_FROM
5947             get_address_elements(l_ship_from_tbl,
5948                                  l_ship_from_id,
5949                                  l_address1,
5950                                  l_address2,
5951                                  l_address3,
5952                                  l_address4,
5953                                  l_return_status
5954                                 );
5955             IF l_address1 is not null THEN
5956               populate_ptnr_loc_tbl(l_ptnr_index,
5957                                     'SHIP_FROM',
5958                                     l_ship_from_idx,
5959                                     'ADDRESS1',
5960                                     l_address1,
5961                                     l_return_status
5962                                    );
5963             END IF;
5964 
5965             IF l_address2 is not null THEN
5966               populate_ptnr_loc_tbl(l_ptnr_index,
5967                                     'SHIP_FROM',
5968                                     l_ship_from_idx+1,
5969                                     'ADDRESS2',
5970                                     l_address2,
5971                                     l_return_status
5972                                    );
5973             END IF;
5974 
5975             IF l_address3 is not null THEN
5976               populate_ptnr_loc_tbl(l_ptnr_index,
5977                                     'SHIP_FROM',
5978                                     l_ship_from_idx+2,
5979                                     'ADDRESS3',
5980                                     l_address3,
5981                                     l_return_status
5982                                     );
5983             END IF;
5984 
5985             IF l_address4 is not null THEN
5986               populate_ptnr_loc_tbl(l_ptnr_index,
5987                                     'SHIP_FROM',
5988                                     l_ship_from_idx+3,
5989                                     'ADDRESS4',
5990                                     l_address4,
5991                                     l_return_status
5992                                    );
5993             END IF;
5994 
5995             --Fetch the address elements for SHIP_TO
5996             get_address_elements(l_ship_to_tbl,
5997                                  l_ship_to_id,
5998                                  l_address1,
5999                                  l_address2,
6000                                  l_address3,
6001                                  l_address4,
6002                                  l_return_status
6003                                 );
6004 
6005             IF l_address1 is not null THEN
6006               populate_ptnr_loc_tbl(l_ptnr_index,
6007                                     'SHIP_TO',
6008                                     l_ship_to_idx,
6009                                     'ADDRESS1',
6010                                     l_address1,
6011                                     l_return_status
6012                                    );
6013             END IF;
6014 
6015             IF l_address2 is not null THEN
6016               populate_ptnr_loc_tbl(l_ptnr_index,
6017                                     'SHIP_TO',
6018                                     l_ship_to_idx+1,
6019                                     'ADDRESS2',
6020                                     l_address2,
6021                                     l_return_status
6022                                    );
6023             END IF;
6024 
6025             IF l_address3 is not null THEN
6026               populate_ptnr_loc_tbl(l_ptnr_index,
6027                                     'SHIP_TO',
6028                                     l_ship_to_idx+2,
6029                                     'ADDRESS3',
6030                                     l_address3,
6031                                     l_return_status
6032                                    );
6033             END IF;
6034 
6035             IF l_address4 is not null THEN
6036               populate_ptnr_loc_tbl(l_ptnr_index,
6037                                     'SHIP_TO',
6038                                     l_ship_to_idx+3,
6039                                     'ADDRESS4',
6040                                     l_address4,
6041                                     l_return_status
6042                                     );
6043             END IF;
6044 
6045             --Fetch the address elements for BILL_TO
6046             get_address_elements(l_bill_to_tbl,
6047                                  l_bill_to_id,
6048                                  l_address1,
6049                                  l_address2,
6050                                  l_address3,
6051                                  l_address4,
6052                                  l_return_status
6053                                  );
6054 
6055             IF l_address1 is not null THEN
6056               populate_ptnr_loc_tbl(l_ptnr_index,
6057                                     'BILL_TO',
6058                                     l_bill_to_idx,
6059                                     'ADDRESS1',
6060                                     l_address1,
6061                                     l_return_status
6062                                    );
6063             END IF;
6064 
6065             IF l_address2 is not null THEN
6066               populate_ptnr_loc_tbl(l_ptnr_index,
6067                                     'BILL_TO',
6068                                     l_bill_to_idx+1,
6069                                     'ADDRESS2',
6070                                     l_address2,
6071                                     l_return_status
6072                                     );
6073             END IF;
6074 
6075             IF l_address3 is not null THEN
6076               populate_ptnr_loc_tbl(l_ptnr_index,
6077                                     'BILL_TO',
6078                                     l_bill_to_idx+2,
6079                                     'ADDRESS3',
6080                                     l_address3,
6081                                     l_return_status
6082                                     );
6083             END IF;
6084 
6085             IF l_address4 is not null THEN
6086               populate_ptnr_loc_tbl(l_ptnr_index,
6087                                     'BILL_TO',
6088                                     l_bill_to_idx+3,
6089                                     'ADDRESS4',
6090                                     l_address4,
6091                                     l_return_status
6092                                     );
6093             END IF;
6094             --Fetch the address elements for BILL_FROM
6095             get_address_elements(l_bill_from_tbl,
6096                                  l_bill_from_id,
6097                                  l_address1,
6098                                  l_address2,
6099                                  l_address3,
6100                                  l_address4,
6101                                  l_return_status
6102                                 );
6103 
6104             IF l_address1 is not null THEN
6105               populate_ptnr_loc_tbl(l_ptnr_index,
6106                                     'BILL_FROM',
6107                                     l_bill_from_idx,
6108                                     'ADDRESS1',
6109                                     l_address1,
6110                                     l_return_status
6111                                    );
6112             END IF;
6113 
6114             IF l_address2 is not null THEN
6115               populate_ptnr_loc_tbl(l_ptnr_index,
6116                                     'BILL_FROM',
6117                                     l_bill_from_idx+1,
6118                                     'ADDRESS2',
6119                                     l_address2,
6120                                     l_return_status
6121                                    );
6122             END IF;
6123 
6124             IF l_address3 is not null THEN
6125               populate_ptnr_loc_tbl(l_ptnr_index,
6126                                     'BILL_FROM',
6127                                     l_bill_from_idx+2,
6128                                     'ADDRESS3',
6129                                     l_address3,
6130                                     l_return_status
6131                                    );
6132             END IF;
6133 
6134             IF l_address4 is not null THEN
6135               populate_ptnr_loc_tbl(l_ptnr_index,
6136                                     'BILL_FROM',
6137                                     l_bill_from_idx+3,
6138                                     'ADDRESS4',
6139                                     l_address4,
6140                                     l_return_status
6141                                    );
6142             END IF;
6143 
6144             --Fetch the address elements for POO
6145             get_address_elements(l_poo_tbl,
6146                                  l_poo_id,
6147                                  l_address1,
6148                                  l_address2,
6149                                  l_address3,
6150                                  l_address4,
6151                                  l_return_status
6152                                 );
6153             IF l_address1 is not null THEN
6154               populate_ptnr_loc_tbl(l_ptnr_index,
6155                                     'POO',
6156                                     l_poo_idx,
6157                                     'ADDRESS1',
6158                                     l_address1,
6159                                     l_return_status
6160                                    );
6161             END IF;
6162 
6163             IF l_address2 is not null THEN
6164               populate_ptnr_loc_tbl(l_ptnr_index,
6165                                     'POO',
6166                                     l_poo_idx+1,
6167                                     'ADDRESS2',
6168                                     l_address2,
6169                                     l_return_status
6170                                    );
6171             END IF;
6172 
6173             IF l_address3 is not null THEN
6174               populate_ptnr_loc_tbl(l_ptnr_index,
6175                                     'POO',
6176                                     l_poo_idx+2,
6177                                     'ADDRESS3',
6178                                     l_address3,
6179                                     l_return_status
6180                                     );
6181             END IF;
6182 
6183             IF l_address4 is not null THEN
6184               populate_ptnr_loc_tbl(l_ptnr_index,
6185                                     'POO',
6186                                     l_poo_idx+3,
6187                                     'ADDRESS4',
6188                                     l_address4,
6189                                     l_return_status
6190                                    );
6191             END IF;
6192 
6193             --Fetch the address elements for POA
6194             get_address_elements(l_poa_tbl,
6195                                  l_poa_id,
6196                                  l_address1,
6197                                  l_address2,
6198                                  l_address3,
6199                                  l_address4,
6200                                  l_return_status
6201                                  );
6202 
6203             IF l_address4 is not null THEN
6204               populate_ptnr_loc_tbl(l_ptnr_index,
6205                                     'POA',
6206                                     l_poa_idx,
6207                                     'ADDRESS1',
6208                                     l_address1,
6209                                     l_return_status
6210                                    );
6211             END IF;
6212 
6213             IF l_address2 is not null THEN
6214               populate_ptnr_loc_tbl(l_ptnr_index,
6215                                     'POA',
6216                                     l_poa_idx+1,
6217                                     'ADDRESS2',
6218                                     l_address2,
6219                                     l_return_status
6220                                    );
6221             END IF;
6222 
6223             IF l_address3 is not null THEN
6224               populate_ptnr_loc_tbl(l_ptnr_index,
6225                                     'POA',
6226                                     l_poa_idx+2,
6227                                     'ADDRESS3',
6228                                     l_address3,
6229                                     l_return_status
6230                                    );
6231             END IF;
6232 
6233             IF l_address4 is not null THEN
6234               populate_ptnr_loc_tbl(l_ptnr_index,
6235                                     'POA',
6236                                     l_poa_idx+3,
6237                                     'ADDRESS4',
6238                                     l_address4,
6239                                     l_return_status
6240                                    );
6241             END IF;
6242           END IF;
6243          END IF;
6244          END LOOP;
6245 
6246        --------------------------------------------------------------------------------------
6247        -- Bulk inserting the record of tables into the global temp table
6248        --------------------------------------------------------------------------------------
6249        FORALL i IN nvl(l_ptnr_loc_tbl.trx_id.FIRST,0) .. nvl(l_ptnr_loc_tbl.trx_id.LAST,-99)
6250          INSERT INTO ZX_PTNR_LOCATION_INFO_GT
6251                      (EVENT_CLASS_MAPPING_ID  ,
6252                       TRX_ID  ,
6253                       TRX_LINE_ID ,
6254                       TRX_LEVEL_TYPE ,
6255                       SHIP_TO_GEOGRAPHY_TYPE1 ,
6256                       SHIP_TO_GEOGRAPHY_VALUE1 ,
6257                       SHIP_TO_GEOGRAPHY_TYPE2 ,
6258                       SHIP_TO_GEOGRAPHY_VALUE2 ,
6259                       SHIP_TO_GEOGRAPHY_TYPE3 ,
6260                       SHIP_TO_GEOGRAPHY_VALUE3 ,
6261                       SHIP_TO_GEOGRAPHY_TYPE4 ,
6262                       SHIP_TO_GEOGRAPHY_VALUE4 ,
6263                       SHIP_TO_GEOGRAPHY_TYPE5 ,
6264                       SHIP_TO_GEOGRAPHY_VALUE5 ,
6265                       SHIP_TO_GEOGRAPHY_TYPE6 ,
6266                       SHIP_TO_GEOGRAPHY_VALUE6 ,
6267                       SHIP_TO_GEOGRAPHY_TYPE7 ,
6268                       SHIP_TO_GEOGRAPHY_VALUE7 ,
6269                       SHIP_TO_GEOGRAPHY_TYPE8 ,
6270                       SHIP_TO_GEOGRAPHY_VALUE8 ,
6271                       SHIP_TO_GEOGRAPHY_TYPE9 ,
6272                       SHIP_TO_GEOGRAPHY_VALUE9 ,
6273                       SHIP_TO_GEOGRAPHY_TYPE10 ,
6274                       SHIP_TO_GEOGRAPHY_VALUE10 ,
6275                       SHIP_FROM_GEOGRAPHY_TYPE1 ,
6276                       SHIP_FROM_GEOGRAPHY_VALUE1 ,
6277                       SHIP_FROM_GEOGRAPHY_TYPE2 ,
6278                       SHIP_FROM_GEOGRAPHY_VALUE2 ,
6279                       SHIP_FROM_GEOGRAPHY_TYPE3 ,
6280                       SHIP_FROM_GEOGRAPHY_VALUE3 ,
6281                       SHIP_FROM_GEOGRAPHY_TYPE4 ,
6282                       SHIP_FROM_GEOGRAPHY_VALUE4 ,
6283                       SHIP_FROM_GEOGRAPHY_TYPE5 ,
6284                       SHIP_FROM_GEOGRAPHY_VALUE5 ,
6285                       SHIP_FROM_GEOGRAPHY_TYPE6 ,
6286                       SHIP_FROM_GEOGRAPHY_VALUE6 ,
6287                       SHIP_FROM_GEOGRAPHY_TYPE7 ,
6288                       SHIP_FROM_GEOGRAPHY_VALUE7 ,
6289                       SHIP_FROM_GEOGRAPHY_TYPE8 ,
6290                       SHIP_FROM_GEOGRAPHY_VALUE8 ,
6291                       SHIP_FROM_GEOGRAPHY_TYPE9 ,
6292                       SHIP_FROM_GEOGRAPHY_VALUE9 ,
6293                       SHIP_FROM_GEOGRAPHY_TYPE10 ,
6294                       SHIP_FROM_GEOGRAPHY_VALUE10 ,
6295                       POA_GEOGRAPHY_TYPE1 ,
6296                       POA_GEOGRAPHY_VALUE1 ,
6297                       POA_GEOGRAPHY_TYPE2 ,
6298                       POA_GEOGRAPHY_VALUE2 ,
6299                       POA_GEOGRAPHY_TYPE3 ,
6300                       POA_GEOGRAPHY_VALUE3 ,
6301                       POA_GEOGRAPHY_TYPE4 ,
6302                       POA_GEOGRAPHY_VALUE4 ,
6303                       POA_GEOGRAPHY_TYPE5 ,
6304                       POA_GEOGRAPHY_VALUE5 ,
6305                       POA_GEOGRAPHY_TYPE6 ,
6306                       POA_GEOGRAPHY_VALUE6 ,
6307                       POA_GEOGRAPHY_TYPE7 ,
6308                       POA_GEOGRAPHY_VALUE7 ,
6309                       POA_GEOGRAPHY_TYPE8 ,
6310                       POA_GEOGRAPHY_VALUE8 ,
6311                       POA_GEOGRAPHY_TYPE9 ,
6312                       POA_GEOGRAPHY_VALUE9 ,
6313                       POA_GEOGRAPHY_TYPE10 ,
6314                       POA_GEOGRAPHY_VALUE10 ,
6315                       POO_GEOGRAPHY_TYPE1 ,
6316                       POO_GEOGRAPHY_VALUE1 ,
6317                       POO_GEOGRAPHY_TYPE2 ,
6318                       POO_GEOGRAPHY_VALUE2 ,
6319                       POO_GEOGRAPHY_TYPE3 ,
6320                       POO_GEOGRAPHY_VALUE3 ,
6321                       POO_GEOGRAPHY_TYPE4 ,
6322                       POO_GEOGRAPHY_VALUE4 ,
6323                       POO_GEOGRAPHY_TYPE5 ,
6324                       POO_GEOGRAPHY_VALUE5 ,
6325                       POO_GEOGRAPHY_TYPE6 ,
6326                       POO_GEOGRAPHY_VALUE6 ,
6327                       POO_GEOGRAPHY_TYPE7 ,
6328                       POO_GEOGRAPHY_VALUE7 ,
6329                       POO_GEOGRAPHY_TYPE8 ,
6330                       POO_GEOGRAPHY_VALUE8 ,
6331                       POO_GEOGRAPHY_TYPE9 ,
6332                       POO_GEOGRAPHY_VALUE9 ,
6333                       POO_GEOGRAPHY_TYPE10 ,
6334                       POO_GEOGRAPHY_VALUE10 ,
6335                       BILL_TO_GEOGRAPHY_TYPE1 ,
6336                       BILL_TO_GEOGRAPHY_VALUE1 ,
6337                       BILL_TO_GEOGRAPHY_TYPE2 ,
6338                       BILL_TO_GEOGRAPHY_VALUE2 ,
6339                       BILL_TO_GEOGRAPHY_TYPE3 ,
6340                       BILL_TO_GEOGRAPHY_VALUE3 ,
6341                       BILL_TO_GEOGRAPHY_TYPE4 ,
6342                       BILL_TO_GEOGRAPHY_VALUE4 ,
6343                       BILL_TO_GEOGRAPHY_TYPE5 ,
6344                       BILL_TO_GEOGRAPHY_VALUE5 ,
6345                       BILL_TO_GEOGRAPHY_TYPE6 ,
6346                       BILL_TO_GEOGRAPHY_VALUE6 ,
6347                       BILL_TO_GEOGRAPHY_TYPE7 ,
6348                       BILL_TO_GEOGRAPHY_VALUE7 ,
6349                       BILL_TO_GEOGRAPHY_TYPE8 ,
6350                       BILL_TO_GEOGRAPHY_VALUE8 ,
6351                       BILL_TO_GEOGRAPHY_TYPE9 ,
6352                       BILL_TO_GEOGRAPHY_VALUE9 ,
6353                       BILL_TO_GEOGRAPHY_TYPE10 ,
6354                       BILL_TO_GEOGRAPHY_VALUE10 ,
6355                       BILL_FROM_GEOGRAPHY_TYPE1 ,
6356                       BILL_FROM_GEOGRAPHY_VALUE1 ,
6357                       BILL_FROM_GEOGRAPHY_TYPE2 ,
6358                       BILL_FROM_GEOGRAPHY_VALUE2 ,
6359                       BILL_FROM_GEOGRAPHY_TYPE3 ,
6360                       BILL_FROM_GEOGRAPHY_VALUE3 ,
6361                       BILL_FROM_GEOGRAPHY_TYPE4 ,
6362                       BILL_FROM_GEOGRAPHY_VALUE4 ,
6363                       BILL_FROM_GEOGRAPHY_TYPE5 ,
6364                       BILL_FROM_GEOGRAPHY_VALUE5 ,
6365                       BILL_FROM_GEOGRAPHY_TYPE6 ,
6366                       BILL_FROM_GEOGRAPHY_VALUE6 ,
6367                       BILL_FROM_GEOGRAPHY_TYPE7 ,
6368                       BILL_FROM_GEOGRAPHY_VALUE7 ,
6369                       BILL_FROM_GEOGRAPHY_TYPE8 ,
6370                       BILL_FROM_GEOGRAPHY_VALUE8 ,
6371                       BILL_FROM_GEOGRAPHY_TYPE9 ,
6372                       BILL_FROM_GEOGRAPHY_VALUE9 ,
6373                       BILL_FROM_GEOGRAPHY_TYPE10 ,
6374                       BILL_FROM_GEOGRAPHY_VALUE10,
6375                       SHIP_TO_PARTY_NAME,
6376                       SHIP_TO_PARTY_NUMBER,
6377                       SHIP_FROM_PARTY_NAME,
6378                       SHIP_FROM_PARTY_NUMBER,
6379                       BILL_TO_PARTY_NAME,
6380                       BILL_TO_PARTY_NUMBER,
6381                       BILL_FROM_PARTY_NAME,
6382                       BILL_FROM_PARTY_NUMBER
6383                       )
6384                       VALUES
6385                       (l_ptnr_loc_tbl.EVENT_CLASS_MAPPING_ID(i),
6386                        l_ptnr_loc_tbl.TRX_ID(i),
6387                        l_ptnr_loc_tbl.TRX_LINE_ID(i),
6388                        l_ptnr_loc_tbl.TRX_LEVEL_TYPE(i),
6389                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE1(i),
6390                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE1(i),
6391                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE2(i),
6392                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE2(i),
6393                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE3(i),
6394                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE3(i),
6395                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE4(i),
6396                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE4(i),
6397                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE5(i),
6398                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE5(i),
6399                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE6(i),
6400                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE6(i),
6401                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE7(i),
6402                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE7(i),
6403                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE8(i),
6404                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE8(i),
6405                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE9(i),
6406                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE9(i),
6407                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_TYPE10(i),
6408                        l_ptnr_loc_tbl.SHIP_TO_GEOGRAPHY_VALUE10(i),
6409                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE1(i),
6410                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE1(i),
6411                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE2(i),
6412                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE2(i),
6413                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE3(i),
6414                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE3(i),
6415                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE4(i),
6416                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE4(i),
6417                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE5(i),
6418                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE5(i),
6419                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE6(i),
6420                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE6(i),
6421                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE7(i),
6422                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE7(i),
6423                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE8(i),
6424                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE8(i),
6425                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE9(i),
6426                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE9(i),
6427                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_TYPE10(i),
6428                        l_ptnr_loc_tbl.SHIP_FROM_GEOGRAPHY_VALUE10(i),
6429                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE1(i),
6430                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE1(i),
6431                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE2(i),
6432                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE2(i),
6433                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE3(i),
6434                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE3(i),
6435                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE4(i),
6436                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE4(i),
6437                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE5(i),
6438                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE5(i),
6439                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE6(i),
6440                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE6(i),
6441                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE7(i),
6442                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE7(i),
6443                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE8(i),
6444                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE8(i),
6445                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE9(i),
6446                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE9(i),
6447                        l_ptnr_loc_tbl.POA_GEOGRAPHY_TYPE10(i),
6448                        l_ptnr_loc_tbl.POA_GEOGRAPHY_VALUE10(i),
6449                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE1(i),
6450                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE1(i),
6451                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE2(i),
6452                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE2(i),
6453                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE3(i),
6454                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE3(i),
6455                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE4(i),
6456                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE4(i),
6457                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE5(i),
6458                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE5(i),
6459                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE6(i),
6460                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE6(i),
6461                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE7(i),
6462                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE7(i),
6463                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE8(i),
6464                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE8(i),
6465                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE9(i),
6466                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE9(i),
6467                        l_ptnr_loc_tbl.POO_GEOGRAPHY_TYPE10(i),
6468                        l_ptnr_loc_tbl.POO_GEOGRAPHY_VALUE10(i),
6469                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE1(i),
6470                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE1(i),
6471                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE2(i),
6472                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE2(i),
6473                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE3(i),
6474                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE3(i),
6475                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE4(i),
6476                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE4(i),
6477                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE5(i),
6478                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE5(i),
6479                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE6(i),
6480                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE6(i),
6481                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE7(i),
6482                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE7(i),
6483                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE8(i),
6484                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE8(i),
6485                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE9(i),
6486                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE9(i),
6487                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_TYPE10(i),
6488                        l_ptnr_loc_tbl.BILL_TO_GEOGRAPHY_VALUE10(i),
6489                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE1(i),
6490                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE1(i),
6491                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE2(i),
6492                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE2(i),
6493                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE3(i),
6494                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE3(i),
6495                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE4(i),
6496                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE4(i),
6497                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE5(i),
6498                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE5(i),
6499                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE6(i),
6500                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE6(i),
6501                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE7(i),
6502                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE7(i),
6503                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE8(i),
6504                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE8(i),
6505                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE9(i),
6506                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE9(i),
6507                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_TYPE10(i),
6508                        l_ptnr_loc_tbl.BILL_FROM_GEOGRAPHY_VALUE10(i),
6509                        l_ptnr_loc_tbl.SHIP_TO_PARTY_NAME(i),
6510                        l_ptnr_loc_tbl.SHIP_TO_PARTY_NUMBER(i),
6511                        l_ptnr_loc_tbl.SHIP_FROM_PARTY_NAME(i),
6512                        l_ptnr_loc_tbl.SHIP_FROM_PARTY_NUMBER(i),
6513                        l_ptnr_loc_tbl.BILL_TO_PARTY_NAME(i),
6514                        l_ptnr_loc_tbl.BILL_TO_PARTY_NUMBER(i),
6515                        l_ptnr_loc_tbl.BILL_FROM_PARTY_NAME(i),
6516                        l_ptnr_loc_tbl.BILL_FROM_PARTY_NUMBER(i)
6517                        );
6518     END IF;    -- Bug 5068716
6519     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6520       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
6521     END IF;
6522 
6523     EXCEPTION
6524       WHEN OTHERS THEN
6525         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6526         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6527           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6528         END IF;
6529   END PARTNER_LOCATION_POPULATION;
6530 
6531 -----------------------------------------------------------------------
6532 --  PRIVATE PROCEDURE
6533 --  get_regimes_for_del_item_lines
6534 --
6535 --  DESCRIPTION
6536 --  For deleted item lines, applicable regimes are not identified by eBTax
6537 --  Hence, the regime associated to deleted line needs to be derived for
6538 --  the purpose of partner derivation
6539 --
6540 --  CALLED BY
6541 --    calculate_tax
6542 -----------------------------------------------------------------------
6543 PROCEDURE GET_REGIMES_FOR_DEL_ITEM_LINES(
6544     p_event_class_rec  IN  ZX_API_PUB.event_class_rec_type,
6545     x_return_status    OUT NOCOPY VARCHAR2
6546     ) IS
6547     l_return_status      VARCHAR2(30);
6548     l_record_exists      VARCHAR2(1);
6549     l_api_name           CONSTANT VARCHAR2(30):= 'GET_REGIMES_FOR_DEL_ITEM_LINES';
6550 
6551     CURSOR c_regimes_for_del_item_lines(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
6552     SELECT lines.event_class_mapping_id,
6553            lines.trx_id,
6554            lines.trx_line_id,
6555            lines.trx_level_type,
6556            tax.tax_regime_code,
6557            tax.tax_regime_id,
6558            tax.tax_provider_id,
6559            regimes.effective_from,
6560            regimes.effective_to
6561       FROM ZX_LINES_DET_FACTORS lines,
6562            ZX_LINES tax,
6563            ZX_REGIMES_B regimes
6564      WHERE lines.application_id = p_event_class_rec.application_id
6565        AND lines.entity_code = p_event_class_rec.entity_code
6566        AND lines.event_class_code = p_event_class_rec.event_class_code
6567        AND lines.trx_id = p_event_class_rec.trx_id
6568        AND lines.application_id = tax.application_id
6569        AND lines.entity_code = tax.entity_code
6570        AND lines.event_class_code = tax.event_class_code
6571        AND lines.trx_id = tax.trx_id
6572        AND lines.line_level_action = 'DELETE'
6573        AND tax.tax_provider_id is not null
6574        AND regimes.tax_regime_id = tax.tax_regime_id;
6575 
6576     ptnr_del_lines c_regimes_for_del_item_lines%ROWTYPE;
6577 
6578   BEGIN
6579      IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
6580        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
6581      END IF;
6582 
6583      x_return_status := FND_API.G_RET_STS_SUCCESS;
6584 
6585 /*
6586     The global variable ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW is usually populated while determining the service provider.
6587     But, when only DELETE action is taken on item line, ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW is not populated
6588     as program execution does not flow thru regime and provider determination logic.
6589 */
6590 
6591      ZX_TAX_PARTNER_PKG.G_BUSINESS_FLOW   := p_event_class_rec.prod_family_grp_code;
6592 
6593      FOR ptnr_del_lines IN c_regimes_for_del_item_lines(p_event_class_rec)
6594      LOOP
6595         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6596            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6597                'ptnr_del_lines.event_class_mapping_id = ' || ptnr_del_lines.event_class_mapping_id);
6598            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6599                'ptnr_del_lines.trx_id = ' || ptnr_del_lines.trx_id);
6600            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6601                'ptnr_del_lines.trx_line_id = ' || ptnr_del_lines.trx_line_id);
6602            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6603                'ptnr_del_lines.trx_level_type = ' || ptnr_del_lines.trx_level_type);
6604            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6605                'ptnr_del_lines.tax_regime_id = ' || ptnr_del_lines.tax_regime_id);
6606         END IF;
6607 
6608         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(ptnr_del_lines.tax_regime_id) THEN
6609            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_regime_id := ptnr_del_lines.tax_regime_id;
6610            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_regime_code := ptnr_del_lines.tax_regime_code;
6611            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).tax_provider_id := ptnr_del_lines.tax_provider_id;
6612 /* Bug 5557565 */
6613            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).effective_from := ptnr_del_lines.effective_from;
6614            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).effective_to := ptnr_del_lines.effective_to;
6615            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_del_lines.tax_regime_id).partner_processing_flag := 'C';
6616            ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
6617         END IF;
6618 
6619        --------------------------------------------------------------------------------------
6620        -- Need to insert records in table ZX_PTNR_LOCATION_INFO_GT into the global temp table
6621        --------------------------------------------------------------------------------------
6622         BEGIN
6623            SELECT 'Y'
6624              INTO l_record_exists
6625              FROM ZX_PTNR_LOCATION_INFO_GT zpli
6626             WHERE zpli.event_class_mapping_id = ptnr_del_lines.event_class_mapping_id
6627              AND  zpli.trx_id                 = ptnr_del_lines.trx_id
6628              AND  zpli.trx_line_id            = ptnr_del_lines.trx_line_id
6629              AND  zpli.trx_level_type         = ptnr_del_lines.trx_level_type;
6630         EXCEPTION
6631            WHEN NO_DATA_FOUND THEN
6632               INSERT INTO ZX_PTNR_LOCATION_INFO_GT
6633                        (EVENT_CLASS_MAPPING_ID,
6634                         TRX_ID,
6635                         TRX_LINE_ID,
6636                         TRX_LEVEL_TYPE
6637                         )
6638                         VALUES
6639                         (ptnr_del_lines.event_class_mapping_id,
6640                          ptnr_del_lines.trx_id,
6641                          ptnr_del_lines.trx_line_id,
6642                          ptnr_del_lines.trx_level_type
6643                         );
6644            WHEN OTHERS THEN
6645               l_record_exists := 'E';
6646         END;
6647         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6648            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6649                'l_record_exists = ' || l_record_exists);
6650         END IF;
6651 
6652      END LOOP;
6653 
6654      IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
6655        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
6656      END IF;
6657 
6658      EXCEPTION
6659         WHEN OTHERS THEN
6660            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6661            IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6662               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6663            END IF;
6664   END GET_REGIMES_FOR_DEL_ITEM_LINES;
6665 
6666 -----------------------------------------------------------------------
6667 --  PRIVATE PROCEDURE
6668 --  partner_inclusive_tax_override
6669 --
6670 --  DESCRIPTION
6671 --  Performs special processing when the inclusive tax is overridden.
6672 --
6673 --  CALLED BY
6674 --    override_tax_lines
6675 -----------------------------------------------------------------------
6676 PROCEDURE partner_inclusive_tax_override(
6677     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type,
6678     x_return_status    OUT NOCOPY VARCHAR2
6679   )
6680   IS
6681     l_api_name           CONSTANT VARCHAR2(30):= 'PARTNER_INCLUSIVE_TAX_OVERRIDE';
6682     l_return_status      VARCHAR2(30);
6683     l_tax_provider_id    NUMBER;
6684     l_context_info_rec   ZX_API_PUB.context_info_rec_type;
6685     l_incl_override      VARCHAR2(1);
6686 
6687     --Fetch the transaction lines from ZX_LINES_DET_FACTORS for which inclusive tax line, calculated by Oracle E-Business Tax,
6688     --has been overridden and partner has been involved in the calculation of taxes of at least one regime and the transaction line
6689     --amount includes the inclusive tax amount.The transaction line containing inclusive taxes can be identified by the flag
6690     --INCLUSIVE_TAX_OVERRIDE_FLAG = 'Y' in ZX_LINES_DET_FACTORS.
6691 
6692     CURSOR ptnr_incl_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
6693     SELECT distinct
6694            tax.tax_regime_code,
6695            tax.tax_regime_id,
6696            tax.tax_provider_id,
6697            regimes.effective_from,
6698            regimes.effective_to
6699       FROM ZX_LINES_DET_FACTORS lines,
6700            ZX_LINES tax,
6701            ZX_REGIMES_B regimes
6702      WHERE lines.application_id = p_event_class_rec.application_id
6703        AND lines.entity_code = p_event_class_rec.entity_code
6704        AND lines.event_class_code = p_event_class_rec.event_class_code
6705        AND lines.trx_id = p_event_class_rec.trx_id
6706        AND lines.application_id = tax.application_id
6707        AND lines.entity_code = tax.entity_code
6708        AND lines.event_class_code = tax.event_class_code
6709        AND lines.trx_id = tax.trx_id
6710        AND lines.inclusive_tax_override_flag = 'Y'
6711        AND tax.tax_provider_id is not null
6712        AND regimes.tax_regime_id = tax.tax_regime_id;
6713 
6714     ptnr_incl_lines ptnr_incl_lines_csr%ROWTYPE;
6715 
6716   BEGIN
6717     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6718       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
6719     END IF;
6720 
6721     x_return_status := FND_API.G_RET_STS_SUCCESS;
6722 
6723 
6724    /***********************PARTNER CODE START***************************/
6725    IF p_event_class_rec.record_flag ='Y' AND
6726       p_event_class_rec.record_for_partners_flag = 'Y' THEN
6727       l_incl_override := 'N';
6728       FOR ptnr_incl_lines IN ptnr_incl_lines_csr(p_event_class_rec)
6729       LOOP
6730         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(ptnr_incl_lines.tax_regime_id) THEN
6731           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_regime_id := ptnr_incl_lines.tax_regime_id;
6732           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_regime_code := ptnr_incl_lines.tax_regime_code;
6733           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).tax_provider_id := ptnr_incl_lines.tax_provider_id;
6734 /* Bug 5557565 */
6735           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).effective_from := ptnr_incl_lines.effective_from;
6736           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).effective_to := ptnr_incl_lines.effective_to;
6737           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(ptnr_incl_lines.tax_regime_id).partner_processing_flag := 'C';
6738         END IF;
6739         l_incl_override := 'Y';
6740       END LOOP;
6741 
6742       IF l_incl_override = 'N' THEN
6743          RETURN;
6744       END IF;
6745 
6746       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)
6747       LOOP
6748         IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
6749             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
6750 
6751             IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' THEN
6752        	      --Call pre-processing before sending to partner
6753               ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
6754                                                          ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
6755     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
6756     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
6757                                                          p_event_class_rec,
6758                                                          l_return_status
6759     	                                                );
6760 
6761               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6762                 x_return_status := l_return_status;
6763                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6764                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6765                      ' RETURN_STATUS = ' || x_return_status);
6766                 END IF;
6767                 RETURN;
6768               END IF;
6769             END IF; --partner processing flag is 'C'
6770 
6771             --Call partner to derive external attributes
6772             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
6773                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
6774                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
6775                                                   'DERIVE_HDR_ATTRS',
6776                                                   l_return_status
6777                                                  );
6778             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6779               x_return_status := l_return_status;
6780               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6781                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6782                      ' RETURN_STATUS = ' || x_return_status);
6783               END IF;
6784               RETURN;
6785             END IF;
6786 
6787             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
6788                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
6789                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
6790                                                   'DERIVE_LINE_ATTRS',
6791                                                   l_return_status
6792                                                  );
6793 
6794             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6795               x_return_status := l_return_status;
6796               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6797                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6798                      ' RETURN_STATUS = ' || x_return_status);
6799               END IF;
6800               RETURN;
6801             END IF;
6802 
6803             IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' THEN
6804               /*Check if provider called for first time in UPDATE mode for the document*/
6805               BEGIN
6806                 IF p_event_class_rec.event_type_code = 'UPDATE' THEN
6807                   SELECT tax_provider_id
6808                   INTO l_tax_provider_id
6809                   FROM ZX_TRX_LINE_APP_REGIMES
6810                   WHERE application_id   = p_event_class_rec.application_id
6811                     AND entity_code      = p_event_class_rec.entity_code
6812                     AND event_class_code = p_event_class_rec.event_class_code
6813                     AND trx_id           = p_event_class_rec.trx_id
6814                     AND tax_provider_id  = ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id
6815                     AND rownum =1 ;
6816                 END IF;
6817 
6818               EXCEPTION
6819                 WHEN NO_DATA_FOUND THEN
6820                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag := 'F';
6821               END;
6822 
6823               --Call Partner for calculate tax
6824               ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
6825                                                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
6826                                                        'CALCULATE_TAX',
6827                                                        p_event_class_rec,
6828                                                        l_return_status
6829                                                        );
6830 
6831               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6832                 x_return_status := l_return_status;
6833                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6834                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6835                      ' RETURN_STATUS = ' || x_return_status);
6836                 END IF;
6837                 RETURN;
6838               END IF;
6839 
6840               --Call  post-processing after partner has calculated the tax
6841               ZX_TPI_SERVICES_PKG.ptnr_post_processing_calc_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
6842                                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
6843                                                                 p_event_class_rec,
6844                                                                 l_return_status
6845                                                                 );
6846 
6847               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6848                 x_return_status := l_return_status;
6849                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6850                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
6851                      ' RETURN_STATUS = ' || x_return_status);
6852                 END IF;
6853                 RETURN;
6854               END IF;
6855           END IF; --partner processing flag is 'C'
6856         END IF;   --tax_provider_id is not null
6857       END LOOP;
6858     END IF;  --recording
6859 
6860     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6861       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
6862         G_PKG_NAME ||': '||l_api_name||'()-'||
6863         ', RETURN_STATUS = ' || x_return_status);
6864     END IF;
6865 
6866  EXCEPTION
6867    WHEN OTHERS THEN
6868      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6869      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
6870         FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
6871      END IF;
6872 END  partner_inclusive_tax_override;
6873    /***********************PARTNER CODE END***************************/
6874 
6875 /* Bug 5013598 */
6876 -----------------------------------------------------------------------
6877 --  PRIVATE PROCEDURE
6878 --  derive_poo_parameters
6879 --
6880 --  DESCRIPTION
6881 --  Derives poo party id and poo location id if not passed by O2C products
6882 --
6883 --  This code needs to be removed once all O2C products derive
6884 --  poo party id/location id and pass it to eBTax.
6885 --
6886 --  CALLED BY
6887 --    derive_internal_parameters
6888 -----------------------------------------------------------------------
6889 PROCEDURE derive_poo_parameters(
6890     x_return_status    OUT NOCOPY VARCHAR2,
6891     p_trx_line_index   IN         BINARY_INTEGER,
6892     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
6893   )
6894   IS
6895     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_POO_PARAMETERS';
6896     l_return_status    VARCHAR2(30);
6897     l_person_id        NUMBER;
6898     l_salesrep_id      NUMBER;
6899     l_source_id        NUMBER;
6900     l_source_name      VARCHAR2(08);
6901     l_resource_id      NUMBER;
6902     l_trx_date         DATE;
6903     l_poo_index        VARCHAR2(300);
6904 --  l_partytype        VARCHAR2(100);
6905 --  l_context_info_rec ZX_API_PUB.context_info_rec_type;
6906 
6907   BEGIN
6908     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
6909       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
6910     END IF;
6911 
6912     x_return_status := FND_API.G_RET_STS_SUCCESS;
6913 
6914     IF p_event_class_rec.prod_family_grp_code = 'O2C' AND
6915        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) IS NULL THEN
6916        IF p_event_class_rec.application_id = 222 THEN
6917           l_source_name := 'SALESREP';
6918           BEGIN
6919              SELECT trx.primary_salesrep_id
6920                INTO l_source_id
6921                FROM ra_customer_trx_all trx
6922               WHERE trx.customer_trx_id = p_event_class_rec.trx_id;
6923           EXCEPTION
6924              WHEN OTHERS THEN
6925                   l_source_id := NULL;
6926           END;
6927        ELSIF p_event_class_rec.application_id = 660 THEN
6928           l_source_name := 'SALESREP';
6929           BEGIN
6930              SELECT trx.salesrep_id
6931                INTO l_source_id
6932                FROM oe_order_lines_all trx
6933               WHERE trx.header_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index)
6934                 AND trx.line_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index);
6935           EXCEPTION
6936              WHEN OTHERS THEN
6937                   l_source_id := NULL;
6938           END;
6939        ELSIF p_event_class_rec.application_id = 697 THEN
6940           l_source_name := 'RESOURCE';
6941           BEGIN
6942              SELECT resource_id
6943                INTO l_source_id
6944                FROM aso_quote_headers_all trx
6945               WHERE trx.quote_header_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index);
6946           EXCEPTION
6947              WHEN OTHERS THEN
6948                     l_source_id := null;
6949           END;
6950        END IF;
6951 
6952        IF l_source_id IS NOT NULL THEN
6953           l_poo_index := l_source_name||'|$|'||l_source_id||'|$|'||l_trx_date;
6954           IF poo_info_tbl.EXISTS(l_poo_index) THEN
6955              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
6956                 poo_info_tbl(l_poo_index).poo_party_id;
6957              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
6958                 poo_info_tbl(l_poo_index).poo_location_id;
6959           ELSE
6960              l_trx_date := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index);
6961              IF l_source_name = 'SALESREP' THEN
6962                 BEGIN
6963                    SELECT per.organization_id
6964                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index)
6965                      FROM ra_salesreps_all      sales,
6966                           per_all_assignments_f per
6967                     WHERE sales.salesrep_id         = l_source_id
6968                       AND per.person_id             = sales.person_id
6969                       AND nvl(per.primary_flag,'Y') = 'Y'
6970                       AND l_trx_date BETWEEN nvl(per.effective_start_date,l_trx_date)
6971                                          AND nvl(per.effective_end_date,l_trx_date)
6972                       AND per.assignment_type = 'E';
6973                 EXCEPTION
6974                    WHEN OTHERS THEN
6975                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) := NULL;
6976                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
6977                 END;
6978              ELSE
6979                 BEGIN
6980                    SELECT per.organization_id
6981                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index)
6982                      FROM jtf_rs_srp_vl sales,
6983                           per_all_assignments_f per
6984                     WHERE sales.resource_id         = l_source_id
6985                       AND per.person_id             = sales.person_id
6986                       AND nvl(per.primary_flag,'Y') = 'Y'
6987                       AND l_trx_date BETWEEN nvl(per.effective_start_date,l_trx_date)
6988                                          AND nvl(per.effective_end_date,l_trx_date);
6989                 EXCEPTION
6990                    WHEN OTHERS THEN
6991                         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) := NULL;
6992                         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
6993                 END;
6994              END IF;
6995              IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) IS NOT NULL THEN
6996                 BEGIN
6997                    SELECT hr.location_id
6998                      INTO ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index)
6999                      FROM hr_organization_units hr
7000                     WHERE hr.organization_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index);
7001                 EXCEPTION
7002                    WHEN OTHERS THEN
7003                           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) := NULL;
7004                 END;
7005              ELSE
7006                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
7007                    ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7008                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
7009                    ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7010              END IF;
7011              poo_info_tbl(l_poo_index).poo_party_id :=
7012                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index);
7013              poo_info_tbl(l_poo_index).poo_location_id :=
7014                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index);
7015           END IF;
7016        ELSE
7017           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) :=
7018              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7019           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) :=
7020              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7021        END IF;
7022 
7023     END IF;
7024 
7025     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7026       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
7027         G_PKG_NAME||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
7028     END IF;
7029 
7030     EXCEPTION
7031       WHEN OTHERS THEN
7032         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7033         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7034           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7035         END IF;
7036   END derive_poo_parameters;
7037 
7038 -----------------------------------------------------------------------
7039 --  PRIVATE PROCEDURE
7040 --  derive_poa_parameters
7041 --
7042 --  DESCRIPTION
7043 --  Derives poa party id and poa location id if not passed by O2C products
7044 --
7045 --  This code needs to be removed once all O2C products derive
7046 --  poa party id/location id and pass it to eBTax.
7047 --
7048 --  CALLED BY
7049 --    derive_internal_parameters
7050 -----------------------------------------------------------------------
7051 PROCEDURE derive_poa_parameters(
7052     x_return_status    OUT NOCOPY VARCHAR2,
7053     p_trx_line_index   IN         BINARY_INTEGER,
7054     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
7055   )
7056   IS
7057     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_POA_PARAMETERS';
7058     l_return_status    VARCHAR2(30);
7059 --  l_tax_prof_id      NUMBER;
7060 --  l_partytype        VARCHAR2(100);
7061 --  l_context_info_rec ZX_API_PUB.context_info_rec_type;
7062 
7063   BEGIN
7064     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7065       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7066     END IF;
7067 
7068     x_return_status := FND_API.G_RET_STS_SUCCESS;
7069 
7070     IF p_event_class_rec.prod_family_grp_code = 'O2C' AND
7071        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) IS NULL THEN
7072           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) :=
7073              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
7074           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) :=
7075              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index);
7076     END IF;
7077 
7078     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7079       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
7080         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
7081     END IF;
7082 
7083     EXCEPTION
7084       WHEN OTHERS THEN
7085         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7086         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7087           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7088         END IF;
7089   END derive_poa_parameters;
7090 /* Bug 5013598 */
7091 
7092 -----------------------------------------------------------------------
7093 --  PRIVATE PROCEDURE
7094 --  derive_internal_parameters
7095 --
7096 --  DESCRIPTION
7097 --  Derives ptp ids and other internal eBTax parameters
7098 --
7099 --  CALLED BY
7100 --    calculate_tax
7101 --    import
7102 --    insupd_line_det_factors
7103 -----------------------------------------------------------------------
7104 PROCEDURE derive_internal_parameters(
7105     x_return_status    OUT NOCOPY VARCHAR2,
7106     p_trx_line_index   IN         BINARY_INTEGER,
7107     p_event_class_rec  IN         ZX_API_PUB.event_class_rec_type
7108   )
7109   IS
7110     l_api_name         CONSTANT VARCHAR2(30):= 'DERIVE_INTERNAL_PARAMETERS';
7111     l_return_status    VARCHAR2(30);
7112     l_tax_prof_id      NUMBER;
7113     l_partytype        VARCHAR2(100);
7114     l_context_info_rec ZX_API_PUB.context_info_rec_type;
7115 
7116   BEGIN
7117     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7118       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7119     END IF;
7120 
7121     x_return_status := FND_API.G_RET_STS_SUCCESS;
7122 
7123     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.first_pty_org_id(p_trx_line_index) := p_event_class_rec.first_pty_org_id;
7124     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_class_code(p_trx_line_index) := p_event_class_rec.tax_event_class_code;
7125     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_type_code(p_trx_line_index):= p_event_class_rec.tax_event_type_code;
7126     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_event_status(p_trx_line_index):= p_event_class_rec.doc_status_code;
7127 
7128     /* ---------------------------------------------------------------------------------+
7129      | We need to skip the logic to get ptps if they already exist in trx_line_dist_tbl.|
7130      | This is the case when import is called after call to validate_and_default routine|
7131      | which derives and defaults the values back to GT and also in the case when       |
7132      | calculate tax is called by products uptaking the determining factors UI where the|
7133      | transaction line information is alredy present in zx_lines_det_factors and       |
7134      | fetched into trx_line_dist_tbl                                                   |
7135      +---------------------------------------------------------------------------------*/
7136     /* Skip if the ship_to_party_tax_prof_id is already populated*/
7137     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(p_trx_line_index) is NULL THEN
7138       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index) is NOT NULL THEN
7139         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NULL)
7140           OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NOT NULL)
7141           AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index) <>
7142               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index)))) THEN
7143           --Get PTP Id for Ship To Party Id
7144           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_to_party_type;
7145           get_tax_profile_ids(l_return_status,
7146                               l_partytype,
7147                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index),
7148                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(p_trx_line_index),
7149                               NULL,
7150                               l_tax_prof_id
7151                               );
7152 
7153           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7154              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7155                  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 : '||
7156 				                                             to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_id(p_trx_line_index)));
7157              END IF;
7158              RAISE FND_API.G_EXC_ERROR;
7159           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7160             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7161             RETURN;
7162           ELSE /* Return Status is SUCCESS */
7163             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7164           END IF;
7165         ELSE /* Ship To Party is same as Rounding Ship To Party */
7166           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;
7167         END IF;
7168       END IF; /* Completed Condition Check for Ship To Party */
7169     END IF; /*Condition check to see if Ship to party tax profile id is already populated*/
7170 
7171     /* Skip if the ptp of HQ establishment for LE is already populated*/
7172     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.hq_estb_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7173       --Get PTP Id for Legal Entity Pty Tax Prof Id
7174       --Bug 3500941 - return the ptp of HQ establishment for LE
7175       ZX_TCM_PTP_PKG.get_ptp_hq(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.legal_entity_id(p_trx_line_index) ,
7176                                 l_tax_prof_id,
7177                                 l_return_status
7178                                 );
7179 
7180       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7181         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7182            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 : '||
7183 		                                                       to_char(zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(p_trx_line_index)));
7184         END IF;
7185         RAISE FND_API.G_EXC_ERROR;
7186       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7187         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7188         RETURN;
7189       ELSE /* Return Status is success */
7190         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.hq_estb_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7191       END IF;
7192     END IF; /*Condition check to see if ptp for HQ establishment for LE is already populated*/
7193 
7194     /* Skip if the ship_from_party_tax_prof_id is already populated*/
7195     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7196       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index) is NOT NULL THEN
7197         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NULL)
7198           OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NOT NULL)
7199           AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index)
7200           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index)))) THEN
7201           --Get PTP Id for Ship From Party Id
7202           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_from_party_type;
7203           get_tax_profile_ids(l_return_status,
7204                               l_partytype,
7205                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index) ,
7206                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(p_trx_line_index) ,
7207                               NULL,
7208                               l_tax_prof_id
7209                               );
7210 
7211           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7212              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7213                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: '||
7214 			                                                   to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_id(p_trx_line_index)));
7215              END IF;
7216              RAISE FND_API.G_EXC_ERROR;
7217           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7218             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7219             RETURN;
7220           ELSE /* Return Status is success */
7221             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7222           END IF;
7223         ELSE /* Ship from party is same as rounding ship from party */
7224           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;
7225         END IF;
7226       END IF; /* Completed condition check for ship from party */
7227     END IF; /*Condition check to see if ship_from_party_tax_prof_id is already populated*/
7228 
7229     /* Skip if the poa_party_tax_prof_id is already populated*/
7230     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7231 /* Bug 5013598 */
7232       derive_poa_parameters(l_return_status,
7233                             p_trx_line_index,
7234                             p_event_class_rec
7235                            );
7236 /* Bug 5013598 */
7237       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) is NOT NULL THEN
7238         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7239           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)));
7240         END IF;
7241 
7242     /* -- bug 5077171 don't derive PTP_ID for POO and POA Parties
7243         l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.poa_party_type;
7244          get_tax_profile_ids(l_return_status,
7245                             l_partytype ,
7246                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_id(p_trx_line_index) ,
7247                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(p_trx_line_index) ,
7248                             NULL,
7249                             l_tax_prof_id
7250                             );
7251 
7252         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7253           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7254             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: '||
7255    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poa_party_id(p_trx_line_index)));
7256           END IF;
7257           RAISE FND_API.G_EXC_ERROR;
7258         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7259           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7260           RETURN;
7261         ELSE -- Return status is success
7262           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7263         END IF;
7264      */
7265 
7266       END IF; /* Completed condition check for poa party */
7267     END IF; /*Condition check to see if poa_party_tax_prof_id is already populated*/
7268 
7269     /* Skip if the poo_party_tax_prof_id is already populated*/
7270     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7271 /* Bug 5013598 */
7272       derive_poo_parameters(l_return_status,
7273                             p_trx_line_index,
7274                             p_event_class_rec
7275                            );
7276 /* Bug 5013598 */
7277       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) is NOT NULL THEN
7278         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7279           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)));
7280         END IF;
7281 
7282     /* -- bug 5077171 don't derive PTP_ID for POO and POA Parties
7283         l_partytype := zx_valid_init_params_pkg.source_rec.poo_party_type;
7284         get_tax_profile_ids(l_return_status,
7285                             l_partytype,
7286                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_id(p_trx_line_index) ,
7287                             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(p_trx_line_index) ,
7288                             NULL,
7289                             l_tax_prof_id
7290                            );
7291 
7292         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7293            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7294              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: '||
7295    	                                                                 to_char(zx_global_structures_pkg.trx_line_dist_tbl.poo_party_id(p_trx_line_index)));
7296            END IF;
7297            RAISE FND_API.G_EXC_ERROR;
7298         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7299           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7300           RETURN;
7301         ELSE -- Return status is success
7302           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7303         END IF;
7304      */
7305 
7306       END IF; /* Completed condition check for poo party */
7307     END IF;/*Condition check to see if poo_party_tax_prof_id is already populated*/
7308 
7309     /* Skip if the poo_party_tax_prof_id is already populated*/
7310     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7311       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index) is NOT NULL THEN
7312         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NULL)
7313         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NOT NULL)
7314         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index)
7315          <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index)))) THEN
7316           --Get PTP Id for Bill To Party Id
7317           l_partytype := zx_valid_init_params_pkg.source_rec.bill_to_party_type;
7318           get_tax_profile_ids(l_return_status,
7319                               l_partytype,
7320                               zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index),
7321                               zx_global_structures_pkg.trx_line_dist_tbl.bill_to_location_id(p_trx_line_index),
7322                               NULL,
7323                               l_tax_prof_id
7324                              );
7325 
7326           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7327              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7328                 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: '||
7329    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_id(p_trx_line_index)));
7330              END IF;
7331              RAISE FND_API.G_EXC_ERROR;
7332           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7333             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7334             RETURN;
7335           ELSE /* Return status is success */
7336             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7337           END IF;
7338         ELSE /* Bill to party is same as rounding bill to party */
7339           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;
7340         END IF;
7341       END IF; /* Completed condition check for bill to party */
7342     END IF;/*Condition check to see if bill_to_party_tax_prof_id is already populated*/
7343 
7344     /* Skip if the bill_from_party_tax_prof_id is already populated*/
7345     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(p_trx_line_index) is NULL  THEN
7346       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index) is NOT NULL THEN
7347         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NULL)
7348         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NOT NULL)
7349         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index)
7350           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index)))) THEN
7351           --Get PTP Id for Bill From Party Id
7352           l_partytype := zx_valid_init_params_pkg.source_rec.bill_from_party_type;
7353           get_tax_profile_ids(l_return_status,
7354                               l_partytype,
7355                               zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index) ,
7356                               zx_global_structures_pkg.trx_line_dist_tbl.bill_from_location_id(p_trx_line_index) ,
7357                               NULL,
7358                               l_tax_prof_id
7359                              );
7360 
7361           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7362              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7363                 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: '||
7364    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_id(p_trx_line_index)));
7365              END IF;
7366              RAISE FND_API.G_EXC_ERROR;
7367           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7368             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7369             RETURN;
7370           ELSE /* Return status is success */
7371             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7372           END IF;
7373         ELSE /* Bill from party is same as rounding bill from party */
7374           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;
7375         END IF;
7376       END IF; /* Completed condition check for bill from party */
7377     END IF;/*Condition check to see if bill_from_party_tax_prof_id is already populated*/
7378 
7379     /* Skip if the ship_to_site_tax_prof_id is already populated*/
7380     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7381       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index) is NOT NULL THEN
7382         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NULL)
7383         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NOT NULL)
7384         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index)
7385           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index)))) THEN
7386           --Get PTP Id for Ship To Party Site Id
7387           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.ship_to_pty_site_type;
7388           get_tax_profile_ids(l_return_status,
7389                               l_partytype,
7390                               NULL,
7391                               NULL,
7392                               zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index) ,
7393                               l_tax_prof_id
7394                               );
7395 
7396           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7397              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7398                 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: '||
7399    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_to_party_site_id(p_trx_line_index)));
7400              END IF;
7401              RAISE FND_API.G_EXC_ERROR;
7402           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7403             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7404             RETURN;
7405           ELSE /* Return status is success */
7406             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7407           END IF;
7408         ELSE /* Ship to site is same as rounding ship to site */
7409           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;
7410         END IF;
7411       END IF; /* Completed condition check for ship to party site */
7412     END IF;/*Condition check to see if ship_to_site_tax_prof_id is already populated*/
7413 
7414     /* Skip if the ship_from_site_tax_prof_id is already populated*/
7415     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7416       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index) is NOT NULL THEN
7417         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NULL)
7418         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NOT NULL)
7419         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index)
7420           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index)))) THEN
7421           --Get PTP Id for Ship From Party Site Id
7422           l_partytype := zx_valid_init_params_pkg.source_rec.ship_from_pty_site_type;
7423           get_tax_profile_ids(l_return_status,
7424                               l_partytype,
7425                               NULL,
7426                               NULL,
7427                               zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index),
7428                               l_tax_prof_id
7429                               );
7430 
7431           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7432             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7433               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: '||
7434    	                                                                  to_char(zx_global_structures_pkg.trx_line_dist_tbl.ship_from_party_site_id(p_trx_line_index)));
7435             END IF;
7436             RAISE FND_API.G_EXC_ERROR;
7437           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7438             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7439             RETURN;
7440           ELSE /* Return status is success */
7441             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7442           END IF;
7443         ELSE /* Ship from site is same as rounding ship from site */
7444           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;
7445         END IF;
7446       END IF; /* Completed condition check for ship from site*/
7447     END IF;/*Condition check to see if ship_from_site_tax_prof_id is already populated*/
7448 
7449     /* Skip if the poa_site_tax_prof_id is already populated*/
7450     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7451       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index) is NOT NULL THEN
7452         --Get PTP Id for POA Party Site Id
7453         l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.poa_pty_site_type;
7454         get_tax_profile_ids(l_return_status,
7455                             l_partytype,
7456                             NULL,
7457                             NULL,
7458                             zx_global_structures_pkg.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index),
7459                             l_tax_prof_id
7460                            );
7461 
7462         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7463           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7464             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: '||
7465    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poa_party_site_id(p_trx_line_index)));
7466           END IF;
7467           RAISE FND_API.G_EXC_ERROR;
7468         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7469           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7470           RETURN;
7471         ELSE /* Return status is success */
7472           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7473         END IF;
7474       END IF; /* Completed condition check for poa party site */
7475     END IF;/*Condition check to see if poa_site_tax_prof_id is already populated*/
7476 
7477     /* Skip if the poo_site_tax_prof_id is already populated*/
7478     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7479       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index) is NOT NULL THEN
7480         --Get PTP Id for POO Party Site Id
7481         l_partytype := zx_valid_init_params_pkg.source_rec.poo_pty_site_type;
7482         get_tax_profile_ids(l_return_status,
7483                             l_partytype,
7484                             NULL,
7485                             NULL,
7486                             zx_global_structures_pkg.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index) ,
7487                             l_tax_prof_id
7488                             );
7489 
7490         IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7491           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7492             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: '||
7493    	                                                                to_char(zx_global_structures_pkg.trx_line_dist_tbl.poo_party_site_id(p_trx_line_index)));
7494           END IF;
7495           RAISE FND_API.G_EXC_ERROR;
7496         ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7497           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7498           RETURN;
7499         ELSE /* Return status is success */
7500           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7501         END IF;
7502       END IF; /* Completed condition check for poo party site */
7503     END IF;/*Condition check to see if poo_site_tax_prof_id is already populated*/
7504 
7505     /* Skip if the bill_to_site_tax_prof_id is already populated*/
7506     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7507       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index) is NOT NULL THEN
7508       IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NULL)
7509       OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NOT NULL)
7510        AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index)
7511          <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index)))) THEN
7512           --Get PTP Id for Bill To Party Site Id
7513           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.bill_to_pty_site_type;
7514           get_tax_profile_ids(l_return_status,
7515                               l_partytype,
7516                               NULL,
7517                               NULL,
7518                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index),
7519                               l_tax_prof_id
7520                               );
7521 
7522           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7523              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7524                 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: '||
7525    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_to_party_site_id(p_trx_line_index)));
7526              END IF;
7527              RAISE FND_API.G_EXC_ERROR;
7528           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7529             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7530             RETURN;
7531           ELSE /* Return status is success */
7532             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7533           END IF;
7534         ELSE  /* Bill to site is same as rounding bill to site */
7535           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;
7536         END IF;
7537       END IF; /* Completed condition check for bill to site */
7538     END IF;/*Condition check to see if bill_to_party_site_id is already populated*/
7539 
7540     /* Skip if the bill_from_site_tax_prof_id is already populated*/
7541     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(p_trx_line_index) is NULL  THEN
7542       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index) is NOT NULL THEN
7543         IF ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NULL)
7544         OR ((ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NOT NULL)
7545         AND (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index)
7546           <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index)))) THEN
7547           --Get PTP Id for Bill From Party Site Id
7548           l_partytype := ZX_VALID_INIT_PARAMS_PKG.source_rec.bill_from_pty_site_type;
7549           get_tax_profile_ids(l_return_status,
7550                               l_partytype,
7551                               NULL,
7552                               NULL,
7553                               ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index),
7554                               l_tax_prof_id
7555                               );
7556 
7557           IF l_return_status = FND_API.G_RET_STS_ERROR THEN
7558              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7559                 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: '||
7560    	                                                                    to_char(zx_global_structures_pkg.trx_line_dist_tbl.bill_from_party_site_id(p_trx_line_index)));
7561              END IF;
7562              RAISE FND_API.G_EXC_ERROR;
7563           ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7564             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7565             RETURN;
7566           ELSE /* Return status is success */
7567             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(p_trx_line_index) := l_tax_prof_id;
7568           END IF;
7569         ELSE /* Bill from site is same as rounding bill from site */
7570           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;
7571         END IF;
7572       END IF; /* Completed condition check for rounding bill from site */
7573     END IF;/*Condition check to see if bill_from_site_tax_prof_id is already populated*/
7574 
7575     --Copy rounding party and site PTP values from event class rec to TRX_LINE_DIST_TBL
7576     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
7577       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_to_party_id(p_trx_line_index) is NOT NULL THEN
7578          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_prof_id(p_trx_line_index) :=
7579                                                        p_event_class_rec.rdng_ship_to_pty_tx_prof_id;
7580       END IF; /* Completed condition check for Rounding ship to party site */
7581     END IF; /* Copy only if rdng_ship_to_pty_tx_prof_id is null*/
7582 
7583     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
7584       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_ship_from_party_id(p_trx_line_index) is NOT NULL THEN
7585         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_prof_id(p_trx_line_index) :=
7586                                                        p_event_class_rec.rdng_ship_from_pty_tx_prof_id;
7587       END IF; /* Completed condition check for rounding ship from party site */
7588     END IF; /* Copy only if rdng_ship_from_pty_tx_prof_id is null*/
7589 
7590     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
7591       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_to_party_id(p_trx_line_index) is NOT NULL THEN
7592         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_prof_id(p_trx_line_index) :=
7593                                                        p_event_class_rec.rdng_bill_to_pty_tx_prof_id;
7594       END IF; /* Completed condition check for rounding bill to party */
7595     END IF; /* Copy only if rdng_bill_to_pty_tx_prof_id is null*/
7596 
7597     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_prof_id(p_trx_line_index) is NULL  THEN
7598       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rounding_bill_from_party_id(p_trx_line_index) is NOT NULL THEN
7599         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_prof_id(p_trx_line_index) :=
7600                                                        p_event_class_rec.rdng_bill_from_pty_tx_prof_id;
7601       END IF; /* Completed condition check for rounding bill from party */
7602     END IF; /* Copy only if rdng_bill_from_pty_tx_prof_id is null*/
7603 
7604     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
7605       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_to_party_site_id(p_trx_line_index) is NOT NULL THEN
7606         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_to_pty_tx_p_st_id(p_trx_line_index) :=
7607                                                        p_event_class_rec.rdng_ship_to_pty_tx_p_st_id;
7608       END IF; /* Completed condition check for rounding ship to party site */
7609     END IF; /* Copy only if rdng_ship_to_pty_tx_p_st_id is null*/
7610 
7611     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
7612       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_ship_from_party_site_id(p_trx_line_index) is NOT NULL THEN
7613         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_ship_from_pty_tx_p_st_id(p_trx_line_index) :=
7614                                                        p_event_class_rec.rdng_ship_from_pty_tx_p_st_id;
7615       END IF; /* Completed condition check for rounding ship from party site */
7616     END IF; /* Copy only if rdng_ship_from_pty_tx_p_st_id is null*/
7617 
7618     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
7619       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_to_party_site_id(p_trx_line_index) is NOT NULL THEN
7620         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_to_pty_tx_p_st_id(p_trx_line_index) :=
7621                                                         p_event_class_rec.rdng_bill_to_pty_tx_p_st_id;
7622       END IF; /* Completed condition check for rounding bill to party site */
7623     END IF; /* Copy only if rdng_bill_to_pty_tx_p_st_id is null*/
7624 
7625     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_p_st_id(p_trx_line_index) is NULL  THEN
7626       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rndg_bill_from_party_site_id(p_trx_line_index) is NOT NULL THEN
7627         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.rdng_bill_from_pty_tx_p_st_id(p_trx_line_index) :=
7628                                                         p_event_class_rec.rdng_bill_from_pty_tx_p_st_id;
7629       END IF; /* Completed condition check for rounding bill from party site */
7630     END IF; /* Copy only if rdng_bill_from_pty_tx_p_st_id is null*/
7631 
7632     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index) is NOT NULL
7633        AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) is NOT NULL
7634        AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_code(p_trx_line_index) is NULL THEN
7635          BEGIN
7636             SELECT  segment1
7637               INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_code(p_trx_line_index)
7638               FROM  MTL_SYSTEM_ITEMS
7639               WHERE inventory_item_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index)
7640                 AND organization_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index);
7641          EXCEPTION WHEN OTHERS THEN
7642              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7643                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Error: Unable to get the product code for inventory_item_id: '||
7644    	                                                                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index));
7645              END IF;
7646              RAISE FND_API.G_EXC_ERROR;
7647          END;
7648      END IF;
7649     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7650       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||', RETURN_STATUS = ' || x_return_status);
7651     END IF;
7652 
7653     EXCEPTION
7654       WHEN FND_API.G_EXC_ERROR THEN
7655         x_return_status := FND_API.G_RET_STS_ERROR ;
7656         l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index);
7657         l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index);
7658         l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index);
7659         l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index);
7660         l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index);
7661         l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index);
7662         ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
7663       WHEN OTHERS THEN
7664         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7665         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
7666           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
7667         END IF;
7668   END derive_internal_parameters;
7669 
7670 -----------------------------------------------------------------------
7671 --  PRIVATE PROCEDURE
7672 --  calculate_tax_pvt
7673 --
7674 --  DESCRIPTION
7675 --  This is a private calculate tax procedure created to deal with the
7676 --  complexities that arose on creating the gtt and pls version for calculate_tax
7677 --  In the GTT case, we need to loop over the cursor lines and fetch into the
7678 --  trx_line_dist_tbl table. In the PLS case we need to work on the trx_line_dist
7679 --  tbl directly as populated by the products
7680 --
7681 --  CALLED BY
7682 --    calculate_tax
7683 -----------------------------------------------------------------------
7684 PROCEDURE calculate_tax_pvt
7685   (p_event_class_rec IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
7686    p_trx_line_index  IN             BINARY_INTEGER,
7687    x_return_status   OUT    NOCOPY  VARCHAR2
7688   ) IS
7689 
7690   l_api_name                 CONSTANT VARCHAR2(30):= 'CALCULATE_TAX_PVT';
7691   l_return_status                     VARCHAR2(1);
7692   l_detail_regime_index               NUMBER;
7693   l_provider_id                       NUMBER;
7694   l_prvdr_dtl_reg_index               VARCHAR2(100);
7695   l_context_info_rec                  ZX_API_PUB.context_info_rec_type;
7696   l_call_default_APIs                 BOOLEAN;
7697   i                                   NUMBER;
7698 BEGIN
7699   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
7700      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
7701    END IF;
7702 
7703    x_return_status := FND_API.G_RET_STS_SUCCESS ;
7704 
7705    --Bugfix 4420279 - Stamp line level action as CREATE in case of quote call
7706    IF nvl(p_event_class_rec.quote_flag,'N') = 'Y' THEN
7707      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(p_trx_line_index) := 'CREATE';
7708    END IF;
7709 
7710    /* Partner code - Update the zx_trx_line_app_regimes to indicate which transaction lines
7711       are being updated - this will ease out the setting of partner processing flag later*/
7712    IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
7713       IF p_event_class_rec.TAX_EVENT_TYPE_CODE ='UPDATE' THEN
7714          --Call zx_line_app_regimes table_handler for deleting the non-applicable regimes
7715          ZX_TPI_SERVICES_PKG.trx_line_app_regimes_tbl_hdl (p_event_class_rec   => p_event_class_rec,
7716                                                        p_event             => 'SET_FLAG',
7717                                                        p_tax_regime_code   => null,
7718                                                        p_provider_id       => null,
7719                                                        p_trx_line_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index),
7720                                                        p_trx_level_type    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index),
7721                                                        x_return_status     => l_return_status
7722                                                       );
7723 
7724          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7725             x_return_status := l_return_status;
7726             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7727                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7728                  ' RETURN_STATUS = ' || x_return_status);
7729             END IF;
7730             RETURN;
7731          END IF;
7732       END IF; --tax event type is UPDATE
7733    END IF; --zx_global_structures_pkg.g_ptnr_srvc_subscr_flag
7734 
7735 
7736   /* =======================================================================*
7737    |Bug 3975818 - If adjusted/applied_from/source information passed then    |
7738    | default from the line determining factors from these reference          |
7739    | documents else call TDS defaulting API to populate the global structures|
7740    * =======================================================================*/
7741      --Call wrapper to default the tax determining attributes
7742      l_call_default_APIs := decide_call_redefault_APIs (p_trx_line_index  => p_trx_line_index);
7743 
7744       IF l_call_default_APIs THEN
7745           default_tax_attrs_wrapper (p_trx_line_index  => p_trx_line_index,
7746                                      p_event_class_rec => p_event_class_rec,
7747                                      x_return_status   => l_return_status
7748                                     );
7749 
7750           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7751             x_return_status := l_return_status;
7752             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7753               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7754               ' RETURN_STATUS = ' || x_return_status);
7755             END IF;
7756             RETURN;
7757           END IF;
7758    END IF;
7759 
7760   /* ===================================================================*
7761    |Bug 3687807 - assign line_amt to assessable_value if null           |
7762    * ==================================================================*/
7763    IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index) is null THEN
7764       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index) :=
7765 	  		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index);
7766    END IF;
7767 
7768  /* ===============================================================================*
7769    |Initialize the global structures/global temp tables owned by TDM at line level |
7770    * =============================================================================*/
7771    --Call TDS Initialization routine
7772    ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec,
7773                                             'LINE',
7774                                             l_return_status
7775                                             );
7776 
7777    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7778      x_return_status := l_return_status;
7779      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7780          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7781          ' RETURN_STATUS = ' || x_return_status);
7782      END IF;
7783      RETURN;
7784    END IF;
7785 
7786    IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN --deriving of ptps already done in this case
7787      --Call Derive_internal_parameters
7788 
7789      derive_internal_parameters(l_return_status,
7790                                 p_trx_line_index,
7791                                 p_event_class_rec
7792                                 );
7793 
7794      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7795         x_return_status := l_return_status;
7796         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7797            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7798            ' RETURN_STATUS = ' || x_return_status);
7799         END IF;
7800         RETURN;
7801      END IF;
7802    END IF;
7803 
7804    BEGIN
7805    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7806        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))||
7807               ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index)||
7808               ', 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)||
7809               ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(p_trx_line_index))||
7810               ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index))||
7811               ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index))||
7812               ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index))||
7813               ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(p_trx_line_index)||
7814               ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(p_trx_line_index))||
7815               ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(p_trx_line_index)||
7816               ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(p_trx_line_index))||
7817               ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(p_trx_line_index)||
7818               ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(p_trx_line_index))||
7819               ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(p_trx_line_index))||
7820               ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(p_trx_line_index)||
7821               ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(p_trx_line_index)||
7822               ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(p_trx_line_index)||
7823               ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(p_trx_line_index))||
7824               ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(p_trx_line_index))||
7825               ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(p_trx_line_index))||
7826               ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(p_trx_line_index))||
7827               ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(p_trx_line_index)||
7828               ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(p_trx_line_index))||
7829               ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index)||
7830               ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index)||
7831               ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index)||
7832               ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(p_trx_line_index))||
7833               ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(p_trx_line_index))||
7834               ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(p_trx_line_index))||
7835               ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(p_trx_line_index)||
7836               ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(p_trx_line_index)||
7837               ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(p_trx_line_index)||
7838               ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(p_trx_line_index)||
7839               ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(p_trx_line_index)||
7840               ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(p_trx_line_index)||
7841               ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(p_trx_line_index)||
7842               ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(p_trx_line_index)||
7843               ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(p_trx_line_index)||
7844               ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index))||
7845               ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index)||
7846               ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index))||
7847               ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(p_trx_line_index)||
7848               ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index)||
7849               ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(p_trx_line_index)||
7850               ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index)||
7851               ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(p_trx_line_index)||
7852               ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(p_trx_line_index));
7853    END IF;
7854    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7855        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)||
7856               ', SHIP_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID(p_trx_line_index))||
7857               ', SHIP_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(p_trx_line_index))||
7858               ', POA_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID(p_trx_line_index))||
7859               ', POO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID(p_trx_line_index))||
7860               ', BILL_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID(p_trx_line_index))||
7861               ', BILL_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID(p_trx_line_index))||
7862               ', ACCOUNT_CCID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID(p_trx_line_index))||
7863               ', ACCOUNT_STRING: '|| zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING(p_trx_line_index)||
7864               ', MERCHANT_PARTY_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(p_trx_line_index)||
7865               ', RECEIVABLES_TRX_TYPE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(p_trx_line_index))||
7866               ', REF_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID(p_trx_line_index))||
7867               ', REF_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE(p_trx_line_index)||
7868               ', REF_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
7869               ', REF_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID(p_trx_line_index))||
7870               ', REF_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID(p_trx_line_index))||
7871               ', REF_DOC_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(p_trx_line_index))||
7872               ', RELATED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(p_trx_line_index))||
7873               ', RELATED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(p_trx_line_index)||
7874               ', RELATED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
7875               ', RELATED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID(p_trx_line_index))||
7876               ', RELATED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER(p_trx_line_index))||
7877               ', RELATED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(p_trx_line_index))||
7878               ', APPLIED_FROM_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(p_trx_line_index))||
7879               ', APPLIED_FROM_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(p_trx_line_index)||
7880               ', APPLIED_FROM_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(p_trx_line_index)||
7881               ', APPLIED_FROM_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID(p_trx_line_index))||
7882               ', APPLIED_FROM_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID(p_trx_line_index))||
7883               ', ADJUSTED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(p_trx_line_index))||
7884               ', ADJUSTED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(p_trx_line_index)||
7885               ', ADJUSTED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(p_trx_line_index)||
7886               ', ADJUSTED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(p_trx_line_index))||
7887               ', ADJUSTED_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(p_trx_line_index))||
7888               ', ADJUSTED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(p_trx_line_index))||
7889               ', ADJUSTED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE(p_trx_line_index))||
7890               ', APPLIED_TO_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(p_trx_line_index))||
7891               ', APPLIED_TO_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(p_trx_line_index)||
7892               ', APPLIED_TO_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(p_trx_line_index)||
7893               ', APPLIED_TO_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID(p_trx_line_index))||
7894               ', APPLIED_TO_TRX_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(p_trx_line_index))||
7895               ', TRX_ID_LEVEL2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2(p_trx_line_index))||
7896               ', TRX_ID_LEVEL3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3(p_trx_line_index))||
7897               ', TRX_ID_LEVEL4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4(p_trx_line_index))||
7898               ', TRX_ID_LEVEL5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5(p_trx_line_index))||
7899               ', TRX_ID_LEVEL6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6(p_trx_line_index))||
7900               ', TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER(p_trx_line_index));
7901    END IF;
7902    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7903        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)||
7904               ', TRX_LINE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER(p_trx_line_index)||
7905               ', TRX_LINE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION(p_trx_line_index)||
7906               ', PRODUCT_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION(p_trx_line_index)||
7907               ', TRX_WAYBILL_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER(p_trx_line_index)||
7908               ', TRX_COMMUNICATED_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE(p_trx_line_index))||
7909               ', TRX_LINE_GL_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE(p_trx_line_index))||
7910               ', BATCH_SOURCE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID(p_trx_line_index))||
7911               ', BATCH_SOURCE_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME(p_trx_line_index)||
7912               ', DOC_SEQ_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID(p_trx_line_index))||
7913               ', DOC_SEQ_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME(p_trx_line_index)||
7914               ', DOC_SEQ_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE(p_trx_line_index)||
7915               ', TRX_DUE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE(p_trx_line_index))||
7916               ', TRX_TYPE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(p_trx_line_index)||
7917               ', MERCHANT_PARTY_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME(p_trx_line_index)||
7918               ', MERCHANT_PARTY_DOCUMENT_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(p_trx_line_index)||
7919               ', MERCHANT_PARTY_REFERENCE: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(p_trx_line_index)||
7920               ', MERCHANT_PARTY_TAXPAYER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(p_trx_line_index))||
7921               ', MERCHANT_PARTY_TAX_REG_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(p_trx_line_index)||
7922               --', PAYING_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID(p_trx_line_index))||
7923               --', OWN_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID(p_trx_line_index))||
7924               --', TRADING_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(p_trx_line_index))||
7925               --', POC_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID(p_trx_line_index))||
7926               --', POI_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID(p_trx_line_index))||
7927               --', POD_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID(p_trx_line_index))||
7928               --', TITLE_TRANSFER_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(p_trx_line_index))||
7929               ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index)||
7930               ', ASSET_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG(p_trx_line_index)||
7931               ', ASSET_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER(p_trx_line_index)||
7932               ', ASSET_ACCUM_DEPRECIATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(p_trx_line_index)||
7933               ', ASSET_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE(p_trx_line_index)||
7934               ', ASSET_COST: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST(p_trx_line_index)
7935               --', NUMERIC1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1(p_trx_line_index))||
7936               --', NUMERIC2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2(p_trx_line_index))||
7937               --', NUMERIC3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3(p_trx_line_index))||
7938               --', NUMERIC4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4(p_trx_line_index))||
7939               --', NUMERIC5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5(p_trx_line_index))||
7940               --', NUMERIC6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6(p_trx_line_index))||
7941               --', NUMERIC7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7(p_trx_line_index))||
7942               --', NUMERIC8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8(p_trx_line_index))||
7943               --', NUMERIC9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9(p_trx_line_index))||
7944               --', NUMERIC10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10(p_trx_line_index))||
7945               --', CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(p_trx_line_index)||
7946               --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(p_trx_line_index)||
7947               --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(p_trx_line_index)||
7948               --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(p_trx_line_index)
7949               );
7950    END IF;
7951    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
7952        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
7953               --  'CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(p_trx_line_index)||
7954               --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(p_trx_line_index)||
7955               --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(p_trx_line_index)||
7956               --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(p_trx_line_index)||
7957               --', CHAR6: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR6(p_trx_line_index)||
7958               --', CHAR7: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR7(p_trx_line_index)||
7959               --', CHAR8: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR8(p_trx_line_index)||
7960               --', CHAR9: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR9(p_trx_line_index)||
7961               --', CHAR10: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR10(p_trx_line_index)||
7962               --', DATE1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE1(p_trx_line_index))||
7963               --', DATE2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE2(p_trx_line_index))||
7964               --', DATE3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE3(p_trx_line_index))||
7965               --', DATE4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE4(p_trx_line_index))||
7966               --', DATE5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE5(p_trx_line_index))||
7967               --', DATE6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE6(p_trx_line_index))||
7968               --', DATE7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE7(p_trx_line_index))||
7969               --', DATE8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE8(p_trx_line_index))||
7970               --', DATE9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE9(p_trx_line_index))||
7971               --', DATE10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE10(p_trx_line_index))||
7972               ' FIRST_PTY_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID(p_trx_line_index))||
7973               ', TAX_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(p_trx_line_index)||
7974               ', TAX_EVENT_TYPE_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(p_trx_line_index)||
7975               ', DOC_EVENT_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(p_trx_line_index)||
7976               ', 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))||
7977               ', 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))||
7978               ', 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))||
7979               ', 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))||
7980               ', 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))||
7981               ', 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))||
7982               ', 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))||
7983               ', 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))||
7984               ', 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))||
7985               ', 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))||
7986               ', POA_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(p_trx_line_index))||
7987               ', POO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(p_trx_line_index))||
7988               ', PAYING_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(p_trx_line_index))||
7989               ', 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))||
7990               ', 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))||
7991               ', POI_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(p_trx_line_index))||
7992               ', POD_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(p_trx_line_index))||
7993               ', 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))||
7994               ', 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))||
7995               ', 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))||
7996               ', 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))||
7997               ', 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))||
7998               ', POA_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(p_trx_line_index))||
7999               ', POO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(p_trx_line_index))||
8000               ', PAYING_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(p_trx_line_index))||
8001               ', 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))||
8002               ', 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))||
8003               ', POI_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(p_trx_line_index))||
8004               ', POD_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(p_trx_line_index))||
8005               ', 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))||
8006               ', 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))||
8007               ', 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))||
8008 			  ', MERCHANT_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(p_trx_line_index)));
8009    END IF;
8010    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8011        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8012               'DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index)||
8013               ', SUPPLIER_TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(p_trx_line_index)||
8014               ', SUPPLIER_TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(p_trx_line_index))||
8015               ', SUPPLIER_EXCHANGE_RATE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(p_trx_line_index)||
8016               ', TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE(p_trx_line_index))||
8017               ', TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER(p_trx_line_index)||
8018               ', LINE_AMT_INCLUDES_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(p_trx_line_index)||
8019               ', QUOTE_FLAG: '|| p_event_class_rec.QUOTE_FLAG||
8020               ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index)||
8021               ', HISTORICAL_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG(p_trx_line_index)||
8022               ', INTERNAL_ORG_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(p_trx_line_index))||
8023               ', CTRL_HDR_TX_APPL_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(p_trx_line_index)||
8024               ', CTRL_TOTAL_HDR_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(p_trx_line_index)||
8025               ', CTRL_TOTAL_LINE_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(p_trx_line_index) ||
8026               ', DIST_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION(p_trx_line_index) ||
8027               ', ADJUSTED_DOC_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID(p_trx_line_index)) ||
8028               ', APPLIED_FROM_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID(p_trx_line_index)) ||
8029               ', TASK_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID(p_trx_line_index)) ||
8030               ', AWARD_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID(p_trx_line_index)) ||
8031               ', PROJECT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID(p_trx_line_index)) ||
8032               ', EXPENDITURE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE(p_trx_line_index) ||
8033               ', EXPENDITURE_ORGANIZATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID(p_trx_line_index)) ||
8034               ', EXPENDITURE_ITEM_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE(p_trx_line_index)) ||
8035               ', TRX_LINE_DIST_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT(p_trx_line_index)) ||
8036               ', TRX_LINE_DIST_QUANTITY: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY(p_trx_line_index)) ||
8037               ', REF_DOC_CURR_CONV_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE(p_trx_line_index)) ||
8038               ', ITEM_DIST_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER(p_trx_line_index) ||
8039               ', REF_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID(p_trx_line_index)) ||
8040               ', TRX_LINE_DIST_TAX_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT(p_trx_line_index))||
8041               ', TRX_LINE_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID(p_trx_line_index)) ||
8042               ', APPLIED_FROM_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID(p_trx_line_index)) ||
8043               ', ADJUSTED_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID(p_trx_line_index)) ||
8044               ', OVERRIDING_RECOVERY_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE(p_trx_line_index)) ||
8045               ', INPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) ||
8046               ', OUTPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) ||
8047               ', PORT_OF_ENTRY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE(p_trx_line_index) ||
8048               ', TAX_REPORTING_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG(p_trx_line_index) ||
8049               ', TAX_AMT_INCLUDED_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(p_trx_line_index) ||
8050               ', COMPOUNDING_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(p_trx_line_index) ||
8051               ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(p_trx_line_index)) ||
8052               ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(p_trx_line_index)) ||
8053               ', 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)) ||
8054               ', 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)) ||
8055               ', 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)) ||
8056               ', 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)) ||
8057               ', PROVNL_TAX_DETERMINATION_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(p_trx_line_index)) ||
8058               ', START_EXPENSE_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE(p_trx_line_index)) ||
8059               ', TRX_BATCH_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID(p_trx_line_index))||
8060               ', APPLIED_TO_TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(p_trx_line_index) ||
8061               ', SOURCE_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(p_trx_line_index)) ||
8062               ', SOURCE_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(p_trx_line_index) ||
8063               ', SOURCE_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) ||
8064               ', SOURCE_TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID(p_trx_line_index)) ||
8065               ', SOURCE_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID(p_trx_line_index)) ||
8066               ', SOURCE_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(p_trx_line_index) ||
8067               ', REF_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(p_trx_line_index) ||
8068               ', APPLIED_TO_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(p_trx_line_index) ||
8069               ', APPLIED_FROM_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(p_trx_line_index) ||
8070               ', ADJUSTED_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(p_trx_line_index) ||
8071               ', APPLICATION_DOC_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS(p_trx_line_index) ||
8072               ', SOURCE_TAX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID(p_trx_line_index))||
8073               ', EXEMPTION_CONTROL_FLAG: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(p_trx_line_index) ||
8074               ', EXEMPT_REASON_CODE: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE(p_trx_line_index)
8075               );
8076    END IF;
8077    EXCEPTION
8078      WHEN OTHERS THEN
8079        null;
8080    END;
8081 
8082    IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
8083       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(p_trx_line_index) := 'N';
8084       RETURN;
8085    END IF;
8086 
8087    /* -----------------------------------------------+
8088     |    Determine Regime Applicability              |
8089     + -----------------------------------------------*/
8090 
8091     ZX_TDS_CALC_SERVICES_PUB_PKG.get_tax_regimes(p_trx_line_index
8092                                                 ,p_event_class_rec
8093                                                 ,l_return_status
8094                                                  );
8095 
8096     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8097       x_return_status := l_return_status;
8098       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8099         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8100          ' RETURN_STATUS = ' || x_return_status);
8101       END IF;
8102       RETURN;
8103     END IF;
8104 
8105 
8106     /*******************************PARTNER CODE START****************************/
8107     --Stamp the provider information on the regimes table returned by the
8108     --get_tax_regimes procedure and also populate the trx_app_regimes structure*/
8109     IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
8110        ZX_TPI_SERVICES_PKG.popl_pvrdr_info_tax_reg_tbl (p_event_class_rec
8111                                                     ,p_trx_line_index
8112                                                     ,l_return_status
8113                                                      );
8114 
8115        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8116           x_return_status := l_return_status;
8117           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8118              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8119                ' RETURN_STATUS = ' || x_return_status);
8120           END IF;
8121        END IF;
8122 
8123        /* -----------------------------------------------+
8124         |    Call TCM Location Caching API               |
8125         + -----------------------------------------------*/
8126 
8127        prepare_for_loc_caching(p_trx_line_index
8128                            ,p_event_class_rec
8129                            ,l_return_status
8130                             );
8131 
8132        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8133           x_return_status := l_return_status;
8134           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8135             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8136              ' RETURN_STATUS = ' || x_return_status);
8137           END IF;
8138        END IF;
8139     END IF; --zx_global_structures_pkg.g_ptnr_srvc_subscr_flag
8140 
8141     /* ----------------------------------------------------------------------+
8142     | Bug 3937387 - Initialize the detail_tax_regime structure since the tax |
8143     | applicability need not be performed in the event of process_for_       |
8144     | applicability being 'N'. We needed to populate detail_tax_regime_tbl   |
8145     | though since TPI processing needs this information                     |
8146     + ----------------------------------------------------------------------*/
8147 
8148     IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
8149        ZX_GLOBAL_STRUCTURES_PKG.Init_Detail_Tax_Regime_Tbl;
8150     END IF;
8151     /*******************************PARTNER CODE END ****************************/
8152 
8153     /* -----------------------------------------------+
8154     |   Call TDS  Calculate Tax                      |
8155     + -----------------------------------------------*/
8156     -- Bug 3895727 - Call calculate tax irrespective of process_for_applicability_flag*/
8157     ZX_TDS_CALC_SERVICES_PUB_PKG.calculate_tax(p_trx_line_index
8158                                               ,p_event_class_rec
8159                                               ,l_return_status
8160                                                );
8161 
8162     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8163        x_return_status := l_return_status;
8164        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8165          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8166           ' RETURN_STATUS = ' || x_return_status);
8167        END IF;
8168        RETURN;
8169     END IF;
8170     --Set the tax processing completed flag to indicate that line has been processed for tax
8171     ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(p_trx_line_index) := 'Y';
8172 
8173     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8174       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
8175     END IF;
8176 
8177  EXCEPTION
8178    WHEN OTHERS THEN
8179        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8180        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
8181           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
8182        END IF;
8183 END calculate_tax_pvt;
8184 
8185 -----------------------------------------------------------------------
8186 --  PRIVATE PROCEDURE
8187 --  ptnr_calculate_tax_pvt
8188 --
8189 --  DESCRIPTION
8190 --  Wrapper to call partner integration code for TAB/PLS/WIN mode
8191 --  to calculate_tax
8192 --
8193 --  CALLED BY
8194 --    calculate_tax
8195 -----------------------------------------------------------------------
8196   PROCEDURE ptnr_calculate_tax_pvt(
8197    p_event_class_rec IN ZX_API_PUB.event_class_rec_type ,
8198    x_return_status   OUT NOCOPY VARCHAR2
8199   )IS
8200 
8201   l_api_name              CONSTANT VARCHAR2(30):= 'PTNR_CALCULATE_TAX_PVT';
8202   l_deleted_line_exists         VARCHAR2(1);
8203   l_record_type                 VARCHAR2(30);
8204   l_partner_migrated_flag       VARCHAR2(1);
8205   l_regime_exists_other_lines   VARCHAR2(1);
8206   l_negative_index              NUMBER;
8207   l_return_status         VARCHAR2(1);
8208 
8209   BEGIN
8210      IF ( G_LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
8211         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
8212      END IF;
8213 
8214      x_return_status := FND_API.G_RET_STS_SUCCESS ;
8215      l_negative_index := -99; --set the negative index to store regimes served by old provider
8216 
8217 /*Commented following condition, because for sales order both the flags would be 'N'*/
8218 --   IF p_event_class_rec.record_flag ='Y'
8219 --     AND  p_event_class_rec.record_for_partners_flag = 'Y' THEN
8220 
8221        IF p_event_class_rec.tax_event_type_code = 'UPDATE'
8222        AND p_event_class_rec.QUOTE_FLAG = 'N' THEN
8223 
8224       /*If document is a migrated one, include all the distinct regimes from ZX_TRX_LINE_APP_REGIMES,
8225         for which partners were called in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl and set the
8226         partner_processing_flag to 'F' (first time called)*/
8227 
8228     /*-------------------------------------------------------------*
8229      | Determine if the document is originally a migrated one -TPI |
8230      *------------------------------------------------------------*/
8231       BEGIN
8232        SELECT record_type_code,
8233               partner_migrated_flag
8234          INTO l_record_type,
8235               l_partner_migrated_flag
8236          FROM ZX_LINES_DET_FACTORS
8237         WHERE application_id   = p_event_class_rec.application_id
8238           AND entity_code      = p_event_class_rec.entity_code
8239           AND event_class_code = p_event_class_rec.event_class_code
8240           AND trx_id           = p_event_class_rec.trx_id
8241           AND rownum           = 1;
8242        EXCEPTION WHEN OTHERS THEN --Bug fix 5094078
8243   	     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8244   		FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8245   		  ' No row found in zx_lines_det_factors for UPDATE event type' );
8246   	     END IF;
8247        END;
8248 
8249         IF l_partner_migrated_flag = 'Y' THEN
8250           FOR update_trx_line_app_reg IN update_trx_line_app_reg_csr(p_event_class_rec)
8251           LOOP
8252             IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(update_trx_line_app_reg.tax_regime_id) THEN
8253               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;
8254               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;
8255               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;
8256 /* Bug 5557565 */
8257               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).effective_from := update_trx_line_app_reg.effective_from;
8258               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).effective_to := update_trx_line_app_reg.effective_to;
8259               ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
8260 
8261               /*Check other lines have the regime in considerarion in table zx_TRX_LINES_APP_REGIMES*/
8262               SELECT 'Y'
8263                INTO l_regime_exists_other_lines
8264                FROM ZX_TRX_LINE_APP_REGIMES
8265               WHERE application_id = p_event_class_rec.application_id
8266                 AND entity_code = p_event_class_rec.entity_code
8267                 AND event_class_code = p_event_class_rec.event_class_code
8268                 AND trx_id = p_event_class_rec.trx_id
8269                 AND tax_provider_id is not null
8270                 AND update_flag is null
8271                 AND tax_regime_code = update_trx_line_app_reg.tax_regime_code
8272                 AND rownum =1 ;
8273 
8274               IF l_regime_exists_other_lines = 'Y' THEN
8275                  IF l_record_type = 'MIGRATED' THEN
8276                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
8277                  ELSE
8278                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'C';
8279                  END IF;
8280                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
8281 
8282                /*Provider/Regime No Longer Applicable: If a "provider regime" is no longer found applicable to entire
8283     	         transaction due to an update on a transaction line(s) (The new applicable regimes for the line are in
8284      	         ZX_GLOBAL_STRUCTURES_PKG.zx_trx_line_app_regimes_tbl whereas old applicable regimes for the line are in
8285                  ZX_TRX_LINE_APP_REGIMES), look for this provider regime if applicable for non-updated lines. If not
8286                  applicable for non-updated lines, then include that provider in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl
8287                  and set the partner_processing_flag to 'N' (Provider/Regime no longer applicable) in
8288                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl for that provider. */
8289                ELSE --regime no longer applicable
8290                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'N';
8291                END IF;
8292             ELSE --regime exists in tax_regime_tbl
8293                 IF l_record_type = 'MIGRATED' THEN
8294                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
8295                 ELSE
8296                   /*The change of subscription may also result in a Provider no longer applicable. In this scenario,
8297                     we need to have 2 records in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl for new and previous providers respectively.*/
8298       	          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
8299                       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'F';
8300                       /*Since tax_regime_tbl is indexed by tax_regime_id, it is not possible to create 2 records for same regime
8301                         with different providers in it, hence devised a method of inserting with negative index*/
8302                       IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_negative_index) THEN
8303                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_regime_id := l_negative_index;
8304                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_regime_code := update_trx_line_app_reg.tax_regime_code;
8305                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).tax_provider_id := update_trx_line_app_reg.tax_provider_id;
8306                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_negative_index).partner_processing_flag := 'N';
8307                         l_negative_index := l_negative_index +1;
8308                       END IF;
8309                   ELSE
8310                      /*For the transaction line being updated, there may be a case where new provider regime becomes applicable
8311                        and/or the current "provider regime no longer applicable" for the line but is still applicable on other lines.
8312                        In this case, the previous provider also needs to be called for Calculate Tax. Therefore, include the
8313                        provider in ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl and set the partner_processing_flag to 'C'.This provider has
8314                        already been picked up by the Provider Synchronization.*/
8315                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'C';
8316                    END IF;
8317                  END IF; --l_record_type
8318                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
8319              END IF;--l_regime_exists
8320             END LOOP; --loop on trx_line_app_regimes
8321 
8322             FOR non_update_trx_line_app_reg IN non_update_trx_line_reg_csr(p_event_class_rec)
8323             LOOP
8324 	      /*Check if regime exists in tax_regimes_tbl */
8325                IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(non_update_trx_line_app_reg.tax_regime_id) THEN
8326                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(non_update_trx_line_app_reg.tax_regime_id).partner_processing_flag := 'S';
8327                  ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
8328                END IF;
8329             END LOOP;
8330 
8331           ELSE --partner_migrated_flag
8332              null;
8333           END IF;
8334           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8335              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8336                    ' Checking Deleted Item Lines ');
8337           END IF;
8338           BEGIN
8339              SELECT 'Y'
8340                INTO l_deleted_line_exists
8341                FROM ZX_LINES_DET_FACTORS
8342               WHERE application_id = p_event_class_rec.application_id
8343                 AND entity_code = p_event_class_rec.entity_code
8344                 AND event_class_code = p_event_class_rec.event_class_code
8345                 AND trx_id = p_event_class_rec.trx_id
8346                 AND line_level_action = 'DELETE'
8347                 AND rownum = 1;
8348           EXCEPTION
8349              WHEN OTHERS THEN
8350                 l_deleted_line_exists := 'N';
8351           END;
8352           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8353              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8354                     ' line_level_action DELETE = ' || l_deleted_line_exists);
8355           END IF;
8356 
8357       END IF; -- Tax event type is UPDATE
8358 
8359       partner_location_population (p_event_class_rec => p_event_class_rec,
8360                                    x_return_status => l_return_status);
8361 
8362       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8363          x_return_status := l_return_status;
8364          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8365             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8366                    ' RETURN_STATUS = ' || x_return_status);
8367          END IF;
8368          RETURN;
8369       END IF;
8370 
8371       IF nvl(l_deleted_line_exists,'N') = 'Y' THEN
8372 
8373          get_regimes_for_del_item_lines (p_event_class_rec => p_event_class_rec,
8374                                              x_return_status => l_return_status);
8375          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8376             x_return_status := l_return_status;
8377             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8378                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8379                       ' RETURN_STATUS = ' || x_return_status);
8380             END IF;
8381             RETURN;
8382          END IF;
8383       END IF;
8384 
8385       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)
8386       LOOP
8387 
8388         IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
8389            ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
8390 
8391            IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag is not null AND
8392              (ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'S' OR
8393               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' OR
8394               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'F') THEN
8395               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8396                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,'Call pre-processing before sending to partner');
8397               END IF;
8398 
8399               ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
8400                                                          ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8401     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8402     	                                                 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
8403                                                          p_event_class_rec,
8404                                                          l_return_status
8405     	                                                );
8406               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8407                 x_return_status := l_return_status;
8408                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8409                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8410                    ' RETURN_STATUS = ' || x_return_status);
8411                 END IF;
8412                 RETURN;
8413               END IF;
8414            END IF;   --partner processing flag
8415 
8416       	   ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
8417                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8418                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8419                                                  'DERIVE_HDR_ATTRS',
8420                                                  l_return_status
8421                                                  );
8422 
8423            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8424              x_return_status := l_return_status;
8425              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8426                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8427                 ' RETURN_STATUS = ' || x_return_status);
8428              END IF;
8429              RETURN;
8430            END IF;
8431 
8432        	   ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
8433                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8434                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8435                                                  'DERIVE_LINE_ATTRS',
8436                                                  l_return_status
8437                                                 );
8438 
8439            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8440              x_return_status := l_return_status;
8441              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8442                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8443                 ' RETURN_STATUS = ' || x_return_status);
8444              END IF;
8445              RETURN;
8446            END IF;
8447 
8448 
8449            /*Check if partner_processing_flag = 'N', then
8450            Delete Provider Tax Lines from the ZX_LINES and references to the provider in the ZX_TRX_LINE_APP_REGIMES for that regime.
8451            If partner recording is allowed for this event class, then
8452            Call partner's service Modify Doc Status with action DELETE*/
8453 
8454           IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
8455              ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'N' THEN
8456              IF p_event_class_rec.record_for_partners_flag = 'Y' THEN
8457 
8458               ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8459                                                        ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8460                                                        'DOCUMENT_LEVEL_CHANGES',   -- Bug 5200373
8461                                                        p_event_class_rec,
8462                                                        l_return_status
8463     	                                               );
8464 
8465               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8466                 x_return_status := l_return_status;
8467                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8468                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8469                    ' RETURN_STATUS = ' || x_return_status);
8470                 END IF;
8471                 RETURN;
8472               END IF;
8473             END IF; --record_for_partners_flag
8474 
8475             /*Delete Provider Tax Lines from the ZX_LINES*/
8476             --Call zx_lines_table_handler for deleting the non-applicable regimes
8477 
8478             zx_lines_table_handler (p_event_class_rec   => p_event_class_rec,
8479                                     p_event             => 'DELETE',
8480                                     p_tax_regime_code   => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8481                                     p_provider_id       => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8482                                     x_return_status     => l_return_status
8483     	                           );
8484 
8485               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8486                 x_return_status := l_return_status;
8487                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8488                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8489                    ' RETURN_STATUS = ' || x_return_status);
8490                 END IF;
8491                 RETURN;
8492               END IF;
8493 
8494             /*Delete Provider Tax Lines from the ZX_TRX_LINE_APP_REGIMES*/
8495             --Call zx_line_app_regimes table_handler for deleting the non-applicable regimes
8496 
8497             ZX_TPI_SERVICES_PKG.trx_line_app_regimes_tbl_hdl (p_event_class_rec   => p_event_class_rec,
8498                                                               p_event             => 'DELETE',
8499                                                               p_tax_regime_code   => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8500                                                               p_provider_id       => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8501                                                               p_trx_line_id       => null,
8502                                                               p_trx_level_type    => null,
8503                                                               x_return_status     => l_return_status
8504     	                                                     );
8505 
8506              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8507                 x_return_status := l_return_status;
8508                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8509                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8510                    ' RETURN_STATUS = ' || x_return_status);
8511                 END IF;
8512                 RETURN;
8513               END IF;
8514           END IF; --partner_processing_flag ='N'
8515 
8516 
8517           IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag is not null AND
8518 	        (ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'S' OR
8519     	     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'C' OR
8520     	     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag = 'F') THEN
8521              --Call Partner for calculate tax
8522 
8523              ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8524     	                                              ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8525     	                                              'CALCULATE_TAX',
8526                                                       p_event_class_rec,
8527                                                       l_return_status
8528     	                                             );
8529 
8530              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8531                x_return_status := l_return_status;
8532                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8533                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8534                    ' RETURN_STATUS = ' || x_return_status);
8535                END IF;
8536                RETURN;
8537              END IF;
8538 
8539              --Call for post-processing after partner has calculated the tax
8540 
8541              ZX_TPI_SERVICES_PKG.ptnr_post_processing_calc_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
8542     	                                                       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
8543                                                                p_event_class_rec,
8544                                                                l_return_status
8545        	                                                      );
8546 
8547              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8548                x_return_status := l_return_status;
8549                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8550                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8551                    ' RETURN_STATUS = ' || x_return_status);
8552                END IF;
8553                RETURN;
8554              END IF;
8555 
8556            END IF; -- partner processing is not null
8557 
8558           END IF; -- tax_provider_id is not null
8559 
8560       END LOOP;
8561 
8562    --END IF;/*Commented condition, because for sales order both the flags would be 'N'*/
8563     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8564       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'(-)');
8565     END IF;
8566 
8567 EXCEPTION
8568    WHEN OTHERS THEN
8569 --        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8570       IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
8571          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
8572       END IF;
8573 END ptnr_calculate_tax_pvt;
8574 
8575 /* =============================================================*
8576  | PROCEDURE  	Wrapper on ptnr_calculate_tax_pvt for bulk      |
8577  |            	processing                                      |
8578  * ============================================================*/
8579 
8580  PROCEDURE ptnr_bulk_calc_tax_pvt (x_return_status      OUT NOCOPY VARCHAR2
8581  )IS
8582    l_return_status         VARCHAR2(1);
8583    l_event_class_rec       zx_api_pub.event_class_rec_type;
8584    l_api_name              CONSTANT VARCHAR2(30) := 'PTNR_BULK_CALC_TAX_PVT';
8585  BEGIN
8586     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8587        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
8588     END IF;
8589 
8590     x_return_status := FND_API.G_RET_STS_SUCCESS;
8591 
8592     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)
8593        LOOP
8594 
8595 	 -- Bug 5524869. Added the logic to rollback only failed transaction.
8596 	 BEGIN
8597 
8598           -- 5711466
8599           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;
8600 
8601         IF ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag = 'Y' THEN
8602 
8603 	  SAVEPOINT Ptnr_Bulk_Calc_Tax_Pvt;
8604 
8605           fetch_ptnr_tax_regime_tbl(p_trx_id_index    => l_trx_id_index,
8606                                     x_event_class_rec => l_event_class_rec ,
8607                                     x_return_status   => l_return_status
8608                                    );
8609           ptnr_calculate_tax_pvt(p_event_class_rec   => l_event_class_rec ,
8610                                  x_return_status     => l_return_status
8611                                 );
8612           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8613                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8614                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,G_PKG_NAME||': ptnr_calculate_tax_pvt returned errors');
8615                 END IF;
8616                 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
8617                   delete_from_lines_det_gt(p_event_class_rec   => l_event_class_rec ,
8618                                            x_return_status     => l_return_status);
8619                   RAISE FND_API.G_EXC_ERROR;
8620                 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8621                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8622                 END IF;
8623           END IF;
8624 
8625         END IF;  -- 5711466
8626 
8627         EXCEPTION
8628             WHEN FND_API.G_EXC_ERROR THEN
8629                  ROLLBACK TO Ptnr_Bulk_Calc_Tax_Pvt;
8630                  --Commented by ssohal : Call API to dump into zx_errors_gt
8631                  --populate_errors(l_event_class_rec,l_return_status); --this will retest l_return_status
8632                  --ZX_API_PUB.dump_msg;
8633                  IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
8634                    FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
8635                  END IF;
8636         END; -- End of Bug fix 5524869
8637 
8638        END LOOP;
8639 
8640        IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8641          FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME || ': ' || l_api_name||'(-)');
8642        END IF;
8643 
8644 EXCEPTION
8645 
8646     WHEN OTHERS THEN
8647       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8648 
8649       IF (g_level_unexpected >= g_current_runtime_level ) THEN
8650         FND_LOG.STRING(g_level_unexpected,
8651                        G_MODULE_NAME||l_api_name,
8652                        'Error: '|| SUBSTR(SQLERRM, 1, 80)
8653                        );
8654       END IF;
8655 
8656 
8657  END ptnr_bulk_calc_tax_pvt;
8658 
8659   PROCEDURE delete_from_lines_det_gt (
8660    p_event_class_rec IN  ZX_API_PUB.event_class_rec_type ,
8661    x_return_status   OUT    NOCOPY VARCHAR2
8662  ) IS
8663   l_api_name              CONSTANT VARCHAR2(30) := 'DELETE_FROM_LINES_DET_GT';
8664   BEGIN
8665     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8666        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'(+)');
8667     END IF;
8668     x_return_status := FND_API.G_RET_STS_SUCCESS;
8669 
8670     delete from zx_lines_det_factors
8671     WHERE application_id = p_event_class_rec.application_id
8672     AND entity_code = p_event_class_rec.entity_code
8673     AND event_class_code = p_event_class_rec.event_class_code
8674     AND trx_id = p_event_class_rec.trx_id;
8675 
8676     delete from zx_detail_tax_lines_gt
8677     WHERE application_id = p_event_class_rec.application_id
8678     AND entity_code = p_event_class_rec.entity_code
8679     AND event_class_code = p_event_class_rec.event_class_code
8680     AND trx_id = p_event_class_rec.trx_id;
8681 
8682     delete from zx_summary_tax_lines_gt
8683     WHERE application_id = p_event_class_rec.application_id
8684     AND entity_code = p_event_class_rec.entity_code
8685     AND event_class_code = p_event_class_rec.event_class_code
8686     AND trx_id = p_event_class_rec.trx_id;
8687 
8688     delete from zx_rec_nrec_dist_gt
8689     WHERE application_id = p_event_class_rec.application_id
8690     AND entity_code = p_event_class_rec.entity_code
8691     AND event_class_code = p_event_class_rec.event_class_code
8692     AND trx_id = p_event_class_rec.trx_id;
8693 
8694     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8695       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME || ': ' || l_api_name||'(-)');
8696     END IF;
8697   EXCEPTION
8698 
8699     WHEN OTHERS THEN
8700       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8701 
8702       IF (g_level_unexpected >= g_current_runtime_level ) THEN
8703         FND_LOG.STRING(g_level_unexpected,
8704                        G_MODULE_NAME||l_api_name,
8705                        'Error: '|| SUBSTR(SQLERRM, 1, 80)
8706                        );
8707       END IF;
8708 
8709 
8710   END;
8711 
8712 
8713 /*-----------------------------------------------------------------------*
8714  |   PUBLIC  FUNCTIONS/PROCEDURES                                        |
8715  *-----------------------------------------------------------------------*/
8716 
8717 -----------------------------------------------------------------------
8718 --  PUBLIC PROCEDURE
8719 --  calculate_tax
8720 --
8721 --  DESCRIPTION
8722 --  Calculate tax processing
8723 --
8724 --  CALLED BY
8725 --    ZX_API_PUB.calculate_tax
8726 -----------------------------------------------------------------------
8727  PROCEDURE Calculate_Tax (
8728    p_event_class_rec IN OUT NOCOPY ZX_API_PUB.event_class_rec_type ,
8729    x_return_status   OUT    NOCOPY VARCHAR2
8730  ) IS
8731   l_api_name                    CONSTANT VARCHAR2(30) := 'CALCULATE_TAX';
8732   l_trx_line_index              BINARY_INTEGER;
8733   l_cursor_rows                 NUMBER;
8734   l_tax_prof_id                 NUMBER;
8735   l_internal_org_location_id    NUMBER;
8736   l_lines_passed                NUMBER;
8737   l_update_index                NUMBER;
8738   l_return_status               VARCHAR2(30);
8739   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
8740   l_error_buffer                VARCHAR2(2000);
8741   l_count                       NUMBER;
8742   l_deleted_line_exists         VARCHAR2(1);
8743   l_flag                        BOOLEAN;
8744   -- bug fix 5417887 begin
8745   l_trx_id                      NUMBER := -1;
8746   l_legal_entity_id             NUMBER := -1;
8747   l_trx_date                    DATE := TO_DATE('01/01/1951', 'DD/MM/RRRR');
8748   l_effective_date              DATE;
8749   l_event_class_rec             ZX_API_PUB.event_class_rec_type;
8750   -- bug fix 5417887 end
8751   l_no_of_trx                   NUMBER;
8752 
8753  BEGIN
8754    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
8755      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
8756    END IF;
8757    --Initialise local variables
8758    l_lines_passed   := 1;
8759    l_update_index   := 0; --store index upto which records need to updated
8760 
8761    x_return_status := FND_API.G_RET_STS_SUCCESS ;
8762 
8763    --Call get_location of TCM to get the location of internal organization
8764    ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
8765                                   l_internal_org_location_id,
8766                                   l_return_status
8767                                   );
8768 
8769    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8770      x_return_status := l_return_status;
8771      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
8772         l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
8773         l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
8774         l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
8775         l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
8776         ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
8777      END IF;
8778      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8779         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8780           ' RETURN_STATUS = ' || x_return_status);
8781      END IF;
8782      RETURN;
8783    END IF;
8784 
8785   /*-----------------------------------------------------------------------*
8786    |  Bug 3417023 - In case of call to calculate_tax with TAX_EVENT_TYPE as |
8787    |  'UPDATE' and no lines passed in zx_transaction_lines_gt/              |
8788    |  trx_line_dist_tbl, we need to ignore all processsing                  |
8789    *-----------------------------------------------------------------------*/
8790    IF ZX_API_PUB.G_DATA_TRANSFER_MODE ='TAB' THEN
8791 /*     IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
8792        select count(*)
8793         INTO l_lines_passed
8794 	    FROM ZX_TRANSACTION_LINES_GT
8795         WHERE ROWNUM <=1  ;
8796      END IF;
8797 Event Type is not yet populated. So, commenting out*/
8798      null;
8799    ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE ='PLS' THEN
8800       IF (p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE') AND
8801          NOT ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id.EXISTS(1) THEN
8802          l_lines_passed := 0;
8803       END IF;
8804    END IF;
8805    -- bug fix 5417887 begin
8806    IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
8807 
8808     /*-----------------------------------------------------------------------*
8809      |  Bug 3698114 - In case of LTE, we need to fetch all the transaction    |
8810      |  into memory while in case of EBTax, they will be fetched in chunks    |
8811      |  of 1000. The below logic puts the constraint on the LIMIT of cursor   |
8812      *-----------------------------------------------------------------------*/
8813 
8814     /*------------------------------------------------------------------------*
8815      | Bug 3955422 - Remove the logic below since for LTE , decision is to    |
8816      | retreive data from zx_lines_det_factors always                         |
8817      *-----------------------------------------------------------------------*/
8818      /*IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
8819         l_cursor_rows := C_LINES_PER_FETCH ;
8820      ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
8821         l_cursor_rows := C_MAX_LINES_PER_FETCH ;
8822      END IF;
8823      */
8824      --Bugfix 4322369 - Call rounding API at document level
8825      --Call TDS get_rounding_level_and_rule
8826      ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
8827                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
8828                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
8829                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
8830                                                          ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
8831                                                          l_return_status,
8832                                                          l_error_buffer
8833                                                          );
8834 
8835      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8836        x_return_status := l_return_status;
8837        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8838           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8839             ' RETURN_STATUS = ' || x_return_status);
8840        END IF;
8841        RETURN;
8842      END IF;
8843 
8844      --Bugfix 4718307 - Call TDS to get the applicability flag for the party
8845      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,
8846                                                             x_return_status => l_return_status
8847                                                            );
8848 
8849      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8850        x_return_status := l_return_status;
8851        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8852           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8853             ' RETURN_STATUS = ' || x_return_status);
8854        END IF;
8855        RETURN;
8856      END IF;
8857    END IF;
8858    -- bug fix 5417887 end
8859 
8860    IF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' AND l_lines_passed = 1) THEN
8861     /*-----------------------------------------------------------+
8862      | Get no. of records from ZX_TRX_HEADERS_GT to segregate    |
8863      | single transaction and multiple transactions processing   |
8864      | l_no_of_trx = 1  =>  single transaction processing        |
8865      | l_no_of_trx > 1  =>  multiple transactions processing     |
8866      +-----------------------------------------------------------*/
8867      BEGIN
8868        SELECT count(*) No_of_records
8869          INTO l_no_of_trx
8870          FROM zx_trx_headers_gt;
8871      EXCEPTION
8872        WHEN OTHERS THEN
8873          l_no_of_trx := 0;
8874      END;
8875 
8876      IF l_no_of_trx = 0 THEN
8877        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8878        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8879           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
8880             'No record found in Headers GT Table.');
8881        END IF;
8882        RETURN;
8883      END IF;
8884 
8885      -- SDSU Bug 6605681, When AP is calling invoice validation in bulk process, it errors out with U1 violation in zx_lines_det_factors.
8886      -- 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.
8887      -- 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
8888      -- Start Bug 6605681
8889      IF c_lines%ISOPEN THEN CLOSE c_lines;
8890      OPEN c_lines(p_event_class_rec);
8891      ELSE
8892      OPEN c_lines(p_event_class_rec);
8893      END IF;
8894      -- End Bug 6605681
8895      -- OPEN c_lines(p_event_class_rec);
8896       LOOP
8897          FETCH c_lines BULK COLLECT INTO
8898              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
8899              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
8900              zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
8901              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
8902              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
8903              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
8904              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
8905              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
8906              zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
8907              zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
8908              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
8909              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
8910              zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
8911              zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
8912              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
8913              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
8914              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
8915              zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
8916              zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
8917              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
8918              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
8919              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
8920              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
8921              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
8922              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
8923              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
8924              zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
8925              zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
8926              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
8927              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
8928              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
8929              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
8930              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
8931              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
8932              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
8933              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
8934              zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
8935              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
8936              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
8937              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
8938              zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
8939              zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
8940              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
8941              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
8942              zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
8943              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
8944              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
8945              zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
8946              zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
8947              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
8948              zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
8949              zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
8950              zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
8951              zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
8952              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
8953              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
8954              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
8955              zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
8956              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
8957              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
8958              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
8959              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
8960              zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
8961              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
8962              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
8963              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
8964              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
8965              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
8966              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
8967              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
8968              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
8969              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
8970              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
8971              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
8972              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
8973              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
8974              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
8975              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
8976              zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
8977              zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
8978              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
8979              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
8980              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
8981              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
8982              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
8983              zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
8984              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
8985              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
8986              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
8987              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
8988              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
8989              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
8990              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
8991              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
8992              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
8993              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
8994              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
8995              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
8996              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
8997              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
8998              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
8999              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
9000              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
9001              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
9002              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
9003              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
9004              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
9005              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
9006              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
9007              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
9008              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
9009              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
9010              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
9011              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
9012              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
9013              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
9014              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
9015              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
9016              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
9017              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
9018              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
9019              zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
9020              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
9021              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
9022              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
9023              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
9024              zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
9025              zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
9026              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
9027              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
9028              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
9029              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
9030              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
9031              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
9032              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
9033              zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
9034              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
9035              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
9036              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
9037              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
9038              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
9039              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
9040              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
9041              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
9042              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
9043              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
9044              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
9045              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
9046              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
9047              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
9048              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
9049              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
9050              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
9051              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
9052              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
9053              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
9054              zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
9055              zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
9056              zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
9057              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
9058              zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
9059              zx_global_structures_pkg.trx_line_dist_tbl.Asset_Flag,
9060              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
9061              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
9062              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
9063              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
9064              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
9065              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
9066              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
9067              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
9068              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
9069              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
9070              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
9071              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
9072              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
9073              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
9074              zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
9075              zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
9076              zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
9077              zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
9078              zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
9079              zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
9080              zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
9081              zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
9082              zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
9083              zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
9084              zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
9085              zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
9086              zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
9087              zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
9088              zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
9089              zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
9090              zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
9091              zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
9092              zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
9093              zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
9094              zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
9095              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
9096              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
9097              zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
9098              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
9099              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
9100              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
9101              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
9102              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
9103              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
9104              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
9105              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
9106              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
9107              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
9108              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
9109              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
9110              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
9111              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
9112              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
9113              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
9114              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
9115              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
9116              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
9117              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
9118              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
9119              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
9120              zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
9121              zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
9122              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
9123              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
9124              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
9125              zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
9126              zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
9127              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
9128              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
9129              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
9130              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
9131              zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
9132              zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
9133              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
9134              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
9135              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
9136              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
9137              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
9138              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
9139              zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
9140              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
9141              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
9142              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
9143              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
9144              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
9145              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
9146              zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
9147              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
9148              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
9149              zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
9150              zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
9151              zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
9152              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
9153              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
9154              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
9155              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
9156              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
9157              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
9158              zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
9159              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
9160              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
9161              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
9162              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
9163              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
9164              zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
9165              zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
9166              zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
9167              zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
9168              zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
9169              zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
9170              zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
9171              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
9172              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
9173              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
9174              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
9175              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
9176              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
9177              zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
9178              zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
9179              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
9180              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
9181              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
9182              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
9183              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
9184              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
9185              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
9186              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
9187              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
9188              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
9189              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
9190              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
9191              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
9192              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
9193              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
9194              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
9195              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
9196              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
9197              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
9198              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
9199              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
9200              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
9201              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
9202              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
9203              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
9204              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
9205              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
9206              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
9207              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
9208              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
9209              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
9210              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
9211              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
9212              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
9213              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
9214              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
9215              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
9216              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
9217              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
9218              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
9219              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
9220              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
9221              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
9222              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
9223              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
9224              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
9225              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
9226              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
9227              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
9228              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
9229              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
9230              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
9231              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
9232              zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
9233              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
9234              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
9235              zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
9236              zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
9237              zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG
9238            LIMIT G_LINES_PER_FETCH;
9239 
9240          FOR l_trx_line_index IN 1 .. NVL(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
9241          LOOP
9242            -- Bug 5524869. Added the logic to rollback only failed transaction.
9243            BEGIN
9244              -- Bug fix 5417887 begin
9245              IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
9246                l_flag := TRUE;
9247                SAVEPOINT Calculate_Tax;
9248 
9249                p_event_class_rec.LEGAL_ENTITY_ID              :=  zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index);
9250                p_event_class_rec.LEDGER_ID                    :=  zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index);
9251                p_event_class_rec.EVENT_TYPE_CODE              :=  zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index);
9252                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);
9253                p_event_class_rec.TRX_ID                       :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
9254                p_event_class_rec.TRX_DATE                     :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index);
9255                p_event_class_rec.REL_DOC_DATE                 :=  zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index);
9256                p_event_class_rec.PROVNL_TAX_DETERMINATION_DATE:=  zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index);
9257                p_event_class_rec.TRX_CURRENCY_CODE            :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index);
9258                p_event_class_rec.PRECISION                    :=  zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index);
9259                p_event_class_rec.CURRENCY_CONVERSION_TYPE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index);
9260                p_event_class_rec.CURRENCY_CONVERSION_RATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index);
9261                p_event_class_rec.CURRENCY_CONVERSION_DATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index);
9262                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);
9263                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);
9264                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);
9265                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);
9266                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);
9267                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);
9268                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);
9269                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);
9270                p_event_class_rec.ESTABLISHMENT_ID             :=  zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index);
9271 
9272                IF zx_global_structures_pkg.trx_line_dist_tbl.trx_currency_code(l_trx_line_index)is not NULL   AND
9273                   zx_global_structures_pkg.trx_line_dist_tbl.precision(l_trx_line_index) is not NULL THEN
9274                   p_event_class_rec.header_level_currency_flag := 'Y';
9275                END IF;
9276 
9277                IF  zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(l_trx_line_index) is NOT NULL
9278                AND zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(l_trx_line_index) is NOT NULL
9279                AND zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(l_trx_line_index) is NOT NULL
9280                THEN
9281                    pop_src_evnt_cls_info
9282                      ( p_trx_line_index  => l_trx_line_index,
9283                        p_event_class_rec => p_event_class_rec,
9284                        x_return_status 	 => l_return_status);
9285                END IF;
9286 
9287                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9288                   x_return_status := l_return_status;
9289                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9290                     RAISE FND_API.G_EXC_ERROR;
9291                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9292                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9293                   END IF;
9294                END IF;
9295 
9296                /* ----------------------------------------------------------------------+
9297                 |  Determine effective date                                             |
9298                 + ----------------------------------------------------------------------*/
9299                zx_valid_init_params_pkg.determine_effective_date(p_event_class_rec,
9300                                           l_effective_date,
9301                                           l_return_status
9302                                          );
9303 
9304                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9305                   x_return_status := l_return_status;
9306                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9307                     RAISE FND_API.G_EXC_ERROR;
9308                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9309                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9310                   END IF;
9311                END IF;
9312 
9313                IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
9314                 /* ----------------------------------------------------------------------+
9315                  | Bug 3129063 -      Setting the Security Context for Subscription      |
9316                  + ----------------------------------------------------------------------*/
9317                  zx_valid_init_params_pkg.get_tax_subscriber(p_event_class_rec,
9318                                     l_effective_date,
9319                                     l_return_status
9320                                    );
9321 
9322                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9323                    x_return_status := l_return_status;
9324                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9325                      RAISE FND_API.G_EXC_ERROR;
9326                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9327                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9328                    END IF;
9329                  END IF;
9330                ELSE
9331                    zx_security.g_effective_date := l_effective_date;
9332                    zx_security.name_value('EFFECTIVEDATE',to_char(l_effective_date));
9333                END IF;
9334 
9335                /* ----------------------------------------------------------------------+
9336                 |      Get Tax Event Type                                               |
9337                 + ----------------------------------------------------------------------*/
9338                 zx_valid_init_params_pkg.get_tax_event_type (l_return_status
9339                                    ,p_event_class_rec.event_class_code
9340                                    ,p_event_class_rec.application_id
9341                                    ,p_event_class_rec.entity_code
9342                                    ,p_event_class_rec.event_type_code
9343                                    ,p_event_class_rec.tax_event_class_code
9344                                    ,p_event_class_rec.tax_event_type_code
9345                                    ,p_event_class_rec.doc_status_code
9346                                    );
9347 
9348                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9349                  x_return_status := l_return_status;
9350                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9351                    RAISE FND_API.G_EXC_ERROR;
9352                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9353                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9354                  END IF;
9355                END IF;
9356 
9357               /*----------------------------------+
9358                | Reassigning the retrieved values |
9359                +----------------------------------*/
9360                zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index) :=
9361                                                                    p_event_class_rec.tax_event_type_code;
9362                zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(l_trx_line_index) :=
9363                                                                    p_event_class_rec.doc_status_code;
9364 
9365                IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
9366                 /* ----------------------------------------------------------------------+
9367                  |      Populate Event Class Options                                     |
9368                  + ----------------------------------------------------------------------*/
9369                  zx_valid_init_params_pkg.populate_event_class_options(l_return_status,
9370                                               l_effective_date,
9371                                               p_event_class_rec
9372                                              );
9373 
9374                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9375                    x_return_status := l_return_status;
9376                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9377                      RAISE FND_API.G_EXC_ERROR;
9378                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9379                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9380                    END IF;
9381                  END IF;
9382                END IF;
9383 
9384                /* ----------------------------------------------------------------------+
9385                 |      Get the locations for parties and their ptp ids                  |
9386                 + ----------------------------------------------------------------------*/
9387                zx_valid_init_params_pkg.get_loc_id_and_ptp_ids(
9388                                 p_event_class_rec  => p_event_class_rec,
9389                                 p_trx_line_index   => l_trx_line_index,
9390                                 x_return_status    => l_return_status
9391                               );
9392 
9393                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9394                  x_return_status := l_return_status;
9395                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9396                    RAISE FND_API.G_EXC_ERROR;
9397                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9398                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9399                  END IF;
9400                END IF;
9401 
9402                zx_global_structures_pkg.g_event_class_rec := p_event_class_rec;
9403 
9404                IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
9405 
9406                  -- set flag to indicate there is at least one trx in the batch for update event
9407                  -- this flag will be used in TRL bulk process.
9408                  ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
9409 
9410                  ZX_TRL_DETAIL_OVERRIDE_PKG.lock_dtl_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
9411                                                                        p_entity_code         => p_event_class_rec.entity_code,
9412                                                                        p_event_class_code    => p_event_class_rec.event_class_code,
9413                                                                        p_trx_id              => p_event_class_rec.trx_id,
9414                                                                        x_return_status       => l_return_status,
9415                                                                        x_error_buffer        => l_error_buffer
9416                                                                        );
9417 
9418                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9419                    x_return_status := l_return_status;
9420                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9421                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9422                             ' RETURN_STATUS = ' || x_return_status);
9423                    END IF;
9424                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9425                      RAISE FND_API.G_EXC_ERROR;
9426                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9427                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9428                    END IF;
9429                  END IF;
9430 
9431                  ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
9432                                                                          p_entity_code         => p_event_class_rec.entity_code,
9433                                                                          p_event_class_code    => p_event_class_rec.event_class_code,
9434                                                                          p_trx_id              => p_event_class_rec.trx_id,
9435                                                                          x_return_status       => l_return_status,
9436                                                                          x_error_buffer        => l_error_buffer
9437                                                                          );
9438                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9439                    x_return_status := l_return_status;
9440                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9441                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9442                             ' RETURN_STATUS = ' || x_return_status);
9443                    END IF;
9444                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9445                      RAISE FND_API.G_EXC_ERROR;
9446                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9447                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9448                    END IF;
9449                  END IF;
9450 
9451                  ZX_TRL_DISTRIBUTIONS_PKG.lock_rec_nrec_dist_for_doc (p_application_id      => p_event_class_rec.application_id,
9452                                                                       p_entity_code         => p_event_class_rec.entity_code,
9453                                                                       p_event_class_code    => p_event_class_rec.event_class_code,
9454                                                                       p_trx_id              => p_event_class_rec.trx_id,
9455                                                                       x_return_status       => l_return_status,
9456                                                                       x_error_buffer        => l_error_buffer
9457                                                                       );
9458                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9459                    x_return_status := l_return_status;
9460                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9461                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9462                             ' RETURN_STATUS = ' || x_return_status);
9463                    END IF;
9464                    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9465                      RAISE FND_API.G_EXC_ERROR;
9466                    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9467                      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9468                    END IF;
9469                  END IF;
9470 
9471                END IF; --tax event type ='UPDATE'
9472 
9473                /* ===============================================================================*
9474                |Initialize the global structures/global temp tables owned by TDM at line level |
9475                * =============================================================================*/
9476                ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
9477                                                         'HEADER',
9478                                                          l_return_status
9479                                                        );
9480 
9481                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9482                   x_return_status := l_return_status;
9483                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9484                     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');
9485                   END IF;
9486                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9487                     RAISE FND_API.G_EXC_ERROR;
9488                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9489                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9490                   END IF;
9491                END IF;
9492 
9493                --Bugfix 4322369 - Call rounding API at document level
9494                --Call TDS get_rounding_level_and_rule
9495                ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
9496                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
9497                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
9498                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
9499                                                                    ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
9500                                                                    l_return_status,
9501                                                                    l_error_buffer
9502                                                                    );
9503 
9504                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9505                  x_return_status := l_return_status;
9506                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9507                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9508                       ' RETURN_STATUS = ' || x_return_status);
9509                  END IF;
9510                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9511                    RAISE FND_API.G_EXC_ERROR;
9512                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9513                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9514                  END IF;
9515               END IF;
9516 
9517                --Bugfix 4718307 - Call TDS to get the applicability flag for the party
9518                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,
9519                                                                       x_return_status => l_return_status
9520                                                                      );
9521 
9522                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9523                  x_return_status := l_return_status;
9524                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9525                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9526                       ' RETURN_STATUS = ' || x_return_status);
9527                  END IF;
9528                  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9529                    RAISE FND_API.G_EXC_ERROR;
9530                  ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9531                    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9532                  END IF;
9533                END IF;
9534 
9535              END IF; -- End of Trx Id Change check
9536              -- Bug fix 5417887 end
9537 
9538              -- Bug 5524869. If there is no error in the header then only process the trx lines
9539              IF l_flag = TRUE THEN
9540                /*-------------------------------------------------------+
9541                 |Lock the zx_line_det_factors table to prevent another  |
9542                 |user from updating same line via the forms/UIs while   |
9543                 |calculation is in progress                             |
9544                 +------------------------------------------------------*/
9545                 lock_line_det_facts (l_trx_line_index,
9546                                   p_event_class_rec,
9547                                   l_return_status
9548                                  );
9549 
9550                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9551                   x_return_status := l_return_status;
9552                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9553                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9554                      ' RETURN_STATUS = ' || x_return_status);
9555                   END IF;
9556                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9557                     RAISE FND_API.G_EXC_ERROR;
9558                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9559                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9560                   END IF;
9561                 END IF;
9562 
9563                 IF zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index) is not null AND
9564 	                 zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index)= 'U' THEN
9565                    l_update_index := l_trx_line_index;
9566                 END IF;
9567 
9568                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
9569                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
9570                 calculate_tax_pvt (p_event_class_rec,
9571                                    l_trx_line_index,
9572     	                             l_return_status
9573                                    );
9574 
9575                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9576                   x_return_status := l_return_status;
9577                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9578                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9579                      ' RETURN_STATUS = ' || x_return_status);
9580                   END IF;
9581                   -- Raise exception depending upon return_status
9582                   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9583                     RAISE FND_API.G_EXC_ERROR;
9584                   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9585                     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9586                   END IF;
9587                 END IF;
9588 
9589              ELSIF l_flag = FALSE THEN
9590                /*--------------------------------------------------------------+
9591                 | Call procedure to populate all the attributes of plsql table |
9592                 | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
9593                 | except key attributes at a index l_trx_line_index            |
9594                 +--------------------------------------------------------------*/
9595                 Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
9596                                            x_return_status => l_return_status);
9597 
9598                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9599                   x_return_status := l_return_status;
9600                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9601                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9602                      ' RETURN_STATUS = ' || x_return_status);
9603                   END IF;
9604                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9605                 END IF;
9606 
9607              END IF; -- End of Bug fix 5524869
9608 
9609            EXCEPTION
9610              WHEN FND_API.G_EXC_ERROR THEN
9611                ROLLBACK TO Calculate_Tax;
9612                l_flag := FALSE;
9613                IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
9614                  FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
9615                END IF;
9616 
9617                -- Handling single trx and multiple trxs processing
9618                IF l_no_of_trx IS NULL then
9619                  SELECT COUNT(*)
9620                    INTO l_no_of_trx
9621                    FROM zx_trx_headers_gt;
9622                END IF;
9623 
9624                IF l_no_of_trx = 0 THEN
9625                  -- Return
9626                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9627                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9628                                   'No record found in Headers GT Table.');
9629                  END IF;
9630                  RETURN;
9631                ELSIF l_no_of_trx = 1 THEN
9632                  -- Close cursor and Return
9633                  IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
9634                  RETURN;
9635                ELSIF l_no_of_trx > 1 THEN
9636                 /*--------------------------------------------------------------+
9637                  | Call procedure to populate all the attributes of plsql table |
9638                  | structure ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL |
9639                  | except key attributes at a index l_trx_line_index            |
9640                  +--------------------------------------------------------------*/
9641                  Pop_Index_Attrbs_To_Null ( p_index => l_trx_line_index,
9642                                             x_return_status => l_return_status);
9643                  -- Add error occurred for the trx into ZX_ERRORS_GT and continue
9644                  ZX_API_PUB.Dump_Msg;
9645                END IF;
9646 
9647            END; -- End of Bug fix 5524869
9648 
9649            -- Bug fix 5417887 begin
9650            IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
9651              -- populate the tax_regime_tbl cache structure for partner or LTE
9652              IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' OR
9653                 NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE'
9654              THEN
9655                  populate_ptnr_tax_regime_tbl;
9656              END IF;
9657              /*---------------------------------------------------------+
9658               |  Initialize the tax regime pl/sql strcture for every doc|
9659               +--------------------------------------------------------*/
9660               ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl;
9661 
9662               l_trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
9663               l_legal_entity_id := zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index);
9664               l_trx_date := zx_global_structures_pkg.trx_line_dist_tbl.trx_date(l_trx_line_index);
9665            END IF; -- Trx Id change check.
9666            -- Bug fix 5417887 end
9667          END LOOP;
9668 
9669         -- bug fix 54117887 begin
9670         IF p_event_class_rec.quote_flag ='Y' THEN
9671           db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
9672                                       p_event_class_rec    =>  p_event_class_rec,
9673                                       p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
9674                                       x_return_status      =>  l_return_status
9675                                       );
9676           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9677             x_return_status := l_return_status;
9678             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9679               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9680                  ' RETURN_STATUS = ' || x_return_status);
9681             END IF;
9682             RETURN;
9683           END IF;
9684         ELSIF p_event_class_rec.quote_flag ='N' AND p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
9685            IF l_update_index > 0 THEN
9686              db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
9687                                          p_event_class_rec    =>  p_event_class_rec,
9688                                          p_update_index       =>  l_update_index,
9689                                          x_return_status      =>  l_return_status
9690                                          );
9691              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9692                x_return_status := l_return_status;
9693                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9694                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9695                   ' RETURN_STATUS = ' || x_return_status);
9696                END IF;
9697                RETURN;
9698              END IF;
9699            END IF; --l_update_index
9700 
9701            db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
9702                                        p_event_class_rec    =>  p_event_class_rec,
9703                                        p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
9704                                        x_return_status      =>  l_return_status
9705                                       );
9706            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9707              x_return_status := l_return_status;
9708              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9709                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9710                   ' RETURN_STATUS = ' || x_return_status);
9711              END IF;
9712              RETURN;
9713            END IF;
9714         ELSIF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'CREATE' THEN
9715           db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
9716                                       p_event_class_rec    =>  p_event_class_rec,
9717                                       p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
9718                                       x_return_status      =>  l_return_status
9719                                       );
9720           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9721             x_return_status := l_return_status;
9722             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9723                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9724                ' RETURN_STATUS = ' || x_return_status);
9725             END IF;
9726             RETURN;
9727           END IF;
9728         END IF;
9729         -- bug fix 54117887 end
9730         EXIT WHEN c_lines%NOTFOUND;
9731         -- bug#6594730
9732         ZX_GLOBAL_STRUCTURES_PKG.init_detail_tax_regime_tbl;
9733      END LOOP;
9734      CLOSE c_lines;
9735 
9736    ELSIF (ZX_API_PUB.G_DATA_TRANSFER_MODE = 'PLS' AND l_lines_passed = 1) THEN
9737       -- bug fix 5499862
9738       IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
9739 
9740         -- set flag to indicate there is at least one trx in the batch fro update event
9741         -- this flag will be used in TRL bulk process.
9742         ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
9743       END IF;
9744 
9745       FOR l_trx_line_index IN 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
9746         LOOP
9747 
9748         /*-------------------------------------------------------+
9749          |Lock the zx_line_det_factors table to prevent another   |
9750          |user from updating same line via the forms/UIs while    |
9751          |calculation is in progress                              |
9752          +------------------------------------------------------*/
9753          lock_line_det_facts (l_trx_line_index,
9754                               p_event_class_rec,
9755                               l_return_status
9756                              );
9757          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9758             x_return_status := l_return_status;
9759             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9760               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9761               ' RETURN_STATUS = ' || x_return_status);
9762             END IF;
9763             RETURN;
9764          END IF;
9765          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
9766          --Copy from header attributes to line if line level attributes are passed null
9767          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index) is null THEN
9768            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index) :=
9769                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index);
9770          END IF;
9771          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index) is null THEN
9772            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index) :=
9773                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID(l_trx_line_index);
9774          END IF;
9775          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) is null THEN
9776            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) :=
9777                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID(l_trx_line_index);
9778          END IF;
9779          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) is null THEN
9780            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID(l_trx_line_index) :=
9781                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID(l_trx_line_index);
9782          END IF;
9783          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) is null THEN
9784            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) :=
9785                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID (l_trx_line_index);
9786          END IF;
9787          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) is null THEN
9788            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID(l_trx_line_index) :=
9789                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID(l_trx_line_index);
9790          END IF;
9791          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index) is null THEN
9792            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index) :=
9793                  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID(l_trx_line_index);
9794          END IF;
9795 
9796           -- Bug 6062224 - Populate l_update_index in PLS mode
9797           IF zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index) is not null AND
9798                 zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG(l_trx_line_index)= 'U' THEN
9799                     l_update_index := l_trx_line_index;
9800           END IF;
9801 
9802 
9803           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
9804          calculate_tax_pvt (p_event_class_rec,
9805                              l_trx_line_index,
9806                              l_return_status
9807     	                    );
9808 
9809           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9810              x_return_status := l_return_status;
9811              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9812                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9813                    ' RETURN_STATUS = ' || x_return_status);
9814              END IF;
9815              RETURN;
9816           END IF;
9817 
9818         END LOOP;
9819 
9820         IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
9821            populate_ptnr_tax_regime_tbl;
9822         END IF;
9823 
9824    ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' AND nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
9825       -- bug fix 5499862
9826       IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
9827 
9828         -- set flag to indicate there is at least one trx in the batch fro update event
9829         -- this flag will be used in TRL bulk process.
9830         ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
9831       END IF;
9832 
9833          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9834               BEGIN
9835                  SELECT count(*)
9836                    INTO l_count
9837                    FROM ZX_LINES_DET_FACTORS
9838                   WHERE application_id = p_event_class_rec.application_id
9839              	   AND entity_code = p_event_class_rec.entity_code
9840              	   AND event_class_code = p_event_class_rec.event_class_code
9841              	   AND trx_id = p_event_class_rec.trx_id
9842              	   AND tax_processing_completed_flag = 'N';
9843               END;
9844               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
9845                   ' p_event_class_rec.application_id = '||p_event_class_rec.application_id
9846                   || ' p_event_class_rec.entity_code = '||p_event_class_rec.entity_code
9847                   || ' p_event_class_rec.event_class_code = '||p_event_class_rec.event_class_code
9848                   || ' p_event_class_rec.trx_id = '||p_event_class_rec.trx_id
9849                   || ' l_count = ' || l_count);
9850          END IF;
9851       IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors;
9852         OPEN get_lines_det_factors(p_event_class_rec);
9853       ELSE
9854         OPEN get_lines_det_factors(p_event_class_rec);
9855       END IF;
9856         LOOP
9857          FETCH get_lines_det_factors BULK COLLECT INTO
9858            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
9859            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
9860            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
9861            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
9862            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
9863            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
9864            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
9865            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
9866            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
9867            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
9868            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
9869            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
9870            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
9871            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
9872            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
9873            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
9874            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
9875            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
9876            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
9877            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
9878            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
9879            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
9880            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
9881            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
9882            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
9883            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
9884            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
9885            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
9886            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
9887            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
9888            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
9889            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
9890            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
9891            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
9892            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
9893            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
9894            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
9895            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
9896            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
9897            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
9898            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
9899            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
9900            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
9901            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
9902            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
9903            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
9904            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
9905            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
9906            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
9907            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
9908            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
9909            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
9910            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
9911            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
9912            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
9913            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
9914            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
9915            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
9916            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
9917            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
9918            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
9919            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
9920            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
9921            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
9922            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
9923            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
9924            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
9925            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
9926            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
9927            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
9928            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
9929            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
9930            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
9931            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
9932            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
9933            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
9934            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
9935            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
9936            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
9937            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
9938            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
9939            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
9940            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
9941            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
9942            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
9943            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
9944            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
9945            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
9946            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
9947            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
9948            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
9949            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
9950            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
9951            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
9952            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
9953            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
9954            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
9955            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
9956            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
9957            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
9958            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
9959            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
9960            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
9961            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
9962            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
9963            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
9964            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
9965            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
9966            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
9967            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
9968            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
9969            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
9970            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
9971            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
9972            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
9973            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
9974            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
9975            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
9976            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
9977            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
9978            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
9979            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
9980            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
9981            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
9982            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
9983            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
9984            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
9985            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
9986            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
9987            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
9988            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
9989            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
9990            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
9991            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
9992            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
9993            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
9994            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
9995            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
9996            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
9997            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
9998            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
9999            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
10000            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
10001            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
10002            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
10003            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
10004            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
10005            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
10006            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
10007            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
10008            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
10009            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
10010            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
10011            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
10012            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
10013            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
10014            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
10015            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
10016            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
10017            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
10018            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
10019            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
10020            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
10021            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
10022            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
10023            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
10024            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
10025            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
10026            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
10027            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
10028            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
10029            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
10030            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
10031            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
10032            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
10033            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
10034            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
10035            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
10036            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
10037            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
10038            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
10039            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
10040            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
10041            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
10042            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
10043            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
10044            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
10045            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
10046            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
10047            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
10048            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
10049            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
10050            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
10051            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
10052            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
10053            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
10054            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
10055            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
10056            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
10057            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
10058            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
10059            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
10060            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
10061            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
10062            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
10063            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
10064            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
10065            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
10066            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
10067            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
10068            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
10069            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
10070            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
10071            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
10072            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
10073            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
10074            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
10075            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
10076            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
10077            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
10078            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
10079            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
10080            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
10081            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
10082            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
10083            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
10084            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
10085            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
10086            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
10087            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
10088            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
10089            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
10090            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
10091            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
10092            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
10093            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
10094            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
10095            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
10096            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
10097            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
10098            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
10099            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
10100            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
10101            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
10102            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
10103            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
10104            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
10105            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
10106            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
10107            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
10108            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
10109            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
10110            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
10111            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
10112            zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
10113            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
10114            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
10115            zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
10116            zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
10117            zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
10118            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
10119            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
10120            zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
10121            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
10122            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
10123            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
10124            zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
10125            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
10126            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
10127            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
10128            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
10129            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
10130            zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
10131            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
10132            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
10133            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
10134            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
10135            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
10136            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
10137            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
10138            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
10139            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
10140            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
10141            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
10142            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
10143            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
10144            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
10145            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
10146            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
10147            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
10148            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
10149            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
10150            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
10151            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
10152            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
10153          LIMIT G_LINES_PER_FETCH;
10154 
10155          FOR l_trx_line_index IN 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
10156            LOOP
10157 
10158              /*-------------------------------------------------------+
10159              |Lock the zx_line_det_factors table to prevent another   |
10160              |user from updating same line via the forms/UIs while    |
10161              |calculation is in progress                              |
10162              +------------------------------------------------------*/
10163              lock_line_det_facts(l_trx_line_index,
10164                                  p_event_class_rec,
10165                                  l_return_status
10166                                 );
10167              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10168                x_return_status := l_return_status;
10169                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10170                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10171                   ' RETURN_STATUS = ' || x_return_status);
10172                END IF;
10173                RETURN;
10174              END IF;
10175 
10176              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
10177              ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TOTAL_INC_TAX_AMT(l_trx_line_index) := 0;
10178 
10179              calculate_tax_pvt (p_event_class_rec,
10180                                 l_trx_line_index,
10181                                 l_return_status
10182     	      	               );
10183 
10184              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10185                x_return_status := l_return_status;
10186                IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors; END IF;
10187                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10188                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10189                   ' RETURN_STATUS = ' || x_return_status);
10190                END IF;
10191                RETURN;
10192              END IF;
10193 
10194          END LOOP;
10195 
10196          EXIT WHEN get_lines_det_factors%NOTFOUND;
10197 
10198      END LOOP;
10199      CLOSE get_lines_det_factors;
10200 
10201      IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
10202         populate_ptnr_tax_regime_tbl;
10203      END IF;
10204 
10205    END IF;
10206 
10207     /*Merge ruled out by performance due to record of table structure*/
10208     --Do not perform updates in case of lines called from Determining Factors window since
10209     --line is already updated in zx_lines_det_factors due to call to update table handler
10210     -- by products
10211 
10212     --Tax calculation has been successfully performed on this document
10213     p_event_class_rec.TAX_CALCULATION_DONE_FLAG := 'Y';
10214 
10215     -- bug fix 54117887 begin
10216     IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
10217       IF p_event_class_rec.quote_flag ='Y' and ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
10218            db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10219                                        p_event_class_rec    =>  p_event_class_rec,
10220                                        p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
10221                                        x_return_status      =>  l_return_status
10222                                        );
10223            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10224              x_return_status := l_return_status;
10225              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10226                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10227                   ' RETURN_STATUS = ' || x_return_status);
10228              END IF;
10229              RETURN;
10230            END IF;
10231       ELSIF p_event_class_rec.quote_flag ='N' AND p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' THEN
10232           IF  ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
10233             IF l_update_index > 0 THEN
10234               db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10235                                           p_event_class_rec    =>  p_event_class_rec,
10236                                           p_update_index       =>  l_update_index,
10237                                           x_return_status      =>  l_return_status
10238                                           );
10239               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10240                 x_return_status := l_return_status;
10241                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10242                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10243                    ' RETURN_STATUS = ' || x_return_status);
10244                 END IF;
10245                 RETURN;
10246               END IF;
10247             END IF; --l_update_index
10248 
10249             db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
10250                                         p_event_class_rec    =>  p_event_class_rec,
10251                                         p_insert_index       =>  l_update_index+1,
10252                                         x_return_status      =>  l_return_status
10253                                        );
10254             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10255               x_return_status := l_return_status;
10256               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10257                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10258                    ' RETURN_STATUS = ' || x_return_status);
10259               END IF;
10260               RETURN;
10261             END IF;
10262           ELSIF p_event_class_rec.quote_flag ='N' AND ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
10263 	    db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10264                                         p_event_class_rec    =>  p_event_class_rec,
10265                                         p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
10266                                         x_return_status      =>  l_return_status
10267                                        );
10268             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10269                x_return_status := l_return_status;
10270                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10271                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10272                  ' RETURN_STATUS = ' || x_return_status);
10273                END IF;
10274                RETURN;
10275             END IF;
10276           END IF;
10277       ELSIF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'CREATE' THEN
10278           IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'WIN' THEN
10279             db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10280                                         p_event_class_rec    =>  p_event_class_rec,
10281                                         p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
10282                                         x_return_status      =>  l_return_status
10283                                         );
10284             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10285               x_return_status := l_return_status;
10286               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10287                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10288                  ' RETURN_STATUS = ' || x_return_status);
10289               END IF;
10290               RETURN;
10291             END IF;
10292           --Do not perform inserts in case of lines called from Determining Factors window since
10293           --line is already existing in zx_lines_det_factors
10294       ELSIF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
10295             db_update_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
10296                                         p_event_class_rec    =>  p_event_class_rec,
10297                                         p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
10298                                         x_return_status      =>  l_return_status
10299                                        );
10300 
10301             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10302               x_return_status := l_return_status;
10303               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10304                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10305                  ' RETURN_STATUS = ' || x_return_status);
10306               END IF;
10307               RETURN;
10308             END IF;
10309          END IF;
10310       END IF;
10311     END IF;
10312     -- bug fix 54117887 end
10313 
10314     -- Handle the scenario where only one transaction is passed with no transaction
10315     -- lines - Case of delete only lines for a transaction.
10316 
10317     IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'TAB' THEN
10318 
10319       IF p_event_class_rec.EVENT_TYPE_CODE IS NULL THEN
10320 
10321         BEGIN
10322           SELECT event_type_code
10323           INTO   p_event_class_rec.event_type_code
10324           FROM ZX_TRX_HEADERS_GT
10325           WHERE rownum=1;
10326         EXCEPTION
10327           WHEN OTHERS THEN
10328             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10329                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10330                  'Not able to find event type code - No transaction lines passed');
10331             END IF;
10332 
10333             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10334 
10335         END;
10336         /* ----------------------------------------------------------------------+
10337           |      Get Tax Event Type                                               |
10338           + ----------------------------------------------------------------------*/
10339           zx_valid_init_params_pkg.get_tax_event_type (l_return_status
10340                               ,p_event_class_rec.event_class_code
10341                               ,p_event_class_rec.application_id
10342                               ,p_event_class_rec.entity_code
10343                               ,p_event_class_rec.event_type_code
10344                               ,p_event_class_rec.tax_event_class_code
10345                               ,p_event_class_rec.tax_event_type_code
10346                               ,p_event_class_rec.doc_status_code
10347                               );
10348 
10349           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10350             x_return_status := l_return_status;
10351             Return;
10352           END IF;
10353 
10354       END IF;
10355 
10356     END IF;
10357 
10358     -- nipatel
10359     IF p_event_class_rec.tax_event_type_code ='UPDATE' THEN
10360 
10361       -- set flag to indicate there is at least one trx in the batch fro update event
10362       -- this flag will be used in TRL bulk process.
10363       ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag := 'Y';
10364 
10365       ZX_TRL_DETAIL_OVERRIDE_PKG.lock_dtl_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
10366                                                             p_entity_code         => p_event_class_rec.entity_code,
10367                                                             p_event_class_code    => p_event_class_rec.event_class_code,
10368                                                             p_trx_id              => p_event_class_rec.trx_id,
10369                                                             x_return_status       => l_return_status,
10370                                                             x_error_buffer        => l_error_buffer
10371                                                             );
10372 
10373       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10374         x_return_status := l_return_status;
10375         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10376           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10377                  ' RETURN_STATUS = ' || x_return_status);
10378         END IF;
10379         RAISE FND_API.G_EXC_ERROR;
10380       END IF;
10381 
10382       ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc(p_application_id      => p_event_class_rec.application_id,
10383                                                               p_entity_code         => p_event_class_rec.entity_code,
10384                                                               p_event_class_code    => p_event_class_rec.event_class_code,
10385                                                               p_trx_id              => p_event_class_rec.trx_id,
10386                                                               x_return_status       => l_return_status,
10387                                                               x_error_buffer        => l_error_buffer
10388                                                               );
10389       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10390         x_return_status := l_return_status;
10391         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10392           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10393                  ' RETURN_STATUS = ' || x_return_status);
10394         END IF;
10395         RAISE FND_API.G_EXC_ERROR;
10396       END IF;
10397 
10398       ZX_TRL_DISTRIBUTIONS_PKG.lock_rec_nrec_dist_for_doc (p_application_id      => p_event_class_rec.application_id,
10399                                                            p_entity_code         => p_event_class_rec.entity_code,
10400                                                            p_event_class_code    => p_event_class_rec.event_class_code,
10401                                                            p_trx_id              => p_event_class_rec.trx_id,
10402                                                            x_return_status       => l_return_status,
10403                                                            x_error_buffer        => l_error_buffer
10404                                                            );
10405       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10406         x_return_status := l_return_status;
10407         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10408           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10409                  ' RETURN_STATUS = ' || x_return_status);
10410         END IF;
10411         RAISE FND_API.G_EXC_ERROR;
10412       END IF;
10413 
10414     END IF; --tax event type ='UPDATE'
10415     -- nipatel
10416 
10417     --Call LTE package if tax method is LTE
10418     IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
10419 
10420       -- bug#5665057-
10421       IF ZX_API_PUB.G_DATA_TRANSFER_MODE = 'WIN' THEN
10422         update zx_lines_det_factors
10423             set event_id = p_event_class_rec.event_id
10424           where application_id = p_event_class_rec.application_id
10425             AND entity_code = p_event_class_rec.entity_code
10426             AND event_class_code = p_event_class_rec.event_class_code
10427             AND trx_id = p_event_class_rec.trx_id;
10428       END IF;
10429 
10430      IF ZX_API_PUB.G_DATA_TRANSFER_MODE <> 'TAB' THEN
10431 
10432         call_lte (p_event_class_rec => p_event_class_rec,
10433                 x_return_status   => l_return_status
10434                );
10435 
10436         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10437           x_return_status := l_return_status;
10438           Return;
10439         END IF;
10440 
10441      ELSE
10442 
10443 
10444            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10445                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10446                  'Tax Method is LTE. Calling LTE in a loop ');
10447                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10448                  ' Looping over ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl. Number of records: '||
10449                     to_char(nvl(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.LAST,0)) );
10450            END IF;
10451 
10452            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)
10453            LOOP
10454 
10455             BEGIN -- Begin of Bug fix 5524869
10456 
10457                SAVEPOINT Calculate_Tax_LTE;
10458 
10459                l_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).application_id;
10460                l_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_class_code;
10461                l_event_class_rec.entity_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).entity_code;
10462                l_event_class_rec.internal_organization_id   :=  ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).internal_organization_id;
10463                l_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).trx_id;
10464                l_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_class_mapping_id;
10465                l_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_type_code;
10466                l_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).record_flag;
10467                l_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).quote_flag;
10468                l_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).record_for_partners_flag;
10469                l_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).prod_family_grp_code;
10470 
10471 
10472                /*--------------------------------------------+
10473                |   Call to zx_security.set_security_context |
10474                +--------------------------------------------*/
10475                ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).legal_entity_id,
10476                                           ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).internal_organization_id,
10477                                           ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).effective_date,
10478                                           l_return_status
10479                                           );
10480 
10481                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10482                  x_return_status := l_return_status;
10483                  RAISE FND_API.G_EXC_ERROR;
10484                END IF;
10485 
10486               call_lte (p_event_class_rec => l_event_class_rec,
10487                 x_return_status   => l_return_status
10488                );
10489 
10490                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10491                  x_return_status := l_return_status;
10492                  RAISE FND_API.G_EXC_ERROR;
10493                END IF;
10494 
10495            EXCEPTION
10496                  WHEN FND_API.G_EXC_ERROR THEN
10497                    ROLLBACK TO Calculate_Tax_LTE;
10498                    --Commented by ssohal : Call API to dump into zx_errors_gt
10499                    --populate_errors(l_event_class_rec,l_return_status); --this will retest l_return_status
10500                    --ZX_API_PUB.dump_msg;
10501                    IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
10502                      FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
10503                    END IF;
10504            END; -- End of Bug fix 5524869
10505 
10506           END LOOP;
10507 
10508      END IF;
10509 
10510       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10511         x_return_status := l_return_status;
10512         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10513            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10514               ' RETURN_STATUS = ' || x_return_status);
10515         END IF;
10516         RETURN;
10517       END IF;
10518     END IF; --tax_method_code is LTE
10519 
10520     /*******************************PARTNER CODE START ****************************/
10521     /* ---------------------------------------------------------------------+
10522      |  Check if partner applicable to call partner related routines        |
10523      + ---------------------------------------------------------------------*/
10524 
10525     IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
10526        IF zx_global_structures_pkg.g_event_class_rec.tax_event_type_code = 'UPDATE' THEN
10527           ptnr_calculate_tax_pvt(p_event_class_rec   => zx_global_structures_pkg.g_event_class_rec,
10528                                  x_return_status     => l_return_status
10529                                 );
10530        ELSE
10531           ptnr_bulk_calc_tax_pvt(x_return_status   => l_return_status);
10532        END IF;
10533     END IF;
10534 
10535     -- Added following code to check return status after partner call
10536     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10537         x_return_status := l_return_status;
10538         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10539            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
10540               ' RETURN_STATUS = ' || x_return_status);
10541         END IF;
10542         RETURN;
10543     END IF;
10544 
10545     /*******************************PARTNER CODE END ****************************/
10546 
10547       IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10548         FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
10549       END IF;
10550 
10551  EXCEPTION
10552    WHEN OTHERS THEN
10553      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10554      IF lines%ISOPEN THEN CLOSE lines; END IF;
10555      IF get_lines_det_factors%ISOPEN THEN CLOSE get_lines_det_factors; END IF;
10556      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
10557         FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
10558      END IF;
10559  END calculate_tax;
10560 
10561 -----------------------------------------------------------------------
10562 --  PUBLIC PROCEDURE
10563 --  import
10564 --
10565 --  DESCRIPTION
10566 --  Import document processing
10567 --
10568 --  CALLED BY
10569 --    ZX_API_PUB.import_document_with_tax
10570 -----------------------------------------------------------------------
10571  PROCEDURE import
10572  ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
10573    x_return_status   OUT    NOCOPY VARCHAR2
10574  ) IS
10575  l_api_name                    CONSTANT VARCHAR2(30) := 'IMPORT';
10576  l_trx_line_index              BINARY_INTEGER;
10577  l_tax_prof_id                 NUMBER;
10578  l_internal_org_location_id    NUMBER;
10579  l_cursor_rows                 NUMBER;
10580  l_return_status               VARCHAR2(30);
10581  l_error_buffer                VARCHAR2(2000);
10582  l_context_info_rec            ZX_API_PUB.context_info_rec_type;
10583  l_location_type_tbl           ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
10584  l_location_id_tbl             ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
10585  i                             NUMBER;
10586  l_flag                        BOOLEAN;
10587  l_tax_calc_flag               VARCHAR2(10);
10588  l_count_line_level_action     NUMBER;
10589 
10590    -- bug fix 5417887 begin
10591   l_trx_id                      NUMBER := -1;
10592   l_trx_type_id                  NUMBER := -1;
10593   l_legal_entity_id             NUMBER := -1;
10594   l_trx_date                    DATE := TO_DATE('01/01/1951', 'DD/MM/RRRR');
10595   l_effective_date              DATE;
10596   l_event_class_rec             ZX_API_PUB.event_class_rec_type;
10597 
10598   l_line_level_indx             NUMBER;
10599   -- bug fix 5417887 end
10600 
10601   /* this cursor is the same as c_lines. So we will be using c_lines cursor instead.
10602     So commenting out this cursor
10603 
10604   Cursor for import_document_with_tax API - need to retrieve only those lines
10605      that have passed validation in the validate and default API run
10606   Cursor get_imported_lines(p_event_class_rec zx_api_pub.event_class_rec_type) is
10607   SELECT   INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1)
10608           header.INTERNAL_ORGANIZATION_ID           ,
10609           header.APPLICATION_ID                     ,
10610           header.ENTITY_CODE                        ,
10611           header.EVENT_CLASS_CODE                   ,
10612           header.EVENT_TYPE_CODE                    ,
10613           header.TRX_ID                             ,
10614           trxlines.TRX_LEVEL_TYPE                   ,
10615           trxlines.TRX_LINE_ID                      ,
10616           trxlines.LINE_LEVEL_ACTION                ,
10617           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE),  --Bugfix 4938879
10618           header.TRX_DATE                           ,
10619           header.TRX_DOC_REVISION                   ,
10620           header.LEDGER_ID                          ,
10621           header.TRX_CURRENCY_CODE                  ,
10622           header.CURRENCY_CONVERSION_DATE           ,
10623           header.CURRENCY_CONVERSION_RATE           ,
10624           header.CURRENCY_CONVERSION_TYPE           ,
10625           header.MINIMUM_ACCOUNTABLE_UNIT           ,
10626           header.PRECISION                          ,
10627           trxlines.TRX_LINE_CURRENCY_CODE           ,
10628           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
10629           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
10630           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
10631           trxlines.TRX_LINE_MAU                     ,
10632           trxlines.TRX_LINE_PRECISION               ,
10633           trxlines.TRX_SHIPPING_DATE                ,
10634           trxlines.TRX_RECEIPT_DATE                 ,
10635           header.LEGAL_ENTITY_ID                    ,
10636           header.ROUNDING_SHIP_TO_PARTY_ID          ,
10637           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
10638           header.ROUNDING_BILL_TO_PARTY_ID          ,
10639           header.ROUNDING_BILL_FROM_PARTY_ID        ,
10640           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
10641           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
10642           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
10643           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
10644           header.ESTABLISHMENT_ID                   ,
10645           trxlines.TRX_LINE_TYPE                    ,
10646           trxlines.TRX_LINE_DATE                    ,
10647           trxlines.TRX_BUSINESS_CATEGORY            ,
10648           trxlines.LINE_INTENDED_USE                ,
10649           trxlines.USER_DEFINED_FISC_CLASS          ,
10650           trxlines.LINE_AMT                         ,
10651           trxlines.TRX_LINE_QUANTITY                ,
10652           trxlines.UNIT_PRICE                       ,
10653           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
10654           trxlines.EXEMPT_REASON                    ,
10655           trxlines.CASH_DISCOUNT                    ,
10656           trxlines.VOLUME_DISCOUNT                  ,
10657           trxlines.TRADING_DISCOUNT                 ,
10658           trxlines.TRANSFER_CHARGE                  ,
10659           trxlines.TRANSPORTATION_CHARGE            ,
10660           trxlines.INSURANCE_CHARGE                 ,
10661           trxlines.OTHER_CHARGE                     ,
10662           trxlines.PRODUCT_ID                       ,
10663           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
10664           trxlines.PRODUCT_ORG_ID                   ,
10665           trxlines.UOM_CODE                         ,
10666           trxlines.PRODUCT_TYPE                     ,
10667           trxlines.PRODUCT_CODE                     ,
10668           trxlines.PRODUCT_CATEGORY                 ,
10669           trxlines.TRX_SIC_CODE                     ,
10670           trxlines.FOB_POINT                        ,
10671           trxlines.SHIP_TO_PARTY_ID                 ,
10672           trxlines.SHIP_FROM_PARTY_ID               ,
10673           trxlines.POA_PARTY_ID                     ,
10674           trxlines.POO_PARTY_ID                     ,
10675           trxlines.BILL_TO_PARTY_ID                 ,
10676           trxlines.BILL_FROM_PARTY_ID               ,
10677           trxlines.MERCHANT_PARTY_ID                ,
10678           trxlines.SHIP_TO_PARTY_SITE_ID            ,
10679           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
10680           trxlines.POA_PARTY_SITE_ID                ,
10681           trxlines.POO_PARTY_SITE_ID                ,
10682           trxlines.BILL_TO_PARTY_SITE_ID            ,
10683           trxlines.BILL_FROM_PARTY_SITE_ID          ,
10684           trxlines.SHIP_TO_LOCATION_ID              ,
10685           trxlines.SHIP_FROM_LOCATION_ID            ,
10686           trxlines.POA_LOCATION_ID                  ,
10687           trxlines.POO_LOCATION_ID                  ,
10688           trxlines.BILL_TO_LOCATION_ID              ,
10689           trxlines.BILL_FROM_LOCATION_ID            ,
10690           trxlines.ACCOUNT_CCID                     ,
10691           trxlines.ACCOUNT_STRING                   ,
10692           trxlines.MERCHANT_PARTY_COUNTRY           ,
10693           header.RECEIVABLES_TRX_TYPE_ID            ,
10694           trxlines.REF_DOC_APPLICATION_ID           ,
10695           trxlines.REF_DOC_ENTITY_CODE              ,
10696           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
10697           trxlines.REF_DOC_TRX_ID                   ,
10698           trxlines.REF_DOC_LINE_ID                  ,
10699           trxlines.REF_DOC_LINE_QUANTITY            ,
10700           header.RELATED_DOC_APPLICATION_ID         ,
10701           header.RELATED_DOC_ENTITY_CODE            ,
10702           header.RELATED_DOC_EVENT_CLASS_CODE       ,
10703           header.RELATED_DOC_TRX_ID                 ,
10704           header.RELATED_DOC_NUMBER                 ,
10705           header.RELATED_DOC_DATE                   ,
10706           trxlines.APPLIED_FROM_APPLICATION_ID      ,
10707           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
10708           trxlines.APPLIED_FROM_ENTITY_CODE         ,
10709           trxlines.APPLIED_FROM_TRX_ID              ,
10710           trxlines.APPLIED_FROM_LINE_ID             ,
10711           trxlines.APPLIED_FROM_TRX_NUMBER          ,
10712           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
10713           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
10714           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
10715           trxlines.ADJUSTED_DOC_TRX_ID              ,
10716           trxlines.ADJUSTED_DOC_LINE_ID             ,
10717           trxlines.ADJUSTED_DOC_NUMBER              ,
10718           trxlines.ADJUSTED_DOC_DATE                ,
10719           trxlines.APPLIED_TO_APPLICATION_ID        ,
10720           trxlines.APPLIED_TO_ENTITY_CODE           ,
10721           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
10722           trxlines.APPLIED_TO_TRX_ID                ,
10723           trxlines.APPLIED_TO_TRX_LINE_ID           ,
10724           trxlines.TRX_ID_LEVEL2                    ,
10725           trxlines.TRX_ID_LEVEL3                    ,
10726           trxlines.TRX_ID_LEVEL4                    ,
10727           trxlines.TRX_ID_LEVEL5                    ,
10728           trxlines.TRX_ID_LEVEL6                    ,
10729           header.TRX_NUMBER                         ,
10730           header.TRX_DESCRIPTION                    ,
10731           trxlines.TRX_LINE_NUMBER                  ,
10732           trxlines.TRX_LINE_DESCRIPTION             ,
10733           trxlines.PRODUCT_DESCRIPTION              ,
10734           trxlines.TRX_WAYBILL_NUMBER               ,
10735           header.TRX_COMMUNICATED_DATE              ,
10736           trxlines.TRX_LINE_GL_DATE                 ,
10737           header.BATCH_SOURCE_ID                    ,
10738           header.BATCH_SOURCE_NAME                  ,
10739           header.DOC_SEQ_ID                         ,
10740           header.DOC_SEQ_NAME                       ,
10741           header.DOC_SEQ_VALUE                      ,
10742           header.TRX_DUE_DATE                       ,
10743           header.TRX_TYPE_DESCRIPTION               ,
10744           trxlines.MERCHANT_PARTY_NAME              ,
10745           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
10746           trxlines.MERCHANT_PARTY_REFERENCE         ,
10747           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
10748           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
10749           trxlines.PAYING_PARTY_ID                  ,
10750           trxlines.OWN_HQ_PARTY_ID                  ,
10751           trxlines.TRADING_HQ_PARTY_ID              ,
10752           trxlines.POI_PARTY_ID                     ,
10753           trxlines.POD_PARTY_ID                     ,
10754           trxlines.TITLE_TRANSFER_PARTY_ID          ,
10755           trxlines.PAYING_PARTY_SITE_ID             ,
10756           trxlines.OWN_HQ_PARTY_SITE_ID             ,
10757           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
10758           trxlines.POI_PARTY_SITE_ID                ,
10759           trxlines.POD_PARTY_SITE_ID                ,
10760           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
10761           trxlines.PAYING_LOCATION_ID               ,
10762           trxlines.OWN_HQ_LOCATION_ID               ,
10763           trxlines.TRADING_HQ_LOCATION_ID           ,
10764           trxlines.POC_LOCATION_ID                  ,
10765           trxlines.POI_LOCATION_ID                  ,
10766           trxlines.POD_LOCATION_ID                  ,
10767           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
10768           trxlines.ASSESSABLE_VALUE                 ,
10769           trxlines.ASSET_FLAG                       ,
10770           trxlines.ASSET_NUMBER                     ,
10771           trxlines.ASSET_ACCUM_DEPRECIATION         ,
10772           trxlines.ASSET_TYPE                       ,
10773           trxlines.ASSET_COST                       ,
10774           trxlines.NUMERIC1                         ,
10775           trxlines.NUMERIC2                         ,
10776           trxlines.NUMERIC3                         ,
10777           trxlines.NUMERIC4                         ,
10778           trxlines.NUMERIC5                         ,
10779           trxlines.NUMERIC6                         ,
10780           trxlines.NUMERIC7                         ,
10781           trxlines.NUMERIC8                         ,
10782           trxlines.NUMERIC9                         ,
10783           trxlines.NUMERIC10                        ,
10784           trxlines.CHAR1                            ,
10785           trxlines.CHAR2                            ,
10786           trxlines.CHAR3                            ,
10787           trxlines.CHAR4                            ,
10788           trxlines.CHAR5                            ,
10789           trxlines.CHAR6                            ,
10790           trxlines.CHAR7                            ,
10791           trxlines.CHAR8                            ,
10792           trxlines.CHAR9                            ,
10793           trxlines.CHAR10                           ,
10794           trxlines.DATE1                            ,
10795           trxlines.DATE2                            ,
10796           trxlines.DATE3                            ,
10797           trxlines.DATE4                            ,
10798           trxlines.DATE5                            ,
10799           trxlines.DATE6                            ,
10800           trxlines.DATE7                            ,
10801           trxlines.DATE8                            ,
10802           trxlines.DATE9                            ,
10803           trxlines.DATE10                           ,
10804           header.FIRST_PTY_ORG_ID                   ,
10805           header.TAX_EVENT_CLASS_CODE               ,
10806           header.TAX_EVENT_TYPE_CODE                ,
10807           header.DOC_EVENT_STATUS                   ,
10808           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
10809           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
10810           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
10811           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
10812           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
10813           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
10814           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
10815           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
10816           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
10817           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
10818           trxlines.POA_PARTY_TAX_PROF_ID            ,
10819           trxlines.POO_PARTY_TAX_PROF_ID            ,
10820           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
10821           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
10822           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
10823           trxlines.POI_PARTY_TAX_PROF_ID            ,
10824           trxlines.POD_PARTY_TAX_PROF_ID            ,
10825           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
10826           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
10827           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
10828           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
10829           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
10830           trxlines.POA_SITE_TAX_PROF_ID             ,
10831           trxlines.POO_SITE_TAX_PROF_ID             ,
10832           trxlines.PAYING_SITE_TAX_PROF_ID          ,
10833           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
10834           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
10835           trxlines.POI_SITE_TAX_PROF_ID             ,
10836           trxlines.POD_SITE_TAX_PROF_ID             ,
10837           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
10838           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
10839           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
10840           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
10841           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
10842           header.DOCUMENT_SUB_TYPE                  ,
10843           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
10844           header.SUPPLIER_TAX_INVOICE_DATE          ,
10845           header.SUPPLIER_EXCHANGE_RATE             ,
10846           header.TAX_INVOICE_DATE                   ,
10847           header.TAX_INVOICE_NUMBER                 ,
10848           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
10849           header.QUOTE_FLAG                         ,
10850           header.DEFAULT_TAXATION_COUNTRY           ,
10851           trxlines.HISTORICAL_FLAG                  ,
10852           header.INTERNAL_ORG_LOCATION_ID           ,
10853           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
10854           header.CTRL_TOTAL_HDR_TX_AMT              ,
10855           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
10856           null DIST_LEVEL_ACTION                    ,
10857           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
10858           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
10859           to_number(null) TASK_ID                   ,
10860           to_number(null) AWARD_ID                  ,
10861           to_number(null) PROJECT_ID                ,
10862           null EXPENDITURE_TYPE                     ,
10863           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
10864           null EXPENDITURE_ITEM_DATE                ,
10865           to_number(null) TRX_LINE_DIST_AMT         ,
10866           to_number(null) TRX_LINE_DIST_QUANTITY    ,
10867           to_number(null) REF_DOC_CURR_CONV_RATE    ,
10868           to_number(null) ITEM_DIST_NUMBER          ,
10869           to_number(null) REF_DOC_DIST_ID           ,
10870           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
10871           to_number(null) TRX_LINE_DIST_ID          ,
10872           to_number(null) APPLIED_FROM_DIST_ID      ,
10873           to_number(null) ADJUSTED_DOC_DIST_ID      ,
10874           to_number(null) OVERRIDING_RECOVERY_RATE  ,
10875           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
10876           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
10877           header.PORT_OF_ENTRY_CODE                 ,
10878           header.TAX_REPORTING_FLAG                 ,
10879           null TAX_AMT_INCLUDED_FLAG                ,
10880           null COMPOUNDING_TAX_FLAG                 ,
10881           header.SHIP_THIRD_PTY_ACCT_ID             ,
10882           header.BILL_THIRD_PTY_ACCT_ID             ,
10883           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
10884           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
10885           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
10886           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
10887           header.PROVNL_TAX_DETERMINATION_DATE      ,
10888           trxlines.START_EXPENSE_DATE               ,
10889           header.TRX_BATCH_ID                       ,
10890           header.APPLIED_TO_TRX_NUMBER              ,
10891           trxlines.SOURCE_APPLICATION_ID            ,
10892           trxlines.SOURCE_ENTITY_CODE               ,
10893           trxlines.SOURCE_EVENT_CLASS_CODE          ,
10894           trxlines.SOURCE_TRX_ID                    ,
10895           trxlines.SOURCE_LINE_ID                   ,
10896           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
10897           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
10898           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
10899           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
10900           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
10901           header.APPLICATION_DOC_STATUS             ,
10902           header.HDR_TRX_USER_KEY1                  ,
10903           header.HDR_TRX_USER_KEY2                  ,
10904           header.HDR_TRX_USER_KEY3                  ,
10905           header.HDR_TRX_USER_KEY4                  ,
10906           header.HDR_TRX_USER_KEY5                  ,
10907           header.HDR_TRX_USER_KEY6                  ,
10908           trxlines.LINE_TRX_USER_KEY1               ,
10909           trxlines.LINE_TRX_USER_KEY2               ,
10910           trxlines.LINE_TRX_USER_KEY3               ,
10911           trxlines.LINE_TRX_USER_KEY4               ,
10912           trxlines.LINE_TRX_USER_KEY5               ,
10913           trxlines.LINE_TRX_USER_KEY6               ,
10914           trxlines.SOURCE_TAX_LINE_ID               ,
10915           trxlines.EXEMPTION_CONTROL_FLAG           ,
10916           to_number(null) REVERSED_APPLN_ID         ,
10917           null REVERSED_ENTITY_CODE                 ,
10918           null REVERSED_EVNT_CLS_CODE               ,
10919           to_number(null) REVERSED_TRX_ID           ,
10920           to_number(null) REVERSED_TRX_LEVEL_TYPE   ,
10921           to_number(null) REVERSED_TRX_LINE_ID      ,
10922           trxlines.EXEMPT_REASON_CODE               ,
10923           trxlines.INTERFACE_ENTITY_CODE            ,
10924           trxlines.INTERFACE_LINE_ID                ,
10925           trxlines.DEFAULTING_ATTRIBUTE1            ,
10926           trxlines.DEFAULTING_ATTRIBUTE2            ,
10927           trxlines.DEFAULTING_ATTRIBUTE3            ,
10928           trxlines.DEFAULTING_ATTRIBUTE4            ,
10929           trxlines.DEFAULTING_ATTRIBUTE5            ,
10930           trxlines.DEFAULTING_ATTRIBUTE6            ,
10931           trxlines.DEFAULTING_ATTRIBUTE7            ,
10932           trxlines.DEFAULTING_ATTRIBUTE8            ,
10933           trxlines.DEFAULTING_ATTRIBUTE9            ,
10934           trxlines.DEFAULTING_ATTRIBUTE10           ,
10935           trxlines.HISTORICAL_TAX_CODE_ID           ,
10936           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
10937           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
10938           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
10939           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
10940           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
10941           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
10942           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
10943           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
10944           trxlines.GLOBAL_ATTRIBUTE1,
10945           to_number(null) TOTAL_INC_TAX_AMT         ,
10946           trxlines.USER_UPD_DET_FACTORS_FLAG
10947       FROM ZX_TRANSACTION_LINES_GT trxlines, ZX_TRX_HEADERS_GT header
10948       WHERE header.application_id = p_event_class_rec.application_id
10949         AND header.entity_code = p_event_class_rec.entity_code
10950         AND header.event_class_code = p_event_class_rec.event_class_code
10951         -- AND header.trx_id = p_event_class_rec.trx_id
10952         AND trxlines.application_id = header.application_id
10953         AND trxlines.entity_code = header.entity_code
10954         AND trxlines.event_class_code = header.event_class_code
10955         AND trxlines.trx_id = header.trx_id
10956      ORDER BY header.related_doc_application_id ASC NULLS FIRST ,
10957             header.legal_entity_id ASC,
10958             header.trx_date ASC,
10959             header.trx_id ASC;
10960     */
10961  BEGIN
10962    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10963      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
10964    END IF;
10965 
10966    x_return_status := FND_API.G_RET_STS_SUCCESS ;
10967 
10968    ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
10969                                   l_internal_org_location_id,
10970                                   l_return_status
10971                                  );
10972 
10973    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10974       x_return_status := l_return_status;
10975       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
10976         l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
10977         l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
10978         l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
10979         l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
10980         ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
10981       END IF;
10982       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
10983         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');
10984       END IF;
10985       RETURN;
10986    END IF;
10987 
10988   /*-----------------------------------------------------------------------*
10989    |  Bug 3698114 - In case of LTE, we need to fetch all the transaction    |
10990    |  into memory while in case of EBTax, they will be fetched in chunks    |
10991    |  of 1000. The below logic puts the constraint on the LIMIT of cursor   |
10992    *-----------------------------------------------------------------------
10993 
10994    Need not do this because we have a separeate loop for LTE which calls
10995    LTE calculation for each document
10996    IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
10997       l_cursor_rows := G_LINES_PER_FETCH ;
10998    ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
10999       l_cursor_rows := G_MAX_LINES_PER_FETCH ;
11000    END IF;
11001   */
11002    IF c_lines%ISOPEN THEN CLOSE c_lines;
11003      OPEN c_lines(p_event_class_rec);
11004    ELSE
11005      OPEN c_lines(p_event_class_rec);
11006    END IF;
11007    LOOP
11008          FETCH c_lines BULK COLLECT INTO
11009              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
11010              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
11011              zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
11012              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
11013              zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
11014              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
11015              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
11016              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
11017              zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
11018              zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
11019              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
11020              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
11021              zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
11022              zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
11023              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
11024              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
11025              zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
11026              zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
11027              zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
11028              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
11029              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
11030              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
11031              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
11032              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
11033              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
11034              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
11035              zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
11036              zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
11037              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
11038              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
11039              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
11040              zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
11041              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
11042              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
11043              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
11044              zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
11045              zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
11046              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
11047              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
11048              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
11049              zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
11050              zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
11051              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
11052              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
11053              zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
11054              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
11055              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
11056              zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
11057              zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
11058              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
11059              zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
11060              zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
11061              zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
11062              zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
11063              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
11064              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
11065              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
11066              zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
11067              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
11068              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
11069              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
11070              zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
11071              zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
11072              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
11073              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
11074              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
11075              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
11076              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
11077              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
11078              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
11079              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
11080              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
11081              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
11082              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
11083              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
11084              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
11085              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
11086              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
11087              zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
11088              zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
11089              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
11090              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
11091              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
11092              zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
11093              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
11094              zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
11095              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
11096              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
11097              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
11098              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
11099              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
11100              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
11101              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
11102              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
11103              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
11104              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
11105              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
11106              zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
11107              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
11108              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
11109              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
11110              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
11111              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
11112              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
11113              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
11114              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
11115              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
11116              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
11117              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
11118              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
11119              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
11120              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
11121              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
11122              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
11123              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
11124              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
11125              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
11126              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
11127              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
11128              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
11129              zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
11130              zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
11131              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
11132              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
11133              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
11134              zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
11135              zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
11136              zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
11137              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
11138              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
11139              zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
11140              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
11141              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
11142              zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
11143              zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
11144              zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
11145              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
11146              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
11147              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
11148              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
11149              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
11150              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
11151              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
11152              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
11153              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
11154              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
11155              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
11156              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
11157              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
11158              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
11159              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
11160              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
11161              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
11162              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
11163              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
11164              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
11165              zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
11166              zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
11167              zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
11168              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
11169              zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
11170              zx_global_structures_pkg.trx_line_dist_tbl.Asset_Flag,
11171              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
11172              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
11173              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
11174              zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
11175              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
11176              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
11177              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
11178              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
11179              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
11180              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
11181              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
11182              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
11183              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
11184              zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
11185              zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
11186              zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
11187              zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
11188              zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
11189              zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
11190              zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
11191              zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
11192              zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
11193              zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
11194              zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
11195              zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
11196              zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
11197              zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
11198              zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
11199              zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
11200              zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
11201              zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
11202              zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
11203              zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
11204              zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
11205              zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
11206              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
11207              zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
11208              zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
11209              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
11210              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
11211              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
11212              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
11213              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
11214              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
11215              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
11216              zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
11217              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
11218              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
11219              zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
11220              zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
11221              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
11222              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
11223              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
11224              zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
11225              zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
11226              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
11227              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
11228              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
11229              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
11230              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
11231              zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
11232              zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
11233              zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
11234              zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
11235              zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
11236              zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
11237              zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
11238              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
11239              zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
11240              zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
11241              zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
11242              zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
11243              zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
11244              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
11245              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
11246              zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
11247              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
11248              zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
11249              zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
11250              zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
11251              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
11252              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
11253              zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
11254              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
11255              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
11256              zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
11257              zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
11258              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
11259              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
11260              zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
11261              zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
11262              zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
11263              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
11264              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
11265              zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
11266              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
11267              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
11268              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
11269              zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
11270              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
11271              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
11272              zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
11273              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
11274              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
11275              zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
11276              zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
11277              zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
11278              zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
11279              zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
11280              zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
11281              zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
11282              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
11283              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
11284              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
11285              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
11286              zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
11287              zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
11288              zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
11289              zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
11290              zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
11291              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
11292              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
11293              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
11294              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
11295              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
11296              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
11297              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
11298              zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
11299              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
11300              zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
11301              zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
11302              zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
11303              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
11304              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
11305              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
11306              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
11307              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
11308              zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
11309              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
11310              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
11311              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
11312              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
11313              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
11314              zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
11315              zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
11316              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
11317              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
11318              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
11319              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
11320              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
11321              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
11322              zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
11323              zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
11324              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
11325              zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
11326              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
11327              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
11328              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
11329              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
11330              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
11331              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
11332              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
11333              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
11334              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
11335              zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
11336              zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
11337              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
11338              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
11339              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
11340              zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
11341              zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
11342              zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
11343              zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
11344              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
11345              zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
11346              zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
11347              zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
11348              zx_global_structures_pkg.trx_line_dist_tbl.INSERT_UPDATE_FLAG
11349            LIMIT G_LINES_PER_FETCH;
11350 
11351       FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
11352       LOOP
11353 
11354        	-- Bug 5524869. Added the logic to rollback only failed transaction.
11355        BEGIN
11356 
11357        IF zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index) <> l_trx_type_id  THEN
11358           SELECT TAX_CALCULATION_FLAG into l_tax_calc_flag
11359           FROM  RA_CUST_TRX_TYPES_ALL
11360           RTT WHERE
11361           RTT.CUST_TRX_TYPE_ID = zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index)
11362           AND RTT.ORG_ID = zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id(l_trx_line_index);
11363 
11364 
11365           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;
11366 
11367          l_trx_type_id := zx_global_structures_pkg.trx_line_dist_tbl.receivables_trx_type_id(l_trx_line_index);
11368 
11369        END IF;
11370 
11371 
11372        -- bug fix 5417887 begin
11373        IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
11374 
11375 	  l_flag := TRUE;
11376 	  SAVEPOINT Import_Doc;
11377 
11378 
11379 
11380           p_event_class_rec.LEGAL_ENTITY_ID              :=  zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index);
11381           p_event_class_rec.LEDGER_ID                    :=  zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index);
11382           p_event_class_rec.EVENT_TYPE_CODE              :=  zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE(l_trx_line_index);
11383           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);
11384           p_event_class_rec.TRX_ID                       :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
11385           p_event_class_rec.TRX_DATE                     :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index);
11386           p_event_class_rec.REL_DOC_DATE                 :=  zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index);
11387           p_event_class_rec.PROVNL_TAX_DETERMINATION_DATE:=  zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index);
11388           p_event_class_rec.TRX_CURRENCY_CODE            :=  zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index);
11389           p_event_class_rec.PRECISION                    :=  zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index);
11390           p_event_class_rec.CURRENCY_CONVERSION_TYPE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index);
11391           p_event_class_rec.CURRENCY_CONVERSION_RATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index);
11392           p_event_class_rec.CURRENCY_CONVERSION_DATE     :=  zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index);
11393           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);
11394           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);
11395           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);
11396           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);
11397           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);
11398           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);
11399           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);
11400           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);
11401           p_event_class_rec.ESTABLISHMENT_ID             :=  zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index);
11402 
11403           IF zx_global_structures_pkg.trx_line_dist_tbl.trx_currency_code(l_trx_line_index)is not NULL   AND
11404              zx_global_structures_pkg.trx_line_dist_tbl.precision(l_trx_line_index) is not NULL THEN
11405              p_event_class_rec.header_level_currency_flag := 'Y';
11406           END IF;
11407 
11408           IF  zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(l_trx_line_index) is NOT NULL
11409           AND zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(l_trx_line_index) is NOT NULL
11410           AND zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(l_trx_line_index) is NOT NULL
11411           THEN
11412              pop_src_evnt_cls_info
11413                   ( p_trx_line_index    => l_trx_line_index,
11414                      p_event_class_rec  => p_event_class_rec,
11415                      x_return_status 	=> l_return_status);
11416           END IF;
11417 
11418           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11419               x_return_status := l_return_status;
11420               RAISE FND_API.G_EXC_ERROR;
11421           END IF;
11422 
11423 
11424           /* ----------------------------------------------------------------------+
11425              |  Determine effective date                                             |
11426              + ----------------------------------------------------------------------*/
11427           zx_valid_init_params_pkg.determine_effective_date(p_event_class_rec,
11428                                      l_effective_date,
11429                                      l_return_status
11430                                     );
11431 
11432           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11433              x_return_status := l_return_status;
11434              RAISE FND_API.G_EXC_ERROR;
11435           END IF;
11436 
11437           IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
11438            /* ----------------------------------------------------------------------+
11439             | Bug 3129063 -      Setting the Security Context for Subscription      |
11440             + ----------------------------------------------------------------------*/
11441             zx_valid_init_params_pkg.get_tax_subscriber(p_event_class_rec,
11442        	                l_effective_date,
11443                                l_return_status
11444                               );
11445 
11446             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11447               x_return_status := l_return_status;
11448               RAISE FND_API.G_EXC_ERROR;
11449             END IF;
11450           ELSE
11451               zx_security.g_effective_date := l_effective_date;
11452               zx_security.name_value('EFFECTIVEDATE',to_char(l_effective_date));
11453           END IF;
11454 
11455          /* ----------------------------------------------------------------------+
11456           |      Get Tax Event Type                                               |
11457           + ----------------------------------------------------------------------*/
11458           zx_valid_init_params_pkg.get_tax_event_type (l_return_status
11459                               ,p_event_class_rec.event_class_code
11460                               ,p_event_class_rec.application_id
11461                               ,p_event_class_rec.entity_code
11462                               ,p_event_class_rec.event_type_code
11463                               ,p_event_class_rec.tax_event_class_code
11464                               ,p_event_class_rec.tax_event_type_code
11465                               ,p_event_class_rec.doc_status_code
11466                               );
11467 
11468           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11469             x_return_status := l_return_status;
11470             RAISE FND_API.G_EXC_ERROR;
11471           END IF;
11472 
11473           IF l_legal_entity_id <> zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index) THEN
11474            /* ----------------------------------------------------------------------+
11475             |      Populate Event Class Options                                     |
11476             + ----------------------------------------------------------------------*/
11477             zx_valid_init_params_pkg.populate_event_class_options(l_return_status,
11478                                          l_effective_date,
11479                                          p_event_class_rec
11480                                         );
11481 
11482             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11483               x_return_status := l_return_status;
11484               RAISE FND_API.G_EXC_ERROR;
11485             END IF;
11486           END IF;
11487 
11488         /* ----------------------------------------------------------------------+
11489           |      Get the locations for parties and their ptp ids                  |
11490           + ----------------------------------------------------------------------*/
11491 
11492            zx_valid_init_params_pkg.get_loc_id_and_ptp_ids(
11493                             p_event_class_rec  => p_event_class_rec,
11494                             p_trx_line_index   => l_trx_line_index,
11495                             x_return_status    => l_return_status
11496                           );
11497 
11498            IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11499              x_return_status := l_return_status;
11500              RAISE FND_API.G_EXC_ERROR;
11501            END IF;
11502 
11503             zx_global_structures_pkg.g_event_class_rec := p_event_class_rec;
11504 
11505             /* ===============================================================================*
11506              |Initialize the global structures/global temp tables owned by TDM at header level |
11507              * =============================================================================*/
11508              ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
11509                                                       'HEADER',
11510                                                       l_return_status
11511                                                      );
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,G_PKG_NAME||': '||l_api_name||':ZX_TDS_CALC_SERVICES_PUB_PKG.initialize returned errors');
11518                 END IF;
11519                 RAISE FND_API.G_EXC_ERROR;
11520              END IF;
11521 
11522 
11523 
11524          --Bugfix 4322369 - Call rounding API at document level
11525          ZX_TDS_TAX_ROUNDING_PKG.get_rounding_level_and_rule(p_event_class_rec,
11526                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_level,
11527                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_rule,
11528                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rnd_lvl_party_tax_prof_id,
11529                                                              ZX_TDS_CALC_SERVICES_PUB_PKG.g_rounding_lvl_party_type,
11530                                                              l_return_status,
11531                                                              l_error_buffer
11532                                                             );
11533 
11534          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11535            x_return_status := l_return_status;
11536            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11537               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11538                 ' RETURN_STATUS = ' || x_return_status);
11539            END IF;
11540            RAISE FND_API.G_EXC_ERROR;
11541          END IF;
11542 
11543 	 --bug#6334533
11544 	 --need to call prorate_imported_sum_tax_lines for the whole document if any line
11545 	 --has line_level_action as CREATE_WITH_TAX or LINE_INFO_TAX_ONLY.
11546 	 --commenting the call here for performance reasons.
11547 	 --moving the call down in a separate block.
11548 
11549 
11550 /*         SELECT COUNT(*)
11551 	 INTO l_count_line_level_action
11552          FROM ZX_TRANSACTION_LINES_GT
11553          WHERE application_id = zx_global_structures_pkg.trx_line_dist_tbl.application_id(l_trx_line_index)
11554          AND entity_code = zx_global_structures_pkg.trx_line_dist_tbl.entity_code(l_trx_line_index)
11555          AND event_class_code = zx_global_structures_pkg.trx_line_dist_tbl.event_class_code(l_trx_line_index)
11556          AND trx_id = zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index)
11557          AND line_level_action IN ('CREATE_WITH_TAX','LINE_INFO_TAX_ONLY');
11558 
11559           /* ====================================================================*
11560           |Prorate imported summary tax lines - call only if tax method is EBTAX|
11561           * ====================================================================*/
11562 /*          IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' AND
11563 	     l_count_line_level_action > 0
11564           THEN
11565             ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines (p_event_class_rec,
11566                                                                          l_return_status
11567                                                                         );
11568 
11569             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11570               x_return_status := l_return_status;
11571               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11572                 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');
11573               END IF;
11574               RAISE FND_API.G_EXC_ERROR;
11575             END IF;
11576           END IF;
11577 */
11578 
11579          --Bugfix 4718307 - Call TDS to get the applicability flag for the party
11580          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,
11581                                                                 x_return_status => l_return_status
11582                                                                );
11583 
11584          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11585            x_return_status := l_return_status;
11586            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11587               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11588                 ' RETURN_STATUS = ' || x_return_status);
11589            END IF;
11590            RAISE FND_API.G_EXC_ERROR;
11591          END IF;
11592 
11593       END IF; -- trx header changed
11594 
11595       --need to call prorate_imported_sum_tax_lines for the whole document if any line
11596       --has line_level_action as CREATE_WITH_TAX or LINE_INFO_TAX_ONLY.
11597       --changed the logic and moved the call down in a separate block for performance reasons.
11598 
11599       /* ====================================================================*
11600       |Prorate imported summary tax lines - call only if tax method is EBTAX|
11601       * ====================================================================*/
11602 
11603       IF NVL(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
11604 
11605         l_line_level_indx := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
11606 
11607         IF l_line_level_tbl.EXISTS(l_line_level_indx)
11608            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
11609           NULL;
11610         ELSE
11611           IF zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index)
11612                                                      IN ('CREATE_WITH_TAX','LINE_INFO_TAX_ONLY') THEN
11613 	     l_line_level_tbl(l_line_level_indx).trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
11614 
11615 	     ZX_TDS_CALC_SERVICES_PUB_PKG.prorate_imported_sum_tax_lines (p_event_class_rec,
11616                                                                           l_return_status
11617                                                                          );
11618 
11619             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11620               x_return_status := l_return_status;
11621               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11622                 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');
11623               END IF;
11624               RAISE FND_API.G_EXC_ERROR;
11625             END IF;
11626           END IF;
11627         END IF;
11628       END IF;
11629 
11630       -- Bug 5524869. If there is no error in the header then only process the trx lines
11631       IF l_flag = TRUE THEN
11632 
11633         --Bug 3687807 - assign line_amt to assessable_value if null
11634         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index) is null THEN
11635            ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index) :=
11636 		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(l_trx_line_index);
11637         END IF;
11638         --Populate the internal_organization_location_id
11639         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index) := l_internal_org_location_id;
11640 
11641 
11642        /* =============================================================================*
11643        |Initialize the global structures/global temp tables owned by TDM at Line level |
11644        * ==============================================================================*/
11645         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
11646                                                  'LINE',
11647                                                  l_return_status
11648                                                 );
11649 
11650         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11651            x_return_status := l_return_status;
11652            IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
11653            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11654                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11655                 ' RETURN_STATUS = ' || x_return_status);
11656            END IF;
11657            RAISE FND_API.G_EXC_ERROR;
11658         END IF;
11659 
11660        /* ----------------------------------------------------+
11661         |     Derive Internal_Flag Parameters                 |
11662         + ---------------------------------------------------*/
11663         derive_internal_parameters(l_return_status,
11664                                    l_trx_line_index,
11665                                    p_event_class_rec
11666                                   );
11667 
11668         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11669            x_return_status := l_return_status;
11670            IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
11671            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11672                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11673                 ' RETURN_STATUS = ' || x_return_status);
11674            END IF;
11675            RAISE FND_API.G_EXC_ERROR;
11676         END IF;
11677 
11678         BEGIN
11679         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11680           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))||
11681           ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index)||
11682           ', 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)||
11683           ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_line_index))||
11684           ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index))||
11685           ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index))||
11686           ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index))||
11687           ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index)||
11688           ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_line_index))||
11689           ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(l_trx_line_index)||
11690           ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_line_index))||
11691           ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_line_index)||
11692           ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_line_index))||
11693           ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_line_index))||
11694           ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_line_index)||
11695           ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(l_trx_line_index)||
11696           ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_line_index)||
11697           ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(l_trx_line_index))||
11698           ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(l_trx_line_index))||
11699           ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_line_index))||
11700           ', ROUNDING_SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(l_trx_line_index))||
11701           ', ROUNDING_SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(l_trx_line_index))||
11702           ', ROUNDING_BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(l_trx_line_index))||
11703           ', ROUNDING_BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(l_trx_line_index))||
11704           ', 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))||
11705           ', 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))||
11706           ', 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))||
11707           ', 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))||
11708           ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_line_index))||
11709           ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(l_trx_line_index)||
11710           ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(l_trx_line_index))||
11711           ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_line_index)||
11712           ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(l_trx_line_index)||
11713           ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_line_index)||
11714           ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(l_trx_line_index))||
11715           ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(l_trx_line_index))||
11716           ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(l_trx_line_index))||
11717           ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(l_trx_line_index)||
11718           ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(l_trx_line_index)||
11719           ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(l_trx_line_index)||
11720           ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(l_trx_line_index)||
11721           ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(l_trx_line_index)||
11722           ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(l_trx_line_index)||
11723           ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(l_trx_line_index)||
11724           ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(l_trx_line_index)||
11725           ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(l_trx_line_index)||
11726           ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(l_trx_line_index))||
11727           ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_line_index)||
11728           ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index))||
11729           ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(l_trx_line_index)||
11730           ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_line_index)||
11731           ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(l_trx_line_index)||
11732           ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_line_index)||
11733           ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(l_trx_line_index)||
11734           ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(l_trx_line_index)||
11735           ', FOB_POINT: '|| zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT(l_trx_line_index)||
11736           ', SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_line_index))||
11737           ', SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_line_index))||
11738           ', POA_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID(l_trx_line_index))||
11739           ', POO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID(l_trx_line_index))||
11740           ', BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID(l_trx_line_index))||
11741           ', BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID(l_trx_line_index))||
11742           ', MERCHANT_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID(l_trx_line_index)));
11743         END IF;
11744         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11745           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11746           ', SHIP_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID(l_trx_line_index))||
11747           ', SHIP_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID(l_trx_line_index))||
11748           ', POA_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID(l_trx_line_index))||
11749           ', POO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID(l_trx_line_index))||
11750           ', BILL_TO_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID(l_trx_line_index))||
11751           ', BILL_FROM_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID(l_trx_line_index))||
11752           ', SHIP_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID(l_trx_line_index))||
11753           ', SHIP_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID(l_trx_line_index))||
11754           ', POA_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID(l_trx_line_index))||
11755           ', POO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID(l_trx_line_index))||
11756           ', BILL_TO_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID(l_trx_line_index))||
11757           ', BILL_FROM_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID(l_trx_line_index))||
11758           ', ACCOUNT_CCID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID(l_trx_line_index))||
11759           ', ACCOUNT_STRING: '|| zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING(l_trx_line_index)||
11760           ', MERCHANT_PARTY_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY(l_trx_line_index)||
11761           ', RECEIVABLES_TRX_TYPE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID(l_trx_line_index))||
11762           ', REF_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID(l_trx_line_index))||
11763           ', REF_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE(l_trx_line_index)||
11764           ', REF_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
11765           ', REF_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID(l_trx_line_index))||
11766           ', REF_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID(l_trx_line_index))||
11767           ', REF_DOC_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY(l_trx_line_index))||
11768           ', RELATED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID(l_trx_line_index))||
11769           ', RELATED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE(l_trx_line_index)||
11770           ', RELATED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
11771           ', RELATED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID(l_trx_line_index))||
11772           ', RELATED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER(l_trx_line_index))||
11773           ', RELATED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE(l_trx_line_index))||
11774           ', APPLIED_FROM_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID(l_trx_line_index))||
11775           ', APPLIED_FROM_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE(l_trx_line_index)||
11776           ', APPLIED_FROM_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE(l_trx_line_index)||
11777           ', APPLIED_FROM_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID(l_trx_line_index))||
11778           ', APPLIED_FROM_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID(l_trx_line_index))||
11779           ', ADJUSTED_DOC_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(l_trx_line_index))||
11780           ', ADJUSTED_DOC_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE(l_trx_line_index)||
11781           ', ADJUSTED_DOC_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE(l_trx_line_index)||
11782           ', ADJUSTED_DOC_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID(l_trx_line_index))||
11783           ', ADJUSTED_DOC_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID(l_trx_line_index))||
11784           ', ADJUSTED_DOC_NUMBER: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER(l_trx_line_index))||
11785           ', ADJUSTED_DOC_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE(l_trx_line_index))||
11786           ', APPLIED_TO_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID(l_trx_line_index))||
11787           ', APPLIED_TO_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE(l_trx_line_index)||
11788           ', APPLIED_TO_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE(l_trx_line_index)||
11789           ', APPLIED_TO_TRX_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID(l_trx_line_index))||
11790           ', APPLIED_TO_TRX_LINE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID(l_trx_line_index))||
11791           ', TRX_ID_LEVEL2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2(l_trx_line_index))||
11792           ', TRX_ID_LEVEL3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3(l_trx_line_index))||
11793           ', TRX_ID_LEVEL4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4(l_trx_line_index))||
11794           ', TRX_ID_LEVEL5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5(l_trx_line_index))||
11795           ', TRX_ID_LEVEL6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6(l_trx_line_index))||
11796           ', TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER(l_trx_line_index)||
11797           ', TRX_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION(l_trx_line_index)||
11798           ', TRX_LINE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER(l_trx_line_index)||
11799           ', TRX_LINE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION(l_trx_line_index)||
11800           ', PRODUCT_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION(l_trx_line_index)||
11801           ', TRX_WAYBILL_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER(l_trx_line_index)||
11802           ', TRX_COMMUNICATED_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE(l_trx_line_index))||
11803           ', TRX_LINE_GL_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE(l_trx_line_index))||
11804           ', BATCH_SOURCE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID(l_trx_line_index))||
11805           ', BATCH_SOURCE_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME(l_trx_line_index)||
11806           ', DOC_SEQ_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID(l_trx_line_index))||
11807           ', DOC_SEQ_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME(l_trx_line_index)||
11808           ', DOC_SEQ_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE(l_trx_line_index)||
11809           ', TRX_DUE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE(l_trx_line_index))||
11810           ', TRX_TYPE_DESCRIPTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION(l_trx_line_index)||
11811           ', MERCHANT_PARTY_NAME: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME(l_trx_line_index)||
11812           ', MERCHANT_PARTY_DOCUMENT_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER(l_trx_line_index)||
11813           ', MERCHANT_PARTY_REFERENCE: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE(l_trx_line_index)||
11814           ', MERCHANT_PARTY_TAXPAYER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID(l_trx_line_index))||
11815           ', MERCHANT_PARTY_TAX_REG_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER(l_trx_line_index)
11816           --', PAYING_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID(l_trx_line_index))
11817           );
11818         END IF;
11819         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11820           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11821           --', OWN_HQ_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID(l_trx_line_index))||
11822           --', TRADING_HQ_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID(l_trx_line_index))||
11823           --', POI_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID(l_trx_line_index))||
11824           --', POD_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID(l_trx_line_index))||
11825           --', TITLE_TRANSFER_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID(l_trx_line_index))||
11826           --', PAYING_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID(l_trx_line_index))||
11827           --', OWN_HQ_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID(l_trx_line_index))||
11828           --', TRADING_HQ_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID(l_trx_line_index))||
11829           --', POI_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID(l_trx_line_index))||
11830           --', POD_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID(l_trx_line_index))||
11831           --', TITLE_TRANSFER_PARTY_SITE_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID(l_trx_line_index))||
11832           --', PAYING_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID(l_trx_line_index))||
11833           --', OWN_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID(l_trx_line_index))||
11834           --', TRADING_HQ_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID(l_trx_line_index))||
11835           --', POC_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID(l_trx_line_index))||
11836           --', POI_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID(l_trx_line_index))||
11837           --', POD_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID(l_trx_line_index))||
11838           --', TITLE_TRANSFER_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID(l_trx_line_index))||
11839           ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_line_index)||
11840           ', Asset_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG(l_trx_line_index)||
11841           ', ASSET_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER(l_trx_line_index)||
11842           ', ASSET_ACCUM_DEPRECIATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION(l_trx_line_index)||
11843           ', ASSET_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE(l_trx_line_index)||
11844           ', ASSET_COST: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST(l_trx_line_index)
11845           --', NUMERIC1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1(l_trx_line_index))||
11846           --', NUMERIC2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2(l_trx_line_index))||
11847           --', NUMERIC3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3(l_trx_line_index))||
11848           --', NUMERIC4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4(l_trx_line_index))||
11849           --', NUMERIC5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5(l_trx_line_index))||
11850           --', NUMERIC6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6(l_trx_line_index))||
11851           --', NUMERIC7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7(l_trx_line_index))||
11852           --', NUMERIC8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8(l_trx_line_index))||
11853           --', NUMERIC9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9(l_trx_line_index))||
11854           --', NUMERIC10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10(l_trx_line_index))||
11855           --', CHAR1: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR1(l_trx_line_index)||
11856           --', CHAR2: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR2(l_trx_line_index)||
11857           --', CHAR3: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR3(l_trx_line_index)||
11858           --', CHAR4: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR4(l_trx_line_index)||
11859           --', CHAR5: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR5(l_trx_line_index)||
11860           --', CHAR6: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR6(l_trx_line_index)||
11861           --', CHAR7: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR7(l_trx_line_index)||
11862           --', CHAR8: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR8(l_trx_line_index)||
11863           --', CHAR9: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR9(l_trx_line_index)||
11864           --', CHAR10: '|| zx_global_structures_pkg.trx_line_dist_tbl.CHAR10(l_trx_line_index)||
11865           --', DATE1: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE1(l_trx_line_index))||
11866           --', DATE2: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE2(l_trx_line_index))||
11867           --', DATE3: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE3(l_trx_line_index))||
11868           --', DATE4: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE4(l_trx_line_index))||
11869           --', DATE5: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE5(l_trx_line_index))||
11870           --', DATE6: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE6(l_trx_line_index))||
11871           --', DATE7: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE7(l_trx_line_index))||
11872           --', DATE8: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE8(l_trx_line_index))||
11873           --', DATE9: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE9(l_trx_line_index))||
11874           --', DATE10: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.DATE10(l_trx_line_index))
11875           );
11876         END IF;
11877         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11878           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11879           ', FIRST_PTY_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID(l_trx_line_index))||
11880           ', TAX_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE(l_trx_line_index)||
11881           ', TAX_EVENT_TYPE_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index)||
11882           ', DOC_EVENT_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS(l_trx_line_index)||
11883           ', 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))||
11884           ', 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))||
11885           ', 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))||
11886           ', 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))||
11887           ', 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))||
11888           ', 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))||
11889           ', 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))||
11890           ', 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))||
11891           ', 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))||
11892           ', 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))||
11893           ', POA_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID(l_trx_line_index))||
11894           ', POO_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID(l_trx_line_index))||
11895           ', PAYING_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID(l_trx_line_index))||
11896           ', 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))||
11897           ', 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))||
11898           ', POI_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID(l_trx_line_index))||
11899           ', POD_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID(l_trx_line_index))||
11900           ', 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))||
11901           ', 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))||
11902           ', 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))||
11903           ', 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))||
11904           ', 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))||
11905           ', POA_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID(l_trx_line_index))||
11906           ', POO_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID(l_trx_line_index))||
11907           ', PAYING_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID(l_trx_line_index))||
11908           ', 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))||
11909           ', 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))||
11910           ', POI_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID(l_trx_line_index))||
11911           ', POD_SITE_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID(l_trx_line_index))||
11912           ', 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))||
11913           ', 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))||
11914           ', 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))||
11915           ', MERCHANT_PARTY_TAX_PROF_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID(l_trx_line_index))||
11916           ', DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(l_trx_line_index)||
11917           ', SUPPLIER_TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER(l_trx_line_index)||
11918           ', SUPPLIER_TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE(l_trx_line_index))||
11919           ', SUPPLIER_EXCHANGE_RATE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE(l_trx_line_index)||
11920           ', TAX_INVOICE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE(l_trx_line_index))||
11921           ', TAX_INVOICE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER(l_trx_line_index)||
11922           ', LINE_AMT_INCLUDES_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG(l_trx_line_index)||
11923           ', QUOTE_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG(l_trx_line_index)||
11924           ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(l_trx_line_index)||
11925           ', Historical_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG(l_trx_line_index)||
11926           ', INTERNAL_ORG_LOCATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_line_index))||
11927           ', Ctrl_Hdr_Tx_Appl_Flag: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG(l_trx_line_index)||
11928           ', CTRL_TOTAL_HDR_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(l_trx_line_index)||
11929           ', CTRL_TOTAL_LINE_TX_AMT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT(l_trx_line_index)||
11930           ', DIST_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION(l_trx_line_index));
11931         END IF;
11932         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
11933           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
11934           ', ADJUSTED_DOC_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID(l_trx_line_index)) ||
11935           ', APPLIED_FROM_TAX_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID(l_trx_line_index)) ||
11936           ', TASK_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID(l_trx_line_index)) ||
11937           ', AWARD_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID(l_trx_line_index)) ||
11938           ', PROJECT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID(l_trx_line_index)) ||
11939           ', EXPENDITURE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE(l_trx_line_index) ||
11940           ', EXPENDITURE_ORGANIZATION_ID: '||to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID(l_trx_line_index)) ||
11941           ', EXPENDITURE_ITEM_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE(l_trx_line_index)) ||
11942           ', TRX_LINE_DIST_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT(l_trx_line_index)) ||
11943           ', TRX_LINE_DIST_QUANTITY: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY(l_trx_line_index)) ||
11944           ', REF_DOC_CURR_CONV_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE(l_trx_line_index)) ||
11945           ', ITEM_DIST_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER(l_trx_line_index) ||
11946           ', REF_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID(l_trx_line_index)) ||
11947           ', TRX_LINE_DIST_TAX_AMT: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT(l_trx_line_index))||
11948           ', TRX_LINE_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID(l_trx_line_index)) ||
11949           ', APPLIED_FROM_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID(l_trx_line_index)) ||
11950           ', ADJUSTED_DOC_DIST_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID(l_trx_line_index)) ||
11951           ', OVERRIDING_RECOVERY_RATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE(l_trx_line_index)) ||
11952           ', INPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(l_trx_line_index) ||
11953           ', OUTPUT_TAX_CLASSIFICATION_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(l_trx_line_index) ||
11954           ', PORT_OF_ENTRY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE(l_trx_line_index) ||
11955           ', TAX_REPORTING_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG(l_trx_line_index) ||
11956           ', TAX_AMT_INCLUDED_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG(l_trx_line_index) ||
11957           ', COMPOUNDING_TAX_FLAG: '|| zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG(l_trx_line_index) ||
11958           ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_line_index)) ||
11959           ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_line_index)) ||
11960           ', 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)) ||
11961           ', 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)) ||
11962           ', 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))||
11963           ', 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)) ||
11964           ', PROVNL_TAX_DETERMINATION_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE(l_trx_line_index)) ||
11965           ', START_EXPENSE_DATE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE(l_trx_line_index)) ||
11966           ', TRX_BATCH_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID(l_trx_line_index))||
11967           ', APPLIED_TO_TRX_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER(l_trx_line_index) ||
11968           ', SOURCE_APPLICATION_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID(l_trx_line_index)) ||
11969           ', SOURCE_ENTITY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE(l_trx_line_index) ||
11970           ', SOURCE_EVENT_CLASS_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(l_trx_line_index) ||
11971           ', SOURCE_TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID(l_trx_line_index)) ||
11972           ', SOURCE_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID(l_trx_line_index)) ||
11973           ', SOURCE_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE(l_trx_line_index) ||
11974           ', REF_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE(l_trx_line_index) ||
11975           ', APPLIED_TO_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE(l_trx_line_index) ||
11976           ', APPLIED_FROM_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE(l_trx_line_index) ||
11977           ', ADJUSTED_DOC_TRX_LEVEL_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE(l_trx_line_index) ||
11978           ', APPLICATION_DOC_STATUS: '|| zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS(l_trx_line_index) ||
11979           ', SOURCE_TAX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID(l_trx_line_index))||
11980           ', EXEMPTION_CONTROL_FLAG: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG(l_trx_line_index)||
11981           ', EXEMPT_REASON_CODE: '||  zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE(l_trx_line_index)
11982           );
11983         END IF;
11984         EXCEPTION
11985           WHEN OTHERS THEN
11986             null;
11987         END;
11988 
11989        /* ---------------------------------------------------------------------------+
11990         |                            Get Tax Regimes                                 |
11991         + ---------------------------------------------------------------------------*/
11992 
11993         /*---------------------------------------------------------------------------------+
11994     	 | Bug 3666786 - if process for applicability flag is  set to N                    |
11995     	 | * Do not call additional applicability if line level action is 'CREATE_WITH_TAX'|
11996     	 | * Do not perform additional applicability and calculation if line level action  |
11997     	 | is 'CREATE'                                                                     |
11998          +--------------------------------------------------------------------------------*/
11999 
12000         IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'EBTAX' THEN
12001         /* The following complex logic is not really required
12002            IF nvl(p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG,'Y') = 'N'
12003 	         AND zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE' THEN
12004 	         null;
12005            ELSE
12006              IF nvl(p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG,'Y') = 'N'
12007     	       AND zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE_WITH_TAX' THEN
12008     	       null;
12009            ELSE
12010          */
12011 
12012          /* -----------------------------------------------------------------------+
12013          | Bug 3937387 - Call get_tax_regimes irrespective of value in process_for_|
12014          | applicability_flag - Needed for TPI since TPI relies heavily on the     |
12015      	 | derivation of tax regimes by TDS                                        |
12016          + ----------------------------------------------------------------------*/
12017          --  IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
12018          --    null;
12019          --  ELSE
12020            IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_line_index) = 'CREATE'
12021              OR p_event_class_rec.perf_addnl_appl_for_imprt_flag = 'Y' THEN
12022 
12023                ZX_TDS_CALC_SERVICES_PUB_PKG.get_tax_regimes(l_trx_line_index,
12024                                                             p_event_class_rec,
12025                                                             l_return_status
12026                                                            );
12027 
12028                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12029                  x_return_status := l_return_status;
12030                  IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
12031                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12032                     FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12033                   ' RETURN_STATUS = ' || x_return_status);
12034                  END IF;
12035                  RAISE FND_API.G_EXC_ERROR;
12036                END IF;
12037              END IF; --line level action is CREATE
12038             /**************************PARTNER CODE START - Point 1b****************************/
12039             /*Stamp the provider information on the regimes table returned by the get_tax_regimes procedure
12040               and also populate the trx_app_regimes structure*/
12041 
12042 	   IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' THEN
12043 
12044                  ZX_TPI_SERVICES_PKG.popl_pvrdr_info_tax_reg_tbl (p_event_class_rec
12045                                                              ,l_trx_line_index
12046                                                              ,l_return_status
12047                                                              );
12048 
12049              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12050                x_return_status := l_return_status;
12051                IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
12052                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12053                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12054                  ' RETURN_STATUS = ' || x_return_status);
12055                END IF;
12056                RAISE FND_API.G_EXC_ERROR;
12057              END IF;
12058 
12059              /* -----------------------------------------------+
12060               |    Call TCM Location Caching API               |
12061               + -----------------------------------------------*/
12062 
12063              prepare_for_loc_caching(l_trx_line_index
12064                            ,p_event_class_rec
12065                            ,l_return_status
12066                             );
12067 
12068              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12069                 x_return_status := l_return_status;
12070                 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
12071                   l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index);
12072                   l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index);
12073                   l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index);
12074                   l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
12075                   l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index);
12076                   l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index);
12077                   ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
12078                 END IF;
12079                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12080                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12081                    ' RETURN_STATUS = ' || x_return_status);
12082                 END IF;
12083                 RAISE FND_API.G_EXC_ERROR;
12084              END IF;
12085 
12086            END IF; -- zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y'
12087 
12088            /*******************************PARTNER CODE END ****************************/
12089            --END IF; -- process for applicability flag is 'N'
12090 
12091              /* ----------------------------------------------------------------------+
12092              | Bug 3937387 - Initialize the detail_tax_regime structure since the tax |
12093              | applicability need not be performed in the event of process_for_       |
12094              | applicability being 'N'. We needed to populate detail_tax_regime_tbl   |
12095              | though since TPI processing needs this information                     |
12096              + ----------------------------------------------------------------------*/
12097 
12098              IF p_event_class_rec.PROCESS_FOR_APPLICABILITY_FLAG = 'N' THEN
12099                 ZX_GLOBAL_STRUCTURES_PKG.Init_Detail_Tax_Regime_Tbl;
12100              END IF;
12101 
12102             /* -----------------------------------------------+
12103              |     Call TDS Import service                    |
12104              + -----------------------------------------------*/
12105         	/* Bug 3895727 - Call calculate tax irrespective of process_for_applicability_flag*/
12106 
12107              ZX_TDS_CALC_SERVICES_PUB_PKG.calculate_tax_for_import(l_trx_line_index,
12108                                                                    p_event_class_rec,
12109                                                                    l_return_status
12110                                                                   );
12111              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12112                x_return_status := l_return_status;
12113                IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
12114                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12115                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12116                  ' RETURN_STATUS = ' || x_return_status);
12117                END IF;
12118                RAISE FND_API.G_EXC_ERROR;
12119              END IF;
12120 
12121      /* Handle LTE outside the loop
12122          ELSIF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
12123            ZX_PRODUCT_INTEGRATION_PKG.import_document_with_tax(p_event_class_rec => p_event_class_rec,
12124                                                                x_return_status   => l_return_status
12125                                                               );
12126              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12127                x_return_status := l_return_status;
12128                IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
12129                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12130                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12131                  ' RETURN_STATUS = ' || x_return_status);
12132                END IF;
12133                RETURN;
12134              END IF;
12135       */
12136          END IF; --TAX_METHOD_CODE
12137 
12138          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_line_index) := 'Y';
12139 
12140 	END IF; -- End of Bug fix 5524869
12141 
12142         EXCEPTION
12143           WHEN FND_API.G_EXC_ERROR THEN
12144             ROLLBACK TO Import_Doc;
12145             --Commented by ssohal
12146             --populate_errors(p_event_class_rec,l_return_status); --this will retest l_return_status
12147             ZX_API_PUB.dump_msg;
12148             l_flag := FALSE;
12149             IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
12150               FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
12151             END IF;
12152         END; -- End of Bug fix 5524869
12153 
12154           -- bug fix 5417887 begin
12155           IF zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index) <> l_trx_id THEN
12156 
12157             -- populate the tax_regime_tbl cache structure for partner or LTE
12158            IF zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' OR
12159                nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE'
12160             THEN
12161                populate_ptnr_tax_regime_tbl;
12162             END IF;
12163 
12164            /*---------------------------------------------------------+
12165             |  Initialize the tax regime PL/SQL strcture for every doc|
12166             +--------------------------------------------------------*/
12167             ZX_GLOBAL_STRUCTURES_PKG.init_tax_regime_tbl;
12168             -- ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
12169 
12170             l_trx_id := zx_global_structures_pkg.trx_line_dist_tbl.trx_id(l_trx_line_index);
12171             l_legal_entity_id := zx_global_structures_pkg.trx_line_dist_tbl.legal_entity_id(l_trx_line_index);
12172             l_trx_date := zx_global_structures_pkg.trx_line_dist_tbl.trx_date(l_trx_line_index);
12173 
12174           END IF;
12175          -- bug fix 5417887 end
12176 
12177           -- bug 5730752
12178           IF ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl.LAST >= 1000) THEN
12179 
12180              ZX_TDS_CALC_SERVICES_PUB_PKG.dump_detail_tax_lines_into_gt(x_return_status  => l_return_status );
12181 
12182                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12183                   x_return_status := l_return_status ;
12184                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12185                     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');
12186                   END IF;
12187                   RETURN;
12188                 END IF;
12189           END IF;
12190           -- end bug 5730752
12191 
12192        END LOOP;  --l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
12193 
12194        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12195                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12196                  'Completed the processing loop. Calling db_insert_line_det_factors..');
12197        END IF;
12198 
12199          /*Merge ruled out by performance due to record of table structure*/
12200          db_insert_line_det_factors (p_trx_line_dist_tbl  =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl,
12201                                     p_event_class_rec    =>  p_event_class_rec,
12202                                     p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
12203                                     x_return_status      =>  l_return_status
12204                                    );
12205 
12206          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12207             x_return_status := l_return_status;
12208             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12209                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12210                  ' RETURN_STATUS = ' || x_return_status);
12211              END IF;
12212              RETURN;
12213          END IF;
12214 
12215      EXIT WHEN c_lines%NOTFOUND;
12216 
12217      -- bug 5683445
12218      ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
12219      -- bug 6343328
12220      ZX_GLOBAL_STRUCTURES_PKG.init_detail_tax_regime_tbl;
12221 
12222    END LOOP;
12223 
12224    CLOSE c_lines;
12225 
12226     -- Handle LTE tax method
12227       IF nvl(p_event_class_rec.TAX_METHOD_CODE,'EBTAX') = 'LTE' THEN
12228           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12229 
12230                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12231                  'Tax Method is LTE. Calling LTE in a loop ');
12232                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12233                  ' Looping over ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl. Number of records: '||
12234                     to_char(nvl(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl.LAST,0)) );
12235            END IF;
12236 
12237            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)
12238            LOOP
12239 
12240             BEGIN -- Begin of Bug fix 5524869
12241 
12242                SAVEPOINT Calculate_Tax_LTE;
12243 
12244                l_event_class_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).application_id;
12245                l_event_class_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_class_code;
12246                l_event_class_rec.entity_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).entity_code;
12247                l_event_class_rec.internal_organization_id   :=  ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).internal_organization_id;
12248                l_event_class_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).trx_id;
12249                l_event_class_rec.event_class_mapping_id := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_class_mapping_id;
12250                l_event_class_rec.event_type_code  := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).event_type_code;
12251                l_event_class_rec.record_flag      := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).record_flag;
12252                l_event_class_rec.quote_flag       := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).quote_flag;
12253                l_event_class_rec.record_for_partners_flag := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).record_for_partners_flag;
12254                l_event_class_rec.prod_family_grp_code := ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).prod_family_grp_code;
12255 
12256                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12257                  FND_LOG.STRING(G_LEVEL_STATEMENT,
12258                    G_MODULE_NAME||l_api_name,
12259                    'processing trx_id:  ' ||
12260                    TO_CHAR(l_event_class_rec.trx_id));
12261                END IF;
12262 
12263                /*--------------------------------------------+
12264                |   Call to zx_security.set_security_context |
12265                +--------------------------------------------*/
12266                ZX_SECURITY.set_security_context(ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).legal_entity_id,
12267                                           ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).internal_organization_id,
12268                                           ZX_GLOBAL_STRUCTURES_PKG.ptnr_tax_regime_tbl(l_trx_id_index).effective_date,
12269                                           l_return_status
12270                                           );
12271 
12272                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12273                  x_return_status := l_return_status;
12274                  RAISE FND_API.G_EXC_ERROR;
12275                END IF;
12276 
12277               call_lte (p_event_class_rec => l_event_class_rec,
12278                 x_return_status   => l_return_status
12279                );
12280 
12281                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12282                  x_return_status := l_return_status;
12283                  RAISE FND_API.G_EXC_ERROR;
12284                END IF;
12285 
12286            EXCEPTION
12287                  WHEN FND_API.G_EXC_ERROR THEN
12288                    ROLLBACK TO Calculate_Tax_LTE;
12289                    --Commented by ssohal
12290                    --populate_errors(l_event_class_rec,l_return_status); --this will retest l_return_status
12291                    ZX_API_PUB.dump_msg;
12292                    IF ( G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
12293                      FND_LOG.STRING(G_LEVEL_ERROR,G_MODULE_NAME||l_api_name,'');
12294                    END IF;
12295            END; -- End of Bug fix 5524869
12296 
12297           END LOOP;
12298 
12299           -- if l_return_status from LTE returned error, it has
12300           -- been handled by the exception already, end of this
12301           -- loop set status to successful to commit other
12302           -- invoices that went through fine w/o error
12303 
12304           x_return_status := FND_API.G_RET_STS_SUCCESS;
12305 
12306      END IF;
12307 
12308 
12309     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12310 
12311        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12312                  'status returned from LTE:  ' || l_return_status);
12313        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12314                  ' g_ptnr_srvc_subscr_flag : '||
12315                  zx_global_structures_pkg.g_ptnr_srvc_subscr_flag );
12316      END IF;
12317 
12318 
12319 
12320    /**********************PARTNER CODE START ****************************/
12321     /* ---------------------------------------------------------------------+
12322      |  Check if partner applicable to call partner related routines        |
12323      + ---------------------------------------------------------------------*/
12324 
12325     IF (zx_global_structures_pkg.g_ptnr_srvc_subscr_flag = 'Y' AND
12326         NVL(p_event_class_rec.TAX_METHOD_CODE,'X') <> 'LTE' ) THEN
12327        IF zx_global_structures_pkg.g_event_class_rec.tax_event_type_code = 'UPDATE' THEN
12328           ptnr_calculate_tax_pvt(p_event_class_rec   => zx_global_structures_pkg.g_event_class_rec,
12329                                  x_return_status     => l_return_status
12330                                 );
12331        ELSE
12332           ptnr_bulk_calc_tax_pvt(x_return_status   => l_return_status);
12333        END IF;
12334        -- Start : Code added by ssohal
12335        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12336          x_return_status := l_return_status;
12337          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12338            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12339              ' RETURN_STATUS = ' || x_return_status);
12340          END IF;
12341          RETURN;
12342        END IF;
12343        -- End : Code added by ssohal
12344     END IF;
12345 
12346 
12347     /*******************************PARTNER CODE END ****************************/
12348 
12349    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
12350      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
12351        G_PKG_NAME||': '||l_api_name||'()-'||
12352        ' RETURN_STATUS = ' || x_return_status);
12353    END IF;
12354 
12355    EXCEPTION
12356     WHEN OTHERS THEN
12357        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
12358        IF c_lines%ISOPEN THEN CLOSE c_lines; END IF;
12359        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
12360          FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
12361        END IF;
12362   END import;
12363 
12364 -----------------------------------------------------------------------
12365 --  PRIVATE PROCEDURE
12366 --  override_summary_tax_lines
12367 --
12368 --  DESCRIPTION
12369 --  Override_tax processing
12370 --
12371 --  CALLED BY
12372 --    override_tax_lines
12373 -----------------------------------------------------------------------
12374  PROCEDURE override_summary_tax_lines
12375   ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
12376     x_return_status   OUT    NOCOPY VARCHAR2
12377   ) IS
12378   l_api_name                    CONSTANT VARCHAR2(30) := 'OVERRIDE_SUMMARY_TAX_LINES';
12379   l_trx_line_index              BINARY_INTEGER;
12380   l_tax_prof_id                 NUMBER;
12381   l_return_status               VARCHAR2(30);
12382   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
12383  BEGIN
12384    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
12385      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
12386    END IF;
12387 
12388    x_return_status := FND_API.G_RET_STS_SUCCESS ;
12389 
12390    OPEN get_overridden_lines(p_event_class_rec.event_id);
12391    LOOP
12392       FETCH get_overridden_lines BULK COLLECT INTO
12393            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
12394            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
12395            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
12396            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
12397            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
12398            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
12399            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
12400            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
12401            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
12402            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
12403            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
12404            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
12405            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
12406            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
12407            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
12408            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
12409            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
12410            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
12411            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
12412            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
12413            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
12414            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
12415            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
12416            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
12417            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
12418            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
12419            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
12420            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
12421            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
12422            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
12423            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
12424            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
12425            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
12426            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
12427            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
12428            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
12429            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
12430            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
12431            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
12432            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
12433            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
12434            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
12435            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
12436            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
12437            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
12438            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
12439            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
12440            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
12441            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
12442            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
12443            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
12444            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
12445            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
12446            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
12447            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
12448            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
12449            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
12450            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
12451            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
12452            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
12453            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
12454            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
12455            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
12456            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
12457            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
12458            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
12459            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
12460            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
12461            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
12462            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
12463            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
12464            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
12465            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
12466            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
12467            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
12468            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
12469            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
12470            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
12471            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
12472            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
12473            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
12474            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
12475            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
12476            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
12477            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
12478            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
12479            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
12480            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
12481            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
12482            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
12483            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
12484            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
12485            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
12486            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
12487            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
12488            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
12489            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
12490            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
12491            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
12492            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
12493            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
12494            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
12495            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
12496            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
12497            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
12498            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
12499            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
12500            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
12501            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
12502            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
12503            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
12504            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
12505            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
12506            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
12507            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
12508            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
12509            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
12510            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
12511            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
12512            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
12513            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
12514            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
12515            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
12516            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
12517            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
12518            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
12519            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
12520            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
12521            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
12522            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
12523            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
12524            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
12525            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
12526            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
12527            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
12528            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
12529            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
12530            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
12531            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
12532            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
12533            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
12534            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
12535            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
12536            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
12537            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
12538            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
12539            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
12540            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
12541            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
12542            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
12543            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
12544            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
12545            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
12546            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
12547            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
12548            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
12549            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
12550            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
12551            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
12552            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
12553            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
12554            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
12555            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
12556            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
12557            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
12558            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
12559            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
12560            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
12561            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
12562            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
12563            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
12564            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
12565            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
12566            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
12567            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
12568            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
12569            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
12570            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
12571            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
12572            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
12573            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
12574            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
12575            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
12576            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
12577            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
12578            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
12579            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
12580            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
12581            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
12582            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
12583            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
12584            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
12585            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
12586            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
12587            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
12588            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
12589            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
12590            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
12591            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
12592            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
12593            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
12594            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
12595            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
12596            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
12597            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
12598            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
12599            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
12600            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
12601            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
12602            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
12603            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
12604            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
12605            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
12606            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
12607            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
12608            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
12609            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
12610            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
12611            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
12612            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
12613            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
12614            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
12615            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
12616            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
12617            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
12618            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
12619            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
12620            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
12621            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
12622            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
12623            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
12624            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
12625            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
12626            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
12627            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
12628            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
12629            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
12630            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
12631            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
12632            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
12633            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
12634            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
12635            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
12636            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
12637            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
12638            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
12639            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
12640            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
12641            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
12642            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
12643            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
12644            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
12645            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
12646            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
12647            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
12648            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
12649            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
12650            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
12651            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
12652            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
12653            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
12654            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
12655            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
12656            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
12657            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
12658            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
12659            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
12660            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
12661            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
12662            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
12663            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
12664            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
12665            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
12666            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
12667       LIMIT G_LINES_PER_FETCH;
12668 
12669       FOR l_trx_line_index IN 1..nvl(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
12670       LOOP
12671        /* =============================================================================*
12672        |Initialize the global structures/global temp tables owned by TDM at Line level |
12673        * ==============================================================================*/
12674         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
12675                                                  'LINE'            ,
12676                                                  l_return_status
12677                                                 );
12678         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12679           x_return_status := l_return_status;
12680           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
12681           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12682             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12683               ' RETURN_STATUS = ' || x_return_status);
12684           END IF;
12685           RETURN;
12686         END IF;
12687 
12688        /*------------------------------------------------------------------------+
12689        |  Override Summary Tax Lines                                             |
12690        + ------------------------------------------------------------------------*/
12691 
12692         --Pass the tax event type code derived into event class rec instead of that fetched from zx_lines_det_factors
12693         zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index):=p_event_class_rec.tax_event_type_code;
12694 
12695         ZX_TDS_CALC_SERVICES_PUB_PKG.override_summary_tax_lines(l_trx_line_index
12696                                                                ,p_event_class_rec
12697                                                                ,l_return_status
12698                                                                );
12699 
12700         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
12701           x_return_status := l_return_status;
12702           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
12703           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
12704              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
12705               ' RETURN_STATUS = ' || x_return_status);
12706           END IF;
12707           RETURN;
12708         END IF;
12709 
12710       END LOOP;
12711      EXIT WHEN get_overridden_lines%NOTFOUND;
12712    END LOOP;
12713    CLOSE get_overridden_lines;
12714 
12715     IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
12716       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
12717         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
12718     END IF;
12719 
12720    EXCEPTION
12721     WHEN OTHERS THEN
12722        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
12723        IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
12724        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
12725           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
12726        END IF;
12727    END override_summary_tax_lines;
12728 
12729 -----------------------------------------------------------------------
12730 --  PRIVATE PROCEDURE
12731 --  override_detail_tax_lines
12732 --
12733 --  DESCRIPTION
12734 --  Override_tax processing
12735 --
12736 --  CALLED BY
12737 --    override_tax_lines
12738 -----------------------------------------------------------------------
12739  PROCEDURE override_detail_tax_lines
12740    ( p_event_class_rec IN OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
12741      x_return_status   OUT    NOCOPY VARCHAR2
12742    ) IS
12743    l_api_name                    CONSTANT VARCHAR2(30):= 'OVERRIDE_DETAIL_TAX_LINES';
12744    l_trx_line_index              BINARY_INTEGER;
12745    l_tax_prof_id                 NUMBER;
12746    l_return_status               VARCHAR2(30);
12747    l_context_info_rec            ZX_API_PUB.context_info_rec_type;
12748 
12749  BEGIN
12750    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
12751      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
12752    END IF;
12753 
12754    x_return_status := FND_API.G_RET_STS_SUCCESS ;
12755 
12756    OPEN get_overridden_lines(p_event_class_rec.event_id);
12757     LOOP
12758       FETCH get_overridden_lines BULK COLLECT INTO
12759            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
12760            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
12761            zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
12762            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
12763            zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
12764            zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
12765            zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
12766            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
12767            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
12768            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
12769            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
12770            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
12771            zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
12772            zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
12773            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
12774            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
12775            zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
12776            zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
12777            zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
12778            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
12779            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
12780            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
12781            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
12782            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
12783            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
12784            zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
12785            zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
12786            zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
12787            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
12788            zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
12789            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
12790            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
12791            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
12792            zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
12793            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
12794            zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
12795            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
12796            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
12797            zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
12798            zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
12799            zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
12800            zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
12801            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
12802            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
12803            zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
12804            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
12805            zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
12806            zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
12807            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
12808            zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
12809            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
12810            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
12811            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
12812            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
12813            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
12814            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
12815            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
12816            zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
12817            zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE ,
12818            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE ,
12819            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
12820            zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
12821            zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
12822            zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT ,
12823            zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
12824            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
12825            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION ,
12826            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
12827            zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
12828            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE ,
12829            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
12830            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY ,
12831            zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
12832            zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
12833            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
12834            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
12835            zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
12836            zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
12837            zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
12838            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
12839            zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
12840            zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
12841            zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
12842            zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
12843            zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
12844            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
12845            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
12846            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
12847            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
12848            zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
12849            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
12850            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
12851            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
12852            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
12853            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
12854            zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
12855            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
12856            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE,
12857            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
12858            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID,
12859            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID,
12860            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER,
12861            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
12862            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE,
12863            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
12864            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID,
12865            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID,
12866            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
12867            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
12868            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
12869            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
12870            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
12871            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
12872            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
12873            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
12874            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
12875            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
12876            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
12877            zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
12878            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
12879            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
12880            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
12881            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
12882            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
12883            zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
12884            zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
12885            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
12886            zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
12887            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
12888            zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID,
12889            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
12890            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
12891            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
12892            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
12893            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
12894            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
12895            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
12896            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
12897            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
12898            zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
12899            zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
12900            zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
12901            zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
12902            zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
12903            zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
12904            zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
12905            zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
12906            zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
12907            zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
12908            zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
12909            zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
12910            zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
12911            zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
12912            zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
12913            zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
12914            zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
12915            zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
12916            zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
12917            zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
12918            zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
12919            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
12920            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
12921            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
12922            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
12923            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
12924            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
12925            zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
12926            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
12927            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
12928            zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
12929            zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
12930            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
12931            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
12932            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
12933            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
12934            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
12935            zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
12936            zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
12937            zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
12938            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
12939            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
12940            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
12941            zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
12942            zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
12943            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
12944            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
12945            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
12946            zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
12947            zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
12948            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
12949            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
12950            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
12951            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
12952            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
12953            zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
12954            zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
12955            zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
12956            zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
12957            zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
12958            zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
12959            zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
12960            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
12961            zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
12962            zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
12963            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
12964            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
12965            zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
12966            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
12967            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
12968            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
12969            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
12970            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
12971            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
12972            zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
12973            zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
12974            zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
12975            zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
12976            zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
12977            zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
12978            zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
12979            zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
12980            zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
12981            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
12982            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
12983            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
12984            zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
12985            zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
12986            zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
12987            zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE,
12988            zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID,
12989            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER,
12990            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
12991            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
12992            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
12993            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
12994            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
12995            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
12996            zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
12997            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
12998            zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
12999            zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
13000            zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
13001            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
13002            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
13003            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
13004            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
13005            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
13006            zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
13007            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
13008            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
13009            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
13010            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
13011            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
13012            zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
13013            zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
13014            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
13015            zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
13016            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
13017            zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
13018            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
13019            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
13020            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
13021            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
13022            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
13023            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
13024            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
13025            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
13026            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
13027            zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
13028            zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
13029            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
13030            zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
13031            zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
13032            zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
13033       LIMIT G_LINES_PER_FETCH;
13034 
13035       FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
13036       LOOP
13037        /* =============================================================================*
13038        |Initialize the global structures/global temp tables owned by TDM at Line level |
13039        * ==============================================================================*/
13040 
13041         ZX_TDS_CALC_SERVICES_PUB_PKG.initialize (p_event_class_rec ,
13042                                                  'LINE'            ,
13043                                                  l_return_status
13044                                                 );
13045 
13046         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13047           x_return_status := l_return_status;
13048           IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13049           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13050             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13051              ' RETURN_STATUS = ' || x_return_status);
13052           END IF;
13053           RETURN;
13054         END IF;
13055 
13056 
13057        /* -----------------------------------------------------------------+
13058         |  Call TDS routine to override the detail tax lines               |
13059         |                                                                  |
13060         + -----------------------------------------------------------------*/
13061          --Pass the tax event type code derived into event class rec instead of that fetched from zx_lines_det_factors
13062          zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE(l_trx_line_index):=p_event_class_rec.tax_event_type_code;
13063 
13064          ZX_TDS_CALC_SERVICES_PUB_PKG.override_detail_tax_lines(l_trx_line_index
13065                                                                ,p_event_class_rec
13066                                                                ,l_return_status
13067                                                                );
13068 
13069           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13070             x_return_status := l_return_status;
13071             IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13072             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13073               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13074                ' RETURN_STATUS = ' || x_return_status);
13075             END IF;
13076             RETURN;
13077           END IF;
13078 
13079         END LOOP;
13080        EXIT WHEN get_overridden_lines%NOTFOUND;
13081     END LOOP;
13082     CLOSE get_overridden_lines;
13083 
13084     IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13085       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
13086         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
13087     END IF;
13088 
13089    EXCEPTION
13090     WHEN OTHERS THEN
13091        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13092        IF get_overridden_lines%ISOPEN THEN CLOSE get_overridden_lines; END IF;
13093        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13094           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13095        END IF;
13096    END override_detail_tax_lines;
13097 
13098 -----------------------------------------------------------------------
13099 --  PUBLIC PROCEDURE
13100 --  override_tax_lines
13101 --
13102 --  DESCRIPTION
13103 --  Wrapper procedure to call the procedures to override detail and summary tax lines
13104 --
13105 --  CALLED BY
13106 --    ZX_API_PUB.override_tax
13107 -----------------------------------------------------------------------
13108  PROCEDURE override_tax_lines(
13109  p_event_class_rec IN  OUT NOCOPY ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
13110  p_override_level  IN  VARCHAR2,
13111  x_return_status   OUT NOCOPY VARCHAR2
13112  ) IS
13113   l_api_name                    CONSTANT VARCHAR2(30) := 'OVERRIDE_TAX_LINES';
13114   l_return_status               VARCHAR2(30);
13115   l_context_info_rec            ZX_API_PUB.context_info_rec_type;
13116   l_ptnr_tax_lines_insert       NUMBER;    -- Bug 5332192
13117 
13118   /* Get all the tax lines inserted during override_tax_lines for external tax provider */
13119  CURSOR dtl_tax_lines_csr(p_event_class_rec ZX_API_PUB.event_class_rec_type) IS
13120  SELECT distinct
13121         zdtlg.tax_regime_id,
13122         zdtlg.tax_regime_code,
13123         zdtlg.tax_provider_id,
13124         regimes.effective_from,
13125         regimes.effective_to
13126    FROM ZX_DETAIL_TAX_LINES_GT zdtlg,
13127         ZX_REGIMES_B regimes
13128    WHERE zdtlg.application_id = p_event_class_rec.application_id
13129      AND zdtlg.entity_code = p_event_class_rec.entity_code
13130      AND zdtlg.event_class_code = p_event_class_rec.event_class_code
13131      AND zdtlg.trx_id = p_event_class_rec.trx_id
13132      AND regimes.tax_regime_id = zdtlg.tax_regime_id;
13133 
13134  dtl_tax_lines_rec  dtl_tax_lines_csr%ROWTYPE;
13135 
13136 
13137  BEGIN
13138    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13139      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13140    END IF;
13141    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13142 
13143    /*--------------------------------------------------+
13144     |   Call Service Type Override Summary or Override |
13145     |   Detail Tax Lines depending of the overriding   |
13146     |   level.                                         |
13147     +--------------------------------------------------*/
13148     IF p_override_level = 'SUMMARY_OVERRIDE' THEN
13149        override_summary_tax_lines(p_event_class_rec,
13150                                   l_return_status
13151                                   );
13152        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13153          x_return_status := l_return_status;
13154          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13155             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13156             ' RETURN_STATUS = ' || x_return_status);
13157          END IF;
13158          RETURN;
13159        END IF;
13160      ELSIF p_override_level = 'DETAIL_OVERRIDE' THEN
13161        override_detail_tax_lines(p_event_class_rec,
13162                                  l_return_status
13163                                 );
13164        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13165          x_return_status := l_return_status;
13166          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13167             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13168             ' RETURN_STATUS = ' || x_return_status);
13169          END IF;
13170          RETURN;
13171        END IF;
13172      END IF;
13173      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13174        x_return_status := l_return_status;
13175        RETURN;
13176      END IF;
13177 
13178      /****************************PARTNER CODE START****************/
13179      IF p_event_class_rec.record_flag ='Y' AND
13180         p_event_class_rec.record_for_partners_flag = 'Y' THEN
13181 
13182         /*Commented due to GSCC error - need to provide all column names for insert
13183         INSERT INTO ZX_DETAIL_TAX_LINES_GT
13184    	     SELECT * from ZX_LINES
13185 	     WHERE application_id = p_event_class_rec.application_id
13186              AND entity_code = p_event_class_rec.entity_code
13187              AND event_class_code = p_event_class_rec.event_class_code
13188              AND trx_id = p_event_class_rec.trx_id
13189     	     AND tax_provider_id is not null;
13190         */
13191         insert_detail_tax_lines_gt(p_event_class_rec => p_event_class_rec,
13192                                    p_sync_with_prvdr_flag => 'Y',
13193                                    p_ptnr_tax_lines_insert => l_ptnr_tax_lines_insert,
13194                                    x_return_status   => l_return_status
13195                                    );
13196 
13197         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13198             x_return_status := l_return_status;
13199             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13200               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13201                ' RETURN_STATUS = ' || x_return_status);
13202             END IF;
13203             RETURN;
13204         END IF;
13205 
13206         IF l_ptnr_tax_lines_insert = 0 THEN
13207             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13208               FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13209                ' No Tax Partner line needs to be synchronized.');
13210             END IF;
13211             RETURN;
13212         END IF;
13213 
13214         FOR dtl_tax_lines_rec IN dtl_tax_lines_csr(p_event_class_rec)
13215         LOOP
13216           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(dtl_tax_lines_rec.tax_regime_id) THEN
13217             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_regime_id := dtl_tax_lines_rec.tax_regime_id;
13218             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_regime_code := dtl_tax_lines_rec.tax_regime_code;
13219             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).tax_provider_id := dtl_tax_lines_rec.tax_provider_id;
13220 /* Bug 5557565 */
13221             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).effective_from := dtl_tax_lines_rec.effective_from;
13222             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).effective_to := dtl_tax_lines_rec.effective_to;
13223             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(dtl_tax_lines_rec.tax_regime_id).partner_processing_flag := 'S';
13224           END IF;
13225         END LOOP;
13226 
13227         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)
13228 
13229 
13230         LOOP
13231          IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(l_regime_index) AND
13232             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id is not null THEN
13233 
13234 /* Bug 5382069 */
13235             ZX_TPI_SERVICES_PKG.partner_pre_processing (
13236                                 p_tax_regime_id        => l_regime_index
13237                               , p_tax_regime_code      => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code
13238                               , p_tax_provider_id      => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id
13239                               , p_ptnr_processing_flag => ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag
13240                               , p_event_class_rec      => p_event_class_rec
13241                               , x_return_status        => l_return_status);
13242 
13243             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13244               x_return_status := l_return_status;
13245               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13246                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13247                  ' RETURN_STATUS = ' || x_return_status);
13248               END IF;
13249               RETURN;
13250             END IF;
13251 
13252             ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
13253                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
13254                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
13255                                                   'DERIVE_HDR_ATTRS',
13256                                                   l_return_status
13257                                                  );
13258 
13259             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13260               x_return_status := l_return_status;
13261               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13262                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13263                  ' RETURN_STATUS = ' || x_return_status);
13264               END IF;
13265               RETURN;
13266             END IF;
13267 
13268             ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
13269                                                      ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
13270                                                      'SYNCHRONIZE_FOR_TAX',
13271                                                      p_event_class_rec,
13272                                                      l_return_status
13273     	                                             );
13274 
13275             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13276               x_return_status := l_return_status;
13277               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13278                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13279                  ' RETURN_STATUS = ' || x_return_status);
13280               END IF;
13281               RETURN;
13282             END IF;
13283 
13284             ZX_TPI_SERVICES_PKG.ptnr_post_proc_sync_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
13285                                                         ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
13286                                                         p_event_class_rec,
13287     	                                                l_return_status
13288                                                        );
13289 
13290             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13291               x_return_status := l_return_status;
13292               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13293                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13294                  ' RETURN_STATUS = ' || x_return_status);
13295               END IF;
13296               RETURN;
13297             END IF;
13298           END IF;--tax_provider_id is not null
13299         END LOOP;
13300       END IF;  --recording flag
13301 
13302      /* RE-INITIALISE SYNCHRONIZATION FLAG in ZX_LINES TO 'N' */
13303      zx_lines_table_handler(p_event_class_rec  => p_event_class_rec,
13304                             p_event            => 'UPDATE',
13305                             p_tax_regime_code  => null,
13306                             p_provider_id      => null,
13307                             x_return_status    => l_return_status
13308                            );
13309 
13310      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13311        x_return_status := l_return_status;
13312        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13313          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13314            ' RETURN_STATUS = ' || x_return_status);
13315        END IF;
13316        RETURN;
13317      END IF;
13318 
13319      /*	The deleted tax lines are inserted into ZX_DETAIL_TAX_LINES_GT
13320         for tax lines synchronization view needed for partner service.
13321         But, eBTax service ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines
13322         creates tax lines for the records remaining in the
13323         ZX_DETAIL_TAX_LINES_GT. This results in tax line not getting
13324         deleted from zx_lines when partner created tax line is deleted.
13325         Hence, following delete is being issued. */
13326 
13327      BEGIN
13328        DELETE FROM ZX_DETAIL_TAX_LINES_GT
13329         WHERE application_id   = p_event_class_rec.application_id
13330           AND entity_code      = p_event_class_rec.entity_code
13331           AND event_class_code = p_event_class_rec.event_class_code
13332           AND trx_id           = p_event_class_rec.trx_id
13333           AND delete_flag      = 'Y';
13334      END;
13335      /***********************PARTNER CODE END***************************/
13336 
13337      /*	If the user has overridden the inclusive tax, then the actual line amount portion is
13338 	    also changed as the included tax in the line amount is changed. This change must be
13339 		communicated to the partner(s) involved as line UPDATE scenario */
13340 
13341      partner_inclusive_tax_override(p_event_class_rec,
13342                                     l_return_status
13343                                     );
13344 
13345      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13346        x_return_status := l_return_status;
13347        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13348           FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13349             ' RETURN_STATUS = ' || x_return_status);
13350        END IF;
13351        RETURN;
13352      END IF;
13353 
13354      IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13355        FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
13356          G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
13357      END IF;
13358 
13359  EXCEPTION
13360     WHEN OTHERS THEN
13361        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13362        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13363           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13364        END IF;
13365  END override_tax_lines;
13366 
13367 -----------------------------------------------------------------------
13368 --  PUBLIC PROCEDURE
13369 --  document_level_changes
13370 --
13371 --  DESCRIPTION
13372 --  global_document_update processing
13373 --
13374 --  CALLED BY
13375 --    ZX_API_PUB.global_document_update
13376 -----------------------------------------------------------------------
13377  PROCEDURE document_level_changes
13378   ( x_return_status          OUT NOCOPY VARCHAR2 ,
13379     p_event_class_rec        IN         ZX_API_PUB.event_class_rec_type ,
13380     p_tax_hold_released_code IN         ZX_API_PUB.validation_status_tbl_type
13381   ) IS
13382   l_api_name              CONSTANT VARCHAR2(30):= 'DOCUMENT_LEVEL_CHANGES';
13383   l_return_status         VARCHAR2(30);
13384   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
13385 
13386  BEGIN
13387    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13388      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13389    END IF;
13390    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13391 
13392   /* --------------------------------------------------------------------------------+
13393    |For tax event type UNFREEZE FOR TAX, confirmation from partner is first required |
13394    |since partner may have already reported tax to authority. Hence call to TRL      |
13395    |process is defferred till after partner processing for this case                 |
13396    + -------------------------------------------------------------------------------*/
13397 
13398   /* -------------------------------------------------------+
13399    |  Document level changes                                |
13400    + -------------------------------------------------------*/
13401    IF p_event_class_rec.tax_event_type_code <> 'UNFREEZE_FOR_TAX' THEN    -- Bug 5200373
13402      ZX_TRL_PUB_PKG.document_level_changes(l_return_status,
13403                                            p_event_class_rec,
13404                                            p_tax_hold_released_code
13405                                           );
13406 
13407      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13408        x_return_status := l_return_status;
13409        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13410          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13411            ' RETURN_STATUS = ' || x_return_status);
13412        END IF;
13413        RETURN;
13414      END IF;
13415     END IF;
13416 
13417      /****************************PARTNER CODE START****************/
13418      IF p_event_class_rec.record_flag ='Y' AND
13419         p_event_class_rec.record_for_partners_flag = 'Y' THEN
13420         FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)    -- Bug 5200373
13421         LOOP
13422           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
13423             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
13424             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
13425             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
13426 /* Bug 5557565 */
13427             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
13428             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
13429             ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'C';
13430 
13431             ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code,
13432                                                      ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id,
13433                                                      'DOCUMENT_LEVEL_CHANGES',   -- Bug 5200373
13434                                                      p_event_class_rec,
13435                                                      l_return_status
13436        	                                          );
13437 
13438             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13439               x_return_status := l_return_status;
13440               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13441                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13442                ' RETURN_STATUS = ' || x_return_status);
13443               END IF;
13444               RETURN;
13445             END IF;
13446           END IF;
13447         END LOOP;
13448      END IF;  --recording flag
13449 
13450   /* -------------------------------------------------------+
13451    |  Document level changes                                |
13452    + -------------------------------------------------------*/
13453    IF p_event_class_rec.tax_event_type_code = 'UNFREEZE_FOR_TAX' THEN    -- Bug 5200373
13454      ZX_TRL_PUB_PKG.document_level_changes(l_return_status,
13455                                            p_event_class_rec,
13456                                            p_tax_hold_released_code
13457                                           );
13458 
13459      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13460        x_return_status := l_return_status;
13461        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13462          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13463            ' RETURN_STATUS = ' || x_return_status);
13464        END IF;
13465        RETURN;
13466      END IF;
13467    END IF;
13468 
13469    /***********************PARTNER CODE END***************************/
13470    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13471       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
13472    END IF;
13473 
13474  EXCEPTION
13475    WHEN OTHERS THEN
13476        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13477        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13478           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13479        END IF;
13480   END document_level_changes;
13481 
13482 -----------------------------------------------------------------------
13483 --  PUBLIC PROCEDURE
13484 --  Mark_Tax_Lines_Deleted
13485 --
13486 --  DESCRIPTION
13487 --  Mark_Tax_Lines_Deleted processing
13488 --
13489 --  CALLED BY
13490 --    ZX_API_PUB.Mark_Tax_Lines_Deleted
13491 -----------------------------------------------------------------------
13492  PROCEDURE mark_tax_lines_deleted (
13493    p_trx_line_rec  IN         ZX_API_PUB.TRANSACTION_LINE_REC_TYPE ,
13494    x_return_status OUT NOCOPY VARCHAR2
13495  ) IS
13496  l_api_name          CONSTANT VARCHAR2(30) := 'MARK_TAX_LINES_DELETED';
13497  l_return_status     VARCHAR2(30);
13498  l_context_info_rec  ZX_API_PUB.context_info_rec_type;
13499 
13500  BEGIN
13501    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13502      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13503    END IF;
13504    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13505 
13506   /* -------------------------------------------------------+
13507    |  Mark Tax Lines Delete                                 |
13508    + -------------------------------------------------------*/
13509    ZX_TRL_PUB_PKG.mark_tax_lines_delete(l_return_status,p_trx_line_rec);
13510 
13511    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13512      x_return_status := l_return_status;
13513      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13514        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13515            ' RETURN_STATUS = ' || x_return_status);
13516      END IF;
13517      RETURN;
13518    END IF;
13519 
13520    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13521      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
13522    END IF;
13523 
13524  EXCEPTION
13525    WHEN OTHERS THEN
13526        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
13527        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
13528           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
13529        END IF;
13530    END mark_tax_lines_deleted;
13531 
13532 -----------------------------------------------------------------------
13533 --  PUBLIC PROCEDURE
13534 --  reverse_document
13535 --
13536 --  DESCRIPTION
13537 --  Negate the line amount and line quantity and store into zx_lines_det_factors
13538 --
13539 --  CALLED BY
13540 --    ZX_API_PUB.reverse_document
13541 -----------------------------------------------------------------------
13542  PROCEDURE reverse_document
13543   ( p_event_class_rec   IN         ZX_API_PUB.event_class_rec_type,
13544     x_return_status     OUT NOCOPY VARCHAR2
13545   ) IS
13546   l_api_name              CONSTANT VARCHAR2(30):= 'REVERSE_DOCUMENT';
13547   l_return_status         VARCHAR2(30);
13548   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
13549   l_location_type_tbl     ZX_TCM_GEO_JUR_PKG.location_type_tbl_type;
13550   l_location_id_tbl       ZX_TCM_GEO_JUR_PKG.location_id_tbl_type;
13551   l_ptnr_tax_lines_insert NUMBER;      -- Bug 5332192
13552   i                       NUMBER;
13553 
13554  CURSOR get_rev_info_csr IS
13555    SELECT zl.INTERNAL_ORGANIZATION_ID               ,
13556           zrtlgt.REVERSING_APPLN_ID                 ,
13557           zrtlgt.REVERSING_ENTITY_CODE              ,
13558           zrtlgt.REVERSING_EVNT_CLS_CODE            ,
13559           zl.EVENT_TYPE_CODE                        ,
13560           zrtlgt.REVERSING_TRX_ID                   ,
13561           zrtlgt.REVERSING_TRX_LEVEL_TYPE           ,
13562           zrtlgt.REVERSING_TRX_LINE_ID              ,
13563           zl.LINE_LEVEL_ACTION                      ,
13564           zl.LINE_CLASS                             ,
13565           zl.TRX_DATE                               ,
13566           zl.TRX_DOC_REVISION                       ,
13567           zl.LEDGER_ID                              ,
13568           zl.TRX_CURRENCY_CODE                      ,
13569           zl.CURRENCY_CONVERSION_DATE               ,
13570           zl.CURRENCY_CONVERSION_RATE               ,
13571           zl.CURRENCY_CONVERSION_TYPE               ,
13572           zl.MINIMUM_ACCOUNTABLE_UNIT               ,
13573           zl.PRECISION                              ,
13574           zl.TRX_LINE_CURRENCY_CODE                 ,
13575           zl.TRX_LINE_CURRENCY_CONV_DATE            ,
13576           zl.TRX_LINE_CURRENCY_CONV_RATE            ,
13577           zl.TRX_LINE_CURRENCY_CONV_TYPE            ,
13578           zl.TRX_LINE_MAU                           ,
13579           zl.TRX_LINE_PRECISION                     ,
13580           zl.TRX_SHIPPING_DATE                      ,
13581           zl.TRX_RECEIPT_DATE                       ,
13582           zl.LEGAL_ENTITY_ID                        ,
13583           zl.ESTABLISHMENT_ID                       ,
13584           zl.TRX_LINE_TYPE                          ,
13585           zl.TRX_LINE_DATE                          ,
13586           zl.TRX_BUSINESS_CATEGORY                  ,
13587           zl.LINE_INTENDED_USE                      ,
13588           zl.USER_DEFINED_FISC_CLASS                ,
13589           -zl.LINE_AMT                              ,
13590           -zl.TRX_LINE_QUANTITY                     ,
13591           zl.UNIT_PRICE                             ,
13592           zl.EXEMPT_CERTIFICATE_NUMBER              ,
13593           zl.EXEMPT_REASON                          ,
13594           zl.CASH_DISCOUNT                          ,
13595           zl.VOLUME_DISCOUNT                        ,
13596           zl.TRADING_DISCOUNT                       ,
13597           zl.TRANSFER_CHARGE                        ,
13598           zl.TRANSPORTATION_CHARGE                  ,
13599           zl.INSURANCE_CHARGE                       ,
13600           zl.OTHER_CHARGE                           ,
13601           zl.PRODUCT_ID                             ,
13602           zl.PRODUCT_FISC_CLASSIFICATION            ,
13603           zl.PRODUCT_ORG_ID                         ,
13604           zl.UOM_CODE                               ,
13605           zl.PRODUCT_TYPE                           ,
13606           zl.PRODUCT_CODE                           ,
13607           zl.PRODUCT_CATEGORY                       ,
13608           zl.TRX_SIC_CODE                           ,
13609           zl.FOB_POINT                              ,
13610           zl.SHIP_TO_LOCATION_ID                    ,
13611           zl.SHIP_FROM_LOCATION_ID                  ,
13612           zl.POA_LOCATION_ID                        ,
13613           zl.POO_LOCATION_ID                        ,
13614           zl.BILL_TO_LOCATION_ID                    ,
13615           zl.BILL_FROM_LOCATION_ID                  ,
13616           zl.ACCOUNT_CCID                           ,
13617           zl.ACCOUNT_STRING                         ,
13618           zl.MERCHANT_PARTY_COUNTRY                 ,
13619           zl.RECEIVABLES_TRX_TYPE_ID                ,
13620           zl.REF_DOC_APPLICATION_ID                 ,
13621           zl.REF_DOC_ENTITY_CODE                    ,
13622           zl.REF_DOC_EVENT_CLASS_CODE               ,
13623           zl.REF_DOC_TRX_ID                         ,
13624           zl.REF_DOC_LINE_ID                        ,
13625           zl.REF_DOC_LINE_QUANTITY                  ,
13626           zl.RELATED_DOC_APPLICATION_ID             ,
13627           zl.RELATED_DOC_ENTITY_CODE                ,
13628           zl.RELATED_DOC_EVENT_CLASS_CODE           ,
13629           zl.RELATED_DOC_TRX_ID                     ,
13630           zl.RELATED_DOC_NUMBER                     ,
13631           zl.RELATED_DOC_DATE                       ,
13632           zl.ADJUSTED_DOC_NUMBER                    ,
13633           zl.ADJUSTED_DOC_DATE                      ,
13634           zl.APPLIED_TO_APPLICATION_ID              ,
13635           zl.APPLIED_TO_ENTITY_CODE                 ,
13636           zl.APPLIED_TO_EVENT_CLASS_CODE            ,
13637           zl.APPLIED_TO_TRX_ID                      ,
13638           zl.APPLIED_TO_TRX_LINE_ID                 ,
13639           zl.TRX_ID_LEVEL2                          ,
13640           zl.TRX_ID_LEVEL3                          ,
13641           zl.TRX_ID_LEVEL4                          ,
13642           zl.TRX_ID_LEVEL5                          ,
13643           zl.TRX_ID_LEVEL6                          ,
13644           zrthgt.TRX_NUMBER                         ,
13645           zrthgt.TRX_DESCRIPTION                    ,
13646           zl.TRX_LINE_NUMBER                        ,
13647           zrtlgt.TRX_LINE_DESCRIPTION               ,
13648           zrtlgt.PRODUCT_DESCRIPTION                ,
13649           zrtlgt.TRX_WAYBILL_NUMBER                 ,
13650           zrthgt.TRX_COMMUNICATED_DATE              ,
13651           zrtlgt.TRX_LINE_GL_DATE                   ,
13652           zrthgt.BATCH_SOURCE_ID                    ,
13653           zrthgt.BATCH_SOURCE_NAME                  ,
13654           zrthgt.DOC_SEQ_ID                         ,
13655           zrthgt.DOC_SEQ_NAME                       ,
13656           zrthgt.DOC_SEQ_VALUE                      ,
13657           zrthgt.TRX_DUE_DATE                       ,
13658           zrthgt.TRX_TYPE_DESCRIPTION               ,
13659           zl.MERCHANT_PARTY_NAME                    ,
13660           zl.MERCHANT_PARTY_DOCUMENT_NUMBER         ,
13661           zl.MERCHANT_PARTY_REFERENCE               ,
13662           zl.MERCHANT_PARTY_TAXPAYER_ID             ,
13663           zl.MERCHANT_PARTY_TAX_REG_NUMBER          ,
13664           zl.PAYING_LOCATION_ID                     ,
13665           zl.OWN_HQ_LOCATION_ID                     ,
13666           zl.TRADING_HQ_LOCATION_ID                 ,
13667           zl.POC_LOCATION_ID                        ,
13668           zl.POI_LOCATION_ID                        ,
13669           zl.POD_LOCATION_ID                        ,
13670           zl.TITLE_TRANSFER_LOCATION_ID             ,
13671           zl.ASSESSABLE_VALUE                       ,
13672           zl.ASSET_FLAG                             ,
13673           zl.ASSET_NUMBER                           ,
13674           zl.ASSET_ACCUM_DEPRECIATION               ,
13675           zl.ASSET_TYPE                             ,
13676           zl.ASSET_COST                             ,
13677           zl.NUMERIC1                               ,
13678           zl.NUMERIC2                               ,
13679           zl.NUMERIC3                               ,
13680           zl.NUMERIC4                               ,
13681           zl.NUMERIC5                               ,
13682           zl.NUMERIC6                               ,
13683           zl.NUMERIC7                               ,
13684           zl.NUMERIC8                               ,
13685           zl.NUMERIC9                               ,
13686           zl.NUMERIC10                              ,
13687           zl.CHAR1                                  ,
13688           zl.CHAR2                                  ,
13689           zl.CHAR3                                  ,
13690           zl.CHAR4                                  ,
13691           zl.CHAR5                                  ,
13692           zl.CHAR6                                  ,
13693           zl.CHAR7                                  ,
13694           zl.CHAR8                                  ,
13695           zl.CHAR9                                  ,
13696           zl.CHAR10                                 ,
13697           zl.DATE1                                  ,
13698           zl.DATE2                                  ,
13699           zl.DATE3                                  ,
13700           zl.DATE4                                  ,
13701           zl.DATE5                                  ,
13702           zl.DATE6                                  ,
13703           zl.DATE7                                  ,
13704           zl.DATE8                                  ,
13705           zl.DATE9                                  ,
13706           zl.DATE10                                 ,
13707           zl.FIRST_PTY_ORG_ID                       ,
13708           zl.TAX_EVENT_CLASS_CODE                   ,
13709           zl.TAX_EVENT_TYPE_CODE                    ,
13710           zl.DOC_EVENT_STATUS                       ,
13711           zl.RDNG_SHIP_TO_PTY_TX_PROF_ID            ,
13712           zl.RDNG_SHIP_FROM_PTY_TX_PROF_ID          ,
13713           zl.RDNG_BILL_TO_PTY_TX_PROF_ID            ,
13714           zl.RDNG_BILL_FROM_PTY_TX_PROF_ID          ,
13715           zl.RDNG_SHIP_TO_PTY_TX_P_ST_ID            ,
13716           zl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID          ,
13717           zl.RDNG_BILL_TO_PTY_TX_P_ST_ID            ,
13718           zl.RDNG_BILL_FROM_PTY_TX_P_ST_ID          ,
13719           zl.SHIP_TO_PARTY_TAX_PROF_ID              ,
13720           zl.SHIP_FROM_PARTY_TAX_PROF_ID            ,
13721           zl.POA_PARTY_TAX_PROF_ID                  ,
13722           zl.POO_PARTY_TAX_PROF_ID                  ,
13723           zl.PAYING_PARTY_TAX_PROF_ID               ,
13724           zl.OWN_HQ_PARTY_TAX_PROF_ID               ,
13725           zl.TRADING_HQ_PARTY_TAX_PROF_ID           ,
13726           zl.POI_PARTY_TAX_PROF_ID                  ,
13727           zl.POD_PARTY_TAX_PROF_ID                  ,
13728           zl.BILL_TO_PARTY_TAX_PROF_ID              ,
13729           zl.BILL_FROM_PARTY_TAX_PROF_ID            ,
13730           zl.TITLE_TRANS_PARTY_TAX_PROF_ID          ,
13731           zl.SHIP_TO_SITE_TAX_PROF_ID               ,
13732           zl.SHIP_FROM_SITE_TAX_PROF_ID             ,
13733           zl.POA_SITE_TAX_PROF_ID                   ,
13734           zl.POO_SITE_TAX_PROF_ID                   ,
13735           zl.PAYING_SITE_TAX_PROF_ID                ,
13736           zl.OWN_HQ_SITE_TAX_PROF_ID                ,
13737           zl.TRADING_HQ_SITE_TAX_PROF_ID            ,
13738           zl.POI_SITE_TAX_PROF_ID                   ,
13739           zl.POD_SITE_TAX_PROF_ID                   ,
13740           zl.BILL_TO_SITE_TAX_PROF_ID               ,
13741           zl.BILL_FROM_SITE_TAX_PROF_ID             ,
13742           zl.TITLE_TRANS_SITE_TAX_PROF_ID           ,
13743           zl.MERCHANT_PARTY_TAX_PROF_ID             ,
13744           zrthgt.DOCUMENT_SUB_TYPE                  ,
13745           zrthgt.SUPPLIER_TAX_INVOICE_NUMBER        ,
13746           zrthgt.SUPPLIER_TAX_INVOICE_DATE          ,
13747           zrthgt.SUPPLIER_EXCHANGE_RATE             ,
13748           zrthgt.TAX_INVOICE_DATE                   ,
13749           zrthgt.TAX_INVOICE_NUMBER                 ,
13750           zl.LINE_AMT_INCLUDES_TAX_FLAG             ,
13751           zl.DEFAULT_TAXATION_COUNTRY               ,
13752           zl.HISTORICAL_FLAG                        ,
13753           zl.INTERNAL_ORG_LOCATION_ID               ,
13754           zl.CTRL_HDR_TX_APPL_FLAG                  ,
13755           zl.CTRL_TOTAL_HDR_TX_AMT                  ,
13756           zl.CTRL_TOTAL_LINE_TX_AMT                 ,
13757           zl.PORT_OF_ENTRY_CODE                     ,
13758           zl.TAX_REPORTING_FLAG                     ,
13759           zl.INPUT_TAX_CLASSIFICATION_CODE          ,
13760           zl.OUTPUT_TAX_CLASSIFICATION_CODE         ,
13761           null TAX_AMT_REPORTING_FLAG               ,
13762           null COMPOUNDING_TAX_FLAG                 ,
13763           zl.SHIP_THIRD_PTY_ACCT_SITE_ID            ,
13764           zl.BILL_THIRD_PTY_ACCT_SITE_ID            ,
13765           zl.SHIP_TO_CUST_ACCT_SITE_USE_ID          ,
13766           zl.BILL_TO_CUST_ACCT_SITE_USE_ID          ,
13767           null DIST_LEVEL_ACTION                    ,
13768           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
13769           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
13770           to_number(null) TASK_ID                   ,
13771           to_number(null) AWARD_ID                  ,
13772           to_number(null) PROJECT_ID                ,
13773           null EXPENDITURE_TYPE                     ,
13774           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
13775           null EXPENDITURE_ITEM_DATE                ,
13776           to_number(null) TRX_LINE_DIST_AMT         ,
13777           to_number(null) TRX_LINE_DIST_QUANTITY    ,
13778           to_number(null) REF_DOC_CURR_CONV_RATE    ,
13779           to_number(null) ITEM_DIST_NUMBER          ,
13780           to_number(null) REF_DOC_DIST_ID           ,
13781           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
13782           to_number(null) TRX_LINE_DIST_ID          ,
13783           APPLIED_FROM_APPLICATION_ID               ,
13784           APPLIED_FROM_EVENT_CLASS_CODE             ,
13785           APPLIED_FROM_ENTITY_CODE                  ,
13786           APPLIED_FROM_TRX_ID                       ,
13787           APPLIED_FROM_LINE_ID                      ,
13788           APPLIED_FROM_TRX_NUMBER                   ,
13789           to_number(null) APPLIED_FROM_DIST_ID      ,
13790           ADJUSTED_DOC_APPLICATION_ID               ,
13791           ADJUSTED_DOC_EVENT_CLASS_CODE             ,
13792           ADJUSTED_DOC_ENTITY_CODE                  ,
13793           ADJUSTED_DOC_TRX_ID                       ,
13794           ADJUSTED_DOC_LINE_ID                      ,
13795           to_number(null) ADJUSTED_DOC_DIST_ID      ,
13796           zl.SOURCE_APPLICATION_ID                  ,
13797           zl.SOURCE_ENTITY_CODE                     ,
13798           zl.SOURCE_EVENT_CLASS_CODE                ,
13799           zl.SOURCE_TRX_ID                          ,
13800           zl.SOURCE_LINE_ID                         ,
13801           zl.SOURCE_TRX_LEVEL_TYPE                  ,
13802           zl.SOURCE_TAX_LINE_ID                     ,
13803           zl.REF_DOC_TRX_LEVEL_TYPE                 ,
13804           zl.APPLIED_TO_TRX_LEVEL_TYPE              ,
13805           zl.APPLIED_FROM_TRX_LEVEL_TYPE            ,
13806           zl.ADJUSTED_DOC_TRX_LEVEL_TYPE            ,
13807           zl.APPLICATION_DOC_STATUS                 ,
13808           zl.HDR_TRX_USER_KEY1                      ,
13809           zl.HDR_TRX_USER_KEY2                      ,
13810           zl.HDR_TRX_USER_KEY3                      ,
13811           zl.HDR_TRX_USER_KEY4                      ,
13812           zl.HDR_TRX_USER_KEY5                      ,
13813           zl.HDR_TRX_USER_KEY6                      ,
13814           zl.LINE_TRX_USER_KEY1                     ,
13815           zl.LINE_TRX_USER_KEY2                     ,
13816           zl.LINE_TRX_USER_KEY3                     ,
13817           zl.LINE_TRX_USER_KEY4                     ,
13818           zl.LINE_TRX_USER_KEY5                     ,
13819           zl.LINE_TRX_USER_KEY6                     ,
13820           zrtlgt.REVERSED_APPLN_ID                  ,
13821           zrtlgt.REVERSED_ENTITY_CODE               ,
13822           zrtlgt.REVERSED_EVNT_CLS_CODE             ,
13823           zrtlgt.REVERSED_TRX_ID                    ,
13824           zrtlgt.REVERSED_TRX_LINE_ID               ,
13825           zrtlgt.REVERSED_TRX_LEVEL_TYPE            ,
13826           zl.EXEMPTION_CONTROL_FLAG                 ,
13827           zl.TAX_CALCULATION_DONE_FLAG              ,
13828           zl.TAX_PROCESSING_COMPLETED_FLAG          ,
13829           zl.USER_UPD_DET_FACTORS_FLAG              ,
13830           zl.EXEMPT_REASON_CODE                     ,
13831           zl.INTERFACE_ENTITY_CODE                  ,
13832           zl.INTERFACE_LINE_ID                      ,
13833           zl.DEFAULTING_ATTRIBUTE1                  ,
13834           zl.DEFAULTING_ATTRIBUTE2                  ,
13835           zl.DEFAULTING_ATTRIBUTE3                  ,
13836           zl.DEFAULTING_ATTRIBUTE4                  ,
13837           zl.DEFAULTING_ATTRIBUTE5                  ,
13838           zl.DEFAULTING_ATTRIBUTE6                  ,
13839           zl.DEFAULTING_ATTRIBUTE7                  ,
13840           zl.DEFAULTING_ATTRIBUTE8                  ,
13841           zl.DEFAULTING_ATTRIBUTE9                  ,
13842           zl.DEFAULTING_ATTRIBUTE10                 ,
13843           zl.HISTORICAL_TAX_CODE_ID                 ,
13844           zl.TOTAL_INC_TAX_AMT                      ,
13845           zl.GLOBAL_ATTRIBUTE_CATEGORY              ,
13846           zl.GLOBAL_ATTRIBUTE1                      ,
13847           zl.HQ_ESTB_PARTY_TAX_PROF_ID              ,
13848           zl.MERCHANT_PARTY_ID                      ,
13849           zl.SHIP_THIRD_PTY_ACCT_ID                 ,
13850           zl.BILL_THIRD_PTY_ACCT_ID                 ,
13851           zl.START_EXPENSE_DATE                     ,
13852           zl.TRX_BATCH_ID                           ,
13853           zl.APPLIED_TO_TRX_NUMBER                  ,
13854           zl.PROVNL_TAX_DETERMINATION_DATE
13855          FROM  ZX_LINES_DET_FACTORS zl,
13856                ZX_REVERSE_TRX_LINES_GT zrtlgt,
13857                ZX_REV_TRX_HEADERS_GT zrthgt
13858         WHERE  zl.trx_id =zrtlgt.reversed_trx_id
13859           AND  zl.application_id = zrtlgt.reversed_appln_id
13860           AND  zl.entity_code = zrtlgt.reversed_entity_code
13861           AND  zl.event_class_code = zrtlgt.reversed_evnt_cls_code
13862           AND  zl.trx_line_id = zrtlgt.reversed_trx_line_id
13863           AND  zl.trx_level_type = zrtlgt.reversed_trx_level_type
13864           AND  zrthgt.reversing_appln_id = zrtlgt.reversing_appln_id
13865           AND  zrthgt.reversing_entity_code = zrtlgt.reversing_entity_code
13866           AND  zrthgt.reversing_evnt_cls_code = zrtlgt.reversing_evnt_cls_code
13867           AND  zrthgt.reversing_trx_id = zrtlgt.reversing_trx_id;
13868 
13869  BEGIN
13870    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
13871      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
13872    END IF;
13873    x_return_status := FND_API.G_RET_STS_SUCCESS ;
13874 
13875    /* -------------------------------------------------------+
13876    |  Reverse Document                                       |
13877    + -------------------------------------------------------*/
13878    ZX_TDS_CALC_SERVICES_PUB_PKG.reverse_document(p_event_class_rec,
13879                                                  l_return_status
13880                                                 );
13881 
13882    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
13883      x_return_status := l_return_status;
13884      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
13885        FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
13886            ' RETURN_STATUS = ' || x_return_status);
13887      END IF;
13888      RETURN;
13889    END IF;
13890   /* -------------------------------------------------------+
13891    |  Fetch into global table                               |
13892    + -------------------------------------------------------*/
13893 
13894    OPEN get_rev_info_csr;
13895     FETCH get_rev_info_csr BULK COLLECT INTO
13896           zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
13897           zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
13898           zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
13899           zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
13900           zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
13901           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
13902           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
13903           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
13904           zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
13905           zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
13906           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
13907           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
13908           zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
13909           zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
13910           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
13911           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
13912           zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
13913           zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
13914           zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
13915           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
13916           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
13917           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
13918           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
13919           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
13920           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
13921           zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
13922           zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
13923           zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
13924           zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
13925           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
13926           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
13927           zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
13928           zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
13929           zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
13930           zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
13931           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
13932           zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
13933           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
13934           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
13935           zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
13936           zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
13937           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
13938           zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
13939           zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
13940           zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
13941           zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
13942           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
13943           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
13944           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
13945           zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
13946           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
13947           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
13948           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
13949           zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
13950           zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
13951           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
13952           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
13953           zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
13954           zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
13955           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
13956           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
13957           zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
13958           zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
13959           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
13960           zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
13961           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
13962           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
13963           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
13964           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
13965           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
13966           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
13967           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
13968           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
13969           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
13970           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
13971           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
13972           zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
13973           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
13974           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
13975           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
13976           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
13977           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
13978           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
13979           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
13980           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
13981           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
13982           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
13983           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
13984           zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
13985           zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
13986           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
13987           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
13988           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
13989           zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
13990           zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
13991           zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
13992           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
13993           zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
13994           zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
13995           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
13996           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
13997           zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
13998           zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
13999           zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
14000           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
14001           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
14002           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
14003           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
14004           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
14005           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
14006           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
14007           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
14008           zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
14009           zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
14010           zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
14011           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
14012           zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
14013           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
14014           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
14015           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
14016           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
14017           zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
14018           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
14019           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
14020           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
14021           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
14022           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
14023           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
14024           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
14025           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
14026           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
14027           zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
14028           zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
14029           zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
14030           zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
14031           zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
14032           zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
14033           zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
14034           zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
14035           zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
14036           zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
14037           zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
14038           zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
14039           zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
14040           zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
14041           zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
14042           zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
14043           zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
14044           zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
14045           zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
14046           zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
14047           zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
14048           zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
14049           zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
14050           zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
14051           zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
14052           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
14053           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
14054           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
14055           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
14056           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
14057           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
14058           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
14059           zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
14060           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
14061           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
14062           zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
14063           zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
14064           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
14065           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
14066           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
14067           zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
14068           zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
14069           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
14070           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
14071           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
14072           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
14073           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
14074           zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
14075           zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
14076           zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
14077           zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
14078           zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
14079           zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
14080           zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
14081           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
14082           zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
14083           zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
14084           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
14085           zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
14086           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
14087           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
14088           zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
14089           zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
14090           zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
14091           zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
14092           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
14093           zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
14094           zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
14095           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
14096           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
14097           zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
14098           zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
14099           zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
14100           zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
14101           zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
14102           zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
14103           zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
14104           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID,
14105           zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID,
14106           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID,
14107           zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID,
14108           zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
14109           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
14110           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
14111           zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
14112           zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
14113           zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
14114           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
14115           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
14116           zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
14117           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
14118           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
14119           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
14120           zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
14121           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
14122           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
14123           zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
14124           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
14125           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
14126           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
14127           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
14128           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
14129           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
14130           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
14131           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
14132           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
14133           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
14134           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
14135           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
14136           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
14137           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
14138           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
14139           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
14140           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
14141           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
14142           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
14143           zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
14144           zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
14145           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
14146           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
14147           zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
14148           zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
14149           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
14150           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
14151           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
14152           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
14153           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
14154           zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
14155           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
14156           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
14157           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
14158           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
14159           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
14160           zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
14161           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
14162           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
14163           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
14164           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
14165           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
14166           zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
14167           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
14168           zx_global_structures_pkg.trx_line_dist_tbl.TAX_CALCULATION_DONE_FLAG,
14169           zx_global_structures_pkg.trx_line_dist_tbl.TAX_PROCESSING_COMPLETED_FLAG,
14170           zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG,
14171           zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
14172           zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
14173           zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
14174           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
14175           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
14176           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
14177           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
14178           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
14179           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
14180           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
14181           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
14182           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
14183           zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
14184           zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
14185           zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
14186           zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY,
14187           zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
14188 zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID              ,
14189           zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID                      ,
14190           zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID                 ,
14191           zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID                 ,
14192           zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE                     ,
14193           zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID                           ,
14194           zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER                  ,
14195           zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE;
14196    CLOSE get_rev_info_csr;
14197 
14198   /* -------------------------------------------------------+
14199    |  Insert into zx_lines_det_factors                      |
14200    + -------------------------------------------------------*/
14201     db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
14202                                 p_event_class_rec    =>  p_event_class_rec,
14203                                 p_insert_index       =>  zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID.FIRST,
14204       	                        x_return_status      =>  l_return_status
14205                                );
14206 
14207     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14208       x_return_status := l_return_status;
14209       IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14210         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14211           ' RETURN_STATUS = ' || x_return_status);
14212       END IF;
14213       RETURN;
14214     END IF;
14215    /****************************PARTNER CODE START****************/
14216    IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' AND
14217       nvl(p_event_class_rec.tax_method_code,'EBTAX') ='EBTAX' AND
14218       p_event_class_rec.record_for_partners_flag = 'Y' THEN
14219 
14220          insert_detail_tax_lines_gt(p_event_class_rec => p_event_class_rec,
14221                                     p_sync_with_prvdr_flag => NULL,
14222                                     p_ptnr_tax_lines_insert => l_ptnr_tax_lines_insert,
14223                                     x_return_status   => l_return_status
14224                                     );
14225 
14226          IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14227            x_return_status := l_return_status;
14228            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14229              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14230                ' RETURN_STATUS = ' || x_return_status);
14231            END IF;
14232            RETURN;
14233          END IF;
14234 
14235 /* Bug 5662795 */
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 available for reversing.');
14240             END IF;
14241             RETURN;
14242          END IF;
14243 
14244          ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
14245 
14246          FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)
14247          LOOP
14248             IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
14249                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
14250                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
14251                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
14252 /* Bug 5557565 */
14253                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
14254                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
14255                ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'C';
14256             END IF;
14257 
14258 /* Bug 5662795 */
14259             ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
14260          END LOOP;
14261 
14262          IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
14263 
14264             FOR l_trx_line_index in 1 .. nvl(zx_global_structures_pkg.trx_line_dist_tbl.internal_organization_id.LAST,0)
14265             LOOP
14266               /* -----------------------------------------------+
14267                |    Call TCM Location Caching API               |
14268                + -----------------------------------------------*/
14269 
14270                prepare_for_loc_caching(l_trx_line_index
14271                            ,p_event_class_rec
14272                            ,l_return_status
14273                             );
14274 
14275                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14276                   x_return_status := l_return_status;
14277                   IF x_return_status = FND_API.G_RET_STS_ERROR THEN
14278                      l_context_info_rec.APPLICATION_ID   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index);
14279                      l_context_info_rec.ENTITY_CODE      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index);
14280                      l_context_info_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index);
14281                      l_context_info_rec.TRX_ID           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index);
14282                      l_context_info_rec.TRX_LINE_ID      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index);
14283                      l_context_info_rec.TRX_LEVEL_TYPE   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index);
14284                      ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
14285                   END IF;
14286                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14287                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14288                      ' RETURN_STATUS = ' || x_return_status);
14289                   END IF;
14290                   RETURN;
14291                END IF;
14292             END LOOP;
14293 
14294            /* -----------------------------------------------+
14295             |  Populate the locations GT table               |
14296             + ----------------------------------------------*/
14297 
14298             partner_location_population (p_event_class_rec => p_event_class_rec,
14299                                    x_return_status => l_return_status);
14300 
14301             IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14302                x_return_status := l_return_status;
14303                IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14304                   FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14305                   ' RETURN_STATUS = ' || x_return_status);
14306                END IF;
14307                RETURN;
14308             END IF;
14309 
14310             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)
14311             LOOP
14312                ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
14313                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14314                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14315     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
14316                                                    p_event_class_rec,
14317                                                    l_return_status
14318     	                                           );
14319                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14320                   x_return_status := l_return_status;
14321                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14322                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14323                      ' RETURN_STATUS = ' || x_return_status);
14324                   END IF;
14325                   RETURN;
14326                END IF;
14327 
14328                ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
14329                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14330                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14331                                               'DERIVE_HDR_ATTRS',
14332                                               l_return_status
14333                                               );
14334 
14335                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14336                  x_return_status := l_return_status;
14337                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14338                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14339                     ' RETURN_STATUS = ' || x_return_status);
14340                  END IF;
14341                  RETURN;
14342                END IF;
14343                ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
14344                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14345                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14346                                               'DERIVE_LINE_ATTRS',
14347                                               l_return_status
14348                                               );
14349                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14350                  x_return_status := l_return_status;
14351                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14352                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14353                     ' RETURN_STATUS = ' || x_return_status);
14354                  END IF;
14355                  RETURN;
14356                END IF;
14357 
14358                ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14359                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14360                                                  'CALCULATE_TAX',
14361                                                  p_event_class_rec,
14362           	                                 l_return_status
14363                                                 );
14364                IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14365                  x_return_status := l_return_status;
14366                  IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14367                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14368                     ' RETURN_STATUS = ' || x_return_status);
14369                  END IF;
14370                  RETURN;
14371                END IF;
14372 
14373             END LOOP;
14374          END IF;
14375    END IF;
14376 
14377   /***********************PARTNER CODE END***************************/
14378    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14379      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14380        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14381    END IF;
14382 
14383  EXCEPTION
14384    WHEN OTHERS THEN
14385      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14386      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14387           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14388      END IF;
14389    END reverse_document;
14390 
14391 -----------------------------------------------------------------------
14392 --  PUBLIC PROCEDURE
14393 --  reverse_distributions
14394 --
14395 --  DESCRIPTION
14396 --  Reverse_distributions processing
14397 --
14398 --  CALLED BY
14399 --    ZX_API_PUB.reverse_distributions
14400 -----------------------------------------------------------------------
14401  PROCEDURE reverse_distributions
14402   ( x_return_status OUT NOCOPY VARCHAR2
14403   ) IS
14404   l_api_name              CONSTANT VARCHAR2(30) := 'REVERSE_DISTRIBUTIONS';
14405   l_return_status         VARCHAR2(30);
14406   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
14407 
14408  BEGIN
14409    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14410      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14411    END IF;
14412    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14413 
14414   /* -------------------------------------------------------+
14415    |  Reverse Distributions                                 |
14416    + -------------------------------------------------------*/
14417    ZX_TRD_SERVICES_PUB_PKG.reverse_distributions(l_return_status);
14418 
14419    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14420      x_return_status := l_return_status;
14421      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14422         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14423         ' RETURN_STATUS = ' || x_return_status);
14424      END IF;
14425      RETURN;
14426    END IF;
14427 
14428    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14429      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14430        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14431    END IF;
14432 
14433   EXCEPTION
14434     WHEN OTHERS THEN
14435        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14436        IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14437           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14438        END IF;
14439   END reverse_distributions;
14440 
14441 -----------------------------------------------------------------------
14442 --  PUBLIC PROCEDURE
14443 --  determine_recovery
14444 --
14445 --  DESCRIPTION
14446 --  determine_recovery processing
14447 --
14448 --  CALLED BY
14449 --    ZX_API_PUB.determine_recovery
14450 -----------------------------------------------------------------------
14451  PROCEDURE determine_recovery
14452   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
14453     x_return_status   OUT NOCOPY VARCHAR2
14454   ) IS
14455   l_api_name           CONSTANT VARCHAR2(30):= 'DETERMINE_RECOVERY';
14456   l_return_status      VARCHAR2(30);
14457   l_context_info_rec   ZX_API_PUB.context_info_rec_type;
14458 
14459  BEGIN
14460    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14461      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14462    END IF;
14463    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14464    l_return_status := FND_API.G_RET_STS_SUCCESS ;
14465 
14466   /* -------------------------------------------------------+
14467    |  Determine recovery                                    |
14468    + -------------------------------------------------------*/
14469 
14470    ZX_TRD_SERVICES_PUB_PKG.determine_recovery(p_event_class_rec,
14471                                               l_return_status
14472                                              );
14473 
14474    IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14475      x_return_status := l_return_status;
14476      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14477         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14478         ' RETURN_STATUS = ' || x_return_status);
14479      END IF;
14480      RETURN;
14481    END IF;
14482 
14483    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14484      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14485        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14486    END IF;
14487 
14488   EXCEPTION
14489    WHEN OTHERS THEN
14490      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14491      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14492           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14493      END IF;
14494  END determine_recovery;
14495 
14496 -----------------------------------------------------------------------
14497 --  PUBLIC PROCEDURE
14498 --  override_recovery
14499 --
14500 --  DESCRIPTION
14501 --  override_recovery processing
14502 --
14503 --  CALLED BY
14504 --    ZX_API_PUB.override_recovery
14505 ----------------------------------------------------------------------
14506  PROCEDURE override_recovery
14507   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
14508     x_return_status   OUT NOCOPY VARCHAR2
14509   ) IS
14510   l_api_name          CONSTANT VARCHAR2(30):= 'OVERRIDE_RECOVERY';
14511   l_return_status     VARCHAR2(30);
14512   l_context_info_rec  ZX_API_PUB.context_info_rec_type;
14513 
14514  BEGIN
14515    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14516      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14517    END IF;
14518    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14519 
14520    ZX_TRD_SERVICES_PUB_PKG.override_recovery(p_event_class_rec,
14521                                              x_return_status
14522                                              );
14523 
14524   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14525      x_return_status := l_return_status;
14526      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14527         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14528         ' RETURN_STATUS = ' || x_return_status);
14529      END IF;
14530      RETURN;
14531    END IF;
14532 
14533    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14534      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14535        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14536    END IF;
14537 
14538   EXCEPTION
14539    WHEN OTHERS THEN
14540      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14541      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14542           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14543      END IF;
14544   END override_recovery;
14545 
14546 
14547 -----------------------------------------------------------------------
14548 --  PUBLIC PROCEDURE
14549 --  freeze_distribution_lines
14550 --
14551 --  DESCRIPTION
14552 --  freeze_distribution_lines processing
14553 --
14554 --  CALLED BY
14555 --    ZX_API_PUB.freeze_distribution_lines
14556 ----------------------------------------------------------------------
14557  PROCEDURE freeze_distribution_lines
14558   ( p_event_class_rec IN         ZX_API_PUB.event_class_rec_type ,
14559     x_return_status   OUT NOCOPY VARCHAR2
14560   ) IS
14561   l_api_name          CONSTANT VARCHAR2(30):= 'FREEZE_DISTRIBUTION_LINES';
14562   l_return_status     VARCHAR2(30);
14563   l_context_info_rec  ZX_API_PUB.context_info_rec_type;
14564 
14565  BEGIN
14566    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14567      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14568    END IF;
14569    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14570 
14571   /* -------------------------------------------------------+
14572    |  Freeze tax distributions                              |
14573    + -------------------------------------------------------*/
14574    ZX_TRL_PUB_PKG.freeze_taxdistributions(l_return_status,
14575                                           p_event_class_rec
14576                                          );
14577 
14578   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14579      x_return_status := l_return_status;
14580      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14581         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14582         ' RETURN_STATUS = ' || x_return_status);
14583      END IF;
14584      RETURN;
14585    END IF;
14586 
14587    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14588      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14589        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14590    END IF;
14591 
14592  EXCEPTION
14593    WHEN OTHERS THEN
14594      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14595      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14596           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14597      END IF;
14598   END freeze_distribution_lines;
14599 
14600 -----------------------------------------------------------------------
14601 --  PUBLIC PROCEDURE
14602 --  validate_document_for_tax
14603 --
14604 --  DESCRIPTION
14605 --  validate_document_for_tax processing
14606 --
14607 --  CALLED BY
14608 --    ZX_API_PUB.validate_document_for_tax
14609 ----------------------------------------------------------------------
14610  PROCEDURE validate_document_for_tax
14611   ( p_trx_rec           IN         ZX_API_PUB.TRANSACTION_REC_TYPE ,
14612     p_event_class_rec   IN         ZX_API_PUB.event_class_rec_type ,
14613     x_validation_status OUT NOCOPY VARCHAR2,
14614     x_hold_status_code  OUT NOCOPY ZX_API_PUB.hold_codes_tbl_type ,
14615     x_return_status     OUT NOCOPY VARCHAR2
14616   ) IS
14617   l_api_name             CONSTANT VARCHAR2(30):= 'VALIDATE_DOCUMENT_FOR_TAX';
14618   l_return_status        VARCHAR2(30);
14619   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
14620 
14621  BEGIN
14622    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14623      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14624    END IF;
14625    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14626 
14627   /* -------------------------------------------------------+
14628    |  Validate document for tax                             |
14629    + -------------------------------------------------------*/
14630    ZX_TRD_SERVICES_PUB_PKG.validate_document_for_tax(p_event_class_rec => p_event_class_rec,
14631                                                      p_transaction_rec => p_trx_rec,
14632                                                      x_hold_status     => x_hold_status_code,
14633                                                      x_validate_status => x_validation_status,
14634                                                      x_return_status   => l_return_status
14635                                                     );
14636 
14637   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14638      x_return_status := l_return_status;
14639      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14640         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14641         ' RETURN_STATUS = ' || x_return_status);
14642      END IF;
14643      RETURN;
14644    END IF;
14645 
14646    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14647      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14648        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14649    END IF;
14650 
14651  EXCEPTION
14652    WHEN OTHERS THEN
14653      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14654      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14655           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14656      END IF;
14657    END validate_document_for_tax;
14658 
14659 
14660 -----------------------------------------------------------------------
14661 --  PUBLIC PROCEDURE
14662 --  discard_tax_only_lines
14663 --
14664 --  DESCRIPTION
14665 --  discard_tax_only_lines processing
14666 --
14667 --  CALLED BY
14668 --    ZX_API_PUB.discard_tax_only_lines
14669 ----------------------------------------------------------------------
14670  PROCEDURE discard_tax_only_lines
14671   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
14672     x_return_status   OUT NOCOPY VARCHAR2
14673   ) IS
14674   l_api_name             CONSTANT VARCHAR2(30):= 'DISCARD_TAX_ONLY_LINES';
14675   l_return_status        VARCHAR2(30);
14676   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
14677 
14678 
14679  BEGIN
14680    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14681      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14682    END IF;
14683    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14684 
14685   /* -------------------------------------------------------+
14686    |  Discard tax only lines                                |
14687    + -------------------------------------------------------*/
14688 
14689    ZX_TRL_PUB_PKG.discard_tax_only_lines(l_return_status,
14690                                          p_event_class_rec
14691                                         );
14692 
14693   IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14694      x_return_status := l_return_status;
14695      IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14696         FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14697         ' RETURN_STATUS = ' || x_return_status);
14698      END IF;
14699      RETURN;
14700    END IF;
14701 
14702    /***********************PARTNER CODE START***************************/
14703    IF p_event_class_rec.record_flag ='Y' AND
14704       p_event_class_rec.record_for_partners_flag = 'Y' THEN
14705       FOR prtnr_tax_lines IN prtnr_tax_lines_csr(p_event_class_rec)
14706       LOOP
14707         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(prtnr_tax_lines.tax_regime_id) THEN
14708           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_regime_id := prtnr_tax_lines.tax_regime_id;
14709           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_regime_code := prtnr_tax_lines.tax_regime_code;
14710           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).tax_provider_id := prtnr_tax_lines.tax_provider_id;
14711 /* Bug 5557565 */
14712           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).effective_from := prtnr_tax_lines.effective_from;
14713           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).effective_to := prtnr_tax_lines.effective_to;
14714           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(prtnr_tax_lines.tax_regime_id).partner_processing_flag := 'S';
14715         END IF;
14716       END LOOP;
14717 
14718       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)
14719       LOOP
14720         ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
14721                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14722                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14723                                               'DERIVE_HDR_ATTRS',
14724                                               l_return_status
14725                                              );
14726 
14727         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14728           x_return_status := l_return_status;
14729           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14730             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14731              ' RETURN_STATUS = ' || x_return_status);
14732           END IF;
14733           RETURN;
14734         END IF;
14735 
14736         ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14737                                                  ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14738                                                  'SYNCHRONIZE_FOR_TAX',
14739                                                  p_event_class_rec,
14740                                                  l_return_status
14741     	                                        );
14742 
14743         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14744           x_return_status := l_return_status;
14745           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14746             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14747              ' RETURN_STATUS = ' || x_return_status);
14748           END IF;
14749           RETURN;
14750         END IF;
14751 
14752         ZX_TPI_SERVICES_PKG.ptnr_post_proc_sync_tax(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14753                                                     ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14754                                                     p_event_class_rec,
14755                                                     l_return_status
14756        	                                           );
14757 
14758         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14759           x_return_status := l_return_status;
14760           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14761             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14762              ' RETURN_STATUS = ' || x_return_status);
14763           END IF;
14764           RETURN;
14765         END IF;
14766       END LOOP;
14767     END IF;
14768 
14769      /* RE-INITIALISE SYNCHRONIZATION FLAG in ZX_LINES TO 'N' */
14770      zx_lines_table_handler(p_event_class_rec  => p_event_class_rec,
14771                             p_event            => 'UPDATE',
14772                             p_tax_regime_code  => null,
14773                             p_provider_id      => null,
14774                             x_return_status    => l_return_status
14775                            );
14776 
14777      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14778        x_return_status := l_return_status;
14779        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14780          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14781            ' RETURN_STATUS = ' || x_return_status);
14782        END IF;
14783        RETURN;
14784      END IF;
14785 
14786 
14787    /***********************PARTNER CODE END***************************/
14788    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14789      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14790        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14791    END IF;
14792 
14793  EXCEPTION
14794    WHEN OTHERS THEN
14795      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
14796      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
14797           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
14798      END IF;
14799    END discard_tax_only_lines;
14800 
14801 
14802 
14803 -----------------------------------------------------------------------
14804 --  PUBLIC PROCEDURE
14805 --  synchronize_tax
14806 --
14807 --  DESCRIPTION
14808 --  synchronize_tax processing for partners
14809 --
14810 --  CALLED BY
14811 --    ZX_API_PUB.synchronize_tax
14812 ----------------------------------------------------------------------
14813  PROCEDURE synchronize_tax
14814   ( p_event_class_rec IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE ,
14815     x_return_status   OUT NOCOPY VARCHAR2
14816   ) IS
14817   l_api_name             CONSTANT VARCHAR2(30):= 'SYNCHRONIZE_TAX';
14818   l_return_status        VARCHAR2(30);
14819   l_context_info_rec     ZX_API_PUB.context_info_rec_type;
14820   l_partner_migrated_flag      VARCHAR2(1);
14821   l_provider_id         NUMBER;
14822 
14823  BEGIN
14824    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14825      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
14826    END IF;
14827    x_return_status := FND_API.G_RET_STS_SUCCESS ;
14828 
14829   /* -------------------------------------------------------+
14830    |  Discard tax only lines                                |
14831    + -------------------------------------------------------*/
14832    /***********************PARTNER CODE START***************************/
14833    IF p_event_class_rec.record_flag ='Y' AND
14834       p_event_class_rec.record_for_partners_flag = 'Y' THEN
14835       SELECT zxdet.partner_migrated_flag
14836       INTO  l_partner_migrated_flag
14837       FROM zx_lines_det_factors zxdet
14838       WHERE zxdet.application_id = p_event_class_rec.application_id
14839       AND zxdet.entity_code = p_event_class_rec.entity_code
14840       AND zxdet.event_class_code = p_event_class_rec.event_class_code
14841       AND zxdet.trx_id = p_event_class_rec.trx_id
14842       AND rownum = 1;
14843 
14844       IF nvl(l_partner_migrated_flag,'N') = 'N'  THEN
14845 
14846        --
14847       -- bug#7115402- init partner flag
14848       --
14849       ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
14850 
14851       FOR app_tax_lines IN app_tax_lines_csr(p_event_class_rec)
14852       LOOP
14853         IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
14854           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
14855           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
14856           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
14857 /* Bug 5557565 */
14858           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
14859           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
14860           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'S';
14861         END IF;
14862         -- bug#7115402- set partner flag
14863         ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
14864 
14865       END LOOP;
14866       ELSE
14867       --
14868       -- bug#7115402- init partner flag
14869       --
14870       ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'N';
14871 
14872         FOR app_tax_lines IN app_tax_lines_csr2(p_event_class_rec)
14873         LOOP
14874           IF NOT ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.EXISTS(app_tax_lines.tax_regime_id) THEN
14875           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_id := app_tax_lines.tax_regime_id;
14876           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_regime_code := app_tax_lines.tax_regime_code;
14877           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).tax_provider_id := app_tax_lines.tax_provider_id;
14878 /* Bug 5557565 */
14879           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_from := app_tax_lines.effective_from;
14880           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).effective_to := app_tax_lines.effective_to;
14881           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(app_tax_lines.tax_regime_id).partner_processing_flag := 'S';
14882         END IF;
14883         -- bug#7115402- set partner flag
14884         ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag := 'Y';
14885 
14886       END LOOP;
14887 
14888       END IF;
14889 
14890       -- bug#7115402- execute below loop only if partner
14891       -- flag is set
14892      IF ZX_GLOBAL_STRUCTURES_PKG.g_ptnr_srvc_subscr_flag = 'Y' THEN
14893 
14894       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)
14895       LOOP
14896 
14897        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14898             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14899             ' at the start of the loop');
14900        END IF;
14901       IF ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl.exists(l_regime_index) THEN
14902 
14903        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14904             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14905             ' inside the regime index condition');
14906        END IF;
14907         ZX_tpi_services_pkg.get_service_provider(
14908 p_event_class_rec.application_id, p_event_class_rec.entity_code,
14909 p_event_class_rec.event_class_code,
14910 ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14911 l_provider_id , l_return_status);
14912 
14913        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14914             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14915             ' Provider Id = ' || to_char(l_provider_id));
14916        END IF;
14917 
14918        IF nvl(l_provider_id,0) > 0 THEN
14919        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14920             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14921             ' Before  partner pre processing  ');
14922        END IF;
14923       ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id :=
14924 l_provider_id;
14925         ZX_TPI_SERVICES_PKG.partner_pre_processing(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_id,
14926                                                    ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14927     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14928     	                                           ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).partner_processing_flag,
14929                                                    p_event_class_rec,
14930                                                    l_return_status
14931                                                   );
14932         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14933            x_return_status := l_return_status;
14934            IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14935             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14936              ' RETURN_STATUS = ' || x_return_status);
14937            END IF;
14938            RETURN;
14939         END IF;
14940 
14941        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14942             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14943             ' Before  derive ext attsr');
14944        END IF;
14945 
14946         ZX_TPI_SERVICES_PKG.derive_ext_attrs (p_event_class_rec,
14947                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14948                                               ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14949                                               'DERIVE_HDR_ATTRS',
14950                                               l_return_status
14951                                              );
14952 
14953         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14954           x_return_status := l_return_status;
14955           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14956             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14957              ' RETURN_STATUS = ' || x_return_status);
14958           END IF;
14959           RETURN;
14960         END IF;
14961 
14962        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14963             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14964             ' Before  call partner service');
14965        END IF;
14966          ZX_TPI_SERVICES_PKG.call_partner_service(ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_regime_code,
14967                                                   ZX_GLOBAL_STRUCTURES_PKG.tax_regime_tbl(l_regime_index).tax_provider_id,
14968                                                   'SYNCHRONIZE_FOR_TAX',
14969                                                   p_event_class_rec,
14970                                                   l_return_status
14971     	                                         );
14972 
14973         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
14974           x_return_status := l_return_status;
14975           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14976             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14977              ' RETURN_STATUS = ' || x_return_status);
14978           END IF;
14979           RETURN;
14980         END IF;
14981        END IF;
14982        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14983             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14984             ' after the iteratuion');
14985        END IF;
14986        END IF;
14987       END LOOP;
14988        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
14989             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
14990             ' After partner code ');
14991        END IF;
14992      END IF; -- bug7115402
14993     END IF;  --recording
14994 
14995    /***********************PARTNER CODE END***************************/
14996    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
14997      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
14998        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
14999    END IF;
15000 
15001  EXCEPTION
15002    WHEN OTHERS THEN
15003      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15004      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15005           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15006      END IF;
15007    END synchronize_tax;
15008 
15009 -----------------------------------------------------------------------
15010 --  PUBLIC PROCEDURE
15011 --  insupd_line_det_factors
15012 --
15013 --  DESCRIPTION
15014 --  Called to insert/update to zx_lines_det_factors for products integrating
15015 --  with the Line det factors UI
15016 --
15017 --  CALLED BY
15018 --    ZX_API_PUB.insert_line_det_factors
15019 --    ZX_API_PUB.update_line_det_factors
15020 --    ZX_API_PUB.copy_insert_line_det_factors
15021 ----------------------------------------------------------------------
15022   PROCEDURE insupd_line_det_factors
15023   (
15024    p_event_class_rec          IN  OUT NOCOPY ZX_API_PUB.event_class_rec_type ,
15025    x_return_status            OUT NOCOPY VARCHAR2
15026   )IS
15027 
15028   l_api_name              CONSTANT VARCHAR2(30):= 'INSUPD_LINE_DET_FACTORS';
15029   l_calculation_done_flag VARCHAR2(1);
15030   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
15031   l_return_status         VARCHAR2(1);
15032 
15033  BEGIN
15034   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15035      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15036    END IF;
15037 
15038    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15039 
15040    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
15041      LOOP
15042        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15043          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15044             ', SHIP_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID(l_trx_index)) ||
15045             ', BILL_THIRD_PTY_ACCT_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID(l_trx_index)) ||
15046             ', 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)) ||
15047             ', 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)) ||
15048             ', 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)) ||
15049 	    ', 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))||
15050             ', DEFAULT_TAXATION_COUNTRY: '|| zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(l_trx_index)||
15051             ', DOCUMENT_SUB_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(l_trx_index)||
15052             ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_index)||
15053             ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_index)||
15054             ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_index)||
15055             ', PRODUCT_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_index)||
15056             ', ASSESSABLE_VALUE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_index))||
15057             ', TRANSACTION_BIZ_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_index));
15058        END IF;
15059        /* ------------------------------------------------*
15060        |Get location for internal organization           |
15061        * -----------------------------------------------*/
15062        ZX_TCM_PTP_PKG.get_location_id(p_event_class_rec.internal_organization_id,
15063                                       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID(l_trx_index),
15064                                       l_return_status
15065                                       );
15066 
15067        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15068          x_return_status := l_return_status;
15069          IF x_return_status = FND_API.G_RET_STS_ERROR THEN
15070            l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
15071            l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
15072            l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
15073            l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
15074            ZX_API_PUB.add_msg(p_context_info_rec => l_context_info_rec);
15075          END IF;
15076          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15077            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15078              ' RETURN_STATUS = ' || x_return_status);
15079          END IF;
15080          RETURN;
15081         END IF;
15082 
15083         /*--------------------------------------------------------------------*
15084        |Bug 3687807 - assign line_amt to assessable_value if null           |
15085        * ------------------------------------------------------------------*/
15086        IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_index) is null THEN
15087          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_index) :=
15088 	  		       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(l_trx_index);
15089        END IF;
15090 
15091       /*----------------------------------------------*
15092        |Set the tax_processing_completed_flag         |
15093        *---------------------------------------------*/
15094        --PO/iP calls this API at end of tax calculation so this flag should be Y
15095        IF p_event_class_rec.application_id =201 THEN
15096           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_index) := 'Y';
15097        ELSE
15098           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_processing_completed_flag(l_trx_index) := 'N';
15099        END IF;
15100 
15101        /*----------------------------------------------*
15102         |Retrieve the ptps for the party ids           |
15103         *---------------------------------------------*/
15104         derive_internal_parameters(l_return_status,
15105                                    l_trx_index,
15106                                    p_event_class_rec
15107                                    );
15108 
15109         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15110           x_return_status := l_return_status;
15111           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15112             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15113            ' RETURN_STATUS = ' || x_return_status);
15114           END IF;
15115           RETURN;
15116        END IF;
15117         IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15118           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))||
15119           ', ENTITY_CODE: '||zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE(l_trx_index)||
15120           ', 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)||
15121           ', TRX_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID(l_trx_index))||
15122           ', TRX_LINE_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID(l_trx_index))||
15123           ', TRX_LEVEL_TYPE: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_index))||
15124           ', INTERNAL_ORGANIZATION_ID: '|| to_char(zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_index))||
15125           ', LINE_LEVEL_ACTION: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION(l_trx_index)||
15126           ', TRX_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE(l_trx_index))||
15127           ', TRX_DOC_REVISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION(l_trx_index)||
15128           ', LEDGER_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID(l_trx_index))||
15129           ', TRX_CURRENCY_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE(l_trx_index)||
15130           ', CURRENCY_CONVERSION_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(l_trx_index))||
15131           ', CURRENCY_CONVERSION_RATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(l_trx_index))||
15132           ', CURRENCY_CONVERSION_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(l_trx_index)||
15133           ', MINIMUM_ACCOUNTABLE_UNIT: '|| zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT(l_trx_index)||
15134           ', PRECISION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRECISION(l_trx_index)||
15135           ', TRX_SHIPPING_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE(l_trx_index))||
15136           ', TRX_RECEIPT_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE(l_trx_index))||
15137           ', LEGAL_ENTITY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(l_trx_index))||
15138           ', ROUNDING_SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(l_trx_index))||
15139           ', ROUNDING_SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(l_trx_index))||
15140           ', ROUNDING_BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(l_trx_index))||
15141           ', ROUNDING_BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(l_trx_index))||
15142           ', 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))||
15143           ', 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))||
15144           ', 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))||
15145           ', 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))||
15146           ', ESTABLISHMENT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID(l_trx_index))||
15147           ', TRX_LINE_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE(l_trx_index)||
15148           ', TRX_LINE_DATE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE(l_trx_index))||
15149           ', TRX_BUSINESS_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(l_trx_index)||
15150           ', LINE_INTENDED_USE: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE(l_trx_index)||
15151           ', USER_DEFINED_FISC_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(l_trx_index)||
15152           ', LINE_AMT: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT(l_trx_index))||
15153           ', TRX_LINE_QUANTITY: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY(l_trx_index))||
15154           ', UNIT_PRICE: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE(l_trx_index))||
15155           ', EXEMPT_CERTIFICATE_NUMBER: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER(l_trx_index)||
15156           ', EXEMPT_REASON: '|| zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON(l_trx_index)||
15157           ', CASH_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT(l_trx_index)||
15158           ', VOLUME_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT(l_trx_index)||
15159           ', TRADING_DISCOUNT: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT(l_trx_index)||
15160           ', TRANSFER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE(l_trx_index)||
15161           ', TRANSPORTATION_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE(l_trx_index)||
15162           ', INSURANCE_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE(l_trx_index)||
15163           ', OTHER_CHARGE: '|| zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE(l_trx_index)||
15164           ', ASSESSABLE_VALUE: '|| zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_index)||
15165           ', PRODUCT_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID(l_trx_index))||
15166           ', PRODUCT_FISC_CLASSIFICATION: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(l_trx_index)||
15167           ', PRODUCT_ORG_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_index))||
15168           ', UOM_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE(l_trx_index)||
15169           ', PRODUCT_TYPE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE(l_trx_index)||
15170           ', PRODUCT_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE(l_trx_index)||
15171           ', PRODUCT_CATEGORY: '|| zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY(l_trx_index)||
15172           ', TRX_SIC_CODE: '|| zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE(l_trx_index)||
15173           ', LINE_CLASS: '|| zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS(l_trx_index)||
15174           ', FOB_POINT: '|| zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT(l_trx_index)||
15175           ', SHIP_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID(l_trx_index))||
15176           ', SHIP_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID(l_trx_index))||
15177           ', POA_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID(l_trx_index))||
15178           ', POO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID(l_trx_index))||
15179           ', BILL_TO_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID(l_trx_index))||
15180           ', BILL_FROM_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID(l_trx_index))||
15181           ', MERCHANT_PARTY_ID: '|| to_char( zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID(l_trx_index)));
15182         END IF;
15183    END LOOP;
15184   /* ---------------------------------------------------------------------*
15185    |Perform insert/update into database based on the API from where called|
15186    *---------------------------------------------------------------------*/
15187    IF ZX_API_PUB.G_PUB_SRVC IN ('INSERT_LINE_DET_FACTORS','COPY_INSERT_LINE_DET_FACTORS') THEN
15188      --PO/iP calls this API at end of tax calculation so this flag should be Y
15189      IF p_event_class_rec.application_id =201 THEN
15190         p_event_class_rec.tax_calculation_done_flag := 'Y';
15191      ELSE
15192         p_event_class_rec.tax_calculation_done_flag := 'N';
15193      END IF;
15194 
15195      db_insert_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
15196                                  p_event_class_rec    =>  p_event_class_rec,
15197                                  p_insert_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.FIRST,
15198     	                         x_return_status      =>  l_return_status
15199                                  );
15200      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15201        x_return_status := l_return_status;
15202        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15203          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15204           ' RETURN_STATUS = ' || x_return_status);
15205        END IF;
15206        RETURN;
15207      END IF;
15208    ELSIF ZX_API_PUB.G_PUB_SRVC = 'UPDATE_LINE_DET_FACTORS' THEN
15209 
15210      SELECT tax_calculation_done_flag
15211        INTO p_event_class_rec.tax_calculation_done_flag
15212        FROM ZX_LINES_DET_FACTORS
15213       WHERE APPLICATION_ID   = p_event_class_rec.APPLICATION_ID
15214         AND ENTITY_CODE      = p_event_class_rec.ENTITY_CODE
15215         AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
15216         AND TRX_ID           = p_event_class_rec.TRX_ID
15217         AND ROWNUM           = 1;
15218 
15219       IF p_event_class_rec.TAX_EVENT_TYPE_CODE = 'UPDATE' AND
15220          p_event_class_rec.tax_calculation_done_flag = 'N' THEN
15221          p_event_class_rec.TAX_EVENT_TYPE_CODE := 'CREATE';
15222       END IF;
15223 
15224       db_update_line_det_factors (p_trx_line_dist_tbl  =>  zx_global_structures_pkg.trx_line_dist_tbl,
15225                                   p_event_class_rec    =>  p_event_class_rec,
15226                                   p_update_index       =>  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,
15227                                   x_return_status      =>  l_return_status
15228                                  );
15229 
15230      IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15231        x_return_status := l_return_status;
15232        IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15233          FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15234           ' RETURN_STATUS = ' || x_return_status);
15235        END IF;
15236        RETURN;
15237      END IF;
15238    END IF;
15239 
15240    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15241      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15242        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15243    END IF;
15244  EXCEPTION
15245    WHEN OTHERS THEN
15246      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15247      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15248           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15249      END IF;
15250   END insupd_line_det_factors;
15251 
15252 -----------------------------------------------------------------------
15253 --  PUBLIC PROCEDURE
15254 --  zx_lines_table_handler
15255 --
15256 --  DESCRIPTION
15257 --  Handles inserts/updates/deletes to zx_lines for partner integration
15258 --
15259 --  CALLED BY
15260 --    ZX_API_PUB.ptnr_sync_calc_tax
15261 --    override_tax
15262 ----------------------------------------------------------------------
15263   PROCEDURE zx_lines_table_handler
15264   (
15265    p_event_class_rec          IN  ZX_API_PUB.event_class_rec_type ,
15266    p_event                    IN  VARCHAR2,
15267    p_tax_regime_code          IN  VARCHAR2,
15268    p_provider_id              IN  NUMBER,
15269    x_return_status            OUT NOCOPY VARCHAR2
15270   )IS
15271 
15272   l_api_name              CONSTANT VARCHAR2(30):= 'ZX_LINES_TABLE_HANDLER';
15273   l_context_info_rec      ZX_API_PUB.context_info_rec_type;
15274   l_return_status         VARCHAR2(1);
15275 
15276  BEGIN
15277   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15278      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15279    END IF;
15280 
15281    x_return_status := FND_API.G_RET_STS_SUCCESS ;
15282 
15283    IF p_event ='UPDATE' THEN
15284      UPDATE ZX_LINES
15285        SET sync_with_prvdr_flag ='N'
15286        WHERE  application_id = p_event_class_rec.application_id
15287           AND entity_code = p_event_class_rec.entity_code
15288           AND event_class_code = p_event_class_rec.event_class_code
15289           AND trx_id = p_event_class_rec.trx_id
15290           AND tax_provider_id is not null;
15291    ELSIF p_event = 'DELETE' THEN
15292      DELETE from zx_lines
15293        WHERE application_id    = p_event_class_rec.application_id
15294           AND entity_code      = p_event_class_rec.entity_code
15295           AND event_class_code = p_event_class_rec.event_class_code
15296           AND trx_id           = p_event_class_rec.trx_id
15297           AND tax_regime_code  = p_tax_regime_code;
15298    END IF;
15299 
15300    IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
15301      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15302        G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15303    END IF;
15304 
15305  EXCEPTION
15306    WHEN OTHERS THEN
15307      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15308      IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15309           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15310      END IF;
15311   END zx_lines_table_handler;
15312 
15313 -----------------------------------------------------------------------
15314 --  PUBLIC PROCEDURE
15315 --  Get_Tax_Profile_Ids
15316 --
15317 --  DESCRIPTION
15318 --  Populates the party tax profile ids
15319 --
15320 --  CALLED BY
15321 --    derive_internal_parameters
15322 --    ZX_API_PUB.update_det_factors_hdr
15323 ----------------------------------------------------------------------
15324   PROCEDURE Get_Tax_Profile_Ids
15325   (
15326     x_return_status    OUT NOCOPY  VARCHAR2,
15327     p_party_type_Code  IN          VARCHAR2,
15328     p_party_id         IN          NUMBER,
15329     p_party_loc_id     IN          NUMBER,
15330     p_party_site_id    IN          NUMBER,
15331     x_tax_prof_id      OUT NOCOPY  NUMBER
15332   )
15333   IS
15334     l_api_name           CONSTANT VARCHAR2(30):= 'GET_TAX_PROFILE_IDS';
15335     l_party_index        VARCHAR2(100);
15336     l_site_index         VARCHAR2(100);
15337     l_return_status      VARCHAR2(30);
15338 
15339   BEGIN
15340     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
15341       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',
15342         G_PKG_NAME||': '||l_api_name||'()+'||
15343         ', Party_id: '||to_char(p_party_id)||
15344         ', Party Type:'||p_party_type_code ||
15345         ', p_party_loc_id: '||to_char(p_party_loc_id)||
15346         ', p_party_site_id: '||to_char(p_party_site_id)
15347         );
15348     END IF;
15349 
15350     x_return_status := FND_API.G_RET_STS_SUCCESS;
15351 
15352     IF p_party_id IS NOT NULL THEN
15353       l_party_index := p_party_type_code||to_char(p_party_id);
15354       IF (p_party_tax_prof_id_tbl.EXISTS(l_party_index)) THEN
15355          x_tax_prof_id := p_party_tax_prof_id_tbl(l_party_index);
15356       ELSE
15357 
15358          ZX_TCM_PTP_PKG.get_ptp(p_party_id
15359                                ,p_Party_Type_Code
15360                                ,zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(1)
15361                                ,p_party_loc_id
15362                                ,x_tax_prof_id
15363                                ,l_return_status
15364                                );
15365 
15366         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15367           x_return_status := l_return_status;
15368           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15369             FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15370                    ' RETURN_STATUS = ' || x_return_status);
15371           END IF;
15372           RETURN;
15373         END IF;
15374         p_party_tax_prof_id_tbl(l_party_index) := x_tax_prof_id;
15375       END IF;
15376     END IF;
15377 
15378     IF p_party_site_id IS NOT NULL THEN
15379       l_site_index := p_Party_Type_Code||to_char(p_party_site_id);
15380       IF (p_site_tax_prof_id_tbl.EXISTS(l_site_index)) THEN
15381          x_tax_prof_id := p_site_tax_prof_id_tbl(l_site_index);
15382       ELSE
15383          ZX_TCM_PTP_PKG.get_ptp( p_party_site_id
15384                                ,p_party_type_code
15385                                ,zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID(1)
15386                                ,p_party_loc_id
15387                                ,x_tax_prof_id
15388                                ,l_return_status
15389                                );
15390 
15391         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15392           x_return_status := l_return_status;
15393           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15394              FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15395                    ' RETURN_STATUS = ' || x_return_status);
15396           END IF;
15397           RETURN;
15398         END IF;
15399         p_site_tax_prof_id_tbl(l_site_index) := x_tax_prof_id;
15400       END IF;
15401     END IF;
15402 
15403     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
15404       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15405         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15406     END IF;
15407   END get_tax_profile_ids;
15408 
15409 
15410 -----------------------------------------------------------------------
15411 --  PUBLIC PROCEDURE
15412 --  default_tax_attrs_wrapper
15413 --
15414 --  DESCRIPTION
15415 --  This overloaded procedure acts as a wrapper on TDS default_tax_attribs API to
15416 --  default the tax determining attributes. It follows the following logic for
15417 --  defaulting the determining attributes.
15418 --
15419 --    If adjusted_doc informaiton passed
15420 --      default from adjusted_doc
15421 --    elsif applied_from information passed
15422 --      default from applied_from
15423 --    elsif soure_doc information passed
15424 --      default from source
15425 --    else
15426 --      call the TDM default API
15427 
15428 --  CALLED BY
15429 --    calculate_tax
15430 --    ZX_API_PUB.insert_line_det_factors
15431 --    ZX_API_PUB.get_default_tax_det_atribs(called from populateTaxAttributes)
15432 ----------------------------------------------------------------------
15433 
15434   PROCEDURE default_tax_attrs_wrapper(
15435    p_trx_line_index   IN             NUMBER,
15436    p_event_class_rec  IN             ZX_API_PUB.event_class_rec_type,
15437    x_return_status    OUT NOCOPY     VARCHAR2
15438   )
15439   IS
15440     l_api_name                     CONSTANT VARCHAR2(30):= 'DEFAULT_TAX_ATTRS_WRAPPER';
15441     l_return_status                VARCHAR2(1);
15442     l_tax_classification_code      VARCHAR2(50);
15443     l_intrcmp_src_appln_id         NUMBER;
15444     l_intrcmp_src_entity_code      VARCHAR2(30);
15445     l_intrcmp_src_event_class_code VARCHAR2(30);
15446     l_event_class_rec              ZX_API_PUB.event_class_rec_type;
15447     l_upg_trx_info_rec             ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
15448   BEGIN
15449     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
15450       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
15451     END IF;
15452 
15453     x_return_status := FND_API.G_RET_STS_SUCCESS;
15454 
15455     --Defaulting Automation accepts event class rec as IN OUT parameter while it is a IN parameter here
15456     --Hence need to populate event class details into intermediate record l_event_class_rec
15457     --Populating only those used by the defaulting automation API
15458     l_event_class_rec.application_id       := p_event_class_rec.application_id;
15459     l_event_class_rec.entity_code          := p_event_class_rec.entity_code;
15460     l_event_class_rec.event_class_code     := p_event_class_rec.event_class_code;
15461     l_event_class_rec.trx_id               := p_event_class_rec.trx_id;
15462     l_event_class_rec.prod_family_grp_code := p_event_class_rec.prod_family_grp_code;
15463     l_event_class_rec.tax_method_code      := p_event_class_rec.tax_method_code;
15464 
15465     /*If  the adjusted document information is passed with the transaction line, then derive the values
15466       tax determining factors from ZX_LINES_DET_FACTORS for the adjusted document*/
15467     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID(p_trx_line_index) is not null THEN
15468       BEGIN
15469         SELECT default_taxation_country,
15470                document_sub_type,
15471                product_category,
15472                trx_business_category,
15473                line_intended_use,
15474                user_defined_fisc_class,
15475                product_fisc_classification,
15476                assessable_value,
15477                product_type,
15478                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15479                                                              'O2C',output_tax_classification_code)
15480          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15481                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15482                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15483                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15484                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15485                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15486                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15487                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15488                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15489                l_tax_classification_code
15490           FROM ZX_LINES_DET_FACTORS
15491          WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index)
15492            AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index)
15493            AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(p_trx_line_index)
15494            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index)
15495            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index)
15496            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index);
15497        EXCEPTION
15498          WHEN NO_DATA_FOUND THEN
15499               l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index);
15500               l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index);
15501               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);
15502               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index);
15503               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
15504                                                            x_return_status      =>  l_return_status
15505                                                           );
15506               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15507                 x_return_status := l_return_status;
15508                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15509                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15510                     ' RETURN_STATUS = ' || x_return_status);
15511                 END IF;
15512                 RETURN;
15513               END IF;
15514               SELECT default_taxation_country,
15515                      document_sub_type,
15516                      product_category,
15517                      trx_business_category,
15518                      line_intended_use,
15519                      user_defined_fisc_class,
15520                      product_fisc_classification,
15521                      assessable_value,
15522                      product_type,
15523                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15524                                                                    'O2C',output_tax_classification_code)
15525                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15526                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15527                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15528                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15529                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15530                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15531                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15532                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15533                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15534                      l_tax_classification_code
15535                 FROM ZX_LINES_DET_FACTORS
15536                WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(p_trx_line_index)
15537                  AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(p_trx_line_index)
15538                  AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(p_trx_line_index)
15539                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(p_trx_line_index)
15540                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(p_trx_line_index)
15541                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(p_trx_line_index);
15542       END;
15543       --upgrade of adjusted doc complete
15544     /*If  the applied from document information is passed with the transaction line, then derive the values
15545      tax determining factors from ZX_LINES_DET_FACTORS for the applied from document*/
15546     ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index) is not null THEN
15547       BEGIN
15548         SELECT default_taxation_country,
15549                document_sub_type,
15550                product_category,
15551                trx_business_category,
15552                line_intended_use,
15553                user_defined_fisc_class,
15554                product_fisc_classification,
15555                assessable_value,
15556                product_type,
15557                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15558                                                              'O2C',output_tax_classification_code)
15559          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15560                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15561                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15562                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15563                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15564                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15565                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15566                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15567                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15568                l_tax_classification_code
15569           FROM ZX_LINES_DET_FACTORS
15570          WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index)
15571            AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index)
15572            AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(p_trx_line_index)
15573            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index)
15574            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_line_id(p_trx_line_index)
15575            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_level_type(p_trx_line_index);
15576        EXCEPTION
15577          WHEN NO_DATA_FOUND THEN
15578               l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index);
15579               l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index);
15580               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);
15581               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index);
15582               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
15583                                                            x_return_status      =>  l_return_status
15584                                                           );
15585               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15586                 x_return_status := l_return_status;
15587                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15588                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15589                     ' RETURN_STATUS = ' || x_return_status);
15590                 END IF;
15591                 RETURN;
15592               END IF;
15593               SELECT default_taxation_country,
15594                      document_sub_type,
15595                      product_category,
15596                      trx_business_category,
15597                      line_intended_use,
15598                      user_defined_fisc_class,
15599                      product_fisc_classification,
15600                      assessable_value,
15601                      product_type,
15602                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15603                                                                    'O2C',output_tax_classification_code)
15604                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15605                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15606                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15607                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15608                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15609                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15610                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15611                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15612                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15613                      l_tax_classification_code
15614                 FROM ZX_LINES_DET_FACTORS
15615                WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(p_trx_line_index)
15616                  AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(p_trx_line_index)
15617                  AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(p_trx_line_index)
15618                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(p_trx_line_index)
15619                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_line_id(p_trx_line_index)
15620                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_level_type(p_trx_line_index);
15621       END;
15622       --upgrade of applied from doc complete
15623     /*If  the source document information is passed with the transaction line, then derive the values
15624      tax determining factors from ZX_LINES_DET_FACTORS for the source document*/
15625     ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_TRX_ID(p_trx_line_index) is not null THEN
15626       BEGIN
15627         --To support intercompany transactions, fetch the intercompany information
15628         --from zx_evnt_cls_mappings
15629         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) = 'INTERCOMPANY_TRX' THEN
15630           /* Bug 5223368 : Used the current document application id, entity code and event class code
15631                            instead of using source document values. */
15632           /* Bug 5666175 :
15633              AP's event classes don't match one-to-one with AR. This has resulted
15634              into an issue when Credit memo is imported during Intercompany xfer.
15635              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'
15636              with corresponding intrcmp_src_evnt_cls_code 'INVOICE'.
15637              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.
15638           */
15639 
15640           SELECT intrcmp_src_appln_id,
15641                  intrcmp_src_entity_code,
15642                  intrcmp_src_evnt_cls_code
15643             INTO l_intrcmp_src_appln_id,
15644                  l_intrcmp_src_entity_code,
15645                  l_intrcmp_src_event_class_code
15646             FROM ZX_EVNT_CLS_MAPPINGS
15647            WHERE application_id   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_trx_line_index)
15648              AND entity_code      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_trx_line_index)
15649              AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_trx_line_index);
15650         END IF;
15651 
15652         SELECT default_taxation_country,
15653                document_sub_type,
15654                product_category,
15655                trx_business_category,
15656                line_intended_use,
15657                user_defined_fisc_class,
15658                product_fisc_classification,
15659                assessable_value,
15660                product_type,
15661                decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15662                                                              'O2C',output_tax_classification_code)
15663          INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15664                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15665                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15666                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15667                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15668                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15669                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15670                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15671                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15672                l_tax_classification_code
15673           FROM ZX_LINES_DET_FACTORS
15674          WHERE application_id   = nvl(l_intrcmp_src_appln_id,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index))
15675            AND entity_code      = nvl(l_intrcmp_src_entity_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index))
15676 -- 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))
15677            AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index)
15678            AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_line_id(p_trx_line_index)
15679            AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_level_type(p_trx_line_index);
15680        EXCEPTION
15681          WHEN NO_DATA_FOUND THEN
15682               IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index) = 'INTERCOMPANY_TRX' THEN
15683                 l_upg_trx_info_rec.application_id   := l_intrcmp_src_appln_id;
15684                 l_upg_trx_info_rec.entity_code      := l_intrcmp_src_entity_code;
15685                 l_upg_trx_info_rec.event_class_code := l_intrcmp_src_event_class_code;
15686               ELSE
15687                 l_upg_trx_info_rec.application_id   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index);
15688                 l_upg_trx_info_rec.entity_code      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index);
15689                 l_upg_trx_info_rec.event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_trx_line_index);
15690               END IF;
15691               l_upg_trx_info_rec.trx_id           := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index);
15692               ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
15693                                                            x_return_status      =>  l_return_status
15694                                                           );
15695               IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15696                 x_return_status := l_return_status;
15697                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15698                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15699                     ' RETURN_STATUS = ' || x_return_status);
15700                 END IF;
15701                 RETURN;
15702               END IF;
15703               SELECT default_taxation_country,
15704                      document_sub_type,
15705                      product_category,
15706                      trx_business_category,
15707                      line_intended_use,
15708                      user_defined_fisc_class,
15709                      product_fisc_classification,
15710                      assessable_value,
15711                      product_type,
15712                      decode(l_event_class_rec.prod_family_grp_code,'P2P',input_tax_classification_code,
15713                                                                    'O2C',output_tax_classification_code)
15714                INTO  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15715                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15716                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index),
15717                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index),
15718                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
15719                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index),
15720                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
15721                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
15722                      ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
15723                      l_tax_classification_code
15724                 FROM ZX_LINES_DET_FACTORS
15725                WHERE application_id   = nvl(l_intrcmp_src_appln_id,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_application_id(p_trx_line_index))
15726                  AND entity_code      = nvl(l_intrcmp_src_entity_code,ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_entity_code(p_trx_line_index))
15727                  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))
15728                  AND trx_id           = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_id(p_trx_line_index)
15729                  AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_line_id(p_trx_line_index)
15730                  AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_trx_level_type(p_trx_line_index);
15731       END;
15732       --upgrade of source document complete
15733    /*If the  Source Document Line identifiers are not passed and also if the adjusted document or
15734      applied from document information is not passed with the transaction line, then derive values
15735      of determining factors based on the defaulting rules setup in eBTax*/
15736     ELSE
15737       --If line already exists in line det factors then default and pass header level attributes
15738       --from that line so that it is not redefaulted again
15739       IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null  THEN
15740          IF  l_default_taxation_country is null THEN
15741             BEGIN
15742               SELECT default_taxation_country ,
15743                      document_sub_type
15744                 INTO l_default_taxation_country,
15745                      l_doc_sub_type
15746                 FROM ZX_LINES_DET_FACTORS
15747                WHERE application_id   = p_event_class_rec.application_id
15748                  AND entity_code      = p_event_class_rec.entity_code
15749                  AND event_class_code = p_event_class_rec.event_class_code
15750                  AND trx_id           = p_event_class_rec.trx_id
15751                  AND rownum           = 1;
15752             EXCEPTION
15753                WHEN NO_DATA_FOUND THEN
15754                   null;
15755             END;
15756         END IF;
15757         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index):= l_default_taxation_country;
15758         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index)       := l_doc_sub_type;
15759       END IF;
15760 
15761       ZX_DEFAULT_AUTOMATION_PKG.default_tax_attribs (p_trx_line_index    => p_trx_line_index,
15762                                                      p_event_class_rec   => l_event_class_rec,
15763                                                      p_taxation_country  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
15764                                                      p_document_sub_type => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index),
15765                                                      p_tax_invoice_number=> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_NUMBER(p_trx_line_index),
15766                                                      p_tax_invoice_date  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_DATE(p_trx_line_index),
15767                                                      x_return_status     => l_return_status
15768                                                      );
15769       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
15770          x_return_status := l_return_status;
15771          IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
15772            FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
15773              ' RETURN_STATUS = ' || x_return_status);
15774          END IF;
15775          RETURN;
15776       END IF;
15777     END IF;
15778 
15779     IF l_event_class_rec.prod_family_grp_code = 'P2P' AND
15780        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null THEN
15781          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(p_trx_line_index) := l_tax_classification_code;
15782     ELSIF l_event_class_rec.prod_family_grp_code = 'O2C' AND
15783        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null THEN
15784          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) := l_tax_classification_code;
15785     END IF;
15786 
15787 
15788     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
15789       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
15790         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
15791     END IF;
15792 
15793     EXCEPTION
15794       WHEN OTHERS THEN
15795         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
15796         IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
15797           FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
15798         END IF;
15799   END default_tax_attrs_wrapper;
15800 
15801  -----------------------------------------------------------------------
15802  --  PUBLIC PROCEDURE
15803  --  get_default_tax_det_attrs
15804  --
15805  --  DESCRIPTION
15806  --  This overloaded procedure acts as a wrapper on TDS default_tax_attribs
15807  --  procedure to default the tax determining attributes. It follows the
15808  --  following logic defaulting the determining attributes.
15809  --
15810  --  Fetch from zx_trx_headers_gt and zx_trx_transaction_lines_gt into
15811  --  global structure zx_global_structures_pkg.trx_line_dist_tbl
15812  --  For records in trx_line_dist_tbl
15813  --  Loop
15814  --   If all of defaulting attributes null (not including tax classification) then
15815  --    If line_level_action is UPDATE
15816  --        Fetch all attributes from zx_lines_det_factors
15817  --          WHEN NO_DATA_FOUND
15818  --            IF event_class_code in ('PO_PA','RELEASE')
15819  --               call on-the-fly upgrade
15820  --            ELSIF user_upd_det_factors_flag = 'N'
15821  --               call RE-defaulting API for intended_use, product_fiscal_classification, product type
15822  --          end --when no-data-found
15823  --        if item/item_org_id/country has changed
15824  --           call RE-defaulting API for intended_use, product_fiscal_classification, product type
15825  --        if item/item_org_id/assessable value has changed
15826  --           call redefaulting API for assessable value
15827  --        if nothing changed copy from determining attrs from zx_lines_det_factors
15828  --        Always call the tax classification defaulting API
15829  --    ELSIF line level action is CREATE
15830  --       IF historical_tax_code_id passed
15831  --          redefault the tax attributes for PO (on the fly migration)
15832  --       elsif historical tax code id null
15833  --          If adjusted_doc informaiton passed
15834  --            default from adjusted_doc
15835  --          elsif applied_from information passed
15836  --            default from applied_from
15837  --          elsif soure_doc information passed
15838  --            default from source
15839  --          else
15840  --            call the TDM default API
15841  --    END IF
15842  -- ELSIF any of defaulting attributes not null and line level action is create
15843  --    if historical_tax_code_id not null  then
15844  --         call just the redefaulting for assessable value
15845  -- END IF
15846  --  End loop
15847  --  Update the GTTs with the defaulting attributes derived here.
15848 
15849  --  CALLED BY
15850  --    ZX_API_PUB.get_default_tax_det_attrs
15851  ----------------------------------------------------------------------
15852  PROCEDURE get_default_tax_det_attrs(
15853   p_event_class_rec       IN            ZX_API_PUB.event_class_rec_type,
15854   x_return_status         OUT NOCOPY    VARCHAR2
15855  )IS
15856   l_api_name             CONSTANT VARCHAR2(30):= 'GET_DEFAULT_TAX_DET_ATTRS';
15857   l_return_status                 VARCHAR2(1);
15858   l_error_buffer                  VARCHAR2(1000);
15859   l_call_default_APIs             BOOLEAN;
15860   l_context_info_rec              ZX_API_PUB.context_info_rec_type;
15861 
15862   CURSOR lines (p_event_class_rec  ZX_API_PUB.event_class_rec_type)is
15863   SELECT   /*+ INDEX(HEADER ZX_TRX_HEADERS_GT_U1) INDEX(TRXLINES ZX_TRANSACTION_LINES_GT_U1) */
15864           header.INTERNAL_ORGANIZATION_ID           ,
15865           header.APPLICATION_ID                     ,
15866           header.ENTITY_CODE                        ,
15867           header.EVENT_CLASS_CODE                   ,
15868           header.EVENT_TYPE_CODE                    ,
15869           header.TRX_ID                             ,
15870           trxlines.TRX_LEVEL_TYPE                   ,
15871           trxlines.TRX_LINE_ID                      ,
15872           trxlines.LINE_LEVEL_ACTION                ,
15873           nvl(trxlines.LINE_CLASS,p_event_class_rec.EVENT_CLASS_CODE), --Bugfix 4938879
15874           header.TRX_DATE                           ,
15875           header.TRX_DOC_REVISION                   ,
15876           header.LEDGER_ID                          ,
15877           header.TRX_CURRENCY_CODE                  ,
15878           header.CURRENCY_CONVERSION_DATE           ,
15879           header.CURRENCY_CONVERSION_RATE           ,
15880           header.CURRENCY_CONVERSION_TYPE           ,
15881           header.MINIMUM_ACCOUNTABLE_UNIT           ,
15882           header.PRECISION                          ,
15883           trxlines.TRX_LINE_CURRENCY_CODE           ,
15884           trxlines.TRX_LINE_CURRENCY_CONV_DATE      ,
15885           trxlines.TRX_LINE_CURRENCY_CONV_RATE      ,
15886           trxlines.TRX_LINE_CURRENCY_CONV_TYPE      ,
15887           trxlines.TRX_LINE_MAU                     ,
15888           trxlines.TRX_LINE_PRECISION               ,
15889           trxlines.TRX_SHIPPING_DATE                ,
15890           trxlines.TRX_RECEIPT_DATE                 ,
15891           header.LEGAL_ENTITY_ID                    ,
15892           header.ROUNDING_SHIP_TO_PARTY_ID          ,
15893           header.ROUNDING_SHIP_FROM_PARTY_ID        ,
15894           header.ROUNDING_BILL_TO_PARTY_ID          ,
15895           header.ROUNDING_BILL_FROM_PARTY_ID        ,
15896           header.RNDG_SHIP_TO_PARTY_SITE_ID         ,
15897           header.RNDG_SHIP_FROM_PARTY_SITE_ID       ,
15898           header.RNDG_BILL_TO_PARTY_SITE_ID         ,
15899           header.RNDG_BILL_FROM_PARTY_SITE_ID       ,
15900           header.ESTABLISHMENT_ID                   ,
15901           trxlines.TRX_LINE_TYPE                    ,
15902           trxlines.TRX_LINE_DATE                    ,
15903           trxlines.TRX_BUSINESS_CATEGORY            ,
15904           trxlines.LINE_INTENDED_USE                ,
15905           trxlines.USER_DEFINED_FISC_CLASS          ,
15906           trxlines.LINE_AMT                         ,
15907           trxlines.TRX_LINE_QUANTITY                ,
15908           trxlines.UNIT_PRICE                       ,
15909           trxlines.EXEMPT_CERTIFICATE_NUMBER        ,
15910           trxlines.EXEMPT_REASON                    ,
15911           trxlines.CASH_DISCOUNT                    ,
15912           trxlines.VOLUME_DISCOUNT                  ,
15913           trxlines.TRADING_DISCOUNT                 ,
15914           trxlines.TRANSFER_CHARGE                  ,
15915           trxlines.TRANSPORTATION_CHARGE            ,
15916           trxlines.INSURANCE_CHARGE                 ,
15917           trxlines.OTHER_CHARGE                     ,
15918           trxlines.PRODUCT_ID                       ,
15919           trxlines.PRODUCT_FISC_CLASSIFICATION      ,
15920           trxlines.PRODUCT_ORG_ID                   ,
15921           trxlines.UOM_CODE                         ,
15922           trxlines.PRODUCT_TYPE                     ,
15923           trxlines.PRODUCT_CODE                     ,
15924           trxlines.PRODUCT_CATEGORY                 ,
15925           trxlines.TRX_SIC_CODE                     ,
15926           trxlines.FOB_POINT                        ,
15927           trxlines.SHIP_TO_PARTY_ID                 ,
15928           trxlines.SHIP_FROM_PARTY_ID               ,
15929           trxlines.POA_PARTY_ID                     ,
15930           trxlines.POO_PARTY_ID                     ,
15931           trxlines.BILL_TO_PARTY_ID                 ,
15932           trxlines.BILL_FROM_PARTY_ID               ,
15933           trxlines.MERCHANT_PARTY_ID                ,
15934           trxlines.SHIP_TO_PARTY_SITE_ID            ,
15935           trxlines.SHIP_FROM_PARTY_SITE_ID          ,
15936           trxlines.POA_PARTY_SITE_ID                ,
15937           trxlines.POO_PARTY_SITE_ID                ,
15938           trxlines.BILL_TO_PARTY_SITE_ID            ,
15939           trxlines.BILL_FROM_PARTY_SITE_ID          ,
15940           trxlines.SHIP_TO_LOCATION_ID              ,
15941           trxlines.SHIP_FROM_LOCATION_ID            ,
15942           trxlines.POA_LOCATION_ID                  ,
15943           trxlines.POO_LOCATION_ID                  ,
15944           trxlines.BILL_TO_LOCATION_ID              ,
15945           trxlines.BILL_FROM_LOCATION_ID            ,
15946           trxlines.ACCOUNT_CCID                     ,
15947           trxlines.ACCOUNT_STRING                   ,
15948           trxlines.MERCHANT_PARTY_COUNTRY           ,
15949           header.RECEIVABLES_TRX_TYPE_ID            ,
15950           trxlines.REF_DOC_APPLICATION_ID           ,
15951           trxlines.REF_DOC_ENTITY_CODE              ,
15952           trxlines.REF_DOC_EVENT_CLASS_CODE         ,
15953           trxlines.REF_DOC_TRX_ID                   ,
15954           trxlines.REF_DOC_LINE_ID                  ,
15955           trxlines.REF_DOC_LINE_QUANTITY            ,
15956           header.RELATED_DOC_APPLICATION_ID         ,
15957           header.RELATED_DOC_ENTITY_CODE            ,
15958           header.RELATED_DOC_EVENT_CLASS_CODE       ,
15959           header.RELATED_DOC_TRX_ID                 ,
15960           header.RELATED_DOC_NUMBER                 ,
15961           header.RELATED_DOC_DATE                   ,
15962           trxlines.APPLIED_FROM_APPLICATION_ID      ,
15963           trxlines.APPLIED_FROM_EVENT_CLASS_CODE    ,
15964           trxlines.APPLIED_FROM_ENTITY_CODE         ,
15965           trxlines.APPLIED_FROM_TRX_ID              ,
15966           trxlines.APPLIED_FROM_LINE_ID             ,
15967           trxlines.APPLIED_FROM_TRX_NUMBER          ,
15968           trxlines.ADJUSTED_DOC_APPLICATION_ID      ,
15969           trxlines.ADJUSTED_DOC_EVENT_CLASS_CODE    ,
15970           trxlines.ADJUSTED_DOC_ENTITY_CODE         ,
15971           trxlines.ADJUSTED_DOC_TRX_ID              ,
15972           trxlines.ADJUSTED_DOC_LINE_ID             ,
15973           trxlines.ADJUSTED_DOC_NUMBER              ,
15974           trxlines.ADJUSTED_DOC_DATE                ,
15975           trxlines.APPLIED_TO_APPLICATION_ID        ,
15976           trxlines.APPLIED_TO_ENTITY_CODE           ,
15977           trxlines.APPLIED_TO_EVENT_CLASS_CODE      ,
15978           trxlines.APPLIED_TO_TRX_ID                ,
15979           trxlines.APPLIED_TO_TRX_LINE_ID           ,
15980           trxlines.TRX_ID_LEVEL2                    ,
15981           trxlines.TRX_ID_LEVEL3                    ,
15982           trxlines.TRX_ID_LEVEL4                    ,
15983           trxlines.TRX_ID_LEVEL5                    ,
15984           trxlines.TRX_ID_LEVEL6                    ,
15985           header.TRX_NUMBER                         ,
15986           header.TRX_DESCRIPTION                    ,
15987           trxlines.TRX_LINE_NUMBER                  ,
15988           trxlines.TRX_LINE_DESCRIPTION             ,
15989           trxlines.PRODUCT_DESCRIPTION              ,
15990           trxlines.TRX_WAYBILL_NUMBER               ,
15991           header.TRX_COMMUNICATED_DATE              ,
15992           trxlines.TRX_LINE_GL_DATE                 ,
15993           header.BATCH_SOURCE_ID                    ,
15994           header.BATCH_SOURCE_NAME                  ,
15995           header.DOC_SEQ_ID                         ,
15996           header.DOC_SEQ_NAME                       ,
15997           header.DOC_SEQ_VALUE                      ,
15998           header.TRX_DUE_DATE                       ,
15999           header.TRX_TYPE_DESCRIPTION               ,
16000           trxlines.MERCHANT_PARTY_NAME              ,
16001           trxlines.MERCHANT_PARTY_DOCUMENT_NUMBER   ,
16002           trxlines.MERCHANT_PARTY_REFERENCE         ,
16003           trxlines.MERCHANT_PARTY_TAXPAYER_ID       ,
16004           trxlines.MERCHANT_PARTY_TAX_REG_NUMBER    ,
16005           trxlines.PAYING_PARTY_ID                  ,
16006           trxlines.OWN_HQ_PARTY_ID                  ,
16007           trxlines.TRADING_HQ_PARTY_ID              ,
16008           trxlines.POI_PARTY_ID                     ,
16009           trxlines.POD_PARTY_ID                     ,
16010           trxlines.TITLE_TRANSFER_PARTY_ID          ,
16011           trxlines.PAYING_PARTY_SITE_ID             ,
16012           trxlines.OWN_HQ_PARTY_SITE_ID             ,
16013           trxlines.TRADING_HQ_PARTY_SITE_ID         ,
16014           trxlines.POI_PARTY_SITE_ID                ,
16015           trxlines.POD_PARTY_SITE_ID                ,
16016           trxlines.TITLE_TRANSFER_PARTY_SITE_ID     ,
16017           trxlines.PAYING_LOCATION_ID               ,
16018           trxlines.OWN_HQ_LOCATION_ID               ,
16019           trxlines.TRADING_HQ_LOCATION_ID           ,
16020           trxlines.POC_LOCATION_ID                  ,
16021           trxlines.POI_LOCATION_ID                  ,
16022           trxlines.POD_LOCATION_ID                  ,
16023           trxlines.TITLE_TRANSFER_LOCATION_ID       ,
16024           trxlines.ASSESSABLE_VALUE                 ,
16025           trxlines.ASSET_FLAG                       ,
16026           trxlines.ASSET_NUMBER                     ,
16027           trxlines.ASSET_ACCUM_DEPRECIATION         ,
16028           trxlines.ASSET_TYPE                       ,
16029           trxlines.ASSET_COST                       ,
16030           trxlines.NUMERIC1                         ,
16031           trxlines.NUMERIC2                         ,
16032           trxlines.NUMERIC3                         ,
16033           trxlines.NUMERIC4                         ,
16034           trxlines.NUMERIC5                         ,
16035           trxlines.NUMERIC6                         ,
16036           trxlines.NUMERIC7                         ,
16037           trxlines.NUMERIC8                         ,
16038           trxlines.NUMERIC9                         ,
16039           trxlines.NUMERIC10                        ,
16040           trxlines.CHAR1                            ,
16041           trxlines.CHAR2                            ,
16042           trxlines.CHAR3                            ,
16043           trxlines.CHAR4                            ,
16044           trxlines.CHAR5                            ,
16045           trxlines.CHAR6                            ,
16046           trxlines.CHAR7                            ,
16047           trxlines.CHAR8                            ,
16048           trxlines.CHAR9                            ,
16049           trxlines.CHAR10                           ,
16050           trxlines.DATE1                            ,
16051           trxlines.DATE2                            ,
16052           trxlines.DATE3                            ,
16053           trxlines.DATE4                            ,
16054           trxlines.DATE5                            ,
16055           trxlines.DATE6                            ,
16056           trxlines.DATE7                            ,
16057           trxlines.DATE8                            ,
16058           trxlines.DATE9                            ,
16059           trxlines.DATE10                           ,
16060           header.FIRST_PTY_ORG_ID                   ,
16061           header.TAX_EVENT_CLASS_CODE               ,
16062           header.TAX_EVENT_TYPE_CODE                ,
16063           header.DOC_EVENT_STATUS                   ,
16064           header.RDNG_SHIP_TO_PTY_TX_PROF_ID        ,
16065           header.RDNG_SHIP_FROM_PTY_TX_PROF_ID      ,
16066           header.RDNG_BILL_TO_PTY_TX_PROF_ID        ,
16067           header.RDNG_BILL_FROM_PTY_TX_PROF_ID      ,
16068           header.RDNG_SHIP_TO_PTY_TX_P_ST_ID        ,
16069           header.RDNG_SHIP_FROM_PTY_TX_P_ST_ID      ,
16070           header.RDNG_BILL_TO_PTY_TX_P_ST_ID        ,
16071           header.RDNG_BILL_FROM_PTY_TX_P_ST_ID      ,
16072           trxlines.SHIP_TO_PARTY_TAX_PROF_ID        ,
16073           trxlines.SHIP_FROM_PARTY_TAX_PROF_ID      ,
16074           trxlines.POA_PARTY_TAX_PROF_ID            ,
16075           trxlines.POO_PARTY_TAX_PROF_ID            ,
16076           trxlines.PAYING_PARTY_TAX_PROF_ID         ,
16077           trxlines.OWN_HQ_PARTY_TAX_PROF_ID         ,
16078           trxlines.TRADING_HQ_PARTY_TAX_PROF_ID     ,
16079           trxlines.POI_PARTY_TAX_PROF_ID            ,
16080           trxlines.POD_PARTY_TAX_PROF_ID            ,
16081           trxlines.BILL_TO_PARTY_TAX_PROF_ID        ,
16082           trxlines.BILL_FROM_PARTY_TAX_PROF_ID      ,
16083           trxlines.TITLE_TRANS_PARTY_TAX_PROF_ID    ,
16084           trxlines.SHIP_TO_SITE_TAX_PROF_ID         ,
16085           trxlines.SHIP_FROM_SITE_TAX_PROF_ID       ,
16086           trxlines.POA_SITE_TAX_PROF_ID             ,
16087           trxlines.POO_SITE_TAX_PROF_ID             ,
16088           trxlines.PAYING_SITE_TAX_PROF_ID          ,
16089           trxlines.OWN_HQ_SITE_TAX_PROF_ID          ,
16090           trxlines.TRADING_HQ_SITE_TAX_PROF_ID      ,
16091           trxlines.POI_SITE_TAX_PROF_ID             ,
16092           trxlines.POD_SITE_TAX_PROF_ID             ,
16093           trxlines.BILL_TO_SITE_TAX_PROF_ID         ,
16094           trxlines.BILL_FROM_SITE_TAX_PROF_ID       ,
16095           trxlines.TITLE_TRANS_SITE_TAX_PROF_ID     ,
16096           trxlines.MERCHANT_PARTY_TAX_PROF_ID       ,
16097           to_number(null) HQ_ESTB_PARTY_TAX_PROF_ID,
16098           header.DOCUMENT_SUB_TYPE                  ,
16099           header.SUPPLIER_TAX_INVOICE_NUMBER        ,
16100           header.SUPPLIER_TAX_INVOICE_DATE          ,
16101           header.SUPPLIER_EXCHANGE_RATE             ,
16102           header.TAX_INVOICE_DATE                   ,
16103           header.TAX_INVOICE_NUMBER                 ,
16104           trxlines.LINE_AMT_INCLUDES_TAX_FLAG       ,
16105           header.QUOTE_FLAG                         ,
16106           header.DEFAULT_TAXATION_COUNTRY           ,
16107           trxlines.HISTORICAL_FLAG                  ,
16108           header.INTERNAL_ORG_LOCATION_ID           ,
16109           trxlines.CTRL_HDR_TX_APPL_FLAG            ,
16110           header.CTRL_TOTAL_HDR_TX_AMT              ,
16111           trxlines.CTRL_TOTAL_LINE_TX_AMT           ,
16112           null DIST_LEVEL_ACTION                    ,
16113           to_number(null) ADJUSTED_DOC_TASK_DIST_ID ,
16114           to_number(null) APPLIED_FROM_TAX_DIST_ID  ,
16115           to_number(null) TASK_ID                   ,
16116           to_number(null) AWARD_ID                  ,
16117           to_number(null) PROJECT_ID                ,
16118           null EXPENDITURE_TYPE                     ,
16119           to_number(null) EXPENDITURE_ORGANIZATION_ID ,
16120           null EXPENDITURE_ITEM_DATE                ,
16121           to_number(null) TRX_LINE_DIST_AMT         ,
16122           to_number(null) TRX_LINE_DIST_QUANTITY    ,
16123           to_number(null) REF_DOC_CURR_CONV_RATE    ,
16124           to_number(null) ITEM_DIST_NUMBER          ,
16125           to_number(null) REF_DOC_DIST_ID           ,
16126           to_number(null) TRX_LINE_DIST_TAX_AMT     ,
16127           to_number(null) TRX_LINE_DIST_ID          ,
16128           to_number(null) APPLIED_FROM_DIST_ID      ,
16129           to_number(null) ADJUSTED_DOC_DIST_ID      ,
16130           to_number(null) OVERRIDING_RECOVERY_RATE  ,
16131           trxlines.INPUT_TAX_CLASSIFICATION_CODE    ,
16132           trxlines.OUTPUT_TAX_CLASSIFICATION_CODE   ,
16133           header.PORT_OF_ENTRY_CODE                 ,
16134           header.TAX_REPORTING_FLAG                 ,
16135           null TAX_AMT_INCLUDED_FLAG                ,
16136           null COMPOUNDING_TAX_FLAG                 ,
16137           header.SHIP_THIRD_PTY_ACCT_ID             ,
16138           header.BILL_THIRD_PTY_ACCT_ID             ,
16139           header.SHIP_THIRD_PTY_ACCT_SITE_ID        ,
16140           header.BILL_THIRD_PTY_ACCT_SITE_ID        ,
16141           header.SHIP_TO_CUST_ACCT_SITE_USE_ID      ,
16142           header.BILL_TO_CUST_ACCT_SITE_USE_ID      ,
16143           header.PROVNL_TAX_DETERMINATION_DATE      ,
16144           trxlines.START_EXPENSE_DATE               ,
16145           header.TRX_BATCH_ID                       ,
16146           header.APPLIED_TO_TRX_NUMBER              ,
16147           trxlines.SOURCE_APPLICATION_ID            ,
16148           trxlines.SOURCE_ENTITY_CODE               ,
16149           trxlines.SOURCE_EVENT_CLASS_CODE          ,
16150           trxlines.SOURCE_TRX_ID                    ,
16151           trxlines.SOURCE_LINE_ID                   ,
16152           trxlines.SOURCE_TRX_LEVEL_TYPE            ,
16153           trxlines.REF_DOC_TRX_LEVEL_TYPE           ,
16154           trxlines.APPLIED_TO_TRX_LEVEL_TYPE        ,
16155           trxlines.APPLIED_FROM_TRX_LEVEL_TYPE      ,
16156           trxlines.ADJUSTED_DOC_TRX_LEVEL_TYPE      ,
16157           header.APPLICATION_DOC_STATUS             ,
16158           header.HDR_TRX_USER_KEY1                  ,
16159           header.HDR_TRX_USER_KEY2                  ,
16160           header.HDR_TRX_USER_KEY3                  ,
16161           header.HDR_TRX_USER_KEY4                  ,
16162           header.HDR_TRX_USER_KEY5                  ,
16163           header.HDR_TRX_USER_KEY6                  ,
16164           trxlines.LINE_TRX_USER_KEY1               ,
16165           trxlines.LINE_TRX_USER_KEY2               ,
16166           trxlines.LINE_TRX_USER_KEY3               ,
16167           trxlines.LINE_TRX_USER_KEY4               ,
16168           trxlines.LINE_TRX_USER_KEY5               ,
16169           trxlines.LINE_TRX_USER_KEY6               ,
16170           trxlines.SOURCE_TAX_LINE_ID               ,
16171           trxlines.EXEMPTION_CONTROL_FLAG           ,
16172           to_number(null) REVERSED_APPLN_ID         ,
16173           null REVERSED_ENTITY_CODE                 ,
16174           null REVERSED_EVNT_CLS_CODE               ,
16175           to_number(null) REVERSED_TRX_ID           ,
16176           to_number(null) REVERSED_TRX_LEVEL_TYPE   ,
16177           to_number(null) REVERSED_TRX_LINE_ID      ,
16178           trxlines.EXEMPT_REASON_CODE               ,
16179           trxlines.INTERFACE_ENTITY_CODE            ,
16180           trxlines.INTERFACE_LINE_ID                ,
16181           trxlines.DEFAULTING_ATTRIBUTE1            ,
16182           trxlines.DEFAULTING_ATTRIBUTE2            ,
16183           trxlines.DEFAULTING_ATTRIBUTE3            ,
16184           trxlines.DEFAULTING_ATTRIBUTE4            ,
16185           trxlines.DEFAULTING_ATTRIBUTE5            ,
16186           trxlines.DEFAULTING_ATTRIBUTE6            ,
16187           trxlines.DEFAULTING_ATTRIBUTE7            ,
16188           trxlines.DEFAULTING_ATTRIBUTE8            ,
16189           trxlines.DEFAULTING_ATTRIBUTE9            ,
16190           trxlines.DEFAULTING_ATTRIBUTE10           ,
16191           trxlines.HISTORICAL_TAX_CODE_ID           ,
16192           nvl(trxlines.SHIP_THIRD_PTY_ACCT_ID,header.SHIP_THIRD_PTY_ACCT_ID),
16193           nvl(trxlines.BILL_THIRD_PTY_ACCT_ID,header.BILL_THIRD_PTY_ACCT_ID),
16194           nvl(trxlines.SHIP_THIRD_PTY_ACCT_SITE_ID,header.SHIP_THIRD_PTY_ACCT_SITE_ID),
16195           nvl(trxlines.BILL_THIRD_PTY_ACCT_SITE_ID,header.BILL_THIRD_PTY_ACCT_SITE_ID),
16196           nvl(trxlines.SHIP_TO_CUST_ACCT_SITE_USE_ID,header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
16197           nvl(trxlines.BILL_TO_CUST_ACCT_SITE_USE_ID,header.BILL_TO_CUST_ACCT_SITE_USE_ID),
16198           nvl(trxlines.RECEIVABLES_TRX_TYPE_ID,header.RECEIVABLES_TRX_TYPE_ID),
16199           trxlines.GLOBAL_ATTRIBUTE_CATEGORY,
16200           trxlines.GLOBAL_ATTRIBUTE1,
16201           to_number(null) TOTAL_INC_TAX_AMT         ,
16202           trxlines.USER_UPD_DET_FACTORS_FLAG
16203       FROM ZX_TRANSACTION_LINES_GT trxlines,
16204            ZX_TRX_HEADERS_GT header
16205       WHERE header.application_id = p_event_class_rec.application_id
16206         AND header.entity_code = p_event_class_rec.entity_code
16207         AND header.event_class_code = p_event_class_rec.event_class_code
16208         AND header.trx_id = p_event_class_rec.trx_id
16209         AND trxlines.application_id = header.application_id
16210         AND trxlines.entity_code = header.entity_code
16211         AND trxlines.event_class_code = header.event_class_code
16212         AND trxlines.trx_id = header.trx_id
16213       ORDER by trxlines.trx_id, trxlines.trx_line_id;
16214 
16215  BEGIN
16216    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16217       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16218    END IF;
16219 
16220    x_return_status := FND_API.G_RET_STS_SUCCESS;
16221 
16222    OPEN lines(p_event_class_rec);
16223    LOOP
16224      FETCH lines BULK COLLECT INTO
16225        zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID ,
16226        zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_ID,
16227        zx_global_structures_pkg.trx_line_dist_tbl.ENTITY_CODE,
16228        zx_global_structures_pkg.trx_line_dist_tbl.EVENT_CLASS_CODE,
16229        zx_global_structures_pkg.trx_line_dist_tbl.EVENT_TYPE_CODE,
16230        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID,
16231        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LEVEL_TYPE,
16232        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_ID,
16233        zx_global_structures_pkg.trx_line_dist_tbl.LINE_LEVEL_ACTION,
16234        zx_global_structures_pkg.trx_line_dist_tbl.LINE_CLASS,
16235        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DATE,
16236        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DOC_REVISION,
16237        zx_global_structures_pkg.trx_line_dist_tbl.LEDGER_ID,
16238        zx_global_structures_pkg.trx_line_dist_tbl.TRX_CURRENCY_CODE,
16239        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
16240        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE,
16241        zx_global_structures_pkg.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
16242        zx_global_structures_pkg.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
16243        zx_global_structures_pkg.trx_line_dist_tbl.PRECISION,
16244        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CODE,
16245        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_DATE,
16246        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_RATE,
16247        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_CURRENCY_CONV_TYPE,
16248        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_MAU,
16249        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_PRECISION,
16250        zx_global_structures_pkg.trx_line_dist_tbl.TRX_SHIPPING_DATE,
16251        zx_global_structures_pkg.trx_line_dist_tbl.TRX_RECEIPT_DATE,
16252        zx_global_structures_pkg.trx_line_dist_tbl.LEGAL_ENTITY_ID,
16253        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
16254        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
16255        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
16256        zx_global_structures_pkg.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
16257        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
16258        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
16259        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
16260        zx_global_structures_pkg.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID,
16261        zx_global_structures_pkg.trx_line_dist_tbl.ESTABLISHMENT_ID,
16262        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_TYPE,
16263        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DATE,
16264        zx_global_structures_pkg.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
16265        zx_global_structures_pkg.trx_line_dist_tbl.LINE_INTENDED_USE,
16266        zx_global_structures_pkg.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
16267        zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT,
16268        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_QUANTITY,
16269        zx_global_structures_pkg.trx_line_dist_tbl.UNIT_PRICE,
16270        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
16271        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON,
16272        zx_global_structures_pkg.trx_line_dist_tbl.CASH_DISCOUNT,
16273        zx_global_structures_pkg.trx_line_dist_tbl.VOLUME_DISCOUNT,
16274        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_DISCOUNT,
16275        zx_global_structures_pkg.trx_line_dist_tbl.TRANSFER_CHARGE,
16276        zx_global_structures_pkg.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
16277        zx_global_structures_pkg.trx_line_dist_tbl.INSURANCE_CHARGE,
16278        zx_global_structures_pkg.trx_line_dist_tbl.OTHER_CHARGE,
16279        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ID,
16280        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
16281        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_ORG_ID,
16282        zx_global_structures_pkg.trx_line_dist_tbl.UOM_CODE,
16283        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_TYPE,
16284        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CODE,
16285        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_CATEGORY,
16286        zx_global_structures_pkg.trx_line_dist_tbl.TRX_SIC_CODE,
16287        zx_global_structures_pkg.trx_line_dist_tbl.FOB_POINT,
16288        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
16289        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
16290        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_ID,
16291        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_ID,
16292        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_ID,
16293        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
16294        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_ID,
16295        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
16296        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID,
16297        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_SITE_ID,
16298        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_SITE_ID,
16299        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
16300        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
16301        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_LOCATION_ID,
16302        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
16303        zx_global_structures_pkg.trx_line_dist_tbl.POA_LOCATION_ID,
16304        zx_global_structures_pkg.trx_line_dist_tbl.POO_LOCATION_ID,
16305        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
16306        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
16307        zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_CCID,
16308        zx_global_structures_pkg.trx_line_dist_tbl.ACCOUNT_STRING,
16309        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY,
16310        zx_global_structures_pkg.trx_line_dist_tbl.HDR_RECEIVABLES_TRX_TYPE_ID,
16311        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_APPLICATION_ID,
16312        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
16313        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
16314        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_ID,
16315        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_ID,
16316        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
16317        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID,
16318        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE,
16319        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
16320        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
16321        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_NUMBER,
16322        zx_global_structures_pkg.trx_line_dist_tbl.RELATED_DOC_DATE,
16323        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID ,
16324        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE ,
16325        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
16326        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
16327        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
16328        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
16329        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID ,
16330        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE ,
16331        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
16332        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
16333        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
16334        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER,
16335        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DATE,
16336        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID,
16337        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE,
16338        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
16339        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_ID,
16340        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID,
16341        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL2,
16342        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL3,
16343        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL4,
16344        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL5,
16345        zx_global_structures_pkg.trx_line_dist_tbl.TRX_ID_LEVEL6,
16346        zx_global_structures_pkg.trx_line_dist_tbl.TRX_NUMBER,
16347        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DESCRIPTION,
16348        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_NUMBER,
16349        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DESCRIPTION,
16350        zx_global_structures_pkg.trx_line_dist_tbl.PRODUCT_DESCRIPTION,
16351        zx_global_structures_pkg.trx_line_dist_tbl.TRX_WAYBILL_NUMBER,
16352        zx_global_structures_pkg.trx_line_dist_tbl.TRX_COMMUNICATED_DATE,
16353        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_GL_DATE,
16354        zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_ID,
16355        zx_global_structures_pkg.trx_line_dist_tbl.BATCH_SOURCE_NAME,
16356        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_ID,
16357        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_NAME,
16358        zx_global_structures_pkg.trx_line_dist_tbl.DOC_SEQ_VALUE,
16359        zx_global_structures_pkg.trx_line_dist_tbl.TRX_DUE_DATE,
16360        zx_global_structures_pkg.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION,
16361        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_NAME,
16362        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
16363        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE,
16364        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID,
16365        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
16366        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_ID,
16367        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_ID,
16368        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_ID,
16369        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_ID,
16370        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_ID,
16371        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID,
16372        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_SITE_ID,
16373        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID,
16374        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID,
16375        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_SITE_ID,
16376        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_SITE_ID,
16377        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
16378        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_LOCATION_ID,
16379        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_LOCATION_ID,
16380        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID,
16381        zx_global_structures_pkg.trx_line_dist_tbl.POC_LOCATION_ID,
16382        zx_global_structures_pkg.trx_line_dist_tbl.POI_LOCATION_ID,
16383        zx_global_structures_pkg.trx_line_dist_tbl.POD_LOCATION_ID,
16384        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID,
16385        zx_global_structures_pkg.trx_line_dist_tbl.ASSESSABLE_VALUE,
16386        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_FLAG,
16387        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_NUMBER,
16388        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION,
16389        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_TYPE,
16390        zx_global_structures_pkg.trx_line_dist_tbl.ASSET_COST,
16391        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC1,
16392        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC2,
16393        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC3,
16394        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC4,
16395        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC5,
16396        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC6,
16397        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC7,
16398        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC8,
16399        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC9,
16400        zx_global_structures_pkg.trx_line_dist_tbl.NUMERIC10,
16401        zx_global_structures_pkg.trx_line_dist_tbl.CHAR1,
16402        zx_global_structures_pkg.trx_line_dist_tbl.CHAR2,
16403        zx_global_structures_pkg.trx_line_dist_tbl.CHAR3,
16404        zx_global_structures_pkg.trx_line_dist_tbl.CHAR4,
16405        zx_global_structures_pkg.trx_line_dist_tbl.CHAR5,
16406        zx_global_structures_pkg.trx_line_dist_tbl.CHAR6,
16407        zx_global_structures_pkg.trx_line_dist_tbl.CHAR7,
16408        zx_global_structures_pkg.trx_line_dist_tbl.CHAR8,
16409        zx_global_structures_pkg.trx_line_dist_tbl.CHAR9,
16410        zx_global_structures_pkg.trx_line_dist_tbl.CHAR10,
16411        zx_global_structures_pkg.trx_line_dist_tbl.DATE1,
16412        zx_global_structures_pkg.trx_line_dist_tbl.DATE2,
16413        zx_global_structures_pkg.trx_line_dist_tbl.DATE3,
16414        zx_global_structures_pkg.trx_line_dist_tbl.DATE4,
16415        zx_global_structures_pkg.trx_line_dist_tbl.DATE5,
16416        zx_global_structures_pkg.trx_line_dist_tbl.DATE6,
16417        zx_global_structures_pkg.trx_line_dist_tbl.DATE7,
16418        zx_global_structures_pkg.trx_line_dist_tbl.DATE8,
16419        zx_global_structures_pkg.trx_line_dist_tbl.DATE9,
16420        zx_global_structures_pkg.trx_line_dist_tbl.DATE10,
16421        zx_global_structures_pkg.trx_line_dist_tbl.FIRST_PTY_ORG_ID,
16422        zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE,
16423        zx_global_structures_pkg.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE,
16424        zx_global_structures_pkg.trx_line_dist_tbl.DOC_EVENT_STATUS,
16425        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID,
16426        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID,
16427        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID,
16428        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID,
16429        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID,
16430        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID,
16431        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID,
16432        zx_global_structures_pkg.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID,
16433        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID,
16434        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID,
16435        zx_global_structures_pkg.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID,
16436        zx_global_structures_pkg.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID,
16437        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID,
16438        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID,
16439        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID,
16440        zx_global_structures_pkg.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID,
16441        zx_global_structures_pkg.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID,
16442        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID,
16443        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID,
16444        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID,
16445        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID,
16446        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID,
16447        zx_global_structures_pkg.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID,
16448        zx_global_structures_pkg.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID,
16449        zx_global_structures_pkg.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID,
16450        zx_global_structures_pkg.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID,
16451        zx_global_structures_pkg.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID,
16452        zx_global_structures_pkg.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID,
16453        zx_global_structures_pkg.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID,
16454        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID,
16455        zx_global_structures_pkg.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID,
16456        zx_global_structures_pkg.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID,
16457        zx_global_structures_pkg.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID,
16458        zx_global_structures_pkg.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
16459        zx_global_structures_pkg.trx_line_dist_tbl.DOCUMENT_SUB_TYPE,
16460        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER,
16461        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE,
16462        zx_global_structures_pkg.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE,
16463        zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_DATE,
16464        zx_global_structures_pkg.trx_line_dist_tbl.TAX_INVOICE_NUMBER,
16465        zx_global_structures_pkg.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG,
16466        zx_global_structures_pkg.trx_line_dist_tbl.QUOTE_FLAG,
16467        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY,
16468        zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_FLAG,
16469        zx_global_structures_pkg.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID,
16470        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG,
16471        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT,
16472        zx_global_structures_pkg.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT,
16473        zx_global_structures_pkg.trx_line_dist_tbl.DIST_LEVEL_ACTION,
16474        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TAX_DIST_ID,
16475        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TAX_DIST_ID,
16476        zx_global_structures_pkg.trx_line_dist_tbl.TASK_ID,
16477        zx_global_structures_pkg.trx_line_dist_tbl.AWARD_ID,
16478        zx_global_structures_pkg.trx_line_dist_tbl.PROJECT_ID,
16479        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_TYPE,
16480        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ORGANIZATION_ID,
16481        zx_global_structures_pkg.trx_line_dist_tbl.EXPENDITURE_ITEM_DATE,
16482        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_AMT,
16483        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_QUANTITY,
16484        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_CURR_CONV_RATE,
16485        zx_global_structures_pkg.trx_line_dist_tbl.ITEM_DIST_NUMBER,
16486        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_DIST_ID,
16487        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_TAX_AMT,
16488        zx_global_structures_pkg.trx_line_dist_tbl.TRX_LINE_DIST_ID,
16489        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_DIST_ID ,
16490        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_DIST_ID,
16491        zx_global_structures_pkg.trx_line_dist_tbl.OVERRIDING_RECOVERY_RATE,
16492        zx_global_structures_pkg.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE,
16493        zx_global_structures_pkg.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE,
16494        zx_global_structures_pkg.trx_line_dist_tbl.PORT_OF_ENTRY_CODE,
16495        zx_global_structures_pkg.trx_line_dist_tbl.TAX_REPORTING_FLAG,
16496        zx_global_structures_pkg.trx_line_dist_tbl.TAX_AMT_INCLUDED_FLAG,
16497        zx_global_structures_pkg.trx_line_dist_tbl.COMPOUNDING_TAX_FLAG,
16498        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ST_ID,
16499        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ST_ID,
16500        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_TO_CST_ACCT_ST_USE_ID,
16501        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_TO_CST_ACCT_ST_USE_ID,
16502        zx_global_structures_pkg.trx_line_dist_tbl.HDR_SHIP_THIRD_PTY_ACCT_ID,
16503        zx_global_structures_pkg.trx_line_dist_tbl.HDR_BILL_THIRD_PTY_ACCT_ID,
16504        zx_global_structures_pkg.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE,
16505        zx_global_structures_pkg.trx_line_dist_tbl.START_EXPENSE_DATE ,
16506        zx_global_structures_pkg.trx_line_dist_tbl.TRX_BATCH_ID ,
16507        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
16508        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_APPLICATION_ID,
16509        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_ENTITY_CODE,
16510        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE,
16511        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_ID,
16512        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_LINE_ID,
16513        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE,
16514        zx_global_structures_pkg.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE,
16515        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE,
16516        zx_global_structures_pkg.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE,
16517        zx_global_structures_pkg.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE,
16518        zx_global_structures_pkg.trx_line_dist_tbl.APPLICATION_DOC_STATUS,
16519        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY1,
16520        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY2,
16521        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY3,
16522        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY4,
16523        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY5,
16524        zx_global_structures_pkg.trx_line_dist_tbl.HDR_TRX_USER_KEY6,
16525        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
16526        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
16527        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
16528        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
16529        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
16530        zx_global_structures_pkg.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
16531        zx_global_structures_pkg.trx_line_dist_tbl.SOURCE_TAX_LINE_ID,
16532        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG,
16533        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_APPLN_ID,
16534        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_ENTITY_CODE,
16535        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_EVNT_CLS_CODE,
16536        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_ID,
16537        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LINE_ID,
16538        zx_global_structures_pkg.trx_line_dist_tbl.REVERSED_TRX_LEVEL_TYPE,
16539        zx_global_structures_pkg.trx_line_dist_tbl.EXEMPT_REASON_CODE,
16540        zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_ENTITY_CODE,
16541        zx_global_structures_pkg.trx_line_dist_tbl.INTERFACE_LINE_ID,
16542        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1,
16543        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2,
16544        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3,
16545        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4,
16546        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5,
16547        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6,
16548        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7,
16549        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8,
16550        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9,
16551        zx_global_structures_pkg.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10,
16552        zx_global_structures_pkg.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID,
16553        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID,
16554        zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID,
16555        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
16556        zx_global_structures_pkg.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
16557        zx_global_structures_pkg.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID ,
16558        zx_global_structures_pkg.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID ,
16559        zx_global_structures_pkg.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID,
16560        zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE_CATEGORY ,
16561        zx_global_structures_pkg.trx_line_dist_tbl.GLOBAL_ATTRIBUTE1,
16562        zx_global_structures_pkg.trx_line_dist_tbl.TOTAL_INC_TAX_AMT,
16563        zx_global_structures_pkg.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG
16564      LIMIT G_LINES_PER_FETCH;
16565 
16566      FOR l_trx_line_index IN 1 .. nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.LAST,0)
16567      LOOP
16568        l_call_default_APIs := decide_call_redefault_APIs (p_trx_line_index  => l_trx_line_index);
16569 
16570        IF l_call_default_APIs THEN
16571          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) = 'UPDATE' THEN
16572 
16573              call_redefaulting_APIs(p_event_class_rec  => p_event_class_rec,
16574                                     p_trx_line_index   => l_trx_line_index,
16575                                     x_return_status    => l_return_status
16576                                    );
16577              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16578                 x_return_status := l_return_status;
16579                IF lines%ISOPEN THEN CLOSE lines; END IF;
16580                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16581                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16582                    ' RETURN_STATUS = ' || x_return_status);
16583                 END IF;
16584                 RETURN;
16585              END IF;
16586          ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) ='CREATE' THEN
16587            --If historical tax code id, global attribute category and global attribute1 have values passed in them
16588            IF  ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is not null THEN
16589                /*---------------------------------------------------+
16590                 |   Call TDM API to default the following           |
16591                 |      tax classification,                          |
16592                 |      product fiscal classification,               |
16593                 |      trx biz category                             |
16594                 |      product category                             |
16595                 +---------------------------------------------------*/
16596                 ZX_DEFAULT_AUTOMATION_PKG.default_tax_attributes_for_po(p_trx_line_index => l_trx_line_index,
16597                                                                         x_return_status  => l_return_status
16598                                                                         );
16599 
16600                 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16601                   x_return_status := l_return_status;
16602                   IF lines%ISOPEN THEN CLOSE lines; END IF;
16603                   IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16604                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16605                       ' RETURN_STATUS = ' || x_return_status);
16606                   END IF;
16607                   RETURN;
16608                 END IF;
16609 
16610                 --Set other determining attributes to null
16611                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(l_trx_line_index)       := null;
16612                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(l_trx_line_index) := null;
16613                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(l_trx_line_index)        := null;
16614                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(l_trx_line_index)       := null;
16615 
16616            --If historical tax code id, global attribute category and global attribute1 passed as null
16617            ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is null  THEN
16618 
16619                  default_tax_attrs_wrapper (p_trx_line_index  => l_trx_line_index,
16620                                             p_event_class_rec => p_event_class_rec,
16621                                             x_return_status   => l_return_status
16622                                             );
16623 
16624                  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16625                    x_return_status := l_return_status;
16626                    IF lines%ISOPEN THEN CLOSE lines; END IF;
16627                    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16628                      FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16629                     ' RETURN_STATUS = ' || x_return_status);
16630                    END IF;
16631                    RETURN;
16632                  END IF;
16633                 END IF;  --check on historical_tax_code_id
16634             END IF;  --line_level_action ='UPDATE'/'CREATE'
16635       -- Bugfix 4453246
16636       ELSIF NOT (l_call_default_APIs) AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(l_trx_line_index) = 'CREATE' THEN
16637          IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.historical_tax_code_id(l_trx_line_index) is not null THEN
16638             ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(l_trx_line_index),
16639                                                                  p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(l_trx_line_index),
16640                                                                  p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(l_trx_line_index),
16641                                                                  p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(l_trx_line_index),
16642                                                                  p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(l_trx_line_index),
16643                                                                  p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(l_trx_line_index),
16644                                                                  p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(l_trx_line_index),
16645                                                                  p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(l_trx_line_index),
16646                                                                  p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(l_trx_line_index),
16647                                                                  p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(l_trx_line_index),
16648                                                                  x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(l_trx_line_index),
16649                                                                  x_return_status    => l_return_status
16650                                                                  );
16651              IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16652                 x_return_status := l_return_status;
16653                 IF lines%ISOPEN THEN CLOSE lines; END IF;
16654                 IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16655                    FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16656                    ' RETURN_STATUS = ' || x_return_status);
16657                 END IF;
16658                 RETURN;
16659              END IF;
16660          END IF;
16661       END IF;   -- l_call_default_APIs
16662     END LOOP; --loop over lines
16663     EXIT WHEN lines%NOTFOUND;
16664    END LOOP;   --cursor
16665    CLOSE lines;
16666 
16667    --Update the zx_transaction_lines_gt and zx_trx_headers_gt with defaulted ATAs
16668 
16669    FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,-99)
16670       UPDATE ZX_TRANSACTION_LINES_GT SET
16671          trx_business_category         = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(i),
16672          line_intended_use             = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(i),
16673          user_defined_fisc_class       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(i),
16674          product_fisc_classification   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(i),
16675          product_category              = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(i),
16676 	 product_type = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_type(i),--Bug 5084653
16677          assessable_value              = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(i),
16678          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),
16679                                                                                               input_tax_classification_code),
16680          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),
16681                                                                                               output_tax_classification_code)  ,
16682          user_upd_det_factors_flag = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_upd_det_factors_flag(i)--Bug 5084653
16683       WHERE application_id    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(i)
16684         AND entity_code       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(i)
16685         AND event_class_code  = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(i)
16686         AND trx_id            = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(i)
16687         AND trx_line_id       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(i)
16688         AND trx_level_type    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(i);
16689 
16690    FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id.LAST,-99)
16691       UPDATE ZX_TRX_HEADERS_GT SET
16692          default_taxation_country = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(i),
16693          document_sub_type    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(i),
16694          tax_invoice_date     = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_date(i),
16695          tax_invoice_number   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_number(i)
16696       WHERE application_id    = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(i)
16697         AND entity_code       = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(i)
16698         AND event_class_code  = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(i)
16699         AND trx_id            = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(i);
16700 
16701    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16702       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
16703         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
16704    END IF;
16705 
16706    EXCEPTION
16707      WHEN OTHERS THEN
16708           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
16709           IF lines%ISOPEN THEN CLOSE lines; END IF;
16710           IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
16711               FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,SQLERRM);
16712           END IF;
16713 END get_default_tax_det_attrs;
16714 
16715 
16716 -----------------------------------------------------------------------
16717 --  PUBLIC PROCEDURE
16718 --  decide_call_redefault_APIs
16719 --
16720 --  DESCRIPTION
16721 --  Determine if need to default/redefault tax determining attributes
16722 --  AR always passes the tax classification code
16723 --    default only if all other tax determining attributes are null
16724 --  AP always passes the default taxation country
16725 --    default only if all other tax determining attributes are null
16726 --  All other products will pass some attributes or none
16727 --    default only if all tax determining attributes are null
16728 --
16729 --  CALLED BY
16730 --    calculate_tax
16731 --    get_default_tax_det_attrs
16732 --    ZX_API_PUB.insert_line_det_factors
16733 --    ZX_API_PUB.update_line_det_factors
16734 -----------------------------------------------------------------------
16735 FUNCTION decide_call_redefault_APIs
16736   (p_trx_line_index  IN             BINARY_INTEGER
16737   ) RETURN BOOLEAN IS
16738 
16739   l_api_name                 CONSTANT VARCHAR2(30):= 'DECIDE_CALL_REDEFAULT_APIS';
16740 
16741 BEGIN
16742   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16743      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16744   END IF;
16745 
16746    /*IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null AND
16747       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
16748       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
16749       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
16750       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
16751       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
16752       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
16753       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
16754       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null AND
16755       (ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null OR
16756        ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null) THEN
16757        RETURN TRUE;
16758     */
16759     --Bug 4634195 - Do not consider header level attributes (default_taxation_country and
16760     --document_sub_type for PO
16761     IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index) = 201 THEN
16762       IF
16763          -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
16764          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
16765          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
16766          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
16767          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
16768          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
16769          ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
16770          RETURN TRUE;
16771       END IF;
16772     END IF;
16773     --Bug 4453246 - Do not consider classification code for decision making
16774     IF --AP passes the taxation country
16775       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
16776       -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
16777       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
16778       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
16779       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
16780       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
16781       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
16782       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN --AND
16783       --ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE(p_trx_line_index) is null  THEN
16784       RETURN TRUE;
16785     ELSIF --AR/other products may/may not pass the tax classification code
16786       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index) is null AND
16787       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(p_trx_line_index) is null AND
16788       -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY(p_trx_line_index) is null AND
16789       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY(p_trx_line_index) is null AND
16790       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index) is null AND
16791       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(p_trx_line_index) is null AND
16792       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index) is null AND
16793       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index) is null AND
16794       ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
16795       RETURN TRUE;
16796     ELSE
16797       RETURN FALSE;
16798     END IF;
16799     IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
16800       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',G_PKG_NAME||': '||l_api_name||'()-');
16801     END IF;
16802  END decide_call_redefault_APIs;
16803 
16804 -----------------------------------------------------------------------
16805 --  PUBLIC PROCEDURE
16806 --  call_redefaulting_APIs
16807 --
16808 --  DESCRIPTION
16809 --  1) Fetch and populate all determining attributes from zx_lines_det_factors
16810 --  2) If product id or product org id changes call the redefaulting APIs for product
16811 --     fiscal classification and intended use
16812 --  3) If product id, product org id, line amount changes, call the redefaulting APIs
16813 --     for assessable value
16814 --  4) Redefault the tax classification code if product is not AR(AR always passes
16815 --     tax classification code)
16816 --  CALLED BY
16817 --    get_default_tax_det_attrs
16818 --    ZX_API_PUB.update_line_det_factors
16819 -----------------------------------------------------------------------
16820 PROCEDURE call_redefaulting_APIs
16821   (p_event_class_rec IN             ZX_API_PUB.event_class_rec_type,
16822    p_trx_line_index  IN             BINARY_INTEGER,
16823    x_return_status   OUT    NOCOPY  VARCHAR2
16824   ) IS
16825 
16826   l_api_name             CONSTANT VARCHAR2(30):= 'CALL_REDEFAULTING_API';
16827   l_return_status                 VARCHAR2(1);
16828   l_context_info_rec              ZX_API_PUB.context_info_rec_type;
16829   l_document_sub_type             VARCHAR2(240);
16830   l_line_intended_use             VARCHAR2(240);
16831   l_product_fisc_classification   VARCHAR2(240);
16832   l_assessable_value              NUMBER;
16833   l_trx_business_category         VARCHAR2(240);
16834   l_user_defined_fisc_class       VARCHAR2(30);
16835   l_product_category              VARCHAR2(240);
16836   l_user_upd_det_factors_flag     VARCHAR2(1);
16837   l_product_id                    NUMBER;
16838   l_product_org_id                NUMBER;
16839   l_product_type                  VARCHAR2(240);
16840   l_taxation_country              VARCHAR2(2);
16841   l_input_tax_class_code          VARCHAR2(30);
16842   l_output_tax_class_code         VARCHAR2(150);
16843   l_line_amt                      NUMBER;
16844   l_trx_line_id                   NUMBER;
16845   l_redef_tax_class_code_rec      ZX_API_PUB.def_tax_cls_code_info_rec_type;
16846   l_error_buffer                  VARCHAR2(1000);
16847   l_upg_trx_info_rec              ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
16848 
16849   --Bug#7045194
16850   l_tcc_valid                     NUMBER;
16851 
16852   --Bug#7045194: validate input tax classification code
16853 
16854   CURSOR validate_input_tcc_csr
16855   (c_input_tcc                ZX_RATES_B.tax_rate_code%TYPE,
16856    c_trx_date                 ZX_LINES_DET_FACTORS.trx_date%TYPE,
16857    c_internal_organization_id ZX_LINES.internal_organization_id%TYPE)
16858   IS
16859   SELECT COUNT(1)
16860     FROM ZX_INPUT_CLASSIFICATIONS_V
16861     WHERE lookup_code  = c_input_tcc
16862       AND enabled_flag = 'Y'
16863       AND c_trx_date >= start_date_active
16864       AND (c_trx_date <= end_date_active
16865            OR end_date_active IS NULL)
16866       AND org_id IN ( c_internal_organization_id, -99);
16867 
16868   --Bug#7045194: validate output tax classification code
16869 
16870   CURSOR validate_output_tcc_csr
16871   (c_output_tcc               ZX_RATES_B.tax_rate_code%TYPE,
16872    c_trx_date                 ZX_LINES_DET_FACTORS.trx_date%TYPE,
16873    c_internal_organization_id ZX_LINES.internal_organization_id%TYPE)
16874   IS
16875   SELECT COUNT(1)
16876     FROM ZX_OUTPUT_CLASSIFICATIONS_V
16877     WHERE lookup_code  = c_output_tcc
16878       AND enabled_flag = 'Y'
16879       AND c_trx_date >= start_date_active
16880       AND (c_trx_date <= end_date_active
16881            OR end_date_active IS NULL)
16882       AND org_id IN ( c_internal_organization_id, -99);
16883 
16884 BEGIN
16885   IF ( G_LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
16886      FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.BEGIN',G_PKG_NAME||': '||l_api_name||'()+');
16887    END IF;
16888 
16889    x_return_status := FND_API.G_RET_STS_SUCCESS ;
16890 
16891    -- Bug#7045194
16892    l_tcc_valid := 0;
16893 
16894    BEGIN
16895    --If stored information different from passed information, redefault again
16896      SELECT
16897          DOCUMENT_SUB_TYPE,
16898          LINE_INTENDED_USE,
16899          PRODUCT_FISC_CLASSIFICATION,
16900          ASSESSABLE_VALUE,
16901          TRX_BUSINESS_CATEGORY,
16902          USER_DEFINED_FISC_CLASS,
16903          PRODUCT_CATEGORY,
16904          USER_UPD_DET_FACTORS_FLAG,
16905          PRODUCT_ID,
16906          PRODUCT_ORG_ID,
16907          PRODUCT_TYPE,
16908          DEFAULT_TAXATION_COUNTRY,
16909          LINE_AMT,
16910          INPUT_TAX_CLASSIFICATION_CODE,
16911          OUTPUT_TAX_CLASSIFICATION_CODE,
16912          TRX_LINE_ID --dummy get(need a not null column for checking and populating back the determining attributes conditionally)
16913      INTO
16914          l_document_sub_type,
16915          l_line_intended_use,
16916          l_product_fisc_classification,
16917          l_assessable_value,
16918          l_trx_business_category,
16919          l_user_defined_fisc_class ,
16920          l_product_category,
16921          l_user_upd_det_factors_flag,
16922          l_product_id,
16923          l_product_org_id,
16924          l_product_type,
16925          l_taxation_country,
16926          l_line_amt,
16927          l_input_tax_class_code,
16928          l_output_tax_class_code,
16929 	 l_trx_line_id
16930      FROM  ZX_LINES_DET_FACTORS
16931      WHERE application_id   = p_event_class_rec.application_id
16932        AND entity_code      = p_event_class_rec.entity_code
16933        AND event_class_code = p_event_class_rec.event_class_code
16934        AND trx_id           = p_event_class_rec.trx_id
16935        AND trx_line_id      = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index)
16936        AND trx_level_type   = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index);
16937     EXCEPTION
16938       WHEN NO_DATA_FOUND THEN
16939         IF p_event_class_rec.event_class_code in ('PO_PA','RELEASE') THEN
16940           l_upg_trx_info_rec.application_id   := p_event_class_rec.application_id;
16941           l_upg_trx_info_rec.entity_code      := p_event_class_rec.entity_code;
16942           l_upg_trx_info_rec.event_class_code := p_event_class_rec.event_class_code;
16943           l_upg_trx_info_rec.trx_id           := p_event_class_rec.trx_id;
16944           ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(p_upg_trx_info_rec   =>  l_upg_trx_info_rec,
16945                                                        x_return_status      =>  l_return_status
16946                                                       );
16947           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16948             x_return_status := l_return_status;
16949             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16950                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16951                   ' RETURN_STATUS = ' || x_return_status);
16952             END IF;
16953             RETURN;
16954           END IF;
16955         ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG(p_trx_line_index) ='N' THEN
16956           ZX_DEFAULT_AUTOMATION_PKG.redefault_intended_use(p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
16957                                                            p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
16958                                                            p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
16959                                                            p_internal_org_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
16960                                                            p_country_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16961                                                            p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
16962                                                            p_item_org_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index) ,
16963                                                            x_intended_use      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
16964                                                            x_return_status     => l_return_status
16965                                                            );
16966           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16967               x_return_status := l_return_status;
16968               IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16969                  FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16970                    ' RETURN_STATUS = ' || x_return_status);
16971               END IF;
16972               RETURN;
16973           END IF;
16974 
16975           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),
16976                                                                    p_entity_code          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
16977                                                                    p_event_class_code     => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
16978                                                                    p_internal_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
16979                                                                    p_country_code         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(p_trx_line_index),
16980                                                                    p_item_id              => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
16981                                                                    p_item_org_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
16982                                                                    x_prod_fisc_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
16983                                                                    x_return_status        => l_return_status
16984                                                                    );
16985 
16986           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
16987              x_return_status := l_return_status;
16988              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
16989                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
16990                ' RETURN_STATUS = ' || x_return_status);
16991              END IF;
16992              RETURN;
16993           END IF;
16994 
16995           ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
16996                                                                p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
16997                                                                p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
16998                                                                p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
16999                                                                p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index),
17000                                                                p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index),
17001                                                                p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index),
17002                                                                p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17003                                                                p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
17004                                                                p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(p_trx_line_index),
17005                                                                x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
17006                                                                x_return_status    => l_return_status
17007                                                                );
17008           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17009             x_return_status := l_return_status;
17010             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17011                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17012                ' RETURN_STATUS = ' || x_return_status);
17013             END IF;
17014             RETURN;
17015           END IF;
17016 
17017          /*-----------------------------------------------------+
17018           |   Get the default value for product type            |
17019           +-----------------------------------------------------*/
17020           ZX_TCM_EXT_SERVICES_PUB.get_default_classif_code(p_fiscal_type_code  => 'PRODUCT_TYPE',
17021                                                            p_country_code      => l_taxation_country,
17022                                                            p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
17023                                                            p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
17024                                                            p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
17025                                                            p_source_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index),
17026                                                            p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17027                                                            p_org_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
17028                                                            p_default_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
17029                                                            p_return_status     => l_return_status
17030                                                            );
17031 
17032           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17033              x_return_status := l_return_status;
17034              IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17035                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17036                ' RETURN_STATUS = ' || x_return_status);
17037              END IF;
17038              RETURN;
17039           END IF;
17040           IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
17041             ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) := l_product_type;
17042           END IF;
17043 
17044      END IF; --event class code in ('PO_PA','RELEASE') or user_upd_det_factors_flag ='N'
17045    END; --WHEN NO_DATA_FOUND
17046 
17047    IF l_trx_line_id is not null THEN  --copy additional tax attributes to global structure
17048         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(p_trx_line_index)       := l_trx_business_category;
17049         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(p_trx_line_index)           := l_line_intended_use;
17050         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_defined_fisc_class(p_trx_line_index)     := l_user_defined_fisc_class;
17051         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(p_trx_line_index) := l_product_fisc_classification;
17052         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(p_trx_line_index) IS NULL THEN
17053           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(p_trx_line_index)          := l_product_category;
17054         END IF;
17055         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(p_trx_line_index)            := l_assessable_value;
17056         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index)                := l_product_type;
17057         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.user_upd_det_factors_flag(p_trx_line_index)   := l_user_upd_det_factors_flag;
17058         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(p_trx_line_index)           := l_document_sub_type;
17059         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(p_trx_line_index)    := l_taxation_country;
17060    END IF;
17061 
17062    IF l_product_id is not null AND
17063       (l_product_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) OR
17064       l_product_org_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index)) THEN
17065 
17066         ZX_DEFAULT_AUTOMATION_PKG.redefault_intended_use(p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
17067                                                          p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
17068                                                          p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
17069                                                          p_internal_org_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
17070                                                          p_country_code      => l_taxation_country,
17071                                                          p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17072                                                          p_item_org_id       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index) ,
17073                                                          x_intended_use      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE(p_trx_line_index),
17074                                                          x_return_status     => l_return_status
17075                                                          );
17076 
17077         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17078             x_return_status := l_return_status;
17079           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17080                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17081                ' RETURN_STATUS = ' || x_return_status);
17082           END IF;
17083           RETURN;
17084         END IF;
17085 
17086        /*-----------------------------------------------------+
17087         |   Get the default value for product type            |
17088         +-----------------------------------------------------*/
17089         ZX_TCM_EXT_SERVICES_PUB.get_default_classif_code(p_fiscal_type_code  => 'PRODUCT_TYPE',
17090                                                          p_country_code      => l_taxation_country,
17091                                                          p_application_id    => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
17092                                                          p_entity_code       => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
17093                                                          p_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
17094                                                          p_source_event_class_code  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE(p_trx_line_index),
17095                                                          p_item_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17096                                                          p_org_id            => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
17097                                                          p_default_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index),
17098                                                          p_return_status     => l_return_status
17099                                                          );
17100 
17101         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17102             x_return_status := l_return_status;
17103           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17104                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17105                ' RETURN_STATUS = ' || x_return_status);
17106           END IF;
17107           RETURN;
17108         END IF;
17109 
17110         IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) is null THEN
17111           ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(p_trx_line_index) := l_product_type;
17112         END IF;
17113 
17114        /*-----------------------------------------------------------+
17115         |   Get the default value for product fiscal classification |
17116         +---------------------------------------------------------*/
17117         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),
17118                                                                  p_entity_code          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
17119                                                                  p_event_class_code     => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
17120                                                                  p_internal_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
17121                                                                  p_country_code         => l_taxation_country,
17122                                                                  p_item_id              => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17123                                                                  p_item_org_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
17124                                                                  x_prod_fisc_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION(p_trx_line_index),
17125                                                                  x_return_status        => l_return_status
17126                                                                  );
17127 
17128        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17129             x_return_status := l_return_status;
17130           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17131                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17132                ' RETURN_STATUS = ' || x_return_status);
17133           END IF;
17134           RETURN;
17135         END IF;
17136    END IF;
17137 --   IF l_product_id is not null AND
17138 --      (l_product_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index) OR
17139 --      l_product_org_id <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index) OR
17140 --      l_line_amt <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index)) THEN
17141    IF l_line_amt <> ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_trx_line_index) THEN    -- Bug 5659357
17142 
17143       ZX_DEFAULT_AUTOMATION_PKG.redefault_assessable_value(p_application_id   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(p_trx_line_index),
17144                                                               p_entity_code      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(p_trx_line_index),
17145                                                               p_event_class_code => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(p_trx_line_index),
17146                                                               p_internal_org_id  => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(p_trx_line_index),
17147                                                               p_trx_id           => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(p_trx_line_index),
17148                                                               p_trx_line_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(p_trx_line_index),
17149                                                               p_trx_level_type   => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE(p_trx_line_index),
17150                                                               p_item_id          => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID(p_trx_line_index),
17151                                                               p_item_org_id      => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID(p_trx_line_index),
17152                                                               p_line_amt         => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT(p_trx_line_index),
17153                                                               x_assessable_value => ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE(p_trx_line_index),
17154                                                               x_return_status    => l_return_status
17155                                                               );
17156         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17157             x_return_status := l_return_status;
17158           IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17159                FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17160                ' RETURN_STATUS = ' || x_return_status);
17161           END IF;
17162           RETURN;
17163         END IF;
17164    END IF;
17165    /*-------------------------------------------------------+
17166     |   Call TDM API to default the tax classification always|
17167     +-------------------------------------------------------*/
17168    IF p_event_class_rec.application_id <> 222 THEN
17169 
17170     --Bug#7045194: validate current input/output tax classification
17171     --code before redefaulting it from setups.
17172 
17173     IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
17174 
17175      IF l_input_tax_class_code IS NOT NULL THEN
17176       OPEN validate_input_tcc_csr (
17177                 l_input_tax_class_code,
17178                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index),
17179                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index));
17180 
17181       FETCH validate_input_tcc_csr INTO l_tcc_valid;
17182       CLOSE validate_input_tcc_csr;
17183       IF l_tcc_valid > 0 THEN
17184         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.input_tax_classification_code(p_trx_line_index) := l_input_tax_class_code;
17185       END IF;
17186 
17187     END IF;
17188 
17189    ELSIF p_event_class_rec.prod_family_grp_code ='O2C' THEN
17190     IF l_output_tax_class_code IS NOT NULL THEN
17191       OPEN validate_output_tcc_csr (
17192                 l_output_tax_class_code,
17193                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index),
17194                 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index));
17195 
17196       FETCH validate_output_tcc_csr INTO l_tcc_valid;
17197       CLOSE validate_output_tcc_csr;
17198       IF l_tcc_valid > 0 THEN
17199         ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) := l_output_tax_class_code;
17200 
17201       END IF;
17202     END IF;
17203   END IF;    -- validate current input/output tax classification code
17204 
17205   --
17206   --Bug#7045194: redefaulting tax classification code if
17207   -- the current one is invalid
17208   --
17209   IF l_tcc_valid = 0 THEN
17210 
17211           l_redef_tax_class_code_rec.application_id                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_trx_line_index);
17212           l_redef_tax_class_code_rec.entity_code                   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(p_trx_line_index);
17213           l_redef_tax_class_code_rec.event_class_code              := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_trx_line_index);
17214           l_redef_tax_class_code_rec.internal_organization_id      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(p_trx_line_index);
17215           l_redef_tax_class_code_rec.trx_id                        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(p_trx_line_index);
17216           l_redef_tax_class_code_rec.trx_line_id                   := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(p_trx_line_index);
17217           l_redef_tax_class_code_rec.trx_level_type                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(p_trx_line_index);
17218           l_redef_tax_class_code_rec.ledger_id                     := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ledger_id(p_trx_line_index);
17219           l_redef_tax_class_code_rec.trx_date                      := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(p_trx_line_index);
17220           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);
17221           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);
17222           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);
17223           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);
17224           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);
17225           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);
17226           l_redef_tax_class_code_rec.account_ccid                  := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_ccid(p_trx_line_index);
17227           l_redef_tax_class_code_rec.account_string                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_string(p_trx_line_index);
17228           l_redef_tax_class_code_rec.product_id                    := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(p_trx_line_index);
17229           l_redef_tax_class_code_rec.product_org_id                := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(p_trx_line_index);
17230           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);
17231           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);
17232           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);
17233           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);
17234           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);
17235           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);
17236           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);
17237           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);
17238           l_redef_tax_class_code_rec.defaulting_attribute1         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute1(p_trx_line_index);
17239           l_redef_tax_class_code_rec.defaulting_attribute2         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute2(p_trx_line_index);
17240           l_redef_tax_class_code_rec.defaulting_attribute3         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute3(p_trx_line_index);
17241           l_redef_tax_class_code_rec.defaulting_attribute4         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute4(p_trx_line_index);
17242           l_redef_tax_class_code_rec.defaulting_attribute5         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute5(p_trx_line_index);
17243           l_redef_tax_class_code_rec.defaulting_attribute6         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute6(p_trx_line_index);
17244           l_redef_tax_class_code_rec.defaulting_attribute7         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute7(p_trx_line_index);
17245           l_redef_tax_class_code_rec.defaulting_attribute8         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute8(p_trx_line_index);
17246           l_redef_tax_class_code_rec.defaulting_attribute9         := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute9(p_trx_line_index);
17247           l_redef_tax_class_code_rec.defaulting_attribute10        := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.defaulting_attribute10(p_trx_line_index);
17248           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);
17249           l_redef_tax_class_code_rec.legal_entity_id               := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.legal_entity_id(p_trx_line_index);
17250 
17251           IF l_redef_tax_class_code_rec.tax_user_override_flag = 'Y' THEN
17252             IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
17253               l_redef_tax_class_code_rec.overridden_tax_cls_code := l_input_tax_class_code;
17254             ELSIF p_event_class_rec.prod_family_grp_code ='O2C' THEN
17255               l_redef_tax_class_code_rec.overridden_tax_cls_code := l_output_tax_class_code;
17256             END IF;
17257           END IF;
17258 
17259           ZX_TAX_DEFAULT_PKG.get_default_tax_classification (p_definfo        =>  l_redef_tax_class_code_rec,
17260                                                              p_return_status  =>  l_return_status,
17261                                                              p_error_buffer   =>  l_error_buffer
17262                                                             );
17263 
17264           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
17265             x_return_status := l_return_status;
17266             IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17267                 FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,
17268                ' RETURN_STATUS = ' || x_return_status);
17269             END IF;
17270             RETURN;
17271           ELSE
17272             IF p_event_class_rec.prod_family_grp_code ='P2P' THEN
17273                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;
17274             ELSIF p_event_class_rec.prod_family_grp_code ='O2C' AND --AR will always pass the classification code so do not override
17275                ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.output_tax_classification_code(p_trx_line_index) is null THEN
17276                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;
17277             END IF;
17278           END IF;
17279      END IF;   -- bug#7045194- current input/output tcc not valid
17280 
17281    END IF; --application_id <>222
17282 
17283    IF ( G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
17284       FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name||'.END',
17285         G_PKG_NAME||': '||l_api_name||'()-'||' RETURN_STATUS = ' || x_return_status);
17286    END IF;
17287 
17288    EXCEPTION
17289       WHEN OTHERS THEN
17290           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
17291           IF ( G_LEVEL_EXCEPTION >= G_CURRENT_RUNTIME_LEVEL) THEN
17292               FND_LOG.STRING(G_LEVEL_EXCEPTION,G_MODULE_NAME||l_api_name,SQLERRM);
17293           END IF;
17294  END call_redefaulting_APIs;
17295 
17296 
17297  -- This private procedure is called from calculate (GTT version) and import procedures
17298  -- and populates the source event class info into the event_class_rec.
17299  -- this procedure should be called once per transaction.
17300 
17301  PROCEDURE pop_src_evnt_cls_info
17302   ( p_trx_line_index    IN     NUMBER,
17303     p_event_class_rec   IN OUT NOCOPY  ZX_API_PUB.event_class_rec_type,
17304     x_return_status 	OUT    NOCOPY  VARCHAR2 )
17305  IS
17306    l_api_name CONSTANT VARCHAR2(30)  := 'pop_src_evnt_cls_info';
17307  BEGIN
17308 
17309     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17310       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
17311                    '.BEGIN',G_PKG_NAME||': '||l_api_name||'()+'||
17312                    ', RETURN_STATUS = ' || x_return_status);
17313     END IF;
17314 
17315     x_return_status := FND_API.G_RET_STS_SUCCESS;
17316 
17317     IF zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(p_trx_line_index)
17318        <> 'INTERCOMPANY_TRX'
17319     THEN
17320         SELECT mapp.event_class_mapping_id,
17321                mapp.tax_event_class_code,
17322                mapp.process_for_applicability_flag
17323           INTO p_event_class_rec.source_event_class_mapping_id,
17324                p_event_class_rec.source_tax_event_class_code,
17325                p_event_class_rec.source_process_for_appl_flag
17326           FROM zx_evnt_cls_mappings mapp
17327          WHERE mapp.application_id     = zx_global_structures_pkg.trx_line_dist_tbl.source_application_id(p_trx_line_index)
17328            AND mapp.entity_code        = zx_global_structures_pkg.trx_line_dist_tbl.source_entity_code(p_trx_line_index)
17329            AND mapp.event_class_code   = zx_global_structures_pkg.trx_line_dist_tbl.source_event_class_code(p_trx_line_index);
17330       ELSE
17331          p_event_class_rec.source_tax_event_class_code:= p_event_class_rec.intrcmp_tx_evnt_cls_code;
17332 
17333          SELECT mapp.event_class_mapping_id,
17334                mapp.tax_event_class_code,
17335                mapp.process_for_applicability_flag
17336           INTO p_event_class_rec.source_event_class_mapping_id,
17337                p_event_class_rec.source_tax_event_class_code,
17338                p_event_class_rec.source_process_for_appl_flag
17339           FROM zx_evnt_cls_mappings mapp
17340          WHERE mapp.application_id     = p_event_class_rec.intrcmp_src_appln_id
17341            AND mapp.entity_code        = p_event_class_rec.intrcmp_src_entity_code
17342            AND mapp.event_class_code   = p_event_class_rec.intrcmp_src_evnt_cls_code;
17343        END IF;
17344 
17345 
17346     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17347       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
17348                    '.END',G_PKG_NAME||': '||l_api_name||'()-'||
17349                    ', RETURN_STATUS = ' || x_return_status);
17350     END IF;
17351 
17352  EXCEPTION
17353         WHEN OTHERS THEN
17354             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
17355             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
17356                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
17357                  'Unable to derive the source event calss info ' ||
17358                  SQLERRM);
17359             END IF;
17360 
17361  END pop_src_evnt_cls_info;
17362 /* -- Procedure commented by ssohal
17363   PROCEDURE populate_errors
17364   ( p_event_class_rec   IN     ZX_API_PUB.event_class_rec_type,
17365     x_return_status 	OUT    NOCOPY  VARCHAR2 )
17366  IS
17367    l_api_name CONSTANT VARCHAR2(30)  := 'populate_errors';
17368    l_context_info_rec  ZX_API_PUB.context_info_rec_type;
17369  BEGIN
17370 
17371     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17372       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
17373                    '.BEGIN',G_PKG_NAME||': '||l_api_name||'()+'||
17374                    ', RETURN_STATUS = ' || x_return_status);
17375     END IF;
17376 
17377     x_return_status := FND_API.G_RET_STS_SUCCESS;
17378 
17379     FOR i IN 1 .. ZX_API_PUB.errors_tbl.application_id.COUNT LOOP
17380       IF ZX_API_PUB.errors_tbl.application_id(i) IS NULL THEN
17381         ZX_API_PUB.errors_tbl.application_id(i) := p_event_class_rec.APPLICATION_ID;
17382       END IF ;
17383       IF ZX_API_PUB.errors_tbl.ENTITY_CODE(i) IS NULL THEN
17384 	ZX_API_PUB.errors_tbl.ENTITY_CODE(i) := p_event_class_rec.ENTITY_CODE;
17385       END IF;
17386       IF ZX_API_PUB.errors_tbl.EVENT_CLASS_CODE(i) IS NULL THEN
17387 	ZX_API_PUB.errors_tbl.EVENT_CLASS_CODE(i) := p_event_class_rec.EVENT_CLASS_CODE;
17388       END IF;
17389       IF ZX_API_PUB.errors_tbl.TRX_ID(i) IS NULL THEN
17390 	ZX_API_PUB.errors_tbl.TRX_ID(i) := p_event_class_rec.TRX_ID;
17391       END IF;
17392       IF ZX_API_PUB.errors_tbl.message_text(i) IS NULL THEN
17393 	ZX_API_PUB.errors_tbl.message_text(i) := 'UNEXPECTED_ERROR_POPULATE_ERROR';
17394       END IF;
17395     END LOOP;
17396     IF ZX_API_PUB.errors_tbl.application_id.COUNT = 0 THEN
17397 	  l_context_info_rec.APPLICATION_ID   := p_event_class_rec.APPLICATION_ID;
17398           l_context_info_rec.ENTITY_CODE      := p_event_class_rec.ENTITY_CODE;
17399           l_context_info_rec.EVENT_CLASS_CODE := p_event_class_rec.EVENT_CLASS_CODE;
17400           l_context_info_rec.TRX_ID           := p_event_class_rec.TRX_ID;
17401           l_context_info_rec.TRX_LINE_ID      := NULL;
17402           l_context_info_rec.TRX_LEVEL_TYPE   := NULL;
17403       IF nvl(zx_global_structures_pkg.g_ptnr_srvc_subscr_flag,'N') = 'Y' THEN
17404           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
17405           LOOP
17406             FND_MESSAGE.SET_NAME('ZX','ZX_GENERIC_TEXT');
17407             FND_MESSAGE.SET_TOKEN('GENERIC_TEXT',ZX_VERTEX_TAX_SERVICE_PKG.g_messages_tbl.error_message_string(i));
17408             ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
17409           END LOOP;
17410        ELSE
17411           ZX_API_PUB.add_msg (p_context_info_rec => l_context_info_rec);
17412        END IF;
17413     END IF;
17414 
17415     IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17416       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||
17417                    '.END',G_PKG_NAME||': '||l_api_name||'()-'||
17418                    ', RETURN_STATUS = ' || x_return_status);
17419     END IF;
17420 
17421  EXCEPTION
17422         WHEN OTHERS THEN
17423             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
17424             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
17425                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
17426                  'Unable to populate error information ' ||
17427                  SQLERRM);
17428             END IF;
17429 
17430  END populate_errors;
17431 */
17432 -----------------------------------------------------------------------
17433 --  PRIVATE PROCEDURE
17434 --    Pop_Index_Attrbs_To_Null
17435 --
17436 --  DESCRIPTION
17437 --    To populate all the attributes of plsql table structure
17438 --    ZX_Global_Structures_Pkg.trx_line_dist_tbl to NULL
17439 --    at a particular index p_index except key attributes
17440 --
17441 --  CALLED BY
17442 --    calculate_tax
17443 -----------------------------------------------------------------------
17444 PROCEDURE Pop_Index_Attrbs_To_Null ( p_index          IN  NUMBER,
17445                                      x_return_status  OUT NOCOPY VARCHAR2
17446  ) IS
17447  -- Variables
17448    l_api_name           CONSTANT VARCHAR2(30):= 'POP_INDEX_ATTRBS_TO_NULL';
17449    l_application_id     NUMBER;
17450    l_entity_code        VARCHAR(30);
17451    l_event_class_code   VARCHAR(30);
17452    l_trx_id             NUMBER;
17453    l_trx_line_id        NUMBER;
17454    l_trx_level_type     VARCHAR(30);
17455 
17456  BEGIN
17457    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17458       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.BEGIN',
17459          'ZX_SRVC_TYP_PKG: Pop_Index_Attrbs_To_Null()+');
17460    END IF;
17461    -- Copy the key attributes in the local variables
17462    l_application_id   := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index);
17463    l_entity_code      := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index);
17464    l_event_class_code := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index);
17465    l_trx_id           := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index);
17466    l_trx_line_id      := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index);
17467    l_trx_level_type   := ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index);
17468 
17469    -- Call the procedure to populate all the attributes of plsql tbl structure
17470    -- ZX_Global_Structures_Pkg.trx_line_dist_tbl at index p_index to NULL
17471    ZX_GLOBAL_STRUCTURES_PKG.init_trx_line_dist_tbl (p_index);
17472 
17473    -- Populate the key attributes of ZX_Global_Structures_Pkg.trx_line_dist_tbl
17474    -- with values of local variables
17475    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Application_id(p_index)   := l_application_id;
17476    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Entity_code(p_index)      := l_entity_code;
17477    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Event_Class_code(p_index) := l_event_class_code;
17478    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_id(p_index)           := l_trx_id;
17479    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_line_Id(p_index)      := l_trx_line_id;
17480    ZX_Global_Structures_Pkg.trx_line_dist_tbl.Trx_level_type(p_index)   := l_trx_level_type;
17481 
17482    IF ( G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
17483       FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name||'.END',
17484          'ZX_SRVC_TYP_PKG: Pop_Index_Attrbs_To_Null()-');
17485    END IF;
17486 
17487  EXCEPTION
17488         WHEN OTHERS THEN
17489             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
17490             IF ( G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
17491                FND_LOG.STRING(G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_api_name,
17492                   'Error occurred in ' || l_api_name || ' : ' ||SQLERRM);
17493             END IF;
17494 
17495  END Pop_Index_Attrbs_To_Null;
17496 
17497  END ZX_SRVC_TYP_PKG;