DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_AR_POPULATE_PKG

Source


1 PACKAGE BODY ZX_AR_POPULATE_PKG AS
2 /* $Header: zxrirpopulatpvtb.pls 120.88.12020000.10 2013/04/08 05:53:13 msakalab ship $ */
3 
4 
5 --Populate party info into global variables
6   GT_BILLING_TP_NUMBER             ZX_EXTRACT_PKG.BILLING_TP_NUMBER_TBL;
7   GT_BILLING_TP_TAX_REG_NUM        ZX_EXTRACT_PKG.BILLING_TP_TAX_REG_NUM_TBL;
8   GT_BILLING_SITE_TAX_REG_NUM      ZX_EXTRACT_PKG.BILLING_TP_SITE_TX_REG_NUM_TBL;
9   GT_BILLING_TP_TAXPAYER_ID        ZX_EXTRACT_PKG.BILLING_TP_TAXPAYER_ID_TBL;
10   GT_BILLING_TP_SITE_NAME_ALT      ZX_EXTRACT_PKG.BILLING_TP_SITE_NAME_ALT_TBL;
11   GT_BILLING_TP_NAME               ZX_EXTRACT_PKG.BILLING_TP_NAME_TBL;
12   GT_BILLING_TP_NAME_ALT           ZX_EXTRACT_PKG.BILLING_TP_NAME_ALT_TBL;
13   GT_BILLING_TP_SIC_CODE           ZX_EXTRACT_PKG.BILLING_TP_SIC_CODE_TBL;
14   GT_BILLING_TP_CITY               ZX_EXTRACT_PKG.BILLING_TP_CITY_TBL;
15   GT_BILLING_TP_COUNTY             ZX_EXTRACT_PKG.BILLING_TP_COUNTY_TBL;
16   GT_BILLING_TP_STATE              ZX_EXTRACT_PKG.BILLING_TP_STATE_TBL;
17   GT_BILLING_TP_PROVINCE           ZX_EXTRACT_PKG.BILLING_TP_PROVINCE_TBL;
18   GT_BILLING_TP_ADDRESS1           ZX_EXTRACT_PKG.BILLING_TP_ADDRESS1_TBL;
19   GT_BILLING_TP_ADDRESS2           ZX_EXTRACT_PKG.BILLING_TP_ADDRESS2_TBL;
20   GT_BILLING_TP_ADDRESS3           ZX_EXTRACT_PKG.BILLING_TP_ADDRESS3_TBL;
21   GT_BILLING_TP_ADDR_LINES_ALT     ZX_EXTRACT_PKG.BILLING_TP_ADDR_LINES_ALT_TBL;
22   GT_BILLING_TP_COUNTRY            ZX_EXTRACT_PKG.BILLING_TP_COUNTRY_TBL;
23   GT_BILLING_TP_POSTAL_CODE        ZX_EXTRACT_PKG.BILLING_TP_POSTAL_CODE_TBL;
24   GT_BILLING_TP_PARTY_NUMBER       ZX_EXTRACT_PKG.BILLING_TP_PARTY_NUMBER_TBL;
25   GT_BILLING_TP_ID                 ZX_EXTRACT_PKG.BILLING_TP_ID_TBL;
26   GT_BILLING_TP_SITE_ID            ZX_EXTRACT_PKG.BILLING_TP_SITE_ID_TBL;
27   GT_BILLING_TP_ADDRESS_ID         ZX_EXTRACT_PKG.BILLING_TP_ADDRESS_ID_TBL;
28 --   GT_SHIPPING_TP_ID                ZX_EXTRACT_PKG.BILLING_TP_ID_TBL;
29 --   GT_SHIPPING_TP_SITE_ID           ZX_EXTRACT_PKG.BILLING_TP_SITE_ID_TBL;
30 --   GT_SHIPPING_TP_ADDRESS_ID        ZX_EXTRACT_PKG.BILLING_TP_ADDRESS_ID_TBL;
31   GT_BILLING_TP_TAX_REP_FLAG       ZX_EXTRACT_PKG.BILLING_TP_TAX_REP_FLAG_TBL;
32   GT_BILLING_TP_SITE_NAME          ZX_EXTRACT_PKG.BILLING_TP_SITE_NAME_TBL;
33   GT_GDF_RA_ADDRESSES_BILL_ATT9    ZX_EXTRACT_PKG.GDF_RA_ADDRESSES_BILL_ATT9_TBL;
34   GT_GDF_PARTY_SITES_BILL_ATT8     ZX_EXTRACT_PKG.GDF_PARTY_SITES_BILL_ATT8_TBL;
35   GT_GDF_RA_CUST_BILL_ATT10        ZX_EXTRACT_PKG.GDF_RA_CUST_BILL_ATT10_TBL;
36   GT_GDF_RA_CUST_BILL_ATT12        ZX_EXTRACT_PKG.GDF_RA_CUST_BILL_ATT12_TBL;
37   GT_GDF_RA_ADDRESSES_BILL_ATT8    ZX_EXTRACT_PKG.GDF_RA_ADDRESSES_BILL_ATT8_TBL;
38   GT_TAX_REG_NUM                   ZX_EXTRACT_PKG.HQ_ESTB_REG_NUMBER_TBL;
39   GT_HQ_ESTB_REG_NUMBER            ZX_EXTRACT_PKG.HQ_ESTB_REG_NUMBER_TBL;
40   GT_DOC_SEQ_ID                    ZX_EXTRACT_PKG.DOC_SEQ_ID_TBL;
41 
42   GT_DOC_SEQ_NAME                  ZX_EXTRACT_PKG.DOC_SEQ_NAME_TBL;
43   GT_SHIPPING_TP_NUMBER              ZX_EXTRACT_PKG.SHIPPING_TP_NUMBER_TBL;
44   GT_SHIPPING_TP_TAX_REG_NUM       ZX_EXTRACT_PKG.SHIPPING_TP_TAX_REG_NUM_TBL;
45   GT_SHIPPING_TP_TAXPAYER_ID       ZX_EXTRACT_PKG.SHIPPING_TP_TAXPAYER_ID_TBL;
46   GT_SHIPPING_SITE_TAX_REG_NUM     ZX_EXTRACT_PKG.SHIPPING_TP_SITE_TX_RG_NUM_TBL;
47 --   GT_SHIPPING_TP_SITE_NAME_ALT      ZX_EXTRACT_PKG.SHIPPING_TP_SITE_NAME_ALT_TBL;
48   GT_SHIPPING_TP_NAME              ZX_EXTRACT_PKG.SHIPPING_TP_NAME_TBL;
49   GT_SHIPPING_TP_NAME_ALT          ZX_EXTRACT_PKG.SHIPPING_TP_NAME_ALT_TBL;
50   GT_SHIPPING_TP_SIC_CODE          ZX_EXTRACT_PKG.SHIPPING_TP_SIC_CODE_TBL;
51   GT_SHIPPING_TP_CITY              ZX_EXTRACT_PKG.SHIPPING_TP_CITY_TBL;
52   GT_SHIPPING_TP_COUNTY            ZX_EXTRACT_PKG.SHIPPING_TP_COUNTY_TBL;
53   GT_SHIPPING_TP_STATE             ZX_EXTRACT_PKG.SHIPPING_TP_STATE_TBL;
54   GT_SHIPPING_TP_PROVINCE          ZX_EXTRACT_PKG.SHIPPING_TP_PROVINCE_TBL;
55   GT_SHIPPING_TP_ADDRESS1          ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS1_TBL;
56   GT_SHIPPING_TP_ADDRESS2          ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS2_TBL;
57   GT_SHIPPING_TP_ADDRESS3          ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS3_TBL;
58   GT_SHIPPING_TP_ADDR_LINES_ALT    ZX_EXTRACT_PKG.SHIPPING_TP_ADDR_LINES_ALT_TBL;
59   GT_SHIPPING_TP_COUNTRY           ZX_EXTRACT_PKG.SHIPPING_TP_COUNTRY_TBL;
60   GT_SHIPPING_TP_POSTAL_CODE       ZX_EXTRACT_PKG.SHIPPING_TP_POSTAL_CODE_TBL;
61 --   GT_SHIPPING_TP_PARTY_NUMBER      ZX_EXTRACT_PKG.SHIPPING_TP_PARTY_NUMBER_TBL;
62   GT_SHIPPING_TP_ID                ZX_EXTRACT_PKG.SHIPPING_TP_ID_TBL;
63   GT_SHIPPING_TP_SITE_ID           ZX_EXTRACT_PKG.SHIPPING_TP_SITE_ID_TBL;
64   GT_SHIPPING_TP_ADDRESS_ID        ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL;
65 --  GT_SHIPPING_TP_TAX_REP_FLAG      ZX_EXTRACT_PKG.SHIPPING_TP_TAX_REP_FLAG_TBL;
66   GT_SHIPPING_TP_SITE_NAME         ZX_EXTRACT_PKG.SHIPPING_TP_SITE_NAME_TBL;
67   GT_GDF_RA_ADDRESSES_SHIP_ATT9    ZX_EXTRACT_PKG.GDF_RA_ADDRESSES_SHIP_ATT9_TBL;
68   GT_GDF_PARTY_SITES_SHIP_ATT8     ZX_EXTRACT_PKG.GDF_PARTY_SITES_SHIP_ATT8_TBL;
69   GT_GDF_RA_CUST_SHIP_ATT10        ZX_EXTRACT_PKG.GDF_RA_CUST_SHIP_ATT10_TBL;
70   GT_GDF_RA_CUST_SHIP_ATT12        ZX_EXTRACT_PKG.GDF_RA_CUST_SHIP_ATT12_TBL;
71   GT_GDF_RA_ADDRESSES_SHIP_ATT8    ZX_EXTRACT_PKG.GDF_RA_ADDRESSES_SHIP_ATT8_TBL;
72   GT_TAX_RATE_VAT_TRX_TYPE_DESC    ZX_EXTRACT_PKG.TAX_RATE_VAT_TRX_TYPE_DESC_TBL;
73   GT_TAX_RATE_VAT_TRX_TYPE_MNG     ZX_EXTRACT_PKG.TAX_RATE_VAT_TRX_TYPE_MNG_TBL;
74   GT_TAX_RATE_CODE_REG_TYPE_MNG    ZX_EXTRACT_PKG.TAX_RATE_CODE_REG_TYPE_MNG_TBL;
75   GT_TRX_CLASS_MNG                 ZX_EXTRACT_PKG.TRX_CLASS_MNG_TBL;
76   GT_TAX_EXCEPTION_REASON_MNG      ZX_EXTRACT_PKG.TAX_EXCEPTION_REASON_MNG_TBL;
77   GT_TAX_EXEMPT_REASON_MNG         ZX_EXTRACT_PKG.TAX_EXEMPT_REASON_MNG_TBL;
78   GT_LEDGER_NAME                   ZX_EXTRACT_PKG.LEDGER_NAME_TBL;
79   GT_BANKING_TP_TAXPAYER_ID        ZX_EXTRACT_PKG.BANKING_TP_TAXPAYER_ID_TBL;
80 
81   GT_DETAIL_TAX_LINE_ID         ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
82   GT_LEDGER_ID                  ZX_EXTRACT_PKG.LEDGER_ID_TBL;
83   GT_TRX_ID                     ZX_EXTRACT_PKG.TRX_ID_TBL;
84   GT_BANK_ACCOUNT_ID            ZX_EXTRACT_PKG.BANK_ACCOUNT_ID_TBL;
85   GT_TRX_TYPE_ID                ZX_EXTRACT_PKG.TRX_TYPE_ID_TBL;
86   GT_TRX_CLASS                  ZX_EXTRACT_PKG.TRX_LINE_CLASS_TBL;
87   GT_TRX_BATCH_SOURCE_ID        ZX_EXTRACT_PKG.BATCH_SOURCE_ID_TBL;
88   GT_TAX_RATE_ID                ZX_EXTRACT_PKG.TAX_RATE_ID_TBL;
89   GT_TAX_RATE_VAT_TRX_TYPE_CODE ZX_EXTRACT_PKG.TAX_RATE_VAT_TRX_TYPE_CODE_TBL;
90   GT_TAX_RATE_CODE_DESCRIPTION  ZX_EXTRACT_PKG.TAX_RATE_CODE_DESCRIPTION_TBL;
91   GT_TAX_RATE_REG_TYPE_CODE     ZX_EXTRACT_PKG.TAX_RATE_REG_TYPE_CODE_TBL;
92   GT_TAX_EXEMPTION_ID           ZX_EXTRACT_PKG.TAX_EXEMPTION_ID_TBL;
93   GT_TAX_EXCEPTION_ID           ZX_EXTRACT_PKG.TAX_EXCEPTION_ID_TBL;
94   GT_TAX_LINE_ID                ZX_EXTRACT_PKG.TAX_LINE_ID_TBL;
95   GT_TAX_AMT                    ZX_EXTRACT_PKG.TAX_AMT_TBL;
96   GT_TAX_AMT_FUNCL_CURR         ZX_EXTRACT_PKG.TAX_AMT_FUNCL_CURR_TBL;
97   GT_TAX_LINE_NUMBER            ZX_EXTRACT_PKG.TAX_LINE_NUMBER_TBL;
98   GT_TAXABLE_AMT                ZX_EXTRACT_PKG.TAXABLE_AMT_TBL;
99   GT_TAXABLE_AMT_FUNCL_CURR     ZX_EXTRACT_PKG.TAXABLE_AMT_FUNCL_CURR_TBL;
100   GT_TRX_LINE_ID                ZX_EXTRACT_PKG.TRX_LINE_ID_TBL;
101   GT_TAX_EXCEPTION_REASON_CODE  ZX_EXTRACT_PKG.TAX_EXCEPTION_REASON_CODE_TBL;
102   GT_EXEMPT_REASON_CODE         ZX_EXTRACT_PKG.EXEMPT_REASON_CODE_TBL;
103   GT_RECONCILIATION_FLAG        ZX_EXTRACT_PKG.RECONCILIATION_FLAG_TBL;
104   GT_INTERNAL_ORGANIZATION_ID   ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL;
105   GT_TAX_DATE                   ZX_EXTRACT_PKG.TAX_DATE_TBL;
106   GT_BR_REF_CUSTOMER_TRX_ID     ZX_EXTRACT_PKG.BR_REF_CUSTOMER_TRX_ID_TBL;
107   GT_REVERSE_FLAG               ZX_EXTRACT_PKG.REVERSE_FLAG_TBL;
108   GT_AMOUNT_APPLIED             ZX_EXTRACT_PKG.AMOUNT_APPLIED_TBL;
109   GT_TAX_RATE                   ZX_EXTRACT_PKG.TAX_RATE_TBL;
110   GT_TAX_RATE_CODE              ZX_EXTRACT_PKG.TAX_RATE_CODE_TBL;
111   GT_TAX_RATE_CODE_NAME         ZX_EXTRACT_PKG.TAX_RATE_CODE_NAME_TBL;
112   GT_TAX_TYPE_CODE              ZX_EXTRACT_PKG.TAX_TYPE_CODE_TBL;
113   GT_TRX_DATE                   ZX_EXTRACT_PKG.TRX_DATE_TBL;
114   GT_TRX_CURRENCY_CODE          ZX_EXTRACT_PKG.TRX_CURRENCY_CODE_TBL;
115   GT_CURRENCY_CONVERSION_RATE   ZX_EXTRACT_PKG.CURRENCY_CONVERSION_RATE_TBL;
116   GT_APPLICATION_ID             ZX_EXTRACT_PKG.APPLICATION_ID_TBL;
117   GT_DOC_EVENT_STATUS           ZX_EXTRACT_PKG.DOC_EVENT_STATUS_TBL;
118   GT_EXTRACT_SOURCE_LEDGER      ZX_EXTRACT_PKG.EXTRACT_SOURCE_LEDGER_TBL;
119   GT_FUNCTIONAL_CURRENCY_CODE   ZX_EXTRACT_PKG.FUNCTIONAL_CURRENCY_CODE_TBL;
120   GT_MINIMUM_ACCOUNTABLE_UNIT   ZX_EXTRACT_PKG.MINIMUM_ACCOUNTABLE_UNIT_TBL;
121   GT_PRECISION                  ZX_EXTRACT_PKG.PRECISION_TBL;
122   GT_RECEIPT_CLASS_ID           ZX_EXTRACT_PKG.RECEIPT_CLASS_ID_TBL;
123   GT_EXCEPTION_RATE             ZX_EXTRACT_PKG.EXCEPTION_RATE_TBL;
124   GT_SHIP_FROM_PARTY_TAX_PROF_ID   ZX_EXTRACT_PKG.SHIP_FROM_PTY_TAX_PROF_ID_TBL;
125   GT_SHIP_FROM_SITE_TAX_PROF_ID    ZX_EXTRACT_PKG.SHIP_FROM_SITE_TAX_PROF_ID_TBL;
126   GT_SHIP_TO_PARTY_TAX_PROF_ID     ZX_EXTRACT_PKG.SHIP_TO_PARTY_TAX_PROF_ID_TBL;
127   GT_SHIP_TO_SITE_TAX_PROF_ID      ZX_EXTRACT_PKG.SHIP_TO_SITE_TAX_PROF_ID_TBL;
128   GT_BILL_TO_PARTY_TAX_PROF_ID     ZX_EXTRACT_PKG.BILL_TO_PARTY_TAX_PROF_ID_TBL;
129   GT_BILL_TO_SITE_TAX_PROF_ID      ZX_EXTRACT_PKG.BILL_TO_SITE_TAX_PROF_ID_TBL;
130   GT_BILL_FROM_PARTY_TAX_PROF_ID   ZX_EXTRACT_PKG.BILL_FROM_PTY_TAX_PROF_ID_TBL;
131   GT_BILL_FROM_SITE_TAX_PROF_ID    ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL;
132 --   GT_BILLING_TP_ID                 ZX_EXTRACT_PKG.BILLING_TP_ID_TBL;
133 --   GT_BILLING_TP_SITE_ID            ZX_EXTRACT_PKG.BILLING_TP_SITE_ID_TBL;
134 --   GT_BILLING_TP_ADDRESS_ID         ZX_EXTRACT_PKG.BILLING_TP_ADDRESS_ID_TBL;
135   GT_BILL_TO_PARTY_ID              ZX_EXTRACT_PKG.BILL_TO_PARTY_ID_TBL;
136   GT_BILL_TO_PARTY_SITE_ID         ZX_EXTRACT_PKG.BILL_TO_PARTY_SITE_ID_TBL;
137   GT_SHIP_TO_PARTY_ID              ZX_EXTRACT_PKG.SHIP_TO_PARTY_ID_TBL;
138   GT_SHIP_TO_PARTY_SITE_ID         ZX_EXTRACT_PKG.SHIP_TO_PARTY_SITE_ID_TBL;
139   GT_HISTORICAL_FLAG               ZX_EXTRACT_PKG.HISTORICAL_FLAG_TBL;
140 --   GT_INTERNAL_ORGANIZATION_ID        ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL;
141 -- apai   GT_REP_CONTEXT_ID                  ZX_EXTRACT_PKG.REP_CONTEXT_ID_TBL;
142   G_FUN_CURRENCY_CODE              GL_LEDGERS.CURRENCY_CODE%TYPE;
143   GT_DEF_REC_SETTLEMENT_OPT_CODE   ZX_EXTRACT_PKG.DEF_REC_SETTLEMENT_OPT_CD_TBL;
144 
145   GT_TAX_REGIME_CODE               ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL;
146   GT_TAX                           ZX_EXTRACT_PKG.TAX_TBL;
147   GT_TAX_STATUS_CODE               ZX_EXTRACT_PKG.TAX_STATUS_CODE_TBL;
148   GT_TAX_JURISDICTION_CODE         ZX_EXTRACT_PKG.TAX_JURISDICTION_CODE_TBL;
149 
150 --Accounting global variables declaration --
151   GT_ACTG_EXT_LINE_ID         ZX_EXTRACT_PKG.ACTG_EXT_LINE_ID_TBL;
152   GT_ACTG_EVENT_TYPE_CODE     ZX_EXTRACT_PKG.ACTG_EVENT_TYPE_CODE_TBL;
153   GT_ACTG_EVENT_NUMBER        ZX_EXTRACT_PKG.ACTG_EVENT_NUMBER_TBL;
154   GT_ACTG_EVENT_STATUS_FLAG   ZX_EXTRACT_PKG.ACTG_EVENT_STATUS_FLAG_TBL;
155   GT_ACTG_CATEGORY_CODE       ZX_EXTRACT_PKG.ACTG_CATEGORY_CODE_TBL;
156   GT_ACCOUNTING_DATE          ZX_EXTRACT_PKG.ACCOUNTING_DATE_TBL;
157   GT_GL_TRANSFER_FLAG         ZX_EXTRACT_PKG.GL_TRANSFER_FLAG_TBL;
158   GT_GL_TRANSFER_RUN_ID       ZX_EXTRACT_PKG.GL_TRANSFER_RUN_ID_TBL;
159   GT_ACTG_HEADER_DESCRIPTION  ZX_EXTRACT_PKG.ACTG_HEADER_DESCRIPTION_TBL;
160   GT_ACTG_LINE_NUM            ZX_EXTRACT_PKG.ACTG_LINE_NUM_TBL;
161   GT_ACTG_LINE_TYPE_CODE      ZX_EXTRACT_PKG.ACTG_LINE_TYPE_CODE_TBL;
162   GT_ACTG_LINE_DESCRIPTION    ZX_EXTRACT_PKG.ACTG_LINE_DESCRIPTION_TBL;
163   GT_ACTG_STAT_AMT            ZX_EXTRACT_PKG.ACTG_STAT_AMT_TBL;
164   GT_ACTG_ERROR_CODE          ZX_EXTRACT_PKG.ACTG_ERROR_CODE_TBL;
165   GT_GL_TRANSFER_CODE         ZX_EXTRACT_PKG.GL_TRANSFER_CODE_TBL;
166   GT_ACTG_DOC_SEQUENCE_ID     ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_ID_TBL;
167   GT_ACTG_DOC_SEQUENCE_NAME   ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_NAME_TBL;
168   GT_ACTG_DOC_SEQUENCE_VALUE  ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_VALUE_TBL;
169   GT_ACTG_PARTY_ID            ZX_EXTRACT_PKG.ACTG_PARTY_ID_TBL;
170   GT_ACTG_PARTY_SITE_ID       ZX_EXTRACT_PKG.ACTG_PARTY_SITE_ID_TBL;
171   GT_ACTG_PARTY_TYPE          ZX_EXTRACT_PKG.ACTG_PARTY_TYPE_TBL;
172   GT_ACTG_EVENT_ID            ZX_EXTRACT_PKG.ACTG_EVENT_ID_TBL;
173   GT_ACTG_HEADER_ID           ZX_EXTRACT_PKG.ACTG_HEADER_ID_TBL;
174   GT_ACTG_SOURCE_ID           ZX_EXTRACT_PKG.ACTG_SOURCE_ID_TBL;
175   GT_ACTG_SOURCE_TABLE        ZX_EXTRACT_PKG.ACTG_SOURCE_TABLE_TBL;
176   GT_ACTG_LINE_CCID           ZX_EXTRACT_PKG.ACTG_LINE_CCID_TBL;
177   GT_PERIOD_NAME              ZX_EXTRACT_PKG.PERIOD_NAME_TBL;
178 
179 
180   AGT_ACTG_EXT_LINE_ID        ZX_EXTRACT_PKG.ACTG_EXT_LINE_ID_TBL;
181   AGT_DETAIL_TAX_LINE_ID      ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
182   AGT_ACTG_EVENT_TYPE_CODE    ZX_EXTRACT_PKG.ACTG_EVENT_TYPE_CODE_TBL;
183   AGT_ACTG_EVENT_NUMBER       ZX_EXTRACT_PKG.ACTG_EVENT_NUMBER_TBL;
184   AGT_ACTG_EVENT_STATUS_FLAG  ZX_EXTRACT_PKG.ACTG_EVENT_STATUS_FLAG_TBL;
185   AGT_ACTG_CATEGORY_CODE      ZX_EXTRACT_PKG.ACTG_CATEGORY_CODE_TBL;
186   AGT_ACCOUNTING_DATE         ZX_EXTRACT_PKG.ACCOUNTING_DATE_TBL;
187   AGT_GL_TRANSFER_FLAG        ZX_EXTRACT_PKG.GL_TRANSFER_FLAG_TBL;
188   AGT_GL_TRANSFER_RUN_ID      ZX_EXTRACT_PKG.GL_TRANSFER_RUN_ID_TBL;
189   AGT_ACTG_HEADER_DESCRIPTION ZX_EXTRACT_PKG.ACTG_HEADER_DESCRIPTION_TBL;
190   AGT_ACTG_LINE_NUM           ZX_EXTRACT_PKG.ACTG_LINE_NUM_TBL;
191   AGT_ACTG_LINE_TYPE_CODE     ZX_EXTRACT_PKG.ACTG_LINE_TYPE_CODE_TBL;
192   AGT_ACTG_LINE_DESCRIPTION   ZX_EXTRACT_PKG.ACTG_LINE_DESCRIPTION_TBL;
193   AGT_ACTG_STAT_AMT           ZX_EXTRACT_PKG.ACTG_STAT_AMT_TBL;
194   AGT_ACTG_ERROR_CODE         ZX_EXTRACT_PKG.ACTG_ERROR_CODE_TBL;
195   AGT_GL_TRANSFER_CODE        ZX_EXTRACT_PKG.GL_TRANSFER_CODE_TBL;
196   AGT_ACTG_DOC_SEQUENCE_ID    ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_ID_TBL;
197   AGT_ACTG_DOC_SEQUENCE_NAME  ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_NAME_TBL;
198   AGT_ACTG_DOC_SEQUENCE_VALUE ZX_EXTRACT_PKG.ACTG_DOC_SEQUENCE_VALUE_TBL;
199   AGT_ACTG_PARTY_ID           ZX_EXTRACT_PKG.ACTG_PARTY_ID_TBL;
200   AGT_ACTG_PARTY_SITE_ID      ZX_EXTRACT_PKG.ACTG_PARTY_SITE_ID_TBL;
201   AGT_ACTG_PARTY_TYPE         ZX_EXTRACT_PKG.ACTG_PARTY_TYPE_TBL;
202   AGT_ACTG_EVENT_ID           ZX_EXTRACT_PKG.ACTG_EVENT_ID_TBL;
203   AGT_ACTG_HEADER_ID          ZX_EXTRACT_PKG.ACTG_HEADER_ID_TBL;
204   AGT_ACTG_SOURCE_ID          ZX_EXTRACT_PKG.ACTG_SOURCE_ID_TBL;
205   AGT_ACTG_SOURCE_TABLE       ZX_EXTRACT_PKG.ACTG_SOURCE_TABLE_TBL;
206   AGT_ACTG_LINE_CCID          ZX_EXTRACT_PKG.ACTG_LINE_CCID_TBL;
207   AGT_PERIOD_NAME             ZX_EXTRACT_PKG.PERIOD_NAME_TBL;
208 
209   GT_ACCOUNT_FLEXFIELD        ZX_EXTRACT_PKG.ACCOUNT_FLEXFIELD_TBL;
210   GT_ACCOUNT_DESCRIPTION      ZX_EXTRACT_PKG.ACCOUNT_DESCRIPTION_TBL;
211 
212 
213 --   GT_ACTG_SOURCE_ID                ZX_EXTRACT_PKG.ACTG_SOURCE_ID_TBL;
214   GT_AE_HEADER_ID                  ZX_EXTRACT_PKG.ACTG_HEADER_ID_TBL;
215   GT_EVENT_ID                      ZX_EXTRACT_PKG.ACTG_EVENT_ID_TBL;
216   GT_LINE_CCID                     ZX_EXTRACT_PKG.ACTG_LINE_CCID_TBL;
217   GT_TRX_ARAP_BALANCING_SEGMENT    ZX_EXTRACT_PKG.TRX_ARAP_BALANCING_SEG_TBL;
218   GT_TRX_ARAP_NATURAL_ACCOUNT      ZX_EXTRACT_PKG.TRX_ARAP_NATURAL_ACCOUNT_TBL;
219   GT_TRX_TAXABLE_BAL_SEG           ZX_EXTRACT_PKG.TRX_TAXABLE_BALANCING_SEG_TBL;
220   GT_TRX_TAXABLE_BALSEG_DESC       ZX_EXTRACT_PKG.TRX_TAXABLE_BALSEG_DESC_TBL;
221   GT_TRX_TAXABLE_NATURAL_ACCOUNT   ZX_EXTRACT_PKG.TRX_TAXABLE_NATURAL_ACCT_TBL;
222   GT_TRX_TAX_BALANCING_SEGMENT     ZX_EXTRACT_PKG.TRX_TAX_BALANCING_SEG_TBL;
223   GT_TRX_TAX_NATURAL_ACCOUNT       ZX_EXTRACT_PKG.TRX_TAX_NATURAL_ACCOUNT_TBL;
224 --   GT_TAX_AMT                       ZX_EXTRACT_PKG.TAX_AMT_TBL;
225 --   GT_TAX_AMT_FUNCL_CURR            ZX_EXTRACT_PKG.TAX_AMT_FUNCL_CURR_TBL;
226 --   GT_TAXABLE_AMT                   ZX_EXTRACT_PKG.TAXABLE_AMT_TBL;
227 --   GT_TAXABLE_AMT_FUNCL_CURR        ZX_EXTRACT_PKG.TAXABLE_AMT_FUNCL_CURR_TBL;
228   GT_POSTED_DATE                   ZX_EXTRACT_PKG.POSTED_DATE_TBL;
229   GT_TRX_CONTROL_ACCFLEXFIELD      ZX_EXTRACT_PKG.TRX_CONTROL_ACCT_FLEXFLD_TBL ; --Bug 5510907
230   GT_TAX_DETERMINE_DATE            ZX_EXTRACT_PKG.TAX_DETERMINE_DATE_TBL ; --Bug 5622686
231 
232   TYPE TRX_TAXABLE_ACCOUNT_DESC_tbl  IS TABLE OF
233      ZX_REP_ACTG_EXT_T.TRX_TAXABLE_ACCOUNT_DESC%TYPE INDEX BY BINARY_INTEGER;
234 
235   TYPE TRX_TAXABLE_NATACCT_DESC_tbl  IS TABLE OF
236      ZX_REP_ACTG_EXT_T.TRX_TAXABLE_NATACCT_SEG_DESC%TYPE INDEX BY BINARY_INTEGER;
237 
238   GT_TRX_TAXABLE_ACCOUNT_DESC    TRX_TAXABLE_ACCOUNT_DESC_tbl ; --Bug 5650415
239   GT_TRX_TAXABLE_NATACCT_DESC    TRX_TAXABLE_NATACCT_DESC_tbl ;
240   GT_TAX_TYPE_MNG               ZX_EXTRACT_PKG.TAX_TYPE_MNG_TBL;
241 
242   -- Accounting---
243   G_CREATED_BY                      NUMBER(15);
244   G_CREATION_DATE                   DATE;
245   G_LAST_UPDATED_BY                 NUMBER(15);
246   G_LAST_UPDATE_DATE                DATE;
247   G_LAST_UPDATE_LOGIN               NUMBER(15);
248   G_PROGRAM_APPLICATION_ID          NUMBER;
249   G_PROGRAM_ID                      NUMBER;
250   G_PROGRAM_LOGIN_ID                NUMBER;
251   g_request_id                      NUMBER;
252   g_coa_id                          NUMBER;
253 
254   G_RETCODE                        NUMBER :=0;
255 
256   C_LINES_PER_COMMIT      CONSTANT  NUMBER := 5000;
257   L_MSG                             VARCHAR2(500);
258   G_REP_CONTEXT_ID                  NUMBER;
259   g_current_runtime_level           NUMBER;
260   g_level_statement       CONSTANT  NUMBER  := FND_LOG.LEVEL_STATEMENT;
261   g_level_procedure       CONSTANT  NUMBER  := FND_LOG.LEVEL_PROCEDURE;
262   g_level_event           CONSTANT  NUMBER  := FND_LOG.LEVEL_EVENT;
263   g_level_unexpected      CONSTANT  NUMBER  := FND_LOG.LEVEL_UNEXPECTED;
264   g_error_buffer                    VARCHAR2(100);
265 
266 PROCEDURE convert_amounts(P_CURRENCY_CODE        IN VARCHAR2,
267                         P_EXCHANGE_RATE         IN NUMBER,
268                         P_PRECISION             IN NUMBER,
269                         P_MIN_ACCT_UNIT         IN NUMBER,
270                         P_INPUT_TAX_AMOUNT      IN NUMBER,
271                         P_INPUT_TAXABLE_AMOUNT  IN NUMBER,
272                         P_INPUT_EXEMPT_AMOUNT   IN NUMBER,
273                         i                       IN binary_integer);
274 
275 
276 
277 PROCEDURE APP_FUNCTIONAL_AMOUNTS(
278   P_TRX_ID                IN NUMBER,
279   P_TAX_CODE_ID           IN NUMBER,
280   P_CURRENCY_CODE         IN  VARCHAR2,
281   P_EXCHANGE_RATE         IN NUMBER,
282   P_PRECISION             IN NUMBER,
283   P_MIN_ACCT_UNIT         IN   NUMBER,
284   P_INPUT_TAX_AMOUNT      IN OUT NOCOPY NUMBER,
285   P_INPUT_TAXABLE_AMOUNT  IN OUT NOCOPY NUMBER,
286   P_SUMMARY_LEVEL         IN VARCHAR2,
287   P_REGISTER_TYPE         IN VARCHAR2,
288   i                       IN BINARY_INTEGER);
289 
290 PROCEDURE get_accounting_info(P_TRX_ID                IN NUMBER,
291                               P_TRX_LINE_ID           IN NUMBER,
292                               P_TAX_LINE_ID           IN NUMBER,
293                               P_EVENT_ID              IN NUMBER,
294                               P_AE_HEADER_ID          IN NUMBER,
295                               P_ACTG_SOURCE_ID           IN NUMBER,
296                               P_BALANCING_SEGMENT     IN VARCHAR2,
297                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
298                               P_SUMMARY_LEVEL         IN VARCHAR2,
299                               P_REPORT_NAME           IN VARCHAR2,
300                               P_TRX_CLASS             IN VARCHAR2,
301 			      P_LEDGER_ID             IN NUMBER,
302                               j                       IN binary_integer);
303 
304 PROCEDURE get_accounting_amounts(P_TRX_ID                IN NUMBER,
305                                  P_TRX_LINE_ID           IN NUMBER,
306                                  P_TAX_LINE_ID           IN NUMBER,
307                            --      P_ENTITY_ID             IN NUMBER,
308                                  P_EVENT_ID              IN NUMBER,
309                                  P_AE_HEADER_ID          IN NUMBER,
310                                  P_ACTG_SOURCE_ID           IN NUMBER,
311                                  P_SUMMARY_LEVEL         IN VARCHAR2,
312                                  P_TRX_CLASS             IN VARCHAR2,
313                                  P_LEDGER_ID             IN NUMBER,
314                                  j                       IN binary_integer);
315 
316 PROCEDURE other_trx_segment_info(P_TRX_ID                IN NUMBER,
317                               P_TRX_LINE_ID           IN NUMBER,
318                               P_TAX_LINE_ID           IN NUMBER,
319                    --           P_ENTITY_ID             IN NUMBER,
320                               P_EVENT_ID              IN NUMBER,
321                               P_AE_HEADER_ID          IN NUMBER,
322                               P_ACTG_SOURCE_ID         IN NUMBER,
323                               P_BALANCING_SEGMENT     IN VARCHAR2,
324                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
325                               P_SUMMARY_LEVEL         IN VARCHAR2,
326                               P_TRX_CLASS             IN VARCHAR2,
327                               j                       IN binary_integer);
328 PROCEDURE other_trx_actg_amounts(P_TRX_ID                IN NUMBER,
329                                  P_TRX_LINE_ID           IN NUMBER,
330                                  P_TAX_LINE_ID           IN NUMBER,
331                   --               P_ENTITY_ID             IN NUMBER,
332                                  P_EVENT_ID              IN NUMBER,
333                                  P_AE_HEADER_ID          IN NUMBER,
334                                  P_ACTG_SOURCE_ID           IN NUMBER,
335                                  P_SUMMARY_LEVEL         IN VARCHAR2,
336                                  P_TRX_CLASS             IN VARCHAR2,
337                                  P_LEDGER_ID             IN NUMBER,
338                                  j                       IN binary_integer);
339 
340 PROCEDURE inv_segment_info (P_TRX_ID                IN NUMBER,
341                               P_TRX_LINE_ID           IN NUMBER,
342                               P_TAX_LINE_ID           IN NUMBER,
343                    --           P_ENTITY_ID             IN NUMBER,
344                               P_EVENT_ID              IN NUMBER,
345                               P_AE_HEADER_ID          IN NUMBER,
346                               P_ACTG_SOURCE_ID           IN NUMBER,
347                               P_BALANCING_SEGMENT     IN VARCHAR2,
348                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
349                               P_SUMMARY_LEVEL         IN VARCHAR2,
350                               P_REPORT_NAME           IN VARCHAR2,
351                               P_TRX_CLASS             IN VARCHAR2,
352 			      P_LEDGER_ID             IN NUMBER,
353                               j                       IN binary_integer);
354 
355 
356 PROCEDURE inv_actg_amounts(P_TRX_ID                IN NUMBER,
357                                  P_TRX_LINE_ID           IN NUMBER,
358                                  P_TAX_LINE_ID           IN NUMBER,
359                   --               P_ENTITY_ID             IN NUMBER,
360                                  P_EVENT_ID              IN NUMBER,
361                                  P_AE_HEADER_ID          IN NUMBER,
362                                  P_ACTG_SOURCE_ID           IN NUMBER,
363                                  P_SUMMARY_LEVEL         IN VARCHAR2,
364                                  P_TRX_CLASS             IN VARCHAR2,
365                                  P_LEDGER_ID             IN NUMBER,
366                                  j                       IN binary_integer);
367 
368 
369 PROCEDURE    insert_actg_info (
370            P_COUNT IN BINARY_INTEGER);
371 
372 PROCEDURE EXTRACT_PARTY_INFO( i IN BINARY_INTEGER);
373 
374 PROCEDURE initialize_variables (
375           p_count   IN         NUMBER);
376 
377 PROCEDURE populate_meaning(
378            P_TRL_GLOBAL_VARIABLES_REC  IN OUT NOCOPY ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE,
379            i BINARY_INTEGER);
380 
381 /* Procedure get_tax_rate_info_dist_adj is created to populate the tax_rate_code and tax_rate_code_name
382 for Adjustments when report is submitted at Distribution level */
383 PROCEDURE get_tax_rate_info_dist_adj(i IN BINARY_INTEGER);
384 
385 PROCEDURE populate_tax_reg_num(
386            P_TRL_GLOBAL_VARIABLES_REC  IN OUT NOCOPY ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE,
387            P_ORG_ID       IN zx_lines.internal_organization_id%TYPE ,
388            P_TAX_DATE     IN zx_lines.tax_date%TYPE,
389            i BINARY_INTEGER);
390 
391 PROCEDURE UPDATE_REP_DETAIL_T(p_count IN NUMBER);
392 
393 
394 /*===========================================================================+
395  | PROCEDURE                                                                 |
396  |   UPDATE_ADDITIONAL_INFO                                                  |
397  |                                                                           |
398  | DESCRIPTION                                                               |
399  |    This procedure populates additional extract information                |
400  |    AR_TAX_EXTRACT_SUB_ITF                                                 |
401  |                                                                           |
402  |    Called from |
403  |                                                                           |
404  | SCOPE - Public                                                            |
405  |                                                                           |
406  | NOTES                                                                     |
407  |                                                                           |
408  | MODIFICATION HISTORY                                                      |
409  |                                                                           |
410  +===========================================================================*/
411 PROCEDURE UPDATE_ADDITIONAL_INFO(
412           P_TRL_GLOBAL_VARIABLES_REC      IN OUT  NOCOPY ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE)
413 IS
414 
415 /*CURSOR detail_t_cur(c_request_id IN NUMBER) IS
416 SELECT  DETAIL_TAX_LINE_ID,
417         LEDGER_ID,
418         INTERNAL_ORGANIZATION_ID,
419         TRX_ID ,
420         TRX_TYPE_ID ,
421         TRX_LINE_CLASS,
422         TRX_BATCH_SOURCE_ID,
423         TAX_RATE_ID ,
424         TAX_RATE_VAT_TRX_TYPE_CODE,
425         TAX_RATE_REGISTER_TYPE_CODE,
426         TAX_EXEMPTION_ID ,
427         TAX_EXCEPTION_ID ,
428         TAX_LINE_ID ,
429         TAX_AMT ,
430         TAX_AMT_FUNCL_CURR ,
431         TAX_LINE_NUMBER ,
432         TAXABLE_AMT ,
433         TAXABLE_AMT_FUNCL_CURR ,
434         TRX_LINE_ID ,
435         TAX_EXCEPTION_REASON_CODE ,
436         EXEMPT_REASON_CODE,
437         RECONCILIATION_FLAG ,
438         INTERNAL_ORGANIZATION_ID,
439         BR_REF_CUSTOMER_TRX_ID,
440         REVERSE_FLAG,
441         AMOUNT_APPLIED,
442         TAX_RATE,
443         TAX_RATE_CODE,
444         TAX_TYPE_CODE,
445         TRX_DATE,
446         TRX_CURRENCY_CODE,
447         CURRENCY_CONVERSION_RATE,
448         APPLICATION_ID,
449         DOC_EVENT_STATUS,
450         EXTRACT_SOURCE_LEDGER ,
451         FUNCTIONAL_CURRENCY_CODE,
452         MINIMUM_ACCOUNTABLE_UNIT,
453         PRECISION,
454         RECEIPT_CLASS_ID ,
455         EXCEPTION_RATE,
456         SHIP_FROM_PARTY_TAX_PROF_ID,
457         SHIP_FROM_SITE_TAX_PROF_ID,
458         SHIP_TO_PARTY_TAX_PROF_ID  ,
459         SHIP_TO_SITE_TAX_PROF_ID  ,
460         BILL_TO_PARTY_TAX_PROF_ID,
461         BILL_TO_SITE_TAX_PROF_ID,
462         BILL_FROM_PARTY_TAX_PROF_ID,
463         BILL_FROM_SITE_TAX_PROF_ID,
464         BILLING_TRADING_PARTNER_ID,
465         BILLING_TP_SITE_ID,
466         BILLING_TP_ADDRESS_ID,
467         SHIPPING_TRADING_PARTNER_ID,
468         SHIPPING_TP_SITE_ID,
469         SHIPPING_TP_ADDRESS_ID,
470         BILL_TO_PARTY_ID,
471         BILL_TO_PARTY_SITE_ID,
472         SHIP_TO_PARTY_ID,
473         SHIP_TO_PARTY_SITE_ID,
474         HISTORICAL_FLAG
475    FROM zx_rep_trx_detail_t
476   WHERE EXTRACT_SOURCE_LEDGER = 'AR'
477     AND request_id = c_request_id;
478 */
479 
480   CURSOR detail_t_cur (c_request_id        IN NUMBER
481                       ,c_ledger_id         IN NUMBER
482                       ,c_primary_ledger_id IN NUMBER
483                       ) IS   --Bug 5509856
484   SELECT /*+ leading(zx_dtl,xla_ent,XLA_EVENT) parallel(zx_dtl) */
485     DISTINCT ZX_DTL.DETAIL_TAX_LINE_ID,
486         ZX_DTL.LEDGER_ID,
487         ZX_DTL.INTERNAL_ORGANIZATION_ID,
488         ZX_DTL.TAX_DATE,
489         ZX_DTL.HQ_ESTB_REG_NUMBER,
490         ZX_DTL.TRX_ID ,
491         ZX_DTL.TRX_TYPE_ID ,
492         ZX_DTL.DOC_SEQ_ID,
493         ZX_DTL.TRX_LINE_CLASS,
494         ZX_DTL.TRX_BATCH_SOURCE_ID,
495         ZX_DTL.TAX_RATE_ID ,
496         ZX_DTL.TAX_RATE_VAT_TRX_TYPE_CODE,
497         ZX_DTL.TAX_RATE_REGISTER_TYPE_CODE,
498         ZX_DTL.TAX_EXEMPTION_ID ,
499         ZX_DTL.TAX_EXCEPTION_ID ,
500         ZX_DTL.TAX_LINE_ID ,
501         ZX_DTL.TAX_AMT ,
502         nvl(ZX_DTL.TAX_AMT_FUNCL_CURR,ZX_DTL.TAX_AMT) ,
503         ZX_DTL.TAX_LINE_NUMBER ,
504         ZX_DTL.TAXABLE_AMT ,
505         nvl(ZX_DTL.TAXABLE_AMT_FUNCL_CURR,ZX_DTL.TAXABLE_AMT) ,
506         ZX_DTL.TRX_LINE_ID ,
507         ZX_DTL.TAX_EXCEPTION_REASON_CODE ,
508         ZX_DTL.EXEMPT_REASON_CODE,
509         ZX_DTL.RECONCILIATION_FLAG ,
510         ZX_DTL.INTERNAL_ORGANIZATION_ID,
511         ZX_DTL.BR_REF_CUSTOMER_TRX_ID,
512         ZX_DTL.REVERSE_FLAG,
513         ZX_DTL.AMOUNT_APPLIED,
514         ZX_DTL.TAX_RATE,
515         ZX_DTL.TAX_RATE_CODE,
516         ZX_DTL.TAX_RATE_CODE_NAME,
517         ZX_DTL.TAX_TYPE_CODE,
518         ZX_DTL.TRX_DATE,
519         ZX_DTL.TRX_CURRENCY_CODE,
520         ZX_DTL.CURRENCY_CONVERSION_RATE,
521         ZX_DTL.APPLICATION_ID,
522         ZX_DTL.DOC_EVENT_STATUS,
523         ZX_DTL.EXTRACT_SOURCE_LEDGER ,
524         ZX_DTL.FUNCTIONAL_CURRENCY_CODE,
525         ZX_DTL.MINIMUM_ACCOUNTABLE_UNIT,
526         ZX_DTL.PRECISION,
527         ZX_DTL.RECEIPT_CLASS_ID ,
528         ZX_DTL.EXCEPTION_RATE,
529         ZX_DTL.SHIP_FROM_PARTY_TAX_PROF_ID,
530         ZX_DTL.SHIP_FROM_SITE_TAX_PROF_ID,
531         ZX_DTL.SHIP_TO_PARTY_TAX_PROF_ID  ,
532         ZX_DTL.SHIP_TO_SITE_TAX_PROF_ID  ,
533         ZX_DTL.BILL_TO_PARTY_TAX_PROF_ID,
534         ZX_DTL.BILL_TO_SITE_TAX_PROF_ID,
535         ZX_DTL.BILL_FROM_PARTY_TAX_PROF_ID,
536         ZX_DTL.BILL_FROM_SITE_TAX_PROF_ID,
537         ZX_DTL.BILLING_TRADING_PARTNER_ID,
538         ZX_DTL.BILLING_TP_SITE_ID,
539         ZX_DTL.BILLING_TP_ADDRESS_ID,
540         ZX_DTL.SHIPPING_TRADING_PARTNER_ID,
541         ZX_DTL.SHIPPING_TP_SITE_ID,
542         ZX_DTL.SHIPPING_TP_ADDRESS_ID,
543         ZX_DTL.BILL_TO_PARTY_ID,
544         ZX_DTL.BILL_TO_PARTY_SITE_ID,
545         ZX_DTL.SHIP_TO_PARTY_ID,
546         ZX_DTL.SHIP_TO_PARTY_SITE_ID,
547         ZX_DTL.HISTORICAL_FLAG,
548         ZX_DTL.POSTED_DATE,
549         xla_event.event_type_code, -- Accounting Columns
550         xla_event.event_number,
551         xla_event.event_status_code,
552         xla_head.je_category_name,
553         xla_head.accounting_date,
554         DECODE(xla_head.gl_transfer_status_code,'Y','Y','NT','Y','N'),
555         xla_head.description,
556         xla_line.ae_line_num,
557         xla_line.accounting_class_code,
558         xla_line.description,
559         xla_line.statistical_amount,
560         xla_event.process_status_code,
561         xla_head.gl_transfer_status_code,
562         xla_head.doc_sequence_id,
563         xla_head.doc_sequence_value,
564         xla_line.party_id,
565         xla_line.party_site_id,
566         xla_line.party_type_code,
567         xla_event.event_id,
568         xla_head.ae_header_id,
569         xla_line.code_combination_id,
570         xla_head.period_name,
571         zx_dtl.actg_source_id,
572         zx_dtl.bank_account_id,
573         zx_dtl.tax_determine_date,--Bug 5622686
574         zx_dtl.def_rec_settlement_option_code
575   FROM zx_rep_trx_detail_t zx_dtl,
576        xla_transaction_entities xla_ent,
577        xla_events     xla_event,
578        xla_ae_headers  xla_head,
579        xla_ae_lines    xla_line,
580        xla_acct_class_assgns  acs,
581        xla_assignment_defns_b asd,
582        xla_distribution_links xla_dist
583  WHERE zx_dtl.request_id = c_request_id
584    AND zx_dtl.extract_source_ledger = 'AR'
585         AND ( (     zx_dtl.account_class = 'TAX'
586                 AND xla_ent.entity_code  = 'TRANSACTIONS'
587                 AND xla_dist.tax_line_ref_id = zx_dtl.tax_line_id
588               )
589               OR
590               (xla_ent.entity_code IN ('RECEIPTS', 'ADJUSTMENTS', 'BILLS_RECEIVABLE')
591               AND NVL(ZX_DTL.AR_CASH_RECEIPT_REVERSE_STATUS,'NREV') NOT IN ('REV','CC_CHARGEBACK_REV','NSF','STOP')
592             )
593            )
594    AND zx_dtl.posted_date IS NOT NULL
595 --   AND zx_dtl.ledger_id          = xla_ent.ledger_id
596    AND xla_ent.application_id    = 222
597    AND xla_ent.ledger_id         = c_primary_ledger_id
598    AND xla_ent.source_id_int_1   = zx_dtl.trx_id        -- Accounting Joins
599    AND xla_event.application_id = xla_ent.application_id
600    AND xla_event.entity_id      = xla_ent.entity_id
601    AND xla_head.application_id    = xla_event.application_id
602    AND xla_head.event_id          = xla_event.event_id
603    AND xla_head.ledger_id         = c_ledger_id
604    AND xla_head.balance_type_code = 'A'
605    AND xla_line.application_id = xla_head.application_id
606    AND xla_line.ae_header_id   = xla_head.ae_header_id
607    AND acs.program_code          = 'TAX_REPORTING_LEDGER_SALES'
608    AND acs.accounting_class_code = xla_line.accounting_class_code
609    AND asd.enabled_flag            = 'Y'
610    AND asd.program_owner_code      = acs.program_owner_code
611    AND asd.program_code            = acs.program_code
612    AND asd.assignment_owner_code   = acs.assignment_owner_code
613    AND asd.assignment_code         = acs.assignment_code
614    AND xla_dist.application_id               = xla_line.application_id
615    AND xla_dist.ae_header_id                 = xla_line.ae_header_id
616    AND xla_dist.ae_line_num                  = xla_line.ae_line_num
617    AND xla_dist.source_distribution_id_num_1 = zx_dtl.actg_source_id
618 UNION
619  SELECT /*+ FULL(zx_dtl) parallel(zx_dtl) */
620         ZX_DTL.DETAIL_TAX_LINE_ID,
621         ZX_DTL.LEDGER_ID,
622         ZX_DTL.INTERNAL_ORGANIZATION_ID,
623         ZX_DTL.TAX_DATE,
624         ZX_DTL.HQ_ESTB_REG_NUMBER,
625         ZX_DTL.TRX_ID ,
626         ZX_DTL.TRX_TYPE_ID ,
627         ZX_DTL.DOC_SEQ_ID,
628         ZX_DTL.TRX_LINE_CLASS,
629         ZX_DTL.TRX_BATCH_SOURCE_ID,
630         ZX_DTL.TAX_RATE_ID ,
631         ZX_DTL.TAX_RATE_VAT_TRX_TYPE_CODE,
632         ZX_DTL.TAX_RATE_REGISTER_TYPE_CODE,
633         ZX_DTL.TAX_EXEMPTION_ID ,
634         ZX_DTL.TAX_EXCEPTION_ID ,
635         ZX_DTL.TAX_LINE_ID ,
636         ZX_DTL.TAX_AMT ,
637         nvl(ZX_DTL.TAX_AMT_FUNCL_CURR,ZX_DTL.TAX_AMT) ,
638         ZX_DTL.TAX_LINE_NUMBER ,
639         ZX_DTL.TAXABLE_AMT ,
640         nvl(ZX_DTL.TAXABLE_AMT_FUNCL_CURR,ZX_DTL.TAXABLE_AMT) ,
641         ZX_DTL.TRX_LINE_ID ,
642         ZX_DTL.TAX_EXCEPTION_REASON_CODE ,
643         ZX_DTL.EXEMPT_REASON_CODE,
644         ZX_DTL.RECONCILIATION_FLAG ,
645         ZX_DTL.INTERNAL_ORGANIZATION_ID,
646         ZX_DTL.BR_REF_CUSTOMER_TRX_ID,
647         ZX_DTL.REVERSE_FLAG,
648         ZX_DTL.AMOUNT_APPLIED,
649         ZX_DTL.TAX_RATE,
650         ZX_DTL.TAX_RATE_CODE,
651         ZX_DTL.TAX_RATE_CODE_NAME,
652         ZX_DTL.TAX_TYPE_CODE,
653         ZX_DTL.TRX_DATE,
654         ZX_DTL.TRX_CURRENCY_CODE,
655         ZX_DTL.CURRENCY_CONVERSION_RATE,
656         ZX_DTL.APPLICATION_ID,
657         ZX_DTL.DOC_EVENT_STATUS,
658         ZX_DTL.EXTRACT_SOURCE_LEDGER ,
659         ZX_DTL.FUNCTIONAL_CURRENCY_CODE,
660         ZX_DTL.MINIMUM_ACCOUNTABLE_UNIT,
661         ZX_DTL.PRECISION,
662         ZX_DTL.RECEIPT_CLASS_ID ,
663         ZX_DTL.EXCEPTION_RATE,
664         ZX_DTL.SHIP_FROM_PARTY_TAX_PROF_ID,
665         ZX_DTL.SHIP_FROM_SITE_TAX_PROF_ID,
666         ZX_DTL.SHIP_TO_PARTY_TAX_PROF_ID  ,
667         ZX_DTL.SHIP_TO_SITE_TAX_PROF_ID  ,
668         ZX_DTL.BILL_TO_PARTY_TAX_PROF_ID,
669         ZX_DTL.BILL_TO_SITE_TAX_PROF_ID,
670         ZX_DTL.BILL_FROM_PARTY_TAX_PROF_ID,
671         ZX_DTL.BILL_FROM_SITE_TAX_PROF_ID,
672         ZX_DTL.BILLING_TRADING_PARTNER_ID,
673         ZX_DTL.BILLING_TP_SITE_ID,
674         ZX_DTL.BILLING_TP_ADDRESS_ID,
675         ZX_DTL.SHIPPING_TRADING_PARTNER_ID,
676         ZX_DTL.SHIPPING_TP_SITE_ID,
677         ZX_DTL.SHIPPING_TP_ADDRESS_ID,
678         ZX_DTL.BILL_TO_PARTY_ID,
679         ZX_DTL.BILL_TO_PARTY_SITE_ID,
680         ZX_DTL.SHIP_TO_PARTY_ID,
681         ZX_DTL.SHIP_TO_PARTY_SITE_ID,
682         ZX_DTL.HISTORICAL_FLAG,
683         ZX_DTL.POSTED_DATE,
684         TO_CHAR(NULL),    --xla_event.event_type_code, -- Accounting Columns
685         TO_NUMBER(NULL),    --xla_event.event_number,
686         TO_CHAR(NULL),    --xla_event.event_status_code,
687         TO_CHAR(NULL),    --xla_head.je_category_name,
688         TO_DATE(NULL),    --xla_head.accounting_date,
689         ZX_DTL.POSTED_FLAG,    --xla_head.gl_transfer_status_code,
690         TO_CHAR(NULL),    --xla_head.description,
691         TO_NUMBER(NULL),    --xla_line.ae_line_num,
692         TO_CHAR(NULL),    --xla_line.accounting_class_code,
693         TO_CHAR(NULL),    --xla_line.description,
694         TO_NUMBER(NULL),    --xla_line.statistical_amount,
695         TO_CHAR(NULL),    --xla_event.process_status_code,
696         TO_CHAR(NULL),    --xla_head.gl_transfer_status_code,
697         TO_NUMBER(NULL),    --xla_head.doc_sequence_id,
698         TO_NUMBER(NULL),    --xla_head.doc_sequence_value,
699         TO_NUMBER(NULL),    --xla_line.party_id,
700         TO_NUMBER(NULL),    --xla_line.party_site_id,
701         TO_CHAR(NULL),    --xla_line.party_type_code,
702         TO_NUMBER(NULL),    --xla_event.event_id,
703         TO_NUMBER(NULL),    --xla_head.ae_header_id,
704         TO_NUMBER(NULL),    --xla_line.code_combination_id,
705         TO_CHAR(NULL),    --xla_head.period_name,
706         ZX_DTL.ACTG_SOURCE_ID,
707         zx_dtl.bank_account_id,
708         ZX_DTL.tax_determine_date, --Bug 5622686
709         ZX_DTL.DEF_REC_SETTLEMENT_OPTION_CODE
710    FROM zx_rep_trx_detail_t zx_dtl
711   WHERE zx_dtl.request_id = c_request_id
712     AND zx_dtl.extract_source_ledger = 'AR'
713     AND (zx_dtl.posted_date IS NULL
714         OR  (zx_dtl.posted_date IS NOT NULL AND
715           NVL(ZX_DTL.AR_CASH_RECEIPT_REVERSE_STATUS,'NREV') IN ('REV','CC_CHARGEBACK_REV','NSF','STOP')));
716     --OR
717           -- (zx_dtl.posted_date IS NOT NULL AND zx_dtl.tax_line_id is NULL));
718 /* OR
719            ( zx_dtl.posted_date IS NOT  NULL
720              AND not exists(select 1 from xla_transaction_entities
721                      where source_id_int_1 = zx_dtl.trx_id
722                        and application_id = 2222))); */
723 /*Defined new cursor detail_t_cur_trx_line for bug7503539 bibeura */
724 
725 -- bulk comment
726 -- the cusror is same as above cursor, but for removing the join
727 -- AND zx_dtl.actg_source_id = xla_dist.source_distribution_id_num_1
728 CURSOR detail_t_cur_trx_line(c_request_id        IN NUMBER
729                             ,c_ledger_id         IN NUMBER
730                             ,c_primary_ledger_id IN NUMBER
731                             ) IS
732   SELECT /*+ leading(zx_dtl,xla_ent,XLA_EVENT) parallel(zx_dtl) */
733     DISTINCT ZX_DTL.DETAIL_TAX_LINE_ID,
734         ZX_DTL.LEDGER_ID,
735         ZX_DTL.INTERNAL_ORGANIZATION_ID,
736         ZX_DTL.TAX_DATE,
737         ZX_DTL.HQ_ESTB_REG_NUMBER,
738         ZX_DTL.TRX_ID ,
739         ZX_DTL.TRX_TYPE_ID ,
740         ZX_DTL.DOC_SEQ_ID,
741         ZX_DTL.TRX_LINE_CLASS,
742         ZX_DTL.TRX_BATCH_SOURCE_ID,
743         ZX_DTL.TAX_RATE_ID ,
744         ZX_DTL.TAX_RATE_VAT_TRX_TYPE_CODE,
745         ZX_DTL.TAX_RATE_REGISTER_TYPE_CODE,
746         ZX_DTL.TAX_EXEMPTION_ID ,
747         ZX_DTL.TAX_EXCEPTION_ID ,
748         ZX_DTL.TAX_LINE_ID ,
749         ZX_DTL.TAX_AMT ,
750         nvl(ZX_DTL.TAX_AMT_FUNCL_CURR,ZX_DTL.TAX_AMT) ,
751         ZX_DTL.TAX_LINE_NUMBER ,
752         ZX_DTL.TAXABLE_AMT ,
753         nvl(ZX_DTL.TAXABLE_AMT_FUNCL_CURR,ZX_DTL.TAXABLE_AMT) ,
754         ZX_DTL.TRX_LINE_ID ,
755         ZX_DTL.TAX_EXCEPTION_REASON_CODE ,
756         ZX_DTL.EXEMPT_REASON_CODE,
757         ZX_DTL.RECONCILIATION_FLAG ,
758         ZX_DTL.INTERNAL_ORGANIZATION_ID,
759         ZX_DTL.BR_REF_CUSTOMER_TRX_ID,
760         ZX_DTL.REVERSE_FLAG,
761         ZX_DTL.AMOUNT_APPLIED,
762         ZX_DTL.TAX_RATE,
763         ZX_DTL.TAX_RATE_CODE,
764         ZX_DTL.TAX_RATE_CODE_NAME,
765         ZX_DTL.TAX_TYPE_CODE,
766         ZX_DTL.TRX_DATE,
767         ZX_DTL.TRX_CURRENCY_CODE,
768         ZX_DTL.CURRENCY_CONVERSION_RATE,
769         ZX_DTL.APPLICATION_ID,
770         ZX_DTL.DOC_EVENT_STATUS,
771         ZX_DTL.EXTRACT_SOURCE_LEDGER ,
772         ZX_DTL.FUNCTIONAL_CURRENCY_CODE,
773         ZX_DTL.MINIMUM_ACCOUNTABLE_UNIT,
774         ZX_DTL.PRECISION,
775         ZX_DTL.RECEIPT_CLASS_ID ,
776         ZX_DTL.EXCEPTION_RATE,
777         ZX_DTL.SHIP_FROM_PARTY_TAX_PROF_ID,
778         ZX_DTL.SHIP_FROM_SITE_TAX_PROF_ID,
779         ZX_DTL.SHIP_TO_PARTY_TAX_PROF_ID  ,
780         ZX_DTL.SHIP_TO_SITE_TAX_PROF_ID  ,
781         ZX_DTL.BILL_TO_PARTY_TAX_PROF_ID,
782         ZX_DTL.BILL_TO_SITE_TAX_PROF_ID,
783         ZX_DTL.BILL_FROM_PARTY_TAX_PROF_ID,
784         ZX_DTL.BILL_FROM_SITE_TAX_PROF_ID,
785         ZX_DTL.BILLING_TRADING_PARTNER_ID,
786         ZX_DTL.BILLING_TP_SITE_ID,
787         ZX_DTL.BILLING_TP_ADDRESS_ID,
788         ZX_DTL.SHIPPING_TRADING_PARTNER_ID,
789         ZX_DTL.SHIPPING_TP_SITE_ID,
790         ZX_DTL.SHIPPING_TP_ADDRESS_ID,
791         ZX_DTL.BILL_TO_PARTY_ID,
792         ZX_DTL.BILL_TO_PARTY_SITE_ID,
793         ZX_DTL.SHIP_TO_PARTY_ID,
794         ZX_DTL.SHIP_TO_PARTY_SITE_ID,
795         ZX_DTL.HISTORICAL_FLAG,
796         ZX_DTL.POSTED_DATE,
797         xla_event.event_type_code,
798         xla_event.event_number,
799         xla_event.event_status_code,
800         xla_head.je_category_name,
801         xla_head.accounting_date,
802         DECODE(xla_head.gl_transfer_status_code,'Y','Y','NT','Y','N'),
803         xla_head.description,
804         xla_line.ae_line_num,
805         xla_line.accounting_class_code,
806         xla_line.description,
807         xla_line.statistical_amount,
808         xla_event.process_status_code,
809         xla_head.gl_transfer_status_code,
810         xla_head.doc_sequence_id,
811         xla_head.doc_sequence_value,
812         xla_line.party_id,
813         xla_line.party_site_id,
814         xla_line.party_type_code,
815         xla_event.event_id,
816         xla_head.ae_header_id,
817         xla_line.code_combination_id,
818         xla_head.period_name,
819         zx_dtl.actg_source_id,
820         zx_dtl.bank_account_id,
821         ZX_DTL.tax_determine_date,
822         ZX_DTL.DEF_REC_SETTLEMENT_OPTION_CODE
823  FROM  zx_rep_trx_detail_t zx_dtl,
824        xla_transaction_entities xla_ent,
825        xla_events     xla_event,
826        xla_ae_headers  xla_head,
827        xla_ae_lines    xla_line,
828        xla_acct_class_assgns  acs,
829        xla_assignment_defns_b asd,
830        xla_distribution_links xla_dist
831  WHERE zx_dtl.request_id = c_request_id
832    AND zx_dtl.extract_source_ledger = 'AR'
833    AND zx_dtl.account_class = 'TAX'
834    AND zx_dtl.posted_date IS NOT NULL
835 --   AND zx_dtl.ledger_id          = xla_ent.ledger_id
836    AND xla_ent.application_id  = 222
837    AND xla_ent.entity_code     = 'TRANSACTIONS'
838    AND xla_ent.ledger_id       = c_primary_ledger_id
839    AND xla_ent.source_id_int_1 = zx_dtl.trx_id
840    AND xla_event.application_id    = xla_ent.application_id
841    AND xla_event.entity_id         = xla_ent.entity_id
842    AND xla_head.application_id = xla_event.application_id
843    AND xla_head.event_id       = xla_event.event_id
844    AND xla_head.ledger_id      = c_ledger_id
845    AND xla_head.balance_type_code = 'A'
846    AND xla_line.application_id   = xla_head.application_id
847    AND xla_line.ae_header_id     = xla_head.ae_header_id
848    AND acs.program_code            = 'TAX_REPORTING_LEDGER_SALES'
849    AND acs.accounting_class_code   = xla_line.accounting_class_code
850    AND asd.enabled_flag          = 'Y'
851    AND asd.program_owner_code    = acs.program_owner_code
852    AND asd.program_code          = acs.program_code
853    AND asd.assignment_owner_code = acs.assignment_owner_code
854    AND asd.assignment_code       = acs.assignment_code
855 --    AND zx_dtl.actg_source_id = xla_dist.source_distribution_id_num_1
856    AND xla_dist.application_id  = xla_line.application_id
857    AND xla_dist.ae_header_id    = xla_line.ae_header_id
858    AND xla_dist.ae_line_num     = xla_line.ae_line_num
859    AND xla_dist.tax_line_ref_id = zx_dtl.tax_line_id
860 UNION
861  SELECT /*+ FULL(zx_dtl) parallel(zx_dtl) */
862         ZX_DTL.DETAIL_TAX_LINE_ID,
863         ZX_DTL.LEDGER_ID,
864         ZX_DTL.INTERNAL_ORGANIZATION_ID,
865         ZX_DTL.TAX_DATE,
866         ZX_DTL.HQ_ESTB_REG_NUMBER,
867         ZX_DTL.TRX_ID ,
868         ZX_DTL.TRX_TYPE_ID ,
869         ZX_DTL.DOC_SEQ_ID,
870         ZX_DTL.TRX_LINE_CLASS,
871         ZX_DTL.TRX_BATCH_SOURCE_ID,
872         ZX_DTL.TAX_RATE_ID ,
873         ZX_DTL.TAX_RATE_VAT_TRX_TYPE_CODE,
874         ZX_DTL.TAX_RATE_REGISTER_TYPE_CODE,
875         ZX_DTL.TAX_EXEMPTION_ID ,
876         ZX_DTL.TAX_EXCEPTION_ID ,
877         ZX_DTL.TAX_LINE_ID ,
878         ZX_DTL.TAX_AMT ,
879         nvl(ZX_DTL.TAX_AMT_FUNCL_CURR,ZX_DTL.TAX_AMT) ,
880         ZX_DTL.TAX_LINE_NUMBER ,
881         ZX_DTL.TAXABLE_AMT ,
882         nvl(ZX_DTL.TAXABLE_AMT_FUNCL_CURR,ZX_DTL.TAXABLE_AMT) ,
883         ZX_DTL.TRX_LINE_ID ,
884         ZX_DTL.TAX_EXCEPTION_REASON_CODE ,
885         ZX_DTL.EXEMPT_REASON_CODE,
886         ZX_DTL.RECONCILIATION_FLAG ,
887         ZX_DTL.INTERNAL_ORGANIZATION_ID,
888         ZX_DTL.BR_REF_CUSTOMER_TRX_ID,
889         ZX_DTL.REVERSE_FLAG,
890         ZX_DTL.AMOUNT_APPLIED,
891         ZX_DTL.TAX_RATE,
892         ZX_DTL.TAX_RATE_CODE,
893         ZX_DTL.TAX_RATE_CODE_NAME,
894         ZX_DTL.TAX_TYPE_CODE,
895         ZX_DTL.TRX_DATE,
896         ZX_DTL.TRX_CURRENCY_CODE,
897         ZX_DTL.CURRENCY_CONVERSION_RATE,
898         ZX_DTL.APPLICATION_ID,
899         ZX_DTL.DOC_EVENT_STATUS,
900         ZX_DTL.EXTRACT_SOURCE_LEDGER ,
901         ZX_DTL.FUNCTIONAL_CURRENCY_CODE,
902         ZX_DTL.MINIMUM_ACCOUNTABLE_UNIT,
903         ZX_DTL.PRECISION,
904         ZX_DTL.RECEIPT_CLASS_ID ,
905         ZX_DTL.EXCEPTION_RATE,
906         ZX_DTL.SHIP_FROM_PARTY_TAX_PROF_ID,
907         ZX_DTL.SHIP_FROM_SITE_TAX_PROF_ID,
908         ZX_DTL.SHIP_TO_PARTY_TAX_PROF_ID  ,
909         ZX_DTL.SHIP_TO_SITE_TAX_PROF_ID  ,
910         ZX_DTL.BILL_TO_PARTY_TAX_PROF_ID,
911         ZX_DTL.BILL_TO_SITE_TAX_PROF_ID,
912         ZX_DTL.BILL_FROM_PARTY_TAX_PROF_ID,
913         ZX_DTL.BILL_FROM_SITE_TAX_PROF_ID,
914         ZX_DTL.BILLING_TRADING_PARTNER_ID,
915         ZX_DTL.BILLING_TP_SITE_ID,
916         ZX_DTL.BILLING_TP_ADDRESS_ID,
917         ZX_DTL.SHIPPING_TRADING_PARTNER_ID,
918         ZX_DTL.SHIPPING_TP_SITE_ID,
919         ZX_DTL.SHIPPING_TP_ADDRESS_ID,
920         ZX_DTL.BILL_TO_PARTY_ID,
921         ZX_DTL.BILL_TO_PARTY_SITE_ID,
922         ZX_DTL.SHIP_TO_PARTY_ID,
923         ZX_DTL.SHIP_TO_PARTY_SITE_ID,
924         ZX_DTL.HISTORICAL_FLAG,
925         ZX_DTL.POSTED_DATE,
926         TO_CHAR(NULL),    --xla_event.event_type_code, -- Accounting Columns
927         TO_NUMBER(NULL),    --xla_event.event_number,
928         TO_CHAR(NULL),    --xla_event.event_status_code,
929         TO_CHAR(NULL),    --xla_head.je_category_name,
930         TO_DATE(NULL),    --xla_head.accounting_date,
931         ZX_DTL.POSTED_FLAG,    --xla_head.gl_transfer_status_code,
932         TO_CHAR(NULL),    --xla_head.description,
933         TO_NUMBER(NULL),    --xla_line.ae_line_num,
934         TO_CHAR(NULL),    --xla_line.accounting_class_code,
935         TO_CHAR(NULL),    --xla_line.description,
936         TO_NUMBER(NULL),    --xla_line.statistical_amount,
937         TO_CHAR(NULL),    --xla_event.process_status_code,
938         TO_CHAR(NULL),    --xla_head.gl_transfer_status_code,
939         TO_NUMBER(NULL),    --xla_head.doc_sequence_id,
940         TO_NUMBER(NULL),    --xla_head.doc_sequence_value,
941         TO_NUMBER(NULL),    --xla_line.party_id,
942         TO_NUMBER(NULL),    --xla_line.party_site_id,
943         TO_CHAR(NULL),    --xla_line.party_type_code,
944         TO_NUMBER(NULL),    --xla_event.event_id,
945         TO_NUMBER(NULL),    --xla_head.ae_header_id,
946         TO_NUMBER(NULL),    --xla_line.code_combination_id,
947         TO_CHAR(NULL),    --xla_head.period_name,
948         ZX_DTL.ACTG_SOURCE_ID,
949         zx_dtl.bank_account_id,
950         ZX_DTL.tax_determine_date,
951         ZX_DTL.DEF_REC_SETTLEMENT_OPTION_CODE
952    FROM zx_rep_trx_detail_t zx_dtl
953   WHERE zx_dtl.request_id = c_request_id
954     AND zx_dtl.extract_source_ledger = 'AR'
955     AND ((zx_dtl.posted_date IS NULL) OR
956            (zx_dtl.posted_date IS NOT NULL AND zx_dtl.tax_line_id is NULL));
957 
958   L_TRX_CLASS                   VARCHAR2(30);
959   L_TAXABLE_AMOUNT              NUMBER;
960   L_TAXABLE_ACCOUNTED_AMOUNT    NUMBER;
961   l_balancing_segment           VARCHAR2(25);
962   l_accounting_segment          VARCHAR2(25);
963   l_ledger_id                   NUMBER(15);
964   l_primary_ledger_id           NUMBER(15);
965   l_gl_name                     gl_ledgers.name%TYPE;
966   l_mau                         NUMBER;
967 
968  -- L_BANKING_TP_NAME             AR_TAX_EXTRACT_SUB_ITF.BANKING_TP_NAME%TYPE;
969  -- L_BANKING_TP_TAXPAYER_ID      AR_TAX_EXTRACT_SUB_ITF.BANKING_TP_TAXPAYER_ID%type;
970  -- L_MATRIX_REPORT               VARCHAR2(1);
971 
972 --  L_TRX_APPLIED_TO_TRX_ID       NUMBER;  -- where it is used, AP
973 --  L_ACCOUNTING_DATE             DATE; -- where is this being used  AP
974 --  L_TRX_CURRENCY_CODE           VARCHAR2(15);
975 --  RA_SUB_ITF_TABLE_REC          AR_TAX_EXTRACT_SUB_ITF%ROWTYPE;
976   l_count                       NUMBER :=0;
977   l_act_nact     ZX_EXTRACT_PKG.ACTG_LINE_TYPE_CODE_TBL;
978   j     NUMBER;
979 
980 BEGIN
981 
982   g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
983   g_request_id := P_TRL_GLOBAL_VARIABLES_REC.request_id;
984   g_coa_id := P_TRL_GLOBAL_VARIABLES_REC.chart_of_accounts_id;
985 
986   G_REP_CONTEXT_ID := ZX_EXTRACT_PKG.GET_REP_CONTEXT_ID(P_TRL_GLOBAL_VARIABLES_REC.LEGAL_ENTITY_ID,
987                                                         P_TRL_GLOBAL_VARIABLES_REC.request_id);
988   g_created_by        := fnd_global.user_id;
989   g_creation_date     := sysdate;
990   g_last_updated_by   := fnd_global.user_id;
991   g_last_update_login := fnd_global.login_id;
992   g_last_update_date  := sysdate;
993 
994   g_program_application_id := fnd_global.prog_appl_id;
995   g_program_id             := fnd_global.conc_program_id;
996   g_program_login_id       := fnd_global.conc_login_id;
997 
998   IF (g_level_procedure >= g_current_runtime_level ) THEN
999       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info.BEGIN',
1000                                     'ZX_AR_POPULATE_PKG: UPDATE_ADDITIONAL_INFO(+)');
1001       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1002                         'Request ID : '||to_char(P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID) ||
1003                         ' ; Reporting Ledger : '||to_char(p_trl_global_variables_rec.reporting_ledger_id) ||
1004                         ' ; Primary Ledger : '||to_char(p_trl_global_variables_rec.ledger_id)
1005                     );
1006   END IF;
1007 
1008   -- get functional currency code code --
1009   gl_mc_info.get_ledger_currency(NVL(p_trl_global_variables_rec.reporting_ledger_id,
1010                                        p_trl_global_variables_rec.ledger_id), G_FUN_CURRENCY_CODE);
1011 
1012   XLA_SECURITY_PKG.set_security_context(p_application_id => 602);
1013 
1014 -- Accounting Flex Field Information --
1015 -- Determine which segment is balancing segment  for the given
1016 -- chart of accounts (Set of books)
1017 
1018   l_balancing_segment := fa_rx_flex_pkg.flex_sql(
1019                               p_application_id =>101,
1020                               p_id_flex_code => 'GL#',
1021                               p_id_flex_num => P_TRL_GLOBAL_VARIABLES_REC.chart_of_accounts_id,
1022                               p_table_alias => '',
1023                               p_mode => 'SELECT',
1024                               p_qualifier => 'GL_BALANCING');
1025 
1026   l_accounting_segment := fa_rx_flex_pkg.flex_sql(
1027                               p_application_id =>101,
1028                               p_id_flex_code => 'GL#',
1029                               p_id_flex_num => P_TRL_GLOBAL_VARIABLES_REC.chart_of_accounts_id,
1030                               p_table_alias => '',
1031                               p_mode => 'SELECT',
1032                               p_qualifier => 'GL_ACCOUNT');
1033 
1034 -- The above function will return balancing segment in the form CC.SEGMENT1
1035 -- we need to drop CC. to get the actual balancing segment.
1036 
1037    l_balancing_segment := substrb(l_balancing_segment,
1038                  instrb(l_balancing_segment,'.')+1);
1039 
1040   -- The below DELETE statement is introduced to delete duplicate
1041   -- records from zx_rep_trx_detail_t for AR discounts that are
1042   -- caused due to one tax distribution associated with multiple
1043   -- EDISC lines. TRL dynamic sql query at TRANSACTION level
1044   -- returing duplicate rows in this case.
1045 
1046 
1047    -- Start Bug 13391326
1048    IF (p_trl_global_variables_rec.reporting_ledger_id IS NULL AND
1049        P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL  = 'TRANSACTION_DISTRIBUTION') THEN
1050 
1051     SELECT NVL(cur.minimum_accountable_unit, power(10, (-1 * precision)))
1052       INTO l_mau
1053       FROM fnd_currencies cur, gl_sets_of_books sob
1054        WHERE sob.set_of_books_id = p_trl_global_variables_rec.ledger_id
1055        AND cur.currency_code = sob.currency_code;
1056 
1057     IF l_mau is NOT NULL THEN
1058     UPDATE zx_rep_trx_detail_t DET
1059     SET taxable_amt_funcl_curr = ROUND(((SELECT (zl.line_amt * DIST.PERCENT)/100
1060                                            FROM zx_lines zl,
1061                                                 RA_CUST_TRX_LINE_GL_DIST_ALL  DIST
1062                                            WHERE ZL.TAX_LINE_ID = DET.TAX_LINE_ID
1063                                             AND DIST.CUST_TRX_LINE_GL_DIST_ID = DET.ACTG_SOURCE_ID
1064                                             AND DIST.CUSTOMER_TRX_ID = ZL.TRX_ID) * currency_conversion_rate) / l_mau) * l_mau
1065       WHERE request_id = p_trl_global_variables_rec.request_id
1066       AND extract_source_ledger = 'AR'
1067       AND ledger_id = p_trl_global_variables_rec.ledger_id
1068       AND NVL(functional_currency_code,'X') <> NVL(trx_currency_code,'X')
1069       AND currency_conversion_rate <> 1
1070       AND exists (SELECT 1 FROM zx_lines lines
1071                   WHERE lines.tax_line_id = DET.tax_line_id
1072                   AND lines.manually_entered_flag = 'Y'
1073                   AND lines.tax_amt_included_flag = 'N');
1074     END IF;
1075 
1076     END IF;   -- summary level is transaction distribution
1077     -- End Bug 13391326
1078 
1079   IF P_TRL_GLOBAL_VARIABLES_REC.INCLUDE_AR_APPL_TRX_CLASS = 'Y'
1080      OR P_TRL_GLOBAL_VARIABLES_REC.INCLUDE_DISCOUNTS = 'Y' THEN
1081 
1082      DELETE FROM zx_rep_trx_detail_t dtl1
1083             WHERE dtl1.rowid <>( SELECT  min(dtl2.rowid)
1084                   FROM zx_rep_trx_detail_t dtl2
1085                  WHERE dtl2.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1086                    AND dtl2.trx_id = dtl1.trx_id
1087                    AND dtl2.tax_line_number = dtl1.tax_line_number
1088                    AND dtl2.tax_rate_id = dtl1.tax_rate_id
1089                    and dtl2.TAXABLE_ITEM_SOURCE_ID = dtl1.TAXABLE_ITEM_SOURCE_ID
1090                    AND dtl2.EVENT_CLASS_CODE = dtl1.EVENT_CLASS_CODE
1091                    AND dtl2.APPLIED_FROM_EVENT_CLASS_CODE = dtl1.APPLIED_FROM_EVENT_CLASS_CODE
1092                    AND dtl2.ACTG_SOURCE_ID = dtl1.ACTG_SOURCE_ID
1093                    AND dtl2.application_id = dtl1.application_id
1094                  GROUP BY dtl2.request_id,dtl2.trx_id,
1095                      dtl2.EVENT_CLASS_CODE, dtl2.tax_line_number,
1096                      dtl2.ACTG_SOURCE_ID, dtl2.tax_rate_id
1097                    HAVING count(dtl2.actg_source_id) >=2
1098                         )
1099           AND dtl1.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1100           AND dtl1.EVENT_CLASS_CODE in ('EDISC','UNEDISC','APP')
1101           AND dtl1.APPLIED_FROM_EVENT_CLASS_CODE = 'APP'
1102           AND dtl1.application_id = 222 ;
1103 
1104     IF (g_level_statement >= g_current_runtime_level ) THEN
1105         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1106          'Duplicate rows deleted using 1st Query: '|| to_char(SQL%ROWCOUNT));
1107     END IF;
1108 
1109     -- This query deletes duplicate rows returned by receipts due to 'UNEARN'--
1110     -- OR REVENU line distributed into multiple rows in the ar_distributions_all--
1111     DELETE FROM zx_rep_trx_detail_t dtl1
1112     WHERE trx_line_id  <>( SELECT  min(dtl2.trx_line_id )
1113                       FROM zx_rep_trx_detail_t dtl2
1114                       WHERE dtl2.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1115                         AND dtl2.trx_id = dtl1.trx_id
1116                         AND NVL(dtl2.tax_line_number,1) = NVL(dtl1.tax_line_number,1)
1117                         AND dtl2.tax_rate_id = dtl1.tax_rate_id
1118                        AND dtl2.actg_source_id = dtl1.actg_source_id
1119                        and dtl2.TAXABLE_ITEM_SOURCE_ID = dtl1.TAXABLE_ITEM_SOURCE_ID
1120                        AND dtl2.EVENT_CLASS_CODE = dtl1.EVENT_CLASS_CODE
1121                        AND dtl2.APPLIED_FROM_EVENT_CLASS_CODE = dtl1.APPLIED_FROM_EVENT_CLASS_CODE
1122                        AND dtl2.application_id = dtl1.application_id
1123                    GROUP BY dtl2.request_id,dtl2.trx_id,dtl2.EVENT_CLASS_CODE,
1124                    dtl2.tax_line_number,dtl2.actg_source_id,
1125                    dtl2.tax_rate_id
1126                        HAVING count(distinct dtl2.trx_line_id ) >=2
1127                      )
1128     AND dtl1.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1129     AND dtl1.EVENT_CLASS_CODE in ('EDISC','UNEDISC','APP')
1130     AND dtl1.APPLIED_FROM_EVENT_CLASS_CODE = 'APP'
1131     AND dtl1.application_id = 222;
1132 
1133     IF (g_level_statement >= g_current_runtime_level ) THEN
1134       FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1135        'Duplicate rows deleted using 2nd Query: '|| to_char(SQL%ROWCOUNT));
1136     END IF;
1137 
1138   END IF;   --Include check for discounts --
1139 
1140   IF P_TRL_GLOBAL_VARIABLES_REC.ESL_EU_TRX_TYPE IS NOT NULL THEN
1141     DELETE  FROM zx_rep_trx_detail_t dtl1
1142         WHERE trx_line_id <>( SELECT  min(dtl2.trx_line_id)
1143                                 FROM zx_rep_trx_detail_t dtl2
1144                                WHERE dtl2.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1145                         AND dtl2.trx_id = dtl1.trx_id
1146                        and dtl2.TAXABLE_ITEM_SOURCE_ID = dtl1.TAXABLE_ITEM_SOURCE_ID
1147                        AND dtl2.EVENT_CLASS_CODE = dtl1.EVENT_CLASS_CODE
1148                        AND dtl2.application_id = dtl1.application_id
1149                   GROUP BY dtl2.request_id,dtl2.trx_id
1150                        HAVING count(distinct dtl2.applied_to_trx_line_id) >=2)
1151         AND dtl1.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1152         AND dtl1.EVENT_CLASS_CODE ='INVOICE_ADJUSTMENT'
1153         AND dtl1.application_id = 222;
1154   END IF;
1155 
1156   IF P_TRL_GLOBAL_VARIABLES_REC.INCLUDE_AR_ADJ_TRX_CLASS = 'Y' THEN
1157     DELETE  FROM zx_rep_trx_detail_t dtl1
1158      WHERE trx_line_id <>( SELECT  min(dtl2.trx_line_id)
1159                              FROM zx_rep_trx_detail_t dtl2
1160                             WHERE dtl2.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1161                               AND dtl2.trx_id = dtl1.trx_id
1162                               AND dtl2.tax_line_number = dtl1.tax_line_number
1163                               AND dtl2.tax_rate_id = dtl1.tax_rate_id
1164                               and dtl2.TAXABLE_ITEM_SOURCE_ID = dtl1.TAXABLE_ITEM_SOURCE_ID
1165                               AND dtl2.EVENT_CLASS_CODE = dtl1.EVENT_CLASS_CODE
1166                          --   AND dtl2.APPLIED_FROM_EVENT_CLASS_CODE = dtl1.APPLIED_FROM_EVENT_CLASS_CODE
1167                               AND dtl2.application_id = dtl1.application_id
1168                          --   AND dtl2.ref_cust_trx_line_gl_dist_id <> dtl1.ref_cust_trx_line_gl_dist_id
1169                         GROUP BY dtl2.request_id,dtl2.trx_id, dtl2.EVENT_CLASS_CODE, dtl2.tax_line_number, dtl2.tax_rate_id
1170                         HAVING count(distinct dtl2.trx_line_id) >=2)
1171      AND dtl1.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1172      AND dtl1.EVENT_CLASS_CODE ='ADJ'
1173     --AND dtl1.APPLIED_FROM_EVENT_CLASS_CODE = 'ADJ'
1174      AND dtl1.application_id = 222;
1175 
1176     IF (g_level_statement >= g_current_runtime_level ) THEN
1177         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1178         'Before Dist cursor Opened -- Delete Duplicate rows for AR Adjustments : '||to_char(l_count));
1179     END IF;
1180     l_count := 0;
1181   END IF;   -- Include flag check for ADJ --
1182 
1183   IF (P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION'
1184      AND P_TRL_GLOBAL_VARIABLES_REC.REPORTING_LEDGER_ID is NULL
1185      AND P_TRL_GLOBAL_VARIABLES_REC.INCLUDE_AR_ADJ_TRX_CLASS in ('TAX ADJUSTMENTS','ADJUSTMENTS')) THEN
1186     DELETE FROM zx_rep_trx_detail_t dtl1
1187           WHERE trx_line_id <>( SELECT  min(dtl2.trx_line_id)
1188                                     FROM zx_rep_trx_detail_t dtl2
1189                                    WHERE dtl2.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1190                                      AND dtl2.trx_id = dtl1.trx_id
1191                                      AND NVL(dtl2.tax_line_number,0) = NVL(dtl1.tax_line_number,0)
1192                                      AND NVL(dtl2.tax_rate_id,0) = NVL(dtl1.tax_rate_id,0)
1193                                      AND dtl2.taxable_item_source_id = dtl1.taxable_item_source_id
1194                                      AND dtl2.event_class_code = dtl1.event_class_code
1195                                      AND dtl2.application_id = dtl1.application_id
1196            GROUP BY dtl2.request_id,dtl2.trx_id, dtl2.event_class_code, dtl2.tax_line_number, dtl2.tax_rate_id
1197                                   HAVING count(distinct dtl2.trx_line_id) >=2)
1198                       AND dtl1.request_id = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1199                       AND dtl1.event_class_code ='ADJ'
1200                       AND dtl1.application_id = 222;
1201   END IF;
1202 
1203   l_ledger_id := NVL(p_trl_global_variables_rec.reporting_ledger_id,
1204                             P_TRL_GLOBAL_VARIABLES_REC.ledger_id);
1205   l_primary_ledger_id := gl_mc_info.get_primary_ledger_id(n_ledger_id => l_ledger_id);
1206 
1207 -- bug 11793075
1208   BEGIN
1209     SELECT name
1210     INTO l_gl_name
1211     FROM gl_ledgers
1212    WHERE ledger_id =  l_ledger_id;
1213   EXCEPTION
1214     WHEN OTHERS THEN
1215       l_gl_name := NULL;
1216   END;
1217 
1218   IF P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
1219     OPEN detail_t_cur(c_request_id => P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1220                      ,c_ledger_id  => l_ledger_id
1221                      ,c_primary_ledger_id => l_primary_ledger_id
1222                      );
1223   ELSE
1224     OPEN detail_t_cur_trx_line(c_request_id => P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
1225                               ,c_ledger_id  => l_ledger_id
1226                               ,c_primary_ledger_id => l_primary_ledger_id
1227                               );
1228   END IF;
1229 
1230   LOOP
1231     IF P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
1232       FETCH detail_t_cur BULK COLLECT INTO
1233       GT_DETAIL_TAX_LINE_ID,
1234       GT_LEDGER_ID,
1235       GT_INTERNAL_ORGANIZATION_ID,
1236       GT_TAX_DATE,
1237       GT_HQ_ESTB_REG_NUMBER,
1238       GT_TRX_ID,
1239       GT_TRX_TYPE_ID,
1240       GT_DOC_SEQ_ID,
1241       GT_TRX_CLASS,
1242       GT_TRX_BATCH_SOURCE_ID,
1243       GT_TAX_RATE_ID,
1244       GT_TAX_RATE_VAT_TRX_TYPE_CODE,
1245       GT_TAX_RATE_REG_TYPE_CODE,
1246       GT_TAX_EXEMPTION_ID,
1247       GT_TAX_EXCEPTION_ID,
1248       GT_TAX_LINE_ID,
1249       GT_TAX_AMT,
1250       GT_TAX_AMT_FUNCL_CURR,
1251       GT_TAX_LINE_NUMBER,
1252       GT_TAXABLE_AMT,
1253       GT_TAXABLE_AMT_FUNCL_CURR,
1254       GT_TRX_LINE_ID,
1255       GT_TAX_EXCEPTION_REASON_CODE,
1256       GT_EXEMPT_REASON_CODE,
1257       GT_RECONCILIATION_FLAG,
1258       GT_INTERNAL_ORGANIZATION_ID,
1259       GT_BR_REF_CUSTOMER_TRX_ID,
1260       GT_REVERSE_FLAG,
1261       GT_AMOUNT_APPLIED,
1262       GT_TAX_RATE,
1263       GT_TAX_RATE_CODE,
1264       GT_TAX_RATE_CODE_NAME,
1265       GT_TAX_TYPE_CODE,
1266       GT_TRX_DATE,
1267       GT_TRX_CURRENCY_CODE,
1268       GT_CURRENCY_CONVERSION_RATE,
1269       GT_APPLICATION_ID,
1270       GT_DOC_EVENT_STATUS,
1271       GT_EXTRACT_SOURCE_LEDGER,
1272       GT_FUNCTIONAL_CURRENCY_CODE,
1273       GT_MINIMUM_ACCOUNTABLE_UNIT,
1274       GT_PRECISION,
1275       GT_RECEIPT_CLASS_ID,
1276       GT_EXCEPTION_RATE,
1277       GT_SHIP_FROM_PARTY_TAX_PROF_ID,
1278       GT_SHIP_FROM_SITE_TAX_PROF_ID,
1279       GT_SHIP_TO_PARTY_TAX_PROF_ID,
1280       GT_SHIP_TO_SITE_TAX_PROF_ID,
1281       GT_BILL_TO_PARTY_TAX_PROF_ID,
1282       GT_BILL_TO_SITE_TAX_PROF_ID,
1283       GT_BILL_FROM_PARTY_TAX_PROF_ID,
1284       GT_BILL_FROM_SITE_TAX_PROF_ID,
1285       GT_BILLING_TP_ID,         --bill_third_pty_acct_id
1286       GT_BILLING_TP_SITE_ID,    --bill_to_cust_acct_site_use_id
1287       GT_BILLING_TP_ADDRESS_ID, --bill_third_pty_acct_site_id
1288       GT_SHIPPING_TP_ID,        --ship_third_pty_acct_id
1289       GT_SHIPPING_TP_SITE_ID,   --ship_to_cust_acct_site_use_id
1290       GT_SHIPPING_TP_ADDRESS_ID, --SHIP_THIRD_PTY_ACCT_SITE_ID
1291       GT_BILL_TO_PARTY_ID,
1292       GT_BILL_TO_PARTY_SITE_ID,
1293       GT_SHIP_TO_PARTY_ID,
1294       GT_SHIP_TO_PARTY_SITE_ID,
1295       GT_HISTORICAL_FLAG,
1296       GT_POSTED_DATE,
1297       GT_ACTG_EVENT_TYPE_CODE,
1298       GT_ACTG_EVENT_NUMBER,
1299       GT_ACTG_EVENT_STATUS_FLAG,
1300       GT_ACTG_CATEGORY_CODE,
1301       GT_ACCOUNTING_DATE,
1302       GT_GL_TRANSFER_FLAG,
1303       --GT_GL_TRANSFER_RUN_ID,
1304       GT_ACTG_HEADER_DESCRIPTION,
1305       GT_ACTG_LINE_NUM,
1306       GT_ACTG_LINE_TYPE_CODE,
1307       GT_ACTG_LINE_DESCRIPTION,
1308       GT_ACTG_STAT_AMT,
1309       GT_ACTG_ERROR_CODE,
1310       GT_GL_TRANSFER_CODE,
1311       GT_ACTG_DOC_SEQUENCE_ID,
1312       --  GT_ACTG_DOC_SEQUENCE_NAME,
1313       GT_ACTG_DOC_SEQUENCE_VALUE,
1314       GT_ACTG_PARTY_ID,
1315       GT_ACTG_PARTY_SITE_ID,
1316       GT_ACTG_PARTY_TYPE,
1317       GT_ACTG_EVENT_ID,
1318       GT_ACTG_HEADER_ID,
1319      --   GT_ACTG_SOURCE_TABLE,
1320       GT_ACTG_LINE_CCID,
1321       GT_PERIOD_NAME,
1322       GT_ACTG_SOURCE_ID,
1323       GT_BANK_ACCOUNT_ID,
1324       GT_TAX_DETERMINE_DATE,
1325       GT_DEF_REC_SETTLEMENT_OPT_CODE
1326       LIMIT C_LINES_PER_COMMIT;
1327 
1328       IF (g_level_statement >= g_current_runtime_level ) THEN
1329         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1330             'Dist cursor Opened -- detail_t_cur : ');
1331       END IF;
1332 
1333     ELSE
1334       FETCH detail_t_cur_trx_line BULK COLLECT INTO
1335       GT_DETAIL_TAX_LINE_ID,
1336       GT_LEDGER_ID,
1337       GT_INTERNAL_ORGANIZATION_ID,
1338       GT_TAX_DATE,
1339       GT_HQ_ESTB_REG_NUMBER,
1340       GT_TRX_ID,
1341       GT_TRX_TYPE_ID,
1342       GT_DOC_SEQ_ID,
1343       GT_TRX_CLASS,
1344       GT_TRX_BATCH_SOURCE_ID,
1345       GT_TAX_RATE_ID,
1346       GT_TAX_RATE_VAT_TRX_TYPE_CODE,
1347       GT_TAX_RATE_REG_TYPE_CODE,
1348       GT_TAX_EXEMPTION_ID,
1349       GT_TAX_EXCEPTION_ID,
1350       GT_TAX_LINE_ID,
1351       GT_TAX_AMT,
1352       GT_TAX_AMT_FUNCL_CURR,
1353       GT_TAX_LINE_NUMBER,
1354       GT_TAXABLE_AMT,
1355       GT_TAXABLE_AMT_FUNCL_CURR,
1356       GT_TRX_LINE_ID,
1357       GT_TAX_EXCEPTION_REASON_CODE,
1358       GT_EXEMPT_REASON_CODE,
1359       GT_RECONCILIATION_FLAG,
1360       GT_INTERNAL_ORGANIZATION_ID,
1361       GT_BR_REF_CUSTOMER_TRX_ID,
1362       GT_REVERSE_FLAG,
1363       GT_AMOUNT_APPLIED,
1364       GT_TAX_RATE,
1365       GT_TAX_RATE_CODE,
1366       GT_TAX_RATE_CODE_NAME,
1367       GT_TAX_TYPE_CODE,
1368       GT_TRX_DATE,
1369       GT_TRX_CURRENCY_CODE,
1370       GT_CURRENCY_CONVERSION_RATE,
1371       GT_APPLICATION_ID,
1372       GT_DOC_EVENT_STATUS,
1373       GT_EXTRACT_SOURCE_LEDGER,
1374       GT_FUNCTIONAL_CURRENCY_CODE,
1375       GT_MINIMUM_ACCOUNTABLE_UNIT,
1376       GT_PRECISION,
1377       GT_RECEIPT_CLASS_ID,
1378       GT_EXCEPTION_RATE,
1379       GT_SHIP_FROM_PARTY_TAX_PROF_ID,
1380       GT_SHIP_FROM_SITE_TAX_PROF_ID,
1381       GT_SHIP_TO_PARTY_TAX_PROF_ID,
1382       GT_SHIP_TO_SITE_TAX_PROF_ID,
1383       GT_BILL_TO_PARTY_TAX_PROF_ID,
1384       GT_BILL_TO_SITE_TAX_PROF_ID,
1385       GT_BILL_FROM_PARTY_TAX_PROF_ID,
1386       GT_BILL_FROM_SITE_TAX_PROF_ID,
1387       GT_BILLING_TP_ID,         --bill_third_pty_acct_id
1388       GT_BILLING_TP_SITE_ID,    --bill_to_cust_acct_site_use_id
1389       GT_BILLING_TP_ADDRESS_ID, --bill_third_pty_acct_site_id
1390       GT_SHIPPING_TP_ID,        --ship_third_pty_acct_id
1391       GT_SHIPPING_TP_SITE_ID,   --ship_to_cust_acct_site_use_id
1392       GT_SHIPPING_TP_ADDRESS_ID, --SHIP_THIRD_PTY_ACCT_SITE_ID
1393       GT_BILL_TO_PARTY_ID,
1394       GT_BILL_TO_PARTY_SITE_ID,
1395       GT_SHIP_TO_PARTY_ID,
1396       GT_SHIP_TO_PARTY_SITE_ID,
1397       GT_HISTORICAL_FLAG,
1398       GT_POSTED_DATE,
1399       GT_ACTG_EVENT_TYPE_CODE,
1400       GT_ACTG_EVENT_NUMBER,
1401       GT_ACTG_EVENT_STATUS_FLAG,
1402       GT_ACTG_CATEGORY_CODE,
1403       GT_ACCOUNTING_DATE,
1404       GT_GL_TRANSFER_FLAG,
1405       --GT_GL_TRANSFER_RUN_ID,
1406       GT_ACTG_HEADER_DESCRIPTION,
1407       GT_ACTG_LINE_NUM,
1408       GT_ACTG_LINE_TYPE_CODE,
1409       GT_ACTG_LINE_DESCRIPTION,
1410       GT_ACTG_STAT_AMT,
1411       GT_ACTG_ERROR_CODE,
1412       GT_GL_TRANSFER_CODE,
1413       GT_ACTG_DOC_SEQUENCE_ID,
1414       --  GT_ACTG_DOC_SEQUENCE_NAME,
1415       GT_ACTG_DOC_SEQUENCE_VALUE,
1416       GT_ACTG_PARTY_ID,
1417       GT_ACTG_PARTY_SITE_ID,
1418       GT_ACTG_PARTY_TYPE,
1419       GT_ACTG_EVENT_ID,
1420       GT_ACTG_HEADER_ID,
1421       -- GT_ACTG_SOURCE_TABLE,
1422       GT_ACTG_LINE_CCID,
1423       GT_PERIOD_NAME,
1424       GT_ACTG_SOURCE_ID,
1425       GT_BANK_ACCOUNT_ID,
1426       GT_TAX_DETERMINE_DATE,
1427       GT_DEF_REC_SETTLEMENT_OPT_CODE
1428       LIMIT C_LINES_PER_COMMIT;
1429 
1430       IF (g_level_statement >= g_current_runtime_level ) THEN
1431         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.UPDATE_ADDITIONAL_INFO',
1432              'Trx / Line cursor Opened -- detail_t_cur_trx_line : ');
1433       END IF;
1434     END IF;
1435 
1436 
1437     l_count := nvl(GT_DETAIL_TAX_LINE_ID.COUNT,0);
1438 
1439     -- Initialize j value for accounting records count --
1440     j:=0;
1441 
1442     IF (g_level_statement >= g_current_runtime_level ) THEN
1443        FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1444             'Row Count After fetch : ' ||to_char(l_count));
1445     END IF;
1446 
1447     IF l_count >0 THEN
1448       initialize_variables(l_count);
1449 
1450       G_REP_CONTEXT_ID := ZX_EXTRACT_PKG.GET_REP_CONTEXT_ID(P_TRL_GLOBAL_VARIABLES_REC.LEGAL_ENTITY_ID,
1451                                                                 P_TRL_GLOBAL_VARIABLES_REC.request_id);
1452 
1453       FOR i IN 1..l_count
1454       LOOP
1455         L_TRX_CLASS := GT_TRX_CLASS(i);
1456         GT_LEDGER_NAME(i) := l_gl_name;
1457         IF (g_level_statement >= g_current_runtime_level ) THEN
1458           FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1459                   'Inside Loop : i : '||to_char(i)||' ; ' ||
1460                   'detail tax line id:'||to_char(gt_detail_tax_line_id(i))||' ; ' ||
1461                   ' L_TRX_CLASS : '||L_TRX_CLASS
1462                   );
1463         END IF;
1464 
1465 -- bulk comment
1466 -- the below IF clause is redundant as local variables are not used anywhere?
1467 -- retaining for now
1468         IF P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION'
1469           OR ( UPPER(L_TRX_CLASS) IN
1470           ('APP','EDISC','UNEDISC','ADJ','FINCHRG','MISC_CASH_RECEIPT','BR') )
1471         THEN
1472       --     Pass the taxable amount columns for rounding
1473           L_TAXABLE_AMOUNT  :=  GT_TAXABLE_AMT(i);
1474           L_TAXABLE_ACCOUNTED_AMOUNT := GT_TAXABLE_AMT_FUNCL_CURR(i);
1475         END IF;
1476 
1477     -- Replacement to populate_inv()
1478 
1479         IF  L_TRX_CLASS IN ('APP','EDISC','UNEDISC','ADJ','FINCHRG','MISC_CASH_RECEIPT','BR')
1480         THEN
1481           APP_FUNCTIONAL_AMOUNTS(
1482                    GT_TRX_ID(i),
1483                    GT_TAX_RATE_ID(i),
1484                    GT_TRX_CURRENCY_CODE(i),
1485                    GT_CURRENCY_CONVERSION_RATE(i),
1486                    GT_PRECISION(i),
1487                    GT_MINIMUM_ACCOUNTABLE_UNIT(i),
1488                    GT_TAX_AMT(i),
1489                    GT_TAXABLE_AMT(i),
1490                    P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL,
1491                    P_TRL_GLOBAL_VARIABLES_REC.REGISTER_TYPE,
1492                    i);
1493         END IF;
1494 
1495 
1496         IF (gt_posted_date(i) IS NOT NULL AND
1497           P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL  = 'TRANSACTION_DISTRIBUTION' ) THEN
1498 
1499           IF p_trl_global_variables_rec.include_accounting_segments='Y' THEN
1500 
1501             IF (g_level_statement >= g_current_runtime_level ) THEN
1502               FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1503                 'get_accounting_info Call for detail tax line id:'||to_char(gt_detail_tax_line_id(i))
1504                        );
1505             END IF;
1506 
1507             j:=j+1;
1508             agt_detail_tax_line_id(j)       :=   gt_detail_tax_line_id(i);
1509             agt_actg_event_type_code(j)     :=   gt_actg_event_type_code(i);
1510             agt_actg_event_number(j)        :=   gt_actg_event_number(i);
1511             agt_actg_event_status_flag(j)   :=   gt_actg_event_status_flag(i);
1512             agt_actg_category_code(j)       :=   gt_actg_category_code(i);
1513             agt_accounting_date(j)          :=   gt_accounting_date(i);
1514             agt_gl_transfer_flag(j)         :=   gt_gl_transfer_flag(i);
1515             -- agt_gl_transfer_run_id(j)       :=   gt_gl_transfer_run_id(i);
1516             agt_actg_header_description(j)  :=   gt_actg_header_description(i);
1517             agt_actg_line_num(j)            :=   gt_actg_line_num(i);
1518             agt_actg_line_type_code(j)      :=   gt_actg_line_type_code(i);
1519             agt_actg_line_description(j)    :=   gt_actg_line_description(i);
1520             agt_actg_stat_amt(j)            :=   gt_actg_stat_amt(i);
1521             agt_actg_error_code(j)          :=   gt_actg_error_code(i);
1522             agt_gl_transfer_code(j)         :=   gt_gl_transfer_code(i);
1523             agt_actg_doc_sequence_id(j)     :=   gt_actg_doc_sequence_id(i);
1524             --  agt_actg_doc_sequence_name(j) :=   gt_actg_doc_sequence_name(i);
1525             agt_actg_doc_sequence_value(j)  :=   gt_actg_doc_sequence_value(i);
1526             agt_actg_party_id(j)            :=   gt_actg_party_id(i);
1527             agt_actg_party_site_id(j)       :=   gt_actg_party_site_id(i);
1528             agt_actg_party_type(j)          :=   gt_actg_party_type(i);
1529             agt_actg_event_id(j)            :=   gt_actg_event_id(i);
1530             agt_actg_header_id(j)           :=   gt_actg_header_id(i);
1531             agt_actg_source_id(j)           :=   gt_actg_source_id(i);
1532             -- agt_actg_source_table(j)      :=   gt_actg_source_table(i);
1533             agt_actg_line_ccid(j)           :=   gt_actg_line_ccid(i);
1534             agt_period_name(j)              :=   gt_period_name(i);
1535 
1536             get_accounting_info(GT_TRX_ID(i),
1537               GT_TRX_LINE_ID(i),
1538               GT_TAX_LINE_ID(i),
1539               GT_ACTG_EVENT_ID(i),
1540               GT_ACTG_HEADER_ID(i),
1541               GT_ACTG_SOURCE_ID(i),
1542               l_balancing_segment,
1543               l_accounting_segment,
1544               P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL,
1545               P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME,
1546               L_TRX_CLASS,
1547 	      NVL(p_trl_global_variables_rec.reporting_ledger_id,p_trl_global_variables_rec.ledger_id),
1548               j) ;
1549 
1550           END IF;  -- Inlude account segments parameter check --
1551 
1552           IF p_trl_global_variables_rec.reporting_ledger_id IS NOT NULL
1553           THEN
1554             get_accounting_amounts(GT_TRX_ID(i),
1555               GT_TRX_LINE_ID(i),
1556               GT_TAX_LINE_ID(i),
1557           --          GT_ENTITY_ID(i),
1558               GT_ACTG_EVENT_ID(i),
1559               GT_ACTG_HEADER_ID(i),
1560               GT_ACTG_SOURCE_ID(i),
1561               P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL,
1562               L_TRX_CLASS,
1563               p_trl_global_variables_rec.reporting_ledger_id,
1564               i) ;
1565           END IF;
1566           IF (g_level_statement >= g_current_runtime_level ) THEN
1567             FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1568               'inv_actg_amounts call :GT_TAXABLE_AMT, GT_TAXABLE_AMT_FUNCL_CURR'||to_char(GT_TAXABLE_AMT(i))||
1569               'i='||to_char(i)||' j='||to_char(i)
1570               ||'-'||to_char(GT_TAXABLE_AMT_FUNCL_CURR(i)));
1571           END IF;
1572     --GT_TAXABLE_AMT_FUNCL_CURR(i) := null;
1573     --GT_TAX_AMT_FUNCL_CURR(i) := null;
1574 
1575         END IF;  -- Posted date check ---
1576 
1577 
1578 --Check This Code
1579 --          IF UPPER(L_TRX_CLASS) IN ('APP','EDISC','UNEDISC','ADJ','FINCHRG',
1580  --                                   'MISC_CASH_RECEIPT','BR')
1581   --            AND  GT_TAX_CODE_ID_TAB(i) IS NULL
1582    --           AND GT_TAX_OFFSET_TAX_CODE_ID_TAB(i) IS NOT NULL
1583     --      THEN
1584 --
1585  --           PG_TAX_CODE_ID_TAB(i) := PG_TAX_OFFSET_TAX_CODE_ID_TAB(i);
1586 --
1587  --         END If;
1588     -- Call to populate party information --
1589         EXTRACT_PARTY_INFO(i);
1590            populate_meaning(
1591                   P_TRL_GLOBAL_VARIABLES_REC,
1592                    i);
1593 
1594         IF (P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION'
1595                     AND GT_TRX_CLASS(i) = 'ADJ' ) THEN
1596                          get_tax_rate_info_dist_adj(i);
1597         END IF;
1598 
1599   -- This api populates first party registration number if the HQ_ESTB_REG_NUMBER is null
1600   --
1601         IF GT_HQ_ESTB_REG_NUMBER(i) IS NULL AND
1602            P_TRL_GLOBAL_VARIABLES_REC.FIRST_PARTY_TAX_REG_NUM IS NULL THEN
1603            populate_tax_reg_num(
1604                 P_TRL_GLOBAL_VARIABLES_REC,
1605                 GT_INTERNAL_ORGANIZATION_ID(i),
1606                 GT_TAX_DATE(i),
1607                 i);
1608         ELSE
1609            GT_TAX_REG_NUM(i) := GT_HQ_ESTB_REG_NUMBER(i);
1610         END IF;
1611 
1612 
1613 
1614       END LOOP; -- end loop of each extract line
1615 
1616     END IF;
1617 
1618     --   Call to update additional information in zx_rep_trx_detail_t table --
1619 
1620     UPDATE_REP_DETAIL_T(l_count);
1621 
1622     --   Call to insert accounting information in zx_rep_actg_ext_t table --
1623 
1624     IF p_trl_global_variables_rec.include_accounting_segments='Y'
1625        AND NVL(gt_posted_date.count,0) <> 0 THEN
1626        insert_actg_info(j);
1627     END IF;
1628 
1629     IF P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
1630         EXIT WHEN detail_t_cur%NOTFOUND
1631              OR detail_t_cur%NOTFOUND IS NULL;
1632     ELSE
1633         EXIT WHEN detail_t_cur_trx_line%NOTFOUND
1634              OR detail_t_cur_trx_line%NOTFOUND IS NULL;
1635     END IF;
1636 
1637   END LOOP;
1638 
1639   IF P_TRL_GLOBAL_VARIABLES_REC.SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
1640     CLOSE detail_t_cur;
1641   ELSE
1642     CLOSE detail_t_cur_trx_line;
1643   END IF;
1644 
1645   IF (g_level_procedure >= g_current_runtime_level ) THEN
1646     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.UPDATE_ADDITIONAL_INFO.END',
1647                                       'ZX_AR_POPULATE_PKG: UPDATE_ADDITIONAL_INFO(-)');
1648   END IF;
1649 
1650 EXCEPTION
1651   WHEN OTHERS THEN
1652     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1653     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
1654     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
1655     FND_MSG_PUB.Add;
1656     IF (g_level_unexpected >= g_current_runtime_level ) THEN
1657       FND_LOG.STRING(g_level_unexpected,
1658                      'ZX.TRL.ZX_AR_POPULATE_PKG.update_additional_info',
1659                       g_error_buffer);
1660     END IF;
1661 
1662      P_TRL_GLOBAL_VARIABLES_REC.RETCODE := G_RETCODE;
1663 
1664 END UPDATE_ADDITIONAL_INFO;
1665 
1666 
1667 PROCEDURE APP_FUNCTIONAL_AMOUNTS(
1668   P_TRX_ID                IN NUMBER,
1669   P_TAX_CODE_ID           IN NUMBER,
1670   P_CURRENCY_CODE         IN VARCHAR2,
1671   P_EXCHANGE_RATE         IN NUMBER,
1672   P_PRECISION             IN NUMBER,
1673   P_MIN_ACCT_UNIT         IN NUMBER,
1674   P_INPUT_TAX_AMOUNT      IN OUT NOCOPY NUMBER,
1675   P_INPUT_TAXABLE_AMOUNT  IN OUT NOCOPY NUMBER,
1676   P_SUMMARY_LEVEL         IN VARCHAR2,
1677   P_REGISTER_TYPE         IN VARCHAR2,
1678   i                       IN binary_integer)
1679   IS
1680 
1681 
1682   CURSOR ROUNDING_AMTS_CURSOR (
1683            C_TRX_ID IN NUMBER,
1684            C_REGISTER_TYPE IN VARCHAR2,
1685            C_TAX_ID IN NUMBER )  IS
1686     SELECT SUM(NVL(ARDTAX.AMOUNT_CR,0) - NVL(ARDTAX.AMOUNT_DR,0)),
1687            SUM(NVL(ARDTAX.TAXABLE_ENTERED_CR,0) -
1688                         NVL(ARDTAX.TAXABLE_ENTERED_DR,0))
1689     FROM   AR_DISTRIBUTIONS_ALL ARDTAX,
1690            AR_RECEIVABLE_APPLICATIONS_ALL APP,
1691            RA_CUSTOMER_TRX_ALL TRXCM
1692     WHERE  APP.CASH_RECEIPT_ID = C_TRX_ID
1693       AND  APP.APPLIED_CUSTOMER_TRX_ID = TRXCM.CUSTOMER_TRX_ID
1694       AND  APP.RECEIVABLE_APPLICATION_ID = ARDTAX.SOURCE_ID
1695       AND  ARDTAX.SOURCE_TABLE = 'RA'
1696       AND  ARDTAX.SOURCE_TYPE = DECODE(C_REGISTER_TYPE,'TAX','TAX',
1697                    'INTERIM','DEFERRED_TAX',NULL)
1698       AND  ARDTAX.TAX_CODE_ID = C_TAX_ID
1699       AND  ARDTAX.SOURCE_TABLE_SECONDARY = 'CT'
1700       AND  ARDTAX.SOURCE_TYPE_SECONDARY = 'RECONCILE'
1701     GROUP BY C_TRX_ID, C_TAX_ID ;
1702 
1703 
1704   L_ROUNDING_TAXABLE_AMT NUMBER;
1705   L_ROUNDING_TAX_AMT     NUMBER;
1706 
1707 BEGIN
1708 
1709   IF (g_level_procedure >= g_current_runtime_level ) THEN
1710       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.APP_FUNCTIONAL_AMOUNTS.BEGIN',
1711                                     'ZX_AR_POPULATE_PKG: APP_FUNCTIONAL_AMOUNTS(+)');
1712   END IF;
1713 
1714   IF UPPER(P_SUMMARY_LEVEL) = 'TRANSACTION' THEN
1715 
1716       -- Fetch the reconciliation amounts and add to the tax/taxable amounts
1717     OPEN  ROUNDING_AMTS_CURSOR (
1718                   P_TRX_ID,
1719                   P_REGISTER_TYPE,
1720                   P_TAX_CODE_ID );
1721 
1722     FETCH ROUNDING_AMTS_CURSOR INTO
1723                      L_ROUNDING_TAX_AMT, L_ROUNDING_TAXABLE_AMT ;
1724     CLOSE ROUNDING_AMTS_CURSOR;
1725 
1726     IF (g_level_procedure >= g_current_runtime_level ) THEN
1727         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.APP_FUNCTIONAL_AMOUNTS',
1728                        'Reconciliation Amt : Taxable Amt | Tax Amt :'||L_ROUNDING_TAXABLE_AMT||' | '||L_ROUNDING_TAX_AMT);
1729     END IF;
1730 
1731     P_INPUT_TAX_AMOUNT := P_INPUT_TAX_AMOUNT + nvl(L_ROUNDING_TAX_AMT,0);
1732     P_INPUT_TAXABLE_AMOUNT:= P_INPUT_TAXABLE_AMOUNT +
1733                                     nvl(L_ROUNDING_TAXABLE_AMT,0);
1734 
1735     convert_amounts( P_CURRENCY_CODE,
1736                     P_EXCHANGE_RATE,
1737                     P_PRECISION,
1738                     P_MIN_ACCT_UNIT,
1739                     P_INPUT_TAX_AMOUNT,
1740                     P_INPUT_TAXABLE_AMOUNT,
1741                     0, i);
1742 
1743   ELSIF  P_SUMMARY_LEVEL = 'TRANSACTION_LINE' THEN
1744 
1745     convert_amounts(
1746                     P_CURRENCY_CODE,
1747                     P_EXCHANGE_RATE,
1748                     P_PRECISION,
1749                     P_MIN_ACCT_UNIT,
1750                     P_INPUT_TAX_AMOUNT,
1751                     P_INPUT_TAXABLE_AMOUNT,
1752                     0,i);
1753 
1754   ELSIF P_SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
1755 
1756     convert_amounts(
1757                     P_CURRENCY_CODE,
1758                     P_EXCHANGE_RATE,
1759                     P_PRECISION,
1760                     P_MIN_ACCT_UNIT,
1761                     P_INPUT_TAX_AMOUNT,
1762                     P_INPUT_TAXABLE_AMOUNT,
1763                     0,i);
1764 
1765   END IF;
1766 
1767   IF (g_level_procedure >= g_current_runtime_level ) THEN
1768       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.APP_FUNCTIONAL_AMOUNTS.END',
1769                                     'ZX_AR_POPULATE_PKG: APP_FUNCTIONAL_AMOUNTS(-)');
1770   END IF;
1771 
1772 EXCEPTION
1773   WHEN OTHERS THEN
1774     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1775     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
1776     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
1777     FND_MSG_PUB.Add;
1778     IF (g_level_unexpected >= g_current_runtime_level ) THEN
1779       FND_LOG.STRING(g_level_unexpected,
1780                      'ZX.TRL.ZX_AR_POPULATE_PKG.APP_FUNCTIONAL_AMOUNTS',
1781                       g_error_buffer);
1782     END IF;
1783 
1784         G_RETCODE := 2;
1785 
1786 END APP_FUNCTIONAL_AMOUNTS;
1787 
1788 
1789 
1790 PROCEDURE get_accounting_info (P_TRX_ID               IN NUMBER,
1791                               P_TRX_LINE_ID           IN NUMBER,
1792                               P_TAX_LINE_ID           IN NUMBER,
1793                    --           P_ENTITY_ID             IN NUMBER,
1794                               P_EVENT_ID              IN NUMBER,
1795                               P_AE_HEADER_ID          IN NUMBER,
1796                               P_ACTG_SOURCE_ID        IN NUMBER,
1797                               P_BALANCING_SEGMENT     IN VARCHAR2,
1798                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
1799                               P_SUMMARY_LEVEL         IN VARCHAR2,
1800                               P_REPORT_NAME           IN VARCHAR2,
1801                               P_TRX_CLASS             IN VARCHAR2,
1802 			      P_LEDGER_ID             IN NUMBER,
1803                               j                       IN binary_integer) IS
1804 
1805 BEGIN
1806 
1807   IF (g_level_procedure >= g_current_runtime_level ) THEN
1808       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_info.BEGIN',
1809                                     'ZX_AR_POPULATE_PKG: get_accounting_info(+)' );
1810       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_info',
1811                                     'j := '||to_char(j));
1812   END IF;
1813 
1814   IF (g_level_procedure >= g_current_runtime_level ) THEN
1815     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_info',
1816           'TRANSACTION DIST LEVEL : p_trx_id - p_event_id - p_ae_header_id- p_trx_line_id'
1817           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
1818           ||'-'||to_char(p_trx_line_id));
1819   END IF;
1820 
1821   IF p_trx_class in ('INVOICE','CREDIT_MEMO','DEBIT_MEMO') THEN
1822      inv_segment_info (P_TRX_ID,
1823                        P_TRX_LINE_ID,
1824                        P_TAX_LINE_ID,
1825                    --  P_ENTITY_ID,
1826                        P_EVENT_ID,
1827                        P_AE_HEADER_ID,
1828                        P_ACTG_SOURCE_ID,
1829                        P_BALANCING_SEGMENT,
1830                        P_ACCOUNTING_SEGMENT,
1831                        P_SUMMARY_LEVEL,
1832                        P_REPORT_NAME,
1833                        P_TRX_CLASS,
1834 		       P_LEDGER_ID,
1835                        j);
1836 
1837   ELSIF  p_trx_class IN ('APP','EDISC','UNEDISC','ADJ','FINCHRG',
1838                        'MISC_CASH_RECEIPT') THEN
1839      other_trx_segment_info(P_TRX_ID,
1840                               P_TRX_LINE_ID,
1841                               P_TAX_LINE_ID,
1842                    --           P_ENTITY_ID,
1843                               P_EVENT_ID,
1844                               P_AE_HEADER_ID,
1845                               P_ACTG_SOURCE_ID,
1846                               P_BALANCING_SEGMENT,
1847                               P_ACCOUNTING_SEGMENT,
1848                               P_SUMMARY_LEVEL,
1849                               P_TRX_CLASS,
1850                               j);
1851   END IF;
1852     IF (g_level_procedure >= g_current_runtime_level ) THEN
1853         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_info.END',
1854                                       'ZX_AR_POPULATE_PKG: get_accounting_info(-)');
1855     END IF;
1856 
1857 END get_accounting_info;
1858 
1859 PROCEDURE get_accounting_amounts(P_TRX_ID                IN NUMBER,
1860                                  P_TRX_LINE_ID           IN NUMBER,
1861                                  P_TAX_LINE_ID           IN NUMBER,
1862                   --             P_ENTITY_ID             IN NUMBER,
1863                                  P_EVENT_ID              IN NUMBER,
1864                                  P_AE_HEADER_ID          IN NUMBER,
1865                                  P_ACTG_SOURCE_ID           IN NUMBER,
1866                                  P_SUMMARY_LEVEL         IN VARCHAR2,
1867                                  P_TRX_CLASS             IN VARCHAR2,
1868                                  P_LEDGER_ID             IN NUMBER,
1869                                  j                       IN binary_integer) IS
1870 BEGIN
1871 
1872   IF (g_level_procedure >= g_current_runtime_level ) THEN
1873     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts.BEGIN',
1874                                       'ZX_AR_POPULATE_PKG: get_accounting_amounts(+)');
1875   END IF;
1876 
1877   IF p_trx_class in ('INVOICE','CREDIT_MEMO','DEBIT_MEMO') THEN
1878       inv_actg_amounts(P_TRX_ID,
1879                        P_TRX_LINE_ID,
1880                        P_TAX_LINE_ID,
1881                   --   P_ENTITY_ID,
1882                        P_EVENT_ID,
1883                        P_AE_HEADER_ID,
1884                        P_ACTG_SOURCE_ID,
1885                        P_SUMMARY_LEVEL,
1886                        P_TRX_CLASS,
1887                        P_LEDGER_ID,
1888                        j);
1889     IF (g_level_procedure >= g_current_runtime_level ) THEN
1890       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1891         'trx_id : '||p_trx_id||' tax_line_id : '||P_TAX_LINE_ID||' j : ' ||j);
1892       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1893                'inv_actg_amounts call :GT_TAXABLE_AMT, GT_TAXABLE_AMT_FUNCL_CURR ::: '||to_char(GT_TAXABLE_AMT(j))
1894                  ||'-'||to_char(GT_TAXABLE_AMT_FUNCL_CURR(j)));
1895       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1896                'inv_actg_amounts call :GT_TAX_AMT, GT_TAX_AMT_FUNCL_CURR ::: '||to_char(GT_TAX_AMT(j))
1897                  ||'-'||to_char(GT_TAX_AMT_FUNCL_CURR(j)));
1898     END IF;
1899 
1900   ELSIF p_trx_class IN ('APP','EDISC','UNEDISC','ADJ','FINCHRG',
1901                        'MISC_CASH_RECEIPT') THEN
1902     IF (g_level_procedure >= g_current_runtime_level ) THEN
1903         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1904                        'p_trx_class: '||to_char(p_trx_class)|| 'so calling other_trx_actg_amounts ' );
1905         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_actg_amounts',
1906           'p_trx_id - p_event_id - p_ae_header_id- p_actg_source_id- p_ledger_id '
1907           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
1908           ||'-'||to_char(p_actg_source_id)||'-'||to_char(p_ledger_id));
1909     END IF;
1910     other_trx_actg_amounts(P_TRX_ID,
1911                            P_TRX_LINE_ID,
1912                            P_TAX_LINE_ID,
1913                  --        P_ENTITY_ID,
1914                            P_EVENT_ID,
1915                            P_AE_HEADER_ID,
1916                            P_ACTG_SOURCE_ID,
1917                            P_SUMMARY_LEVEL,
1918                            P_TRX_CLASS,
1919                            P_LEDGER_ID,
1920                            j);
1921     IF (g_level_procedure >= g_current_runtime_level ) THEN
1922         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1923                       'other_trx_actg_amounts: trx_id : '||p_trx_id||' j : ' ||j);
1924         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1925                'other_trx_actg_amounts call :GT_TAXABLE_AMT, GT_TAXABLE_AMT_FUNCL_CURR ::: '||to_char(GT_TAXABLE_AMT(j))
1926                  ||' - '||to_char(GT_TAXABLE_AMT_FUNCL_CURR(j)));
1927         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts',
1928                'other_trx_actg_amounts call :GT_TAX_AMT, GT_TAX_AMT_FUNCL_CURR ::: '||to_char(GT_TAX_AMT(j))
1929                  ||' - '||to_char(GT_TAX_AMT_FUNCL_CURR(j)));
1930     END IF;
1931   END IF;
1932 
1933   IF (g_level_procedure >= g_current_runtime_level ) THEN
1934     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_accounting_amounts.END',
1935                                       'ZX_AR_POPULATE_PKG: get_accounting_amounts(-)');
1936   END IF;
1937 
1938 
1939 END get_accounting_amounts;
1940 
1941 PROCEDURE inv_segment_info (P_TRX_ID                IN NUMBER,
1942                               P_TRX_LINE_ID           IN NUMBER,
1943                               P_TAX_LINE_ID           IN NUMBER,
1944                    --           P_ENTITY_ID             IN NUMBER,
1945                               P_EVENT_ID              IN NUMBER,
1946                               P_AE_HEADER_ID          IN NUMBER,
1947                               P_ACTG_SOURCE_ID           IN NUMBER,
1948                               P_BALANCING_SEGMENT     IN VARCHAR2,
1949                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
1950                               P_SUMMARY_LEVEL         IN VARCHAR2,
1951                               P_REPORT_NAME         IN VARCHAR2,
1952                               P_TRX_CLASS             IN VARCHAR2,
1953 		              P_LEDGER_ID             IN NUMBER,
1954                               j                       IN binary_integer) IS
1955     CURSOR trx_ccid (c_trx_id number, c_event_id number, c_ae_header_id number) IS
1956                   SELECT
1957                          ael.code_combination_id
1958                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
1959                          xla_distribution_links lnk,
1960                          xla_ae_lines              ael
1961                    WHERE gl_dist.customer_trx_id = c_trx_id
1962                      AND gl_dist.account_class = 'REV'
1963                      AND lnk.application_id = 222
1964                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
1965                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
1966                      AND lnk.ae_header_id   = ael.ae_header_id
1967                      AND lnk.ae_line_num    = ael.ae_line_num
1968                       AND lnk.event_id      = c_event_id
1969                      AND lnk.ae_header_id   = c_ae_header_id
1970                      AND ael.application_id = lnk.application_id
1971                      AND ael.accounting_class_code = 'REVENUE'
1972               AND rownum =1;
1973 
1974     CURSOR trx_line_ccid (c_trx_id number, c_trx_line_id number, c_event_id number, c_ae_header_id NUMBER) IS
1975                   SELECT
1976                          ael.code_combination_id
1977                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
1978                          xla_distribution_links lnk,
1979                          xla_ae_lines              ael
1980                    WHERE gl_dist.customer_trx_id = c_trx_id
1981                      AND gl_dist.customer_trx_line_id = c_trx_line_id
1982                      AND gl_dist.account_class = 'REV'
1983                      AND lnk.application_id = 222
1984                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
1985                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
1986                      AND lnk.ae_header_id   = ael.ae_header_id
1987                      AND lnk.ae_line_num    = ael.ae_line_num
1988                       AND lnk.event_id      = c_event_id
1989                      AND lnk.ae_header_id   = c_ae_header_id
1990                      AND ael.application_id = lnk.application_id
1991                      AND ael.accounting_class_code = 'REVENUE'
1992               AND rownum =1;
1993 
1994 
1995 -- For transavtion distribution level code combination id select in the build SQL
1996 -- The following query can be removed ----
1997 
1998   CURSOR trx_dist_ccid (c_trx_id NUMBER, c_trx_line_id NUMBER, c_event_id NUMBER, c_ae_header_id NUMBER) IS
1999                   SELECT
2000                          /*+ leading(gl_dist)*/ ael.code_combination_id
2001                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2002                          xla_distribution_links lnk,
2003                          xla_ae_lines              ael
2004                    WHERE gl_dist.customer_trx_id = c_trx_id
2005                      AND gl_dist.customer_trx_line_id = c_trx_line_id
2006                      AND gl_dist.account_class = 'REV'
2007                      AND lnk.application_id = 222
2008                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2009                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2010                      AND lnk.ae_header_id   = ael.ae_header_id
2011                      AND lnk.ae_line_num    = ael.ae_line_num
2012                       AND lnk.event_id      = c_event_id
2013                      AND lnk.ae_header_id   = c_ae_header_id
2014                      AND ael.application_id = lnk.application_id
2015                      AND ael.accounting_class_code = 'REVENUE'
2016               AND rownum =1;
2017 
2018 CURSOR trx_dist_ccid_tax_event (c_trx_id NUMBER, c_trx_line_id NUMBER, c_ledger_id NUMBER) IS
2019                   SELECT
2020                          /*+ leading(gl_dist)*/ ael.code_combination_id
2021                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2022                          xla_distribution_links lnk,
2023                          xla_ae_lines              ael
2024                    WHERE gl_dist.customer_trx_id = c_trx_id
2025                      AND gl_dist.customer_trx_line_id = c_trx_line_id
2026                      AND gl_dist.account_class = 'REV'
2027                      AND lnk.application_id = 222
2028                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2029                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2030                      AND lnk.ae_header_id   = ael.ae_header_id
2031                      AND lnk.ae_line_num    = ael.ae_line_num
2032                      AND ael.application_id = lnk.application_id
2033                      AND ael.accounting_class_code = 'REVENUE'
2034                      AND ael.ledger_id = c_ledger_id
2035                      AND rownum =1;
2036 
2037   CURSOR trx_dist_unrev_ccid (c_trx_id NUMBER, c_trx_line_id NUMBER, c_event_id NUMBER, c_ae_header_id NUMBER) IS
2038                   SELECT
2039                          /*+ leading(gl_dist)*/ ael.code_combination_id
2040                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2041                          xla_distribution_links lnk,
2042                          xla_ae_lines              ael
2043                    WHERE gl_dist.customer_trx_id = c_trx_id
2044                      AND gl_dist.customer_trx_line_id = c_trx_line_id
2045                      AND gl_dist.account_class = 'UNEARN'
2046                      AND lnk.application_id = 222
2047                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2048                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2049                      AND lnk.ae_header_id   = ael.ae_header_id
2050                      AND lnk.ae_line_num    = ael.ae_line_num
2051                       AND lnk.event_id      = c_event_id
2052                      AND lnk.ae_header_id   = c_ae_header_id
2053                      AND ael.application_id = lnk.application_id
2054                      AND ael.accounting_class_code = 'UNEARNED_REVENUE'
2055                      AND rownum =1;
2056 
2057     CURSOR tax_ccid (c_trx_id number, c_event_id number, c_ae_header_id number) IS
2058                   SELECT
2059                          ael.code_combination_id
2060                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2061                          xla_distribution_links lnk,
2062                          xla_ae_lines              ael
2063                    WHERE gl_dist.customer_trx_id = c_trx_id
2064                      AND gl_dist.account_class = 'TAX'
2065                      AND lnk.application_id = 222
2066                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2067                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2068                      AND lnk.ae_header_id   = ael.ae_header_id
2069                      AND lnk.ae_line_num    = ael.ae_line_num
2070                      AND lnk.event_id      = c_event_id
2071                      AND lnk.ae_header_id   = c_ae_header_id
2072                      AND ael.application_id = lnk.application_id
2073                      AND ael.accounting_class_code <> 'RECEIVABLE'
2074                      AND rownum =1;
2075 
2076     CURSOR tax_line_ccid (c_trx_id number, c_tax_line_id NUMBER, c_event_id number, c_ae_header_id number) IS
2077                   SELECT
2078                          ael.code_combination_id
2079                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2080                          xla_distribution_links lnk,
2081                          xla_ae_lines              ael
2082                    WHERE gl_dist.customer_trx_id = c_trx_id
2083                      AND gl_dist.customer_trx_line_id = c_tax_line_id
2084                      AND gl_dist.account_class = 'TAX'
2085                      AND lnk.application_id = 222
2086                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2087                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2088                      AND lnk.ae_header_id   = ael.ae_header_id
2089                      AND lnk.ae_line_num    = ael.ae_line_num
2090                      AND lnk.event_id      = c_event_id
2091                      AND lnk.ae_header_id   = c_ae_header_id
2092                      AND ael.application_id = lnk.application_id
2093                      AND ael.accounting_class_code <> 'RECEIVABLE'
2094                      AND rownum =1;
2095 
2096 
2097 -- For transavtion distribution level code combination id select in the build SQL
2098 -- The following query can be removed ----
2099 
2100   --CURSOR tax_dist_ccid (c_trx_id NUMBER, c_tax_line_id NUMBER, c_tax_line_dist_id NUMBER,
2101    --                                   c_event_id number, c_ae_header_id number) IS
2102   CURSOR tax_dist_ccid (c_trx_id NUMBER, c_tax_line_dist_id NUMBER,
2103                                       c_event_id number, c_ae_header_id number) IS
2104                   SELECT
2105                          ael.code_combination_id
2106                     FROM ra_cust_trx_line_gl_dist_all gl_dist,
2107                          xla_distribution_links lnk,
2108                          xla_ae_lines              ael
2109                    WHERE gl_dist.customer_trx_id = c_trx_id
2110                    --  AND gl_dist.customer_trx_line_id = c_tax_line_id
2111                      AND gl_dist.cust_trx_line_gl_dist_id = c_tax_line_dist_id
2112                      AND gl_dist.account_class = 'TAX'
2113                      AND lnk.application_id = 222
2114                      AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2115                      AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2116                      AND lnk.ae_header_id   = ael.ae_header_id
2117                      AND lnk.ae_line_num    = ael.ae_line_num
2118                      AND lnk.event_id      = c_event_id
2119                      AND lnk.ae_header_id   = c_ae_header_id
2120                      AND ael.application_id = lnk.application_id
2121                      AND ael.accounting_class_code <> 'RECEIVABLE'
2122                      AND rownum =1;
2123 
2124   L_BAL_SEG_VAL  VARCHAR2(240);
2125   L_BAL_SEG_DESC VARCHAR2(240);
2126 
2127   L_ACCT_SEG_VAL VARCHAR2(240);
2128   L_ACCT_SEG_DESC VARCHAR2(240);
2129 
2130   L_SQL_STATEMENT1     VARCHAR2(1000);
2131 
2132   l_ccid number;
2133   l_tax_dist_ccid number;
2134   L_TRX_DIST_CCID NUMBER ;
2135   l_tbl_index_ccid      BINARY_INTEGER;
2136 BEGIN
2137   IF (g_level_procedure >= g_current_runtime_level ) THEN
2138     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info.BEGIN',
2139                                       'ZX_AR_POPULATE_PKG: inv_segment_info(+)');
2140     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2141                                       'j := '||to_char(j));
2142 
2143   END IF;
2144 
2145   GT_TRX_ARAP_BALANCING_SEGMENT(j)    := NULL;
2146   GT_TRX_ARAP_NATURAL_ACCOUNT(j)      := NULL;
2147   GT_TRX_TAXABLE_BAL_SEG(j)           := NULL;
2148   GT_TRX_TAXABLE_BALSEG_DESC(j)       := NULL;
2149   GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)   := NULL;
2150   GT_TRX_TAX_BALANCING_SEGMENT(j)     := NULL;
2151   GT_TRX_TAX_NATURAL_ACCOUNT(j)       := NULL;
2152   GT_ACCOUNT_FLEXFIELD(j)   :=  NULL;
2153   GT_ACCOUNT_DESCRIPTION(j)    := NULL;
2154 
2155   GT_TRX_TAXABLE_ACCOUNT_DESC(j) := NULL ;
2156   GT_TRX_TAXABLE_NATACCT_DESC(j) := NULL ;
2157 
2158 
2159   L_BAL_SEG_VAL := '';
2160   L_ACCT_SEG_VAL := '';
2161   L_BAL_SEG_DESC := '';
2162   L_ACCT_SEG_DESC := '';
2163 
2164   L_SQL_STATEMENT1 := ' SELECT '||P_BALANCING_SEGMENT ||','||P_ACCOUNTING_SEGMENT ||
2165                       ' FROM GL_CODE_COMBINATIONS '||
2166                       ' WHERE CODE_COMBINATION_ID = :L_CCID ';
2167 
2168   IF P_SUMMARY_LEVEL = 'TRANSACTION' THEN
2169     OPEN trx_ccid (p_trx_id, p_event_id, p_ae_header_id);
2170     LOOP
2171     FETCH trx_ccid INTO l_ccid;
2172 
2173     IF (g_level_procedure >= g_current_runtime_level ) THEN
2174         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info.BEGIN',
2175                                       'ZX_AR_POPULATE_PKG: inv_segment_info(+)');
2176     END IF;
2177 
2178     IF (g_level_statement >= g_current_runtime_level ) THEN
2179       FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2180           'TRANSACTION LEVEL : p_trx_id - p_event_id - p_ae_header_id'||to_char(p_trx_id)
2181                ||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)||'-'||to_char(l_ccid));
2182       FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2183           'L_SQL_STATEMENT1: ' ||L_SQL_STATEMENT1);
2184     END IF;
2185     EXIT WHEN trx_ccid%NOTFOUND;
2186 
2187     EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
2188                                        USING l_ccid;
2189 
2190     IF GT_TRX_TAXABLE_BAL_SEG(j) IS NULL then
2191       GT_TRX_TAXABLE_BAL_SEG(j) := L_BAL_SEG_VAL;
2192     ELSE
2193       IF INSTRB(GT_TRX_TAXABLE_BAL_SEG(j),L_BAL_SEG_VAL) > 0 THEN
2194         NULL;
2195       ELSE
2196         GT_TRX_TAXABLE_BAL_SEG(j)  := GT_TRX_TAXABLE_BAL_SEG(j)
2197                                       ||','||L_BAL_SEG_VAL;
2198       END IF;
2199     END IF;
2200 
2201 
2202     IF GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) IS NULL then
2203       GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2204     ELSE
2205       IF INSTRB(GT_TRX_TAXABLE_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2206         NULL;
2207       ELSE
2208         GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)
2209                                        ||','||L_ACCT_SEG_VAL;
2210       END IF;
2211     END IF;
2212 
2213       GT_TRX_ARAP_BALANCING_SEGMENT(j) := GT_TRX_TAXABLE_BAL_SEG(j);
2214       GT_TRX_ARAP_NATURAL_ACCOUNT(j)   := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
2215     END LOOP;
2216 
2217 
2218     OPEN tax_ccid (p_trx_id, p_event_id, p_ae_header_id);
2219     LOOP
2220       FETCH tax_ccid INTO l_ccid;
2221       EXIT WHEN tax_ccid%NOTFOUND;
2222 
2223       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
2224                                          USING l_ccid;
2225 
2226       IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
2227         GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
2228       ELSE
2229         IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
2230           NULL;
2231         ELSE
2232           GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
2233                                              ||','||L_BAL_SEG_VAL;
2234         END IF;
2235       END IF;
2236 
2237 
2238       IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
2239         GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2240       ELSE
2241         IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2242           NULL;
2243         ELSE
2244           GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
2245                                              ||','||L_ACCT_SEG_VAL;
2246         END IF;
2247       END IF;
2248 
2249     END LOOP;
2250 
2251   ELSIF P_SUMMARY_LEVEL = 'TRANSACTION_LINE' THEN
2252     OPEN trx_line_ccid (p_trx_id, p_trx_line_id, p_event_id, p_ae_header_id);
2253     LOOP
2254       FETCH trx_line_ccid INTO l_ccid;
2255       EXIT WHEN trx_line_ccid%NOTFOUND;
2256 
2257       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
2258                                          USING l_ccid;
2259 
2260       IF GT_TRX_TAXABLE_BAL_SEG(j) IS NULL then
2261         GT_TRX_TAXABLE_BAL_SEG(j) := L_BAL_SEG_VAL;
2262       ELSE
2263         IF INSTRB(GT_TRX_TAXABLE_BAL_SEG(j),L_BAL_SEG_VAL) > 0 THEN
2264           NULL;
2265         ELSE
2266           GT_TRX_TAXABLE_BAL_SEG(j)  := GT_TRX_TAXABLE_BAL_SEG(j)
2267                                             ||','||L_BAL_SEG_VAL;
2268         END IF;
2269       END IF;
2270 
2271 
2272       IF GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) IS NULL then
2273         GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2274       ELSE
2275         IF INSTRB(GT_TRX_TAXABLE_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2276           NULL;
2277         ELSE
2278           GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)
2279                                              ||','||L_ACCT_SEG_VAL;
2280         END IF;
2281       END IF;
2282 
2283       GT_TRX_ARAP_BALANCING_SEGMENT(j) := GT_TRX_TAXABLE_BAL_SEG(j);
2284       GT_TRX_ARAP_NATURAL_ACCOUNT(j)   := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
2285     END LOOP;
2286 
2287 
2288     OPEN tax_line_ccid (p_trx_id, p_trx_line_id, p_event_id, p_ae_header_id);
2289     LOOP
2290       FETCH tax_line_ccid INTO l_ccid;
2291       EXIT WHEN tax_line_ccid%NOTFOUND;
2292 
2293       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
2294                                         USING l_ccid;
2295 
2296       IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
2297         GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
2298       ELSE
2299         IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
2300           NULL;
2301         ELSE
2302           GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
2303                                             ||','||L_BAL_SEG_VAL;
2304         END IF;
2305       END IF;
2306 
2307 
2308       IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
2309         GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2310       ELSE
2311         IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2312           NULL;
2313         ELSE
2314           GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
2315                                        ||','||L_ACCT_SEG_VAL;
2316         END IF;
2317       END IF;
2318 
2319     END LOOP;
2320 
2321   ELSIF P_SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
2322     IF (g_level_statement >= g_current_runtime_level ) THEN
2323         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2324           'TRANSACTION DIST LEVEL : p_trx_id - p_event_id - p_ae_header_id- p_trx_line_id'
2325           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
2326           ||'-'||to_char(p_trx_line_id)||'-'||to_char(l_ccid));
2327         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2328           'L_SQL_STATEMENT1: ' ||L_SQL_STATEMENT1);
2329     END IF;
2330 
2331     OPEN trx_dist_ccid (p_trx_id, p_trx_line_id, p_event_id, p_ae_header_id);
2332      -- LOOP
2333     FETCH trx_dist_ccid INTO l_ccid;
2334 
2335     IF trx_dist_ccid%NOTFOUND OR l_ccid IS NULL THEN
2336        IF (g_level_procedure >= g_current_runtime_level ) THEN
2337          FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2338             'Cursor trx_dist_ccid Not Found, So open cursor trx_dist_ccid_tax_event');
2339        END IF;
2340        OPEN trx_dist_ccid_tax_event (p_trx_id, p_trx_line_id,p_ledger_id);
2341        FETCH trx_dist_ccid_tax_event INTO l_ccid;
2342 
2343        IF trx_dist_ccid_tax_event%NOTFOUND OR l_ccid IS NULL THEN
2344          IF (g_level_procedure >= g_current_runtime_level ) THEN
2345             FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2346                'Cursor trx_dist_ccid_tax_event Not Found, So open cursor trx_dist_unrev_ccid');
2347          END IF;
2348 
2349          OPEN trx_dist_unrev_ccid (p_trx_id, p_trx_line_id, p_event_id, p_ae_header_id);
2350          FETCH trx_dist_unrev_ccid INTO l_ccid;
2351          CLOSE trx_dist_unrev_ccid;
2352        END IF;
2353        CLOSE trx_dist_ccid_tax_event;
2354     END IF;
2355     CLOSE trx_dist_ccid;
2356 
2357     IF l_ccid IS NOT NULL THEN
2358 
2359       l_trx_dist_ccid := l_ccid; --Bug 5510907
2360 
2361       IF P_REPORT_NAME = 'ZXJGTAX' THEN
2362         agt_actg_line_ccid(j) := l_ccid ;
2363       END IF;
2364     END IF;
2365 
2366     OPEN tax_dist_ccid (p_trx_id, P_ACTG_SOURCE_ID, p_event_id, p_ae_header_id);
2367     LOOP
2368       IF (g_level_statement >= g_current_runtime_level ) THEN
2369         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2370           'TRANSACTION DIST LEVEL - tax_dist_ccid : p_trx_id - p_event_id - p_ae_header_id- p_tax_line_id'
2371           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
2372           ||'-'||to_char(p_tax_line_id)||'-'||to_char(P_ACTG_SOURCE_ID)||'-'||to_char(l_ccid));
2373         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info',
2374           'L_SQL_STATEMENT1: ' ||L_SQL_STATEMENT1);
2375       END IF;
2376 
2377       FETCH tax_dist_ccid INTO l_ccid;
2378       EXIT WHEN tax_dist_ccid%NOTFOUND;
2379       l_tax_dist_ccid := l_ccid;
2380       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
2381                                           USING l_ccid;
2382 
2383       IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
2384         GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
2385       ELSE
2386         IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
2387             NULL;
2388         ELSE
2389             GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
2390                                          ||','||L_BAL_SEG_VAL;
2391         END IF;
2392       END IF;
2393 
2394       IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
2395           GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2396       ELSE
2397           IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2398               NULL;
2399           ELSE
2400               GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
2401                                            ||','||L_ACCT_SEG_VAL;
2402           END IF;
2403       END IF;
2404 
2405     END LOOP;
2406 
2407     IF l_tax_dist_ccid IS NOT NULL THEN
2408 
2409       l_tbl_index_ccid := dbms_utility.get_hash_value('tax'||LPAD(TO_CHAR(l_tax_dist_ccid),15,'0'), 1,8192);
2410       IF ZX_EXTRACT_PKG.g_ccid_val_desc_tbl.EXISTS(l_tbl_index_ccid) AND
2411          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY = 'tax'||TO_CHAR(l_tax_dist_ccid) THEN
2412 
2413              GT_ACCOUNT_FLEXFIELD(j)   := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL;
2414              GT_ACCOUNT_DESCRIPTION(j) := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC;
2415 
2416              IF (g_level_procedure >= g_current_runtime_level ) THEN
2417                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2418                                          'From Cache :: Hash = '||l_tbl_index_ccid);
2419                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2420                                          'From Cache :: Account Flexfield = '||GT_ACCOUNT_FLEXFIELD(j));
2421                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2422                                          'From Cache :: Account Description = '||GT_ACCOUNT_DESCRIPTION(j));
2423              END IF;
2424       ELSE
2425 
2426             GT_ACCOUNT_FLEXFIELD(j) := FA_RX_FLEX_PKG.GET_VALUE(
2427                               P_APPLICATION_ID => 101,
2428                               P_ID_FLEX_CODE => 'GL#',
2429                               P_ID_FLEX_NUM => g_coa_id,
2430                               P_QUALIFIER => 'ALL',
2431                               P_CCID => l_tax_dist_ccid);
2432 
2433             GT_ACCOUNT_DESCRIPTION(j) := FA_RX_FLEX_PKG.GET_DESCRIPTION(
2434                               P_APPLICATION_ID => 101,
2435                               P_ID_FLEX_CODE => 'GL#',
2436                               P_ID_FLEX_NUM => g_coa_id,
2437                               P_QUALIFIER => 'ALL',
2438                               P_DATA => GT_ACCOUNT_FLEXFIELD(j));
2439 
2440              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY       := 'tax'||TO_CHAR(l_tax_dist_ccid);
2441              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL  := GT_ACCOUNT_FLEXFIELD(j);
2442              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC := GT_ACCOUNT_DESCRIPTION(j);
2443              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC    := NULL;
2444              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC   := NULL;
2445              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL     := NULL;
2446              ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL    := NULL;
2447 
2448              IF (g_level_procedure >= g_current_runtime_level ) THEN
2449                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2450                                          'From FA_RX_FLEX_PKG :: Hash = '||l_tbl_index_ccid);
2451                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2452                                          'From FA_RX_FLEX_PKG :: Account Flexfield = '||GT_ACCOUNT_FLEXFIELD(j));
2453                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2454                                          'From FA_RX_FLEX_PKG :: Account Description = '||GT_ACCOUNT_DESCRIPTION(j));
2455              END IF;
2456 
2457       END IF; --Cache Exists Check
2458     END IF;   --TAX CCID Null Check
2459 
2460     IF l_trx_dist_ccid IS NOT NULL THEN
2461 
2462       l_tbl_index_ccid := dbms_utility.get_hash_value('TRX'||LPAD(TO_CHAR(l_trx_dist_ccid),15,'0'), 1,8192);
2463 
2464       IF ZX_EXTRACT_PKG.g_ccid_val_desc_tbl.EXISTS(l_tbl_index_ccid) AND
2465          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY = 'TRX'||TO_CHAR(l_trx_dist_ccid) THEN
2466 
2467              GT_TRX_CONTROL_ACCFLEXFIELD(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL;
2468              GT_TRX_TAXABLE_ACCOUNT_DESC(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC;
2469              GT_TRX_TAXABLE_BAL_SEG(j)          := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL;
2470              GT_TRX_TAXABLE_BALSEG_DESC(j)      := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC;
2471              GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL;
2472              GT_TRX_TAXABLE_NATACCT_DESC(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC;
2473 
2474              GT_TRX_ARAP_BALANCING_SEGMENT(j)   := GT_TRX_TAXABLE_BAL_SEG(j);
2475              GT_TRX_ARAP_NATURAL_ACCOUNT(j)     := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
2476 
2477              IF (g_level_procedure >= g_current_runtime_level ) THEN
2478                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2479                                          'From Cache :: Hash = '||l_tbl_index_ccid);
2480                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2481                                          'From Cache :: Account Flexfield = '||GT_TRX_CONTROL_ACCFLEXFIELD(j));
2482                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2483                                          'From Cache :: Account Description = '||GT_TRX_TAXABLE_ACCOUNT_DESC(j));
2484                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2485                                          'From Cache :: Balancing Seg Description = '||GT_TRX_TAXABLE_BALSEG_DESC(j));
2486                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2487                                          'From Cache :: Natural Seg Description = '||GT_TRX_TAXABLE_NATACCT_DESC(j));
2488                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2489                                          'From Cache :: Balancing Seg Val = '||GT_TRX_TAXABLE_BAL_SEG(j));
2490                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2491                                          'From Cache :: Natural Seg Val = '||GT_TRX_TAXABLE_NATURAL_ACCOUNT(j));
2492              END IF;
2493       ELSE
2494 
2495           GT_TRX_CONTROL_ACCFLEXFIELD(j) := FA_RX_FLEX_PKG.GET_VALUE(
2496                             P_APPLICATION_ID => 101,
2497                             P_ID_FLEX_CODE => 'GL#',
2498                             P_ID_FLEX_NUM => g_coa_id,
2499                             P_QUALIFIER => 'ALL',
2500                             P_CCID => l_trx_dist_ccid);
2501 
2502           GT_TRX_TAXABLE_ACCOUNT_DESC(j) := FA_RX_FLEX_PKG.GET_DESCRIPTION(
2503                             P_APPLICATION_ID => 101,
2504                             P_ID_FLEX_CODE => 'GL#',
2505                             P_ID_FLEX_NUM => g_coa_id,
2506                             P_QUALIFIER => 'ALL',
2507                             P_DATA => GT_TRX_CONTROL_ACCFLEXFIELD(j));
2508 
2509           EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL USING l_trx_dist_ccid;
2510 
2511           IF L_BAL_SEG_VAL IS NOT NULL THEN
2512              L_BAL_SEG_DESC :=  FA_RX_FLEX_PKG.GET_DESCRIPTION(
2513                               P_APPLICATION_ID => 101,
2514                               P_ID_FLEX_CODE => 'GL#',
2515                               P_ID_FLEX_NUM => g_coa_id,
2516                               P_QUALIFIER => 'GL_BALANCING',
2517                               P_DATA => L_BAL_SEG_VAL);
2518           END IF;
2519 
2520           IF L_ACCT_SEG_VAL IS NOT NULL THEN
2521             L_ACCT_SEG_DESC :=  FA_RX_FLEX_PKG.GET_DESCRIPTION(
2522                               P_APPLICATION_ID => 101,
2523                               P_ID_FLEX_CODE => 'GL#',
2524                               P_ID_FLEX_NUM => g_coa_id,
2525                               P_QUALIFIER => 'GL_ACCOUNT',
2526                               P_DATA => L_ACCT_SEG_VAL);
2527           END IF;
2528 
2529           IF GT_TRX_TAXABLE_BAL_SEG(j) IS NULL then
2530               GT_TRX_TAXABLE_BAL_SEG(j)     := L_BAL_SEG_VAL;
2531               GT_TRX_TAXABLE_BALSEG_DESC(j) := L_BAL_SEG_DESC;
2532           ELSE
2533               IF INSTRB(GT_TRX_TAXABLE_BAL_SEG(j),L_BAL_SEG_VAL) > 0 THEN
2534                   NULL;
2535               ELSE
2536                   GT_TRX_TAXABLE_BAL_SEG(j)     := GT_TRX_TAXABLE_BAL_SEG(j) ||','||L_BAL_SEG_VAL;
2537                   GT_TRX_TAXABLE_BALSEG_DESC(j) := GT_TRX_TAXABLE_BALSEG_DESC(j) || ',' ||L_BAL_SEG_DESC;
2538               END IF;
2539           END IF;
2540 
2541           IF GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) IS NULL then
2542               GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
2543               GT_TRX_TAXABLE_NATACCT_DESC(j)    := L_ACCT_SEG_DESC;
2544           ELSE
2545             IF INSTRB(GT_TRX_TAXABLE_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
2546               NULL;
2547             ELSE
2548               GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)||','||L_ACCT_SEG_VAL;
2549               GT_TRX_TAXABLE_NATACCT_DESC(j)     := GT_TRX_TAXABLE_NATACCT_DESC(j)||','||L_ACCT_SEG_DESC;
2550             END IF;
2551           END IF;
2552 
2553           GT_TRX_ARAP_BALANCING_SEGMENT(j) := GT_TRX_TAXABLE_BAL_SEG(j);
2554           GT_TRX_ARAP_NATURAL_ACCOUNT(j)   := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
2555 
2556          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY       := 'TRX'||TO_CHAR(l_trx_dist_ccid);
2557          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL  := GT_TRX_CONTROL_ACCFLEXFIELD(j);
2558          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC := GT_TRX_TAXABLE_ACCOUNT_DESC(j);
2559          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL     := GT_TRX_TAXABLE_BAL_SEG(j);
2560          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC    := GT_TRX_TAXABLE_BALSEG_DESC(j);
2561          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL    := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
2562          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC   := GT_TRX_TAXABLE_NATACCT_DESC(j);
2563 
2564          IF (g_level_procedure >= g_current_runtime_level ) THEN
2565                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2566                                      'From FA_RX_FLEX_PKG :: Hash = '||l_tbl_index_ccid);
2567                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2568                                      'From FA_RX_FLEX_PKG :: Account Flexfield = '||GT_TRX_CONTROL_ACCFLEXFIELD(j));
2569                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2570                                      'From FA_RX_FLEX_PKG :: Account Description = '||GT_TRX_TAXABLE_ACCOUNT_DESC(j));
2571                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2572                                      'From FA_RX_FLEX_PKG :: Balancing Seg Val = '||GT_TRX_TAXABLE_BAL_SEG(j));
2573                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2574                                      'From FA_RX_FLEX_PKG :: Balancing Seg Description = '||GT_TRX_TAXABLE_BALSEG_DESC(j));
2575                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2576                                      'From FA_RX_FLEX_PKG :: Natural Seg Val = '||GT_TRX_TAXABLE_NATURAL_ACCOUNT(j));
2577                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.INV_SEGMENT_INFO',
2578                                      'From FA_RX_FLEX_PKG :: Natural Seg Description = '||GT_TRX_TAXABLE_NATACCT_DESC(j));
2579          END IF;
2580       END IF;  --Cache Exists Check
2581     END IF ;   --TRX CCID Null Check
2582 
2583   END IF; -- Summary Level
2584 
2585   IF (g_level_procedure >= g_current_runtime_level ) THEN
2586     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_segment_info.END',
2587                                       'ZX_AR_POPULATE_PKG: inv_segment_info(-)');
2588   END IF;
2589 
2590 END inv_segment_info;
2591 
2592 
2593 
2594 PROCEDURE inv_actg_amounts(P_TRX_ID                IN NUMBER,
2595                            P_TRX_LINE_ID           IN NUMBER,
2596                            P_TAX_LINE_ID           IN NUMBER,
2597                   --         P_ENTITY_ID             IN NUMBER,
2598                            P_EVENT_ID              IN NUMBER,
2599                            P_AE_HEADER_ID          IN NUMBER,
2600                            P_ACTG_SOURCE_ID        IN NUMBER,
2601                            P_SUMMARY_LEVEL         IN VARCHAR2,
2602                            P_TRX_CLASS             IN VARCHAR2,
2603                            P_LEDGER_ID             IN NUMBER,
2604                            j                       IN binary_integer) IS
2605 -- Transaction Header Level
2606 
2607    CURSOR taxable_amount_hdr (c_trx_id NUMBER, c_ae_header_id NUMBER, c_event_id NUMBER, c_ledger_id NUMBER) IS
2608         SELECT sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)),
2609                sum(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0))
2610          FROM ra_cust_trx_line_gl_dist_all gl_dist,
2611               xla_distribution_links lnk,
2612               xla_ae_headers         aeh,
2613               xla_ae_lines              ael
2614         WHERE gl_dist.customer_trx_id = c_trx_id
2615           AND lnk.application_id = 222
2616           AND gl_dist.account_class = 'REV'
2617           AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2618           AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2619           AND lnk.ae_header_id   = c_ae_header_id
2620           AND lnk.event_id       = c_event_id
2621           AND lnk.ae_line_num    = ael.ae_line_num
2622           AND aeh.ae_header_id   = lnk.ae_header_id
2623           AND aeh.ae_header_id   = ael.ae_header_id
2624           AND aeh.ledger_id      = c_ledger_id
2625           AND aeh.application_id = lnk.application_id
2626           and ael.application_id = aeh.application_id;
2627 
2628 
2629 
2630    CURSOR tax_amount_hdr (c_trx_id NUMBER, c_ae_header_id NUMBER,  c_event_id NUMBER,c_ledger_id NUMBER) IS
2631         SELECT sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)),
2632                sum(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0))
2633          FROM ra_cust_trx_line_gl_dist_all gl_dist,
2634               xla_distribution_links lnk,
2635               xla_ae_headers         aeh,
2636               xla_ae_lines              ael
2637         WHERE gl_dist.customer_trx_id = c_trx_id
2638           AND gl_dist.account_class = 'TAX'
2639           AND lnk.application_id = 222
2640           AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2641           AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2642           AND lnk.ae_header_id   = c_ae_header_id
2643           AND lnk.event_id       = c_event_id
2644           AND lnk.ae_line_num    = ael.ae_line_num
2645           AND aeh.ae_header_id   = ael.ae_header_id
2646           AND aeh.ledger_id      = c_ledger_id
2647           AND aeh.ae_header_id   = lnk.ae_header_id
2648           AND aeh.application_id = lnk.application_id
2649           AND ael.application_id = aeh.application_id;
2650 
2651 
2652 
2653 -- Transaction Line Level
2654 
2655  CURSOR taxable_amount_line (c_trx_id NUMBER,c_trx_line_id NUMBER, c_ae_header_id NUMBER,
2656                              c_event_id NUMBER, c_ledger_id NUMBER) IS
2657         SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
2658          FROM ra_cust_trx_line_gl_dist_all gl_dist,
2659               xla_distribution_links lnk,
2660               xla_ae_headers         aeh,
2661               xla_ae_lines              ael
2662         WHERE gl_dist.customer_trx_id = c_trx_id
2663           AND gl_dist.customer_trx_line_id = c_trx_line_id
2664           AND gl_dist.account_class = 'REV'
2665           AND lnk.application_id = 222
2666           AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2667           AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2668           AND lnk.ae_header_id   = c_ae_header_id
2669           AND lnk.event_id = c_event_id
2670           AND lnk.ae_line_num    = ael.ae_line_num
2671           AND aeh.ae_header_id   = ael.ae_header_id
2672           AND aeh.ledger_id      = c_ledger_id
2673           AND aeh.ae_header_id   = lnk.ae_header_id
2674           AND aeh.application_id = lnk.application_id
2675           AND ael.application_id = aeh.application_id;
2676 
2677 
2678 
2679 CURSOR tax_amount_line (c_trx_id NUMBER,c_tax_line_id NUMBER, c_ae_header_id NUMBER, c_event_id NUMBER, c_ledger_id NUMBER) IS
2680         SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
2681          FROM ra_cust_trx_line_gl_dist_all gl_dist,
2682               xla_distribution_links lnk,
2683               xla_ae_headers         aeh,
2684               xla_ae_lines              ael
2685         WHERE gl_dist.customer_trx_id = c_trx_id
2686           AND gl_dist.customer_trx_line_id = c_tax_line_id
2687           AND gl_dist.account_class = 'TAX'
2688           AND lnk.application_id = 222
2689           AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2690           AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2691           AND lnk.event_id = c_event_id
2692           AND lnk.ae_header_id   = c_ae_header_id
2693           AND lnk.ae_line_num    = ael.ae_line_num
2694           AND aeh.ae_header_id   = ael.ae_header_id
2695           AND aeh.ledger_id      = c_ledger_id
2696           AND aeh.ae_header_id   = lnk.ae_header_id
2697           AND aeh.application_id = lnk.application_id
2698           AND ael.application_id = aeh.application_id;
2699 
2700 
2701 -- Transaction Distribution Level
2702 
2703 
2704 
2705 --CURSOR tax_amount_dist ( c_trx_id NUMBER,c_tax_line_id NUMBER, c_tax_dist_id NUMBER, c_ae_header_id NUMBER,
2706  --                        c_event_id NUMBER, c_ledger_id NUMBER) IS
2707 CURSOR tax_amount_dist ( c_trx_id NUMBER, c_tax_dist_id NUMBER, c_ae_header_id NUMBER,
2708                          c_event_id NUMBER, c_ledger_id NUMBER) IS
2709         SELECT sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)),
2710                sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0))
2711 --sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
2712          FROM ra_cust_trx_line_gl_dist_all gl_dist,
2713               xla_distribution_links lnk,
2714               xla_ae_headers         aeh,
2715               xla_ae_lines              ael
2716         WHERE gl_dist.customer_trx_id = c_trx_id
2717       --    AND gl_dist.customer_trx_line_id = c_tax_line_id
2718           AND gl_dist.cust_trx_line_gl_dist_id = c_tax_dist_id
2719           AND gl_dist.account_class = 'TAX'
2720           AND lnk.application_id = 222
2721           AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2722           AND lnk.source_distribution_id_num_1 = gl_dist.cust_trx_line_gl_dist_id
2723           AND ael.accounting_class_code = 'TAX'
2724           AND lnk.ae_header_id   = ael.ae_header_id
2725           AND lnk.ae_line_num    = ael.ae_line_num
2726           AND lnk.event_id      = c_event_id
2727           AND lnk.ae_header_id   = c_ae_header_id
2728           AND aeh.ae_header_id   = ael.ae_header_id
2729           AND aeh.ledger_id      = c_ledger_id
2730           AND aeh.ae_header_id   = lnk.ae_header_id
2731           AND aeh.application_id = lnk.application_id
2732           AND ael.application_id = aeh.application_id;
2733 
2734 
2735  --todo : RA_CUST_TRX_LINE_GL_DIST_N1 have the customer_trx_line_id column
2736  --Need to check if any addtional filter can be added like ACCOUNT_SET_FLAG,GL_DATE, ACCOUNT_CLASS for gl_dist_line
2737  CURSOR taxable_amount_dist (c_trx_id NUMBER,
2738                              c_trx_line_id NUMBER,
2739                              c_ae_header_id NUMBER,
2740                              c_event_id NUMBER,
2741                              c_ledger_id NUMBER,
2742                              c_tax_dist_id NUMBER) IS
2743         SELECT SIGN(GL_DIST_TAX.PERCENT)* V.TAXABLE_AMT,
2744                SIGN(GL_DIST_TAX.PERCENT)* V.TAXABLE_FUNC_AMT
2745         FROM  RA_CUST_TRX_LINE_GL_DIST_ALL GL_DIST_TAX,
2746                (SELECT SUM(NVL(LNK.UNROUNDED_ENTERED_CR,0) - NVL(LNK.UNROUNDED_ENTERED_DR,0)) TAXABLE_AMT,
2747                        sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0) - nvl(lnk.UNROUNDED_ACCOUNTED_DR,0)) TAXABLE_FUNC_AMT
2748                  FROM ra_cust_trx_line_gl_dist_all gl_dist_line,
2749                       xla_distribution_links lnk,
2750                       xla_ae_headers         aeh,
2751                       xla_ae_lines              ael
2752                 WHERE gl_dist_line.customer_trx_id = c_trx_id
2753                   AND gl_dist_line.customer_trx_line_id = c_trx_line_id
2754                   --     AND gl_dist_line.account_class = 'REV'
2755                   AND lnk.application_id = 222
2756                   AND lnk.source_distribution_type = 'RA_CUST_TRX_LINE_GL_DIST_ALL'
2757                   AND ael.accounting_class_code in ('REVENUE','UNEARNED_REVENUE','SUSPENSE','UNBILL')
2758                   AND lnk.source_distribution_id_num_1 = gl_dist_line.cust_trx_line_gl_dist_id
2759                   AND lnk.ae_header_id   = c_ae_header_id
2760                   AND lnk.event_id       = c_event_id
2761                   AND lnk.ae_line_num    = ael.ae_line_num
2762                   AND aeh.ae_header_id   = ael.ae_header_id
2763                   AND aeh.ledger_id      = c_ledger_id
2764                   AND aeh.ae_header_id   = lnk.ae_header_id
2765                   AND aeh.application_id = lnk.application_id
2766                   AND ael.application_id = aeh.application_id
2767                ) V
2768         WHERE gl_dist_tax.cust_trx_line_gl_dist_id = c_tax_dist_id;
2769 
2770 
2771 BEGIN
2772 
2773     IF (g_level_procedure >= g_current_runtime_level ) THEN
2774         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts.BEGIN',
2775                                       'ZX_AR_POPULATE_PKG: inv_actg_amounts(+)');
2776         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2777                                       'ZX_AR_POPULATE_PKG: inv_actg_amounts :'|| to_char(p_ledger_id));
2778     END IF;
2779 
2780     IF p_summary_level = 'TRANSACTION' THEN
2781       OPEN taxable_amount_hdr(p_trx_id , p_ae_header_id , p_event_id,p_ledger_id );
2782       FETCH taxable_amount_hdr INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
2783        --    EXIT WHEN taxable_amount_hdr%NOTFOUND;
2784        CLOSE taxable_amount_hdr;
2785     IF (g_level_statement >= g_current_runtime_level ) THEN
2786         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2787                'GT_TAXABLE_AMT, GT_TAXABLE_AMT_FUNCL_CURR'||to_char(GT_TAXABLE_AMT(j))
2788                  ||'-'||to_char(GT_TAXABLE_AMT_FUNCL_CURR(j)));
2789     END IF;
2790 
2791 
2792     OPEN tax_amount_hdr(p_trx_id , p_ae_header_id , p_event_id,p_ledger_id);
2793     FETCH tax_amount_hdr INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
2794 --      EXIT WHEN tax_amount_hdr%NOTFOUND;
2795     CLOSE tax_amount_hdr;
2796     IF (g_level_statement >= g_current_runtime_level ) THEN
2797         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2798                'GT_TAX_AMT, GT_TAX_AMT_FUNCL_CURR'||to_char(GT_TAX_AMT(j))
2799                  ||'-'||to_char(GT_TAX_AMT_FUNCL_CURR(j)));
2800     END IF;
2801 
2802   ELSIF p_summary_level = 'TRANSACTION_LINE' THEN
2803     OPEN taxable_amount_line(p_trx_id ,p_trx_line_id, p_ae_header_id , p_event_id,p_ledger_id);
2804     FETCH taxable_amount_line INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
2805   --        EXIT WHEN taxable_amount_line%NOTFOUND;
2806     CLOSE taxable_amount_line;
2807 
2808     OPEN tax_amount_line(p_trx_id , p_trx_line_id, p_ae_header_id , p_event_id,p_ledger_id);
2809     FETCH tax_amount_line INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
2810 --      EXIT WHEN tax_amount_line%NOTFOUND;
2811     CLOSE tax_amount_line;
2812 
2813   ELSIF p_summary_level = 'TRANSACTION_DISTRIBUTION' THEN
2814 
2815     IF (g_level_statement >= g_current_runtime_level ) THEN
2816         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2817           'TRANSACTION DIST LEVEL : p_trx_id - p_event_id - p_ae_header_id- p_trx_line_id'
2818           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
2819           ||'-'||to_char(p_trx_line_id));
2820     END IF;
2821 
2822     OPEN taxable_amount_dist(P_TRX_ID ,p_trx_line_id,p_ae_header_id , p_event_id,p_ledger_id,P_ACTG_SOURCE_ID);
2823     FETCH taxable_amount_dist INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
2824 --         EXIT WHEN taxable_amount_dist%NOTFOUND;
2825     CLOSE taxable_amount_dist;
2826 
2827     IF (g_level_statement >= g_current_runtime_level ) THEN
2828         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2829                'GT_TAXABLE_AMT, GT_TAXABLE_AMT_FUNCL_CURR'||to_char(GT_TAXABLE_AMT(j))
2830                  ||'-'||to_char(GT_TAXABLE_AMT_FUNCL_CURR(j)));
2831     END IF;
2832 
2833     --OPEN tax_amount_dist(p_trx_id ,p_tax_line_id,P_ACTG_SOURCE_ID, p_ae_header_id , p_event_id,p_ledger_id);
2834     OPEN tax_amount_dist(p_trx_id ,P_ACTG_SOURCE_ID, p_ae_header_id , p_event_id,p_ledger_id);
2835     FETCH tax_amount_dist INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
2836  --     EXIT WHEN tax_amount_dist%NOTFOUND;
2837     CLOSE tax_amount_dist;
2838 
2839     IF (g_level_statement >= g_current_runtime_level ) THEN
2840       FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts',
2841                'GT_TAX_AMT, GT_TAX_AMT_FUNCL_CURR'||to_char(GT_TAX_AMT(j))
2842                  ||'-'||to_char(GT_TAX_AMT_FUNCL_CURR(j)));
2843     END IF;
2844 
2845   END IF;
2846 
2847   IF (g_level_procedure >= g_current_runtime_level ) THEN
2848     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.inv_actg_amounts.END',
2849                                       'ZX_AR_POPULATE_PKG: inv_actg_amounts(-)');
2850   END IF;
2851 
2852 END inv_actg_amounts;
2853 
2854 
2855 PROCEDURE other_trx_segment_info(P_TRX_ID                IN NUMBER,
2856                               P_TRX_LINE_ID           IN NUMBER,
2857                               P_TAX_LINE_ID           IN NUMBER,
2858                    --           P_ENTITY_ID             IN NUMBER,
2859                               P_EVENT_ID              IN NUMBER,
2860                               P_AE_HEADER_ID          IN NUMBER,
2861                               P_ACTG_SOURCE_ID         IN NUMBER,
2862                               P_BALANCING_SEGMENT     IN VARCHAR2,
2863                               P_ACCOUNTING_SEGMENT    IN VARCHAR2,
2864                               P_SUMMARY_LEVEL         IN VARCHAR2,
2865                               P_TRX_CLASS             IN VARCHAR2,
2866                               j                       IN binary_integer) IS
2867 
2868     CURSOR trx_ccid (c_actg_source_id  number, c_event_id number, c_ae_header_id number) IS
2869                   SELECT
2870                          ael.code_combination_id
2871                     FROM  ar_distributions_all dist,
2872                          xla_distribution_links lnk,
2873                          xla_ae_lines              ael
2874                    WHERE dist.line_id  = c_actg_source_id
2875                      AND lnk.application_id = 222
2876                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2877                      AND lnk.source_distribution_id_num_1 = dist.line_id
2878                      AND lnk.ae_header_id   = ael.ae_header_id
2879                      AND lnk.ae_line_num    = ael.ae_line_num
2880                      AND lnk.event_id = c_event_id
2881                      AND lnk.ae_header_id = c_ae_header_id
2882                      AND lnk.application_id = ael.application_id
2883               AND rownum =1;
2884 
2885    /* CURSOR trx_dist_ccid (c_actg_source_id  number, c_event_id number, c_ae_header_id number) IS
2886             SELECT  ael.code_combination_id
2887                     FROM  ar_distributions_all dist,
2888                           ar_distributions_all taxdist,
2889                          xla_distribution_links lnk,
2890                          xla_ae_lines              ael
2891                    WHERE taxdist.line_id  = p_actg_source_id
2892                      AND NVL(dist.source_table,'X') = NVL(taxdist.source_table_secondary,'X')
2893                      AND dist.tax_link_id = taxdist.tax_link_id
2894                      AND dist.source_id = taxdist.source_id
2895                      AND lnk.source_distribution_id_num_1 = dist.line_id
2896                      AND lnk.application_id = 222
2897                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2898                      AND lnk.ae_header_id   = ael.ae_header_id
2899                      AND lnk.ae_line_num    = ael.ae_line_num
2900                      AND lnk.event_id = c_event_id
2901                      AND lnk.ae_header_id = c_ae_header_id
2902                      AND lnk.application_id = ael.application_id
2903               AND rownum =1;
2904     */
2905 
2906     CURSOR trx_dist_ccid_misc (c_trx_line_id  number, c_event_id number, c_ae_header_id number) IS
2907                   SELECT ael.code_combination_id
2908                     FROM ar_distributions_all dist,
2909                          xla_distribution_links lnk,
2910                          xla_ae_lines              ael
2911                    WHERE dist.line_id  = c_trx_line_id
2912                      AND dist.source_table= 'MCD'
2913                      AND lnk.source_distribution_id_num_1 = dist.line_id
2914                      AND lnk.application_id = 222
2915                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2916                      AND lnk.ae_header_id   = ael.ae_header_id
2917                      AND lnk.ae_line_num    = ael.ae_line_num
2918                      AND lnk.event_id = c_event_id
2919                      AND lnk.ae_header_id = c_ae_header_id
2920                      AND lnk.application_id = ael.application_id
2921                      AND rownum =1;
2922 
2923     CURSOR trx_dist_ccid_app (c_trx_line_id  number, c_event_id number, c_ae_header_id number) IS
2924                   SELECT ael.code_combination_id
2925                     FROM ar_distributions_all dist,
2926                          xla_distribution_links lnk,
2927                          xla_ae_lines              ael
2928                    WHERE dist.line_id  = c_trx_line_id
2929                      AND dist.source_table= 'RA'
2930                      AND lnk.source_distribution_id_num_1 = dist.line_id
2931                      AND lnk.application_id = 222
2932                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2933                      AND lnk.ae_header_id   = ael.ae_header_id
2934                      AND lnk.ae_line_num    = ael.ae_line_num
2935                      AND lnk.event_id = c_event_id
2936                      AND lnk.ae_header_id = c_ae_header_id
2937                      AND lnk.application_id = ael.application_id
2938                      AND rownum =1;
2939 
2940     CURSOR trx_dist_ccid_adj (c_trx_line_id  number, c_event_id number, c_ae_header_id number) IS
2941                   SELECT ael.code_combination_id
2942                     FROM ar_distributions_all dist,
2943                          xla_distribution_links lnk,
2944                          xla_ae_lines              ael
2945                    WHERE dist.line_id  = c_trx_line_id
2946                      AND dist.source_table= 'ADJ'
2947                      AND lnk.source_distribution_id_num_1 = dist.line_id
2948                      AND lnk.application_id = 222
2949                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2950                      AND lnk.ae_header_id   = ael.ae_header_id
2951                      AND lnk.ae_line_num    = ael.ae_line_num
2952                      AND lnk.event_id = c_event_id
2953                      AND lnk.ae_header_id = c_ae_header_id
2954                      AND lnk.application_id = ael.application_id
2955                      AND rownum =1;
2956 
2957     CURSOR tax_ccid (c_actg_source_id number, c_event_id number, c_ae_header_id number) IS
2958             SELECT  ael.code_combination_id
2959                     FROM  ar_distributions_all dist,
2960                           ar_distributions_all taxdist,
2961                          xla_distribution_links lnk,
2962                          xla_ae_lines              ael
2963                    WHERE dist.line_id  = c_actg_source_id
2964                      AND NVL(dist.source_table,'X') = NVL(taxdist.source_table_secondary,'X')
2965                      AND dist.tax_link_id = taxdist.tax_link_id
2966                      AND dist.source_id = taxdist.source_id
2967                      AND lnk.source_distribution_id_num_1 = taxdist.line_id
2968                      AND lnk.application_id = 222
2969                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2970                      AND lnk.ae_header_id   = ael.ae_header_id
2971                      AND lnk.ae_line_num    = ael.ae_line_num
2972                      AND lnk.event_id = c_event_id
2973                      AND lnk.ae_header_id = c_ae_header_id
2974                      AND lnk.application_id = ael.application_id
2975               AND rownum =1;
2976 
2977   CURSOR tax_dist_ccid (c_actg_source_id number, c_event_id number, c_ae_header_id number) IS
2978                   SELECT
2979                          ael.code_combination_id
2980                     FROM  ar_distributions_all taxdist,
2981                          xla_distribution_links lnk,
2982                          xla_ae_lines              ael
2983                    WHERE taxdist.line_id  = c_actg_source_id
2984                      AND lnk.application_id = 222
2985                      AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
2986                      AND lnk.source_distribution_id_num_1 = taxdist.line_id
2987                      AND lnk.ae_header_id   = ael.ae_header_id
2988                      AND lnk.ae_line_num    = ael.ae_line_num
2989                      AND ael.accounting_class_code <> 'UNAPP'
2990                      AND lnk.event_id = c_event_id
2991                      AND lnk.ae_header_id = c_ae_header_id
2992                      AND lnk.application_id = ael.application_id
2993               AND rownum =1;
2994 
2995 
2996 
2997   L_BAL_SEG_VAL  VARCHAR2(240);
2998   L_BAL_SEG_DESC  VARCHAR2(240);
2999   L_ACCT_SEG_VAL VARCHAR2(240);
3000   L_ACCT_SEG_DESC  VARCHAR2(240);
3001   L_SQL_STATEMENT1     VARCHAR2(1000);
3002  l_ccid number;
3003  l_tax_dist_ccid number;
3004  L_TRX_DIST_CCID NUMBER ;
3005  l_tbl_index_ccid      BINARY_INTEGER;
3006 BEGIN
3007 
3008     IF (g_level_procedure >= g_current_runtime_level ) THEN
3009         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info.BEGIN',
3010                                       'ZX_AR_POPULATE_PKG: other_trx_segment_info(+)');
3011     END IF;
3012 
3013   GT_TRX_ARAP_BALANCING_SEGMENT(j)    := NULL;
3014   GT_TRX_ARAP_NATURAL_ACCOUNT(j)      := NULL;
3015   GT_TRX_TAXABLE_BAL_SEG(j)           := NULL;
3016   GT_TRX_TAXABLE_BALSEG_DESC(j)       := NULL;
3017   GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)   := NULL;
3018   GT_TRX_TAX_BALANCING_SEGMENT(j)     := NULL;
3019   GT_TRX_TAX_NATURAL_ACCOUNT(j)       := NULL;
3020 
3021 
3022   L_BAL_SEG_VAL := '';
3023   L_BAL_SEG_DESC := '';
3024   L_ACCT_SEG_VAL := '';
3025   L_ACCT_SEG_DESC:= '';
3026 
3027   L_SQL_STATEMENT1 := ' SELECT '||P_BALANCING_SEGMENT ||','||P_ACCOUNTING_SEGMENT ||
3028                       ' FROM GL_CODE_COMBINATIONS '||
3029                       ' WHERE CODE_COMBINATION_ID = :L_CCID ';
3030 
3031 
3032   IF P_SUMMARY_LEVEL = 'TRANSACTION' OR P_SUMMARY_LEVEL = 'TRANSACTION_LINE' THEN
3033 
3034     OPEN trx_ccid (p_actg_source_id, p_event_id, p_ae_header_id);
3035     LOOP
3036       FETCH trx_ccid INTO l_ccid;
3037       EXIT WHEN trx_ccid%NOTFOUND;
3038 
3039       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
3040                                           USING l_ccid;
3041 
3042       IF GT_TRX_TAXABLE_BAL_SEG(j) IS NULL then
3043           GT_TRX_TAXABLE_BAL_SEG(j) := L_BAL_SEG_VAL;
3044       ELSE
3045           IF INSTRB(GT_TRX_TAXABLE_BAL_SEG(j),L_BAL_SEG_VAL) > 0 THEN
3046               NULL;
3047           ELSE
3048               GT_TRX_TAXABLE_BAL_SEG(j)  := GT_TRX_TAXABLE_BAL_SEG(j)
3049                                            ||','||L_BAL_SEG_VAL;
3050           END IF;
3051       END IF;
3052 
3053 
3054       IF GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) IS NULL then
3055           GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
3056       ELSE
3057           IF INSTRB(GT_TRX_TAXABLE_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
3058               NULL;
3059           ELSE
3060               GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)
3061                                            ||','||L_ACCT_SEG_VAL;
3062           END IF;
3063       END IF;
3064 
3065       GT_TRX_ARAP_BALANCING_SEGMENT(j) := GT_TRX_TAXABLE_BAL_SEG(j);
3066       GT_TRX_ARAP_NATURAL_ACCOUNT(j)   := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
3067     END LOOP;
3068 
3069 
3070     OPEN tax_ccid (p_actg_source_id, p_event_id, p_ae_header_id);
3071     LOOP
3072       FETCH tax_ccid INTO l_ccid;
3073       EXIT WHEN tax_ccid%NOTFOUND;
3074 
3075       EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
3076                                         USING l_ccid;
3077 
3078       IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
3079           GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
3080       ELSE
3081           IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
3082               NULL;
3083           ELSE
3084               GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
3085                                            ||','||L_BAL_SEG_VAL;
3086           END IF;
3087       END IF;
3088 
3089 
3090       IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
3091           GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
3092       ELSE
3093           IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
3094               NULL;
3095           ELSE
3096               GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
3097                                            ||','||L_ACCT_SEG_VAL;
3098           END IF;
3099       END IF;
3100 
3101     END LOOP;
3102   ELSIF P_SUMMARY_LEVEL = 'TRANSACTION_DISTRIBUTION' THEN
3103     IF (g_level_statement >= g_current_runtime_level ) THEN
3104         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info',
3105           'TRANSACTION DIST LEVEL : p_trx_id - p_event_id - p_ae_header_id- p_trx_line_id'
3106           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
3107           ||'-'||to_char(p_trx_line_id)||'-'||to_char(l_ccid));
3108         FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info',
3109           'L_SQL_STATEMENT1: ' ||L_SQL_STATEMENT1);
3110     END IF;
3111 
3112     IF p_event_id IS NOT NULL AND p_ae_header_id IS NOT NULL THEN
3113       IF  P_TRX_CLASS = 'MISC_CASH_RECEIPT' THEN
3114         OPEN trx_dist_ccid_misc(p_trx_line_id, p_event_id, p_ae_header_id);
3115       END IF;
3116       IF P_TRX_CLASS IN ('APP','EDISC','UNEDISC') THEN
3117         OPEN trx_dist_ccid_app(p_trx_line_id, p_event_id, p_ae_header_id);
3118       END IF;
3119       IF P_TRX_CLASS IN ('ADJ','FINCHRG') THEN
3120         OPEN trx_dist_ccid_adj(p_trx_line_id, p_event_id, p_ae_header_id);
3121       END IF;
3122       LOOP
3123         IF P_TRX_CLASS = 'MISC_CASH_RECEIPT' THEN
3124           FETCH trx_dist_ccid_misc INTO l_ccid;
3125           EXIT WHEN trx_dist_ccid_misc%NOTFOUND;
3126         END IF;
3127         IF P_TRX_CLASS IN ('APP','EDISC','UNEDISC') THEN
3128           FETCH trx_dist_ccid_app INTO l_ccid;
3129           EXIT WHEN trx_dist_ccid_app%NOTFOUND;
3130         END IF;
3131         IF P_TRX_CLASS IN ('ADJ','FINCHRG') THEN
3132           FETCH trx_dist_ccid_adj INTO l_ccid;
3133           EXIT WHEN trx_dist_ccid_adj%NOTFOUND;
3134         END IF;
3135 
3136         l_trx_dist_ccid := l_ccid; --Bug 5510907
3137       END LOOP;
3138 
3139       IF  P_TRX_CLASS = 'MISC_CASH_RECEIPT' THEN
3140         CLOSE trx_dist_ccid_misc;
3141       END IF;
3142       IF  P_TRX_CLASS IN ('APP','EDISC','UNEDISC') THEN
3143         CLOSE trx_dist_ccid_app;
3144       END IF;
3145       IF  P_TRX_CLASS IN ('ADJ','FINCHRG') THEN
3146         CLOSE trx_dist_ccid_adj;
3147       END IF;
3148 
3149       IF (g_level_statement >= g_current_runtime_level ) THEN
3150          FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info',
3151         'Done Closing trx_dist_ccid_ cursors');
3152       END IF;
3153 
3154       BEGIN
3155 
3156         OPEN tax_dist_ccid (p_actg_source_id, p_event_id, p_ae_header_id);
3157         LOOP
3158         FETCH tax_dist_ccid INTO l_ccid;
3159         EXIT WHEN tax_dist_ccid%NOTFOUND;
3160           l_tax_dist_ccid := l_ccid;
3161           EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
3162                                             USING l_ccid;
3163 
3164           IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
3165               GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
3166           ELSE
3167               IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
3168                   NULL;
3169               ELSE
3170                   GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
3171                                                ||','||L_BAL_SEG_VAL;
3172               END IF;
3173           END IF;
3174 
3175           IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
3176               GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
3177           ELSE
3178               IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
3179                   NULL;
3180               ELSE
3181                   GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
3182                                                ||','||L_ACCT_SEG_VAL;
3183               END IF;
3184           END IF;
3185 
3186         END LOOP;
3187 
3188         CLOSE tax_dist_ccid;
3189 
3190      EXCEPTION
3191        WHEN NO_DATA_FOUND THEN
3192          CLOSE tax_dist_ccid;
3193      END;
3194 
3195 
3196    ELSE   -- Adjustments for Tax Reconciliation Report ---
3197 
3198      BEGIN
3199        SELECT CODE_COMBINATION_ID INTO l_ccid
3200          FROM AR_DISTRIBUTIONS_ALL
3201         WHERE LINE_ID = P_ACTG_SOURCE_ID;
3202           --SOURCE_ID = P_TRX_LINE_ID
3203 
3204        agt_actg_line_ccid(j) := l_ccid;
3205 
3206        l_tax_dist_ccid := l_ccid;
3207        EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL
3208                                           USING l_ccid;
3209 
3210        IF (g_level_statement >= g_current_runtime_level ) THEN
3211          FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info',
3212           'Tax Line :  trx id - P_ACTG_SOURCE_ID- ccid :' ||to_char(p_trx_id)
3213            ||'-'||to_char(P_ACTG_SOURCE_ID)||'-'||to_char(l_ccid)||'-'||L_BAL_SEG_VAL);
3214        END IF;
3215 
3216 
3217        IF GT_TRX_TAX_BALANCING_SEGMENT(j) IS NULL then
3218             GT_TRX_TAX_BALANCING_SEGMENT(j) := L_BAL_SEG_VAL;
3219             GT_TRX_TAXABLE_BALSEG_DESC(j) := L_BAL_SEG_DESC;
3220        ELSE
3221          IF INSTRB(GT_TRX_TAX_BALANCING_SEGMENT(j),L_BAL_SEG_VAL) > 0 THEN
3222                 NULL;
3223          ELSE
3224               GT_TRX_TAX_BALANCING_SEGMENT(j)  := GT_TRX_TAX_BALANCING_SEGMENT(j)
3225                                             ||','||L_BAL_SEG_VAL;
3226          END IF;
3227        END IF;
3228 
3229        IF GT_TRX_TAX_NATURAL_ACCOUNT(j) IS NULL then
3230          GT_TRX_TAX_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
3231        ELSE
3232          IF INSTRB(GT_TRX_TAX_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
3233            NULL;
3234          ELSE
3235            GT_TRX_TAX_NATURAL_ACCOUNT(j)  := GT_TRX_TAX_NATURAL_ACCOUNT(j)
3236                                              ||','||L_ACCT_SEG_VAL;
3237          END IF;
3238        END IF;
3239      exception
3240        when no_data_found then
3241          NULL;
3242      END;
3243 
3244     END IF;
3245 
3246       IF l_tax_dist_ccid IS NOT NULL AND l_tax_dist_ccid <> -1 THEN
3247 
3248         l_tbl_index_ccid := dbms_utility.get_hash_value('tax'||LPAD(TO_CHAR(l_tax_dist_ccid),15,'0'), 1,8192);
3249         IF ZX_EXTRACT_PKG.g_ccid_val_desc_tbl.EXISTS(l_tbl_index_ccid) AND
3250            ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY = 'tax'||TO_CHAR(l_tax_dist_ccid) THEN
3251 
3252                GT_ACCOUNT_FLEXFIELD(j)   := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL;
3253                GT_ACCOUNT_DESCRIPTION(j) := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC;
3254 
3255                IF (g_level_procedure >= g_current_runtime_level ) THEN
3256                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3257                                            'From Cache :: Hash = '||l_tbl_index_ccid);
3258                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3259                                            'From Cache :: Account Flexfield = '||GT_ACCOUNT_FLEXFIELD(j));
3260                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3261                                            'From Cache :: Account Description = '||GT_ACCOUNT_DESCRIPTION(j));
3262                END IF;
3263         ELSE
3264 
3265               GT_ACCOUNT_FLEXFIELD(j) := FA_RX_FLEX_PKG.GET_VALUE(
3266                                 P_APPLICATION_ID => 101,
3267                                 P_ID_FLEX_CODE => 'GL#',
3268                                 P_ID_FLEX_NUM => g_coa_id,
3269                                 P_QUALIFIER => 'ALL',
3270                                 P_CCID => l_tax_dist_ccid);
3271               GT_ACCOUNT_DESCRIPTION(j) := FA_RX_FLEX_PKG.GET_DESCRIPTION(
3272                                 P_APPLICATION_ID => 101,
3273                                 P_ID_FLEX_CODE => 'GL#',
3274                                 P_ID_FLEX_NUM => g_coa_id,
3275                                 P_QUALIFIER => 'ALL',
3276                                 P_DATA => GT_ACCOUNT_FLEXFIELD(j));
3277 
3278                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY       := 'tax'||TO_CHAR(l_tax_dist_ccid);
3279                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL  := GT_ACCOUNT_FLEXFIELD(j);
3280                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC := GT_ACCOUNT_DESCRIPTION(j);
3281                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC    := NULL;
3282                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC   := NULL;
3283                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL     := NULL;
3284                ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL    := NULL;
3285 
3286                IF (g_level_procedure >= g_current_runtime_level ) THEN
3287                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3288                                            'From FA_RX_FLEX_PKG :: Hash = '||l_tbl_index_ccid);
3289                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3290                                            'From FA_RX_FLEX_PKG :: Account Flexfield = '||GT_ACCOUNT_FLEXFIELD(j));
3291                                         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3292                                            'From FA_RX_FLEX_PKG :: Account Description = '||GT_ACCOUNT_DESCRIPTION(j));
3293                END IF;
3294 
3295         END IF; --Cache Exists Check
3296       END IF;   --TAX CCID Null Check
3297 
3298     IF l_trx_dist_ccid IS NOT NULL AND l_trx_dist_ccid <> -1 THEN
3299 
3300       l_tbl_index_ccid := dbms_utility.get_hash_value('TRX'||LPAD(TO_CHAR(l_trx_dist_ccid),15,'0'), 1,8192);
3301 
3302       IF ZX_EXTRACT_PKG.g_ccid_val_desc_tbl.EXISTS(l_tbl_index_ccid) AND
3303          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY = 'TRX'||TO_CHAR(l_trx_dist_ccid) THEN
3304 
3305              GT_TRX_CONTROL_ACCFLEXFIELD(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL;
3306              GT_TRX_TAXABLE_ACCOUNT_DESC(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC;
3307              GT_TRX_TAXABLE_BAL_SEG(j)          := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL;
3308              GT_TRX_TAXABLE_BALSEG_DESC(j)      := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC;
3309              GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL;
3310              GT_TRX_TAXABLE_NATACCT_DESC(j)     := ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC;
3311 
3312              GT_TRX_ARAP_BALANCING_SEGMENT(j)   := GT_TRX_TAXABLE_BAL_SEG(j);
3313              GT_TRX_ARAP_NATURAL_ACCOUNT(j)     := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
3314 
3315              IF (g_level_procedure >= g_current_runtime_level ) THEN
3316                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3317                                          'From Cache :: Hash = '||l_tbl_index_ccid);
3318                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3319                                          'From Cache :: Account Flexfield = '||GT_TRX_CONTROL_ACCFLEXFIELD(j));
3320                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3321                                          'From Cache :: Account Description = '||GT_TRX_TAXABLE_ACCOUNT_DESC(j));
3322                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3323                                          'From Cache :: Balancing Seg Description = '||GT_TRX_TAXABLE_BALSEG_DESC(j));
3324                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3325                                          'From Cache :: Natural Seg Description = '||GT_TRX_TAXABLE_NATACCT_DESC(j));
3326                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3327                                          'From Cache :: Balancing Seg Val = '||GT_TRX_TAXABLE_BAL_SEG(j));
3328                                       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3329                                          'From Cache :: Natural Seg Val = '||GT_TRX_TAXABLE_NATURAL_ACCOUNT(j));
3330              END IF;
3331       ELSE
3332 
3333           GT_TRX_CONTROL_ACCFLEXFIELD(j) := FA_RX_FLEX_PKG.GET_VALUE(
3334                             P_APPLICATION_ID => 101,
3335                             P_ID_FLEX_CODE => 'GL#',
3336                             P_ID_FLEX_NUM => g_coa_id,
3337                             P_QUALIFIER => 'ALL',
3338                             P_CCID => l_trx_dist_ccid);
3339 
3340           GT_TRX_TAXABLE_ACCOUNT_DESC(j) := FA_RX_FLEX_PKG.GET_DESCRIPTION(
3341                             P_APPLICATION_ID => 101,
3342                             P_ID_FLEX_CODE => 'GL#',
3343                             P_ID_FLEX_NUM => g_coa_id,
3344                             P_QUALIFIER => 'ALL',
3345                             P_DATA => GT_TRX_CONTROL_ACCFLEXFIELD(j));
3346 
3347           EXECUTE IMMEDIATE L_SQL_STATEMENT1 INTO  L_BAL_SEG_VAL, L_ACCT_SEG_VAL USING l_trx_dist_ccid;
3348 
3349           IF L_BAL_SEG_VAL IS NOT NULL THEN
3350              L_BAL_SEG_DESC :=  FA_RX_FLEX_PKG.GET_DESCRIPTION(
3351                               P_APPLICATION_ID => 101,
3352                               P_ID_FLEX_CODE => 'GL#',
3353                               P_ID_FLEX_NUM => g_coa_id,
3354                               P_QUALIFIER => 'GL_BALANCING',
3355                               P_DATA => L_BAL_SEG_VAL);
3356           END IF;
3357 
3358           IF L_ACCT_SEG_VAL IS NOT NULL THEN
3359             L_ACCT_SEG_DESC :=  FA_RX_FLEX_PKG.GET_DESCRIPTION(
3360                               P_APPLICATION_ID => 101,
3361                               P_ID_FLEX_CODE => 'GL#',
3362                               P_ID_FLEX_NUM => g_coa_id,
3363                               P_QUALIFIER => 'GL_ACCOUNT',
3364                               P_DATA => L_ACCT_SEG_VAL);
3365           END IF;
3366 
3367           IF GT_TRX_TAXABLE_BAL_SEG(j) IS NULL then
3368               GT_TRX_TAXABLE_BAL_SEG(j)     := L_BAL_SEG_VAL;
3369               GT_TRX_TAXABLE_BALSEG_DESC(j) := L_BAL_SEG_DESC;
3370           ELSE
3371               IF INSTRB(GT_TRX_TAXABLE_BAL_SEG(j),L_BAL_SEG_VAL) > 0 THEN
3372                   NULL;
3373               ELSE
3374                   GT_TRX_TAXABLE_BAL_SEG(j)     := GT_TRX_TAXABLE_BAL_SEG(j) ||','||L_BAL_SEG_VAL;
3375                   GT_TRX_TAXABLE_BALSEG_DESC(j) := GT_TRX_TAXABLE_BALSEG_DESC(j) || ',' ||L_BAL_SEG_DESC;
3376               END IF;
3377           END IF;
3378 
3379           IF GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) IS NULL then
3380               GT_TRX_TAXABLE_NATURAL_ACCOUNT(j) := L_ACCT_SEG_VAL;
3381               GT_TRX_TAXABLE_NATACCT_DESC(j)    := L_ACCT_SEG_DESC;
3382           ELSE
3383             IF INSTRB(GT_TRX_TAXABLE_NATURAL_ACCOUNT(j),L_BAL_SEG_VAL) > 0 THEN
3384               NULL;
3385             ELSE
3386               GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)  := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j)||','||L_ACCT_SEG_VAL;
3387               GT_TRX_TAXABLE_NATACCT_DESC(j)     := GT_TRX_TAXABLE_NATACCT_DESC(j)||','||L_ACCT_SEG_DESC;
3388             END IF;
3389           END IF;
3390 
3391           GT_TRX_ARAP_BALANCING_SEGMENT(j) := GT_TRX_TAXABLE_BAL_SEG(j);
3392           GT_TRX_ARAP_NATURAL_ACCOUNT(j)   := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
3393 
3394          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).CCID_KEY       := 'TRX'||TO_CHAR(l_trx_dist_ccid);
3395          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_VAL  := GT_TRX_CONTROL_ACCFLEXFIELD(j);
3396          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).FLEXFIELD_DESC := GT_TRX_TAXABLE_ACCOUNT_DESC(j);
3397          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_VAL     := GT_TRX_TAXABLE_BAL_SEG(j);
3398          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).BALSEG_DESC    := GT_TRX_TAXABLE_BALSEG_DESC(j);
3399          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_VAL    := GT_TRX_TAXABLE_NATURAL_ACCOUNT(j);
3400          ZX_EXTRACT_PKG.g_ccid_val_desc_tbl(l_tbl_index_ccid).NATACCT_DESC   := GT_TRX_TAXABLE_NATACCT_DESC(j);
3401 
3402          IF (g_level_procedure >= g_current_runtime_level ) THEN
3403                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3404                                      'From FA_RX_FLEX_PKG :: Hash = '||l_tbl_index_ccid);
3405                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3406                                      'From FA_RX_FLEX_PKG :: Account Flexfield = '||GT_TRX_CONTROL_ACCFLEXFIELD(j));
3407                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3408                                      'From FA_RX_FLEX_PKG :: Account Description = '||GT_TRX_TAXABLE_ACCOUNT_DESC(j));
3409                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3410                                      'From FA_RX_FLEX_PKG :: Balancing Seg Val = '||GT_TRX_TAXABLE_BAL_SEG(j));
3411                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3412                                      'From FA_RX_FLEX_PKG :: Balancing Seg Description = '||GT_TRX_TAXABLE_BALSEG_DESC(j));
3413                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3414                                      'From FA_RX_FLEX_PKG :: Natural Seg Val = '||GT_TRX_TAXABLE_NATURAL_ACCOUNT(j));
3415                                   FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.OTHER_TRX_SEGMENT_INFO',
3416                                      'From FA_RX_FLEX_PKG :: Natural Seg Description = '||GT_TRX_TAXABLE_NATACCT_DESC(j));
3417          END IF;
3418       END IF;  --Cache Exists Check
3419     END IF;  --l_trx_dist_ccid not null Check
3420 
3421 
3422      --Bug 5510907 : To get the accounting Flexfield for the Taxable Line
3423 
3424 --       IF l_trx_dist_ccid IS NOT NULL AND l_trx_dist_ccid <> -1 THEN
3425 --
3426 --          GT_TRX_CONTROL_ACCFLEXFIELD(j) := FA_RX_FLEX_PKG.GET_VALUE(
3427 --                            P_APPLICATION_ID => 101,
3428 --                            P_ID_FLEX_CODE => 'GL#',
3429 --                            P_ID_FLEX_NUM => g_coa_id,
3430 --                            P_QUALIFIER => 'ALL',
3431 --                            P_CCID => l_trx_dist_ccid);
3432 --
3433 --          IF (g_level_statement >= g_current_runtime_level ) THEN
3434 --                FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AP_POPULATE_PKG.other_trx_segment_info',
3435 --                                      'other_trx_segment_info : GT_TRX_CONTROL_ACCFLEXFIELD(j) = '||GT_TRX_CONTROL_ACCFLEXFIELD(j));
3436 --          END IF;
3437 --       END IF ;
3438 
3439       ---- End of accounting flexfield population -----------------------
3440 
3441 END IF; -- Summary Level
3442     IF (g_level_procedure >= g_current_runtime_level ) THEN
3443         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_segment_info.END',
3444                                       'ZX_AR_POPULATE_PKG: other_trx_segment_info(-)');
3445     END IF;
3446 
3447 END other_trx_segment_info;
3448 
3449 
3450 
3451 
3452 PROCEDURE other_trx_actg_amounts(P_TRX_ID                IN NUMBER,
3453                                  P_TRX_LINE_ID           IN NUMBER,
3454                                  P_TAX_LINE_ID           IN NUMBER,
3455                   --               P_ENTITY_ID             IN NUMBER,
3456                                  P_EVENT_ID              IN NUMBER,
3457                                  P_AE_HEADER_ID          IN NUMBER,
3458                                  P_ACTG_SOURCE_ID           IN NUMBER,
3459                                  P_SUMMARY_LEVEL         IN VARCHAR2,
3460                                  P_TRX_CLASS             IN VARCHAR2,
3461                                  P_LEDGER_ID             IN NUMBER,
3462                                  j                       IN binary_integer) IS
3463 -- Transaction Header Level
3464    CURSOR taxable_amount_hdr (c_actg_source_id NUMBER, c_ae_header_id NUMBER,
3465                                c_event_id NUMBER,c_ledger_id NUMBER) IS
3466         SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
3467          FROM ar_distributions_all dist,
3468               xla_distribution_links lnk,
3469               xla_ae_headers         aeh,
3470               xla_ae_lines              ael
3471         WHERE dist.line_id  = c_actg_source_id
3472           AND lnk.application_id = 222
3473           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3474           AND lnk.source_distribution_id_num_1 = dist.line_id
3475           AND lnk.ae_header_id   = c_ae_header_id
3476           AND lnk.event_id = c_event_id
3477           AND lnk.ae_line_num    = ael.ae_line_num
3478           AND aeh.ae_header_id   = ael.ae_header_id
3479           AND aeh.ledger_id = c_ledger_id
3480           AND aeh.ae_header_id   = lnk.ae_header_id
3481           AND aeh.application_id = lnk.application_id
3482           AND ael.application_id = aeh.application_id;
3483 
3484 
3485    CURSOR tax_amount_hdr (c_actg_source_id NUMBER, c_ae_header_id NUMBER,
3486                             c_event_id NUMBER,c_ledger_id NUMBER) IS
3487        SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
3488          FROM AR_DISTRIBUTIONS_ALL dist,
3489               AR_DISTRIBUTIONS_ALL taxdist,
3490               xla_distribution_links lnk,
3491               xla_ae_headers         aeh,
3492               xla_ae_lines              ael
3493         WHERE dist.line_id = c_actg_source_id
3494           AND taxdist.tax_link_id = dist.tax_link_id
3495           AND NVL(taxdist.source_type_secondary,'X') = NVL(dist.source_type,'X')
3496           AND taxdist.source_id = dist.source_id
3497           AND lnk.source_distribution_id_num_1 = taxdist.line_id
3498           AND lnk.application_id = 222
3499           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3500           AND lnk.ae_header_id   = c_ae_header_id
3501           AND lnk.event_id = c_event_id
3502           AND lnk.ae_line_num    = ael.ae_line_num
3503           AND aeh.ae_header_id   = ael.ae_header_id
3504           AND aeh.ledger_id = c_ledger_id
3505           AND aeh.ae_header_id   = lnk.ae_header_id
3506           AND aeh.application_id = lnk.application_id
3507           AND ael.application_id = aeh.application_id;
3508 
3509 
3510 -- Transaction Distribution Level
3511 
3512    CURSOR taxable_amount_dist_misc(c_trx_line_id NUMBER, c_ae_header_id NUMBER, c_event_id NUMBER,c_ledger_id NUMBER) IS
3513        --SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
3514        SELECT sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)),
3515               sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0))
3516          FROM AR_DISTRIBUTIONS_ALL dist,
3517               xla_distribution_links lnk,
3518               xla_ae_headers         aeh,
3519               xla_ae_lines              ael
3520         WHERE dist.line_id = c_trx_line_id
3521           AND lnk.source_distribution_id_num_1 = dist.line_id
3522           AND lnk.application_id = 222
3523           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3524           AND lnk.ae_header_id   = c_ae_header_id
3525           AND lnk.event_id = c_event_id
3526           AND lnk.ae_line_num    = ael.ae_line_num
3527           AND aeh.ae_header_id   = ael.ae_header_id
3528           AND aeh.ledger_id = c_ledger_id
3529           AND aeh.ae_header_id   = lnk.ae_header_id
3530           AND aeh.application_id = lnk.application_id
3531           AND ael.application_id = aeh.application_id
3532           and ael.accounting_class_code = 'MISC_CASH';
3533 
3534    CURSOR taxable_amount_dist_app(c_trx_line_id NUMBER, c_ae_header_id NUMBER, c_event_id NUMBER,c_ledger_id NUMBER) IS
3535        SELECT sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)),
3536               sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0))
3537          FROM AR_DISTRIBUTIONS_ALL dist,
3538               xla_distribution_links lnk,
3539               xla_ae_headers         aeh,
3540               xla_ae_lines              ael
3541         WHERE dist.line_id = c_trx_line_id
3542           AND lnk.source_distribution_id_num_1 = dist.line_id
3543           AND lnk.application_id = 222
3544           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3545           AND lnk.ae_header_id   = c_ae_header_id
3546           AND lnk.event_id = c_event_id
3547           AND lnk.ae_line_num    = ael.ae_line_num
3548           AND aeh.ae_header_id   = ael.ae_header_id
3549           AND aeh.ledger_id = c_ledger_id
3550           AND aeh.ae_header_id   = lnk.ae_header_id
3551           AND aeh.application_id = lnk.application_id
3552           AND ael.application_id = aeh.application_id ;
3553          -- and ael.accounting_class_code = 'EDISC';
3554 
3555    CURSOR taxable_amount_dist_adj(c_trx_line_id NUMBER, c_ae_header_id NUMBER, c_event_id NUMBER,c_ledger_id NUMBER) IS
3556        SELECT sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)),
3557               sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0))
3558          FROM AR_DISTRIBUTIONS_ALL dist,
3559               xla_distribution_links lnk,
3560               xla_ae_headers         aeh,
3561               xla_ae_lines              ael
3562         WHERE dist.line_id = c_trx_line_id
3563           AND lnk.source_distribution_id_num_1 = dist.line_id
3564           AND lnk.application_id = 222
3565           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3566           AND lnk.ae_header_id   = c_ae_header_id
3567           AND lnk.event_id = c_event_id
3568           AND lnk.ae_line_num    = ael.ae_line_num
3569           AND aeh.ae_header_id   = ael.ae_header_id
3570           AND aeh.ledger_id = c_ledger_id
3571           AND aeh.ae_header_id   = lnk.ae_header_id
3572           AND aeh.application_id = lnk.application_id
3573           AND ael.application_id = aeh.application_id
3574           AND ael.accounting_class_code = 'ADJ';
3575 
3576    CURSOR tax_amount_dist (c_actg_source_id NUMBER, c_ae_header_id NUMBER,
3577                            c_event_id NUMBER,c_ledger_id NUMBER) IS
3578         --SELECT sum(lnk.DOC_ROUNDING_ENTERED_AMT), sum(lnk.DOC_ROUNDING_ACCTD_AMT)
3579        SELECT sum(nvl(lnk.UNROUNDED_ENTERED_CR,0)) - sum(nvl(lnk.UNROUNDED_ENTERED_DR,0)),
3580               sum(nvl(lnk.UNROUNDED_ACCOUNTED_CR,0)) - SUM(nvl(lnk.UNROUNDED_ACCOUNTED_DR,0))
3581          FROM ar_distributions_all taxdist,
3582               xla_distribution_links lnk,
3583               xla_ae_headers         aeh,
3584               xla_ae_lines              ael
3585         WHERE taxdist.line_id  = c_actg_source_id
3586           AND lnk.application_id = 222
3587           AND lnk.source_distribution_type = 'AR_DISTRIBUTIONS_ALL'
3588           AND lnk.source_distribution_id_num_1 = taxdist.line_id
3589           AND lnk.ae_header_id   = c_ae_header_id
3590           AND lnk.event_id = c_event_id
3591           AND lnk.ae_line_num    = ael.ae_line_num
3592           AND aeh.ae_header_id   = ael.ae_header_id
3593           AND aeh.ledger_id = c_ledger_id
3594           AND aeh.ae_header_id   = lnk.ae_header_id
3595           AND aeh.application_id = lnk.application_id
3596           AND ael.application_id = aeh.application_id;
3597 
3598 BEGIN
3599     IF (g_level_procedure >= g_current_runtime_level ) THEN
3600         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_actg_amounts.BEGIN',
3601                                       'ZX_AR_POPULATE_PKG: other_trx_actg_amounts(+)');
3602         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_actg_amounts',
3603           'p_trx_id - p_event_id - p_ae_header_id- p_actg_source_id- p_ledger_id '
3604           ||to_char(p_trx_id)||'-'||to_char(p_event_id)||'-'||to_char(p_ae_header_id)
3605           ||'-'||to_char(p_actg_source_id)||'-'||to_char(p_ledger_id));
3606     END IF;
3607 
3608    IF p_summary_level = 'TRANSACTION' THEN
3609       OPEN taxable_amount_hdr(p_actg_source_id , p_ae_header_id , p_event_id,p_ledger_id );
3610       FETCH taxable_amount_hdr INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
3611        --    EXIT WHEN taxable_amount_hdr%NOTFOUND;
3612        CLOSE taxable_amount_hdr;
3613 
3614       OPEN tax_amount_hdr(p_actg_source_id , p_ae_header_id , p_event_id,p_ledger_id);
3615       FETCH tax_amount_hdr INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
3616 --      EXIT WHEN tax_amount_hdr%NOTFOUND;
3617      CLOSE tax_amount_hdr;
3618 /*  ELSIF p_summary_level = 'TRANSACTION_LINE' THEN
3619            OPEN taxable_amount_line(p_trx_id ,p_trx_line_id, p_ae_header_id , p_event_id);
3620       FETCH taxable_amount_line INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
3621   --        EXIT WHEN taxable_amount_line%NOTFOUND;
3622         CLOSE taxable_amount_line;
3623 
3624       OPEN tax_amount_line(p_trx_id , p_trx_line_id, p_ae_header_id , p_event_id);
3625       FETCH tax_amount_line INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
3626 --      EXIT WHEN tax_amount_line%NOTFOUND;
3627       CLOSE tax_amount_line;
3628 */
3629   ELSIF p_summary_level = 'TRANSACTION_DISTRIBUTION' THEN
3630       IF P_TRX_CLASS = 'MISC_CASH_RECEIPT' THEN
3631          OPEN taxable_amount_dist_misc(p_trx_line_id ,p_ae_header_id , p_event_id,p_ledger_id);
3632          FETCH taxable_amount_dist_misc INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
3633          CLOSE taxable_amount_dist_misc;
3634       END IF;
3635       IF P_TRX_CLASS IN ('APP','EDISC','UNEDISC') THEN
3636          OPEN taxable_amount_dist_app(p_trx_line_id ,p_ae_header_id , p_event_id,p_ledger_id);
3637          FETCH taxable_amount_dist_app INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
3638          CLOSE taxable_amount_dist_app;
3639       END IF;
3640       IF P_TRX_CLASS IN ('ADJ','FINCHRG') THEN
3641          OPEN taxable_amount_dist_adj(p_trx_line_id ,p_ae_header_id , p_event_id,p_ledger_id);
3642          FETCH taxable_amount_dist_adj INTO GT_TAXABLE_AMT(j),GT_TAXABLE_AMT_FUNCL_CURR(j);
3643          CLOSE taxable_amount_dist_adj;
3644       END IF;
3645 
3646 --         EXIT WHEN taxable_amount_dist%NOTFOUND;
3647         IF GT_TAXABLE_AMT(j) IS NULL OR GT_TAXABLE_AMT_FUNCL_CURR(j) IS NULL THEN
3648            IF (g_level_statement >= g_current_runtime_level ) THEN
3649                FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_AP_POPULATE_PKG.other_trx_actg_amounts',
3650                     'GT_TAXABLE_AMT(j) IS NULL OR GT_TAXABLE_AMT_FUNCL_CURR(j) IS NULL');
3651            END IF;
3652         END IF;
3653 
3654 
3655       OPEN tax_amount_dist(p_actg_source_id, p_ae_header_id , p_event_id,p_ledger_id);
3656       FETCH tax_amount_dist INTO GT_TAX_AMT(j),GT_TAX_AMT_FUNCL_CURR(j);
3657  --     EXIT WHEN tax_amount_dist%NOTFOUND;
3658      CLOSE tax_amount_dist;
3659  END IF;
3660 
3661     IF (g_level_procedure >= g_current_runtime_level ) THEN
3662         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.other_trx_actg_amounts.END',
3663                                       'ZX_AR_POPULATE_PKG: other_trx_actg_amounts(-)');
3664     END IF;
3665 
3666  END other_trx_actg_amounts;
3667 
3668 /*===========================================================================+
3669  | PROCEDURE                                                                 |
3670  |   convert_amounts                                                         |
3671  |                                                                           |
3672  | DESCRIPTION                                                               |
3673  |    This procedure converts tax and taxable amounts into functional amounts|
3674  |                                                                           |
3675  |                                                                           |
3676  | SCOPE - Private                                                           |
3677  |                                                                           |
3678  | NOTES                                                                     |
3679  |                                                                           |
3680  | MODIFICATION HISTORY                                                      |
3681  |                                                                           |
3682  +===========================================================================*/
3683 
3684 
3685 PROCEDURE convert_amounts(P_CURRENCY_CODE        IN VARCHAR2,
3686                         P_EXCHANGE_RATE         IN NUMBER,
3687                         P_PRECISION             IN NUMBER,
3688                         P_MIN_ACCT_UNIT         IN NUMBER,
3689                         P_INPUT_TAX_AMOUNT      IN NUMBER,
3690                         P_INPUT_TAXABLE_AMOUNT  IN NUMBER,
3691                         P_INPUT_EXEMPT_AMOUNT   IN NUMBER,
3692                         i                       IN BINARY_INTEGER) IS
3693 
3694  l_taxable_amount NUMBER;
3695  l_TAXABLE_ACCOUNTED_AMOUNT number;
3696  l_TAX_ACCOUNTED_AMOUNT  number;
3697 BEGIN
3698 
3699     IF (g_level_procedure >= g_current_runtime_level ) THEN
3700         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.convert_amounts.BEGIN',
3701                                       'ZX_AR_POPULATE_PKG: convert_amounts(+)');
3702     END IF;
3703 
3704     BEGIN
3705        mo_global.set_policy_context('S',GT_INTERNAL_ORGANIZATION_ID(i));
3706     EXCEPTION WHEN OTHERS THEN
3707        g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
3708        IF (g_level_unexpected >= g_current_runtime_level ) THEN
3709          FND_LOG.STRING(g_level_unexpected,
3710                     'ZX.TRL.ZX_AR_POPULATE_PKG.convert_amounts-Exception Setting Policy Context ',
3711                       g_error_buffer);
3712        END IF;
3713     END;
3714 
3715 /*
3716         IF P_INPUT_EXEMPT_AMOUNT IS NOT NULL THEN
3717              P_EXEMPT_ENTERED_AMOUNT := P_INPUT_EXEMPT_AMOUNT;
3718              P_TAXABLE_EXEMPT_ENTERED_AMT  :=
3719                      P_INPUT_TAXABLE_AMOUNT + P_INPUT_EXEMPT_AMOUNT;
3720              l_taxable_amount := P_INPUT_TAXABLE_AMOUNT ;
3721 
3722         ELSE
3723              P_EXEMPT_ENTERED_AMOUNT := 0;
3724              P_TAXABLE_EXEMPT_ENTERED_AMT  := P_INPUT_TAXABLE_AMOUNT;
3725              l_taxable_amount := P_INPUT_TAXABLE_AMOUNT;
3726         END IF;
3727 
3728         IF P_EXEMPT_ENTERED_AMOUNT IS NOT NULL THEN
3729                  P_EXEMPT_ACCTD_AMOUNT := arpcurr.FUNCTIONAL_AMOUNT(
3730                                            P_EXEMPT_ENTERED_AMOUNT,
3731                                            P_CURRENCY_CODE,
3732                                            P_EXCHANGE_RATE,
3733                                            P_PRECISION,
3734                                            P_MIN_ACCT_UNIT);
3735         END IF;
3736 
3737         IF P_TAXABLE_EXEMPT_ENTERED_AMT IS NOT NULL THEN
3738               P_TAXABLE_EXEMPT_ACCTD_AMT := arpcurr.FUNCTIONAL_AMOUNT(
3739                                            P_TAXABLE_EXEMPT_ENTERED_AMT,
3740                                            P_CURRENCY_CODE,
3741                                            P_EXCHANGE_RATE,
3742                                            P_PRECISION,
3743                                            P_MIN_ACCT_UNIT);
3744         END IF;
3745 
3746             P_TAX_ENTERED_AMOUNT := P_INPUT_TAX_AMOUNT;
3747 
3748 
3749     P_TAXABLE_AMOUNT := l_taxable_amount;
3750 */
3751         IF P_INPUT_TAX_AMOUNT IS NOT NULL THEN
3752           l_TAX_ACCOUNTED_AMOUNT := arpcurr.FUNCTIONAL_AMOUNT(
3753                                            P_INPUT_TAX_AMOUNT,
3754                                            P_CURRENCY_CODE,
3755                                            P_EXCHANGE_RATE,
3756                                            P_PRECISION,
3757                                            P_MIN_ACCT_UNIT);
3758         END IF;
3759 
3760         IF p_input_taxable_amount IS NOT NULL THEN
3761           l_TAXABLE_ACCOUNTED_AMOUNT := arpcurr.FUNCTIONAL_AMOUNT(
3762                                            p_input_taxable_amount,
3763                                            P_CURRENCY_CODE,
3764                                            P_EXCHANGE_RATE,
3765                                            P_PRECISION,
3766                                            P_MIN_ACCT_UNIT);
3767         END IF;
3768          GT_TAX_AMT_FUNCL_CURR(i) := l_TAX_ACCOUNTED_AMOUNT;
3769          GT_TAXABLE_AMT_FUNCL_CURR(i) := l_TAXABLE_ACCOUNTED_AMOUNT;
3770 
3771 
3772     IF (g_level_procedure >= g_current_runtime_level ) THEN
3773         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.convert_amounts.END',
3774                                       'ZX_AR_POPULATE_PKG: convert_amounts(-)');
3775     END IF;
3776 
3777 EXCEPTION
3778   WHEN OTHERS THEN
3779     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
3780     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
3781     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
3782     FND_MSG_PUB.Add;
3783     IF (g_level_unexpected >= g_current_runtime_level ) THEN
3784       FND_LOG.STRING(g_level_unexpected,
3785                      'ZX.TRL.ZX_AR_POPULATE_PKG.convert_amounts',
3786                       g_error_buffer);
3787     END IF;
3788 
3789         G_RETCODE := 2;
3790 END convert_amounts;
3791 
3792 PROCEDURE EXTRACT_PARTY_INFO( i IN BINARY_INTEGER) IS
3793 
3794   l_bill_to_party_id      zx_rep_trx_detail_t.BILL_TO_PARTY_ID%TYPE;
3795   l_bill_to_pty_site_id   zx_rep_trx_detail_t.BILL_TO_PARTY_SITE_ID%TYPE;
3796   l_bill_to_ptp_id        zx_rep_trx_detail_t.BILL_FROM_PARTY_TAX_PROF_ID%TYPE;
3797   l_bill_to_stp_id        zx_rep_trx_detail_t.BILL_FROM_SITE_TAX_PROF_ID%TYPE;
3798 
3799   l_ship_to_party_id      zx_rep_trx_detail_t.SHIP_TO_PARTY_ID%TYPE;
3800   l_ship_to_pty_site_id   zx_rep_trx_detail_t.SHIP_TO_PARTY_SITE_ID%TYPE;
3801   l_ship_to_ptp_id        zx_rep_trx_detail_t.SHIP_FROM_PARTY_TAX_PROF_ID%TYPE;
3802   l_ship_to_stp_id        zx_rep_trx_detail_t.SHIP_FROM_SITE_TAX_PROF_ID%TYPE;
3803 
3804   l_bill_to_acct_id       zx_rep_trx_detail_t.BILL_TO_PARTY_ID%TYPE;
3805   l_bill_to_acct_site_id  zx_rep_trx_detail_t.BILL_TO_PARTY_SITE_ID%TYPE;
3806 
3807   l_ship_to_acct_id       zx_rep_trx_detail_t.SHIP_TO_PARTY_ID%TYPE;
3808   l_ship_to_acct_site_id  zx_rep_trx_detail_t.SHIP_TO_PARTY_SITE_ID%TYPE;
3809 
3810   l_bill_ship                varchar2(30);
3811 
3812   l_tbl_index_party      BINARY_INTEGER;
3813   l_tbl_index_bill_site  BINARY_INTEGER;
3814   l_tbl_index_ship_site  VARCHAR2(50);
3815   l_tbl_index_cust       BINARY_INTEGER;
3816 --Bug 5622686
3817   p_parent_ptp_id        zx_party_tax_profile.party_tax_profile_id%TYPE;
3818   p_site_ptp_id          zx_party_tax_profile.party_tax_profile_id%TYPE;
3819   p_account_Type_Code    zx_registrations.account_type_code%TYPE;
3820   p_tax_determine_date   ZX_LINES.TAX_DETERMINE_DATE%TYPE;
3821   p_tax                  ZX_TAXES_B.TAX%TYPE;
3822   p_tax_regime_code      ZX_REGIMES_B.TAX_REGIME_CODE%TYPE;
3823   p_jurisdiction_code    ZX_JURISDICTIONS_B.TAX_JURISDICTION_CODE%TYPE;
3824   p_account_id           ZX_REGISTRATIONS.ACCOUNT_ID%TYPE;
3825   p_account_site_id      ZX_REGISTRATIONS.ACCOUNT_SITE_ID%TYPE;
3826   p_site_use_id          HZ_CUST_SITE_USES_ALL.SITE_USE_ID%TYPE;
3827   p_zx_registration_rec  ZX_TCM_CONTROL_PKG.ZX_REGISTRATION_INFO_REC;
3828   p_ret_record_level     VARCHAR2(100);
3829   p_return_status        VARCHAR2(100);
3830 
3831 CURSOR get_regnum_for_party (cp_party_type_code IN VARCHAR2
3832                             ,cp_party_id        IN NUMBER
3833                             ,cp_trx_date        IN DATE) IS
3834 SELECT NVL(ptp.rep_registration_number, reg.registration_number)
3835 FROM  zx_party_tax_profile ptp,  zx_registrations reg
3836 WHERE ptp.party_id = cp_party_id
3837   AND ptp.party_type_code = cp_party_type_code
3838   AND reg.party_tax_profile_id(+) = ptp.party_tax_profile_id
3839   AND cp_trx_date BETWEEN NVL(REG.EFFECTIVE_FROM,cp_trx_date)
3840                       AND NVL(REG.EFFECTIVE_TO,cp_trx_date)
3841 ORDER BY reg.default_registration_flag DESC;
3842 
3843 CURSOR party_cur (c_party_id ZX_REP_TRX_DETAIL_T.BILL_TO_PARTY_ID%TYPE) IS
3844 SELECT SUBSTRB(PARTY.PARTY_NAME,1,240)  ,
3845        DECODE(PARTY.PARTY_TYPE,'ORGANIZATION',PARTY.ORGANIZATION_NAME_PHONETIC,NULL),
3846        DECODE(PARTY.PARTY_TYPE,'ORGANIZATION',PARTY.SIC_CODE,NULL),
3847        PARTY.PARTY_NUMBER,
3848        PARTY.JGZZ_FISCAL_CODE
3849   FROM HZ_PARTIES    PARTY
3850   WHERE PARTY.PARTY_ID = c_party_id;
3851 
3852 CURSOR party_site_cur ( c_party_site_id  ZX_REP_TRX_DETAIL_T.BILL_TO_PARTY_SITE_ID%TYPE) IS
3853 SELECT LOC.CITY,
3854         LOC.COUNTY,
3855         LOC.STATE,
3856         LOC.PROVINCE,
3857         LOC.ADDRESS1,
3858         LOC.ADDRESS2,
3859         LOC.ADDRESS3,
3860         LOC.ADDRESS_LINES_PHONETIC,
3861         LOC.COUNTRY,
3862         LOC.POSTAL_CODE
3863    FROM HZ_PARTY_SITES                  PARTY_SITE,
3864         HZ_LOCATIONS                    LOC
3865   WHERE party_site.party_site_id = c_party_site_id
3866     AND PARTY_SITE.LOCATION_ID = LOC.LOCATION_ID;
3867 
3868 CURSOR cust_acct_cur (c_site_use_id  ZX_REP_TRX_DETAIL_T.BILL_TO_PARTY_SITE_ID%TYPE,
3869                       c_cust_account_id  ZX_REP_TRX_DETAIL_T.BILL_TO_PARTY_ID%TYPE,
3870                       c_ship_bill varchar2) IS
3871 SELECT acct.account_number,
3872        acct.global_attribute10,
3873        acct.global_attribute12,
3874        acct_site.global_attribute8,
3875        acct_site.global_attribute9,
3876        site_use.location,
3877       -- site_use.tax_reference
3878        acct.party_id,
3879        acct_site.party_site_id
3880   FROM hz_cust_accounts acct,
3881        hz_cust_site_uses_all site_use ,
3882        hz_cust_acct_sites_all acct_site
3883  WHERE acct.CUST_ACCOUNT_ID =  acct_site.CUST_ACCOUNT_ID
3884    and acct_site.CUST_ACCT_SITE_ID = site_use.CUST_ACCT_SITE_ID
3885    and site_use.site_use_id  = c_site_use_id
3886   and ACCT.CUST_ACCOUNT_ID   = c_cust_account_id
3887   and site_use.site_use_code = c_ship_bill;
3888 
3889 
3890 CURSOR bank_tp_taxpayer_cur (c_bank_account_id ZX_REP_TRX_DETAIL_T.BANK_ACCOUNT_ID%TYPE) IS
3891 SELECT NVL(br_party.jgzz_fiscal_code, ba_party.jgzz_fiscal_code)
3892   FROM hz_parties br_party,
3893        hz_parties ba_party,
3894        ce_bank_branches_v ce_branch,
3895        ce_bank_accounts ce_accts
3896  WHERE ce_accts.bank_account_id = c_bank_account_id
3897    AND ce_accts.bank_branch_id = ce_branch.branch_party_id
3898    AND ce_branch.branch_party_id = br_party.party_id
3899    AND ce_branch.bank_party_id = ba_party.party_id;
3900 
3901 CURSOR doc_seq_name_cur (c_doc_seq_id ZX_REP_TRX_DETAIL_T.doc_seq_id%TYPE) IS
3902 SELECT name
3903   FROM fnd_document_sequences
3904  WHERE doc_sequence_id = c_doc_seq_id;
3905 
3906 BEGIN
3907 
3908   IF (g_level_procedure >= g_current_runtime_level ) THEN
3909     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO.BEGIN',
3910                                   'ZX_AR_POPULATE_PKG: EXTRACT_PARTY_INFO(+)');
3911     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3912                                   'gt_historical_flag :' ||gt_historical_flag(i));
3913     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3914                                   'GT_BILL_TO_PARTY_TAX_PROF_ID :' ||to_char(GT_BILL_TO_PARTY_TAX_PROF_ID(i)));
3915     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3916                                   'GT_BILLING_TP_SITE_ID :' ||to_char(GT_BILLING_TP_SITE_ID(i)));
3917   END IF;
3918 
3919 
3920 -- bug 11793075
3921 --    OPEN ledger_cur(GT_LEDGER_ID(i));
3922 --    FETCH ledger_cur into GT_LEDGER_NAME(i);
3923 --    CLOSE ledger_cur;
3924 
3925   l_bill_to_acct_site_id := GT_BILLING_TP_SITE_ID(i);
3926   l_bill_to_acct_id := GT_BILLING_TP_ID(i);
3927 
3928   IF (g_level_statement >= g_current_runtime_level ) THEN
3929        FND_LOG.STRING(g_level_statement,
3930                 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3931                 'party_site_id_cur : l_bill_to_site_id '||to_char(l_bill_to_acct_site_id));
3932   END IF;
3933 
3934   l_bill_ship := 'BILL_TO';
3935 
3936 
3937 --  IF GT_BILLING_TP_ID(i) IS NOT NULL AND GT_BILLING_TP_ADDRESS_ID(i) IS NOT NULL THEN
3938 
3939   IF l_bill_to_acct_site_id is not null and  l_bill_to_acct_id is not null THEN
3940       --l_tbl_index_cust  := dbms_utility.get_hash_value(to_char(l_bill_to_acct_site_id)||
3941        --                                                to_char(l_bill_to_acct_id)|| l_bill_ship, 1,8192);
3942 
3943     l_tbl_index_cust  := to_char(l_bill_to_acct_site_id);
3944       --|| to_char(l_bill_to_acct_id);
3945     IF (g_level_statement >= g_current_runtime_level ) THEN
3946        FND_LOG.STRING(g_level_statement,
3947              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3948           'Before Open cust_acct_cur :'||to_char(l_bill_to_acct_site_id)||'-'||to_char(l_bill_to_acct_id));
3949     END IF;
3950 
3951     IF g_cust_bill_ar_tbl.EXISTS(l_tbl_index_cust) THEN
3952        GT_BILLING_TP_NUMBER(i) := g_cust_bill_ar_tbl(l_tbl_index_cust).BILLING_TP_NUMBER  ;
3953        GT_GDF_RA_CUST_BILL_ATT10(i) := g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_BILL_ATT10;
3954        GT_GDF_RA_CUST_BILL_ATT12(i) := g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_BILL_ATT12;
3955        GT_GDF_RA_ADDRESSES_BILL_ATT8(i) :=g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_BILL_ATT8;
3956        GT_GDF_RA_ADDRESSES_BILL_ATT9(i) :=g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_BILL_ATT9;
3957        GT_BILLING_TP_SITE_NAME(i)     := g_cust_bill_ar_tbl(l_tbl_index_cust).BILLING_TP_SITE_NAME;
3958        GT_BILL_TO_PARTY_ID(i)         := g_cust_bill_ar_tbl(l_tbl_index_cust).BILL_TO_PARTY_ID;
3959        GT_BILL_TO_PARTY_SITE_ID(i)    := g_cust_bill_ar_tbl(l_tbl_index_cust).BILL_TO_PARTY_SITE_ID;
3960 
3961       IF (g_level_statement >= g_current_runtime_level ) THEN
3962         FND_LOG.STRING(g_level_statement,
3963              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3964              'If g_cust_bill_ar_tbl.EXISTS :'||GT_BILLING_TP_NUMBER(i));
3965       END IF;
3966 
3967     ELSE
3968       OPEN cust_acct_cur (l_bill_to_acct_site_id,
3969                       l_bill_to_acct_id,
3970                       l_bill_ship);
3971       FETCH cust_acct_cur INTO GT_BILLING_TP_NUMBER(i),
3972                            GT_GDF_RA_CUST_BILL_ATT10(i),
3973                            GT_GDF_RA_CUST_BILL_ATT12(i),
3974                            GT_GDF_RA_ADDRESSES_BILL_ATT8(i),
3975                            GT_GDF_RA_ADDRESSES_BILL_ATT9(i),
3976                            GT_BILLING_TP_SITE_NAME(i),
3977                     --       GT_BILLING_SITE_TAX_REG_NUM(i),
3978                            GT_BILL_TO_PARTY_ID(i),
3979                            GT_BILL_TO_PARTY_SITE_ID(i);
3980 
3981       IF (g_level_statement >= g_current_runtime_level ) THEN
3982         FND_LOG.STRING(g_level_statement,
3983                    'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
3984                    'After fetch of cust_acct_cur'||GT_BILLING_TP_NUMBER(i)||'-'||GT_BILLING_TP_TAX_REG_NUM(i));
3985       END IF;
3986 
3987       g_cust_bill_ar_tbl(l_tbl_index_cust).BILLING_TP_NUMBER := GT_BILLING_TP_NUMBER(i);
3988       g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_BILL_ATT10 := GT_GDF_RA_CUST_BILL_ATT10(i);
3989       g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_BILL_ATT12 := GT_GDF_RA_CUST_BILL_ATT12(i);
3990       g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_BILL_ATT8 := GT_GDF_RA_ADDRESSES_BILL_ATT8(i);
3991       g_cust_bill_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_BILL_ATT9 := GT_GDF_RA_ADDRESSES_BILL_ATT9(i);
3992       g_cust_bill_ar_tbl(l_tbl_index_cust).BILLING_TP_SITE_NAME := GT_BILLING_TP_SITE_NAME(i);
3993       --  g_cust_bill_ar_tbl(l_tbl_index_cust).BILLING_SITE_TAX_REG_NUM := GT_BILLING_SITE_TAX_REG_NUM(i);
3994       g_cust_bill_ar_tbl(l_tbl_index_cust).BILL_TO_PARTY_ID  := GT_BILL_TO_PARTY_ID(i);
3995       g_cust_bill_ar_tbl(l_tbl_index_cust).BILL_TO_PARTY_SITE_ID  := GT_BILL_TO_PARTY_SITE_ID(i);
3996 
3997       CLOSE cust_acct_cur;
3998     END IF;
3999     l_bill_to_pty_site_id := GT_BILL_TO_PARTY_SITE_ID(i);
4000     l_bill_to_party_id := GT_BILL_TO_PARTY_ID(i);
4001 
4002     IF (g_level_statement >= g_current_runtime_level ) THEN
4003         FND_LOG.STRING(g_level_statement,
4004                  'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4005                   'After assign to g_cust_bill_ar_tbl ');
4006     END IF;
4007 
4008     --l_tbl_index_party := dbms_utility.get_hash_value(to_char(l_bill_to_party_id)||
4009                                                             --  l_bill_ship, 1,8192);
4010     l_tbl_index_party := to_char(l_bill_to_party_id);
4011 
4012     IF (g_level_statement >= g_current_runtime_level ) THEN
4013       FND_LOG.STRING(g_level_statement,
4014           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : l_tbl_index_party  : '
4015                       ||to_char(l_tbl_index_party));
4016     END IF;
4017 
4018     IF g_party_bill_ar_tbl.EXISTS(l_tbl_index_party) THEN
4019       IF (g_level_statement >= g_current_runtime_level ) THEN
4020           FND_LOG.STRING(g_level_statement,
4021           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : exist  : ');
4022       END IF;
4023 
4024       GT_BILLING_TP_NAME_ALT(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NAME_ALT;
4025       GT_BILLING_TP_NAME(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NAME;
4026       GT_BILLING_TP_SIC_CODE(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_SIC_CODE;
4027       GT_BILLING_TP_NUMBER(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NUMBER;
4028       GT_BILLING_TP_TAXPAYER_ID(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_TAXPAYER_ID;
4029  --       GT_BILLING_TP_TAX_REG_NUM(i) := g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_TAX_REG_NUM;
4030 
4031     ELSE
4032       IF (g_level_statement >= g_current_runtime_level ) THEN
4033         FND_LOG.STRING(g_level_statement,
4034         'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : not exist  : '||to_char(l_bill_to_party_id));
4035       END IF;
4036       OPEN party_cur (l_bill_to_party_id);
4037       FETCH party_cur INTO GT_BILLING_TP_NAME(i),
4038                     GT_BILLING_TP_NAME_ALT(i),
4039                     GT_BILLING_TP_SIC_CODE(i),
4040                     GT_BILLING_TP_NUMBER(i),
4041               GT_BILLING_TP_TAXPAYER_ID(i);
4042 --  GT_BILLING_TP_TAX_REG_NUM(i);
4043 
4044       g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NAME_ALT := GT_BILLING_TP_NAME_ALT(i);
4045       g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NAME := GT_BILLING_TP_NAME(i);
4046       g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_SIC_CODE := GT_BILLING_TP_SIC_CODE(i);
4047       g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NUMBER := GT_BILLING_TP_NUMBER(i);
4048       g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_TAXPAYER_ID := GT_BILLING_TP_TAXPAYER_ID(i);
4049   --    g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_TAX_REG_NUM := GT_BILLING_TP_TAX_REG_NUM(i);
4050 
4051       CLOSE party_cur;
4052     END IF;
4053 
4054     OPEN get_regnum_for_party (cp_party_type_code => 'THIRD_PARTY'
4055                               ,cp_party_id        => l_bill_to_party_id
4056                               ,cp_trx_date        => GT_TRX_DATE(i)
4057                               );
4058     FETCH get_regnum_for_party INTO GT_BILLING_TP_TAX_REG_NUM(i);
4059     CLOSE get_regnum_for_party;
4060 
4061     OPEN get_regnum_for_party (cp_party_type_code => 'THIRD_PARTY_SITE'
4062                               ,cp_party_id        => l_bill_to_pty_site_id
4063                               ,cp_trx_date        => GT_TRX_DATE(i)
4064                               );
4065     FETCH get_regnum_for_party INTO GT_BILLING_SITE_TAX_REG_NUM(i);
4066     CLOSE get_regnum_for_party;
4067 
4068 
4069   IF GT_BILLING_SITE_TAX_REG_NUM(i) IS NULL THEN -- Bug 7226438
4070   --Bug 5622686
4071   Begin
4072 
4073     IF  GT_APPLICATION_ID(i) = 222 THEN
4074       p_account_Type_Code := 'CUSTOMER';
4075     ELSIF  GT_APPLICATION_ID(i) = 200 THEN
4076       p_account_Type_Code := 'SUPPLIER';
4077     END IF;
4078 
4079     p_parent_ptp_id := GT_BILL_TO_PARTY_TAX_PROF_ID(i);
4080     p_site_ptp_id := GT_BILL_TO_SITE_TAX_PROF_ID(i);
4081     p_tax_determine_date := gt_tax_determine_date(i);
4082     p_account_id:= GT_BILLING_TP_ID(i);
4083     p_account_site_id := GT_BILLING_TP_ADDRESS_ID(i);
4084     p_site_use_id := GT_BILLING_TP_SITE_ID(i);
4085 
4086     IF (g_level_procedure >= g_current_runtime_level ) THEN
4087       FND_LOG.STRING(g_level_procedure,
4088          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4089           'Before call to ZX_TCM_CONTROL_PKG.Get_Tax_Registration api to get the registration number ');
4090       FND_LOG.STRING(g_level_procedure,
4091          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4092           'trx_id : '||GT_TRX_ID(i));
4093       FND_LOG.STRING(g_level_procedure,
4094          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4095           'p_parent_ptp_id : '||p_parent_ptp_id);
4096       FND_LOG.STRING(g_level_procedure,
4097          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4098           'p_site_ptp_id : '|| p_site_ptp_id);
4099       FND_LOG.STRING(g_level_procedure,
4100          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4101           'p_tax_determine_date : '|| p_tax_determine_date);
4102       FND_LOG.STRING(g_level_procedure,
4103          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4104           'p_account_id : '|| p_account_id);
4105       FND_LOG.STRING(g_level_procedure,
4106          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4107           'p_account_site_id : '|| p_account_site_id);
4108       FND_LOG.STRING(g_level_procedure,
4109          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4110           'p_site_use_id : '|| p_site_use_id);
4111       FND_LOG.STRING(g_level_procedure,
4112          'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4113           'p_account_Type_Code : '|| p_account_Type_Code);
4114     END IF;
4115 
4116     ZX_TCM_CONTROL_PKG.Get_Tax_Registration(
4117          p_parent_ptp_id
4118         , p_site_ptp_id
4119         , p_account_Type_Code
4120         , p_tax_determine_date
4121         , p_tax
4122         , p_tax_regime_code
4123         , p_jurisdiction_code
4124         , p_account_id
4125         , p_account_site_id
4126         , p_site_use_id
4127         , p_zx_registration_rec
4128         , p_ret_record_level
4129         , p_return_status );
4130 
4131     IF  ZX_GLOBAL_STRUCTURES_PKG.g_cust_site_use_info_tbl.exists(p_site_use_id) AND
4132         ZX_GLOBAL_STRUCTURES_PKG.g_cust_site_use_info_tbl(p_site_use_id).tax_reference IS NOT NULL THEN
4133       GT_BILLING_SITE_TAX_REG_NUM(i) := ZX_GLOBAL_STRUCTURES_PKG.g_cust_site_use_info_tbl(p_site_use_id).tax_reference;
4134     ELSE
4135       GT_BILLING_SITE_TAX_REG_NUM(i) := GT_BILLING_TP_TAX_REG_NUM(i) ;
4136     END IF;
4137 
4138      IF (g_level_procedure >= g_current_runtime_level ) THEN
4139           FND_LOG.STRING(g_level_procedure,
4140              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4141               'Stauts: '|| p_return_status);
4142           FND_LOG.STRING(g_level_procedure,
4143              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4144               'Registration from API : '||p_zx_registration_rec.registration_number);
4145           FND_LOG.STRING(g_level_procedure,
4146              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4147               'GT_BILLING_SITE_TAX_REG_NUM : '||GT_BILLING_SITE_TAX_REG_NUM(i));
4148      END IF ;
4149   EXCEPTION
4150   WHEN OTHERS THEN
4151     NULL ;
4152   End;
4153   END IF; -- GT_BILLING_SITE_TAX_REG_NUM IS NULL
4154 
4155         IF (g_level_statement >= g_current_runtime_level ) THEN
4156             FND_LOG.STRING(g_level_statement,
4157                      'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4158                       'After assign to g_party_bill_ar_tbl '||g_party_bill_ar_tbl(l_tbl_index_party).BILLING_TP_NUMBER);
4159         END IF;
4160       -- l_tbl_index_site := dbms_utility.get_hash_value(to_char(l_bill_to_pty_site_id)||
4161        --                                                         l_bill_ship, 1,8192);
4162 
4163       l_tbl_index_bill_site  := to_char(l_bill_to_pty_site_id);
4164 
4165         IF (g_level_statement >= g_current_runtime_level ) THEN
4166             FND_LOG.STRING(g_level_statement,
4167             'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Bill : l_tbl_index_bill_site  : '
4168                         ||to_char(l_tbl_index_bill_site));
4169         END IF;
4170 
4171        IF g_site_bill_ar_tbl.EXISTS(l_tbl_index_bill_site) THEN
4172 
4173         IF (g_level_statement >= g_current_runtime_level ) THEN
4174             FND_LOG.STRING(g_level_statement,
4175             'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Bill : exist  : ');
4176         END IF;
4177         GT_BILLING_TP_CITY(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_CITY;
4178         GT_BILLING_TP_COUNTY(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_COUNTY;
4179         GT_BILLING_TP_STATE(i)  := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_STATE;
4180         GT_BILLING_TP_PROVINCE(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_PROVINCE;
4181         GT_BILLING_TP_ADDRESS1(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS1;
4182         GT_BILLING_TP_ADDRESS2(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS2;
4183         GT_BILLING_TP_ADDRESS3(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS3;
4184         GT_BILLING_TP_ADDR_LINES_ALT(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDR_LINES_ALT;
4185         GT_BILLING_TP_COUNTRY(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_COUNTRY;
4186         GT_BILLING_TP_POSTAL_CODE(i) := g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_POSTAL_CODE;
4187      ELSE
4188         IF (g_level_statement >= g_current_runtime_level ) THEN
4189             FND_LOG.STRING(g_level_statement,
4190             'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Bill : not exist  : '||to_char(l_bill_to_pty_site_id));
4191         END IF;
4192         OPEN party_site_cur (l_bill_to_pty_site_id);
4193         FETCH party_site_cur INTO GT_BILLING_TP_CITY(i),
4194                              GT_BILLING_TP_COUNTY(i),
4195                              GT_BILLING_TP_STATE(i),
4196                              GT_BILLING_TP_PROVINCE(i),
4197                              GT_BILLING_TP_ADDRESS1(i),
4198                              GT_BILLING_TP_ADDRESS2(i),
4199                              GT_BILLING_TP_ADDRESS3(i),
4200                              GT_BILLING_TP_ADDR_LINES_ALT(i),
4201                              GT_BILLING_TP_COUNTRY(i),
4202                              GT_BILLING_TP_POSTAL_CODE(i);
4203 
4204        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_CITY := GT_BILLING_TP_CITY(i);
4205        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_COUNTY := GT_BILLING_TP_COUNTY(i);
4206        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_STATE := GT_BILLING_TP_STATE(i);
4207        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_PROVINCE := GT_BILLING_TP_PROVINCE(i);
4208        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS1 := GT_BILLING_TP_ADDRESS1(i);
4209        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS2 := GT_BILLING_TP_ADDRESS2(i);
4210        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDRESS3 := GT_BILLING_TP_ADDRESS3(i);
4211        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_ADDR_LINES_ALT := GT_BILLING_TP_ADDR_LINES_ALT(i);
4212        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_COUNTRY := GT_BILLING_TP_COUNTRY(i);
4213        g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_POSTAL_CODE := GT_BILLING_TP_POSTAL_CODE(i);
4214       CLOSE party_site_cur;
4215       END IF;
4216 
4217 
4218 
4219        IF (g_level_statement >= g_current_runtime_level ) THEN
4220             FND_LOG.STRING(g_level_statement,
4221                  'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4222                  'After assign to g_site_bill_ar_tbl '||g_site_bill_ar_tbl(l_tbl_index_bill_site).BILLING_TP_CITY);
4223         END IF;
4224     END IF;
4225 
4226     -- Ship to party information ----
4227 
4228     l_ship_to_acct_site_id := GT_SHIPPING_TP_SITE_ID(i);
4229     l_ship_to_acct_id := GT_SHIPPING_TP_ID(i);
4230 
4231     IF (g_level_statement >= g_current_runtime_level ) THEN
4232          FND_LOG.STRING(g_level_statement,
4233                   'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4234                   'party_site_id_cur : l_ship_to_site_id '||to_char(l_ship_to_acct_site_id));
4235     END IF;
4236 
4237     l_bill_ship := 'SHIP_TO';
4238 
4239 
4240 --    IF GT_SHIPPING_TP_ID(i) IS NOT NULL AND GT_SHIPPING_TP_ADDRESS_ID(i) IS NOT NULL THEN
4241 
4242 
4243     IF l_ship_to_acct_site_id is not null and  l_ship_to_acct_id is not null THEN
4244       --l_tbl_index_cust  := dbms_utility.get_hash_value(to_char(l_ship_to_acct_site_id)||(l_ship_to_acct_id)||
4245        --                                                        l_bill_ship, 1,8192);
4246 
4247       l_tbl_index_cust  := to_char(l_ship_to_acct_site_id);
4248       --||(l_ship_to_acct_id);
4249 
4250       IF g_cust_ship_ar_tbl.EXISTS(l_tbl_index_cust) THEN
4251          GT_SHIPPING_TP_NUMBER(i) := g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_NUMBER  ;
4252          GT_GDF_RA_CUST_SHIP_ATT10(i) := g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_SHIP_ATT10;
4253          GT_GDF_RA_CUST_SHIP_ATT12(i) := g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_SHIP_ATT12;
4254          GT_GDF_RA_ADDRESSES_SHIP_ATT8(i) :=g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_SHIP_ATT8;
4255          GT_GDF_RA_ADDRESSES_SHIP_ATT9(i) :=g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_SHIP_ATT9;
4256          GT_SHIPPING_TP_SITE_NAME(i)     := g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_SITE_NAME;
4257          GT_SHIP_TO_PARTY_ID(i)         := g_cust_ship_ar_tbl(l_tbl_index_cust).SHIP_TO_PARTY_ID;
4258          GT_SHIP_TO_PARTY_SITE_ID(i)    := g_cust_ship_ar_tbl(l_tbl_index_cust).SHIP_TO_PARTY_SITE_ID;
4259 
4260 --         GT_SHIPPING_SITE_TAX_REG_NUM(i)   := g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_SITE_TAX_REG_NUM;
4261 
4262         IF (g_level_statement >= g_current_runtime_level ) THEN
4263           FND_LOG.STRING(g_level_statement,
4264                    'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4265                    'Exists in the cache g_cust_ship_ar_tbl '||g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_NUMBER);
4266         END IF;
4267 
4268       ELSE
4269         OPEN cust_acct_cur (l_ship_to_acct_site_id,
4270                       l_ship_to_acct_id,
4271                       l_bill_ship);
4272         FETCH cust_acct_cur INTO GT_SHIPPING_TP_NUMBER(i),
4273                            GT_GDF_RA_CUST_SHIP_ATT10(i),
4274                            GT_GDF_RA_CUST_SHIP_ATT12(i),
4275                            GT_GDF_RA_ADDRESSES_SHIP_ATT8(i),
4276                            GT_GDF_RA_ADDRESSES_SHIP_ATT9(i),
4277                            GT_SHIPPING_TP_SITE_NAME(i),
4278                            GT_SHIP_TO_PARTY_ID(i),
4279                            GT_SHIP_TO_PARTY_SITE_ID(i);
4280 
4281         g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_NUMBER := GT_SHIPPING_TP_NUMBER(i);
4282         g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_SHIP_ATT10 := GT_GDF_RA_CUST_SHIP_ATT10(i);
4283         g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_CUST_SHIP_ATT12 := GT_GDF_RA_CUST_SHIP_ATT12(i);
4284         g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_SHIP_ATT8 := GT_GDF_RA_ADDRESSES_SHIP_ATT8(i);
4285         g_cust_ship_ar_tbl(l_tbl_index_cust).GDF_RA_ADDRESSES_SHIP_ATT9 := GT_GDF_RA_ADDRESSES_SHIP_ATT9(i);
4286         g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_SITE_NAME := GT_SHIPPING_TP_SITE_NAME(i);
4287         g_cust_ship_ar_tbl(l_tbl_index_cust).SHIP_TO_PARTY_ID  := GT_SHIP_TO_PARTY_ID(i);
4288         g_cust_ship_ar_tbl(l_tbl_index_cust).SHIP_TO_PARTY_SITE_ID  := GT_SHIP_TO_PARTY_SITE_ID(i);
4289 
4290         CLOSE cust_acct_cur;
4291       END IF;
4292       IF (g_level_statement >= g_current_runtime_level ) THEN
4293         FND_LOG.STRING(g_level_statement,
4294                  'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4295                   'After assign to g_cust_ship_ar_tbl '||g_cust_ship_ar_tbl(l_tbl_index_cust).SHIPPING_TP_NUMBER);
4296       END IF;
4297 
4298       l_ship_to_pty_site_id := GT_SHIP_TO_PARTY_SITE_ID(i);
4299       l_ship_to_party_id := GT_SHIP_TO_PARTY_ID(i);
4300 
4301 
4302       -- l_tbl_index_party  := dbms_utility.get_hash_value(to_char(l_ship_to_party_id)||
4303                                                               -- l_bill_ship, 1,8192);
4304       l_tbl_index_party := to_char(l_ship_to_party_id);
4305 
4306       IF (g_level_statement >= g_current_runtime_level ) THEN
4307         FND_LOG.STRING(g_level_statement,
4308            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : l_tbl_index_party  : '
4309                        ||to_char(l_tbl_index_party));
4310       END IF;
4311 
4312       IF g_party_ship_ar_tbl.EXISTS(l_tbl_index_party) THEN
4313         IF (g_level_statement >= g_current_runtime_level ) THEN
4314           FND_LOG.STRING(g_level_statement,
4315           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : exist  : ');
4316         END IF;
4317 
4318         GT_SHIPPING_TP_NAME_ALT(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NAME_ALT;
4319         GT_SHIPPING_TP_NAME(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NAME;
4320         GT_SHIPPING_TP_SIC_CODE(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_SIC_CODE;
4321         GT_SHIPPING_TP_NUMBER(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NUMBER;
4322         GT_SHIPPING_TP_TAXPAYER_ID(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_TAXPAYER_ID;
4323 --        GT_SHIPPING_TP_TAX_REG_NUM(i) := g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_TAX_REG_NUM;
4324       ELSE
4325         IF (g_level_statement >= g_current_runtime_level ) THEN
4326           FND_LOG.STRING(g_level_statement,
4327           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Party : not exist  : '||to_char(l_ship_to_party_id));
4328         END IF;
4329         OPEN party_cur (l_ship_to_party_id);
4330         FETCH party_cur INTO GT_SHIPPING_TP_NAME(i),
4331                       GT_SHIPPING_TP_NAME_ALT(i),
4332                       GT_SHIPPING_TP_SIC_CODE(i),
4333                       GT_SHIPPING_TP_NUMBER(i),
4334                 GT_SHIPPING_TP_TAXPAYER_ID(i);
4335 
4336         g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NAME_ALT := GT_SHIPPING_TP_NAME_ALT(i);
4337         g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NAME := GT_SHIPPING_TP_NAME(i);
4338         g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_SIC_CODE := GT_SHIPPING_TP_SIC_CODE(i);
4339         g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NUMBER := GT_SHIPPING_TP_NUMBER(i);
4340         g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_TAXPAYER_ID := GT_SHIPPING_TP_TAXPAYER_ID(i);
4341 
4342         CLOSE party_cur;
4343       END IF;
4344 
4345 -- bug 11793075 start
4346       OPEN get_regnum_for_party (cp_party_type_code => 'THIRD_PARTY'
4347                                 ,cp_party_id        => l_ship_to_party_id
4348                                 ,cp_trx_date        => GT_TRX_DATE(i)
4349                                 );
4350       FETCH get_regnum_for_party INTO GT_SHIPPING_TP_TAX_REG_NUM(i);
4351       CLOSE get_regnum_for_party;
4352 
4353       OPEN get_regnum_for_party (cp_party_type_code => 'THIRD_PARTY_SITE'
4354                                 ,cp_party_id        => l_ship_to_pty_site_id
4355                                 ,cp_trx_date        => GT_TRX_DATE(i)
4356                                 );
4357       FETCH get_regnum_for_party INTO GT_SHIPPING_SITE_TAX_REG_NUM(i);
4358       CLOSE get_regnum_for_party;
4359 
4360 --      OPEN party_reg_num_cur (l_ship_to_party_id);
4361 --      FETCH party_reg_num_cur into GT_SHIPPING_TP_TAX_REG_NUM(i);
4362 --      CLOSE party_reg_num_cur;
4363 
4364 --      IF GT_SHIPPING_TP_TAX_REG_NUM(i) IS NULL THEN
4365 --         OPEN party_base_reg_num_cur (l_ship_to_party_id,GT_TRX_DATE(i));
4366 --         FETCH party_base_reg_num_cur into GT_SHIPPING_TP_TAX_REG_NUM(i);
4367 --         CLOSE party_base_reg_num_cur;
4368 --      END IF;
4369 
4370 --      OPEN party_site_reg_cur(l_ship_to_pty_site_id);
4371 --      FETCH party_site_reg_cur INTO GT_SHIPPING_SITE_TAX_REG_NUM(i);
4372 --      CLOSE party_site_reg_cur;
4373 
4374 --      IF GT_SHIPPING_SITE_TAX_REG_NUM(i) IS NULL THEN
4375 --         OPEN party_site_base_reg_cur(l_ship_to_pty_site_id,GT_TRX_DATE(i));
4376 --         FETCH party_site_base_reg_cur INTO GT_SHIPPING_SITE_TAX_REG_NUM(i);
4377 --         CLOSE party_site_base_reg_cur;
4378 --      END IF;
4379 -- bug 11793075 end
4380 
4381   IF GT_SHIPPING_SITE_TAX_REG_NUM(i) IS NULL THEN -- Bug 7226438
4382     --Bug 5622686
4383     Begin
4384 
4385       IF  GT_APPLICATION_ID(i) = 222 THEN
4386         p_account_Type_Code := 'CUSTOMER';
4387       ELSIF  GT_APPLICATION_ID(i) = 200 THEN
4388         p_account_Type_Code := 'SUPPLIER';
4389       END IF;
4390 
4391       p_parent_ptp_id := GT_SHIP_TO_PARTY_TAX_PROF_ID(i);
4392       p_site_ptp_id := GT_SHIP_TO_SITE_TAX_PROF_ID(i);
4393       p_tax_determine_date := gt_tax_determine_date(i);
4394       p_account_id:= GT_SHIPPING_TP_ID(i);
4395       p_account_site_id := GT_SHIPPING_TP_ADDRESS_ID(i);
4396       p_site_use_id := GT_SHIPPING_TP_SITE_ID(i);
4397 
4398       IF (g_level_procedure >= g_current_runtime_level ) THEN
4399         FND_LOG.STRING(g_level_procedure,
4400           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4401           'Before call to ZX_TCM_CONTROL_PKG.Get_Tax_Registration api to get the registration number : SHIP_TO');
4402         FND_LOG.STRING(g_level_procedure,
4403            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4404            'trx_id : '||GT_TRX_ID(i));
4405         FND_LOG.STRING(g_level_procedure,
4406            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4407            'p_parent_ptp_id : '||p_parent_ptp_id);
4408         FND_LOG.STRING(g_level_procedure,
4409            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4410            'p_site_ptp_id : '|| p_site_ptp_id);
4411         FND_LOG.STRING(g_level_procedure,
4412            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4413            'p_tax_determine_date : '|| p_tax_determine_date);
4414         FND_LOG.STRING(g_level_procedure,
4415            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4416            'p_account_id : '|| p_account_id);
4417         FND_LOG.STRING(g_level_procedure,
4418            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4419            'p_account_site_id : '|| p_account_site_id);
4420         FND_LOG.STRING(g_level_procedure,
4421            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4422            'p_site_use_id : '|| p_site_use_id);
4423         FND_LOG.STRING(g_level_procedure,
4424            'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4425            'p_account_Type_Code : '|| p_account_Type_Code);
4426       END IF;
4427 
4428       ZX_TCM_CONTROL_PKG.Get_Tax_Registration(
4429          p_parent_ptp_id
4430         , p_site_ptp_id
4431         , p_account_Type_Code
4432         , p_tax_determine_date
4433         , p_tax
4434         , p_tax_regime_code
4435         , p_jurisdiction_code
4436         , p_account_id
4437         , p_account_site_id
4438         , p_site_use_id
4439         , p_zx_registration_rec
4440         , p_ret_record_level
4441         , p_return_status );
4442 
4443       IF  ZX_GLOBAL_STRUCTURES_PKG.g_cust_site_use_info_tbl.exists(p_site_use_id) then
4444         GT_SHIPPING_SITE_TAX_REG_NUM(i) := ZX_GLOBAL_STRUCTURES_PKG.g_cust_site_use_info_tbl(p_site_use_id).tax_reference;
4445       ELSE
4446         GT_SHIPPING_SITE_TAX_REG_NUM(i) := null ;
4447         IF (g_level_procedure >= g_current_runtime_level ) THEN
4448           FND_LOG.STRING(g_level_procedure,'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4449             'Could not fetch a value for registration number ');
4450         END IF;
4451       END IF;
4452 
4453       IF (g_level_procedure >= g_current_runtime_level ) THEN
4454         FND_LOG.STRING(g_level_procedure,
4455              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4456               'Stauts: '|| p_return_status);
4457         FND_LOG.STRING(g_level_procedure,
4458              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4459               'Registration: '||p_zx_registration_rec.registration_number);
4460         FND_LOG.STRING(g_level_procedure,
4461              'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4462               'Registration from structure : '||GT_SHIPPING_SITE_TAX_REG_NUM(i));
4463       END IF ;
4464     EXCEPTION
4465       WHEN OTHERS THEN
4466         NULL ;
4467     END;
4468   END IF; -- GT_SHIPPING_SITE_TAX_REG_NUM IS NULL
4469 
4470   IF (g_level_statement >= g_current_runtime_level ) THEN
4471     FND_LOG.STRING(g_level_statement,
4472                    'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4473                     'After assign to g_party_ship_ar_tbl '||g_party_ship_ar_tbl(l_tbl_index_party).SHIPPING_TP_NAME);
4474   END IF;
4475 
4476   --l_tbl_index_site  := dbms_utility.get_hash_value(to_char(l_ship_to_pty_site_id)||
4477    --                                                         l_bill_ship, 1,8192);
4478   l_tbl_index_ship_site  := to_char(l_ship_to_pty_site_id);
4479 
4480     IF (g_level_statement >= g_current_runtime_level ) THEN
4481         FND_LOG.STRING(g_level_statement,
4482           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Ship : l_tbl_index_ship_site : party site id : acct_site_id : acct_id '
4483           ||l_tbl_index_ship_site ||'-'||to_char(l_ship_to_pty_site_id)||'-'||to_char(l_ship_to_acct_site_id)||'-'||to_char(l_ship_to_acct_id));
4484     END IF;
4485     IF g_site_ship_ar_tbl.EXISTS(l_tbl_index_ship_site) THEN
4486       IF (g_level_statement >= g_current_runtime_level ) THEN
4487           FND_LOG.STRING(g_level_statement,
4488           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Ship : exist  : ');
4489       END IF;
4490       GT_SHIPPING_TP_CITY(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_CITY;
4491       GT_SHIPPING_TP_COUNTY(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_COUNTY;
4492       GT_SHIPPING_TP_STATE(i)  := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_STATE;
4493       GT_SHIPPING_TP_PROVINCE(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_PROVINCE;
4494       GT_SHIPPING_TP_ADDRESS1(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS1;
4495       GT_SHIPPING_TP_ADDRESS2(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS2;
4496       GT_SHIPPING_TP_ADDRESS3(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS3;
4497       GT_SHIPPING_TP_ADDR_LINES_ALT(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDR_LINES_ALT;
4498       GT_SHIPPING_TP_COUNTRY(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_COUNTRY;
4499       GT_SHIPPING_TP_POSTAL_CODE(i) := g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_POSTAL_CODE;
4500     ELSE
4501       IF (g_level_statement >= g_current_runtime_level ) THEN
4502           FND_LOG.STRING(g_level_statement,
4503           'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO', 'Ship : not exist in Cache : '||to_char(l_ship_to_pty_site_id));
4504       END IF;
4505       OPEN party_site_cur (l_ship_to_pty_site_id);
4506       FETCH party_site_cur INTO GT_SHIPPING_TP_CITY(i),
4507                            GT_SHIPPING_TP_COUNTY(i),
4508                            GT_SHIPPING_TP_STATE(i),
4509                            GT_SHIPPING_TP_PROVINCE(i),
4510                            GT_SHIPPING_TP_ADDRESS1(i),
4511                            GT_SHIPPING_TP_ADDRESS2(i),
4512                            GT_SHIPPING_TP_ADDRESS3(i),
4513                            GT_SHIPPING_TP_ADDR_LINES_ALT(i),
4514                            GT_SHIPPING_TP_COUNTRY(i),
4515                            GT_SHIPPING_TP_POSTAL_CODE(i);
4516       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_CITY := GT_SHIPPING_TP_CITY(i);
4517       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_COUNTY := GT_SHIPPING_TP_COUNTY(i);
4518       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_STATE := GT_SHIPPING_TP_STATE(i);
4519       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_PROVINCE := GT_SHIPPING_TP_PROVINCE(i);
4520       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS1 := GT_SHIPPING_TP_ADDRESS1(i);
4521       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS2 := GT_SHIPPING_TP_ADDRESS2(i);
4522       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDRESS3 := GT_SHIPPING_TP_ADDRESS3(i);
4523       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_ADDR_LINES_ALT := GT_SHIPPING_TP_ADDR_LINES_ALT(i);
4524       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_COUNTRY := GT_SHIPPING_TP_COUNTRY(i);
4525       g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_POSTAL_CODE := GT_SHIPPING_TP_POSTAL_CODE(i);
4526       CLOSE party_site_cur;
4527     END IF;
4528     IF (g_level_statement >= g_current_runtime_level ) THEN
4529             FND_LOG.STRING(g_level_statement,
4530                      'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4531                    'After assign to g_site_ship_ar_tbl '||g_site_ship_ar_tbl(l_tbl_index_ship_site).SHIPPING_TP_CITY);
4532     END IF;
4533 
4534   END IF;
4535 
4536   IF GT_TRX_CLASS(i) = 'MISC_CASH_RECEIPT' THEN
4537      OPEN bank_tp_taxpayer_cur (GT_BANK_ACCOUNT_ID(i));
4538      FETCH bank_tp_taxpayer_cur INTO GT_BANKING_TP_TAXPAYER_ID(i);
4539      CLOSE bank_tp_taxpayer_cur;
4540   END IF;
4541 
4542   IF GT_DOC_SEQ_ID(i) IS NOT NULL THEN
4543      OPEN doc_seq_name_cur (GT_DOC_SEQ_ID(i));
4544      FETCH doc_seq_name_cur INTO GT_DOC_SEQ_NAME(i);
4545      CLOSE doc_seq_name_cur;
4546   ELSE
4547      GT_DOC_SEQ_NAME(i) := NULL;
4548   END IF;
4549 
4550   IF (g_level_procedure >= g_current_runtime_level ) THEN
4551       FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO.END',
4552                                     'ZX_AR_POPULATE_PKG: EXTRACT_PARTY_INFO(-)');
4553   END IF;
4554 
4555 EXCEPTION
4556   WHEN OTHERS THEN
4557     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
4558     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
4559     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
4560     FND_MSG_PUB.Add;
4561     IF (g_level_unexpected >= g_current_runtime_level ) THEN
4562       FND_LOG.STRING(g_level_unexpected,
4563                      'ZX.TRL.ZX_AR_POPULATE_PKG.EXTRACT_PARTY_INFO',
4564                       g_error_buffer);
4565     END IF;
4566 
4567         G_RETCODE := 2;
4568 
4569 
4570 END EXTRACT_PARTY_INFO;
4571 
4572 PROCEDURE populate_tax_reg_num(
4573            P_TRL_GLOBAL_VARIABLES_REC  IN OUT NOCOPY ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE,
4574            P_ORG_ID       IN zx_lines.internal_organization_id%TYPE ,
4575            P_TAX_DATE     IN zx_lines.tax_date%TYPE,
4576            i BINARY_INTEGER) IS
4577 
4578 CURSOR trn_ptp_id_cur (c_org_id zx_lines.internal_organization_id%TYPE,
4579                        c_le_id NUMBER,
4580                        c_tax_date zx_lines.tax_date%TYPE
4581                        ) IS
4582 SELECT ptp.rep_registration_number
4583  FROM  xle_tax_associations  rel
4584       ,zx_party_tax_profile ptp
4585       ,xle_etb_profiles etb
4586  WHERE rel.legal_construct_id = etb.establishment_id
4587  AND   etb.party_id   = ptp.party_id
4588  AND   ptp.party_type_code = 'LEGAL_ESTABLISHMENT'
4589  AND   rel.entity_id  =  c_org_id
4590  AND   rel.legal_parent_id   = c_le_id
4591 --P_TRL_GLOBAL_VARIABLES_REC.legal_entity_id
4592  AND   rel.LEGAL_CONSTRUCT   = 'ESTABLISHMENT'
4593  AND   rel.entity_type       = 'OPERATING_UNIT'
4594  AND   rel.context           =  'TAX_CALCULATION'
4595  AND   c_tax_date between rel.effective_from and nvl(rel.effective_to,c_tax_date);
4596 
4597 BEGIN
4598     IF (g_level_procedure >= g_current_runtime_level ) THEN
4599         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.populate_tax_reg_num.BEGIN',
4600                                       'populate_tax_reg_num(+)');
4601     END IF;
4602    OPEN trn_ptp_id_cur (p_org_id,
4603                         P_TRL_GLOBAL_VARIABLES_REC.legal_entity_id,
4604                         p_tax_date);
4605    FETCH trn_ptp_id_cur into GT_TAX_REG_NUM(i);
4606    CLOSE trn_ptp_id_cur;
4607 
4608     IF (g_level_procedure >= g_current_runtime_level ) THEN
4609         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AP_POPULATE_PKG.populate_tax_reg_num.END',
4610                                       'populate_tax_reg_num(-)');
4611     END IF;
4612 END populate_tax_reg_num;
4613 
4614 PROCEDURE populate_meaning(
4615            P_TRL_GLOBAL_VARIABLES_REC  IN OUT NOCOPY ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE,
4616            i BINARY_INTEGER)
4617 IS
4618    l_description      VARCHAR2(240);
4619    l_meaning          VARCHAR2(80);
4620 
4621 BEGIN
4622 
4623   IF (g_level_procedure >= g_current_runtime_level ) THEN
4624     FND_LOG.STRING(g_level_procedure,
4625                     'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning.BEGIN',
4626                      'populate_meaning(+) ');
4627     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4628              'Value of i : '||i ||' ; '||
4629              'GT_TRX_ID(i) : '||GT_TRX_ID(i)||' ; '||
4630              'REGISTER_TYPE : '||GT_TAX_RATE_REG_TYPE_CODE(i)
4631              );
4632   END IF;
4633 
4634 
4635   GT_TRX_CLASS_MNG(i) := NULL ;
4636   GT_TAX_RATE_CODE_REG_TYPE_MNG(i) := NULL ;
4637   GT_TAX_EXEMPT_REASON_MNG(i) := NULL ;
4638   GT_TAX_RATE_VAT_TRX_TYPE_DESC(i) := NULL ;
4639   GT_TAX_RATE_VAT_TRX_TYPE_MNG(i) := NULL;
4640   GT_TAX_EXCEPTION_REASON_MNG(i) := NULL ;
4641   GT_TAX_TYPE_MNG(i) := NULL ;
4642 
4643   IF GT_TRX_CLASS(i) IS NOT NULL THEN
4644     ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_TRL_TAXABLE_TRX_TYPE',
4645                              GT_TRX_CLASS(i),
4646                              l_meaning,
4647                              l_description);
4648     GT_TRX_CLASS_MNG(i) := l_meaning;
4649   END IF;
4650 
4651   IF (g_level_statement >= g_current_runtime_level ) THEN
4652      FND_LOG.STRING(g_level_statement,
4653                      'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4654                       'GT_TRX_CLASS : '||GT_TRX_CLASS(i));
4655      FND_LOG.STRING(g_level_statement,
4656          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4657           'GT_TRX_CLASS_MNG(i) : '||GT_TRX_CLASS_MNG(i));
4658   END IF;
4659 
4660   IF  P_TRL_GLOBAL_VARIABLES_REC.REGISTER_TYPE IS NOT NULL THEN
4661     ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_TRL_REGISTER_TYPE',
4662                             -- P_TRL_GLOBAL_VARIABLES_REC.REGISTER_TYPE,
4663                              GT_TAX_RATE_REG_TYPE_CODE(i),
4664                              l_meaning,
4665                              l_description);
4666 
4667     GT_TAX_RATE_CODE_REG_TYPE_MNG(i) := l_meaning;
4668   END IF;
4669 
4670   IF  GT_TAX_RATE_VAT_TRX_TYPE_CODE(i) IS NOT NULL THEN
4671      ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_JEBE_VAT_TRANS_TYPE',
4672                               GT_TAX_RATE_VAT_TRX_TYPE_CODE(i),
4673                              l_meaning,
4674                              l_description);
4675          GT_TAX_RATE_VAT_TRX_TYPE_DESC(i) := l_description;
4676          GT_TAX_RATE_VAT_TRX_TYPE_MNG(i) := l_meaning;
4677   END IF;
4678 
4679   IF (g_level_statement >= g_current_runtime_level ) THEN
4680      FND_LOG.STRING(g_level_statement,
4681          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4682           'GT_TAX_RATE_CODE_REG_TYPE_MNG(i) : '||GT_TAX_RATE_CODE_REG_TYPE_MNG(i));
4683      FND_LOG.STRING(g_level_statement,
4684          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4685           'GT_TAX_RATE_VAT_TRX_TYPE_CODE(i) : '||GT_TAX_RATE_VAT_TRX_TYPE_CODE(i));
4686      FND_LOG.STRING(g_level_statement,
4687          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4688           'GT_TAX_RATE_VAT_TRX_TYPE_DESC(i) : '||GT_TAX_RATE_VAT_TRX_TYPE_DESC(i));
4689      FND_LOG.STRING(g_level_statement,
4690          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4691           'GT_TAX_RATE_VAT_TRX_TYPE_MNG(i) : '||GT_TAX_RATE_VAT_TRX_TYPE_MNG(i));
4692   END IF;
4693 
4694   IF GT_TAX_EXCEPTION_REASON_CODE(i) IS NOT NULL THEN
4695     ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_EXCEPTION_REASON',
4696                               GT_TAX_EXCEPTION_REASON_CODE(i),
4697                              l_meaning,
4698                              l_description);
4699 
4700         GT_TAX_EXCEPTION_REASON_MNG(i) := l_meaning;
4701   END IF;
4702 
4703 
4704   IF (g_level_statement >= g_current_runtime_level ) THEN
4705     FND_LOG.STRING(g_level_statement,
4706          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4707          'GT_TAX_EXCEPTION_REASON_CODE(i) : '||GT_TAX_EXCEPTION_REASON_CODE(i));
4708     FND_LOG.STRING(g_level_statement,
4709          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4710          'GT_TAX_EXCEPTION_REASON_MNG(i) : '||GT_TAX_EXCEPTION_REASON_MNG(i));
4711   END IF;
4712 
4713   IF GT_EXEMPT_REASON_CODE(i) IS NOT NULL THEN
4714     ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_EXEMPTION_REASON',
4715                               GT_EXEMPT_REASON_CODE(i),
4716                              l_meaning,
4717                              l_description);
4718     GT_TAX_EXEMPT_REASON_MNG(i) := l_meaning;
4719   END IF;
4720 
4721   IF (g_level_statement >= g_current_runtime_level ) THEN
4722     FND_LOG.STRING(g_level_statement,
4723                      'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4724                       'GT_EXEMPT_REASON_CODE : '||GT_EXEMPT_REASON_CODE(i));
4725     FND_LOG.STRING(g_level_statement,
4726          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4727           'GT_TAX_EXEMPT_REASON_MNG(i) : '||GT_TAX_EXEMPT_REASON_MNG(i));
4728   END IF;
4729 
4730      --Bug 5671767 :Code added to populate tax_type_mng
4731   IF GT_TAX_TYPE_CODE(i) IS NOT NULL THEN
4732     BEGIN
4733       SELECT meaning , description
4734       INTO l_meaning, l_description
4735       FROM ar_lookups
4736       WHERE lookup_code = GT_TAX_TYPE_CODE(i)
4737       AND lookup_type = 'TAX_TYPE' ;
4738 
4739     EXCEPTION
4740       WHEN NO_DATA_FOUND THEN
4741         ZX_AP_POPULATE_PKG.lookup_desc_meaning('ZX_TAX_TYPE_CATEGORY',
4742              GT_TAX_TYPE_CODE(i),
4743              l_meaning,
4744              l_description);
4745     END ;
4746     GT_TAX_TYPE_MNG(i) := l_meaning;
4747   END IF;
4748 
4749   IF (g_level_statement >= g_current_runtime_level ) THEN
4750      FND_LOG.STRING(g_level_statement,
4751          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4752           'GT_TAX_TYPE_CODE(i) : '||GT_TAX_TYPE_CODE(i));
4753      FND_LOG.STRING(g_level_statement,
4754          'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning',
4755           'GT_TAX_TYPE_MNG(i) : '||GT_TAX_TYPE_MNG(i));
4756   END IF;
4757 
4758   IF (g_level_procedure >= g_current_runtime_level ) THEN
4759       FND_LOG.STRING(g_level_procedure,
4760                      'ZX.TRL.ZX_AR_POPULATE_PKG.populate_meaning.END',
4761                       'populate_meaning(-) ');
4762   END IF;
4763 
4764 END populate_meaning;
4765 
4766 
4767 PROCEDURE get_tax_rate_info_dist_adj(i IN BINARY_INTEGER)
4768 
4769 IS
4770     CURSOR tax_rate_name_cur (c_tax_rate_id ZX_REP_TRX_DETAIL_T.tax_rate_id%TYPE) IS
4771     SELECT tax_rate_code,
4772            tax_rate_name,
4773            description,
4774            percentage_rate,
4775            def_rec_settlement_option_code,
4776            vat_transaction_type_code,
4777            tax_regime_code,
4778            tax,
4779            tax_status_code,
4780            tax_jurisdiction_code
4781       FROM zx_rates_vl
4782      WHERE tax_rate_id = c_tax_rate_id;
4783 
4784 BEGIN
4785   IF (g_level_procedure >= g_current_runtime_level ) THEN
4786     FND_LOG.STRING(g_level_procedure,'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj.BEGIN',
4787                           'get_tax_rate_info_dist_adj(+) ');
4788     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4789                           'Value of i : '||i ||' ; '||
4790                           'GT_TRX_ID(i) : '||GT_TRX_ID(i)||' ; '||
4791                           'GT_TAX_RATE_ID(i) : '||GT_TAX_RATE_ID(i));
4792   END IF;
4793 
4794   OPEN tax_rate_name_cur (GT_TAX_RATE_ID(i));
4795   FETCH tax_rate_name_cur INTO GT_TAX_RATE_CODE(i),
4796                                GT_TAX_RATE_CODE_NAME(i),
4797                                GT_TAX_RATE_CODE_DESCRIPTION(i),
4798                                GT_TAX_RATE(i),
4799                                GT_DEF_REC_SETTLEMENT_OPT_CODE(i),
4800                                GT_TAX_RATE_VAT_TRX_TYPE_CODE(i),
4801                                GT_TAX_REGIME_CODE(i),
4802                                GT_TAX(i),
4803                                GT_TAX_STATUS_CODE(i),
4804                                GT_TAX_JURISDICTION_CODE(i);
4805   CLOSE tax_rate_name_cur;
4806 
4807   IF (g_level_procedure >= g_current_runtime_level ) THEN
4808     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4809                                 'GT_TAX_RATE_CODE(i) : '||GT_TAX_RATE_CODE(i));
4810     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4811                                 'GT_TAX_RATE_CODE_NAME(i) : '||GT_TAX_RATE_CODE_NAME(i));
4812     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4813                                 'GT_TAX_RATE_CODE_DESCRIPTION(i) : '||GT_TAX_RATE_CODE_DESCRIPTION(i));
4814     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4815                                 'GT_TAX_RATE(i) : '||GT_TAX_RATE(i));
4816     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4817                                 'GT_DEF_REC_SETTLEMENT_OPT_CODE(i) : '||GT_DEF_REC_SETTLEMENT_OPT_CODE(i));
4818     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4819                                 'GT_TAX_RATE_VAT_TRX_TYPE_CODE(i) : '||GT_TAX_RATE_VAT_TRX_TYPE_CODE(i));
4820     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4821                                 'GT_TAX_REGIME_CODE(i) : '||GT_TAX_REGIME_CODE(i));
4822     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4823                                 'GT_TAX(i) : '||GT_TAX(i));
4824     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4825                                 'GT_TAX_STATUS_CODE(i) : '||GT_TAX_STATUS_CODE(i));
4826     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.get_tax_rate_info_dist_adj',
4827                                 'GT_TAX_JURISDICTION_CODE(i) : '||GT_TAX_JURISDICTION_CODE(i));
4828   END IF;
4829 END get_tax_rate_info_dist_adj;
4830 
4831 
4832 PROCEDURE UPDATE_REP_DETAIL_T(p_count IN NUMBER) IS
4833 i number;
4834 BEGIN
4835 
4836   IF (g_level_procedure >= g_current_runtime_level ) THEN
4837     FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.UPDATE_REP_DETAIL_T.BEGIN',
4838                                       'ZX_AR_POPULATE_PKG: UPDATE_REP_DETAIL_T(+)');
4839   END IF;
4840 
4841   FORALL i in 1..p_count
4842   UPDATE /*+ INDEX (ZX_REP_TRX_DETAIL_T ZX_REP_TRX_DETAIL_T_U1)*/
4843     ZX_REP_TRX_DETAIL_T SET
4844       REP_CONTEXT_ID                =      G_REP_CONTEXT_ID,
4845       BILLING_TP_NUMBER             =      GT_BILLING_TP_NUMBER(i),
4846       BILLING_TP_TAX_REG_NUM        =      GT_BILLING_TP_TAX_REG_NUM(i),
4847       BILLING_TP_SITE_TAX_REG_NUM   =      GT_BILLING_SITE_TAX_REG_NUM(i),
4848       BILLING_TP_TAXPAYER_ID        =      GT_BILLING_TP_TAXPAYER_ID(i),
4849       BILLING_TP_SITE_NAME_ALT      =      GT_BILLING_TP_SITE_NAME_ALT(i),
4850       BILLING_TP_NAME               =      GT_BILLING_TP_NAME(i),
4851       BILLING_TP_NAME_ALT           =      GT_BILLING_TP_NAME_ALT(i),
4852       BILLING_TP_SIC_CODE           =      GT_BILLING_TP_SIC_CODE(i),
4853       HQ_ESTB_REG_NUMBER            =      GT_TAX_REG_NUM(i),
4854       BILLING_TP_CITY               =      GT_BILLING_TP_CITY(i),
4855       BILLING_TP_COUNTY             =      GT_BILLING_TP_COUNTY(i),
4856       BILLING_TP_STATE              =      GT_BILLING_TP_STATE(i),
4857       BILLING_TP_PROVINCE           =      GT_BILLING_TP_PROVINCE(i),
4858       BILLING_TP_ADDRESS1           =      GT_BILLING_TP_ADDRESS1(i),
4859       BILLING_TP_ADDRESS2           =      GT_BILLING_TP_ADDRESS2(i),
4860       BILLING_TP_ADDRESS3           =      GT_BILLING_TP_ADDRESS3(i),
4861       BILLING_TP_ADDRESS_LINES_ALT  =      GT_BILLING_TP_ADDR_LINES_ALT(i),
4862       BILLING_TP_COUNTRY            =      GT_BILLING_TP_COUNTRY(i),
4863       BILLING_TP_POSTAL_CODE        =      GT_BILLING_TP_POSTAL_CODE(i),
4864       BILLING_TP_PARTY_NUMBER       =      GT_BILLING_TP_PARTY_NUMBER(i),
4865       BILLING_TRADING_PARTNER_ID    =      GT_BILLING_TP_ID(i),
4866       BILLING_TP_SITE_ID            =      GT_BILLING_TP_SITE_ID(i),
4867       BILLING_TP_ADDRESS_ID         =      GT_BILLING_TP_ADDRESS_ID(i),
4868 --      BILLING_TP_TAX_REP_FLAG =      GT_BILLING_TP_TAX_REP_FLAG(i),
4869       BILLING_TP_SITE_NAME          =      GT_BILLING_TP_SITE_NAME(i),
4870       GDF_RA_ADDRESSES_BILL_ATT9    =      GT_GDF_RA_ADDRESSES_BILL_ATT9(i),
4871       GDF_PARTY_SITES_BILL_ATT8     =      GT_GDF_PARTY_SITES_BILL_ATT8(i),
4872       GDF_RA_CUST_BILL_ATT10        =      GT_GDF_RA_CUST_BILL_ATT10(i),
4873       GDF_RA_CUST_BILL_ATT12        =      GT_GDF_RA_CUST_BILL_ATT12(i),
4874       GDF_RA_ADDRESSES_BILL_ATT8    =      GT_GDF_RA_ADDRESSES_BILL_ATT8(i),
4875       SHIPPING_TP_NUMBER            =      GT_SHIPPING_TP_NUMBER(i),
4876       DOC_SEQ_NAME                  =      GT_DOC_SEQ_NAME(i),
4877       SHIPPING_TP_TAX_REG_NUM       =      GT_SHIPPING_TP_TAX_REG_NUM(i),
4878       SHIPPING_TP_SITE_TAX_REG_NUM  =      GT_SHIPPING_SITE_TAX_REG_NUM(i),
4879       SHIPPING_TP_TAXPAYER_ID       =      GT_SHIPPING_TP_TAXPAYER_ID(i),
4880 --      SHIPPING_TP_SITE_NAME_ALT   =      GT_SHIPPING_TP_SITE_NAME_ALT(i),
4881       SHIPPING_TP_NAME              =      GT_SHIPPING_TP_NAME(i),
4882       SHIPPING_TP_NAME_ALT          =      GT_SHIPPING_TP_NAME_ALT(i),
4883       SHIPPING_TP_SIC_CODE          =      GT_SHIPPING_TP_SIC_CODE(i),
4884       SHIPPING_TP_CITY              =      GT_SHIPPING_TP_CITY(i),
4885       SHIPPING_TP_COUNTY            =      GT_SHIPPING_TP_COUNTY(i),
4886       SHIPPING_TP_STATE             =      GT_SHIPPING_TP_STATE(i),
4887       SHIPPING_TP_PROVINCE          =      GT_SHIPPING_TP_PROVINCE(i),
4888       SHIPPING_TP_ADDRESS1          =      GT_SHIPPING_TP_ADDRESS1(i),
4889       SHIPPING_TP_ADDRESS2          =      GT_SHIPPING_TP_ADDRESS2(i),
4890       SHIPPING_TP_ADDRESS3          =      GT_SHIPPING_TP_ADDRESS3(i),
4891 --      SHIPPING_TP_ADDR_LINES_ALT  =      GT_SHIPPING_TP_ADDR_LINES_ALT(i),
4892       SHIPPING_TP_COUNTRY           =      GT_SHIPPING_TP_COUNTRY(i),
4893       SHIPPING_TP_POSTAL_CODE       =      GT_SHIPPING_TP_POSTAL_CODE(i),
4894 --      SHIPPING_TP_PARTY_NUMBER    =      GT_SHIPPING_TP_PARTY_NUMBER(i),
4895   --    SHIPPING_TRADING_PARTNER_ID =      GT_SHIPPING_TRADING_PARTNER_ID(i),
4896       SHIPPING_TP_SITE_ID           =      GT_SHIPPING_TP_SITE_ID(i),
4897       SHIPPING_TP_ADDRESS_ID        =      GT_SHIPPING_TP_ADDRESS_ID(i),
4898    --   SHIPPING_TP_TAX_REP_FLAG      =      GT_SHIPPING_TP_TAX_REP_FLAG(i),
4899       SHIPPING_TP_SITE_NAME         =      GT_SHIPPING_TP_SITE_NAME(i),
4900       GDF_RA_ADDRESSES_SHIP_ATT9    =      GT_GDF_RA_ADDRESSES_SHIP_ATT9(i),
4901       GDF_PARTY_SITES_SHIP_ATT8     =      GT_GDF_PARTY_SITES_SHIP_ATT8(i),
4902       GDF_RA_CUST_SHIP_ATT10        =      GT_GDF_RA_CUST_SHIP_ATT10(i),
4903       GDF_RA_CUST_SHIP_ATT12        =      GT_GDF_RA_CUST_SHIP_ATT12(i),
4904       GDF_RA_ADDRESSES_SHIP_ATT8    =      GT_GDF_RA_ADDRESSES_SHIP_ATT8(i),
4905       TRX_CLASS_MNG                 =      GT_TRX_CLASS_MNG(i),
4906       TAX_RATE_CODE_REG_TYPE_MNG    =      GT_TAX_RATE_CODE_REG_TYPE_MNG(i),
4907       TAX_RATE_VAT_TRX_TYPE_DESC    =      GT_TAX_RATE_VAT_TRX_TYPE_DESC(i),
4908       TAX_RATE_CODE_VAT_TRX_TYPE_MNG =     GT_TAX_RATE_VAT_TRX_TYPE_MNG(i),
4909       FUNCTIONAL_CURRENCY_CODE      =      G_FUN_CURRENCY_CODE,
4910       LEDGER_NAME                   =      GT_LEDGER_NAME(i),
4911       BANKING_TP_TAXPAYER_ID        =      GT_BANKING_TP_TAXPAYER_ID(i),
4912       TAX_AMT                       =      GT_TAX_AMT(i),
4913       TAX_AMT_FUNCL_CURR            =      GT_TAX_AMT_FUNCL_CURR(i),
4914       TAXABLE_AMT                   =      GT_TAXABLE_AMT(i),
4915       TAXABLE_AMT_FUNCL_CURR        =      GT_TAXABLE_AMT_FUNCL_CURR(i),
4916       TAX_TYPE_MNG                  =      GT_TAX_TYPE_MNG(i),
4917       TAX_RATE_CODE                 =      nvl(GT_TAX_RATE_CODE(i), TAX_RATE_CODE),
4918       TAX_RATE_CODE_NAME            =      nvl(GT_TAX_RATE_CODE_NAME(i), TAX_RATE_CODE_NAME),
4919       TAX_RATE                      =      nvl(GT_TAX_RATE(i), TAX_RATE),
4920       DEF_REC_SETTLEMENT_OPTION_CODE =     nvl(DEF_REC_SETTLEMENT_OPTION_CODE,GT_DEF_REC_SETTLEMENT_OPT_CODE(i)),
4921       TAX_RATE_VAT_TRX_TYPE_CODE     =     nvl(TAX_RATE_VAT_TRX_TYPE_CODE,GT_TAX_RATE_VAT_TRX_TYPE_CODE(i)),
4922       TAX_REGIME_CODE                =     nvl(TAX_REGIME_CODE, GT_TAX_REGIME_CODE(i)),
4923       TAX                                            =     nvl(TAX,GT_TAX(i)),
4924       TAX_STATUS_CODE                =     nvl(TAX_STATUS_CODE,GT_TAX_STATUS_CODE(i)),
4925       TAX_JURISDICTION_CODE         =      nvl(TAX_JURISDICTION_CODE,GT_TAX_JURISDICTION_CODE(i)),
4926       TAX_RATE_CODE_DESCRIPTION     =      nvl(TAX_RATE_CODE_DESCRIPTION,GT_TAX_RATE_CODE_DESCRIPTION(i))
4927    WHERE DETAIL_TAX_LINE_ID = GT_DETAIL_TAX_LINE_ID(i);
4928 
4929     IF (g_level_procedure >= g_current_runtime_level ) THEN
4930         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.UPDATE_REP_DETAIL_T.END',
4931                                       'ZX_AR_POPULATE_PKG: UPDATE_REP_DETAIL_T(-)');
4932     END IF;
4933 
4934 
4935 EXCEPTION
4936   WHEN OTHERS THEN
4937     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
4938     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
4939     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
4940     FND_MSG_PUB.Add;
4941     IF (g_level_unexpected >= g_current_runtime_level ) THEN
4942       FND_LOG.STRING(g_level_unexpected,
4943                      'ZX.TRL.ZX_AR_POPULATE_PKG.UPDATE_REP_DETAIL_T',
4944                       g_error_buffer);
4945     END IF;
4946 
4947         G_RETCODE := 2;
4948 
4949 END UPDATE_REP_DETAIL_T;
4950 
4951 
4952 
4953 /*===========================================================================+
4954  | PROCEDURE                                                                 |
4955  |   insert_actg_info                                                         |
4956  | DESCRIPTION                                                               |
4957  |    This procedure inserts payables tax data into ZX_REP_TRX_DETAIL_T table|
4958  |                                                                           |
4959  | SCOPE - Private                                                           |
4960  |                                                                           |
4961  | NOTES                                                                     |
4962  |                                                                           |
4963  | MODIFICATION HISTORY                                                      |
4964  |       11-Jan-2005    Srinivasa Rao Korrapati      Created                 |
4965  |                                                                           |
4966  +===========================================================================*/
4967 
4968 
4969 PROCEDURE insert_actg_info(
4970            P_COUNT IN BINARY_INTEGER)
4971 IS
4972     l_count     NUMBER;
4973 
4974 BEGIN
4975 
4976     IF (g_level_procedure >= g_current_runtime_level ) THEN
4977         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.insert_actg_info.BEGIN',
4978                                       'ZX_AR_ACTG_EXTRACT_PKG: insert_actg_info(+)');
4979     END IF;
4980 
4981     l_count  := P_COUNT;
4982 
4983     IF (g_level_procedure >= g_current_runtime_level ) THEN
4984         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.insert_actg_info',
4985                                       ' Record Count = ' ||to_char(P_COUNT));
4986     END IF;
4987 
4988 
4989     FORALL i IN 1 .. l_count
4990     INSERT INTO ZX_REP_ACTG_EXT_T(
4991         actg_ext_line_id,
4992         detail_tax_line_id,
4993         actg_event_type_code,
4994         actg_event_number,
4995         actg_event_status_flag,
4996         actg_category_code,
4997         accounting_date,
4998         gl_transfer_flag,
4999       --  gl_transfer_run_id,
5000         actg_header_description,
5001         actg_line_num,
5002         actg_line_type_code,
5003         actg_line_description,
5004         actg_stat_amt,
5005         actg_error_code,
5006         gl_transfer_code,
5007         actg_doc_sequence_id,
5008         --actg_doc_sequence_name,
5009         actg_doc_sequence_value,
5010         actg_party_id,
5011         actg_party_site_id,
5012         actg_party_type,
5013         actg_event_id,
5014         actg_header_id,
5015         actg_source_id,
5016         --actg_source_table,
5017         actg_line_ccid,
5018         period_name,
5019         TRX_ARAP_BALANCING_SEGMENT,
5020         TRX_ARAP_NATURAL_ACCOUNT,
5021         TRX_TAXABLE_BALANCING_SEGMENT,
5022         TRX_TAXABLE_BALSEG_DESC,
5023         TRX_TAXABLE_NATURAL_ACCOUNT,
5024         TRX_TAX_BALANCING_SEGMENT,
5025         TRX_TAX_NATURAL_ACCOUNT,
5026         ACCOUNT_FLEXFIELD,
5027         ACCOUNT_DESCRIPTION,
5028         created_by,
5029         creation_date,
5030         last_updated_by,
5031         last_update_date,
5032         last_update_login,
5033         program_application_id,
5034         program_id,
5035         program_login_id,
5036         request_id,
5037   TRX_CONTROL_ACCOUNT_FLEXFIELD) --Bug 5510907
5038 VALUES (zx_rep_actg_ext_t_s.nextval,
5039         agt_detail_tax_line_id(i),
5040         agt_actg_event_type_code(i),
5041         agt_actg_event_number(i),
5042         agt_actg_event_status_flag(i),
5043         agt_actg_category_code(i),
5044         agt_accounting_date(i),
5045         agt_gl_transfer_flag(i),
5046      --   agt_gl_transfer_run_id(i),
5047         agt_actg_header_description(i),
5048         agt_actg_line_num(i),
5049         agt_actg_line_type_code(i),
5050         agt_actg_line_description(i),
5051         agt_actg_stat_amt(i),
5052         agt_actg_error_code(i),
5053         agt_gl_transfer_code(i),
5054         agt_actg_doc_sequence_id(i),
5055       --  agt_actg_doc_sequence_name(i),
5056         agt_actg_doc_sequence_value(i),
5057         agt_actg_party_id(i),
5058         agt_actg_party_site_id(i),
5059         agt_actg_party_type(i),
5060         agt_actg_event_id(i),
5061         agt_actg_header_id(i),
5062         agt_actg_source_id(i),
5063        -- agt_actg_source_table(i),
5064         agt_actg_line_ccid(i),
5065         agt_period_name(i),
5066         GT_TRX_ARAP_BALANCING_SEGMENT(i),
5067         GT_TRX_ARAP_NATURAL_ACCOUNT(i),
5068         GT_TRX_TAXABLE_BAL_SEG(i),
5069         GT_TRX_TAXABLE_BALSEG_DESC(i),
5070         GT_TRX_TAXABLE_NATURAL_ACCOUNT(i),
5071         GT_TRX_TAX_BALANCING_SEGMENT(i),
5072         GT_TRX_TAX_NATURAL_ACCOUNT(i),
5073         GT_ACCOUNT_FLEXFIELD(i),
5074         GT_ACCOUNT_DESCRIPTION(i),
5075         g_created_by,
5076         g_creation_date,
5077         g_last_updated_by,
5078         g_last_update_date,
5079         g_last_update_login,
5080         g_program_application_id,
5081         g_program_id,
5082         g_program_login_id,
5083         g_request_id,
5084   GT_TRX_CONTROL_ACCFLEXFIELD(i)); --Bug 5510907
5085 
5086      IF (g_level_procedure >= g_current_runtime_level ) THEN
5087          FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.insert_actg_info',
5088                       'Number of Tax Lines successfully inserted = '||TO_CHAR(l_count));
5089 
5090         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.insert_actg_info.END',
5091                                       'ZX_AR_ACTG_EXTRACT_PKG: INIT_GT_VARIABLES(-)');
5092      END IF;
5093 
5094 EXCEPTION
5095    WHEN OTHERS THEN
5096         g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
5097         FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
5098         FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
5099         FND_MSG_PUB.Add;
5100         IF (g_level_unexpected >= g_current_runtime_level ) THEN
5101             FND_LOG.STRING(g_level_unexpected,
5102                           'ZX.TRL.ZX_AR_POPULATE_PKG.insert_actg_info',
5103                            g_error_buffer);
5104         END IF;
5105 
5106          g_retcode := 2;
5107 
5108 END insert_actg_info;
5109 
5110 PROCEDURE initialize_variables (
5111           p_count   IN         NUMBER) IS
5112 i number;
5113 
5114 BEGIN
5115 
5116     IF (g_level_procedure >= g_current_runtime_level ) THEN
5117         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.initialize_variables.BEGIN',
5118                                       'ZX_AR_POPULATE_PKG: initialize_variables(+)');
5119         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.initialize_variables',
5120                                       'p_count : '||to_char(p_count));
5121     END IF;
5122 
5123   FOR i IN 1.. p_count LOOP
5124       GT_BILLING_TP_NUMBER(i)          := NULL;
5125       GT_BILLING_TP_TAX_REG_NUM(i)     := NULL;
5126       GT_BILLING_TP_TAXPAYER_ID(i)     := NULL;
5127       GT_BILLING_TP_SITE_NAME_ALT(i)   := NULL;
5128       GT_BILLING_TP_NAME(i)          := NULL;
5129       GT_BILLING_TP_NAME_ALT(i)        := NULL;
5130       GT_BILLING_TP_SIC_CODE(i)        := NULL;
5131       GT_TAX_REG_NUM(i)                := NULL;
5132       GT_BILLING_TP_CITY(i)          := NULL;
5133       GT_BILLING_TP_COUNTY(i)          := NULL;
5134       GT_BILLING_TP_STATE(i)          := NULL;
5135       GT_BILLING_TP_PROVINCE(i)        := NULL;
5136       GT_BILLING_TP_ADDRESS1(i)        := NULL;
5137       GT_BILLING_TP_ADDRESS2(i)        := NULL;
5138       GT_BILLING_TP_ADDRESS3(i)        := NULL;
5139       GT_BILLING_TP_ADDR_LINES_ALT(i)  := NULL;
5140       GT_BILLING_TP_COUNTRY(i)         := NULL;
5141       GT_BILLING_TP_POSTAL_CODE(i)     := NULL;
5142       GT_BILLING_TP_PARTY_NUMBER(i)    := NULL;
5143     --  GT_BILLING_TP_ID(i)          := NULL;
5144      -- GT_BILLING_TP_SITE_ID(i)       := NULL;
5145      -- GT_BILLING_TP_ADDRESS_ID(i)    := NULL;
5146 --    GT_BILLING_TP_TAX_REP_FLAG(i)    := NULL;
5147       GT_BILLING_TP_SITE_NAME(i)       := NULL;
5148       GT_GDF_RA_ADDRESSES_BILL_ATT9(i) := NULL;
5149       GT_GDF_PARTY_SITES_BILL_ATT8(i)  := NULL;
5150       GT_GDF_RA_CUST_BILL_ATT10(i)     := NULL;
5151       GT_GDF_RA_CUST_BILL_ATT12(i)     := NULL;
5152       GT_GDF_RA_ADDRESSES_BILL_ATT8(i) := NULL;
5153       GT_SHIPPING_TP_NUMBER(i)         := NULL;
5154       GT_DOC_SEQ_NAME(i)               := NULL;
5155       GT_SHIPPING_TP_TAX_REG_NUM(i)    := NULL;
5156       GT_SHIPPING_TP_TAXPAYER_ID(i)    := NULL;
5157 --    GT_SHIPPING_TP_SITE_NAME_ALT(i)  := NULL;
5158       GT_SHIPPING_TP_NAME(i)          := NULL;
5159       GT_SHIPPING_TP_NAME_ALT(i)       := NULL;
5160       GT_SHIPPING_TP_SIC_CODE(i)       := NULL;
5161       GT_SHIPPING_TP_CITY(i)          := NULL;
5162       GT_SHIPPING_TP_COUNTY(i)         := NULL;
5163       GT_SHIPPING_TP_STATE(i)          := NULL;
5164       GT_SHIPPING_TP_PROVINCE(i)       := NULL;
5165       GT_SHIPPING_TP_ADDRESS1(i)       := NULL;
5166       GT_SHIPPING_TP_ADDRESS2(i)       := NULL;
5167       GT_SHIPPING_TP_ADDRESS3(i)       := NULL;
5168 --    GT_SHIPPING_TP_ADDR_LINES_ALT(i) := NULL;
5169       GT_SHIPPING_TP_COUNTRY(i)        := NULL;
5170       GT_SHIPPING_TP_POSTAL_CODE(i)    := NULL;
5171 --    GT_SHIPPING_TP_PARTY_NUMBER(i)   := NULL;
5172   --  GT_SHIPPING_TRADING_PARTNER_ID(i):= NULL;
5173     --  GT_SHIPPING_TP_SITE_ID(i)      := NULL;
5174    --   GT_SHIPPING_TP_ADDRESS_ID(i)   := NULL;
5175    -- GT_SHIPPING_TP_TAX_REP_FLAG(i)   := NULL;
5176       GT_SHIPPING_TP_SITE_NAME(i)      := NULL;
5177       GT_GDF_RA_ADDRESSES_SHIP_ATT9(i) := NULL;
5178       GT_GDF_PARTY_SITES_SHIP_ATT8(i)  := NULL;
5179       GT_GDF_RA_CUST_SHIP_ATT10(i)     := NULL;
5180       GT_GDF_RA_CUST_SHIP_ATT12(i)     := NULL;
5181       GT_GDF_RA_ADDRESSES_SHIP_ATT8(i) := NULL;
5182       GT_TRX_CLASS_MNG(i)              := NULL;
5183       GT_LEDGER_NAME(i)                := NULL;
5184       GT_BANKING_TP_TAXPAYER_ID(i)     := NULL;
5185       GT_TAX_RATE_CODE_REG_TYPE_MNG(i) := NULL;
5186       GT_TAX_RATE_VAT_TRX_TYPE_DESC(i) := NULL;
5187       GT_TAX_RATE_VAT_TRX_TYPE_MNG(i)  := NULL;
5188 -- New --
5189       GT_BILLING_TP_NUMBER(i)           := NULL;
5190       GT_GDF_RA_CUST_BILL_ATT10(i)      := NULL;
5191       GT_GDF_RA_CUST_BILL_ATT12(i)      := NULL;
5192       GT_GDF_RA_ADDRESSES_BILL_ATT8(i)  := NULL;
5193       GT_GDF_RA_ADDRESSES_BILL_ATT9(i)  := NULL;
5194       GT_BILLING_TP_SITE_NAME(i)        := NULL;
5195       GT_BILLING_TP_TAX_REG_NUM(i)      := NULL;
5196       GT_BILLING_SITE_TAX_REG_NUM(i)      := NULL;
5197       GT_BILLING_TP_NAME(i)             := NULL;
5198       GT_BILLING_TP_NAME_ALT(i)         := NULL;
5199       GT_BILLING_TP_SIC_CODE(i)         := NULL;
5200       GT_BILLING_TP_NUMBER(i)           := NULL;
5201       GT_BILLING_TP_CITY(i)             := NULL;
5202       GT_BILLING_TP_COUNTY(i)           := NULL;
5203       GT_BILLING_TP_STATE(i)            := NULL;
5204       GT_BILLING_TP_PROVINCE(i)         := NULL;
5205       GT_BILLING_TP_ADDRESS1(i)         := NULL;
5206       GT_BILLING_TP_ADDRESS2(i)         := NULL;
5207       GT_BILLING_TP_ADDRESS3(i)         := NULL;
5208       GT_BILLING_TP_ADDR_LINES_ALT(i)   := NULL;
5209       GT_BILLING_TP_COUNTRY(i)          := NULL;
5210       GT_BILLING_TP_POSTAL_CODE(i)       := NULL;
5211       GT_SHIPPING_TP_NUMBER(i)           := NULL;
5212       GT_GDF_RA_CUST_SHIP_ATT10(i)         := NULL;
5213       GT_GDF_RA_CUST_SHIP_ATT12(i)       := NULL;
5214       GT_GDF_RA_ADDRESSES_SHIP_ATT8(i)   := NULL;
5215       GT_GDF_RA_ADDRESSES_SHIP_ATT9(i)    := NULL;
5216       GT_SHIPPING_TP_SITE_NAME(i)         := NULL;
5217       GT_SHIPPING_TP_TAX_REG_NUM(i)      := NULL;
5218       GT_SHIPPING_SITE_TAX_REG_NUM(i)      := NULL;
5219       GT_SHIPPING_TP_NAME(i)             := NULL;
5220       GT_SHIPPING_TP_NAME_ALT(i)         := NULL;
5221       GT_SHIPPING_TP_SIC_CODE(i)         := NULL;
5222       GT_SHIPPING_TP_NUMBER(i)           := NULL;
5223       GT_SHIPPING_TP_CITY(i)             := NULL;
5224       GT_SHIPPING_TP_COUNTY(i)           := NULL;
5225       GT_SHIPPING_TP_STATE(i)            := NULL;
5226       GT_SHIPPING_TP_PROVINCE(i)         := NULL;
5227       GT_SHIPPING_TP_ADDRESS1(i)         := NULL;
5228       GT_SHIPPING_TP_ADDRESS2(i)         := NULL;
5229       GT_SHIPPING_TP_ADDRESS3(i)         := NULL;
5230       GT_SHIPPING_TP_ADDR_LINES_ALT(i)  := NULL;
5231       GT_SHIPPING_TP_COUNTRY(i)         := NULL;
5232       GT_SHIPPING_TP_POSTAL_CODE(i)         := NULL;
5233         gt_actg_ext_line_id(i)         := NULL;
5234 --        gt_detail_tax_line_id(i)     := NULL;
5235 /*        gt_actg_event_type_code(i)     := NULL;
5236         gt_actg_event_number(i)        := NULL;
5237         gt_actg_event_status_flag(i)   := NULL;
5238         gt_actg_category_code(i)       := NULL;
5239         gt_accounting_date(i)          := NULL;
5240         gt_gl_transfer_flag(i)         := NULL;
5241         gt_gl_transfer_run_id(i)       := NULL;
5242         gt_actg_header_description(i)  := NULL;
5243         gt_actg_line_num(i)            := NULL;
5244         gt_actg_line_type_code(i)      := NULL;
5245         gt_actg_line_description(i)    := NULL;
5246         gt_actg_stat_amt(i)            := NULL;
5247         gt_actg_error_code(i)          := NULL;
5248         gt_gl_transfer_code(i)         := NULL;
5249         gt_actg_doc_sequence_id(i)     := NULL;
5250         gt_actg_doc_sequence_name(i)   := NULL;
5251         gt_actg_doc_sequence_value(i)  := NULL;
5252         gt_actg_party_id(i)            := NULL;
5253         gt_actg_party_site_id(i)       := NULL;
5254         gt_actg_party_type(i)          := NULL;
5255         gt_actg_event_id(i)            := NULL;
5256         gt_actg_header_id(i)           := NULL;
5257         gt_actg_source_id(i)           := NULL;
5258         gt_actg_source_table(i)        := NULL;
5259         gt_actg_line_ccid(i)           := NULL;
5260         gt_period_name(i)              := NULL;
5261 */
5262       GT_TRX_ARAP_BALANCING_SEGMENT(i)    := NULL;
5263       GT_TRX_ARAP_NATURAL_ACCOUNT(i)    := NULL;
5264       GT_TRX_TAXABLE_BAL_SEG(i)    := NULL;
5265       GT_TRX_TAXABLE_BALSEG_DESC(i):= NULL;
5266       GT_TRX_TAXABLE_NATURAL_ACCOUNT(i)    := NULL;
5267       GT_TRX_TAX_BALANCING_SEGMENT(i)    := NULL;
5268       GT_TRX_TAX_NATURAL_ACCOUNT(i)    := NULL;
5269       GT_ACCOUNT_FLEXFIELD(i)   :=  NULL;
5270       GT_ACCOUNT_DESCRIPTION(i)    := NULL;
5271       GT_TRX_CONTROL_ACCFLEXFIELD(i) := NULL;
5272       -- Populate WHO columns --
5273       GT_TAX_RATE_CODE(i) := NULL ;
5274       GT_TAX_RATE_CODE_NAME(i) := NULL ;
5275       GT_TAX_RATE(i) := NULL ;
5276       GT_TAX_REGIME_CODE(i)       := NULL ;
5277       GT_TAX(i)                   := NULL ;
5278       GT_TAX_STATUS_CODE(i)       := NULL ;
5279       GT_TAX_JURISDICTION_CODE(i) := NULL ;
5280       GT_TAX_RATE_CODE_DESCRIPTION(i):= NULL ;
5281 
5282 
5283    END LOOP;
5284 
5285     IF (g_level_procedure >= g_current_runtime_level ) THEN
5286         FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_AR_POPULATE_PKG.initialize_variables.END',
5287                                       'ZX_AR_POPULATE_PKG: initialize_variables(-)');
5288     END IF;
5289 
5290 EXCEPTION
5291   WHEN OTHERS THEN
5292     g_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
5293     FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
5294     FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','populate_tax_data- '|| g_error_buffer);
5295     FND_MSG_PUB.Add;
5296     IF (g_level_unexpected >= g_current_runtime_level ) THEN
5297       FND_LOG.STRING(g_level_unexpected,
5298                      'ZX.TRL.ZX_AR_POPULATE_PKG.initialize_variables',
5299                       g_error_buffer);
5300     END IF;
5301 
5302 END initialize_variables ;
5303 
5304 END ZX_AR_POPULATE_PKG;