DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_UWQ_POP_SUM_TBL_PVT

Source


1 PACKAGE BODY IEX_UWQ_POP_SUM_TBL_PVT AS
2 /* $Header: iexvuwpb.pls 120.3.12010000.5 2009/01/19 09:53:38 barathsr ship $ */
3 
4 g_pkg_name constant VARCHAR2(30) := 'IEX_UWQ_POP_SUM_TBL_PVT';
5 g_file_name constant VARCHAR2(12) := 'iexvuwpb.pls';
6 G_LOG_ENABLED                   varchar2(5);
7 G_MSG_LEVEL                     NUMBER;
8 G_Batch_Size NUMBER := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '100000'));
9 
10 /*deadlock_detected EXCEPTION;
11 PRAGMA EXCEPTION_INIT(deadlock_detected, -60);*/
12 
13 TYPE number_list is TABLE of NUMBER INDEX BY BINARY_INTEGER;
14 TYPE varchar_10_list is TABLE of VARCHAR2(10) INDEX BY BINARY_INTEGER;
15 TYPE varchar_20_list is TABLE of VARCHAR2(20) INDEX BY BINARY_INTEGER;
16 TYPE varchar_30_list is TABLE of VARCHAR2(30) INDEX BY BINARY_INTEGER;
17 TYPE varchar_40_list is TABLE of VARCHAR2(40) INDEX BY BINARY_INTEGER;
18 TYPE varchar_60_list is TABLE of VARCHAR2(60) INDEX BY BINARY_INTEGER;
19 TYPE varchar_80_list is TABLE of VARCHAR2(80) INDEX BY BINARY_INTEGER;
20 TYPE varchar_240_list is TABLE of VARCHAR2(240) INDEX BY BINARY_INTEGER;
21 TYPE varchar_360_list is TABLE of VARCHAR2(360) INDEX BY BINARY_INTEGER;
22 TYPE varchar_2020_list is TABLE of VARCHAR2(2020) INDEX BY BINARY_INTEGER;
23 TYPE date_list is TABLE of DATE INDEX BY BINARY_INTEGER;
24 
25 PROCEDURE insert_conc_req IS
26 BEGIN
27    DELETE from AR_CONC_PROCESS_REQUESTS
28     where CONCURRENT_PROGRAM_NAME = 'IEX_POPULATE_UWQ_SUM';
29 
30    INSERT INTO AR_CONC_PROCESS_REQUESTS
31      (CONCURRENT_PROGRAM_NAME, REQUEST_ID)
32      values ('IEX_POPULATE_UWQ_SUM',FND_GLOBAL.conc_request_id);
33    COMMIT;
34 END insert_conc_req;
35 
36 
37 Procedure LogMessage(p_msg_level IN NUMBER, p_msg in varchar2)
38 IS
39 BEGIN
40       if (p_msg_level >= G_MSG_LEVEL) then
41 
42           FND_LOG.STRING(p_msg_level, G_PKG_NAME, p_msg);
43           if FND_GLOBAL.Conc_Request_Id is not null then
44               fnd_file.put_line(FND_FILE.LOG, p_msg);
45           end if;
46 
47       end if;
48 
49 EXCEPTION
50       WHEN OTHERS THEN
51           LogMessage(FND_LOG.LEVEL_UNEXPECTED, 'ERROR: ' || sqlerrm);
52 END LogMessage;
53 
54 
55 PROCEDURE populate_uwq_sum_concur (
56                     x_errbuf            OUT nocopy VARCHAR2,
57                     x_retcode           OUT nocopy VARCHAR2,
58                     FROM_DATE           IN  VARCHAR2)
59 IS
60 BEGIN
61  --Bug5691098. Start.
62  LogMessage(FND_LOG.LEVEL_STATEMENT,' Populate_uwq_sum_concur Started.');
63 
64  Insert_Summary(x_errbuf,x_retcode,FROM_DATE,'CP');
65 
66  LogMessage(FND_LOG.LEVEL_STATEMENT,' Populate_uwq_sum_concur Finished.');
67  --Bug5691098. End.
68 END populate_uwq_sum_concur;
69 
70 
71 PROCEDURE Insert_Summary(
72                     x_errbuf            OUT nocopy VARCHAR2,
73                     x_retcode           OUT nocopy VARCHAR2,
74                     FROM_DATE           IN  VARCHAR2,
75  	            P_MODE              IN  VARCHAR2 DEFAULT 'CP')
76 IS
77 
78   CURSOR c_get_level IS
79     SELECT PREFERENCE_VALUE FROM IEX_APP_PREFERENCES_VL WHERE PREFERENCE_NAME = 'COLLECTIONS STRATEGY LEVEL';
80 
81   CURSOR c_get_table IS
82     select OWNER || '.' || TABLE_NAME from sys.all_tables where table_name = 'IEX_DLN_UWQ_SUMMARY';
83 
84 --Start bug 6634879 gnramasa 20th Nov 07
85   CURSOR c_iex_billto_uwq_summary IS
86     SELECT
87     trx_summ.org_id,
88     max(ac.collector_id),
89     max(ac.resource_id),
90     max(ac.resource_type),
91     objb.object_function ieu_object_function,
92     objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
93     '' ieu_media_type_uuid,
94     'CUSTOMER_SITE_USE_ID' ieu_param_pk_col,
95     to_char(trx_summ.site_use_id) ieu_param_pk_value,
96     1 resource_id,
97     'RS_EMPLOYEE' resource_type,
98     party.party_id party_id,
99     party.party_name party_name,
100     trx_summ.cust_account_id cust_account_id,
101     acc.account_name account_name,
102     acc.account_number account_number,
103     trx_summ.site_use_id site_use_id,
104     site_uses.location location,
105     max(gl.CURRENCY_CODE) currency,
106     SUM(trx_summ.op_invoices_count) op_invoices_count,
107     SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
108     SUM(trx_summ.op_deposits_count) op_deposits_count,
109     SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
110     SUM(trx_summ.op_chargeback_count) op_chargeback_count,
111     SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
112     SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
113     SUM(trx_summ.disputed_inv_count) disputed_inv_count,
114     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
115      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
116      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
117     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
118      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
119      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
120     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
121      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
122      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
123     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
124      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
125      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
126     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
127      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
128      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
129     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
130      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
131      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
132     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
133      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
134      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
135     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
136      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
137      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
138     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
139      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
140      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
141     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
142      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
143      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
144     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
145      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
146      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
147       (SELECT SUM(b.acctd_amount_due_remaining)
148      FROM iex_delinquencies_all a,
149        ar_payment_schedules_all b
150      WHERE a.customer_site_use_id = trx_summ.site_use_id
151      AND a.payment_schedule_id = b.payment_schedule_id
152      AND b.status = 'OP'
153      AND a.status IN('DELINQUENT',    'PREDELINQUENT')
154      AND b.org_id = trx_summ.org_id) past_due_inv_value,
155     SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
156     MAX(trx_summ.last_payment_date) last_payment_date,
157     MAX(iex_uwq_view_pkg.get_last_payment_amount(0,   0,   trx_summ.site_use_id)) last_payment_amount,
158     max(gl.CURRENCY_CODE) last_payment_amount_curr,
159     MAX(iex_uwq_view_pkg.get_last_payment_number(0,   0,   trx_summ.site_use_id)) last_payment_number,
160     MAX(trx_summ.last_update_date) last_update_date,
161     MAX(trx_summ.last_updated_by) last_updated_by,
162     MAX(trx_summ.creation_date) creation_date,
163     MAX(trx_summ.created_by) created_by,
164     MAX(trx_summ.last_update_login) last_update_login,
165       (SELECT COUNT(1)
166      FROM iex_delinquencies_all
167      WHERE customer_site_use_id = trx_summ.site_use_id
168      AND status IN('DELINQUENT',    'PREDELINQUENT')
169      AND org_id = trx_summ.org_id)
170   number_of_delinquencies,
171       (SELECT 1
172      FROM dual
173      WHERE EXISTS
174       (SELECT 1
175        FROM iex_delinquencies_all
176        WHERE customer_site_use_id = trx_summ.site_use_id
177        AND status IN('DELINQUENT',    'PREDELINQUENT')
178        AND org_id = trx_summ.org_id
179        AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
180        AND uwq_status = 'PENDING')))
181     )
182   active_delinquencies,
183       (SELECT 1
184      FROM dual
185      WHERE EXISTS
186       (SELECT 1
187        FROM iex_delinquencies_all
188        WHERE customer_site_use_id = trx_summ.site_use_id
189        AND status IN('DELINQUENT',    'PREDELINQUENT')
190        AND org_id = trx_summ.org_id
191        AND(uwq_status = 'COMPLETE'
192        AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
193     )
194   complete_delinquencies,
195       (SELECT 1
196      FROM dual
197      WHERE EXISTS
198       (SELECT 1
199        FROM iex_delinquencies_all where customer_site_use_id = trx_summ.site_use_id
200        AND status IN('DELINQUENT',    'PREDELINQUENT')
201        AND org_id = trx_summ.org_id
202        AND(uwq_status = 'PENDING'
203        AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
204     )
205   pending_delinquencies,
206       (SELECT a.score_value
207      FROM iex_score_histories a
208      WHERE a.creation_date =
209       (SELECT MAX(creation_date)
210        FROM iex_score_histories
211        WHERE score_object_code = 'IEX_BILLTO'
212        AND score_object_id = trx_summ.site_use_id)
213     AND rownum < 2
214      AND a.score_object_code = 'IEX_BILLTO'
215      AND a.score_object_id = trx_summ.site_use_id)
216   score,
217     party.address1 address1,
218     party.city city,
219     party.state state,
220     party.county county,
221     fnd_terr.territory_short_name country,
222     party.province province,
223     party.postal_code postal_code,
224     phone.phone_country_code phone_country_code,
225     phone.phone_area_code phone_area_code,
226     phone.phone_number phone_number,
227     phone.phone_extension phone_extension,
228     (SELECT COUNT(1) FROM iex_bankruptcies bkr WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies, -- Changed for bug#7693986
229 
230     (SELECT COUNT(1) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
231      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
232      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
233      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
234      AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
235      NOT IN ('CURRENT', 'CLOSE')
236      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
237      AND DEL.org_id = trx_summ.org_id) number_of_promises,
238 
239     (SELECT SUM(AMOUNT_DUE_REMAINING) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
240      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
241      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
242      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
243      AND (DEL.STATUS --(+)  Commented for Bug 6446848 06-Jan-2009 barathsr
244      NOT IN ('CURRENT', 'CLOSE')
245      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
246      AND DEL.org_id = trx_summ.org_id) BROKEN_PROMISE_AMOUNT ,
247 
248     (SELECT SUM(PROMISE_AMOUNT) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
249      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
250      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
251      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
252      AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
253      NOT IN ('CURRENT', 'CLOSE')
254      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
255      AND DEL.org_id = trx_summ.org_id) PROMISE_AMOUNT,
256 
257     (SELECT 1 FROM dual WHERE EXISTS
258       (SELECT 1 FROM dual WHERE EXISTS
259         (SELECT 1
260          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
261          WHERE pro.cust_account_id = trx_summ.cust_account_id
262          and del.customer_site_use_id = TRX_SUMM.site_use_ID
263          AND pro.state = 'BROKEN_PROMISE'
264          AND(pro.uwq_status IS NULL OR pro.uwq_status = 'ACTIVE' OR(TRUNC(pro.uwq_active_date) <= TRUNC(sysdate)
265          AND pro.uwq_status = 'PENDING')))
266       )
267     ) active_promises,
268 
269     (SELECT 1 FROM dual WHERE EXISTS
270       (SELECT 1 FROM dual WHERE EXISTS
271         (SELECT 1
272          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
273          WHERE pro.cust_account_id = trx_summ.cust_account_id
274          and del.customer_site_use_id = TRX_SUMM.site_use_ID
275          AND pro.state = 'BROKEN_PROMISE'
276          AND(pro.uwq_status = 'COMPLETE'
277          AND(TRUNC(pro.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
278       )
279     ) complete_promises,
280 
281     (SELECT 1 FROM dual WHERE EXISTS
282       (SELECT 1 FROM dual WHERE EXISTS
283         (SELECT 1
284          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
285          WHERE pro.cust_account_id = trx_summ.cust_account_id
286          and del.customer_site_use_id = TRX_SUMM.site_use_ID
287          AND pro.state = 'BROKEN_PROMISE'
288          AND(pro.uwq_status = 'PENDING'
289          AND(TRUNC(pro.uwq_active_date) > TRUNC(sysdate))))
290       )
291     ) pending_promises
292 
293   FROM ar_trx_bal_summary trx_summ,
294     hz_cust_accounts acc,
295     hz_parties party,
296     jtf_objects_b objb,
297 hz_contact_points phone,
298     fnd_territories_tl fnd_terr,
299     hz_cust_site_uses_all site_uses,
300     hz_customer_profiles prf,
301     ar_collectors ac,
302     GL_SETS_OF_BOOKS gl,
303     AR_SYSTEM_PARAMETERS_all sys
304   WHERE
305    P_MODE = 'CP'
306    AND trx_summ.reference_1 = '1'
307    AND trx_summ.site_use_id = site_uses.site_use_id
308    AND trx_summ.cust_account_id = acc.cust_account_id
309    AND acc.party_id = party.party_id
310    AND objb.object_code = 'IEX_BILLTO'
311    AND party.country = fnd_terr.territory_code(+)
312    AND fnd_terr.LANGUAGE(+) = userenv('LANG')
313    AND phone.owner_table_id(+) = party.party_id
314    AND phone.owner_table_name(+) = 'HZ_PARTIES'
315    AND phone.contact_point_type(+) = 'PHONE'
316    AND phone.primary_by_purpose(+) = 'Y'
317    AND phone.contact_point_purpose(+) = 'COLLECTIONS'
318    AND phone.phone_line_type(+) NOT IN('PAGER',   'FAX')
319    AND phone.status(+) = 'A'
320    AND nvl(phone.do_not_use_flag(+),   'N') = 'N'
321    and prf.SITE_USE_ID(+) = trx_summ.site_use_id
322    and ac.collector_id(+) = prf.collector_id
323    and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
324    and trx_summ.org_id = sys.org_id
325   GROUP BY trx_summ.org_id,
326     objb.object_function,
327     objb.object_parameters,
328     party.party_id,
329     party.party_name,
330     trx_summ.cust_account_id,
331     acc.account_name,
332     acc.account_number,
333     trx_summ.site_use_id,
334     site_uses.location,
335     party.address1,
336     party.city,
337     party.state,
338     party.county,
339     fnd_terr.territory_short_name,
340     party.province,
341     party.postal_code,
342     phone.phone_country_code,
343     phone.phone_area_code,
344     phone.phone_number,
345     phone.phone_extension;
346 
347     -- Begin - Andre Araujo - 10/20/06 - Added selection using date
348   CURSOR c_iex_billto_uwq_dt_sum(p_from_date date) IS
349     SELECT
350     trx_summ.org_id,
351     max(ac.collector_id),
352     max(ac.resource_id),
353     max(ac.resource_type),
354     objb.object_function ieu_object_function,
355     objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
356     '' ieu_media_type_uuid,
357     'CUSTOMER_SITE_USE_ID' ieu_param_pk_col,
358     to_char(trx_summ.site_use_id) ieu_param_pk_value,
359     1 resource_id,
360     'RS_EMPLOYEE' resource_type,
361     party.party_id party_id,
362     party.party_name party_name,
363     trx_summ.cust_account_id cust_account_id,
364     acc.account_name account_name,
365     acc.account_number account_number,
366     trx_summ.site_use_id site_use_id,
367     site_uses.location location,
368     max(gl.CURRENCY_CODE) currency,
369     SUM(trx_summ.op_invoices_count) op_invoices_count,
370     SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
371     SUM(trx_summ.op_deposits_count) op_deposits_count,
372     SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
373     SUM(trx_summ.op_chargeback_count) op_chargeback_count,
374     SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
375     SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
376     SUM(trx_summ.disputed_inv_count) disputed_inv_count,
377     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
378      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
379      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
380     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
381      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
382      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
383     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
384      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
385      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
386     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
387      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
388      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
389     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
390      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
391      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
392     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
393      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
394      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
395     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
396      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
397      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
398     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
399      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
400      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
401     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
402      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
403      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
404     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
405      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
406      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
407     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
408      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
409      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
410       (SELECT SUM(b.acctd_amount_due_remaining)
411      FROM iex_delinquencies_all a,
412        ar_payment_schedules_all b
413      WHERE a.customer_site_use_id = trx_summ.site_use_id
414      AND a.payment_schedule_id = b.payment_schedule_id
415      AND b.status = 'OP'
416      AND a.status IN('DELINQUENT',    'PREDELINQUENT')
417      AND b.org_id = trx_summ.org_id) past_due_inv_value,
418     SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
419     MAX(trx_summ.last_payment_date) last_payment_date,
420     MAX(iex_uwq_view_pkg.get_last_payment_amount(0,   0,   trx_summ.site_use_id)) last_payment_amount,
421     max(gl.CURRENCY_CODE) last_payment_amount_curr,
422     MAX(iex_uwq_view_pkg.get_last_payment_number(0,   0,   trx_summ.site_use_id)) last_payment_number,
423     MAX(trx_summ.last_update_date) last_update_date,
424     MAX(trx_summ.last_updated_by) last_updated_by,
425     MAX(trx_summ.creation_date) creation_date,
426     MAX(trx_summ.created_by) created_by,
427     MAX(trx_summ.last_update_login) last_update_login,
428       (SELECT COUNT(1)
429      FROM iex_delinquencies_all
430      WHERE customer_site_use_id = trx_summ.site_use_id
431      AND status IN('DELINQUENT',    'PREDELINQUENT')
432      AND org_id = trx_summ.org_id)
433   number_of_delinquencies,
434       (SELECT 1
435      FROM dual
436      WHERE EXISTS
437       (SELECT 1
438        FROM iex_delinquencies_all
439        WHERE customer_site_use_id = trx_summ.site_use_id
440        AND status IN('DELINQUENT',    'PREDELINQUENT')
441        AND org_id = trx_summ.org_id
442        AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
443        AND uwq_status = 'PENDING')))
444     )
445   active_delinquencies,
446       (SELECT 1
447      FROM dual
448      WHERE EXISTS
449       (SELECT 1
450        FROM iex_delinquencies_all
451        WHERE customer_site_use_id = trx_summ.site_use_id
452        AND status IN('DELINQUENT',    'PREDELINQUENT')
453        AND org_id = trx_summ.org_id
454        AND(uwq_status = 'COMPLETE'
455        AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
456     )
457   complete_delinquencies,
458       (SELECT 1
459      FROM dual
460      WHERE EXISTS
461       (SELECT 1
462        FROM iex_delinquencies_all where customer_site_use_id = trx_summ.site_use_id
463        AND status IN('DELINQUENT',    'PREDELINQUENT')
464        AND org_id = trx_summ.org_id
465        AND(uwq_status = 'PENDING'
466        AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
467     )
468   pending_delinquencies,
469       (SELECT a.score_value
470      FROM iex_score_histories a
471      WHERE a.creation_date =
472       (SELECT MAX(creation_date)
473        FROM iex_score_histories
474        WHERE score_object_code = 'IEX_BILLTO'
475        AND score_object_id = trx_summ.site_use_id)
476     AND rownum < 2
477      AND a.score_object_code = 'IEX_BILLTO'
478      AND a.score_object_id = trx_summ.site_use_id)
479   score,
480     party.address1 address1,
481     party.city city,
482     party.state state,
483     party.county county,
484     fnd_terr.territory_short_name country,
485     party.province province,
486     party.postal_code postal_code,
487     phone.phone_country_code phone_country_code,
488     phone.phone_area_code phone_area_code,
489     phone.phone_number phone_number,
490     phone.phone_extension phone_extension,
491     (SELECT COUNT(1) FROM iex_bankruptcies bkr WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies, -- Changed for bug#7693986
492 
493     (SELECT COUNT(1) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
494      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
495      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
496      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
497      AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
498      NOT IN ('CURRENT', 'CLOSE')
499      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV')) --Added for Bug 6446848 06-Jan-2009 barathsr
500      AND DEL.org_id = trx_summ.org_id) number_of_promises,
501 
502     (SELECT SUM(AMOUNT_DUE_REMAINING) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
503      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
504      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
505      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
506      AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
507      NOT IN ('CURRENT', 'CLOSE')
508      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV')) --Added for Bug 6446848 06-Jan-2009 barathsr
509      AND DEL.org_id = trx_summ.org_id) BROKEN_PROMISE_AMOUNT ,
510 
511     (SELECT SUM(PROMISE_AMOUNT) FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
512      WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID and del.customer_site_use_id = TRX_SUMM.site_use_ID AND
513      PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
514      PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
515      AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
516      NOT IN ('CURRENT', 'CLOSE')
517      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV')) --Added for Bug 6446848 06-Jan-2009 barathsr
518      AND DEL.org_id = trx_summ.org_id) PROMISE_AMOUNT,
519 
520     (SELECT 1 FROM dual WHERE EXISTS
521       (SELECT 1 FROM dual WHERE EXISTS
522         (SELECT 1
523          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
524          WHERE pro.cust_account_id = trx_summ.cust_account_id
525          and del.customer_site_use_id = TRX_SUMM.site_use_ID
526          AND pro.state = 'BROKEN_PROMISE'
527          AND(pro.uwq_status IS NULL OR pro.uwq_status = 'ACTIVE' OR(TRUNC(pro.uwq_active_date) <= TRUNC(sysdate)
528          AND pro.uwq_status = 'PENDING')))
529       )
530     ) active_promises,
531 
532     (SELECT 1 FROM dual WHERE EXISTS
533       (SELECT 1 FROM dual WHERE EXISTS
534         (SELECT 1
535          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
536          WHERE pro.cust_account_id = trx_summ.cust_account_id
537          and del.customer_site_use_id = TRX_SUMM.site_use_ID
538          AND pro.state = 'BROKEN_PROMISE'
539          AND(pro.uwq_status = 'COMPLETE'
540          AND(TRUNC(pro.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
541       )
542     ) complete_promises,
543 
544     (SELECT 1 FROM dual WHERE EXISTS
545       (SELECT 1 FROM dual WHERE EXISTS
546         (SELECT 1
547          FROM iex_promise_details PRO, IEX_DELINQUENCIES_ALL DEL
548          WHERE pro.cust_account_id = trx_summ.cust_account_id
549          and del.customer_site_use_id = TRX_SUMM.site_use_ID
550          AND pro.state = 'BROKEN_PROMISE'
551          AND(pro.uwq_status = 'PENDING'
552          AND(TRUNC(pro.uwq_active_date) > TRUNC(sysdate))))
553       )
554     ) pending_promises
555   FROM ar_trx_bal_summary trx_summ,
556     hz_cust_accounts acc,
557     hz_parties party,
558     jtf_objects_b objb,
559 hz_contact_points phone,
560     fnd_territories_tl fnd_terr,
561     hz_cust_site_uses_all site_uses,
562     hz_customer_profiles prf,
563     ar_collectors ac,
564     GL_SETS_OF_BOOKS gl,
565     AR_SYSTEM_PARAMETERS_all sys
566   WHERE
567    trx_summ.reference_1 = '1'
568    AND trx_summ.site_use_id = site_uses.site_use_id
569    AND trx_summ.cust_account_id = acc.cust_account_id
570    AND acc.party_id = party.party_id
571    AND objb.object_code = 'IEX_BILLTO'
572    AND party.country = fnd_terr.territory_code(+)
573    AND fnd_terr.LANGUAGE(+) = userenv('LANG')
574    AND phone.owner_table_id(+) = party.party_id
575    AND phone.owner_table_name(+) = 'HZ_PARTIES'
576    AND phone.contact_point_type(+) = 'PHONE'
577    AND phone.primary_by_purpose(+) = 'Y'
578    AND phone.contact_point_purpose(+) = 'COLLECTIONS'
579    AND phone.phone_line_type(+) NOT IN('PAGER',   'FAX')
580    AND phone.status(+) = 'A'
581    AND nvl(phone.do_not_use_flag(+),   'N') = 'N'
582    and prf.SITE_USE_ID(+) = trx_summ.site_use_id
583    and ac.collector_id(+) = prf.collector_id
584    and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
585    and trx_summ.org_id = sys.org_id
586    -- start bug 5762888 gnramasa 13-July-2007
587   /* and (trx_summ.cust_account_id, trx_summ.site_use_id, trx_summ.org_id) in
588        (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(p_from_date))
589     */
590    and trunc(trx_summ.last_update_date) >= trunc(p_from_date)
591    -- end bug 5762888 gnramasa 13-July-2007
592   GROUP BY trx_summ.org_id,
593     objb.object_function,
594     objb.object_parameters,
595     party.party_id,
596     party.party_name,
597     trx_summ.cust_account_id,
598     acc.account_name,
599     acc.account_number,
600     trx_summ.site_use_id,
601     site_uses.location,
602     party.address1,
603     party.city,
604     party.state,
605     party.county,
606     fnd_terr.territory_short_name,
607     party.province,
608     party.postal_code,
609     phone.phone_country_code,
610     phone.phone_area_code,
611     phone.phone_number,
612     phone.phone_extension;
613     -- End - Andre Araujo - 10/20/06 - Added selection using date
614 
615   CURSOR c_iex_acc_uwq_summary IS
616     SELECT
617       trx_summ.org_id,
618       max(ac.collector_id),
619       max(ac.resource_id),
620       max(ac.resource_type),
621       objb.object_function ieu_object_function,
622       objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
623       '' ieu_media_type_uuid,
624       'CUST_ACCOUNT_ID' ieu_param_pk_col,
625       to_char(trx_summ.cust_account_id) ieu_param_pk_value,
626       1 resource_id,
627       'RS_EMPLOYEE' resource_type,
628       party.party_id party_id,
629       party.party_name party_name,
630       trx_summ.cust_account_id cust_account_id,
631       acc.account_name account_name,
632       acc.account_number account_number,
633       to_number(null) site_use_id,
634       null location,
635       max(gl.CURRENCY_CODE) currency,
636       SUM(trx_summ.op_invoices_count) op_invoices_count,
637       SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
638       SUM(trx_summ.op_deposits_count) op_deposits_count,
639       SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
640       SUM(trx_summ.op_chargeback_count) op_chargeback_count,
641       SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
642       SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
643       SUM(trx_summ.disputed_inv_count) disputed_inv_count,
644       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
645        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
646        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
647       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
648        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
649        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
650       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
651        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
652        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
653       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
654        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
655        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
656       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
657        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
658        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
659       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
660        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
661        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
662       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
663        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
664        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
665       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
666        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
667        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
668       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
669        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
670        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
671       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
672        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
673        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
674       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
675        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
676        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
677         (SELECT SUM(b.acctd_amount_due_remaining)
678        FROM iex_delinquencies_all a,
679          ar_payment_schedules_all b
680        WHERE a.cust_account_id = trx_summ.cust_account_id
681        AND a.payment_schedule_id = b.payment_schedule_id
682        AND b.status = 'OP'
683        AND a.status IN('DELINQUENT',    'PREDELINQUENT')
684        AND b.org_id = trx_summ.org_id) past_due_inv_value,
685       SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
686       MAX(trx_summ.last_payment_date) last_payment_date,
687       MAX(iex_uwq_view_pkg.get_last_payment_amount(0,   trx_summ.cust_account_id,   0)) last_payment_amount,
688       max(gl.CURRENCY_CODE) last_payment_amount_curr,
689       MAX(iex_uwq_view_pkg.get_last_payment_number(0,   trx_summ.cust_account_id,   0)) last_payment_number,
690       MAX(trx_summ.last_update_date) last_update_date,
691       MAX(trx_summ.last_updated_by) last_updated_by,
692       MAX(trx_summ.creation_date) creation_date,
693       MAX(trx_summ.created_by) created_by,
694       MAX(trx_summ.last_update_login) last_update_login,
695         (SELECT COUNT(1)
696        FROM iex_delinquencies_all
697        WHERE cust_account_id = trx_summ.cust_account_id
698        AND status IN('DELINQUENT',    'PREDELINQUENT')
699        AND org_id = trx_summ.org_id)
700     number_of_delinquencies,
701         (SELECT 1
702        FROM dual
703        WHERE EXISTS
704         (SELECT 1
705          FROM iex_delinquencies_all
706          WHERE cust_account_id = trx_summ.cust_account_id
707          AND status IN('DELINQUENT',    'PREDELINQUENT')
708 	 AND org_id = trx_summ.org_id
709          AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
710          AND uwq_status = 'PENDING')))
711       )
712     active_delinquencies,
713         (SELECT 1
714        FROM dual
715        WHERE EXISTS
716         (SELECT 1
717          FROM iex_delinquencies_all
718          WHERE cust_account_id = trx_summ.cust_account_id
719          AND status IN('DELINQUENT',    'PREDELINQUENT')
720 	 AND org_id = trx_summ.org_id
721          AND(uwq_status = 'COMPLETE'
722          AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
723       )
724     complete_delinquencies,
725         (SELECT 1
726        FROM dual
727        WHERE EXISTS
728         (SELECT 1
729          FROM iex_delinquencies_all  WHERE cust_account_id = trx_summ.cust_account_id
730          AND status IN('DELINQUENT',    'PREDELINQUENT')
731 	 AND org_id = trx_summ.org_id
732          AND(uwq_status = 'PENDING'
733          AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
734       )
735     pending_delinquencies,
736         (SELECT a.score_value
737        FROM iex_score_histories a
738        WHERE a.creation_date =
739         (SELECT MAX(creation_date)
740          FROM iex_score_histories
741          WHERE score_object_code = 'IEX_ACCOUNT'
742          AND score_object_id = trx_summ.cust_account_id)
743       AND rownum < 2
744        AND a.score_object_code = 'IEX_ACCOUNT'
745        AND a.score_object_id = trx_summ.cust_account_id)
746     score,
747       party.address1 address1,
748       party.city city,
749       party.state state,
750       party.county county,
751       fnd_terr.territory_short_name country,
752       party.province province,
753       party.postal_code postal_code,
754       phone.phone_country_code phone_country_code,
755       phone.phone_area_code phone_area_code,
756       phone.phone_number phone_number,
757       phone.phone_extension phone_extension,
758         (SELECT COUNT(1) FROM iex_bankruptcies bkr  WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies, -- Changed for bug#7693986
759 
760       (SELECT COUNT(1) FROM iex_promise_details PRO, IEX_DELINQUENCIES_all DEL
761        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
762        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
763        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
764        AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
765        NOT IN ('CURRENT', 'CLOSE')
766        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
767        AND DEL.org_id = trx_summ.org_id) NUMBER_OF_PROMISES ,
768 
769        (SELECT SUM(AMOUNT_DUE_REMAINING) FROM IEX_PROMISE_DETAILS PRO, IEX_DELINQUENCIES_all DEL
770        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
771        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
772        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
773        AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
774        NOT IN ('CURRENT', 'CLOSE')
775        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
776        AND DEL.org_id = trx_summ.org_id) BROKEN_PROMISE_AMOUNT ,
777 
778        (SELECT SUM(PROMISE_AMOUNT) FROM IEX_PROMISE_DETAILS PRO, IEX_DELINQUENCIES_all DEL
779        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
780        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
781        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
782        AND (DEL.STATUS --(+)  Commented for Bug 6446848 06-Jan-2009 barathsr
783        NOT IN ('CURRENT', 'CLOSE')
784        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
785        AND DEL.org_id = trx_summ.org_id) PROMISE_AMOUNT,
786 
787         (SELECT 1 FROM dual WHERE EXISTS
788           (SELECT 1 FROM dual WHERE EXISTS
789             (SELECT 1
790              FROM iex_promise_details
791              WHERE cust_account_id = trx_summ.cust_account_id
792              AND state = 'BROKEN_PROMISE'
793              AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
794              AND uwq_status = 'PENDING')))
795           )
796         ) active_promises,
797 
798         (SELECT 1 FROM dual WHERE EXISTS
799           (SELECT 1 FROM dual WHERE EXISTS
800             (SELECT 1
801              FROM iex_promise_details
802              WHERE cust_account_id = trx_summ.cust_account_id
803              AND state = 'BROKEN_PROMISE'
804              AND(uwq_status = 'COMPLETE'
805              AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
806           )
807         ) complete_promises,
808 
809         (SELECT 1 FROM dual WHERE EXISTS
810           (SELECT 1 FROM dual WHERE EXISTS
811             (SELECT 1
812              FROM iex_promise_details
813              WHERE cust_account_id = trx_summ.cust_account_id
814              AND state = 'BROKEN_PROMISE'
815              AND(uwq_status = 'PENDING'
816              AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
817           )
818         ) pending_promises
819 
820     FROM ar_trx_bal_summary trx_summ,
821       hz_cust_accounts acc,
822       hz_parties party,
823       jtf_objects_b objb,
824       hz_contact_points phone,
825       fnd_territories_tl fnd_terr,
826       hz_customer_profiles prf,
827       ar_collectors ac,
828       GL_SETS_OF_BOOKS gl,
829       AR_SYSTEM_PARAMETERS_all sys
830 
831     WHERE
832      P_MODE = 'CP'
833      AND   trx_summ.reference_1 = '1'
834      AND trx_summ.cust_account_id = acc.cust_account_id
835      AND acc.party_id = party.party_id
836      AND objb.object_code = 'IEX_ACCOUNT'
837      AND party.country = fnd_terr.territory_code(+)
838      AND fnd_terr.LANGUAGE(+) = userenv('LANG')
839      AND phone.owner_table_id(+) = party.party_id
840      AND phone.owner_table_name(+) = 'HZ_PARTIES'
841      AND phone.contact_point_type(+) = 'PHONE'
842      AND phone.primary_by_purpose(+) = 'Y'
843      AND phone.contact_point_purpose(+) = 'COLLECTIONS'
844      AND phone.phone_line_type(+) NOT IN('PAGER',   'FAX')
845      AND phone.status(+) = 'A'
846      AND nvl(phone.do_not_use_flag(+),   'N') = 'N'
847      and prf.CUST_ACCOUNT_ID = trx_summ.CUST_ACCOUNT_ID
848      and prf.SITE_USE_ID is null
849      and ac.collector_id(+) = prf.collector_id
850      and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
851      and trx_summ.org_id = sys.org_id
852     GROUP BY  trx_summ.org_id,
853       objb.object_function,
854       objb.object_parameters,
855       party.party_id,
856       party.party_name,
857       trx_summ.cust_account_id,
858       acc.account_name,
859       acc.account_number,
860       party.address1,
861       party.city,
862       party.state,
863       party.county,
864       fnd_terr.territory_short_name,
865       party.province,
866       party.postal_code,
867       phone.phone_country_code,
868       phone.phone_area_code,
869       phone.phone_number,
870       phone.phone_extension;
871 
872     -- Begin - Andre Araujo - 10/20/06 - Added selection using date
873   CURSOR c_iex_acc_uwq_dt_sum(p_from_date date) IS
874     SELECT
875       trx_summ.org_id,
876       max(ac.collector_id),
877       max(ac.resource_id),
878       max(ac.resource_type),
879       objb.object_function ieu_object_function,
880       objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
881       '' ieu_media_type_uuid,
882       'CUST_ACCOUNT_ID' ieu_param_pk_col,
883       to_char(trx_summ.cust_account_id) ieu_param_pk_value,
884       1 resource_id,
885       'RS_EMPLOYEE' resource_type,
886       party.party_id party_id,
887       party.party_name party_name,
888       trx_summ.cust_account_id cust_account_id,
889       acc.account_name account_name,
890       acc.account_number account_number,
891       to_number(null) site_use_id,
892       null location,
893       max(gl.CURRENCY_CODE) currency,
894       SUM(trx_summ.op_invoices_count) op_invoices_count,
895       SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
896       SUM(trx_summ.op_deposits_count) op_deposits_count,
897       SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
898       SUM(trx_summ.op_chargeback_count) op_chargeback_count,
899       SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
900       SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
901       SUM(trx_summ.disputed_inv_count) disputed_inv_count,
902       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
903        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
904        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
905       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
906        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
907        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
908       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
909        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
910        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
911       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
912        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
913        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
914       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
915        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
916        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
917       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
918        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
919        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
920       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
921        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
922        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
923       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
924        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
925        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
926       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
927        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
928        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
929       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
930        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
931        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
932       SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
933        gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
934        iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
935         (SELECT SUM(b.acctd_amount_due_remaining)
936        FROM iex_delinquencies_all a,
937          ar_payment_schedules_all b
938        WHERE a.cust_account_id = trx_summ.cust_account_id
939        AND a.payment_schedule_id = b.payment_schedule_id
940        AND b.status = 'OP'
941        AND a.status IN('DELINQUENT',    'PREDELINQUENT')
942        AND b.org_id = trx_summ.org_id) past_due_inv_value,
943       SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
944       MAX(trx_summ.last_payment_date) last_payment_date,
945       MAX(iex_uwq_view_pkg.get_last_payment_amount(0,   trx_summ.cust_account_id,   0)) last_payment_amount,
946       max(gl.CURRENCY_CODE) last_payment_amount_curr,
947       MAX(iex_uwq_view_pkg.get_last_payment_number(0,   trx_summ.cust_account_id,   0)) last_payment_number,
948       MAX(trx_summ.last_update_date) last_update_date,
949       MAX(trx_summ.last_updated_by) last_updated_by,
950       MAX(trx_summ.creation_date) creation_date,
951       MAX(trx_summ.created_by) created_by,
952       MAX(trx_summ.last_update_login) last_update_login,
953         (SELECT COUNT(1)
954        FROM iex_delinquencies_all
955        WHERE cust_account_id = trx_summ.cust_account_id
956        AND status IN('DELINQUENT',    'PREDELINQUENT')
957        AND org_id = trx_summ.org_id)
958     number_of_delinquencies,
959         (SELECT 1
960        FROM dual
961        WHERE EXISTS
962         (SELECT 1
963          FROM iex_delinquencies_all
964          WHERE cust_account_id = trx_summ.cust_account_id
965          AND status IN('DELINQUENT',    'PREDELINQUENT')
966 	 AND org_id = trx_summ.org_id
967          AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
968          AND uwq_status = 'PENDING')))
969       )
970     active_delinquencies,
971         (SELECT 1
972        FROM dual
973        WHERE EXISTS
974         (SELECT 1
975          FROM iex_delinquencies_all
976          WHERE cust_account_id = trx_summ.cust_account_id
977          AND status IN('DELINQUENT',    'PREDELINQUENT')
978 	 AND org_id = trx_summ.org_id
979          AND(uwq_status = 'COMPLETE'
980          AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
981       )
982     complete_delinquencies,
983         (SELECT 1
984        FROM dual
985        WHERE EXISTS
986         (SELECT 1
987          FROM iex_delinquencies_all  WHERE cust_account_id = trx_summ.cust_account_id
988          AND status IN('DELINQUENT',    'PREDELINQUENT')
989 	 AND org_id = trx_summ.org_id
990          AND(uwq_status = 'PENDING'
991          AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
992       )
993     pending_delinquencies,
994         (SELECT a.score_value
995        FROM iex_score_histories a
996        WHERE a.creation_date =
997         (SELECT MAX(creation_date)
998          FROM iex_score_histories
999          WHERE score_object_code = 'IEX_ACCOUNT'
1000          AND score_object_id = trx_summ.cust_account_id)
1001       AND rownum < 2
1002        AND a.score_object_code = 'IEX_ACCOUNT'
1003        AND a.score_object_id = trx_summ.cust_account_id)
1004     score,
1005       party.address1 address1,
1006       party.city city,
1007       party.state state,
1008       party.county county,
1009       fnd_terr.territory_short_name country,
1010       party.province province,
1011       party.postal_code postal_code,
1012       phone.phone_country_code phone_country_code,
1013       phone.phone_area_code phone_area_code,
1014       phone.phone_number phone_number,
1015       phone.phone_extension phone_extension,
1016         (SELECT COUNT(1) FROM iex_bankruptcies bkr  WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies,  -- Changed for bug#7693986
1017 
1018       (SELECT COUNT(1) FROM iex_promise_details PRO, IEX_DELINQUENCIES_all DEL
1019        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
1020        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
1021        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
1022        AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
1023        NOT IN ('CURRENT', 'CLOSE')
1024        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
1025        AND DEL.org_id = trx_summ.org_id) NUMBER_OF_PROMISES ,
1026 
1027        (SELECT SUM(AMOUNT_DUE_REMAINING) FROM IEX_PROMISE_DETAILS PRO, IEX_DELINQUENCIES_all DEL
1028        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
1029        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
1030        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
1031        AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
1032        NOT IN ('CURRENT', 'CLOSE')
1033        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
1034        AND DEL.org_id = trx_summ.org_id) BROKEN_PROMISE_AMOUNT ,
1035 
1036        (SELECT SUM(PROMISE_AMOUNT) FROM IEX_PROMISE_DETAILS PRO, IEX_DELINQUENCIES_all DEL
1037        WHERE PRO.CUST_ACCOUNT_ID = TRX_SUMM.CUST_ACCOUNT_ID AND
1038        PRO.STATUS IN ('COLLECTABLE', 'PENDING') AND PRO.STATE = 'BROKEN_PROMISE' AND PRO.AMOUNT_DUE_REMAINING > 0 AND
1039        PRO.DELINQUENCY_ID = DEL.DELINQUENCY_ID(+)
1040        AND (DEL.STATUS --(+) Commented for Bug 6446848 06-Jan-2009 barathsr
1041        NOT IN ('CURRENT', 'CLOSE')
1042        or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
1043        AND DEL.org_id = trx_summ.org_id) PROMISE_AMOUNT,
1044 
1045         (SELECT 1 FROM dual WHERE EXISTS
1046           (SELECT 1 FROM dual WHERE EXISTS
1047             (SELECT 1
1048              FROM iex_promise_details
1049              WHERE cust_account_id = trx_summ.cust_account_id
1050              AND state = 'BROKEN_PROMISE'
1051              AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
1052              AND uwq_status = 'PENDING')))
1053           )
1054         ) active_promises,
1055 
1056         (SELECT 1 FROM dual WHERE EXISTS
1057           (SELECT 1 FROM dual WHERE EXISTS
1058             (SELECT 1
1059              FROM iex_promise_details
1060              WHERE cust_account_id = trx_summ.cust_account_id
1061              AND state = 'BROKEN_PROMISE'
1062              AND(uwq_status = 'COMPLETE'
1063              AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
1064           )
1065         ) complete_promises,
1066 
1067         (SELECT 1 FROM dual WHERE EXISTS
1068           (SELECT 1 FROM dual WHERE EXISTS
1069             (SELECT 1
1070              FROM iex_promise_details
1071              WHERE cust_account_id = trx_summ.cust_account_id
1072              AND state = 'BROKEN_PROMISE'
1073              AND(uwq_status = 'PENDING'
1074              AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
1075           )
1076         ) pending_promises
1077 
1078     FROM ar_trx_bal_summary trx_summ,
1079       hz_cust_accounts acc,
1080       hz_parties party,
1081       jtf_objects_b objb,
1082       hz_contact_points phone,
1083       fnd_territories_tl fnd_terr,
1084       hz_customer_profiles prf,
1085       ar_collectors ac,
1086       GL_SETS_OF_BOOKS gl,
1087       AR_SYSTEM_PARAMETERS_all sys
1088 
1089     WHERE
1090      trx_summ.reference_1 = '1'
1091      AND trx_summ.cust_account_id = acc.cust_account_id
1092      AND acc.party_id = party.party_id
1093      AND objb.object_code = 'IEX_ACCOUNT'
1094      AND party.country = fnd_terr.territory_code(+)
1095      AND fnd_terr.LANGUAGE(+) = userenv('LANG')
1096      AND phone.owner_table_id(+) = party.party_id
1097      AND phone.owner_table_name(+) = 'HZ_PARTIES'
1098      AND phone.contact_point_type(+) = 'PHONE'
1099      AND phone.primary_by_purpose(+) = 'Y'
1100      AND phone.contact_point_purpose(+) = 'COLLECTIONS'
1101      AND phone.phone_line_type(+) NOT IN('PAGER',   'FAX')
1102      AND phone.status(+) = 'A'
1103      AND nvl(phone.do_not_use_flag(+),   'N') = 'N'
1104      and prf.CUST_ACCOUNT_ID = trx_summ.CUST_ACCOUNT_ID
1105      and prf.SITE_USE_ID is null
1106      and ac.collector_id(+) = prf.collector_id
1107      and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
1108      and trx_summ.org_id = sys.org_id
1109      -- start bug 5762888 gnramasa 13-July-2007
1110      /* and (trx_summ.cust_account_id, trx_summ.site_use_id, trx_summ.org_id) in */
1111          /* changed for bug 5677415 by gnramasa on 27/11/2006 */
1112 	 /* (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(sysdate)) */
1113  	 /* (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(p_from_date))  */
1114      and trunc(trx_summ.last_update_date) >= trunc(p_from_date)
1115    -- end bug 5762888 gnramasa 13-July-2007
1116     GROUP BY  trx_summ.org_id,
1117       objb.object_function,
1118       objb.object_parameters,
1119       party.party_id,
1120       party.party_name,
1121       trx_summ.cust_account_id,
1122       acc.account_name,
1123       acc.account_number,
1124       party.address1,
1125       party.city,
1126       party.state,
1127       party.county,
1128       fnd_terr.territory_short_name,
1129       party.province,
1130       party.postal_code,
1131       phone.phone_country_code,
1132       phone.phone_area_code,
1133       phone.phone_number,
1134       phone.phone_extension     ;
1135 
1136     -- End - Andre Araujo - 10/20/06 - Added selection using date
1137 
1138     CURSOR c_iex_cu_uwq_summary IS
1139       SELECT
1140           trx_summ.org_id,
1141           max(ac.collector_id),
1142           max(ac.resource_id),
1143           max(ac.resource_type),
1144           objb.object_function ieu_object_function,
1145           objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
1146           '' ieu_media_type_uuid,
1147           'PARTY_ID' ieu_param_pk_col,
1148           to_char(party.party_id) ieu_param_pk_value,
1149           1 resource_id,
1150           'RS_EMPLOYEE' resource_type,
1151           party.party_id party_id,
1152           party.party_name party_name,
1153           to_number(null) cust_account_id,
1154           null account_name,
1155           null account_number,
1156           to_number(null) site_use_id,
1157           null location,
1158           max(gl.CURRENCY_CODE) currency,
1159           SUM(trx_summ.op_invoices_count) op_invoices_count,
1160           SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
1161           SUM(trx_summ.op_deposits_count) op_deposits_count,
1162           SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
1163           SUM(trx_summ.op_chargeback_count) op_chargeback_count,
1164           SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
1165           SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
1166           SUM(trx_summ.disputed_inv_count) disputed_inv_count,
1167           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.best_current_receivables,
1168           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1169           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.best_current_receivables))) best_current_receivables,
1170           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_invoices_value,
1171           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1172           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_invoices_value))) op_invoices_value,
1173           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_debit_memos_value,
1174           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1175           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_debit_memos_value))) op_debit_memos_value,
1176           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_deposits_value,
1177           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1178           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_deposits_value))) op_deposits_value,
1179           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_bills_receivables_value,
1180           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1181           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
1182           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_chargeback_value,
1183           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1184           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_chargeback_value))) op_chargeback_value,
1185           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_credit_memos_value,
1186           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1187           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_credit_memos_value))) op_credit_memos_value,
1188           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.unresolved_cash_value,
1189           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1190           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.unresolved_cash_value))) unresolved_cash_value,
1191           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.receipts_at_risk_value,
1192           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1193           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
1194           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.inv_amt_in_dispute,
1195           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1196           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
1197           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.pending_adj_value,
1198           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1199           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.pending_adj_value))) pending_adj_value,
1200               (SELECT SUM(b.acctd_amount_due_remaining)
1201            FROM iex_delinquencies_all a,
1202                ar_payment_schedules_all b
1203            WHERE a.party_cust_id = party.party_id
1204            AND a.payment_schedule_id = b.payment_schedule_id
1205            AND b.status = 'OP'
1206            AND a.status IN('DELINQUENT',      'PREDELINQUENT')
1207 	   AND b.org_id = trx_summ.org_id) past_due_inv_value,
1208           SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
1209           MAX(trx_summ.last_payment_date) last_payment_date,
1210           MAX(iex_uwq_view_pkg.get_last_payment_amount(party.party_id,     0,     0)) last_payment_amount,
1211           max(gl.CURRENCY_CODE) last_payment_amount_curr,
1212           MAX(iex_uwq_view_pkg.get_last_payment_number(party.party_id,     0,     0)) last_payment_number,
1213           MAX(trx_summ.last_update_date) last_update_date,
1214           MAX(trx_summ.last_updated_by) last_updated_by,
1215           MAX(trx_summ.creation_date) creation_date,
1216           MAX(trx_summ.created_by) created_by,
1217           MAX(trx_summ.last_update_login) last_update_login,
1218               (SELECT COUNT(1)
1219            FROM iex_delinquencies_all
1220            WHERE party_cust_id = party.party_id
1221            AND status IN('DELINQUENT',      'PREDELINQUENT')
1222 	   AND org_id = trx_summ.org_id)
1223       number_of_delinquencies,
1224               (SELECT 1
1225            FROM dual
1226            WHERE EXISTS
1227               (SELECT 1
1228                FROM iex_delinquencies_all
1229                WHERE party_cust_id = party.party_id
1230                AND status IN('DELINQUENT',      'PREDELINQUENT')
1231 	       AND org_id = trx_summ.org_id
1232                AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
1233                AND uwq_status = 'PENDING')))
1234           )
1235       active_delinquencies,
1236               (SELECT 1
1237            FROM dual
1238            WHERE EXISTS
1239               (SELECT 1
1240                FROM iex_delinquencies_all
1241                WHERE party_cust_id = party.party_id
1242                AND status IN('DELINQUENT',      'PREDELINQUENT')
1243 	       AND org_id = trx_summ.org_id
1244                AND(uwq_status = 'COMPLETE'
1245                AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
1246           )
1247       complete_delinquencies,
1248               (SELECT 1
1249            FROM dual
1250            WHERE EXISTS
1251               (SELECT 1
1252                FROM iex_delinquencies_all
1253                WHERE party_cust_id = party.party_id
1254                AND status IN('DELINQUENT',      'PREDELINQUENT')
1255 	       AND org_id = trx_summ.org_id
1256                AND(uwq_status = 'PENDING'
1257                AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
1258           )
1259       pending_delinquencies,
1260               (SELECT a.score_value
1261            FROM iex_score_histories a
1262            WHERE a.creation_date =
1263               (SELECT MAX(creation_date)
1264                FROM iex_score_histories
1265                WHERE score_object_code = 'PARTY'
1266                AND score_object_id = party.party_id)
1267           AND rownum < 2
1268            AND a.score_object_code = 'PARTY'
1269            AND a.score_object_id = party.party_id)
1270       score,
1271           party.address1 address1,
1272           party.city city,
1273           party.state state,
1274           party.county county,
1275           fnd_terr.territory_short_name country,
1276           party.province province,
1277           party.postal_code postal_code,
1278           phone.phone_country_code phone_country_code,
1279           phone.phone_area_code phone_area_code,
1280           phone.phone_number phone_number,
1281           phone.phone_extension phone_extension,
1282            (SELECT COUNT(1) FROM iex_bankruptcies bkr WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies, -- Changed for bug#7693986
1283 
1284           iex_uwq_view_pkg.get_pro_count(party.party_id,     NULL,     NULL,     NULL, trx_summ.org_id) number_of_promises,
1285           iex_uwq_view_pkg.get_broken_prm_amt(party.party_id,     NULL,     NULL, trx_summ.org_id) broken_promise_amount,
1286           iex_uwq_view_pkg.get_prm_amt(party.party_id,     NULL,     NULL, trx_summ.org_id) promise_amount,
1287               (SELECT 1
1288            FROM dual
1289            WHERE EXISTS
1290               (SELECT 1
1291                FROM iex_promise_details pd,
1292                    hz_cust_accounts b
1293                WHERE b.party_id = party.party_id
1294                AND pd.cust_account_id = b.cust_account_id
1295                AND pd.state = 'BROKEN_PROMISE'
1296                AND(pd.uwq_status IS NULL OR pd.uwq_status = 'ACTIVE' OR(TRUNC(pd.uwq_active_date) <= TRUNC(sysdate)
1297                AND pd.uwq_status = 'PENDING')))
1298           )
1299       active_promises,
1300               (SELECT 1
1301            FROM dual
1302            WHERE EXISTS
1303               (SELECT 1
1304                FROM iex_promise_details pd,
1305                    hz_cust_accounts b
1306                WHERE b.party_id = party.party_id
1307                AND pd.cust_account_id = b.cust_account_id
1308                AND pd.state = 'BROKEN_PROMISE'
1309                AND(pd.uwq_status = 'COMPLETE'
1310                AND(TRUNC(pd.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
1311           )
1312       complete_promises,
1313               (SELECT 1
1314            FROM dual
1315            WHERE EXISTS
1316               (SELECT 1
1317                FROM iex_promise_details pd,
1318                    hz_cust_accounts b
1319                WHERE b.party_id = party.party_id
1320                AND pd.cust_account_id = b.cust_account_id
1321                and pd.state = 'BROKEN_PROMISE'
1322                AND(pd.uwq_status = 'PENDING'
1323                AND(TRUNC(pd.uwq_active_date) > TRUNC(sysdate))))
1324           )
1325       pending_promises
1326 
1327       FROM ar_trx_bal_summary trx_summ,
1328           hz_cust_accounts acc,
1329           hz_parties party,
1330           jtf_objects_b objb,
1331           hz_contact_points phone,
1332           fnd_territories_tl fnd_terr,
1333             hz_customer_profiles prf,
1334             ar_collectors ac,
1335             GL_SETS_OF_BOOKS gl,
1336             AR_SYSTEM_PARAMETERS_all sys
1337 
1338       WHERE
1339        P_MODE = 'CP'
1340        AND trx_summ.reference_1 = '1'
1341        AND trx_summ.cust_account_id = acc.cust_account_id
1342        AND acc.party_id = party.party_id
1343        AND objb.object_code = 'IEX_CUSTOMER'
1344        AND party.country = fnd_terr.territory_code(+)
1345        AND fnd_terr.LANGUAGE(+) = userenv('LANG')
1346        AND phone.owner_table_id(+) = party.party_id
1347        AND phone.owner_table_name(+) = 'HZ_PARTIES'
1348        AND phone.contact_point_type(+) = 'PHONE'
1349        and phone.primary_by_purpose(+) = 'Y'
1350        AND phone.contact_point_purpose(+) = 'COLLECTIONS'
1351        AND phone.phone_line_type(+) NOT IN('PAGER',     'FAX')
1352        AND phone.status(+) = 'A'
1353        AND nvl(phone.do_not_use_flag(+),     'N') = 'N'
1354        AND acc.party_id = prf.party_id
1355        and prf.CUST_ACCOUNT_ID = -1
1356 --       and prf.CUST_ACCOUNT_ID = trx_summ.CUST_ACCOUNT_ID
1357        and prf.SITE_USE_ID is null
1358        and ac.collector_id(+) = prf.collector_id
1359        and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
1360        and trx_summ.org_id = sys.org_id
1361       GROUP BY trx_summ.org_id,
1362           objb.object_function,
1363           objb.object_parameters,
1364           party.party_id,
1365           party.party_name,
1366           party.address1,
1367           party.city,
1368           party.state,
1369           party.county,
1370           fnd_terr.territory_short_name,
1371           party.province,
1372           party.postal_code,
1373           phone.phone_country_code,
1374           phone.phone_area_code,
1375           phone.phone_number,
1376           phone.phone_extension;
1377 
1378     CURSOR c_iex_cu_uwq_dt_sum(p_from_date date) IS
1379       SELECT
1380           trx_summ.org_id,
1381           max(ac.collector_id),
1382           max(ac.resource_id),
1383           max(ac.resource_type),
1384           objb.object_function ieu_object_function,
1385           objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
1386           '' ieu_media_type_uuid,
1387           'PARTY_ID' ieu_param_pk_col,
1388           to_char(party.party_id) ieu_param_pk_value,
1389           1 resource_id,
1390           'RS_EMPLOYEE' resource_type,
1391           party.party_id party_id,
1392           party.party_name party_name,
1393           to_number(null) cust_account_id,
1394           null account_name,
1395           null account_number,
1396           to_number(null) site_use_id,
1397           null location,
1398           max(gl.CURRENCY_CODE) currency,
1399           SUM(trx_summ.op_invoices_count) op_invoices_count,
1400           SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
1401           SUM(trx_summ.op_deposits_count) op_deposits_count,
1402           SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
1403           SUM(trx_summ.op_chargeback_count) op_chargeback_count,
1404           SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
1405           SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
1406           SUM(trx_summ.disputed_inv_count) disputed_inv_count,
1407           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.best_current_receivables,
1408           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1409           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.best_current_receivables))) best_current_receivables,
1410           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_invoices_value,
1411           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1412           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_invoices_value))) op_invoices_value,
1413           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_debit_memos_value,
1414           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1415           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_debit_memos_value))) op_debit_memos_value,
1416           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_deposits_value,
1417           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1418           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_deposits_value))) op_deposits_value,
1419           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_bills_receivables_value,
1420           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1421           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
1422           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_chargeback_value,
1423           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1424           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_chargeback_value))) op_chargeback_value,
1425           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_credit_memos_value,
1426           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1427           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_credit_memos_value))) op_credit_memos_value,
1428           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.unresolved_cash_value,
1429           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1430           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.unresolved_cash_value))) unresolved_cash_value,
1431           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.receipts_at_risk_value,
1432           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1433           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
1434           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.inv_amt_in_dispute,
1435           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1436           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
1437           SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.pending_adj_value,
1438           gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
1439           iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.pending_adj_value))) pending_adj_value,
1440               (SELECT SUM(b.acctd_amount_due_remaining)
1441            FROM iex_delinquencies_all a,
1442                ar_payment_schedules_all b
1443            WHERE a.party_cust_id = party.party_id
1444            AND a.payment_schedule_id = b.payment_schedule_id
1445            AND b.status = 'OP'
1446            AND a.status IN('DELINQUENT',      'PREDELINQUENT')
1447 	   AND b.org_id = trx_summ.org_id) past_due_inv_value,
1448           SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
1449           MAX(trx_summ.last_payment_date) last_payment_date,
1450           MAX(iex_uwq_view_pkg.get_last_payment_amount(party.party_id,     0,     0)) last_payment_amount,
1451           max(gl.CURRENCY_CODE) last_payment_amount_curr,
1452           MAX(iex_uwq_view_pkg.get_last_payment_number(party.party_id,     0,     0)) last_payment_number,
1453           MAX(trx_summ.last_update_date) last_update_date,
1454           MAX(trx_summ.last_updated_by) last_updated_by,
1455           MAX(trx_summ.creation_date) creation_date,
1456           MAX(trx_summ.created_by) created_by,
1457           MAX(trx_summ.last_update_login) last_update_login,
1458               (SELECT COUNT(1)
1459            FROM iex_delinquencies_all
1460            WHERE party_cust_id = party.party_id
1461            AND status IN('DELINQUENT',      'PREDELINQUENT')
1462 	   AND org_id = trx_summ.org_id)
1463       number_of_delinquencies,
1464               (SELECT 1
1465            FROM dual
1466            WHERE EXISTS
1467               (SELECT 1
1468                FROM iex_delinquencies_all
1469                WHERE party_cust_id = party.party_id
1470                AND status IN('DELINQUENT',      'PREDELINQUENT')
1471 	       AND org_id = trx_summ.org_id
1472                AND(uwq_status IS NULL OR uwq_status = 'ACTIVE' OR(TRUNC(uwq_active_date) <= TRUNC(sysdate)
1473                AND uwq_status = 'PENDING')))
1474           )
1475       active_delinquencies,
1476               (SELECT 1
1477            FROM dual
1478            WHERE EXISTS
1479               (SELECT 1
1480                FROM iex_delinquencies_all
1481                WHERE party_cust_id = party.party_id
1482                AND status IN('DELINQUENT',      'PREDELINQUENT')
1483 	       AND org_id = trx_summ.org_id
1484                AND(uwq_status = 'COMPLETE'
1485                AND(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
1486           )
1487       complete_delinquencies,
1488               (SELECT 1
1489            FROM dual
1490            WHERE EXISTS
1491               (SELECT 1
1492                FROM iex_delinquencies_all
1493                WHERE party_cust_id = party.party_id
1494                AND status IN('DELINQUENT',      'PREDELINQUENT')
1495 	       AND org_id = trx_summ.org_id
1496                AND(uwq_status = 'PENDING'
1497                AND(TRUNC(uwq_active_date) > TRUNC(sysdate))))
1498           )
1499       pending_delinquencies,
1500               (SELECT a.score_value
1501            FROM iex_score_histories a
1502            WHERE a.creation_date =
1503               (SELECT MAX(creation_date)
1504                FROM iex_score_histories
1505                WHERE score_object_code = 'PARTY'
1506                AND score_object_id = party.party_id)
1507           AND rownum < 2
1508            AND a.score_object_code = 'PARTY'
1509            AND a.score_object_id = party.party_id)
1510       score,
1511           party.address1 address1,
1512           party.city city,
1513           party.state state,
1514           party.county county,
1515           fnd_terr.territory_short_name country,
1516           party.province province,
1517           party.postal_code postal_code,
1518           phone.phone_country_code phone_country_code,
1519           phone.phone_area_code phone_area_code,
1520           phone.phone_number phone_number,
1521           phone.phone_extension phone_extension,
1522            (SELECT COUNT(1) FROM iex_bankruptcies bkr WHERE bkr.party_id = party.party_id and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')) number_of_bankruptcies, -- Changed for bug#7693986
1523 
1524           iex_uwq_view_pkg.get_pro_count(party.party_id,     NULL,     NULL,     NULL, trx_summ.org_id) number_of_promises,
1525           iex_uwq_view_pkg.get_broken_prm_amt(party.party_id,     NULL,     NULL, trx_summ.org_id) broken_promise_amount,
1526           iex_uwq_view_pkg.get_prm_amt(party.party_id,     NULL,     NULL, trx_summ.org_id) promise_amount,
1527               (SELECT 1
1528            FROM dual
1529            WHERE EXISTS
1530               (SELECT 1
1531                FROM iex_promise_details pd,
1532                    hz_cust_accounts b
1533                WHERE b.party_id = party.party_id
1534                AND pd.cust_account_id = b.cust_account_id
1535                AND pd.state = 'BROKEN_PROMISE'
1536                AND(pd.uwq_status IS NULL OR pd.uwq_status = 'ACTIVE' OR(TRUNC(pd.uwq_active_date) <= TRUNC(sysdate)
1537                AND pd.uwq_status = 'PENDING')))
1538           )
1539       active_promises,
1540               (SELECT 1
1541            FROM dual
1542            WHERE EXISTS
1543               (SELECT 1
1544                FROM iex_promise_details pd,
1545                    hz_cust_accounts b
1546                WHERE b.party_id = party.party_id
1547                AND pd.cust_account_id = b.cust_account_id
1548                AND pd.state = 'BROKEN_PROMISE'
1549                AND(pd.uwq_status = 'COMPLETE'
1550                AND(TRUNC(pd.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') > TRUNC(sysdate))))
1551           )
1552       complete_promises,
1553               (SELECT 1
1554            FROM dual
1555            WHERE EXISTS
1556               (SELECT 1
1557                FROM iex_promise_details pd,
1558                    hz_cust_accounts b
1559                WHERE b.party_id = party.party_id
1560                AND pd.cust_account_id = b.cust_account_id
1561                and pd.state = 'BROKEN_PROMISE'
1562                AND(pd.uwq_status = 'PENDING'
1563                AND(TRUNC(pd.uwq_active_date) > TRUNC(sysdate))))
1564           )
1565       pending_promises
1566 
1567       FROM ar_trx_bal_summary trx_summ,
1568           hz_cust_accounts acc,
1569           hz_parties party,
1570           jtf_objects_b objb,
1571           hz_contact_points phone,
1572           fnd_territories_tl fnd_terr,
1573             hz_customer_profiles prf,
1574             ar_collectors ac,
1575             GL_SETS_OF_BOOKS gl,
1576             AR_SYSTEM_PARAMETERS_all sys
1577       WHERE trx_summ.reference_1 = '1'
1578        AND trx_summ.cust_account_id = acc.cust_account_id
1579        AND acc.party_id = party.party_id
1580        AND objb.object_code = 'IEX_CUSTOMER'
1581        AND party.country = fnd_terr.territory_code(+)
1582        AND fnd_terr.LANGUAGE(+) = userenv('LANG')
1583        AND phone.owner_table_id(+) = party.party_id
1584        AND phone.owner_table_name(+) = 'HZ_PARTIES'
1585        AND phone.contact_point_type(+) = 'PHONE'
1586        and phone.primary_by_purpose(+) = 'Y'
1587        AND phone.contact_point_purpose(+) = 'COLLECTIONS'
1588        AND phone.phone_line_type(+) NOT IN('PAGER',     'FAX')
1589        AND phone.status(+) = 'A'
1590        AND nvl(phone.do_not_use_flag(+),     'N') = 'N'
1591        AND acc.party_id = prf.party_id
1592        and prf.CUST_ACCOUNT_ID = -1
1593 --       and prf.CUST_ACCOUNT_ID = trx_summ.CUST_ACCOUNT_ID
1594        and prf.SITE_USE_ID is null
1595        and ac.collector_id(+) = prf.collector_id
1596        and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
1597        and trx_summ.org_id = sys.org_id
1598      -- start bug 5762888 gnramasa 13-July-2007
1599       /* and (trx_summ.cust_account_id, trx_summ.site_use_id, trx_summ.org_id) in */
1600            /* changed for bug 5677415 by gnramasa on 27/11/2006 */
1601 	   /* (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(sysdate)) */
1602 	   /* (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(p_from_date)) */
1603        and trunc(trx_summ.last_update_date) >= trunc(p_from_date)
1604    -- end bug 5762888 gnramasa 13-July-2007
1605       GROUP BY trx_summ.org_id,
1606           objb.object_function,
1607           objb.object_parameters,
1608           party.party_id,
1609           party.party_name,
1610           party.address1,
1611           party.city,
1612           party.state,
1613           party.county,
1614           fnd_terr.territory_short_name,
1615           party.province,
1616           party.postal_code,
1617           phone.phone_country_code,
1618           phone.phone_area_code,
1619           phone.phone_number,
1620           phone.phone_extension;
1621  --End bug 6634879 gnramasa 20th Nov 07
1622 
1623      CURSOR c_strategy_summary(p_level varchar2,p_from_date date) IS
1624      select strat.jtf_object_id,
1625         wkitem.WORK_ITEM_ID,
1626         wkitem.schedule_start schedule_start,
1627         wkitem.schedule_end schedule_end,
1628         stry_temp_wkitem.category_type category,
1629         stry_temp_wkitem.WORK_TYPE,
1630         stry_temp_wkitem.PRIORITY_TYPE,
1631         wkitem.resource_id,
1632         wkitem.strategy_id,
1633         strat.strategy_template_id,
1634         wkitem.work_item_template_id,
1635         wkitem.status_code,
1636         wkitem.creation_date start_time,
1637         wkitem.execute_end end_time, -- snuthala 28/08/2008 bug #6745580
1638         wkitem.work_item_order wkitem_order,
1639 	wkitem.escalated_yn                   --Added for bug#6981126 by schekuri on 27-Jul-2008
1640       from iex_strategies strat,
1641         iex_strategy_work_items wkitem,
1642         iex_stry_temp_work_items_b stry_temp_wkitem,
1643         IEX_DLN_UWQ_SUMMARY sum
1644       where strat.jtf_object_type = decode(p_level, 'CUSTOMER', 'PARTY', 'ACCOUNT', 'IEX_ACCOUNT', 'BILL_TO', 'IEX_BILLTO')
1645       AND strat.status_code IN('OPEN',   'ONHOLD')
1646       AND wkitem.strategy_id = strat.strategy_id
1647       AND wkitem.status_code IN('OPEN',   'ONHOLD')
1648       AND wkitem.work_item_template_id = stry_temp_wkitem.work_item_temp_id
1649       AND strat.jtf_object_id = decode(p_level, 'CUSTOMER', sum.PARTY_ID, 'ACCOUNT', sum.CUST_ACCOUNT_ID, 'BILL_TO', sum.SITE_USE_ID)
1650       AND trunc(sum.LAST_UPDATE_DATE) = trunc(sysdate);
1651 
1652       --Bug5701973. Start.
1653 
1654       CURSOR CHANGED_COLLECTOR(P_FROM_DATE DATE) IS
1655       SELECT
1656         DISTINCT
1657         ar.resource_id,
1658 	ar.resource_type,
1659 	ar.collector_id
1660       FROM
1661         ar_collectors ar,
1662 	iex_dln_uwq_summary ids
1663       WHERE
1664          ar.collector_id = ids.collector_id
1665 	 AND ar.resource_id is NOT NULL
1666 	 AND ar.resource_id <> ids.collector_resource_id
1667 	 AND trunc(ar.last_update_date) >= TRUNC(P_FROM_DATE);
1668 
1669 
1670       CURSOR CHANGED_PROFILES(P_FROM_DATE DATE) IS
1671       SELECT
1672          hp.collector_id,
1673 	 ids.party_id,
1674 	 ids.cust_account_id,
1675 	 ids.site_use_id
1676       FROM
1677          hz_customer_profiles hp,
1678 	 iex_dln_uwq_summary ids
1679       WHERE
1680          hp.party_id = ids.party_id
1681 	 AND decode(hp.cust_account_id,null,1,hp.cust_account_id)
1682 	         = decode(ids.cust_account_id,null,1,ids.cust_account_id)
1683          AND decode(hp.site_use_id,null,1,hp.site_use_id)
1684 	         = decode(ids.site_use_id,null,1,ids.site_use_id)
1685 	 AND hp.collector_id            <> ids.collector_id
1686 	 AND trunc(hp.last_update_date) >= TRUNC(P_FROM_DATE);
1687 
1688       CURSOR CHANGED_PARTY(P_FROM_DATE DATE) IS
1689       SELECT
1690           party.party_id,
1691           party.address1 address1,
1692           party.city city,
1693           party.state state,
1694           party.county county,
1695           fnd_terr.territory_short_name country,
1696           party.province province,
1697           party.postal_code postal_code
1698      FROM
1699       hz_parties party,
1700       iex_dln_uwq_summary ids,
1701       fnd_territories_tl fnd_terr
1702      WHERE
1703        party.party_id = ids.party_id
1704        AND party.country = fnd_terr.territory_code(+)
1705        AND fnd_terr.LANGUAGE(+) = userenv('LANG')
1706        AND trunc(party.last_update_date) >= TRUNC(P_FROM_DATE);
1707 
1708       CURSOR CHANGED_CONTACT(P_FROM_DATE DATE) IS
1709       SELECT
1710          ids.party_id             party_id,
1711          phone.phone_country_code phone_country_code,
1712          phone.phone_area_code    phone_area_code,
1713          phone.phone_number       phone_number,
1714          phone.phone_extension    phone_extension
1715       FROM
1716          hz_contact_points phone,
1717          iex_dln_uwq_summary ids
1718       WHERE
1719        phone.owner_table_id = ids.party_id
1720        AND phone.owner_table_name = 'HZ_PARTIES'
1721        AND phone.contact_point_type = 'PHONE'
1722        and phone.primary_by_purpose = 'Y'
1723        AND phone.contact_point_purpose = 'COLLECTIONS'
1724        AND phone.phone_line_type NOT IN('PAGER',     'FAX')
1725        AND phone.status = 'A'
1726        AND nvl(phone.do_not_use_flag, 'N') = 'N'
1727        AND trunc(phone.last_update_date) >= TRUNC(P_FROM_DATE);
1728        --Bug5701973. End.
1729      --Begin bug#7133605 schekuri 09-Jun-2008
1730      --Start bug 6876187 gnramasa 14th mar 08
1731      CURSOR c_cust_account_id_1 IS
1732      SELECT DISTINCT CUST_ACCOUNT_ID FROM AR_TRX_BAL_SUMMARY ARS
1733      WHERE ARS.REFERENCE_1 IS Null
1734      AND EXISTS (SELECT 1 FROM IEX_DELINQUENCIES_ALL IED WHERE
1735                   IED.STATUS IN ('DELINQUENT', 'PREDELINQUENT')
1736                   AND ARS.CUST_ACCOUNT_ID = IED.CUST_ACCOUNT_ID);
1737 
1738     CURSOR c_cust_account_id_n IS
1739      SELECT DISTINCT CUST_ACCOUNT_ID FROM AR_TRX_BAL_SUMMARY ARS
1740      WHERE ARS.REFERENCE_1 = 1
1741      AND  NOT EXISTS (SELECT 1 FROM IEX_DELINQUENCIES_ALL IED WHERE
1742                  IED.STATUS IN ('DELINQUENT', 'PREDELINQUENT')
1743                  AND ARS.CUST_ACCOUNT_ID = IED.CUST_ACCOUNT_ID);
1744 
1745     TYPE cust_account_id_list_1    is TABLE of NUMBER INDEX BY BINARY_INTEGER;
1746     TYPE cust_account_id_list_n    is TABLE of NUMBER INDEX BY BINARY_INTEGER;
1747 
1748     l_cust_account_id_1 cust_account_id_list_1;
1749     l_cust_account_id_n cust_account_id_list_n;
1750 
1751      --End bug 6876187 gnramasa 14th mar 08
1752 
1753      CURSOR c_cust_account_id_dln(p_cust_account_id number) IS
1754      SELECT CUST_ACCOUNT_ID FROM AR_TRX_BAL_SUMMARY ARS
1755      WHERE ARS.REFERENCE_1 = 1
1756      AND ARS.CUST_ACCOUNT_ID=P_CUST_ACCOUNT_ID
1757      AND  NOT EXISTS (SELECT 1 FROM IEX_DELINQUENCIES_ALL IED WHERE
1758                  IED.STATUS IN ('DELINQUENT', 'PREDELINQUENT')
1759                  AND ARS.CUST_ACCOUNT_ID = IED.CUST_ACCOUNT_ID
1760  	         ) for update of reference_1 nowait;
1761 
1762      l_cust_account_id_dln cust_account_id_list_n;
1763 
1764      CURSOR C_CUST_ACCOUNT_ID_DL1(p_cust_account_id number) IS
1765      SELECT CUST_ACCOUNT_ID FROM AR_TRX_BAL_SUMMARY ARS
1766      WHERE ARS.REFERENCE_1 IS Null
1767      AND ARS.CUST_ACCOUNT_ID=P_CUST_ACCOUNT_ID
1768      for update of reference_1 nowait;
1769      TYPE cust_account_id_list_dl1    is TABLE of NUMBER INDEX BY BINARY_INTEGER;
1770      l_cust_account_id_dl1 cust_account_id_list_n;
1771      l_cust_account_id1 number;
1772      --End bug#7133605 schekuri 09-Jun-2008
1773 
1774 
1775     L_ORG_ID                                    number_list;
1776     L_COLLECTOR_ID                              number_list;
1777     L_COLLECTOR_RESOURCE_ID                     number_list;
1778     L_COLLECTOR_RES_TYPE                        varchar_30_list;
1779     L_IEU_OBJECT_FUNCTION                       varchar_30_list;
1780     L_IEU_OBJECT_PARAMETERS                     varchar_2020_list;
1781     L_IEU_MEDIA_TYPE_UUID                       varchar_10_list;
1782     L_IEU_PARAM_PK_COL                          varchar_40_list;
1783     L_IEU_PARAM_PK_VALUE                        varchar_40_list;
1784     L_RESOURCE_ID                               number_list;
1785     L_RESOURCE_TYPE                             varchar_20_list;
1786     L_PARTY_ID                                  number_list;
1787     L_PARTY_NAME                                varchar_360_list;
1788     L_CUST_ACCOUNT_ID                           number_list;
1789     L_ACCOUNT_NAME                              varchar_240_list;
1790     L_ACCOUNT_NUMBER                            varchar_30_list;
1791     L_SITE_USE_ID                               number_list;
1792     L_LOCATION                                  varchar_60_list;
1793     L_CURRENCY                                  varchar_20_list;
1794     L_OP_INVOICES_COUNT                         number_list;
1795     L_OP_DEBIT_MEMOS_COUNT                      number_list;
1796     L_OP_DEPOSITS_COUNT                         number_list;
1797     L_OP_BILLS_RECEIVABLES_COUNT                number_list;
1798     L_OP_CHARGEBACK_COUNT                       number_list;
1799     L_OP_CREDIT_MEMOS_COUNT                     number_list;
1800     L_UNRESOLVED_CASH_COUNT                     number_list;
1801     L_DISPUTED_INV_COUNT                        number_list;
1802     L_BEST_CURRENT_RECEIVABLES                  number_list;
1803     L_OP_INVOICES_VALUE                         number_list;
1804     L_OP_DEBIT_MEMOS_VALUE                      number_list;
1805     L_OP_DEPOSITS_VALUE                         number_list;
1806     L_OP_BILLS_RECEIVABLES_VALUE                number_list;
1807     L_OP_CHARGEBACK_VALUE                       number_list;
1808     L_OP_CREDIT_MEMOS_VALUE                     number_list;
1809     L_UNRESOLVED_CASH_VALUE                     number_list;
1810     L_RECEIPTS_AT_RISK_VALUE                    number_list;
1811     L_INV_AMT_IN_DISPUTE                        number_list;
1812     L_PENDING_ADJ_VALUE                         number_list;
1813     L_PAST_DUE_INV_VALUE                        number_list;
1814     L_PAST_DUE_INV_INST_COUNT                   number_list;
1815     L_LAST_PAYMENT_DATE                         date_list;
1816     L_LAST_PAYMENT_AMOUNT                       number_list;
1817     L_LAST_PAYMENT_AMOUNT_CURR                  varchar_20_list;
1818     L_LAST_PAYMENT_NUMBER                       varchar_30_list;
1819     L_LAST_UPDATE_DATE                          date_list;
1820     L_LAST_UPDATED_BY                           number_list;
1821     L_CREATION_DATE                             date_list;
1822     L_CREATED_BY                                number_list;
1823     L_LAST_UPDATE_LOGIN                         number_list;
1824     L_NUMBER_OF_DELINQUENCIES                   number_list;
1825     L_ACTIVE_DELINQUENCIES                      number_list;
1826     L_COMPLETE_DELINQUENCIES                    number_list;
1827     L_PENDING_DELINQUENCIES                     number_list;
1828     L_SCORE                                     number_list;
1829     L_ADDRESS1                                  varchar_240_list;
1830     L_CITY                                      varchar_60_list;
1831     L_STATE                                     varchar_60_list;
1832     L_COUNTY                                    varchar_60_list;
1833     L_COUNTRY                                   varchar_80_list;
1834     L_PROVINCE                                  varchar_60_list;
1835     L_POSTAL_CODE                               varchar_60_list;
1836     L_PHONE_COUNTRY_CODE                        varchar_10_list;
1837     L_PHONE_AREA_CODE                           varchar_10_list;
1838     L_PHONE_NUMBER                              varchar_40_list;
1839     L_PHONE_EXTENSION                           varchar_20_list;
1840     L_NUMBER_OF_BANKRUPTCIES                    number_list;
1841     L_NUMBER_OF_PROMISES                        number_list;
1842     L_BROKEN_PROMISE_AMOUNT                     number_list;
1843     L_PROMISE_AMOUNT                            number_list;
1844     L_ACTIVE_PROMISES                           number_list;
1845     L_COMPLETE_PROMISES                         number_list;
1846     L_PENDING_PROMISES                          number_list;
1847     L_WORK_ITEM_ID                              number_list;
1848     L_SCHEDULE_START                            date_list;
1849     L_SCHEDULE_END                              date_list;
1850     L_WORK_TYPE                                 varchar_30_list;
1851     L_CATEGORY_TYPE                             varchar_30_list;
1852     L_PRIORITY_TYPE                             varchar_30_list;
1853     L_JTF_OBJECT_ID                             number_list;
1854     l_wkitem_resource_id			number_list;
1855     l_strategy_id				number_list;
1856     l_strategy_template_id 			number_list;
1857     l_work_item_template_id 			number_list;
1858     l_status_code 				varchar_30_list;
1859     l_start_time 				date_list;
1860     l_end_time 					date_list;
1861     l_work_item_order 				number_list;
1862     l_escalated_yn                              varchar_10_list;  --Added for bug#6981126 by schekuri on 27-Jun-2008
1863 
1864     l_max_fetches                               NUMBER;
1865     l_total                                     NUMBER;
1866     l_count                                     NUMBER;
1867     l_return                                    boolean;
1868     l_from_date                                 DATE;
1869     l_level                                     VARCHAR2(80);
1870     l_cash                                      VARCHAR2(240);
1871     l_truncate_table                            VARCHAR2(60);
1872 
1873 
1874 
1875   -------------------------------------------------------------------------------
1876 
1877 BEGIN
1878 
1879     -- fix for bug 5936061
1880     if (p_mode = 'DLN') then
1881         return;
1882     end if;
1883 
1884     insert_conc_req;
1885 
1886     l_from_date := to_date(substr(FROM_DATE, 1, 10), 'YYYY/MM/DD');
1887     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Input FROM_DATE = ' || l_from_date);
1888 
1889     l_max_fetches := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '100000'));
1890     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Batch size = ' || l_max_fetches);
1891 
1892     OPEN c_get_level;
1893     FETCH c_get_level INTO l_level;
1894     CLOSE c_get_level;
1895     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Level = ' || l_level);
1896 
1897     IF (l_level = 'DELINQUENCY') THEN
1898       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency level is not implemented at this time. Exiting.');
1899       return;
1900     END IF;
1901 
1902     l_cash := IEX_UTILITIES.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE', 'SELECT DEFAULT_EXCHANGE_RATE_TYPE FROM AR_CMGT_SETUP_OPTIONS');
1903     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'DEFAULT_EXCHANGE_RATE_TYPE = ' || l_cash);
1904 
1905      /* Begin Kasreeni 3/1/2007 Bug 5905023  We will update everytime instead of once */
1906     if (p_mode = 'CP') then
1907       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Updating Reference_1 of AR_TRX_BAL_SUMMARY for Delinquent Customers');
1908       --Start bug 6876187 gnramasa 14th mar 08
1909       --update ar_trx_bal_summary set reference_1 = 1;
1910       --Begin bug#7133605 schekuri 09-Jun-2008
1911       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Starting to update ar_trx_bal_summary with reference_1 = 1...');
1912       BEGIN
1913 	OPEN c_cust_account_id_1;
1914 	 LOOP
1915 	  FETCH c_cust_account_id_1 BULK COLLECT INTO
1916 	    l_cust_account_id_1 LIMIT G_BATCH_SIZE;
1917 	  IF l_cust_account_id_1.count =  0 THEN
1918 
1919                IEX_DEBUG_PUB.LOGMESSAGE('Exit after Updating ar_trx_bal_summary with reference_1 = 1...');
1920 
1921 	    CLOSE c_cust_account_id_1;
1922 	    EXIT;
1923           ELSE
1924 	   FORALL I IN l_cust_account_id_1.first..l_cust_account_id_1.last
1925 	    UPDATE AR_TRX_BAL_SUMMARY ARS
1926             SET REFERENCE_1 = '1'
1927             WHERE CUST_ACCOUNT_ID = l_cust_account_id_1(I)
1928 	    and reference_1 is null;
1929 	    l_cust_account_id_1.delete;
1930 
1931 	    commit;
1932 
1933             IEX_DEBUG_PUB.LOGMESSAGE(SQL%ROWCOUNT || ' Rows updated in ar_trx_bal_summary with reference_1 = 1');
1934 
1935 	   END IF;
1936 	 END LOOP;
1937         EXCEPTION
1938 
1939 	WHEN deadlock_detected THEN
1940 	     FND_FILE.PUT_LINE(FND_FILE.LOG, 'Deadlock detected when updating ar_trx_bal_summary.reference to 1' || sqlerrm);
1941 	     LogMessage(FND_LOG.LEVEL_STATEMENT,' Deadlock detected when updating ar_trx_bal_summary.reference to 1.');
1942 	     ROLLBACK;
1943 	     l_cust_account_id_1.delete;
1944 	     if c_cust_account_id_1%ISOPEN then
1945 		close c_cust_account_id_1;
1946 	     end if;
1947 	     OPEN c_cust_account_id_1;
1948 	     LOOP
1949 		FETCH c_cust_account_id_1 BULK COLLECT INTO
1950 		l_cust_account_id_1 LIMIT G_BATCH_SIZE;
1951 		IF l_cust_account_id_1.count =  0 THEN
1952 			IEX_DEBUG_PUB.LOGMESSAGE('Exit after Updating ar_trx_bal_summary with reference_1 = 1 in Deadlock handler');
1953 			CLOSE c_cust_account_id_1;
1954 			EXIT;
1955 	        ELSE
1956 		FOR i IN l_cust_account_id_1.first..l_cust_account_id_1.last
1957 		LOOP
1958 		   BEGIN
1959 			OPEN C_CUST_ACCOUNT_ID_DL1(l_cust_account_id_1(i));
1960 				FETCH C_CUST_ACCOUNT_ID_DL1 into l_cust_account_id1;
1961 				EXIT WHEN C_CUST_ACCOUNT_ID_DL1%NOTFOUND;
1962 				UPDATE AR_TRX_BAL_SUMMARY
1963 		                SET REFERENCE_1 = '1'
1964 				WHERE cust_account_id=l_cust_account_id1
1965 				and REFERENCE_1 is null;
1966 				FND_FILE.PUT_LINE(FND_FILE.LOG,'updated records '||sql%rowcount);
1967 
1968 			CLOSE C_CUST_ACCOUNT_ID_DL1;
1969 		   EXCEPTION
1970 		   WHEN LOCKED_BY_ANOTHER_SESSION THEN
1971 			   LogMessage(FND_LOG.LEVEL_STATEMENT,'Records corresponding to account id '||l_cust_account_id_1(i)|| ' are locked by another session');
1972 			   if C_CUST_ACCOUNT_ID_DL1%ISOPEN THEN
1973 				CLOSE C_CUST_ACCOUNT_ID_DL1;
1974 			   END IF;
1975 		   WHEN OTHERS THEN
1976 			   LogMessage(FND_LOG.LEVEL_STATEMENT,'Error while updating reference_1 to 1 in Dead lock handler '||sqlerrm);
1977 			   IF C_CUST_ACCOUNT_ID_DL1%ISOPEN THEN
1978 				CLOSE C_CUST_ACCOUNT_ID_DL1;
1979 			   END IF;
1980 		   END;
1981 
1982 	     END LOOP;
1983 
1984              IEX_DEBUG_PUB.LOGMESSAGE(l_cust_account_id_1.count || ' rows updated in ar_trx_bal_summary with reference_1 = 1');
1985 	     l_cust_account_id_1.delete;
1986 	     commit;
1987 
1988 	   END IF;
1989 	 END LOOP;
1990 	WHEN locked_by_another_session THEN
1991 	FND_FILE.PUT_LINE(FND_FILE.LOG,'Locked by another session when updating ar_trx_bal_summary.reference to 1');
1992 	if c_cust_account_id_1%ISOPEN then
1993 		close c_cust_account_id_1;
1994 	     end if;
1995 	ROLLBACK;
1996 
1997 	WHEN OTHERS THEN
1998            IEX_DEBUG_PUB.LOGMESSAGE(SQLERRM || ' Error while updating ar_trx_bal_summary with reference_1 = 1');
1999 	END;
2000 
2001         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Starting to update ar_trx_bal_summary with reference_1 = Null...');
2002 	BEGIN
2003 	OPEN c_cust_account_id_n;
2004 	 LOOP
2005 	  FETCH c_cust_account_id_n BULK COLLECT INTO
2006 	    l_cust_account_id_n LIMIT G_BATCH_SIZE;
2007 	  IF l_cust_account_id_n.count =  0 THEN
2008             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Exit after Update ar_trx_bal_summary on complete with reference_1 = Null...');
2009 	    CLOSE c_cust_account_id_n;
2010 	    EXIT;
2011           ELSE
2012 	   FORALL I IN l_cust_account_id_n.first..l_cust_account_id_n.last
2013 	    UPDATE AR_TRX_BAL_SUMMARY ARS
2014             SET REFERENCE_1 = Null
2015             WHERE CUST_ACCOUNT_ID = l_cust_account_id_n(I)
2016 	     and reference_1='1';
2017 	     l_cust_account_id_n.delete;
2018              commit;
2019              LogMessage(FND_LOG.LEVEL_UNEXPECTED,SQL%ROWCOUNT ||  'Rows updated in ar_trx_bal_summary with reference_1 = Null');
2020 	   END IF;
2021 	 END LOOP;
2022         EXCEPTION
2023 	WHEN deadlock_detected THEN
2024 	     FND_FILE.PUT_LINE(FND_FILE.LOG, 'Deadlock detected when updating ar_trx_bal_summary.reference to null' || sqlerrm);
2025 	     LogMessage(FND_LOG.LEVEL_STATEMENT,' Deadlock detected when updating ar_trx_bal_summary.reference to null.');
2026 	     ROLLBACK;
2027 	     l_cust_account_id_n.delete;
2028 	     if c_cust_account_id_n%ISOPEN then
2029 		close c_cust_account_id_n;
2030 	     end if;
2031 	     OPEN c_cust_account_id_n;
2032 	     LOOP
2033 		FETCH c_cust_account_id_n BULK COLLECT INTO
2034 		l_cust_account_id_n LIMIT G_BATCH_SIZE;
2035 		IF l_cust_account_id_n.count =  0 THEN
2036 			IEX_DEBUG_PUB.LOGMESSAGE('Exit after Updating ar_trx_bal_summary with reference_1 = null in Deadlock handler');
2037 			CLOSE c_cust_account_id_n;
2038 			EXIT;
2039 	        ELSE
2040 		FOR i IN l_cust_account_id_n.first..l_cust_account_id_n.last
2041 		LOOP
2042 		   BEGIN
2043 			OPEN C_CUST_ACCOUNT_ID_DLN(l_cust_account_id_n(i));
2044 				FETCH C_CUST_ACCOUNT_ID_DLN into l_cust_account_id1;
2045 				EXIT WHEN C_CUST_ACCOUNT_ID_DLN%NOTFOUND;
2046 				UPDATE AR_TRX_BAL_SUMMARY
2047 		                SET REFERENCE_1 = null
2048 				WHERE cust_account_id=l_cust_account_id1
2049 				and REFERENCE_1 = '1';
2050 				FND_FILE.PUT_LINE(FND_FILE.LOG,'updated records '||sql%rowcount);
2051 
2052 			CLOSE C_CUST_ACCOUNT_ID_DLN;
2053 		   EXCEPTION
2054 		   WHEN LOCKED_BY_ANOTHER_SESSION THEN
2055 			   LogMessage(FND_LOG.LEVEL_STATEMENT,'Records corresponding to account id '||l_cust_account_id_n(i)|| ' are locked by another session');
2056 			   if C_CUST_ACCOUNT_ID_DLN%ISOPEN THEN
2057 				CLOSE C_CUST_ACCOUNT_ID_DLN;
2058 			   END IF;
2059 		   WHEN OTHERS THEN
2060 			   LogMessage(FND_LOG.LEVEL_STATEMENT,'Error while updating reference_1 to 1 in Dead lock handler '||sqlerrm);
2061 			   IF C_CUST_ACCOUNT_ID_DLN%ISOPEN THEN
2062 				CLOSE C_CUST_ACCOUNT_ID_DLN;
2063 			   END IF;
2064 		   END;
2065 
2066 	     END LOOP;
2067 
2068              IEX_DEBUG_PUB.LOGMESSAGE(l_cust_account_id_1.count || ' rows updated in ar_trx_bal_summary with reference_1 = 1');
2069 	     l_cust_account_id_1.delete;
2070 	     commit;
2071 
2072 	   END IF;
2073 	 END LOOP;
2074         WHEN locked_by_another_session THEN
2075 	FND_FILE.PUT_LINE(FND_FILE.LOG,'Locked by another session when updating ar_trx_bal_summary.reference to 1');
2076 	if c_cust_account_id_1%ISOPEN then
2077 		close c_cust_account_id_1;
2078 	     end if;
2079 	ROLLBACK;
2080 	WHEN OTHERS THEN
2081            LogMessage(FND_LOG.LEVEL_UNEXPECTED,SQLERRM || ' Error while updating ar_trx_bal_summary with reference_1 = Null');
2082 	END;
2083      --End bug 6876187 gnramasa 14th mar 08
2084      --End bug#7133605 schekuri 09-Jun-2008
2085 
2086       /*update ar_trx_bal_summary set reference_1 = '1'
2087       where cust_account_id in
2088         ( select distinct cust_account_id
2089         from iex_delinquencies_all
2090         where status in ('DELINQUENT','PREDELINQUENT'));*/
2091       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Done updating Reference_1 of AR_TRX_BAL_SUMMARY ');
2092 
2093     end if;
2094     /* End Kasreeni 3/1/2007 Bug 5905023  We will update everytime instead of once */
2095 
2096     if (l_from_date is null and p_mode = 'CP' ) then --Bug5691098
2097       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fully repopulating IEX_DLN_UWQ_SUMMARY table...');
2098 
2099       OPEN c_get_table;
2100       FETCH c_get_table INTO l_truncate_table;
2101       CLOSE c_get_table;
2102       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'truncate table ' || l_truncate_table);
2103 
2104       EXECUTE IMMEDIATE 'truncate table ' || l_truncate_table;
2105       LogMessage(FND_LOG.LEVEL_STATEMENT,'Truncated whole table');
2106 
2107     elsiF (l_from_date is not null) then  --Bug5691098
2108       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Partially repopulating IEX_DLN_UWQ_SUMMARY table...');
2109       /* Begin gnramasa Modified for bug 5677415 27/11/2006 */
2110       IF l_level = 'CUSTOMER' THEN
2111           delete from IEX_DLN_UWQ_SUMMARY where party_id in
2112              (select party_id from ar_trx_bal_summary trb, hz_cust_accounts hza
2113                  where hza.cust_account_id = trb.cust_account_id and  trunc(trb.LAST_UPDATE_DATE) >= trunc(l_from_date));
2114       ELSIF l_level = 'ACCOUNT' THEN
2115           delete from IEX_DLN_UWQ_SUMMARY where (cust_account_id, org_id) in
2116              (select cust_account_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(l_from_date));
2117       ELSIF l_level = 'BILL_TO' THEN
2118           delete from IEX_DLN_UWQ_SUMMARY where (cust_account_id, site_use_id, org_id) in
2119              (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(l_from_date));
2120       END IF;
2121       /* delete from IEX_DLN_UWQ_SUMMARY where (cust_account_id, site_use_id, org_id) in
2122          (select cust_account_id, site_use_id, org_id from ar_trx_bal_summary where trunc(LAST_UPDATE_DATE) >= trunc(l_from_date)); */
2123       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No of rows deleted: ' || SQL%ROWCOUNT);
2124       /* End gnramasa Modified for bug 5677415 27/11/2006 */
2125       LogMessage(FND_LOG.LEVEL_STATEMENT,'Deleted rows that will be repopulated');
2126     end if;
2127 
2128     -- 1. Fetching and inserting data into the table
2129     LogMessage(FND_LOG.LEVEL_UNEXPECTED,' ');
2130     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'1. Fetching and inserting data into the table...');
2131 
2132     l_total := 0;
2133     l_count := 0;
2134 
2135     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start open cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2136 
2137     -- Begin - Andre Araujo - 10/20/06 - Added dynamic sql - Assembling BILL_TO query
2138 
2139 
2140     IF l_level = 'CUSTOMER' THEN
2141         if (l_from_date is null) then
2142             OPEN c_iex_cu_uwq_summary;
2143         else
2144             OPEN c_iex_cu_uwq_dt_sum(l_from_date);
2145         end if;
2146     ELSIF l_level = 'ACCOUNT' THEN
2147         -- If the date is not null we will not read only the new/updated records
2148         if (l_from_date is null) then
2149             OPEN c_iex_acc_uwq_summary;
2150         else
2151             OPEN c_iex_acc_uwq_dt_sum(l_from_date);
2152         end if;
2153     ELSIF l_level = 'BILL_TO' THEN
2154         -- If the date is not null we will not read only the new/updated records
2155         if (l_from_date is null) then
2156             open c_iex_billto_uwq_summary;
2157         else
2158             open c_iex_billto_uwq_dt_sum(l_from_date);
2159         end if;
2160     END IF;
2161 
2162     -- End - Andre Araujo - 10/20/06 - Added dynamic sql - Assembling query
2163     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End open cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2164 
2165     LOOP
2166         l_count := l_count +1;
2167         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
2168         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
2169 
2170         L_ORG_ID.delete;
2171         L_COLLECTOR_ID.delete;
2172         L_COLLECTOR_RESOURCE_ID.delete;
2173         L_COLLECTOR_RES_TYPE.delete;
2174         L_IEU_OBJECT_FUNCTION.delete;
2175         L_IEU_OBJECT_PARAMETERS.delete;
2176         L_IEU_MEDIA_TYPE_UUID.delete;
2177         L_IEU_PARAM_PK_COL.delete;
2178         L_IEU_PARAM_PK_VALUE.delete;
2179         L_RESOURCE_ID.delete;
2180         L_RESOURCE_TYPE.delete;
2181         L_PARTY_ID.delete;
2182         L_PARTY_NAME.delete;
2183         L_CUST_ACCOUNT_ID.delete;
2184         L_ACCOUNT_NAME.delete;
2185         L_ACCOUNT_NUMBER.delete;
2186         L_SITE_USE_ID.delete;
2187         L_LOCATION.delete;
2188         L_CURRENCY.delete;
2189         L_OP_INVOICES_COUNT.delete;
2190         L_OP_DEBIT_MEMOS_COUNT.delete;
2191         L_OP_DEPOSITS_COUNT.delete;
2192         L_OP_BILLS_RECEIVABLES_COUNT.delete;
2193         L_OP_CHARGEBACK_COUNT.delete;
2194         L_OP_CREDIT_MEMOS_COUNT.delete;
2195         L_UNRESOLVED_CASH_COUNT.delete;
2196         L_DISPUTED_INV_COUNT.delete;
2197         L_BEST_CURRENT_RECEIVABLES.delete;
2198         L_OP_INVOICES_VALUE.delete;
2199         L_OP_DEBIT_MEMOS_VALUE.delete;
2200         L_OP_DEPOSITS_VALUE.delete;
2201         L_OP_BILLS_RECEIVABLES_VALUE.delete;
2202         L_OP_CHARGEBACK_VALUE.delete;
2203         L_OP_CREDIT_MEMOS_VALUE.delete;
2204         L_UNRESOLVED_CASH_VALUE.delete;
2205         L_RECEIPTS_AT_RISK_VALUE.delete;
2206         L_INV_AMT_IN_DISPUTE.delete;
2207         L_PENDING_ADJ_VALUE.delete;
2208         L_PAST_DUE_INV_VALUE.delete;
2209         L_PAST_DUE_INV_INST_COUNT.delete;
2210         L_LAST_PAYMENT_DATE.delete;
2211         L_LAST_PAYMENT_AMOUNT.delete;
2212         L_LAST_PAYMENT_AMOUNT_CURR.delete;
2213         L_LAST_PAYMENT_NUMBER.delete;
2214         L_LAST_UPDATE_DATE.delete;
2215         L_LAST_UPDATED_BY.delete;
2216         L_CREATION_DATE.delete;
2217         L_CREATED_BY.delete;
2218         L_LAST_UPDATE_LOGIN.delete;
2219         L_NUMBER_OF_DELINQUENCIES.delete;
2220         L_ACTIVE_DELINQUENCIES.delete;
2221         L_COMPLETE_DELINQUENCIES.delete;
2222         L_PENDING_DELINQUENCIES.delete;
2223         L_SCORE.delete;
2224         L_ADDRESS1.delete;
2225         L_CITY.delete;
2226         L_STATE.delete;
2227         L_COUNTY.delete;
2228         L_COUNTRY.delete;
2229         L_PROVINCE.delete;
2230         L_POSTAL_CODE.delete;
2231         L_PHONE_COUNTRY_CODE.delete;
2232         L_PHONE_AREA_CODE.delete;
2233         L_PHONE_NUMBER.delete;
2234         L_PHONE_EXTENSION.delete;
2235         L_NUMBER_OF_BANKRUPTCIES.delete;
2236         L_NUMBER_OF_PROMISES.delete;
2237         L_BROKEN_PROMISE_AMOUNT.delete;
2238         L_PROMISE_AMOUNT.delete;
2239         L_ACTIVE_PROMISES.delete;
2240         L_COMPLETE_PROMISES.delete;
2241         L_PENDING_PROMISES.delete;
2242 
2243         LogMessage(FND_LOG.LEVEL_STATEMENT,'Inited all arrays');
2244 
2245         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2246         IF l_level = 'CUSTOMER' THEN
2247             if (l_from_date is null) then
2248                 FETCH c_iex_cu_uwq_summary bulk collect
2249                 INTO
2250                     L_ORG_ID,
2251                     L_COLLECTOR_ID,
2252                     L_COLLECTOR_RESOURCE_ID,
2253                     L_COLLECTOR_RES_TYPE,
2254                     L_IEU_OBJECT_FUNCTION,
2255                     L_IEU_OBJECT_PARAMETERS,
2256                     L_IEU_MEDIA_TYPE_UUID,
2257                     L_IEU_PARAM_PK_COL,
2258                     L_IEU_PARAM_PK_VALUE,
2259                     L_RESOURCE_ID,
2260                     L_RESOURCE_TYPE,
2261                     L_PARTY_ID,
2262                     L_PARTY_NAME,
2263                     L_CUST_ACCOUNT_ID,
2264                     L_ACCOUNT_NAME,
2265                     L_ACCOUNT_NUMBER,
2266                     L_SITE_USE_ID,
2267                     L_LOCATION,
2268                     L_CURRENCY,
2269                     L_OP_INVOICES_COUNT,
2270                     L_OP_DEBIT_MEMOS_COUNT,
2271                     L_OP_DEPOSITS_COUNT,
2272                     L_OP_BILLS_RECEIVABLES_COUNT,
2273                     L_OP_CHARGEBACK_COUNT,
2274                     L_OP_CREDIT_MEMOS_COUNT,
2275                     L_UNRESOLVED_CASH_COUNT,
2276                     L_DISPUTED_INV_COUNT,
2277                     L_BEST_CURRENT_RECEIVABLES,
2278                     L_OP_INVOICES_VALUE,
2279                     L_OP_DEBIT_MEMOS_VALUE,
2280                     L_OP_DEPOSITS_VALUE,
2281                     L_OP_BILLS_RECEIVABLES_VALUE,
2282                     L_OP_CHARGEBACK_VALUE,
2283                     L_OP_CREDIT_MEMOS_VALUE,
2284                     L_UNRESOLVED_CASH_VALUE,
2285                     L_RECEIPTS_AT_RISK_VALUE,
2286                     L_INV_AMT_IN_DISPUTE,
2287                     L_PENDING_ADJ_VALUE,
2288                     L_PAST_DUE_INV_VALUE,
2289                     L_PAST_DUE_INV_INST_COUNT,
2290                     L_LAST_PAYMENT_DATE,
2291                     L_LAST_PAYMENT_AMOUNT,
2292                     L_LAST_PAYMENT_AMOUNT_CURR,
2293                     L_LAST_PAYMENT_NUMBER,
2294                     L_LAST_UPDATE_DATE,
2295                     L_LAST_UPDATED_BY,
2296                     L_CREATION_DATE,
2297                     L_CREATED_BY,
2298                     L_LAST_UPDATE_LOGIN,
2299                     L_NUMBER_OF_DELINQUENCIES,
2300                     L_ACTIVE_DELINQUENCIES,
2301                     L_COMPLETE_DELINQUENCIES,
2302                     L_PENDING_DELINQUENCIES,
2303                     L_SCORE,
2304                     L_ADDRESS1,
2305                     L_CITY,
2306                     L_STATE,
2307                     L_COUNTY,
2308                     L_COUNTRY,
2309                     L_PROVINCE,
2310                     L_POSTAL_CODE,
2311                     L_PHONE_COUNTRY_CODE,
2312                     L_PHONE_AREA_CODE,
2313                     L_PHONE_NUMBER,
2314                     L_PHONE_EXTENSION,
2315                     L_NUMBER_OF_BANKRUPTCIES,
2316                     L_NUMBER_OF_PROMISES,
2317                     L_BROKEN_PROMISE_AMOUNT,
2318                     L_PROMISE_AMOUNT,
2319                     L_ACTIVE_PROMISES,
2320                     L_COMPLETE_PROMISES,
2321                     L_PENDING_PROMISES
2322                 limit l_max_fetches;
2323             Else
2324                 FETCH c_iex_cu_uwq_dt_sum bulk collect
2325                 INTO
2326                     L_ORG_ID,
2327                     L_COLLECTOR_ID,
2328                     L_COLLECTOR_RESOURCE_ID,
2329                     L_COLLECTOR_RES_TYPE,
2330                     L_IEU_OBJECT_FUNCTION,
2331                     L_IEU_OBJECT_PARAMETERS,
2332                     L_IEU_MEDIA_TYPE_UUID,
2333                     L_IEU_PARAM_PK_COL,
2334                     L_IEU_PARAM_PK_VALUE,
2335                     L_RESOURCE_ID,
2336                     L_RESOURCE_TYPE,
2337                     L_PARTY_ID,
2338                     L_PARTY_NAME,
2339                     L_CUST_ACCOUNT_ID,
2340                     L_ACCOUNT_NAME,
2341                     L_ACCOUNT_NUMBER,
2342                     L_SITE_USE_ID,
2343                     L_LOCATION,
2344                     L_CURRENCY,
2345                     L_OP_INVOICES_COUNT,
2346                     L_OP_DEBIT_MEMOS_COUNT,
2347                     L_OP_DEPOSITS_COUNT,
2348                     L_OP_BILLS_RECEIVABLES_COUNT,
2349                     L_OP_CHARGEBACK_COUNT,
2350                     L_OP_CREDIT_MEMOS_COUNT,
2351                     L_UNRESOLVED_CASH_COUNT,
2352                     L_DISPUTED_INV_COUNT,
2353                     L_BEST_CURRENT_RECEIVABLES,
2354                     L_OP_INVOICES_VALUE,
2355                     L_OP_DEBIT_MEMOS_VALUE,
2356                     L_OP_DEPOSITS_VALUE,
2357                     L_OP_BILLS_RECEIVABLES_VALUE,
2358                     L_OP_CHARGEBACK_VALUE,
2359                     L_OP_CREDIT_MEMOS_VALUE,
2360                     L_UNRESOLVED_CASH_VALUE,
2361                     L_RECEIPTS_AT_RISK_VALUE,
2362                     L_INV_AMT_IN_DISPUTE,
2363                     L_PENDING_ADJ_VALUE,
2364                     L_PAST_DUE_INV_VALUE,
2365                     L_PAST_DUE_INV_INST_COUNT,
2366                     L_LAST_PAYMENT_DATE,
2367                     L_LAST_PAYMENT_AMOUNT,
2368                     L_LAST_PAYMENT_AMOUNT_CURR,
2369                     L_LAST_PAYMENT_NUMBER,
2370                     L_LAST_UPDATE_DATE,
2371                     L_LAST_UPDATED_BY,
2372                     L_CREATION_DATE,
2373                     L_CREATED_BY,
2374                     L_LAST_UPDATE_LOGIN,
2375                     L_NUMBER_OF_DELINQUENCIES,
2376                     L_ACTIVE_DELINQUENCIES,
2377                     L_COMPLETE_DELINQUENCIES,
2378                     L_PENDING_DELINQUENCIES,
2379                     L_SCORE,
2380                     L_ADDRESS1,
2381                     L_CITY,
2382                     L_STATE,
2383                     L_COUNTY,
2384                     L_COUNTRY,
2385                     L_PROVINCE,
2386                     L_POSTAL_CODE,
2387                     L_PHONE_COUNTRY_CODE,
2388                     L_PHONE_AREA_CODE,
2389                     L_PHONE_NUMBER,
2390                     L_PHONE_EXTENSION,
2391                     L_NUMBER_OF_BANKRUPTCIES,
2392                     L_NUMBER_OF_PROMISES,
2393                     L_BROKEN_PROMISE_AMOUNT,
2394                     L_PROMISE_AMOUNT,
2395                     L_ACTIVE_PROMISES,
2396                     L_COMPLETE_PROMISES,
2397                     L_PENDING_PROMISES
2398                 limit l_max_fetches;
2399             End If;
2400 
2401         ELSIF l_level = 'ACCOUNT' THEN
2402 
2403             if (l_from_date is null) then
2404                 FETCH c_iex_acc_uwq_summary bulk collect
2405                 INTO
2406                     L_ORG_ID,
2407                     L_COLLECTOR_ID,
2408                     L_COLLECTOR_RESOURCE_ID,
2409                     L_COLLECTOR_RES_TYPE,
2410                     L_IEU_OBJECT_FUNCTION,
2411                     L_IEU_OBJECT_PARAMETERS,
2412                     L_IEU_MEDIA_TYPE_UUID,
2413                     L_IEU_PARAM_PK_COL,
2414                     L_IEU_PARAM_PK_VALUE,
2415                     L_RESOURCE_ID,
2416                     L_RESOURCE_TYPE,
2417                     L_PARTY_ID,
2418                     L_PARTY_NAME,
2419                     L_CUST_ACCOUNT_ID,
2420                     L_ACCOUNT_NAME,
2421                     L_ACCOUNT_NUMBER,
2422                     L_SITE_USE_ID,
2423                     L_LOCATION,
2424                     L_CURRENCY,
2425                     L_OP_INVOICES_COUNT,
2426                     L_OP_DEBIT_MEMOS_COUNT,
2427                     L_OP_DEPOSITS_COUNT,
2428                     L_OP_BILLS_RECEIVABLES_COUNT,
2429                     L_OP_CHARGEBACK_COUNT,
2430                     L_OP_CREDIT_MEMOS_COUNT,
2431                     L_UNRESOLVED_CASH_COUNT,
2432                     L_DISPUTED_INV_COUNT,
2433                     L_BEST_CURRENT_RECEIVABLES,
2434                     L_OP_INVOICES_VALUE,
2435                     L_OP_DEBIT_MEMOS_VALUE,
2436                     L_OP_DEPOSITS_VALUE,
2437                     L_OP_BILLS_RECEIVABLES_VALUE,
2438                     L_OP_CHARGEBACK_VALUE,
2439                     L_OP_CREDIT_MEMOS_VALUE,
2440                     L_UNRESOLVED_CASH_VALUE,
2441                     L_RECEIPTS_AT_RISK_VALUE,
2442                     L_INV_AMT_IN_DISPUTE,
2443                     L_PENDING_ADJ_VALUE,
2444                     L_PAST_DUE_INV_VALUE,
2445                     L_PAST_DUE_INV_INST_COUNT,
2446                     L_LAST_PAYMENT_DATE,
2447                     L_LAST_PAYMENT_AMOUNT,
2448                     L_LAST_PAYMENT_AMOUNT_CURR,
2449                     L_LAST_PAYMENT_NUMBER,
2450                     L_LAST_UPDATE_DATE,
2451                     L_LAST_UPDATED_BY,
2452                     L_CREATION_DATE,
2453                     L_CREATED_BY,
2454                     L_LAST_UPDATE_LOGIN,
2455                     L_NUMBER_OF_DELINQUENCIES,
2456                     L_ACTIVE_DELINQUENCIES,
2457                     L_COMPLETE_DELINQUENCIES,
2458                     L_PENDING_DELINQUENCIES,
2459                     L_SCORE,
2460                     L_ADDRESS1,
2461                     L_CITY,
2462                     L_STATE,
2463                     L_COUNTY,
2464                     L_COUNTRY,
2465                     L_PROVINCE,
2466                     L_POSTAL_CODE,
2467                     L_PHONE_COUNTRY_CODE,
2468                     L_PHONE_AREA_CODE,
2469                     L_PHONE_NUMBER,
2470                     L_PHONE_EXTENSION,
2471                     L_NUMBER_OF_BANKRUPTCIES,
2472                     L_NUMBER_OF_PROMISES,
2473                     L_BROKEN_PROMISE_AMOUNT,
2474                     L_PROMISE_AMOUNT,
2475                     L_ACTIVE_PROMISES,
2476                     L_COMPLETE_PROMISES,
2477                     L_PENDING_PROMISES
2478                 limit l_max_fetches;
2479             Else
2480                 FETCH c_iex_acc_uwq_dt_sum bulk collect
2481                 INTO
2482                     L_ORG_ID,
2483                     L_COLLECTOR_ID,
2484                     L_COLLECTOR_RESOURCE_ID,
2485                     L_COLLECTOR_RES_TYPE,
2486                     L_IEU_OBJECT_FUNCTION,
2487                     L_IEU_OBJECT_PARAMETERS,
2488                     L_IEU_MEDIA_TYPE_UUID,
2489                     L_IEU_PARAM_PK_COL,
2490                     L_IEU_PARAM_PK_VALUE,
2491                     L_RESOURCE_ID,
2492                     L_RESOURCE_TYPE,
2493                     L_PARTY_ID,
2494                     L_PARTY_NAME,
2495                     L_CUST_ACCOUNT_ID,
2496                     L_ACCOUNT_NAME,
2497                     L_ACCOUNT_NUMBER,
2498                     L_SITE_USE_ID,
2499                     L_LOCATION,
2500                     L_CURRENCY,
2501                     L_OP_INVOICES_COUNT,
2502                     L_OP_DEBIT_MEMOS_COUNT,
2503                     L_OP_DEPOSITS_COUNT,
2504                     L_OP_BILLS_RECEIVABLES_COUNT,
2505                     L_OP_CHARGEBACK_COUNT,
2506                     L_OP_CREDIT_MEMOS_COUNT,
2507                     L_UNRESOLVED_CASH_COUNT,
2508                     L_DISPUTED_INV_COUNT,
2509                     L_BEST_CURRENT_RECEIVABLES,
2510                     L_OP_INVOICES_VALUE,
2511                     L_OP_DEBIT_MEMOS_VALUE,
2512                     L_OP_DEPOSITS_VALUE,
2513                     L_OP_BILLS_RECEIVABLES_VALUE,
2514                     L_OP_CHARGEBACK_VALUE,
2515                     L_OP_CREDIT_MEMOS_VALUE,
2516                     L_UNRESOLVED_CASH_VALUE,
2517                     L_RECEIPTS_AT_RISK_VALUE,
2518                     L_INV_AMT_IN_DISPUTE,
2519                     L_PENDING_ADJ_VALUE,
2520                     L_PAST_DUE_INV_VALUE,
2521                     L_PAST_DUE_INV_INST_COUNT,
2522                     L_LAST_PAYMENT_DATE,
2523                     L_LAST_PAYMENT_AMOUNT,
2524                     L_LAST_PAYMENT_AMOUNT_CURR,
2525                     L_LAST_PAYMENT_NUMBER,
2526                     L_LAST_UPDATE_DATE,
2527                     L_LAST_UPDATED_BY,
2528                     L_CREATION_DATE,
2529                     L_CREATED_BY,
2530                     L_LAST_UPDATE_LOGIN,
2531                     L_NUMBER_OF_DELINQUENCIES,
2532                     L_ACTIVE_DELINQUENCIES,
2533                     L_COMPLETE_DELINQUENCIES,
2534                     L_PENDING_DELINQUENCIES,
2535                     L_SCORE,
2536                     L_ADDRESS1,
2537                     L_CITY,
2538                     L_STATE,
2539                     L_COUNTY,
2540                     L_COUNTRY,
2541                     L_PROVINCE,
2542                     L_POSTAL_CODE,
2543                     L_PHONE_COUNTRY_CODE,
2544                     L_PHONE_AREA_CODE,
2545                     L_PHONE_NUMBER,
2546                     L_PHONE_EXTENSION,
2547                     L_NUMBER_OF_BANKRUPTCIES,
2548                     L_NUMBER_OF_PROMISES,
2549                     L_BROKEN_PROMISE_AMOUNT,
2550                     L_PROMISE_AMOUNT,
2551                     L_ACTIVE_PROMISES,
2552                     L_COMPLETE_PROMISES,
2553                     L_PENDING_PROMISES
2554                 limit l_max_fetches;
2555             End If;
2556 
2557         ELSIF l_level = 'BILL_TO' THEN
2558 
2559             -- If the date is not null we will not read only the new/updated records
2560             if (l_from_date is null) then
2561                 FETCH c_iex_billto_uwq_summary bulk collect
2562                 INTO
2563                     L_ORG_ID,
2564                     L_COLLECTOR_ID,
2565                     L_COLLECTOR_RESOURCE_ID,
2566                     L_COLLECTOR_RES_TYPE,
2567                     L_IEU_OBJECT_FUNCTION,
2568                     L_IEU_OBJECT_PARAMETERS,
2569                     L_IEU_MEDIA_TYPE_UUID,
2570                     L_IEU_PARAM_PK_COL,
2571                     L_IEU_PARAM_PK_VALUE,
2572                     L_RESOURCE_ID,
2573                     L_RESOURCE_TYPE,
2574                     L_PARTY_ID,
2575                     L_PARTY_NAME,
2576                     L_CUST_ACCOUNT_ID,
2577                     L_ACCOUNT_NAME,
2578                     L_ACCOUNT_NUMBER,
2579                     L_SITE_USE_ID,
2580                     L_LOCATION,
2581                     L_CURRENCY,
2582                     L_OP_INVOICES_COUNT,
2583                     L_OP_DEBIT_MEMOS_COUNT,
2584                     L_OP_DEPOSITS_COUNT,
2585                     L_OP_BILLS_RECEIVABLES_COUNT,
2586                     L_OP_CHARGEBACK_COUNT,
2587                     L_OP_CREDIT_MEMOS_COUNT,
2588                     L_UNRESOLVED_CASH_COUNT,
2589                     L_DISPUTED_INV_COUNT,
2590                     L_BEST_CURRENT_RECEIVABLES,
2591                     L_OP_INVOICES_VALUE,
2592                     L_OP_DEBIT_MEMOS_VALUE,
2593                     L_OP_DEPOSITS_VALUE,
2594                     L_OP_BILLS_RECEIVABLES_VALUE,
2595                     L_OP_CHARGEBACK_VALUE,
2596                     L_OP_CREDIT_MEMOS_VALUE,
2597                     L_UNRESOLVED_CASH_VALUE,
2598                     L_RECEIPTS_AT_RISK_VALUE,
2599                     L_INV_AMT_IN_DISPUTE,
2600                     L_PENDING_ADJ_VALUE,
2601                     L_PAST_DUE_INV_VALUE,
2602                     L_PAST_DUE_INV_INST_COUNT,
2603                     L_LAST_PAYMENT_DATE,
2604                     L_LAST_PAYMENT_AMOUNT,
2605                     L_LAST_PAYMENT_AMOUNT_CURR,
2606                     L_LAST_PAYMENT_NUMBER,
2607                     L_LAST_UPDATE_DATE,
2608                     L_LAST_UPDATED_BY,
2609                     L_CREATION_DATE,
2610                     L_CREATED_BY,
2611                     L_LAST_UPDATE_LOGIN,
2612                     L_NUMBER_OF_DELINQUENCIES,
2613                     L_ACTIVE_DELINQUENCIES,
2614                     L_COMPLETE_DELINQUENCIES,
2615                     L_PENDING_DELINQUENCIES,
2616                     L_SCORE,
2617                     L_ADDRESS1,
2618                     L_CITY,
2619                     L_STATE,
2620                     L_COUNTY,
2621                     L_COUNTRY,
2622                     L_PROVINCE,
2623                     L_POSTAL_CODE,
2624                     L_PHONE_COUNTRY_CODE,
2625                     L_PHONE_AREA_CODE,
2626                     L_PHONE_NUMBER,
2627                     L_PHONE_EXTENSION,
2628                     L_NUMBER_OF_BANKRUPTCIES,
2629                     L_NUMBER_OF_PROMISES,
2630                     L_BROKEN_PROMISE_AMOUNT,
2631                     L_PROMISE_AMOUNT,
2632                     L_ACTIVE_PROMISES,
2633                     L_COMPLETE_PROMISES,
2634                     L_PENDING_PROMISES
2635                 limit l_max_fetches;
2636             else
2637                 FETCH c_iex_billto_uwq_dt_sum bulk collect
2638                 INTO
2639                     L_ORG_ID,
2640                     L_COLLECTOR_ID,
2641                     L_COLLECTOR_RESOURCE_ID,
2642                     L_COLLECTOR_RES_TYPE,
2643                     L_IEU_OBJECT_FUNCTION,
2644                     L_IEU_OBJECT_PARAMETERS,
2645                     L_IEU_MEDIA_TYPE_UUID,
2646                     L_IEU_PARAM_PK_COL,
2647                     L_IEU_PARAM_PK_VALUE,
2648                     L_RESOURCE_ID,
2649                     L_RESOURCE_TYPE,
2650                     L_PARTY_ID,
2651                     L_PARTY_NAME,
2652                     L_CUST_ACCOUNT_ID,
2653                     L_ACCOUNT_NAME,
2654                     L_ACCOUNT_NUMBER,
2655                     L_SITE_USE_ID,
2656                     L_LOCATION,
2657                     L_CURRENCY,
2658                     L_OP_INVOICES_COUNT,
2659                     L_OP_DEBIT_MEMOS_COUNT,
2660                     L_OP_DEPOSITS_COUNT,
2661                     L_OP_BILLS_RECEIVABLES_COUNT,
2662                     L_OP_CHARGEBACK_COUNT,
2663                     L_OP_CREDIT_MEMOS_COUNT,
2664                     L_UNRESOLVED_CASH_COUNT,
2665                     L_DISPUTED_INV_COUNT,
2666                     L_BEST_CURRENT_RECEIVABLES,
2667                     L_OP_INVOICES_VALUE,
2668                     L_OP_DEBIT_MEMOS_VALUE,
2669                     L_OP_DEPOSITS_VALUE,
2670                     L_OP_BILLS_RECEIVABLES_VALUE,
2671                     L_OP_CHARGEBACK_VALUE,
2672                     L_OP_CREDIT_MEMOS_VALUE,
2673                     L_UNRESOLVED_CASH_VALUE,
2674                     L_RECEIPTS_AT_RISK_VALUE,
2675                     L_INV_AMT_IN_DISPUTE,
2676                     L_PENDING_ADJ_VALUE,
2677                     L_PAST_DUE_INV_VALUE,
2678                     L_PAST_DUE_INV_INST_COUNT,
2679                     L_LAST_PAYMENT_DATE,
2680                     L_LAST_PAYMENT_AMOUNT,
2681                     L_LAST_PAYMENT_AMOUNT_CURR,
2682                     L_LAST_PAYMENT_NUMBER,
2683                     L_LAST_UPDATE_DATE,
2684                     L_LAST_UPDATED_BY,
2685                     L_CREATION_DATE,
2686                     L_CREATED_BY,
2687                     L_LAST_UPDATE_LOGIN,
2688                     L_NUMBER_OF_DELINQUENCIES,
2689                     L_ACTIVE_DELINQUENCIES,
2690                     L_COMPLETE_DELINQUENCIES,
2691                     L_PENDING_DELINQUENCIES,
2692                     L_SCORE,
2693                     L_ADDRESS1,
2694                     L_CITY,
2695                     L_STATE,
2696                     L_COUNTY,
2697                     L_COUNTRY,
2698                     L_PROVINCE,
2699                     L_POSTAL_CODE,
2700                     L_PHONE_COUNTRY_CODE,
2701                     L_PHONE_AREA_CODE,
2702                     L_PHONE_NUMBER,
2703                     L_PHONE_EXTENSION,
2704                     L_NUMBER_OF_BANKRUPTCIES,
2705                     L_NUMBER_OF_PROMISES,
2706                     L_BROKEN_PROMISE_AMOUNT,
2707                     L_PROMISE_AMOUNT,
2708                     L_ACTIVE_PROMISES,
2709                     L_COMPLETE_PROMISES,
2710                     L_PENDING_PROMISES
2711                 limit l_max_fetches;
2712             End If;
2713         END IF;
2714 
2715         IF L_IEU_OBJECT_FUNCTION.COUNT = 0 THEN
2716 
2717           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2718           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
2719           EXIT;
2720 
2721         ELSE
2722 
2723           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2724           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows.');
2725           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inserting...');
2726           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2727 
2728           forall i IN L_IEU_OBJECT_FUNCTION.FIRST .. L_IEU_OBJECT_FUNCTION.LAST
2729             INSERT INTO IEX_DLN_UWQ_SUMMARY
2730                 (DLN_UWQ_SUMMARY_ID
2731                 ,ORG_ID
2732                 ,COLLECTOR_ID
2733                 ,COLLECTOR_RESOURCE_ID
2734                 ,COLLECTOR_RES_TYPE
2735                 ,IEU_OBJECT_FUNCTION
2736                 ,IEU_OBJECT_PARAMETERS
2737                 ,IEU_MEDIA_TYPE_UUID
2738                 ,IEU_PARAM_PK_COL
2739                 ,IEU_PARAM_PK_VALUE
2740                 ,RESOURCE_ID
2741                 ,RESOURCE_TYPE
2742                 ,PARTY_ID
2743                 ,PARTY_NAME
2744                 ,CUST_ACCOUNT_ID
2745                 ,ACCOUNT_NAME
2746                 ,ACCOUNT_NUMBER
2747                 ,SITE_USE_ID
2748                 ,LOCATION
2749                 ,CURRENCY
2750                 ,OP_INVOICES_COUNT
2751                 ,OP_DEBIT_MEMOS_COUNT
2752                 ,OP_DEPOSITS_COUNT
2753                 ,OP_BILLS_RECEIVABLES_COUNT
2754                 ,OP_CHARGEBACK_COUNT
2755                 ,OP_CREDIT_MEMOS_COUNT
2756                 ,UNRESOLVED_CASH_COUNT
2757                 ,DISPUTED_INV_COUNT
2758                 ,BEST_CURRENT_RECEIVABLES
2759                 ,OP_INVOICES_VALUE
2760                 ,OP_DEBIT_MEMOS_VALUE
2761                 ,OP_DEPOSITS_VALUE
2762                 ,OP_BILLS_RECEIVABLES_VALUE
2763                 ,OP_CHARGEBACK_VALUE
2764                 ,OP_CREDIT_MEMOS_VALUE
2765                 ,UNRESOLVED_CASH_VALUE
2766                 ,RECEIPTS_AT_RISK_VALUE
2767                 ,INV_AMT_IN_DISPUTE
2768                 ,PENDING_ADJ_VALUE
2769                 ,PAST_DUE_INV_VALUE
2770                 ,PAST_DUE_INV_INST_COUNT
2771                 ,LAST_PAYMENT_DATE
2772                 ,LAST_PAYMENT_AMOUNT
2773                 ,LAST_PAYMENT_AMOUNT_CURR
2774                 ,LAST_PAYMENT_NUMBER
2775                 ,LAST_UPDATE_DATE
2776                 ,LAST_UPDATED_BY
2777                 ,CREATION_DATE
2778                 ,CREATED_BY
2779                 ,LAST_UPDATE_LOGIN
2780                 ,NUMBER_OF_DELINQUENCIES
2781                 ,ACTIVE_DELINQUENCIES
2782                 ,COMPLETE_DELINQUENCIES
2783                 ,PENDING_DELINQUENCIES
2784                 ,SCORE
2785                 ,ADDRESS1
2786                 ,CITY
2787                 ,STATE
2788                 ,COUNTY
2789                 ,COUNTRY
2790                 ,PROVINCE
2791                 ,POSTAL_CODE
2792                 ,PHONE_COUNTRY_CODE
2793                 ,PHONE_AREA_CODE
2794                 ,PHONE_NUMBER
2795                 ,PHONE_EXTENSION
2796                 ,NUMBER_OF_BANKRUPTCIES
2797                 ,NUMBER_OF_PROMISES
2798                 ,BROKEN_PROMISE_AMOUNT
2799                 ,PROMISE_AMOUNT
2800                 ,ACTIVE_PROMISES
2801                 ,COMPLETE_PROMISES
2802                 ,PENDING_PROMISES)
2803             VALUES
2804                 (IEX_DLN_UWQ_SUMMARY_S.nextval,
2805                 L_ORG_ID(i),
2806                 L_COLLECTOR_ID(i),
2807                 L_COLLECTOR_RESOURCE_ID(i),
2808                 L_COLLECTOR_RES_TYPE(i),
2809                 L_IEU_OBJECT_FUNCTION(i),
2810                 L_IEU_OBJECT_PARAMETERS(i),
2811                 L_IEU_MEDIA_TYPE_UUID(i),
2812                 L_IEU_PARAM_PK_COL(i),
2813                 L_IEU_PARAM_PK_VALUE(i),
2814                 L_RESOURCE_ID(i),
2815                 L_RESOURCE_TYPE(i),
2816                 L_PARTY_ID(i),
2817                 L_PARTY_NAME(i),
2818                 L_CUST_ACCOUNT_ID(i),
2819                 L_ACCOUNT_NAME(i),
2820                 L_ACCOUNT_NUMBER(i),
2821                 L_SITE_USE_ID(i),
2822                 L_LOCATION(i),
2823                 L_CURRENCY(i),
2824                 L_OP_INVOICES_COUNT(i),
2825                 L_OP_DEBIT_MEMOS_COUNT(i),
2826                 L_OP_DEPOSITS_COUNT(i),
2827                 L_OP_BILLS_RECEIVABLES_COUNT(i),
2828                 L_OP_CHARGEBACK_COUNT(i),
2829                 L_OP_CREDIT_MEMOS_COUNT(i),
2830                 L_UNRESOLVED_CASH_COUNT(i),
2831                 L_DISPUTED_INV_COUNT(i),
2832                 L_BEST_CURRENT_RECEIVABLES(i),
2833                 L_OP_INVOICES_VALUE(i),
2834                 L_OP_DEBIT_MEMOS_VALUE(i),
2835                 L_OP_DEPOSITS_VALUE(i),
2836                 L_OP_BILLS_RECEIVABLES_VALUE(i),
2837                 L_OP_CHARGEBACK_VALUE(i),
2838                 L_OP_CREDIT_MEMOS_VALUE(i),
2839                 L_UNRESOLVED_CASH_VALUE(i),
2840                 L_RECEIPTS_AT_RISK_VALUE(i),
2841                 L_INV_AMT_IN_DISPUTE(i),
2842                 L_PENDING_ADJ_VALUE(i),
2843                 L_PAST_DUE_INV_VALUE(i),
2844                 L_PAST_DUE_INV_INST_COUNT(i),
2845                 L_LAST_PAYMENT_DATE(i),
2846                 L_LAST_PAYMENT_AMOUNT(i),
2847                 L_LAST_PAYMENT_AMOUNT_CURR(i),
2848                 L_LAST_PAYMENT_NUMBER(i),
2849                 sysdate,
2850                 FND_GLOBAL.USER_ID,
2851                 sysdate,
2852                 FND_GLOBAL.USER_ID,
2853                 FND_GLOBAL.CONC_LOGIN_ID,
2854                 L_NUMBER_OF_DELINQUENCIES(i),
2855                 L_ACTIVE_DELINQUENCIES(i),
2856                 L_COMPLETE_DELINQUENCIES(i),
2857                 L_PENDING_DELINQUENCIES(i),
2858                 L_SCORE(i),
2859                 L_ADDRESS1(i),
2860                 L_CITY(i),
2861                 L_STATE(i),
2862                 L_COUNTY(i),
2863                 L_COUNTRY(i),
2864                 L_PROVINCE(i),
2865                 L_POSTAL_CODE(i),
2866                 L_PHONE_COUNTRY_CODE(i),
2867                 L_PHONE_AREA_CODE(i),
2868                 L_PHONE_NUMBER(i),
2869                 L_PHONE_EXTENSION(i),
2870                 L_NUMBER_OF_BANKRUPTCIES(i),
2871                 L_NUMBER_OF_PROMISES(i),
2872                 L_BROKEN_PROMISE_AMOUNT(i),
2873                 L_PROMISE_AMOUNT(i),
2874                 L_ACTIVE_PROMISES(i),
2875                 L_COMPLETE_PROMISES(i),
2876                 L_PENDING_PROMISES(i));
2877 
2878           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2879           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Inserted ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows');
2880 
2881           COMMIT;
2882           LogMessage(FND_LOG.LEVEL_STATEMENT,'Commited');
2883 
2884           l_total := l_total + L_IEU_OBJECT_FUNCTION.COUNT;
2885           LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
2886 
2887         END IF;
2888 
2889       END LOOP;
2890 
2891       IF c_iex_acc_uwq_summary % ISOPEN    or
2892          c_iex_acc_uwq_dt_sum % ISOPEN     or
2893          c_iex_billto_uwq_summary % ISOPEN or
2894          c_iex_billto_uwq_dt_sum % ISOPEN or
2895          c_iex_cu_uwq_summary % ISOPEN or
2896          c_iex_cu_uwq_summary % ISOPEN
2897       THEN
2898         -- Begin - Andre Araujo - 10/20/06 - Added dynamic sql
2899           -- If the date is not null we will not read only the new/updated records
2900 
2901           IF l_level = 'CUSTOMER' THEN
2902               if (l_from_date is null) then
2903                 CLOSE c_iex_cu_uwq_summary;
2904               else
2905                 CLOSE c_iex_cu_uwq_dt_sum;
2906               end if;
2907           ELSIF l_level = 'ACCOUNT' THEN
2908               if (l_from_date is null) then
2909                 CLOSE c_iex_acc_uwq_summary;
2910               else
2911                 CLOSE c_iex_acc_uwq_dt_sum;
2912               end if;
2913           ELSIF l_level = 'BILL_TO' THEN
2914               if (l_from_date is null) then
2915                   CLOSE c_iex_billto_uwq_summary;
2916               else
2917                   CLOSE c_iex_billto_uwq_dt_sum;
2918               end if;
2919           END IF;
2920 
2921         -- End - Andre Araujo - 10/20/06 - Added dynamic sql
2922       END IF;
2923 
2924       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
2925       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Total inserted ' || l_total || ' rows');
2926     If (P_mode = 'CP') THEN --Bug5691098
2927       -- 2. Fetching and updating table with stategy info
2928       LogMessage(FND_LOG.LEVEL_UNEXPECTED,' ');
2929       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'2. Fetching and updating table with stategy info...');
2930       l_total := 0;
2931       l_count := 0;
2932       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start open cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2933       OPEN c_strategy_summary(l_level, l_from_date);
2934       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End open cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2935       LOOP
2936           l_count := l_count +1;
2937           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
2938           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
2939 
2940           L_JTF_OBJECT_ID.delete;
2941           L_WORK_ITEM_ID.delete;
2942           L_SCHEDULE_START.delete;
2943           L_SCHEDULE_END.delete;
2944           L_WORK_TYPE.delete;
2945           L_CATEGORY_TYPE.delete;
2946           L_PRIORITY_TYPE.delete;
2947 	  L_wkitem_RESOURCE_ID.delete;  --schekuri
2948           L_STRATEGY_ID.delete;
2949 	  L_STRATEGY_TEMPLATE_ID.delete;
2950 	  L_WORK_ITEM_TEMPLATE_ID.delete;
2951 	  L_STATUS_CODE.delete;
2952 	  L_START_TIME.delete;
2953 	  L_END_TIME.delete;
2954 	  L_WORK_ITEM_ORDER.delete;
2955 	  L_ESCALATED_YN.delete;  --Added for bug#6981126 by schekuri on 27-Jun-2008
2956 
2957           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inited all arrays');
2958 
2959           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2960           FETCH c_strategy_summary bulk collect
2961           INTO
2962             L_JTF_OBJECT_ID,
2963             L_WORK_ITEM_ID,
2964             L_SCHEDULE_START,
2965             L_SCHEDULE_END,
2966             L_CATEGORY_TYPE,
2967 	    L_WORK_TYPE,
2968             L_PRIORITY_TYPE,
2969 	    L_WKITEM_RESOURCE_ID,  --schekuri
2970 	    L_STRATEGY_ID,
2971 	    L_STRATEGY_TEMPLATE_ID,
2972 	    L_WORK_ITEM_TEMPLATE_ID,
2973 	    L_STATUS_CODE,
2974 	    L_START_TIME,
2975 	    L_END_TIME,
2976 	    L_WORK_ITEM_ORDER,
2977 	    L_ESCALATED_YN
2978           limit l_max_fetches;
2979 
2980           IF L_JTF_OBJECT_ID.COUNT = 0 THEN
2981 
2982             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2983             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
2984             CLOSE c_strategy_summary;
2985             EXIT;
2986 
2987           ELSE
2988 
2989             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2990             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_JTF_OBJECT_ID.COUNT || ' rows.');
2991             LogMessage(FND_LOG.LEVEL_STATEMENT,' Updating table...');
2992             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
2993 
2994             IF l_level = 'CUSTOMER' THEN
2995 
2996               forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
2997                    UPDATE IEX_DLN_UWQ_SUMMARY
2998                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
2999                     SCHEDULE_START = L_SCHEDULE_START(i),
3000                     SCHEDULE_END = L_SCHEDULE_END(i),
3001                     WORK_TYPE = L_WORK_TYPE(i),
3002                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
3003                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
3004 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),  --schekuri
3005   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
3006 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
3007 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
3008 	            STATUS_CODE = L_STATUS_CODE(i),
3009 	            START_TIME = L_START_TIME(i),
3010 	            END_TIME = L_END_TIME(i),
3011 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
3012 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
3013                    WHERE PARTY_ID = L_JTF_OBJECT_ID(i);
3014 
3015             ELSIF l_level = 'ACCOUNT' THEN
3016 
3017               forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
3018                    UPDATE IEX_DLN_UWQ_SUMMARY
3019                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
3020                     SCHEDULE_START = L_SCHEDULE_START(i),
3021                     SCHEDULE_END = L_SCHEDULE_END(i),
3022                     WORK_TYPE = L_WORK_TYPE(i),
3023                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
3024                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
3025 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),  --schekuri
3026   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
3027 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
3028 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
3029 	            STATUS_CODE = L_STATUS_CODE(i),
3030 	            START_TIME = L_START_TIME(i),
3031 	            END_TIME = L_END_TIME(i),
3032 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
3033 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
3034                    WHERE CUST_ACCOUNT_ID = L_JTF_OBJECT_ID(i);
3035 
3036             ELSIF l_level = 'BILL_TO' THEN
3037 
3038               forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
3039                    UPDATE IEX_DLN_UWQ_SUMMARY
3040                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
3041                     SCHEDULE_START = L_SCHEDULE_START(i),
3042                     SCHEDULE_END = L_SCHEDULE_END(i),
3043                     WORK_TYPE = L_WORK_TYPE(i),
3044                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
3045                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
3046 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),  --schekuri
3047   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
3048 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
3049 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
3050 	            STATUS_CODE = L_STATUS_CODE(i),
3051 	            START_TIME = L_START_TIME(i),
3052 	            END_TIME = L_END_TIME(i),
3053 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
3054 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
3055                  WHERE SITE_USE_ID = L_JTF_OBJECT_ID(i);
3056 
3057             END IF;
3058 
3059             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Updated ' || L_JTF_OBJECT_ID.COUNT || ' rows');
3060             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3061             COMMIT;
3062             LogMessage(FND_LOG.LEVEL_STATEMENT,'Commited');
3063 
3064             l_total := l_total + L_JTF_OBJECT_ID.COUNT;
3065             LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
3066 
3067           END IF;
3068 
3069       END LOOP;
3070 
3071       IF c_strategy_summary % ISOPEN THEN
3072         CLOSE c_strategy_summary;
3073       END IF;
3074 
3075       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3076       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Total updated ' || l_total || ' rows with strategy info');
3077    End If; --Bug5691098
3078 
3079       --Bug5701973. Start.
3080     IF (l_from_date IS NOT NULL and p_mode = 'CP') THEN --Bug5691098
3081         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3082        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'TCA Update Started at :  ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3083      BEGIN
3084        --Party changes update
3085        OPEN changed_party(l_from_date);
3086        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'3. Opened Cursor changed_party at : ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3087         L_PARTY_ID.delete;
3088         L_ADDRESS1.delete;
3089         L_CITY.delete;
3090         L_STATE.delete;
3091         L_COUNTY.delete;
3092         L_COUNTRY.delete;
3093         L_PROVINCE.delete;
3094         L_POSTAL_CODE.delete;
3095 
3096 
3097       LOOP
3098 	 FETCH changed_party bulk collect
3099           INTO
3100 	    L_PARTY_ID,
3101             L_ADDRESS1,
3102             L_CITY,
3103             L_STATE,
3104             L_COUNTY,
3105             L_COUNTRY,
3106 	    L_PROVINCE,
3107             L_POSTAL_CODE
3108           limit l_max_fetches;
3109       IF L_PARTY_ID.COUNT = 0 THEN
3110 
3111           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Changed_Party  Cursor Fetching end time:   ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3112           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
3113           EXIT;
3114 
3115         ELSE
3116 
3117         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
3118 
3119                    UPDATE IEX_DLN_UWQ_SUMMARY
3120                    SET address1           = L_ADDRESS1(i),
3121                        city               = L_CITY(i),
3122                        state              = L_STATE(i),
3123                        county             = L_COUNTY(i),
3124                        country            = L_COUNTRY(i),
3125                        province           = L_PROVINCE(i),
3126                        postal_code        = L_POSTAL_CODE(i),
3127 		       last_update_date   = SYSDATE,
3128 		       last_updated_by    = FND_GLOBAL.USER_ID
3129                  WHERE PARTY_ID = L_PARTY_ID(i);
3130          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Changed_Party  Cursor updated ' ||L_PARTY_ID.count || ' rows ');
3131          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3132       COMMIT;
3133       END IF;
3134       END LOOP;
3135         CLOSE changed_party;
3136 
3137 
3138       EXCEPTION WHEN OTHERS THEN
3139        LogMessage(FND_LOG.LEVEL_UNEXPECTED,SQLERRM);
3140       END;
3141 
3142      --Profile Changes Update
3143      BEGIN
3144       OPEN changed_profiles(l_from_date);
3145        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'4.Opened changed_profiles cursor at time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3146 
3147         L_PARTY_ID.delete;
3148 	L_CUST_ACCOUNT_ID.delete;
3149 	L_SITE_USE_ID.delete;
3150 	L_COLLECTOR_ID.delete;
3151 
3152       LOOP
3153         FETCH changed_profiles bulk collect
3154           INTO
3155   	    L_COLLECTOR_ID,
3156 	    L_PARTY_ID,
3157 	    L_CUST_ACCOUNT_ID,
3158 	    L_SITE_USE_ID
3159           limit l_max_fetches;
3160       IF L_PARTY_ID.COUNT = 0 THEN
3161 
3162           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: Changed_Profiles ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3163           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
3164           EXIT;
3165 
3166        ELSE
3167 
3168         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
3169                    UPDATE IEX_DLN_UWQ_SUMMARY
3170                    SET COLLECTOR_ID = L_COLLECTOR_ID(i),
3171 		   last_update_date   = SYSDATE,
3172 		   last_updated_by    = FND_GLOBAL.USER_ID
3173                  WHERE
3174 		   PARTY_ID = L_PARTY_ID(i)
3175  		   AND nvl(CUST_ACCOUNT_ID,1) = nvl(L_CUST_ACCOUNT_ID(i),1)
3176 		   AND nvl(SITE_USE_ID,1)     = nvl(L_SITE_USE_ID(i),1);
3177          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Changed_profiles updated ' || L_PARTY_ID.count || ' rows ' );
3178          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3179 
3180       COMMIT;
3181       END IF;
3182       END LOOP;
3183        IF changed_profiles % ISOPEN THEN
3184         CLOSE changed_profiles;
3185        END IF;
3186        EXCEPTION WHEN OTHERS THEN
3187          LogMessage(FND_LOG.LEVEL_UNEXPECTED,SQLERRM);
3188        END;
3189 
3190      --Collector Changes Update
3191      BEGIN
3192       OPEN changed_collector(l_from_date);
3193        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'5.Open changed_collector cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3194         L_COLLECTOR_RESOURCE_ID.delete  ;
3195 	L_COLLECTOR_ID.delete;
3196 	L_RESOURCE_TYPE.delete;
3197 
3198       LOOP
3199         FETCH changed_collector bulk collect
3200           INTO
3201   	    L_COLLECTOR_RESOURCE_ID,
3202 	    L_RESOURCE_TYPE,
3203 	    L_COLLECTOR_ID
3204           limit l_max_fetches;
3205       IF L_COLLECTOR_RESOURCE_ID.COUNT = 0 THEN
3206 
3207           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: Changed_Collector ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3208           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
3209           EXIT;
3210 
3211        ELSE
3212 
3213         forall i IN L_COLLECTOR_ID.FIRST .. L_COLLECTOR_ID.LAST
3214                    UPDATE IEX_DLN_UWQ_SUMMARY
3215                     SET COLLECTOR_RESOURCE_ID = L_COLLECTOR_RESOURCE_ID(i),
3216 		        COLLECTOR_RES_TYPE    = L_RESOURCE_TYPE(i),
3217 			last_update_date   = SYSDATE,
3218 		        last_updated_by    = FND_GLOBAL.USER_ID
3219                    WHERE
3220 		    COLLECTOR_ID = L_COLLECTOR_ID(i);
3221          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Changed_collector updated ' || L_COLLECTOR_ID.count ||  ' rows ');
3222          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3223 
3224       COMMIT;
3225       END IF;
3226       END LOOP;
3227        IF changed_collector % ISOPEN THEN
3228         CLOSE changed_collector;
3229        END IF;
3230 
3231        EXCEPTION WHEN OTHERS THEN
3232          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Changed Collector update received' || SQLERRM);
3233        END;
3234        --Contact Point  Changes Update
3235       BEGIN
3236        OPEN changed_contact(l_from_date);
3237        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'6.Opened Cursor  changed_contact  cursor at time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3238         L_PARTY_ID.delete;
3239         L_PHONE_COUNTRY_CODE.delete;
3240         L_PHONE_AREA_CODE.delete;
3241         L_PHONE_NUMBER.delete;
3242         L_PHONE_EXTENSION.delete;
3243 
3244 
3245       LOOP
3246 	 FETCH changed_contact bulk collect
3247           INTO
3248 	   L_PARTY_ID,
3249 	   L_PHONE_COUNTRY_CODE,
3250 	   L_PHONE_AREA_CODE,
3251 	   L_PHONE_NUMBER,
3252 	   L_PHONE_EXTENSION
3253 
3254           limit l_max_fetches;
3255       IF L_PARTY_ID.COUNT = 0 THEN
3256 
3257           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Changed_contact  Cursor Fetching end time:   ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3258           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
3259           EXIT;
3260 
3261         ELSE
3262 
3263         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
3264 
3265                    UPDATE IEX_DLN_UWQ_SUMMARY
3266                    SET PHONE_COUNTRY_CODE = L_PHONE_COUNTRY_CODE(i),
3267 		       PHONE_AREA_CODE    = L_PHONE_AREA_CODE(i),
3268 		       PHONE_NUMBER       = L_PHONE_NUMBER(i),
3269 		       PHONE_EXTENSION    = L_PHONE_EXTENSION(i),
3270 		       last_update_date   = SYSDATE,
3271 		       last_updated_by    = FND_GLOBAL.USER_ID
3272                  WHERE PARTY_ID = L_PARTY_ID(i);
3273          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Changed_contact  Cursor updated ' ||L_PARTY_ID.count || ' rows ');
3274          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3275 
3276       COMMIT;
3277       END IF;
3278       END LOOP;
3279         CLOSE changed_contact;
3280 
3281 
3282       EXCEPTION WHEN OTHERS THEN
3283        LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Contact point raised error ' || SQLERRM);
3284       END;
3285 
3286       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'TCA Update Finished at :  ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3287      END IF;
3288 
3289      --Bug5701973. End.
3290 
3291      DELETE from AR_CONC_PROCESS_REQUESTS
3292      WHERE REQUEST_ID  = FND_GLOBAL.conc_request_id;
3293      COMMIT;
3294 
3295 
3296 EXCEPTION
3297     WHEN deadlock_detected THEN
3298       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Exception in populate_uwq_sum: deadlock detected');
3299       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'SQLCODE: ' || to_char(SQLCODE) || ' SQLERRM: ' || sqlerrm);
3300       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3301       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Total processed ' || l_total || ' rows');
3302       x_errbuf := sqlerrm;
3303       x_retcode := SQLCODE;
3304 
3305 
3306       -- Begin - Andre Araujo - 10/20/06 - Added dynamic sql
3307       -- If the date is not null we will not read only the new/updated records
3308       IF c_iex_acc_uwq_summary % ISOPEN    or
3309          c_iex_acc_uwq_dt_sum % ISOPEN     or
3310          c_iex_billto_uwq_summary % ISOPEN or
3311          c_iex_billto_uwq_dt_sum % ISOPEN or
3312          c_iex_cu_uwq_summary % ISOPEN or
3313          c_iex_cu_uwq_summary % ISOPEN
3314       THEN
3315           IF l_level = 'CUSTOMER' THEN
3316               if (l_from_date is null) then
3317                 CLOSE c_iex_cu_uwq_summary;
3318               else
3319                 CLOSE c_iex_cu_uwq_dt_sum;
3320               end if;
3321           ELSIF l_level = 'ACCOUNT' THEN
3322               if (l_from_date is null) then
3323                 CLOSE c_iex_acc_uwq_summary;
3324               else
3325                 CLOSE c_iex_acc_uwq_dt_sum;
3326               end if;
3327           ELSIF l_level = 'BILL_TO' THEN
3328               if (l_from_date is null) then
3329                   CLOSE c_iex_billto_uwq_summary;
3330               else
3331                   CLOSE c_iex_billto_uwq_dt_sum;
3332               end if;
3333           END IF;
3334       END IF;
3335 
3336       -- End - Andre Araujo - 10/20/06 - Added dynamic sql
3337       Rollback;
3338       DELETE from AR_CONC_PROCESS_REQUESTS
3339       where REQUEST_ID  = FND_GLOBAL.conc_request_id;
3340       commit;
3341 
3342       if FND_GLOBAL.Conc_Request_Id is not null then
3343           l_return := FND_CONCURRENT.SET_COMPLETION_STATUS(
3344                       status => 'ERROR',
3345                       message => 'The process has failed. Please review log file.');
3346       end if;
3347 
3348     WHEN others THEN
3349       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Exception in populate_uwq_sum: other');
3350       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'SQLCODE: ' || to_char(SQLCODE) || ' SQLERRM: ' || sqlerrm);
3351       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3352       LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Total processed ' || l_total || ' rows');
3353       x_errbuf := sqlerrm;
3354       x_retcode := SQLCODE;
3355 
3356       -- Begin - Andre Araujo - 10/20/06 - Added dynamic sql
3357       -- If the date is not null we will not read only the new/updated records
3358 
3359       IF c_iex_acc_uwq_summary % ISOPEN    or
3360          c_iex_acc_uwq_dt_sum % ISOPEN     or
3361          c_iex_billto_uwq_summary % ISOPEN or
3362          c_iex_billto_uwq_dt_sum % ISOPEN or
3363          c_iex_cu_uwq_summary % ISOPEN or
3364          c_iex_cu_uwq_summary % ISOPEN
3365       THEN
3366           IF l_level = 'CUSTOMER' THEN
3367               if (l_from_date is null) then
3368                 CLOSE c_iex_cu_uwq_summary;
3369               else
3370                 CLOSE c_iex_cu_uwq_dt_sum;
3371               end if;
3372           ELSIF l_level = 'ACCOUNT' THEN
3373               if (l_from_date is null) then
3374                 CLOSE c_iex_acc_uwq_summary;
3375               else
3376                 CLOSE c_iex_acc_uwq_dt_sum;
3377               end if;
3378           ELSIF l_level = 'BILL_TO' THEN
3379               if (l_from_date is null) then
3380                   CLOSE c_iex_billto_uwq_summary;
3381               else
3382                   CLOSE c_iex_billto_uwq_dt_sum;
3383               end if;
3384           END IF;
3385       END IF;
3386 
3387       -- End - Andre Araujo - 10/20/06 - Added dynamic sql
3388       Rollback;
3389       DELETE from AR_CONC_PROCESS_REQUESTS
3390       where REQUEST_ID  = FND_GLOBAL.conc_request_id;
3391       commit;
3392 
3393       if FND_GLOBAL.Conc_Request_Id is not null then
3394           l_return := FND_CONCURRENT.SET_COMPLETION_STATUS(
3395                       status => 'ERROR',
3396                       message => 'The process has failed. Please review log file.');
3397       end if;
3398 
3399 END;
3400 
3401 PROCEDURE billto_refresh_summary_incr(
3402                     x_errbuf            OUT nocopy VARCHAR2,
3403                     x_retcode           OUT nocopy VARCHAR2,
3404                     FROM_DATE           IN  VARCHAR2,
3405  	            P_MODE              IN  VARCHAR2 DEFAULT 'CP') is
3406 l_count number;
3407 
3408 CURSOR c_iex_billto_uwq_summary IS
3409     SELECT
3410     trx_summ.org_id,
3411     objb.object_function ieu_object_function,
3412     objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
3413     '' ieu_media_type_uuid,
3414     'CUSTOMER_SITE_USE_ID' ieu_param_pk_col,
3415     to_char(trx_summ.site_use_id) ieu_param_pk_value,
3416     1 resource_id,
3417     'RS_EMPLOYEE' resource_type,
3418     party.party_id party_id,
3419     party.party_name party_name,
3420     trx_summ.cust_account_id cust_account_id,
3421     acc.account_name account_name,
3422     acc.account_number account_number,
3423     trx_summ.site_use_id site_use_id,
3424     site_uses.location location,
3425     max(gl.CURRENCY_CODE) currency,
3426     SUM(trx_summ.op_invoices_count) op_invoices_count,
3427     SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
3428     SUM(trx_summ.op_deposits_count) op_deposits_count,
3429     SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
3430     SUM(trx_summ.op_chargeback_count) op_chargeback_count,
3431     SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
3432     SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
3433     SUM(trx_summ.disputed_inv_count) disputed_inv_count,
3434     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
3435      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3436      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
3437     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
3438      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3439      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
3440     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
3441      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3442      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
3443     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
3444      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3445      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
3446     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
3447      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3448      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
3449     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
3450      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3451      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
3452     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
3453      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3454      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
3455     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
3456      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3457      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
3458     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
3459      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3460      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
3461     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
3462      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3463      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
3464     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
3465      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
3466      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
3467     SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
3468     MAX(trx_summ.last_payment_date) last_payment_date,
3469     --MAX(iex_uwq_view_pkg.get_last_payment_amount(0,   0,   trx_summ.site_use_id)) last_payment_amount,
3470     max(gl.CURRENCY_CODE) last_payment_amount_curr,
3471 --   MAX(iex_uwq_view_pkg.get_last_payment_number(0,   0,   trx_summ.site_use_id)) last_payment_number,
3472     MAX(trx_summ.last_update_date) last_update_date,
3473     MAX(trx_summ.last_updated_by) last_updated_by,
3474     MAX(trx_summ.creation_date) creation_date,
3475     MAX(trx_summ.created_by) created_by,
3476     MAX(trx_summ.last_update_login) last_update_login,
3477     party.address1 address1,
3478     party.city city,
3479     party.state state,
3480     party.county county,
3481     fnd_terr.territory_short_name country,
3482     party.province province,
3483     party.postal_code postal_code
3484   FROM ar_trx_bal_summary trx_summ,
3485     hz_cust_accounts acc,
3486     hz_parties party,
3487     jtf_objects_b objb,
3488     fnd_territories_tl fnd_terr,
3489     hz_cust_site_uses_all site_uses,
3490     GL_SETS_OF_BOOKS gl,
3491     AR_SYSTEM_PARAMETERS_all sys
3492   WHERE trx_summ.reference_1 = '1'
3493    AND trx_summ.site_use_id = site_uses.site_use_id
3494    AND trx_summ.cust_account_id = acc.cust_account_id
3495    AND acc.party_id = party.party_id
3496    AND objb.object_code = 'IEX_BILLTO'
3497    AND party.country = fnd_terr.territory_code(+)
3498    AND fnd_terr.LANGUAGE(+) = userenv('LANG')
3499    and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
3500    and trx_summ.org_id = sys.org_id
3501    and trx_summ.site_use_id in (select temp.object_id from iex_pop_uwq_summ_gt temp where
3502    temp.org_id=trx_summ.org_id)
3503   GROUP BY trx_summ.org_id,
3504     objb.object_function,
3505     objb.object_parameters,
3506     party.party_id,
3507     party.party_name,
3508     trx_summ.cust_account_id,
3509     acc.account_name,
3510     acc.account_number,
3511     trx_summ.site_use_id,
3512     site_uses.location,
3513     party.address1,
3514     party.city,
3515     party.state,
3516     party.county,
3517     fnd_terr.territory_short_name,
3518     party.province,
3519     party.postal_code;
3520 
3521      CURSOR c_strategy_summary IS
3522      select strat.jtf_object_id,
3523         wkitem.WORK_ITEM_ID,
3524         wkitem.schedule_start schedule_start,
3525         wkitem.schedule_end schedule_end,
3526         stry_temp_wkitem.category_type category,
3527         stry_temp_wkitem.WORK_TYPE,
3528         stry_temp_wkitem.PRIORITY_TYPE,
3529         wkitem.resource_id,
3530         wkitem.strategy_id,
3531         strat.strategy_template_id,
3532         wkitem.work_item_template_id,
3533         wkitem.status_code,
3534         wkitem.creation_date start_time,
3535         wkitem.execute_end end_time, -- snuthala 28/08/2008 bug #6745580
3536         wkitem.work_item_order wkitem_order,
3537 	wkitem.escalated_yn                   --Added for bug#6981126 by schekuri on 27-Jul-2008
3538       from iex_strategies strat,
3539         iex_strategy_work_items wkitem,
3540         iex_stry_temp_work_items_b stry_temp_wkitem,
3541         iex_pop_uwq_summ_gt temp
3542       where strat.jtf_object_type = temp.object_type
3543       AND strat.status_code IN('OPEN',   'ONHOLD')
3544       AND wkitem.strategy_id = strat.strategy_id
3545       AND wkitem.status_code IN('OPEN',   'ONHOLD')
3546       AND wkitem.work_item_template_id = stry_temp_wkitem.work_item_temp_id
3547       AND strat.jtf_object_id = temp.object_id;
3548 
3549 
3550       CURSOR C_COLLECTOR_PROF IS
3551       SELECT
3552          hp.collector_id,
3553          ac.resource_id,
3554 	 ac.resource_type,
3555 	 hp.party_id,
3556 	 hp.cust_account_id,
3557 	 hp.site_use_id
3558       FROM
3559          hz_customer_profiles hp,
3560 	 ar_collectors ac,
3561 	 iex_pop_uwq_summ_gt temp
3562       WHERE
3563          hp.site_use_id=temp.object_id
3564 	 and hp.collector_id=ac.collector_id;
3565 
3566       CURSOR C_CONTACT_POINT IS
3567       SELECT
3568          ids.party_id             party_id,
3569          phone.phone_country_code phone_country_code,
3570          phone.phone_area_code    phone_area_code,
3571          phone.phone_number       phone_number,
3572          phone.phone_extension    phone_extension
3573       FROM
3574          hz_contact_points phone,
3575 	 iex_dln_uwq_summary ids,
3576          iex_pop_uwq_summ_gt temp
3577       WHERE
3578        phone.owner_table_id = ids.party_id
3579        AND phone.owner_table_name = 'HZ_PARTIES'
3580        AND phone.contact_point_type = 'PHONE'
3581        and phone.primary_by_purpose = 'Y'
3582        AND phone.contact_point_purpose = 'COLLECTIONS'
3583        AND phone.phone_line_type NOT IN('PAGER',     'FAX')
3584        AND phone.status = 'A'
3585        AND nvl(phone.do_not_use_flag, 'N') = 'N'
3586        AND ids.site_use_id = temp.object_id;
3587 
3588     L_ORG_ID                                    number_list;
3589     L_COLLECTOR_ID                              number_list;
3590     L_COLLECTOR_RESOURCE_ID                     number_list;
3591     L_COLLECTOR_RES_TYPE                        varchar_30_list;
3592     L_IEU_OBJECT_FUNCTION                       varchar_30_list;
3593     L_IEU_OBJECT_PARAMETERS                     varchar_2020_list;
3594     L_IEU_MEDIA_TYPE_UUID                       varchar_10_list;
3595     L_IEU_PARAM_PK_COL                          varchar_40_list;
3596     L_IEU_PARAM_PK_VALUE                        varchar_40_list;
3597     L_RESOURCE_ID                               number_list;
3598     L_RESOURCE_TYPE                             varchar_20_list;
3599     L_PARTY_ID                                  number_list;
3600     L_PARTY_NAME                                varchar_360_list;
3601     L_CUST_ACCOUNT_ID                           number_list;
3602     L_ACCOUNT_NAME                              varchar_240_list;
3603     L_ACCOUNT_NUMBER                            varchar_30_list;
3604     L_SITE_USE_ID                               number_list;
3605     L_LOCATION                                  varchar_60_list;
3606     L_CURRENCY                                  varchar_20_list;
3607     L_OP_INVOICES_COUNT                         number_list;
3608     L_OP_DEBIT_MEMOS_COUNT                      number_list;
3609     L_OP_DEPOSITS_COUNT                         number_list;
3610     L_OP_BILLS_RECEIVABLES_COUNT                number_list;
3611     L_OP_CHARGEBACK_COUNT                       number_list;
3612     L_OP_CREDIT_MEMOS_COUNT                     number_list;
3613     L_UNRESOLVED_CASH_COUNT                     number_list;
3614     L_DISPUTED_INV_COUNT                        number_list;
3615     L_BEST_CURRENT_RECEIVABLES                  number_list;
3616     L_OP_INVOICES_VALUE                         number_list;
3617     L_OP_DEBIT_MEMOS_VALUE                      number_list;
3618     L_OP_DEPOSITS_VALUE                         number_list;
3619     L_OP_BILLS_RECEIVABLES_VALUE                number_list;
3620     L_OP_CHARGEBACK_VALUE                       number_list;
3621     L_OP_CREDIT_MEMOS_VALUE                     number_list;
3622     L_UNRESOLVED_CASH_VALUE                     number_list;
3623     L_RECEIPTS_AT_RISK_VALUE                    number_list;
3624     L_INV_AMT_IN_DISPUTE                        number_list;
3625     L_PENDING_ADJ_VALUE                         number_list;
3626     L_PAST_DUE_INV_VALUE                        number_list;
3627     L_PAST_DUE_INV_INST_COUNT                   number_list;
3628     L_LAST_PAYMENT_DATE                         date_list;
3629     L_LAST_PAYMENT_AMOUNT                       number_list;
3630     L_LAST_PAYMENT_AMOUNT_CURR                  varchar_20_list;
3631     L_LAST_PAYMENT_NUMBER                       varchar_30_list;
3632     L_LAST_UPDATE_DATE                          date_list;
3633     L_LAST_UPDATED_BY                           number_list;
3634     L_CREATION_DATE                             date_list;
3635     L_CREATED_BY                                number_list;
3636     L_LAST_UPDATE_LOGIN                         number_list;
3637     L_NUMBER_OF_DELINQUENCIES                   number_list;
3638     L_ACTIVE_DELINQUENCIES                      number_list;
3639     L_COMPLETE_DELINQUENCIES                    number_list;
3640     L_PENDING_DELINQUENCIES                     number_list;
3641     L_SCORE                                     number_list;
3642     L_ADDRESS1                                  varchar_240_list;
3643     L_CITY                                      varchar_60_list;
3644     L_STATE                                     varchar_60_list;
3645     L_COUNTY                                    varchar_60_list;
3646     L_COUNTRY                                   varchar_80_list;
3647     L_PROVINCE                                  varchar_60_list;
3648     L_POSTAL_CODE                               varchar_60_list;
3649     L_PHONE_COUNTRY_CODE                        varchar_10_list;
3650     L_PHONE_AREA_CODE                           varchar_10_list;
3651     L_PHONE_NUMBER                              varchar_40_list;
3652     L_PHONE_EXTENSION                           varchar_20_list;
3653     L_NUMBER_OF_BANKRUPTCIES                    number_list;
3654     L_NUMBER_OF_PROMISES                        number_list;
3655     L_BROKEN_PROMISE_AMOUNT                     number_list;
3656     L_PROMISE_AMOUNT                            number_list;
3657     L_ACTIVE_PROMISES                           number_list;
3658     L_COMPLETE_PROMISES                         number_list;
3659     L_PENDING_PROMISES                          number_list;
3660     L_WORK_ITEM_ID                              number_list;
3661     L_SCHEDULE_START                            date_list;
3662     L_SCHEDULE_END                              date_list;
3663     L_WORK_TYPE                                 varchar_30_list;
3664     L_CATEGORY_TYPE                             varchar_30_list;
3665     L_PRIORITY_TYPE                             varchar_30_list;
3666     L_JTF_OBJECT_ID                             number_list;
3667     l_wkitem_resource_id			number_list;
3668     l_strategy_id				number_list;
3669     l_strategy_template_id 			number_list;
3670     l_work_item_template_id 			number_list;
3671     l_status_code 				varchar_30_list;
3672     l_start_time 				date_list;
3673     l_end_time 					date_list;
3674     l_work_item_order 				number_list;
3675     l_escalated_yn                              varchar_10_list;  --Added for bug#6981126 by schekuri on 27-Jun-2008
3676 
3677     l_max_fetches                               NUMBER;
3678     l_total                                     NUMBER;
3679 
3680     cursor c_billto_del is
3681     select del.CUSTOMER_SITE_USE_ID,
3682     count(1) number_of_delinquencies,
3683     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
3684     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
3685     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies
3686     from iex_delinquencies_all del,
3687     iex_pop_uwq_summ_gt temp
3688     WHERE del.customer_site_use_id = temp.object_id  AND
3689     del.org_id = temp.org_id and
3690     del.status IN('DELINQUENT',    'PREDELINQUENT')
3691     group by del.CUSTOMER_SITE_USE_ID;
3692 
3693     cursor c_billto_pro is
3694     select del.CUSTOMER_SITE_USE_ID,
3695     max(decode(pd.uwq_status,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_promises,
3696     max(decode(pd.uwq_status,'COMPLETE',(decode(sign(TRUNC(pd.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_promises,
3697     max(decode(pd.uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_promises
3698     from iex_promise_details pd,
3699     IEX_DELINQUENCIES_ALL DEL,
3700     iex_pop_uwq_summ_gt temp
3701     WHERE pd.cust_account_id = del.cust_account_id
3702       and pd.delinquency_id = del.delinquency_id
3703       and del.customer_site_use_id = temp.object_id
3704       and del.org_id = temp.org_id
3705       and pd.state = 'BROKEN_PROMISE'
3706      group by del.CUSTOMER_SITE_USE_ID;
3707 
3708     cursor c_billto_pro_summ is
3709     SELECT del.customer_site_use_id,
3710     COUNT(1) number_of_promises,
3711     SUM(amount_due_remaining) broken_promise_amount,
3712     SUM(promise_amount) promise_amount
3713     FROM iex_promise_details pd,
3714          iex_delinquencies_all del,
3715          iex_pop_uwq_summ_gt temp
3716    WHERE pd.cust_account_id = del.cust_account_id
3717      AND pd.delinquency_id = del.delinquency_id
3718      AND pd.status IN('COLLECTABLE',   'PENDING')
3719      AND pd.state = 'BROKEN_PROMISE'
3720      AND pd.amount_due_remaining > 0
3721      AND (del.status NOT IN('CURRENT',   'CLOSE')
3722      or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
3723      and del.customer_site_use_id = temp.object_id
3724      and del.org_id = temp.org_id
3725    GROUP BY del.customer_site_use_id;
3726 
3727    cursor c_billto_score is
3728    SELECT sh.score_object_id, sh.score_value score
3729      FROM iex_score_histories sh,
3730           iex_pop_uwq_summ_gt temp
3731     WHERE sh.creation_date = (SELECT MAX(creation_date)
3732                                FROM iex_score_histories sh1
3733                               WHERE sh1.score_object_code = 'IEX_BILLTO'
3734                                 AND sh1.score_object_id = sh.score_object_id)
3735      -- AND rownum < 2
3736       AND sh.score_object_code = 'IEX_BILLTO'
3737       AND sh.score_object_id = temp.object_id;
3738 
3739    cursor c_billto_past_due is
3740    SELECT a.customer_site_use_id,
3741    SUM(b.acctd_amount_due_remaining) past_due_inv_value
3742    FROM iex_delinquencies_all a,
3743         ar_payment_schedules_all b,
3744         iex_pop_uwq_summ_gt temp
3745   WHERE a.customer_site_use_id = temp.object_id
3746     AND a.payment_schedule_id = b.payment_schedule_id
3747     AND b.status = 'OP'
3748     AND a.status IN('DELINQUENT',   'PREDELINQUENT')
3749     AND temp.org_id = a.org_id
3750    GROUP BY a.customer_site_use_id;
3751 
3752    cursor c_last_payment_no_amount is
3753    SELECT o_summ.site_use_id,
3754           o_summ.last_payment_number last_payment_number,
3755 	  iex_uwq_view_pkg.convert_amount(o_summ.last_payment_amount,o_summ.currency) last_payment_amount
3756    FROM ar_trx_bal_summary o_summ
3757    WHERE o_summ.site_use_id in (select object_id from iex_pop_uwq_summ_gt)
3758    AND o_summ.last_payment_date =  (SELECT MAX(last_payment_date)
3759                                     FROM ar_trx_bal_summary
3760                                     WHERE site_use_id = o_summ.site_use_id);
3761 
3762    cursor c_bankruptcies is
3763    select sua.site_use_id,
3764           COUNT(1) number_of_bankruptcies
3765    FROM iex_bankruptcies bkr,hz_cust_accounts ca,
3766         hz_cust_acct_sites cas,hz_cust_site_uses_all sua
3767    where sua.site_use_id in (select object_id from iex_pop_uwq_summ_gt)
3768          and bkr.party_id=ca.party_id
3769          and ca.cust_account_id=cas.cust_account_id
3770          and cas.cust_acct_site_id=sua.cust_acct_site_id
3771 	 and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')  -- Changed for bug#7693986
3772    group by sua.site_use_id;
3773 
3774    -- Bug #6251657 bibeura 25-OCT-2007
3775    cursor c_billto_del_dln is
3776     select del.customer_site_use_id,
3777     sum(decode(del.status,'DELINQUENT',1,'PREDELINQUENT',1,0)) number_of_delinquencies,
3778     sum(decode(del.status,'DELINQUENT',ps.acctd_amount_due_remaining,'PREDELINQUENT',ps.acctd_amount_due_remaining,0)) past_due_inv_value,
3779     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
3780     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
3781     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies,
3782     del.org_id org_id
3783     from iex_delinquencies del,
3784     ar_payment_schedules ps
3785     WHERE del.payment_schedule_id = ps.payment_schedule_id  AND
3786     del.org_id = ps.org_id and
3787     exists(select 1 from iex_delinquencies del1
3788 	    where del1.last_update_date>=trunc(sysdate)
3789 	      and del.customer_site_use_id=del1.customer_site_use_id
3790 	      and del.org_id=del1.org_id)
3791     group by del.customer_site_use_id, del.org_id;
3792 
3793 BEGIN
3794 
3795 	l_max_fetches := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '100000'));
3796 	if p_mode='DLN' then
3797 	        LogMessage(FND_LOG.LEVEL_STATEMENT,'Starting..');
3798 		-- Start Bug #6251657 bibeura 25-OCT-2007
3799 		BEGIN
3800 		        OPEN C_BILLTO_DEL_DLN;
3801 		        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_del_dln cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3802 	                L_SITE_USE_ID.delete;
3803 	        	L_NUMBER_OF_DELINQUENCIES.delete;
3804 	                L_PENDING_DELINQUENCIES.delete;
3805 	        	L_COMPLETE_DELINQUENCIES.delete;
3806 	                L_ACTIVE_DELINQUENCIES.delete;
3807 			L_PAST_DUE_INV_VALUE.delete;
3808 			L_ORG_ID.delete;
3809 
3810   	            LOOP
3811 	                FETCH C_BILLTO_DEL_DLN bulk collect
3812 	                INTO
3813 	                L_SITE_USE_ID,
3814 	                L_NUMBER_OF_DELINQUENCIES,
3815 			L_PAST_DUE_INV_VALUE,
3816             	        L_PENDING_DELINQUENCIES,
3817 	                L_COMPLETE_DELINQUENCIES,
3818                         L_ACTIVE_DELINQUENCIES,
3819 			L_ORG_ID
3820                         limit l_max_fetches;
3821 			FND_FILE.PUT_LINE(FND_FILE.LOG, 'fetched records '||L_SITE_USE_ID.COUNT) ;
3822 			IF L_SITE_USE_ID.COUNT = 0 THEN
3823 				LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_del_dln ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3824 	                        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
3825 		                EXIT;
3826 			ELSE
3827 
3828 	                   forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
3829 		             UPDATE IEX_DLN_UWQ_SUMMARY
3830 			     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
3831 			         PAST_DUE_INV_VALUE = L_PAST_DUE_INV_VALUE(i),
3832 	       			 ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
3833 				 COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
3834 				 PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
3835 			     WHERE
3836 			     SITE_USE_ID = L_SITE_USE_ID(i)
3837 			     AND ORG_ID=L_ORG_ID(i);
3838 		             LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_del_dln updated ' || L_COLLECTOR_ID.count ||  ' rows ');
3839 			     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
3840 	               END IF;
3841 	            END LOOP;
3842 	           IF C_BILLTO_DEL_DLN % ISOPEN THEN
3843 		       CLOSE C_BILLTO_DEL_DLN;
3844                    END IF;
3845 
3846 	        EXCEPTION WHEN OTHERS THEN
3847 	         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
3848 	        END;
3849                 -- End Bug #6251657 bibeura 25-OCT-2007
3850 		insert into iex_pop_uwq_summ_gt(object_id,object_type,org_id)
3851 		select customer_site_use_id,'IEX_BILLTO',org_id from iex_delinquencies del
3852 		where status in ('DELINQUENT','PRE-DELINQUENT')
3853 		and not exists(select 1 from IEX_DLN_UWQ_SUMMARY dus where dus.site_use_id=del.customer_site_use_id and
3854 			       dus.org_id=del.org_id)
3855 		group by customer_site_use_id,org_id;
3856 		if sql%rowcount<=0 then
3857 			return;
3858 		end if;
3859 	else
3860 		NULL;
3861 	end if;
3862 
3863          open c_iex_billto_uwq_summary;
3864          loop
3865 	 l_count := l_count +1;
3866         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
3867         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
3868 
3869         L_ORG_ID.delete;
3870         L_COLLECTOR_ID.delete;
3871         L_COLLECTOR_RESOURCE_ID.delete;
3872         L_COLLECTOR_RES_TYPE.delete;
3873         L_IEU_OBJECT_FUNCTION.delete;
3874         L_IEU_OBJECT_PARAMETERS.delete;
3875         L_IEU_MEDIA_TYPE_UUID.delete;
3876         L_IEU_PARAM_PK_COL.delete;
3877         L_IEU_PARAM_PK_VALUE.delete;
3878         L_RESOURCE_ID.delete;
3879         L_RESOURCE_TYPE.delete;
3880         L_PARTY_ID.delete;
3881         L_PARTY_NAME.delete;
3882         L_CUST_ACCOUNT_ID.delete;
3883         L_ACCOUNT_NAME.delete;
3884         L_ACCOUNT_NUMBER.delete;
3885         L_SITE_USE_ID.delete;
3886         L_LOCATION.delete;
3887         L_CURRENCY.delete;
3888         L_OP_INVOICES_COUNT.delete;
3889         L_OP_DEBIT_MEMOS_COUNT.delete;
3890         L_OP_DEPOSITS_COUNT.delete;
3891         L_OP_BILLS_RECEIVABLES_COUNT.delete;
3892         L_OP_CHARGEBACK_COUNT.delete;
3893         L_OP_CREDIT_MEMOS_COUNT.delete;
3894         L_UNRESOLVED_CASH_COUNT.delete;
3895         L_DISPUTED_INV_COUNT.delete;
3896         L_BEST_CURRENT_RECEIVABLES.delete;
3897         L_OP_INVOICES_VALUE.delete;
3898         L_OP_DEBIT_MEMOS_VALUE.delete;
3899         L_OP_DEPOSITS_VALUE.delete;
3900         L_OP_BILLS_RECEIVABLES_VALUE.delete;
3901         L_OP_CHARGEBACK_VALUE.delete;
3902         L_OP_CREDIT_MEMOS_VALUE.delete;
3903         L_UNRESOLVED_CASH_VALUE.delete;
3904         L_RECEIPTS_AT_RISK_VALUE.delete;
3905         L_INV_AMT_IN_DISPUTE.delete;
3906         L_PENDING_ADJ_VALUE.delete;
3907         L_PAST_DUE_INV_VALUE.delete;
3908         L_PAST_DUE_INV_INST_COUNT.delete;
3909         L_LAST_PAYMENT_DATE.delete;
3910         L_LAST_PAYMENT_AMOUNT.delete;
3911         L_LAST_PAYMENT_AMOUNT_CURR.delete;
3912         L_LAST_PAYMENT_NUMBER.delete;
3913         L_LAST_UPDATE_DATE.delete;
3914         L_LAST_UPDATED_BY.delete;
3915         L_CREATION_DATE.delete;
3916         L_CREATED_BY.delete;
3917         L_LAST_UPDATE_LOGIN.delete;
3918         L_NUMBER_OF_DELINQUENCIES.delete;
3919         L_ACTIVE_DELINQUENCIES.delete;
3920         L_COMPLETE_DELINQUENCIES.delete;
3921         L_PENDING_DELINQUENCIES.delete;
3922         L_SCORE.delete;
3923         L_ADDRESS1.delete;
3924         L_CITY.delete;
3925         L_STATE.delete;
3926         L_COUNTY.delete;
3927         L_COUNTRY.delete;
3928         L_PROVINCE.delete;
3929         L_POSTAL_CODE.delete;
3930         L_PHONE_COUNTRY_CODE.delete;
3931         L_PHONE_AREA_CODE.delete;
3932         L_PHONE_NUMBER.delete;
3933         L_PHONE_EXTENSION.delete;
3934         L_NUMBER_OF_BANKRUPTCIES.delete;
3935         L_NUMBER_OF_PROMISES.delete;
3936         L_BROKEN_PROMISE_AMOUNT.delete;
3937         L_PROMISE_AMOUNT.delete;
3938         L_ACTIVE_PROMISES.delete;
3939         L_COMPLETE_PROMISES.delete;
3940         L_PENDING_PROMISES.delete;
3941          LogMessage(FND_LOG.LEVEL_STATEMENT,'Start fetching records...');
3942 	 FETCH c_iex_billto_uwq_summary bulk collect
3943                 INTO
3944                     L_ORG_ID,
3945                     L_IEU_OBJECT_FUNCTION,
3946                     L_IEU_OBJECT_PARAMETERS,
3947                     L_IEU_MEDIA_TYPE_UUID,
3948                     L_IEU_PARAM_PK_COL,
3949                     L_IEU_PARAM_PK_VALUE,
3950                     L_RESOURCE_ID,
3951                     L_RESOURCE_TYPE,
3952                     L_PARTY_ID,
3953                     L_PARTY_NAME,
3954                     L_CUST_ACCOUNT_ID,
3955                     L_ACCOUNT_NAME,
3956                     L_ACCOUNT_NUMBER,
3957                     L_SITE_USE_ID,
3958                     L_LOCATION,
3959                     L_CURRENCY,
3960                     L_OP_INVOICES_COUNT,
3961                     L_OP_DEBIT_MEMOS_COUNT,
3962                     L_OP_DEPOSITS_COUNT,
3963                     L_OP_BILLS_RECEIVABLES_COUNT,
3964                     L_OP_CHARGEBACK_COUNT,
3965                     L_OP_CREDIT_MEMOS_COUNT,
3966                     L_UNRESOLVED_CASH_COUNT,
3967                     L_DISPUTED_INV_COUNT,
3968                     L_BEST_CURRENT_RECEIVABLES,
3969                     L_OP_INVOICES_VALUE,
3970                     L_OP_DEBIT_MEMOS_VALUE,
3971                     L_OP_DEPOSITS_VALUE,
3972                     L_OP_BILLS_RECEIVABLES_VALUE,
3973                     L_OP_CHARGEBACK_VALUE,
3974                     L_OP_CREDIT_MEMOS_VALUE,
3975                     L_UNRESOLVED_CASH_VALUE,
3976                     L_RECEIPTS_AT_RISK_VALUE,
3977                     L_INV_AMT_IN_DISPUTE,
3978                     L_PENDING_ADJ_VALUE,
3979                     L_PAST_DUE_INV_INST_COUNT,
3980                     L_LAST_PAYMENT_DATE,
3981                     L_LAST_PAYMENT_AMOUNT_CURR,
3982                     L_LAST_UPDATE_DATE,
3983                     L_LAST_UPDATED_BY,
3984                     L_CREATION_DATE,
3985                     L_CREATED_BY,
3986                     L_LAST_UPDATE_LOGIN,
3987                     L_ADDRESS1,
3988                     L_CITY,
3989                     L_STATE,
3990                     L_COUNTY,
3991                     L_COUNTRY,
3992                     L_PROVINCE,
3993                     L_POSTAL_CODE
3994                 limit l_max_fetches;
3995 
3996 		IF L_IEU_OBJECT_FUNCTION.COUNT = 0 THEN
3997 
3998           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
3999           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4000           EXIT;
4001 
4002         ELSE
4003 
4004           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4005           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows.');
4006           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inserting...');
4007           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4008           LogMessage(FND_LOG.LEVEL_STATEMENT,'inserting records..');
4009           forall i IN L_IEU_OBJECT_FUNCTION.FIRST .. L_IEU_OBJECT_FUNCTION.LAST
4010             INSERT INTO IEX_DLN_UWQ_SUMMARY
4011                 (DLN_UWQ_SUMMARY_ID
4012                 ,ORG_ID
4013                 ,IEU_OBJECT_FUNCTION
4014                 ,IEU_OBJECT_PARAMETERS
4015                 ,IEU_MEDIA_TYPE_UUID
4016                 ,IEU_PARAM_PK_COL
4017                 ,IEU_PARAM_PK_VALUE
4018                 ,RESOURCE_ID
4019                 ,RESOURCE_TYPE
4020                 ,PARTY_ID
4021                 ,PARTY_NAME
4022                 ,CUST_ACCOUNT_ID
4023                 ,ACCOUNT_NAME
4024                 ,ACCOUNT_NUMBER
4025                 ,SITE_USE_ID
4026                 ,LOCATION
4027                 ,CURRENCY
4028                 ,OP_INVOICES_COUNT
4029                 ,OP_DEBIT_MEMOS_COUNT
4030                 ,OP_DEPOSITS_COUNT
4031                 ,OP_BILLS_RECEIVABLES_COUNT
4032                 ,OP_CHARGEBACK_COUNT
4033                 ,OP_CREDIT_MEMOS_COUNT
4034                 ,UNRESOLVED_CASH_COUNT
4035                 ,DISPUTED_INV_COUNT
4036                 ,BEST_CURRENT_RECEIVABLES
4037                 ,OP_INVOICES_VALUE
4038                 ,OP_DEBIT_MEMOS_VALUE
4039                 ,OP_DEPOSITS_VALUE
4040                 ,OP_BILLS_RECEIVABLES_VALUE
4041                 ,OP_CHARGEBACK_VALUE
4042                 ,OP_CREDIT_MEMOS_VALUE
4043                 ,UNRESOLVED_CASH_VALUE
4044                 ,RECEIPTS_AT_RISK_VALUE
4045                 ,INV_AMT_IN_DISPUTE
4046                 ,PENDING_ADJ_VALUE
4047                 ,PAST_DUE_INV_INST_COUNT
4048                 ,LAST_PAYMENT_DATE
4049                 ,LAST_PAYMENT_AMOUNT_CURR
4050                 ,LAST_UPDATE_DATE
4051                 ,LAST_UPDATED_BY
4052                 ,CREATION_DATE
4053                 ,CREATED_BY
4054                 ,LAST_UPDATE_LOGIN
4055                 ,ADDRESS1
4056                 ,CITY
4057                 ,STATE
4058                 ,COUNTY
4059                 ,COUNTRY
4060                 ,PROVINCE
4061                 ,POSTAL_CODE
4062 		,NUMBER_OF_DELINQUENCIES
4063 		,NUMBER_OF_PROMISES
4064 		,NUMBER_OF_BANKRUPTCIES)
4065             VALUES
4066                 (IEX_DLN_UWQ_SUMMARY_S.nextval,
4067                 L_ORG_ID(i),
4068                 L_IEU_OBJECT_FUNCTION(i),
4069                 L_IEU_OBJECT_PARAMETERS(i),
4070                 L_IEU_MEDIA_TYPE_UUID(i),
4071                 L_IEU_PARAM_PK_COL(i),
4072                 L_IEU_PARAM_PK_VALUE(i),
4073                 L_RESOURCE_ID(i),
4074                 L_RESOURCE_TYPE(i),
4075                 L_PARTY_ID(i),
4076                 L_PARTY_NAME(i),
4077                 L_CUST_ACCOUNT_ID(i),
4078                 L_ACCOUNT_NAME(i),
4079                 L_ACCOUNT_NUMBER(i),
4080                 L_SITE_USE_ID(i),
4081                 L_LOCATION(i),
4082                 L_CURRENCY(i),
4083                 L_OP_INVOICES_COUNT(i),
4084                 L_OP_DEBIT_MEMOS_COUNT(i),
4085                 L_OP_DEPOSITS_COUNT(i),
4086                 L_OP_BILLS_RECEIVABLES_COUNT(i),
4087                 L_OP_CHARGEBACK_COUNT(i),
4088                 L_OP_CREDIT_MEMOS_COUNT(i),
4089                 L_UNRESOLVED_CASH_COUNT(i),
4090                 L_DISPUTED_INV_COUNT(i),
4091                 L_BEST_CURRENT_RECEIVABLES(i),
4092                 L_OP_INVOICES_VALUE(i),
4093                 L_OP_DEBIT_MEMOS_VALUE(i),
4094                 L_OP_DEPOSITS_VALUE(i),
4095                 L_OP_BILLS_RECEIVABLES_VALUE(i),
4096                 L_OP_CHARGEBACK_VALUE(i),
4097                 L_OP_CREDIT_MEMOS_VALUE(i),
4098                 L_UNRESOLVED_CASH_VALUE(i),
4099                 L_RECEIPTS_AT_RISK_VALUE(i),
4100                 L_INV_AMT_IN_DISPUTE(i),
4101                 L_PENDING_ADJ_VALUE(i),
4102                 L_PAST_DUE_INV_INST_COUNT(i),
4103                 L_LAST_PAYMENT_DATE(i),
4104                 L_LAST_PAYMENT_AMOUNT_CURR(i),
4105                 sysdate,
4106                 FND_GLOBAL.USER_ID,
4107                 sysdate,
4108                 FND_GLOBAL.USER_ID,
4109                 FND_GLOBAL.CONC_LOGIN_ID,
4110                 L_ADDRESS1(i),
4111                 L_CITY(i),
4112                 L_STATE(i),
4113                 L_COUNTY(i),
4114                 L_COUNTRY(i),
4115                 L_PROVINCE(i),
4116                 L_POSTAL_CODE(i),
4117 		0,
4118 		0,
4119 		0);
4120 
4121           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4122           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Inserted ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows');
4123 
4124           l_total := l_total + L_IEU_OBJECT_FUNCTION.COUNT;
4125           LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
4126 
4127         END IF;
4128 
4129       END LOOP;
4130       close c_iex_billto_uwq_summary;
4131 
4132       OPEN c_strategy_summary;
4133       LOOP
4134           l_count := l_count +1;
4135           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
4136           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
4137 
4138           L_JTF_OBJECT_ID.delete;
4139           L_WORK_ITEM_ID.delete;
4140           L_SCHEDULE_START.delete;
4141           L_SCHEDULE_END.delete;
4142           L_WORK_TYPE.delete;
4143           L_CATEGORY_TYPE.delete;
4144           L_PRIORITY_TYPE.delete;
4145 	  L_wkitem_RESOURCE_ID.delete;
4146           L_STRATEGY_ID.delete;
4147 	  L_STRATEGY_TEMPLATE_ID.delete;
4148 	  L_WORK_ITEM_TEMPLATE_ID.delete;
4149 	  L_STATUS_CODE.delete;
4150 	  L_START_TIME.delete;
4151 	  L_END_TIME.delete;
4152 	  L_WORK_ITEM_ORDER.delete;
4153 	  L_ESCALATED_YN.delete;   --Added for bug#6981126 by schekuri on 27-Jun-2008
4154 
4155           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inited all arrays');
4156 
4157           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4158           FETCH c_strategy_summary bulk collect
4159           INTO
4160             L_JTF_OBJECT_ID,
4161             L_WORK_ITEM_ID,
4162             L_SCHEDULE_START,
4163             L_SCHEDULE_END,
4164             L_CATEGORY_TYPE,
4165 	    L_WORK_TYPE,
4166             L_PRIORITY_TYPE,
4167 	    L_WKITEM_RESOURCE_ID,
4168 	    L_STRATEGY_ID,
4169 	    L_STRATEGY_TEMPLATE_ID,
4170 	    L_WORK_ITEM_TEMPLATE_ID,
4171 	    L_STATUS_CODE,
4172 	    L_START_TIME,
4173 	    L_END_TIME,
4174 	    L_WORK_ITEM_ORDER,
4175 	    L_ESCALATED_YN  --Added for bug#6981126 by schekuri on 27-Jun-2008
4176           limit l_max_fetches;
4177 
4178 	  LogMessage(FND_LOG.LEVEL_STATEMENT,L_JTF_OBJECT_ID.COUNT);
4179 
4180           IF L_JTF_OBJECT_ID.COUNT = 0 THEN
4181 
4182             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4183             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4184             CLOSE c_strategy_summary;
4185             EXIT;
4186 
4187           ELSE
4188 
4189             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4190             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_JTF_OBJECT_ID.COUNT || ' rows.');
4191             LogMessage(FND_LOG.LEVEL_STATEMENT,' Updating table...');
4192             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4193 
4194                forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
4195                    UPDATE IEX_DLN_UWQ_SUMMARY
4196                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
4197                     SCHEDULE_START = L_SCHEDULE_START(i),
4198                     SCHEDULE_END = L_SCHEDULE_END(i),
4199                     WORK_TYPE = L_WORK_TYPE(i),
4200                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
4201                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
4202 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),
4203   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
4204 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
4205 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
4206 	            STATUS_CODE = L_STATUS_CODE(i),
4207 	            START_TIME = L_START_TIME(i),
4208 	            END_TIME = L_END_TIME(i),
4209 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
4210 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
4211                  WHERE SITE_USE_ID = L_JTF_OBJECT_ID(i);
4212 
4213 
4214             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Updated ' || L_JTF_OBJECT_ID.COUNT || ' rows');
4215             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4216 
4217             l_total := l_total + L_JTF_OBJECT_ID.COUNT;
4218             LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
4219 
4220           END IF;
4221 
4222       END LOOP;
4223 
4224       IF c_strategy_summary % ISOPEN THEN
4225         CLOSE c_strategy_summary;
4226       END IF;
4227 
4228       BEGIN
4229       OPEN C_COLLECTOR_PROF;
4230        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open C_COLLECTOR_PROF cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4231         L_COLLECTOR_RESOURCE_ID.delete  ;
4232 	L_COLLECTOR_ID.delete;
4233 	L_RESOURCE_TYPE.delete;
4234 	L_PARTY_ID.delete;
4235 	L_CUST_ACCOUNT_ID.delete;
4236 	L_SITE_USE_ID.delete;
4237 
4238       LOOP
4239         FETCH C_COLLECTOR_PROF bulk collect
4240           INTO
4241 	    L_COLLECTOR_ID,
4242   	    L_COLLECTOR_RESOURCE_ID,
4243 	    L_RESOURCE_TYPE,
4244 	    L_PARTY_ID,
4245             L_CUST_ACCOUNT_ID,
4246 	    L_SITE_USE_ID
4247           limit l_max_fetches;
4248       IF L_COLLECTOR_RESOURCE_ID.COUNT = 0 THEN
4249 
4250           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: C_COLLECTOR_PROF ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4251           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4252           EXIT;
4253 
4254        ELSE
4255 
4256         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4257                    UPDATE IEX_DLN_UWQ_SUMMARY
4258                     SET COLLECTOR_RESOURCE_ID = L_COLLECTOR_RESOURCE_ID(i),
4259 		        COLLECTOR_RES_TYPE    = L_RESOURCE_TYPE(i),
4260 			collector_id = l_collector_id(i),
4261 			last_update_date   = SYSDATE,
4262 		        last_updated_by    = FND_GLOBAL.USER_ID
4263                    WHERE
4264 		    SITE_USE_ID = L_SITE_USE_ID(i);
4265          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' C_COLLECTOR_PROF updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4266          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4267 
4268 
4269       END IF;
4270       END LOOP;
4271        IF C_COLLECTOR_PROF % ISOPEN THEN
4272         CLOSE C_COLLECTOR_PROF;
4273        END IF;
4274 
4275        EXCEPTION WHEN OTHERS THEN
4276          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'C_COLLECTOR_PROF update received' || SQLERRM);
4277        END;
4278 
4279      BEGIN
4280        OPEN c_contact_point;
4281        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Opened Cursor  c_contact_point  cursor at time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4282         L_PARTY_ID.delete;
4283         L_PHONE_COUNTRY_CODE.delete;
4284         L_PHONE_AREA_CODE.delete;
4285         L_PHONE_NUMBER.delete;
4286         L_PHONE_EXTENSION.delete;
4287 
4288 
4289       LOOP
4290 	 FETCH c_contact_point bulk collect
4291           INTO
4292 	   L_PARTY_ID,
4293 	   L_PHONE_COUNTRY_CODE,
4294 	   L_PHONE_AREA_CODE,
4295 	   L_PHONE_NUMBER,
4296 	   L_PHONE_EXTENSION
4297 
4298           limit l_max_fetches;
4299       IF L_PARTY_ID.COUNT = 0 THEN
4300 
4301           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'c_contact_point  Cursor Fetching end time:   ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4302           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4303           EXIT;
4304 
4305         ELSE
4306 
4307         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
4308 
4309                    UPDATE IEX_DLN_UWQ_SUMMARY
4310                    SET PHONE_COUNTRY_CODE = L_PHONE_COUNTRY_CODE(i),
4311 		       PHONE_AREA_CODE    = L_PHONE_AREA_CODE(i),
4312 		       PHONE_NUMBER       = L_PHONE_NUMBER(i),
4313 		       PHONE_EXTENSION    = L_PHONE_EXTENSION(i),
4314 		       last_update_date   = SYSDATE,
4315 		       last_updated_by    = FND_GLOBAL.USER_ID
4316                  WHERE PARTY_ID = L_PARTY_ID(i);
4317          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_contact_point Cursor updated ' ||L_PARTY_ID.count || ' rows ');
4318          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4319 
4320 
4321       END IF;
4322       END LOOP;
4323         CLOSE c_contact_point;
4324 
4325 
4326       EXCEPTION WHEN OTHERS THEN
4327        LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Contact point raised error ' || SQLERRM);
4328       END;
4329 -- gnramasa
4330       BEGIN
4331       OPEN C_BILLTO_DEL;
4332        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_del cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4333         L_SITE_USE_ID.delete;
4334 	L_NUMBER_OF_DELINQUENCIES.delete;
4335         L_PENDING_DELINQUENCIES.delete;
4336 	L_COMPLETE_DELINQUENCIES.delete;
4337         L_ACTIVE_DELINQUENCIES.delete;
4338 
4339       LOOP
4340         FETCH C_BILLTO_DEL bulk collect
4341           INTO
4342 	    L_SITE_USE_ID,
4343   	    L_NUMBER_OF_DELINQUENCIES,
4344 	    L_PENDING_DELINQUENCIES,
4345 	    L_COMPLETE_DELINQUENCIES,
4346             L_ACTIVE_DELINQUENCIES
4347           limit l_max_fetches;
4348       IF L_SITE_USE_ID.COUNT = 0 THEN
4349 
4350           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_del ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4351           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4352           EXIT;
4353 
4354        ELSE
4355 
4356         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4357                    UPDATE IEX_DLN_UWQ_SUMMARY
4358                     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
4359 		        ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
4360 			COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
4361 			PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
4362                    WHERE
4363 		    SITE_USE_ID = L_SITE_USE_ID(i);
4364          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_del updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4365          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4366 
4367 
4368       END IF;
4369       END LOOP;
4370        IF C_BILLTO_DEL % ISOPEN THEN
4371         CLOSE C_BILLTO_DEL;
4372        END IF;
4373 
4374        EXCEPTION WHEN OTHERS THEN
4375          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
4376        END;
4377 
4378       BEGIN
4379       OPEN C_BILLTO_PRO;
4380        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_pro cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4381         L_SITE_USE_ID.delete;
4382 	L_ACTIVE_PROMISES.delete;
4383         L_COMPLETE_PROMISES.delete;
4384         L_PENDING_PROMISES.delete;
4385 
4386       LOOP
4387         FETCH C_BILLTO_PRO bulk collect
4388           INTO
4389 	    L_SITE_USE_ID,
4390   	    L_PENDING_PROMISES,
4391 	    L_COMPLETE_PROMISES,
4392 	    L_ACTIVE_PROMISES
4393           limit l_max_fetches;
4394       IF L_SITE_USE_ID.COUNT = 0 THEN
4395 
4396           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_pro ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4397           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4398           EXIT;
4399 
4400        ELSE
4401 
4402         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4403                    UPDATE IEX_DLN_UWQ_SUMMARY
4404                     SET ACTIVE_PROMISES    = L_ACTIVE_PROMISES(i),
4405 			COMPLETE_PROMISES  = L_COMPLETE_PROMISES(i),
4406 			PENDING_PROMISES   = L_PENDING_PROMISES(i)
4407                    WHERE
4408 		    SITE_USE_ID = L_SITE_USE_ID(i);
4409          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_pro updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4410          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4411 
4412 
4413       END IF;
4414       END LOOP;
4415        IF C_BILLTO_PRO % ISOPEN THEN
4416         CLOSE C_BILLTO_PRO;
4417        END IF;
4418 
4419        EXCEPTION WHEN OTHERS THEN
4420          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Promise update received' || SQLERRM);
4421        END;
4422 
4423       BEGIN
4424       OPEN C_BILLTO_PRO_SUMM;
4425        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_pro_summ cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4426         L_SITE_USE_ID.delete;
4427 	L_NUMBER_OF_PROMISES.delete;
4428         L_BROKEN_PROMISE_AMOUNT .delete;
4429         L_PROMISE_AMOUNT.delete;
4430 
4431       LOOP
4432         FETCH C_BILLTO_PRO_SUMM bulk collect
4433           INTO
4434 	    L_SITE_USE_ID,
4435   	    L_NUMBER_OF_PROMISES,
4436 	    L_BROKEN_PROMISE_AMOUNT,
4437 	    L_PROMISE_AMOUNT
4438           limit l_max_fetches;
4439       IF L_SITE_USE_ID.COUNT = 0 THEN
4440 
4441           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_pro_summ ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4442           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4443           EXIT;
4444 
4445        ELSE
4446 
4447         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4448                    UPDATE IEX_DLN_UWQ_SUMMARY
4449                     SET NUMBER_OF_PROMISES     = L_NUMBER_OF_PROMISES(i),
4450 			BROKEN_PROMISE_AMOUNT  = L_BROKEN_PROMISE_AMOUNT(i),
4451 			PROMISE_AMOUNT         = L_PROMISE_AMOUNT(i)
4452                    WHERE
4453 		    SITE_USE_ID = L_SITE_USE_ID(i);
4454          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_pro_summ updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4455          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4456 
4457 
4458       END IF;
4459       END LOOP;
4460        IF C_BILLTO_PRO_SUMM % ISOPEN THEN
4461         CLOSE C_BILLTO_PRO_SUMM;
4462        END IF;
4463 
4464        EXCEPTION WHEN OTHERS THEN
4465          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Broken Promise update received' || SQLERRM);
4466        END;
4467 
4468       BEGIN
4469       OPEN C_BILLTO_SCORE;
4470        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_score cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4471         L_SITE_USE_ID.delete;
4472 	L_SCORE.delete;
4473 
4474       LOOP
4475         FETCH C_BILLTO_SCORE bulk collect
4476           INTO
4477 	    L_SITE_USE_ID,
4478   	    L_SCORE
4479           limit l_max_fetches;
4480       IF L_SITE_USE_ID.COUNT = 0 THEN
4481 
4482           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_score ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4483           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4484           EXIT;
4485 
4486        ELSE
4487 
4488         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4489                    UPDATE IEX_DLN_UWQ_SUMMARY
4490                     SET SCORE     = L_SCORE(i)
4491                    WHERE
4492 		    SITE_USE_ID = L_SITE_USE_ID(i);
4493          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_score updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4494          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4495 
4496 
4497       END IF;
4498       END LOOP;
4499        IF C_BILLTO_SCORE % ISOPEN THEN
4500         CLOSE C_BILLTO_SCORE;
4501        END IF;
4502 
4503        EXCEPTION WHEN OTHERS THEN
4504          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Score update received' || SQLERRM);
4505        END;
4506 
4507       BEGIN
4508       OPEN C_BILLTO_PAST_DUE;
4509        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_billto_past_due cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4510         L_SITE_USE_ID.delete;
4511 	L_PAST_DUE_INV_VALUE.delete;
4512 
4513       LOOP
4514         FETCH C_BILLTO_PAST_DUE bulk collect
4515           INTO
4516 	    L_SITE_USE_ID,
4517   	    L_PAST_DUE_INV_VALUE
4518           limit l_max_fetches;
4519       IF L_SITE_USE_ID.COUNT = 0 THEN
4520 
4521           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_billto_past_due ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4522           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4523           EXIT;
4524 
4525        ELSE
4526 
4527         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4528                    UPDATE IEX_DLN_UWQ_SUMMARY
4529                     SET PAST_DUE_INV_VALUE     = L_PAST_DUE_INV_VALUE(i)
4530                    WHERE
4531 		    SITE_USE_ID = L_SITE_USE_ID(i);
4532          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_billto_past_due updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4533          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4534 
4535 
4536       END IF;
4537       END LOOP;
4538        IF C_BILLTO_PAST_DUE % ISOPEN THEN
4539         CLOSE C_BILLTO_PAST_DUE;
4540        END IF;
4541 
4542        EXCEPTION WHEN OTHERS THEN
4543          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Past due invoice update received' || SQLERRM);
4544        END;
4545 
4546       BEGIN
4547       OPEN C_LAST_PAYMENT_NO_AMOUNT;
4548        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_last_payment_no_amount cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4549         L_SITE_USE_ID.delete;
4550         L_LAST_PAYMENT_NUMBER.delete;
4551 	L_LAST_PAYMENT_AMOUNT.delete;
4552 
4553       LOOP
4554         FETCH C_LAST_PAYMENT_NO_AMOUNT bulk collect
4555           INTO
4556 	    L_SITE_USE_ID,
4557   	    L_LAST_PAYMENT_NUMBER,
4558 	    L_LAST_PAYMENT_AMOUNT
4559           limit l_max_fetches;
4560       IF L_SITE_USE_ID.COUNT = 0 THEN
4561 
4562           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_last_payment_no_amount ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4563           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4564           EXIT;
4565 
4566        ELSE
4567 
4568         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4569                    UPDATE IEX_DLN_UWQ_SUMMARY
4570                     SET LAST_PAYMENT_NUMBER     = L_LAST_PAYMENT_NUMBER(i),
4571 		        LAST_PAYMENT_AMOUNT     = L_LAST_PAYMENT_AMOUNT(i)
4572                    WHERE
4573 		    SITE_USE_ID = L_SITE_USE_ID(i);
4574          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_last_payment_no_amount updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4575          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4576 
4577 
4578       END IF;
4579       END LOOP;
4580        IF C_LAST_PAYMENT_NO_AMOUNT % ISOPEN THEN
4581         CLOSE C_LAST_PAYMENT_NO_AMOUNT;
4582        END IF;
4583 
4584        EXCEPTION WHEN OTHERS THEN
4585          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
4586        END;
4587 
4588       BEGIN
4589       OPEN C_BANKRUPTCIES;
4590        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_bankruptcies cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4591         L_SITE_USE_ID.delete;
4592         L_NUMBER_OF_BANKRUPTCIES.delete;
4593 
4594       LOOP
4595         FETCH C_BANKRUPTCIES bulk collect
4596           INTO
4597 	    L_SITE_USE_ID,
4598   	    L_NUMBER_OF_BANKRUPTCIES
4599           limit l_max_fetches;
4600       IF L_SITE_USE_ID.COUNT = 0 THEN
4601 
4602           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_bankruptcies ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
4603           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
4604           EXIT;
4605 
4606        ELSE
4607 
4608         forall i IN L_SITE_USE_ID.FIRST .. L_SITE_USE_ID.LAST
4609                    UPDATE IEX_DLN_UWQ_SUMMARY
4610                     SET NUMBER_OF_BANKRUPTCIES     = L_NUMBER_OF_BANKRUPTCIES(i)
4611                    WHERE
4612 		    SITE_USE_ID = L_SITE_USE_ID(i);
4613          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_bankruptcies updated ' || L_COLLECTOR_ID.count ||  ' rows ');
4614          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
4615 
4616 
4617       END IF;
4618       END LOOP;
4619        IF C_BANKRUPTCIES % ISOPEN THEN
4620         CLOSE C_BANKRUPTCIES;
4621        END IF;
4622 
4623        EXCEPTION WHEN OTHERS THEN
4624          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
4625        END;
4626 COMMIT;
4627 LogMessage(FND_LOG.LEVEL_STATEMENT,'Commited');
4628 
4629 EXCEPTION
4630 WHEN OTHERS THEN
4631 LogMessage(FND_LOG.LEVEL_STATEMENT,sqlerrm);
4632 END BILLTO_REFRESH_SUMMARY_INCR;
4633 
4634 PROCEDURE account_refresh_summary_incr(
4635                     x_errbuf            OUT nocopy VARCHAR2,
4636                     x_retcode           OUT nocopy VARCHAR2,
4637                     FROM_DATE           IN  VARCHAR2,
4638  	            P_MODE              IN  VARCHAR2 DEFAULT 'CP') is
4639 l_count number;
4640 
4641 CURSOR c_iex_account_uwq_summary IS
4642     SELECT
4643     trx_summ.org_id,
4644     objb.object_function ieu_object_function,
4645     objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
4646     '' ieu_media_type_uuid,
4647     'CUST_ACCOUNT_ID' ieu_param_pk_col,
4648     to_char(trx_summ.cust_account_id) ieu_param_pk_value,
4649     1 resource_id,
4650     'RS_EMPLOYEE' resource_type,
4651     party.party_id party_id,
4652     party.party_name party_name,
4653     trx_summ.cust_account_id cust_account_id,
4654     acc.account_name account_name,
4655     acc.account_number account_number,
4656     to_number(null) site_use_id,
4657     null location,
4658     max(gl.CURRENCY_CODE) currency,
4659     SUM(trx_summ.op_invoices_count) op_invoices_count,
4660     SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
4661     SUM(trx_summ.op_deposits_count) op_deposits_count,
4662     SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
4663     SUM(trx_summ.op_chargeback_count) op_chargeback_count,
4664     SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
4665     SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
4666     SUM(trx_summ.disputed_inv_count) disputed_inv_count,
4667     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.best_current_receivables,
4668      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4669      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.best_current_receivables))) best_current_receivables,
4670     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_invoices_value,
4671      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4672      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_invoices_value))) op_invoices_value,
4673     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_debit_memos_value,
4674      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4675      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_debit_memos_value))) op_debit_memos_value,
4676     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_deposits_value,
4677      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4678      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_deposits_value))) op_deposits_value,
4679     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_bills_receivables_value,
4680      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4681      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
4682     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_chargeback_value,
4683      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4684      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_chargeback_value))) op_chargeback_value,
4685     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.op_credit_memos_value,
4686      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4687      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.op_credit_memos_value))) op_credit_memos_value,
4688     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.unresolved_cash_value,
4689      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4690      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.unresolved_cash_value))) unresolved_cash_value,
4691     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.receipts_at_risk_value,
4692      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4693      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
4694     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.inv_amt_in_dispute,
4695      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4696      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
4697     SUM(decode(trx_summ.currency,   gl.CURRENCY_CODE,   trx_summ.pending_adj_value,
4698      gl_currency_api.convert_amount_sql(trx_summ.currency,   gl.CURRENCY_CODE,   sysdate,
4699      iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',   ''),   trx_summ.pending_adj_value))) pending_adj_value,
4700     SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
4701     MAX(trx_summ.last_payment_date) last_payment_date,
4702     max(gl.CURRENCY_CODE) last_payment_amount_curr,
4703     MAX(trx_summ.last_update_date) last_update_date,
4704     MAX(trx_summ.last_updated_by) last_updated_by,
4705     MAX(trx_summ.creation_date) creation_date,
4706     MAX(trx_summ.created_by) created_by,
4707     MAX(trx_summ.last_update_login) last_update_login,
4708     party.address1 address1,
4709     party.city city,
4710     party.state state,
4711     party.county county,
4712     fnd_terr.territory_short_name country,
4713     party.province province,
4714     party.postal_code postal_code
4715     FROM ar_trx_bal_summary trx_summ,
4716     hz_cust_accounts acc,
4717     hz_parties party,
4718     jtf_objects_b objb,
4719     fnd_territories_tl fnd_terr,
4720     GL_SETS_OF_BOOKS gl,
4721     AR_SYSTEM_PARAMETERS_all sys
4722     WHERE
4723      trx_summ.reference_1 = '1'
4724      AND trx_summ.cust_account_id = acc.cust_account_id
4725      AND acc.party_id = party.party_id
4726      AND objb.object_code = 'IEX_ACCOUNT'
4727      AND party.country = fnd_terr.territory_code(+)
4728      AND fnd_terr.LANGUAGE(+) = userenv('LANG')
4729      and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
4730      and trx_summ.org_id = sys.org_id
4731      and trx_summ.cust_account_id in (select temp.object_id from iex_pop_uwq_summ_gt temp where
4732        temp.org_id=trx_summ.org_id)
4733     GROUP BY  trx_summ.org_id,
4734     objb.object_function,
4735     objb.object_parameters,
4736     party.party_id,
4737     party.party_name,
4738     trx_summ.cust_account_id,
4739     acc.account_name,
4740     acc.account_number,
4741     party.address1,
4742     party.city,
4743     party.state,
4744     party.county,
4745     fnd_terr.territory_short_name,
4746     party.province,
4747     party.postal_code;
4748 
4749      CURSOR c_strategy_summary IS
4750      select strat.jtf_object_id,
4751         wkitem.WORK_ITEM_ID,
4752         wkitem.schedule_start schedule_start,
4753         wkitem.schedule_end schedule_end,
4754         stry_temp_wkitem.category_type category,
4755         stry_temp_wkitem.WORK_TYPE,
4756         stry_temp_wkitem.PRIORITY_TYPE,
4757         wkitem.resource_id,
4758         wkitem.strategy_id,
4759         strat.strategy_template_id,
4760         wkitem.work_item_template_id,
4761         wkitem.status_code,
4762         wkitem.creation_date start_time,
4763         wkitem.execute_end end_time,-- snuthala 28/08/2008 bug #6745580
4764         wkitem.work_item_order wkitem_order,
4765 	wkitem.escalated_yn                   --Added for bug#6981126 by schekuri on 27-Jul-2008
4766       from iex_strategies strat,
4767         iex_strategy_work_items wkitem,
4768         iex_stry_temp_work_items_b stry_temp_wkitem,
4769         iex_pop_uwq_summ_gt temp
4770       where strat.jtf_object_type = temp.object_type
4771       AND strat.status_code IN('OPEN',   'ONHOLD')
4772       AND wkitem.strategy_id = strat.strategy_id
4773       AND wkitem.status_code IN('OPEN',   'ONHOLD')
4774       AND wkitem.work_item_template_id = stry_temp_wkitem.work_item_temp_id
4775       AND strat.jtf_object_id = temp.object_id;
4776 
4777 
4778       CURSOR C_COLLECTOR_PROF IS
4779       SELECT
4780          hp.collector_id,
4781          ac.resource_id,
4782 	 ac.resource_type,
4783 	 hp.party_id,
4784 	 hp.cust_account_id
4785       FROM
4786          hz_customer_profiles hp,
4787 	 ar_collectors ac,
4788 	 iex_pop_uwq_summ_gt temp
4789       WHERE
4790          hp.site_use_id is null
4791 	 and hp.cust_account_id=temp.object_id
4792 	 and hp.collector_id=ac.collector_id;
4793 
4794       CURSOR C_CONTACT_POINT IS
4795       SELECT
4796          ids.party_id             party_id,
4797          phone.phone_country_code phone_country_code,
4798          phone.phone_area_code    phone_area_code,
4799          phone.phone_number       phone_number,
4800          phone.phone_extension    phone_extension
4801       FROM
4802          hz_contact_points phone,
4803 	 iex_dln_uwq_summary ids,
4804          iex_pop_uwq_summ_gt temp
4805       WHERE
4806        phone.owner_table_id = ids.party_id
4807        AND phone.owner_table_name = 'HZ_PARTIES'
4808        AND phone.contact_point_type = 'PHONE'
4809        and phone.primary_by_purpose = 'Y'
4810        AND phone.contact_point_purpose = 'COLLECTIONS'
4811        AND phone.phone_line_type NOT IN('PAGER',     'FAX')
4812        AND phone.status = 'A'
4813        AND nvl(phone.do_not_use_flag, 'N') = 'N'
4814        AND ids.cust_account_id = temp.object_id;
4815 
4816     L_ORG_ID                                    number_list;
4817     L_COLLECTOR_ID                              number_list;
4818     L_COLLECTOR_RESOURCE_ID                     number_list;
4819     L_COLLECTOR_RES_TYPE                        varchar_30_list;
4820     L_IEU_OBJECT_FUNCTION                       varchar_30_list;
4821     L_IEU_OBJECT_PARAMETERS                     varchar_2020_list;
4822     L_IEU_MEDIA_TYPE_UUID                       varchar_10_list;
4823     L_IEU_PARAM_PK_COL                          varchar_40_list;
4824     L_IEU_PARAM_PK_VALUE                        varchar_40_list;
4825     L_RESOURCE_ID                               number_list;
4826     L_RESOURCE_TYPE                             varchar_20_list;
4827     L_PARTY_ID                                  number_list;
4828     L_PARTY_NAME                                varchar_360_list;
4829     L_CUST_ACCOUNT_ID                           number_list;
4830     L_ACCOUNT_NAME                              varchar_240_list;
4831     L_ACCOUNT_NUMBER                            varchar_30_list;
4832     L_SITE_USE_ID                               number_list;
4833     L_LOCATION                                  varchar_60_list;
4834     L_CURRENCY                                  varchar_20_list;
4835     L_OP_INVOICES_COUNT                         number_list;
4836     L_OP_DEBIT_MEMOS_COUNT                      number_list;
4837     L_OP_DEPOSITS_COUNT                         number_list;
4838     L_OP_BILLS_RECEIVABLES_COUNT                number_list;
4839     L_OP_CHARGEBACK_COUNT                       number_list;
4840     L_OP_CREDIT_MEMOS_COUNT                     number_list;
4841     L_UNRESOLVED_CASH_COUNT                     number_list;
4842     L_DISPUTED_INV_COUNT                        number_list;
4843     L_BEST_CURRENT_RECEIVABLES                  number_list;
4844     L_OP_INVOICES_VALUE                         number_list;
4845     L_OP_DEBIT_MEMOS_VALUE                      number_list;
4846     L_OP_DEPOSITS_VALUE                         number_list;
4847     L_OP_BILLS_RECEIVABLES_VALUE                number_list;
4848     L_OP_CHARGEBACK_VALUE                       number_list;
4849     L_OP_CREDIT_MEMOS_VALUE                     number_list;
4850     L_UNRESOLVED_CASH_VALUE                     number_list;
4851     L_RECEIPTS_AT_RISK_VALUE                    number_list;
4852     L_INV_AMT_IN_DISPUTE                        number_list;
4853     L_PENDING_ADJ_VALUE                         number_list;
4854     L_PAST_DUE_INV_VALUE                        number_list;
4855     L_PAST_DUE_INV_INST_COUNT                   number_list;
4856     L_LAST_PAYMENT_DATE                         date_list;
4857     L_LAST_PAYMENT_AMOUNT                       number_list;
4858     L_LAST_PAYMENT_AMOUNT_CURR                  varchar_20_list;
4859     L_LAST_PAYMENT_NUMBER                       varchar_30_list;
4860     L_LAST_UPDATE_DATE                          date_list;
4861     L_LAST_UPDATED_BY                           number_list;
4862     L_CREATION_DATE                             date_list;
4863     L_CREATED_BY                                number_list;
4864     L_LAST_UPDATE_LOGIN                         number_list;
4865     L_NUMBER_OF_DELINQUENCIES                   number_list;
4866     L_ACTIVE_DELINQUENCIES                      number_list;
4867     L_COMPLETE_DELINQUENCIES                    number_list;
4868     L_PENDING_DELINQUENCIES                     number_list;
4869     L_SCORE                                     number_list;
4870     L_ADDRESS1                                  varchar_240_list;
4871     L_CITY                                      varchar_60_list;
4872     L_STATE                                     varchar_60_list;
4873     L_COUNTY                                    varchar_60_list;
4874     L_COUNTRY                                   varchar_80_list;
4875     L_PROVINCE                                  varchar_60_list;
4876     L_POSTAL_CODE                               varchar_60_list;
4877     L_PHONE_COUNTRY_CODE                        varchar_10_list;
4878     L_PHONE_AREA_CODE                           varchar_10_list;
4879     L_PHONE_NUMBER                              varchar_40_list;
4880     L_PHONE_EXTENSION                           varchar_20_list;
4881     L_NUMBER_OF_BANKRUPTCIES                    number_list;
4882     L_NUMBER_OF_PROMISES                        number_list;
4883     L_BROKEN_PROMISE_AMOUNT                     number_list;
4884     L_PROMISE_AMOUNT                            number_list;
4885     L_ACTIVE_PROMISES                           number_list;
4886     L_COMPLETE_PROMISES                         number_list;
4887     L_PENDING_PROMISES                          number_list;
4888     L_WORK_ITEM_ID                              number_list;
4889     L_SCHEDULE_START                            date_list;
4890     L_SCHEDULE_END                              date_list;
4891     L_WORK_TYPE                                 varchar_30_list;
4892     L_CATEGORY_TYPE                             varchar_30_list;
4893     L_PRIORITY_TYPE                             varchar_30_list;
4894     L_JTF_OBJECT_ID                             number_list;
4895     l_wkitem_resource_id			number_list;
4896     l_strategy_id				number_list;
4897     l_strategy_template_id 			number_list;
4898     l_work_item_template_id 			number_list;
4899     l_status_code 				varchar_30_list;
4900     l_start_time 				date_list;
4901     l_end_time 					date_list;
4902     l_work_item_order 				number_list;
4903     l_escalated_yn                              varchar_10_list;  --Added for bug#6981126 by schekuri on 27-Jun-2008
4904 
4905     l_max_fetches                               NUMBER;
4906     l_total                                     NUMBER;
4907 
4908     cursor c_account_del is
4909     select del.cust_account_id,
4910     count(1) number_of_delinquencies,
4911     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
4912     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
4913     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies
4914     from iex_delinquencies_all del,
4915     iex_pop_uwq_summ_gt temp
4916     WHERE del.cust_account_id = temp.object_id  AND
4917     del.org_id = temp.org_id and
4918     del.status IN('DELINQUENT',    'PREDELINQUENT')
4919     group by del.cust_account_id;
4920 
4921     cursor c_account_pro is
4922     select del.cust_account_id,
4923     max(decode(pd.uwq_status,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_promises,
4924     max(decode(pd.uwq_status,'COMPLETE',(decode(sign(TRUNC(pd.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_promises,
4925     max(decode(pd.uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_promises
4926     from iex_promise_details pd,
4927     IEX_DELINQUENCIES_ALL DEL,
4928     iex_pop_uwq_summ_gt temp
4929     WHERE pd.cust_account_id = del.cust_account_id
4930       and pd.delinquency_id = del.delinquency_id
4931       and del.cust_account_id = temp.object_id
4932       and del.org_id = temp.org_id
4933       and pd.state = 'BROKEN_PROMISE'
4934      group by del.cust_account_id;
4935 
4936     cursor c_account_pro_summ is
4937     SELECT del.cust_account_id,
4938     COUNT(1) number_of_promises,
4939     SUM(amount_due_remaining) broken_promise_amount,
4940     SUM(promise_amount) promise_amount
4941     FROM iex_promise_details pd,
4942          iex_delinquencies_all del,
4943          iex_pop_uwq_summ_gt temp
4944    WHERE pd.cust_account_id = del.cust_account_id
4945      AND pd.delinquency_id = del.delinquency_id
4946      AND pd.status IN('COLLECTABLE',   'PENDING')
4947      AND pd.state = 'BROKEN_PROMISE'
4948      AND pd.amount_due_remaining > 0
4949      AND (del.status NOT IN('CURRENT',   'CLOSE')
4950       or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
4951      and del.cust_account_id = temp.object_id
4952      and del.org_id = temp.org_id
4953    GROUP BY del.cust_account_id;
4954 
4955    cursor c_account_score is
4956    SELECT sh.score_object_id, sh.score_value score
4957      FROM iex_score_histories sh,
4958           iex_pop_uwq_summ_gt temp
4959     WHERE sh.creation_date = (SELECT MAX(creation_date)
4960                                FROM iex_score_histories sh1
4961                               WHERE sh1.score_object_code = 'IEX_ACCOUNT'
4962                                 AND sh1.score_object_id = sh.score_object_id)
4963      -- AND rownum < 2
4964       AND sh.score_object_code = 'IEX_ACCOUNT'
4965       AND sh.score_object_id = temp.object_id;
4966 
4967    cursor c_account_past_due is
4968    SELECT a.cust_account_id,
4969    SUM(b.acctd_amount_due_remaining) past_due_inv_value
4970    FROM iex_delinquencies_all a,
4971         ar_payment_schedules_all b,
4972         iex_pop_uwq_summ_gt temp
4973   WHERE a.cust_account_id = temp.object_id
4974     AND a.payment_schedule_id = b.payment_schedule_id
4975     AND b.status = 'OP'
4976     AND a.status IN('DELINQUENT',   'PREDELINQUENT')
4977     AND temp.org_id = a.org_id
4978    GROUP BY a.cust_account_id;
4979 
4980    cursor c_last_payment_no_amount is
4981    SELECT o_summ.cust_account_id,
4982           o_summ.last_payment_number last_payment_number,
4983 	  iex_uwq_view_pkg.convert_amount(o_summ.last_payment_amount,o_summ.currency) last_payment_amount
4984    FROM ar_trx_bal_summary o_summ
4985    WHERE o_summ.cust_account_id in (select object_id from iex_pop_uwq_summ_gt)
4986    AND o_summ.last_payment_date =  (SELECT MAX(last_payment_date)
4987                                     FROM ar_trx_bal_summary
4988                                     WHERE cust_account_id = o_summ.cust_account_id);
4989 
4990    cursor c_bankruptcies is
4991    select ca.cust_account_id,
4992           COUNT(1) number_of_bankruptcies
4993    FROM iex_bankruptcies bkr,hz_cust_accounts ca
4994    where ca.cust_account_id in (select object_id from iex_pop_uwq_summ_gt)
4995          and bkr.party_id=ca.party_id
4996 	 and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')  -- Changed for bug#7693986
4997    group by ca.cust_account_id;
4998 
4999    -- Bug #6251657 bibeura 25-OCT-2007
5000    cursor c_account_del_dln is
5001     select del.cust_account_id,
5002     sum(decode(del.status,'DELINQUENT',1,'PREDELINQUENT',1,0)) number_of_delinquencies,
5003     sum(decode(del.status,'DELINQUENT',ps.acctd_amount_due_remaining,'PREDELINQUENT',ps.acctd_amount_due_remaining,0)) past_due_inv_value,
5004     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
5005     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
5006     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies,
5007     del.org_id org_id
5008     from iex_delinquencies del,
5009     ar_payment_schedules ps
5010     WHERE del.payment_schedule_id = ps.payment_schedule_id  AND
5011     del.org_id = ps.org_id and
5012     exists(select 1 from iex_delinquencies del1
5013 		    where del1.last_update_date>=trunc(sysdate)
5014 		    and del.cust_account_id=del1.cust_account_id
5015 		    and del.org_id=del1.org_id)
5016     group by del.cust_account_id, del.org_id;
5017 
5018 
5019 BEGIN
5020 	l_max_fetches := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '100000'));
5021 	if p_mode='DLN' then
5022 	        LogMessage(FND_LOG.LEVEL_STATEMENT,'Starting..');
5023 		-- Start Bug #6251657 bibeura 25-OCT-2007
5024 		BEGIN
5025 			OPEN c_account_del_dln;
5026 		        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_del_dln cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5027 	                L_CUST_ACCOUNT_ID.delete;
5028 	        	L_NUMBER_OF_DELINQUENCIES.delete;
5029 	                L_PENDING_DELINQUENCIES.delete;
5030 	        	L_COMPLETE_DELINQUENCIES.delete;
5031 	                L_ACTIVE_DELINQUENCIES.delete;
5032 			L_PAST_DUE_INV_VALUE.delete;
5033 			L_ORG_ID.delete;
5034 
5035   	            LOOP
5036 	                FETCH c_account_del_dln bulk collect
5037 	                INTO
5038 	                L_CUST_ACCOUNT_ID,
5039 	                L_NUMBER_OF_DELINQUENCIES,
5040 			L_PAST_DUE_INV_VALUE,
5041             	        L_PENDING_DELINQUENCIES,
5042 	                L_COMPLETE_DELINQUENCIES,
5043                         L_ACTIVE_DELINQUENCIES,
5044 			L_ORG_ID
5045                         limit l_max_fetches;
5046 			IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5047 				LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_del_dln ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5048 	                        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5049 		                EXIT;
5050 			ELSE
5051 
5052 	                   forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5053 		             UPDATE IEX_DLN_UWQ_SUMMARY
5054 			     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
5055 			         PAST_DUE_INV_VALUE = L_PAST_DUE_INV_VALUE(i),
5056 	       			 ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
5057 				 COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
5058 				 PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
5059 			     WHERE
5060 			     CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i)
5061        		             AND ORG_ID=L_ORG_ID(i);
5062 		             LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_del_dln updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5063 			     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5064 	               END IF;
5065 	            END LOOP;
5066 	           IF c_account_del_dln % ISOPEN THEN
5067 		       CLOSE c_account_del_dln;
5068                    END IF;
5069 
5070 	        EXCEPTION
5071 		   WHEN OTHERS THEN
5072 	               LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
5073 	        END;
5074 		-- End Bug #6251657 bibeura 25-OCT-2007
5075 		insert into iex_pop_uwq_summ_gt(object_id,object_type,org_id)
5076 		select cust_account_id,'IEX_ACCOUNT',org_id from iex_delinquencies del
5077 		where status in ('DELINQUENT','PRE-DELINQUENT')
5078 		and not exists(select 1 from IEX_DLN_UWQ_SUMMARY dus where dus.cust_account_id=del.cust_account_id and
5079 		               dus.site_use_id is null and
5080 			       dus.org_id=del.org_id)
5081 		group by cust_account_id,org_id;
5082 		if sql%rowcount<=0 then
5083 			return;
5084 		end if;
5085 	else
5086 		null;
5087 	end if;
5088 
5089          open c_iex_account_uwq_summary;
5090          loop
5091 	 l_count := l_count +1;
5092         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
5093         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
5094 
5095         L_ORG_ID.delete;
5096         L_COLLECTOR_ID.delete;
5097         L_COLLECTOR_RESOURCE_ID.delete;
5098         L_COLLECTOR_RES_TYPE.delete;
5099         L_IEU_OBJECT_FUNCTION.delete;
5100         L_IEU_OBJECT_PARAMETERS.delete;
5101         L_IEU_MEDIA_TYPE_UUID.delete;
5102         L_IEU_PARAM_PK_COL.delete;
5103         L_IEU_PARAM_PK_VALUE.delete;
5104         L_RESOURCE_ID.delete;
5105         L_RESOURCE_TYPE.delete;
5106         L_PARTY_ID.delete;
5107         L_PARTY_NAME.delete;
5108         L_CUST_ACCOUNT_ID.delete;
5109         L_ACCOUNT_NAME.delete;
5110         L_ACCOUNT_NUMBER.delete;
5111         L_SITE_USE_ID.delete;
5112         L_LOCATION.delete;
5113         L_CURRENCY.delete;
5114         L_OP_INVOICES_COUNT.delete;
5115         L_OP_DEBIT_MEMOS_COUNT.delete;
5116         L_OP_DEPOSITS_COUNT.delete;
5117         L_OP_BILLS_RECEIVABLES_COUNT.delete;
5118         L_OP_CHARGEBACK_COUNT.delete;
5119         L_OP_CREDIT_MEMOS_COUNT.delete;
5120         L_UNRESOLVED_CASH_COUNT.delete;
5121         L_DISPUTED_INV_COUNT.delete;
5122         L_BEST_CURRENT_RECEIVABLES.delete;
5123         L_OP_INVOICES_VALUE.delete;
5124         L_OP_DEBIT_MEMOS_VALUE.delete;
5125         L_OP_DEPOSITS_VALUE.delete;
5126         L_OP_BILLS_RECEIVABLES_VALUE.delete;
5127         L_OP_CHARGEBACK_VALUE.delete;
5128         L_OP_CREDIT_MEMOS_VALUE.delete;
5129         L_UNRESOLVED_CASH_VALUE.delete;
5130         L_RECEIPTS_AT_RISK_VALUE.delete;
5131         L_INV_AMT_IN_DISPUTE.delete;
5132         L_PENDING_ADJ_VALUE.delete;
5133         L_PAST_DUE_INV_VALUE.delete;
5134         L_PAST_DUE_INV_INST_COUNT.delete;
5135         L_LAST_PAYMENT_DATE.delete;
5136         L_LAST_PAYMENT_AMOUNT.delete;
5137         L_LAST_PAYMENT_AMOUNT_CURR.delete;
5138         L_LAST_PAYMENT_NUMBER.delete;
5139         L_LAST_UPDATE_DATE.delete;
5140         L_LAST_UPDATED_BY.delete;
5141         L_CREATION_DATE.delete;
5142         L_CREATED_BY.delete;
5143         L_LAST_UPDATE_LOGIN.delete;
5144         L_NUMBER_OF_DELINQUENCIES.delete;
5145         L_ACTIVE_DELINQUENCIES.delete;
5146         L_COMPLETE_DELINQUENCIES.delete;
5147         L_PENDING_DELINQUENCIES.delete;
5148         L_SCORE.delete;
5149         L_ADDRESS1.delete;
5150         L_CITY.delete;
5151         L_STATE.delete;
5152         L_COUNTY.delete;
5153         L_COUNTRY.delete;
5154         L_PROVINCE.delete;
5155         L_POSTAL_CODE.delete;
5156         L_PHONE_COUNTRY_CODE.delete;
5157         L_PHONE_AREA_CODE.delete;
5158         L_PHONE_NUMBER.delete;
5159         L_PHONE_EXTENSION.delete;
5160         L_NUMBER_OF_BANKRUPTCIES.delete;
5161         L_NUMBER_OF_PROMISES.delete;
5162         L_BROKEN_PROMISE_AMOUNT.delete;
5163         L_PROMISE_AMOUNT.delete;
5164         L_ACTIVE_PROMISES.delete;
5165         L_COMPLETE_PROMISES.delete;
5166         L_PENDING_PROMISES.delete;
5167          LogMessage(FND_LOG.LEVEL_STATEMENT,'Start fetching records...');
5168 	 FETCH c_iex_account_uwq_summary bulk collect
5169                 INTO
5170                     L_ORG_ID,
5171                     L_IEU_OBJECT_FUNCTION,
5172                     L_IEU_OBJECT_PARAMETERS,
5173                     L_IEU_MEDIA_TYPE_UUID,
5174                     L_IEU_PARAM_PK_COL,
5175                     L_IEU_PARAM_PK_VALUE,
5176                     L_RESOURCE_ID,
5177                     L_RESOURCE_TYPE,
5178                     L_PARTY_ID,
5179                     L_PARTY_NAME,
5180                     L_CUST_ACCOUNT_ID,
5181                     L_ACCOUNT_NAME,
5182                     L_ACCOUNT_NUMBER,
5183                     L_SITE_USE_ID,
5184                     L_LOCATION,
5185                     L_CURRENCY,
5186                     L_OP_INVOICES_COUNT,
5187                     L_OP_DEBIT_MEMOS_COUNT,
5188                     L_OP_DEPOSITS_COUNT,
5189                     L_OP_BILLS_RECEIVABLES_COUNT,
5190                     L_OP_CHARGEBACK_COUNT,
5191                     L_OP_CREDIT_MEMOS_COUNT,
5192                     L_UNRESOLVED_CASH_COUNT,
5193                     L_DISPUTED_INV_COUNT,
5194                     L_BEST_CURRENT_RECEIVABLES,
5195                     L_OP_INVOICES_VALUE,
5196                     L_OP_DEBIT_MEMOS_VALUE,
5197                     L_OP_DEPOSITS_VALUE,
5198                     L_OP_BILLS_RECEIVABLES_VALUE,
5199                     L_OP_CHARGEBACK_VALUE,
5200                     L_OP_CREDIT_MEMOS_VALUE,
5201                     L_UNRESOLVED_CASH_VALUE,
5202                     L_RECEIPTS_AT_RISK_VALUE,
5203                     L_INV_AMT_IN_DISPUTE,
5204                     L_PENDING_ADJ_VALUE,
5205                     L_PAST_DUE_INV_INST_COUNT,
5206                     L_LAST_PAYMENT_DATE,
5207                     L_LAST_PAYMENT_AMOUNT_CURR,
5208                     L_LAST_UPDATE_DATE,
5209                     L_LAST_UPDATED_BY,
5210                     L_CREATION_DATE,
5211                     L_CREATED_BY,
5212                     L_LAST_UPDATE_LOGIN,
5213                     L_ADDRESS1,
5214                     L_CITY,
5215                     L_STATE,
5216                     L_COUNTY,
5217                     L_COUNTRY,
5218                     L_PROVINCE,
5219                     L_POSTAL_CODE
5220                 limit l_max_fetches;
5221 
5222 		IF L_IEU_OBJECT_FUNCTION.COUNT = 0 THEN
5223 
5224           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5225           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5226           EXIT;
5227 
5228         ELSE
5229 
5230           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5231           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows.');
5232           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inserting...');
5233           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5234           LogMessage(FND_LOG.LEVEL_STATEMENT,'inserting records..');
5235           forall i IN L_IEU_OBJECT_FUNCTION.FIRST .. L_IEU_OBJECT_FUNCTION.LAST
5236             INSERT INTO IEX_DLN_UWQ_SUMMARY
5237                 (DLN_UWQ_SUMMARY_ID
5238                 ,ORG_ID
5239                 ,IEU_OBJECT_FUNCTION
5240                 ,IEU_OBJECT_PARAMETERS
5241                 ,IEU_MEDIA_TYPE_UUID
5242                 ,IEU_PARAM_PK_COL
5243                 ,IEU_PARAM_PK_VALUE
5244                 ,RESOURCE_ID
5245                 ,RESOURCE_TYPE
5246                 ,PARTY_ID
5247                 ,PARTY_NAME
5248                 ,CUST_ACCOUNT_ID
5249                 ,ACCOUNT_NAME
5250                 ,ACCOUNT_NUMBER
5251                 ,SITE_USE_ID
5252                 ,LOCATION
5253                 ,CURRENCY
5254                 ,OP_INVOICES_COUNT
5255                 ,OP_DEBIT_MEMOS_COUNT
5256                 ,OP_DEPOSITS_COUNT
5257                 ,OP_BILLS_RECEIVABLES_COUNT
5258                 ,OP_CHARGEBACK_COUNT
5259                 ,OP_CREDIT_MEMOS_COUNT
5260                 ,UNRESOLVED_CASH_COUNT
5261                 ,DISPUTED_INV_COUNT
5262                 ,BEST_CURRENT_RECEIVABLES
5263                 ,OP_INVOICES_VALUE
5264                 ,OP_DEBIT_MEMOS_VALUE
5265                 ,OP_DEPOSITS_VALUE
5266                 ,OP_BILLS_RECEIVABLES_VALUE
5267                 ,OP_CHARGEBACK_VALUE
5268                 ,OP_CREDIT_MEMOS_VALUE
5269                 ,UNRESOLVED_CASH_VALUE
5270                 ,RECEIPTS_AT_RISK_VALUE
5271                 ,INV_AMT_IN_DISPUTE
5272                 ,PENDING_ADJ_VALUE
5273                 ,PAST_DUE_INV_INST_COUNT
5274                 ,LAST_PAYMENT_DATE
5275                 ,LAST_PAYMENT_AMOUNT_CURR
5276                 ,LAST_UPDATE_DATE
5277                 ,LAST_UPDATED_BY
5278                 ,CREATION_DATE
5279                 ,CREATED_BY
5280                 ,LAST_UPDATE_LOGIN
5281                 ,ADDRESS1
5282                 ,CITY
5283                 ,STATE
5284                 ,COUNTY
5285                 ,COUNTRY
5286                 ,PROVINCE
5287                 ,POSTAL_CODE
5288 		,NUMBER_OF_DELINQUENCIES
5289 		,NUMBER_OF_PROMISES
5290 		,NUMBER_OF_BANKRUPTCIES)
5291             VALUES
5292                 (IEX_DLN_UWQ_SUMMARY_S.nextval,
5293                 L_ORG_ID(i),
5294                 L_IEU_OBJECT_FUNCTION(i),
5295                 L_IEU_OBJECT_PARAMETERS(i),
5296                 L_IEU_MEDIA_TYPE_UUID(i),
5297                 L_IEU_PARAM_PK_COL(i),
5298                 L_IEU_PARAM_PK_VALUE(i),
5299                 L_RESOURCE_ID(i),
5300                 L_RESOURCE_TYPE(i),
5301                 L_PARTY_ID(i),
5302                 L_PARTY_NAME(i),
5303                 L_CUST_ACCOUNT_ID(i),
5304                 L_ACCOUNT_NAME(i),
5305                 L_ACCOUNT_NUMBER(i),
5306                 L_SITE_USE_ID(i),
5307                 L_LOCATION(i),
5308                 L_CURRENCY(i),
5309                 L_OP_INVOICES_COUNT(i),
5310                 L_OP_DEBIT_MEMOS_COUNT(i),
5311                 L_OP_DEPOSITS_COUNT(i),
5312                 L_OP_BILLS_RECEIVABLES_COUNT(i),
5313                 L_OP_CHARGEBACK_COUNT(i),
5314                 L_OP_CREDIT_MEMOS_COUNT(i),
5315                 L_UNRESOLVED_CASH_COUNT(i),
5316                 L_DISPUTED_INV_COUNT(i),
5317                 L_BEST_CURRENT_RECEIVABLES(i),
5318                 L_OP_INVOICES_VALUE(i),
5319                 L_OP_DEBIT_MEMOS_VALUE(i),
5320                 L_OP_DEPOSITS_VALUE(i),
5321                 L_OP_BILLS_RECEIVABLES_VALUE(i),
5322                 L_OP_CHARGEBACK_VALUE(i),
5323                 L_OP_CREDIT_MEMOS_VALUE(i),
5324                 L_UNRESOLVED_CASH_VALUE(i),
5325                 L_RECEIPTS_AT_RISK_VALUE(i),
5326                 L_INV_AMT_IN_DISPUTE(i),
5327                 L_PENDING_ADJ_VALUE(i),
5328                 L_PAST_DUE_INV_INST_COUNT(i),
5329                 L_LAST_PAYMENT_DATE(i),
5330                 L_LAST_PAYMENT_AMOUNT_CURR(i),
5331                 sysdate,
5332                 FND_GLOBAL.USER_ID,
5333                 sysdate,
5334                 FND_GLOBAL.USER_ID,
5335                 FND_GLOBAL.CONC_LOGIN_ID,
5336                 L_ADDRESS1(i),
5337                 L_CITY(i),
5338                 L_STATE(i),
5339                 L_COUNTY(i),
5340                 L_COUNTRY(i),
5341                 L_PROVINCE(i),
5342                 L_POSTAL_CODE(i),
5343 		0,
5344 		0,
5345 		0);
5346 
5347           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5348           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Inserted ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows');
5349 
5350 
5351           l_total := l_total + L_IEU_OBJECT_FUNCTION.COUNT;
5352           LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
5353 
5354         END IF;
5355 
5356       END LOOP;
5357       close c_iex_account_uwq_summary;
5358 
5359       OPEN c_strategy_summary;
5360       LOOP
5361           l_count := l_count +1;
5362           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
5363           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
5364 
5365           L_JTF_OBJECT_ID.delete;
5366           L_WORK_ITEM_ID.delete;
5367           L_SCHEDULE_START.delete;
5368           L_SCHEDULE_END.delete;
5369           L_WORK_TYPE.delete;
5370           L_CATEGORY_TYPE.delete;
5371           L_PRIORITY_TYPE.delete;
5372 	  L_wkitem_RESOURCE_ID.delete;
5373           L_STRATEGY_ID.delete;
5374 	  L_STRATEGY_TEMPLATE_ID.delete;
5375 	  L_WORK_ITEM_TEMPLATE_ID.delete;
5376 	  L_STATUS_CODE.delete;
5377 	  L_START_TIME.delete;
5378 	  L_END_TIME.delete;
5379 	  L_WORK_ITEM_ORDER.delete;
5380 	  L_ESCALATED_YN.delete;   --Added for bug#6981126 by schekuri on 27-Jun-2008
5381 
5382           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inited all arrays');
5383 
5384           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5385           FETCH c_strategy_summary bulk collect
5386           INTO
5387             L_JTF_OBJECT_ID,
5388             L_WORK_ITEM_ID,
5389             L_SCHEDULE_START,
5390             L_SCHEDULE_END,
5391             L_CATEGORY_TYPE,
5392 	    L_WORK_TYPE,
5393             L_PRIORITY_TYPE,
5394 	    L_WKITEM_RESOURCE_ID,
5395 	    L_STRATEGY_ID,
5396 	    L_STRATEGY_TEMPLATE_ID,
5397 	    L_WORK_ITEM_TEMPLATE_ID,
5398 	    L_STATUS_CODE,
5399 	    L_START_TIME,
5400 	    L_END_TIME,
5401 	    L_WORK_ITEM_ORDER,
5402 	    L_ESCALATED_YN  --Added for bug#6981126 by schekuri on 27-Jun-2008
5403           limit l_max_fetches;
5404 
5405 	  LogMessage(FND_LOG.LEVEL_STATEMENT,L_JTF_OBJECT_ID.COUNT);
5406 
5407           IF L_JTF_OBJECT_ID.COUNT = 0 THEN
5408 
5409             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5410             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5411             CLOSE c_strategy_summary;
5412             EXIT;
5413 
5414           ELSE
5415 
5416             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5417             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_JTF_OBJECT_ID.COUNT || ' rows.');
5418             LogMessage(FND_LOG.LEVEL_STATEMENT,' Updating table...');
5419             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5420 
5421                forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
5422                    UPDATE IEX_DLN_UWQ_SUMMARY
5423                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
5424                     SCHEDULE_START = L_SCHEDULE_START(i),
5425                     SCHEDULE_END = L_SCHEDULE_END(i),
5426                     WORK_TYPE = L_WORK_TYPE(i),
5427                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
5428                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
5429 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),
5430   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
5431 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
5432 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
5433 	            STATUS_CODE = L_STATUS_CODE(i),
5434 	            START_TIME = L_START_TIME(i),
5435 	            END_TIME = L_END_TIME(i),
5436 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
5437 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
5438                  WHERE cust_account_id = L_JTF_OBJECT_ID(i);
5439 
5440 
5441             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Updated ' || L_JTF_OBJECT_ID.COUNT || ' rows');
5442             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5443 
5444 
5445 
5446             l_total := l_total + L_JTF_OBJECT_ID.COUNT;
5447             LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
5448 
5449           END IF;
5450 
5451       END LOOP;
5452 
5453       IF c_strategy_summary % ISOPEN THEN
5454         CLOSE c_strategy_summary;
5455       END IF;
5456 
5457       BEGIN
5458       OPEN C_COLLECTOR_PROF;
5459        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_collector_prof cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5460         L_COLLECTOR_RESOURCE_ID.delete  ;
5461 	L_COLLECTOR_ID.delete;
5462 	L_RESOURCE_TYPE.delete;
5463 	L_PARTY_ID.delete;
5464 	L_CUST_ACCOUNT_ID.delete;
5465 
5466       LOOP
5467         FETCH C_COLLECTOR_PROF bulk collect
5468           INTO
5469 	    L_COLLECTOR_ID,
5470   	    L_COLLECTOR_RESOURCE_ID,
5471 	    L_RESOURCE_TYPE,
5472 	    L_PARTY_ID,
5473             L_CUST_ACCOUNT_ID
5474           limit l_max_fetches;
5475       IF L_COLLECTOR_RESOURCE_ID.COUNT = 0 THEN
5476 
5477           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_collector_prof ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5478           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5479           EXIT;
5480 
5481        ELSE
5482 
5483         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5484                    UPDATE IEX_DLN_UWQ_SUMMARY
5485                     SET COLLECTOR_RESOURCE_ID = L_COLLECTOR_RESOURCE_ID(i),
5486 		        COLLECTOR_RES_TYPE    = L_RESOURCE_TYPE(i),
5487 			collector_id = l_collector_id(i),
5488 			last_update_date   = SYSDATE,
5489 		        last_updated_by    = FND_GLOBAL.USER_ID
5490                    WHERE
5491 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5492          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_collector_prof updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5493          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5494 
5495 
5496       END IF;
5497       END LOOP;
5498        IF C_COLLECTOR_PROF % ISOPEN THEN
5499         CLOSE C_COLLECTOR_PROF;
5500        END IF;
5501 
5502        EXCEPTION WHEN OTHERS THEN
5503          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Collector profile update received' || SQLERRM);
5504        END;
5505 
5506      BEGIN
5507        OPEN c_contact_point;
5508        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Opened Cursor  c_contact_point  cursor at time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5509         L_PARTY_ID.delete;
5510         L_PHONE_COUNTRY_CODE.delete;
5511         L_PHONE_AREA_CODE.delete;
5512         L_PHONE_NUMBER.delete;
5513         L_PHONE_EXTENSION.delete;
5514 
5515 
5516       LOOP
5517 	 FETCH c_contact_point bulk collect
5518           INTO
5519 	   L_PARTY_ID,
5520 	   L_PHONE_COUNTRY_CODE,
5521 	   L_PHONE_AREA_CODE,
5522 	   L_PHONE_NUMBER,
5523 	   L_PHONE_EXTENSION
5524 
5525           limit l_max_fetches;
5526       IF L_PARTY_ID.COUNT = 0 THEN
5527 
5528           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'c_contact_point  Cursor Fetching end time:   ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5529           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5530           EXIT;
5531 
5532         ELSE
5533 
5534         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
5535 
5536                    UPDATE IEX_DLN_UWQ_SUMMARY
5537                    SET PHONE_COUNTRY_CODE = L_PHONE_COUNTRY_CODE(i),
5538 		       PHONE_AREA_CODE    = L_PHONE_AREA_CODE(i),
5539 		       PHONE_NUMBER       = L_PHONE_NUMBER(i),
5540 		       PHONE_EXTENSION    = L_PHONE_EXTENSION(i),
5541 		       last_update_date   = SYSDATE,
5542 		       last_updated_by    = FND_GLOBAL.USER_ID
5543                  WHERE PARTY_ID = L_PARTY_ID(i);
5544          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Contact point  Cursor updated ' ||L_PARTY_ID.count || ' rows ');
5545          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5546 
5547 
5548       END IF;
5549       END LOOP;
5550         CLOSE c_contact_point;
5551 
5552 
5553       EXCEPTION WHEN OTHERS THEN
5554        LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Contact point raised error ' || SQLERRM);
5555       END;
5556 -- gnramasa
5557       BEGIN
5558       OPEN C_ACCOUNT_DEL;
5559        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_del cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5560         L_CUST_ACCOUNT_ID.delete;
5561 	L_NUMBER_OF_DELINQUENCIES.delete;
5562         L_PENDING_DELINQUENCIES.delete;
5563 	L_COMPLETE_DELINQUENCIES.delete;
5564         L_ACTIVE_DELINQUENCIES.delete;
5565 
5566       LOOP
5567         FETCH C_ACCOUNT_DEL bulk collect
5568           INTO
5569 	    L_CUST_ACCOUNT_ID,
5570   	    L_NUMBER_OF_DELINQUENCIES,
5571 	    L_PENDING_DELINQUENCIES,
5572 	    L_COMPLETE_DELINQUENCIES,
5573             L_ACTIVE_DELINQUENCIES
5574           limit l_max_fetches;
5575       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5576 
5577           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_del ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5578           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5579           EXIT;
5580 
5581        ELSE
5582 
5583         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5584                    UPDATE IEX_DLN_UWQ_SUMMARY
5585                     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
5586 		        ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
5587 			COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
5588 			PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
5589                    WHERE
5590 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5591          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_del updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5592          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5593 
5594 
5595       END IF;
5596       END LOOP;
5597        IF C_ACCOUNT_DEL % ISOPEN THEN
5598         CLOSE C_ACCOUNT_DEL;
5599        END IF;
5600 
5601        EXCEPTION WHEN OTHERS THEN
5602          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
5603        END;
5604 
5605       BEGIN
5606       OPEN C_ACCOUNT_PRO;
5607        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_pro cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5608         L_CUST_ACCOUNT_ID.delete;
5609 	L_ACTIVE_PROMISES.delete;
5610         L_COMPLETE_PROMISES.delete;
5611         L_PENDING_PROMISES.delete;
5612 
5613       LOOP
5614         FETCH C_ACCOUNT_PRO bulk collect
5615           INTO
5616 	    L_CUST_ACCOUNT_ID,
5617   	    L_PENDING_PROMISES,
5618 	    L_COMPLETE_PROMISES,
5619 	    L_ACTIVE_PROMISES
5620           limit l_max_fetches;
5621       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5622 
5623           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_pro ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5624           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5625           EXIT;
5626 
5627        ELSE
5628 
5629         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5630                    UPDATE IEX_DLN_UWQ_SUMMARY
5631                     SET ACTIVE_PROMISES    = L_ACTIVE_PROMISES(i),
5632 			COMPLETE_PROMISES  = L_COMPLETE_PROMISES(i),
5633 			PENDING_PROMISES   = L_PENDING_PROMISES(i)
5634                    WHERE
5635 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5636          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_pro updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5637          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5638 
5639 
5640       END IF;
5641       END LOOP;
5642        IF C_ACCOUNT_PRO % ISOPEN THEN
5643         CLOSE C_ACCOUNT_PRO;
5644        END IF;
5645 
5646        EXCEPTION WHEN OTHERS THEN
5647          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Promise update received' || SQLERRM);
5648        END;
5649 
5650       BEGIN
5651       OPEN C_ACCOUNT_PRO_SUMM;
5652        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_pro_summ cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5653         L_CUST_ACCOUNT_ID.delete;
5654 	L_NUMBER_OF_PROMISES.delete;
5655         L_BROKEN_PROMISE_AMOUNT .delete;
5656         L_PROMISE_AMOUNT.delete;
5657 
5658       LOOP
5659         FETCH C_ACCOUNT_PRO_SUMM bulk collect
5660           INTO
5661 	    L_CUST_ACCOUNT_ID,
5662   	    L_NUMBER_OF_PROMISES,
5663 	    L_BROKEN_PROMISE_AMOUNT,
5664 	    L_PROMISE_AMOUNT
5665           limit l_max_fetches;
5666       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5667 
5668           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_pro_summ ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5669           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5670           EXIT;
5671 
5672        ELSE
5673 
5674         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5675                    UPDATE IEX_DLN_UWQ_SUMMARY
5676                     SET NUMBER_OF_PROMISES     = L_NUMBER_OF_PROMISES(i),
5677 			BROKEN_PROMISE_AMOUNT  = L_BROKEN_PROMISE_AMOUNT(i),
5678 			PROMISE_AMOUNT         = L_PROMISE_AMOUNT(i)
5679                    WHERE
5680 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5681          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_pro_summ updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5682          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5683 
5684 
5685       END IF;
5686       END LOOP;
5687        IF C_ACCOUNT_PRO_SUMM % ISOPEN THEN
5688         CLOSE C_ACCOUNT_PRO_SUMM;
5689        END IF;
5690 
5691        EXCEPTION WHEN OTHERS THEN
5692          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Broken Promise update received' || SQLERRM);
5693        END;
5694 
5695       BEGIN
5696       OPEN C_ACCOUNT_SCORE;
5697        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_score cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5698         L_CUST_ACCOUNT_ID.delete;
5699 	L_SCORE.delete;
5700 
5701       LOOP
5702         FETCH C_ACCOUNT_SCORE bulk collect
5703           INTO
5704 	    L_CUST_ACCOUNT_ID,
5705   	    L_SCORE
5706           limit l_max_fetches;
5707       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5708 
5709           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_score ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5710           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5711           EXIT;
5712 
5713        ELSE
5714 
5715         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5716                    UPDATE IEX_DLN_UWQ_SUMMARY
5717                     SET SCORE     = L_SCORE(i)
5718                    WHERE
5719 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5720          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_score updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5721          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5722 
5723 
5724       END IF;
5725       END LOOP;
5726        IF C_ACCOUNT_SCORE % ISOPEN THEN
5727         CLOSE C_ACCOUNT_SCORE;
5728        END IF;
5729 
5730        EXCEPTION WHEN OTHERS THEN
5731          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Score update received' || SQLERRM);
5732        END;
5733 
5734       BEGIN
5735       OPEN C_ACCOUNT_PAST_DUE;
5736        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_account_past_due cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5737         L_CUST_ACCOUNT_ID.delete;
5738 	L_PAST_DUE_INV_VALUE.delete;
5739 
5740       LOOP
5741         FETCH C_ACCOUNT_PAST_DUE bulk collect
5742           INTO
5743 	    L_CUST_ACCOUNT_ID,
5744   	    L_PAST_DUE_INV_VALUE
5745           limit l_max_fetches;
5746       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5747 
5748           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_account_past_due ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5749           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5750           EXIT;
5751 
5752        ELSE
5753 
5754         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5755                    UPDATE IEX_DLN_UWQ_SUMMARY
5756                     SET PAST_DUE_INV_VALUE     = L_PAST_DUE_INV_VALUE(i)
5757                    WHERE
5758 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5759          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_account_past_due updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5760          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5761 
5762 
5763       END IF;
5764       END LOOP;
5765        IF C_ACCOUNT_PAST_DUE % ISOPEN THEN
5766         CLOSE C_ACCOUNT_PAST_DUE;
5767        END IF;
5768 
5769        EXCEPTION WHEN OTHERS THEN
5770          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Past due invoice update received' || SQLERRM);
5771        END;
5772 
5773       BEGIN
5774       OPEN C_LAST_PAYMENT_NO_AMOUNT;
5775        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_last_payment_no_amount cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5776         L_CUST_ACCOUNT_ID.delete;
5777         L_LAST_PAYMENT_NUMBER.delete;
5778 	L_LAST_PAYMENT_AMOUNT.delete;
5779 
5780       LOOP
5781         FETCH C_LAST_PAYMENT_NO_AMOUNT bulk collect
5782           INTO
5783 	    L_CUST_ACCOUNT_ID,
5784   	    L_LAST_PAYMENT_NUMBER,
5785 	    L_LAST_PAYMENT_AMOUNT
5786           limit l_max_fetches;
5787       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5788 
5789           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_last_payment_no_amount ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5790           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5791           EXIT;
5792 
5793        ELSE
5794 
5795         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5796                    UPDATE IEX_DLN_UWQ_SUMMARY
5797                     SET LAST_PAYMENT_NUMBER     = L_LAST_PAYMENT_NUMBER(i),
5798 		        LAST_PAYMENT_AMOUNT     = L_LAST_PAYMENT_AMOUNT(i)
5799                    WHERE
5800 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5801          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_last_payment_no_amount updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5802          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5803 
5804 
5805       END IF;
5806       END LOOP;
5807        IF C_LAST_PAYMENT_NO_AMOUNT % ISOPEN THEN
5808         CLOSE C_LAST_PAYMENT_NO_AMOUNT;
5809        END IF;
5810 
5811        EXCEPTION WHEN OTHERS THEN
5812          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
5813        END;
5814 
5815       BEGIN
5816       OPEN C_BANKRUPTCIES;
5817        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_bankruptcies cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5818         L_CUST_ACCOUNT_ID.delete;
5819         L_NUMBER_OF_BANKRUPTCIES.delete;
5820 
5821       LOOP
5822         FETCH C_BANKRUPTCIES bulk collect
5823           INTO
5824 	    L_CUST_ACCOUNT_ID,
5825   	    L_NUMBER_OF_BANKRUPTCIES
5826           limit l_max_fetches;
5827       IF L_CUST_ACCOUNT_ID.COUNT = 0 THEN
5828 
5829           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_bankruptcies ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
5830           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
5831           EXIT;
5832 
5833        ELSE
5834 
5835         forall i IN L_CUST_ACCOUNT_ID.FIRST .. L_CUST_ACCOUNT_ID.LAST
5836                    UPDATE IEX_DLN_UWQ_SUMMARY
5837                     SET NUMBER_OF_BANKRUPTCIES     = L_NUMBER_OF_BANKRUPTCIES(i)
5838                    WHERE
5839 		    CUST_ACCOUNT_ID = L_CUST_ACCOUNT_ID(i);
5840          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_bankruptcies updated ' || L_COLLECTOR_ID.count ||  ' rows ');
5841          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
5842 
5843 
5844       END IF;
5845       END LOOP;
5846        IF C_BANKRUPTCIES % ISOPEN THEN
5847         CLOSE C_BANKRUPTCIES;
5848        END IF;
5849 
5850        EXCEPTION WHEN OTHERS THEN
5851          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
5852        END;
5853       --gnramasa
5854 COMMIT;
5855 LogMessage(FND_LOG.LEVEL_STATEMENT,'Commited');
5856 
5857 EXCEPTION
5858 WHEN OTHERS THEN
5859 LogMessage(FND_LOG.LEVEL_STATEMENT,sqlerrm);
5860 END ACCOUNT_REFRESH_SUMMARY_INCR;
5861 
5862 PROCEDURE customer_refresh_summary_incr(
5863                     x_errbuf            OUT nocopy VARCHAR2,
5864                     x_retcode           OUT nocopy VARCHAR2,
5865                     FROM_DATE           IN  VARCHAR2,
5866  	            P_MODE              IN  VARCHAR2 DEFAULT 'CP') is
5867 l_count number;
5868 
5869 CURSOR c_iex_customer_uwq_summary IS
5870     SELECT trx_summ.org_id,
5871     objb.object_function ieu_object_function,
5872     objb.object_parameters || ' DISPLAYCBO=IEXTRMAN' ieu_object_parameters,
5873     '' ieu_media_type_uuid,
5874     'PARTY_ID' ieu_param_pk_col,
5875     to_char(party.party_id) ieu_param_pk_value,
5876     1 resource_id,
5877     'RS_EMPLOYEE' resource_type,
5878     party.party_id party_id,
5879     party.party_name party_name,
5880     to_number(null) cust_account_id,
5881     null account_name,
5882     null account_number,
5883     to_number(null) site_use_id,
5884     null location,
5885     max(gl.CURRENCY_CODE) currency,
5886     SUM(trx_summ.op_invoices_count) op_invoices_count,
5887     SUM(trx_summ.op_debit_memos_count) op_debit_memos_count,
5888     SUM(trx_summ.op_deposits_count) op_deposits_count,
5889     SUM(trx_summ.op_bills_receivables_count) op_bills_receivables_count,
5890     SUM(trx_summ.op_chargeback_count) op_chargeback_count,
5891     SUM(trx_summ.op_credit_memos_count) op_credit_memos_count,
5892     SUM(trx_summ.unresolved_cash_count) unresolved_cash_count,
5893     SUM(trx_summ.disputed_inv_count) disputed_inv_count,
5894     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.best_current_receivables,
5895     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5896     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.best_current_receivables))) best_current_receivables,
5897     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_invoices_value,
5898     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5899     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_invoices_value))) op_invoices_value,
5900     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_debit_memos_value,
5901     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5902     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_debit_memos_value))) op_debit_memos_value,
5903     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_deposits_value,
5904     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5905     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_deposits_value))) op_deposits_value,
5906     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_bills_receivables_value,
5907     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5908     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_bills_receivables_value))) op_bills_receivables_value,
5909     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_chargeback_value,
5910     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5911     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_chargeback_value))) op_chargeback_value,
5912     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.op_credit_memos_value,
5913     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5914     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.op_credit_memos_value))) op_credit_memos_value,
5915     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.unresolved_cash_value,
5916     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5917     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.unresolved_cash_value))) unresolved_cash_value,
5918     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.receipts_at_risk_value,
5919     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5920     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.receipts_at_risk_value))) receipts_at_risk_value,
5921     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.inv_amt_in_dispute,
5922     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5923     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.inv_amt_in_dispute))) inv_amt_in_dispute,
5924     SUM(decode(trx_summ.currency,     gl.CURRENCY_CODE,     trx_summ.pending_adj_value,
5925     gl_currency_api.convert_amount_sql(trx_summ.currency,     gl.CURRENCY_CODE,     sysdate,
5926     iex_utilities.get_cache_value('DEFAULT_EXCHANGE_RATE_TYPE',     ''),     trx_summ.pending_adj_value))) pending_adj_value,
5927     SUM(trx_summ.past_due_inv_inst_count) past_due_inv_inst_count,
5928     MAX(trx_summ.last_payment_date) last_payment_date,
5929     max(gl.CURRENCY_CODE) last_payment_amount_curr,
5930     MAX(trx_summ.last_update_date) last_update_date,
5931     MAX(trx_summ.last_updated_by) last_updated_by,
5932     MAX(trx_summ.creation_date) creation_date,
5933     MAX(trx_summ.created_by) created_by,
5934     MAX(trx_summ.last_update_login) last_update_login,
5935     party.address1 address1,
5936     party.city city,
5937     party.state state,
5938     party.county county,
5939     fnd_terr.territory_short_name country,
5940     party.province province,
5941     party.postal_code postal_code
5942     FROM ar_trx_bal_summary trx_summ,
5943     hz_cust_accounts acc,
5944     hz_parties party,
5945     jtf_objects_b objb,
5946     fnd_territories_tl fnd_terr,
5947     GL_SETS_OF_BOOKS gl,
5948     AR_SYSTEM_PARAMETERS_all sys
5949     WHERE trx_summ.reference_1 = '1'
5950      AND trx_summ.cust_account_id = acc.cust_account_id
5951      AND acc.party_id = party.party_id
5952      AND objb.object_code = 'IEX_CUSTOMER'
5953      AND party.country = fnd_terr.territory_code(+)
5954      AND fnd_terr.LANGUAGE(+) = userenv('LANG')
5955      and gl.SET_OF_BOOKS_ID = sys.SET_OF_BOOKS_ID
5956      and trx_summ.org_id = sys.org_id
5957      and acc.party_id in
5958 	   (select temp.object_id from iex_pop_uwq_summ_gt temp where temp.org_id=trx_summ.org_id)
5959     GROUP BY trx_summ.org_id,
5960     objb.object_function,
5961     objb.object_parameters,
5962     party.party_id,
5963     party.party_name,
5964     party.address1,
5965     party.city,
5966     party.state,
5967     party.county,
5968     fnd_terr.territory_short_name,
5969     party.province,
5970     party.postal_code;
5971 
5972      CURSOR c_strategy_summary IS
5973      select strat.jtf_object_id,
5974         wkitem.WORK_ITEM_ID,
5975         wkitem.schedule_start schedule_start,
5976         wkitem.schedule_end schedule_end,
5977         stry_temp_wkitem.category_type category,
5978         stry_temp_wkitem.WORK_TYPE,
5979         stry_temp_wkitem.PRIORITY_TYPE,
5980         wkitem.resource_id,
5981         wkitem.strategy_id,
5982         strat.strategy_template_id,
5983         wkitem.work_item_template_id,
5984         wkitem.status_code,
5985         wkitem.creation_date start_time,
5986         wkitem.execute_end end_time,-- snuthala 28/08/2008 bug #6745580
5987         wkitem.work_item_order wkitem_order,
5988 	wkitem.escalated_yn                   --Added for bug#6981126 by schekuri on 27-Jul-2008
5989       from iex_strategies strat,
5990         iex_strategy_work_items wkitem,
5991         iex_stry_temp_work_items_b stry_temp_wkitem,
5992         iex_pop_uwq_summ_gt temp
5993       where strat.status_code IN('OPEN',   'ONHOLD')
5994       AND wkitem.strategy_id = strat.strategy_id
5995       AND wkitem.status_code IN('OPEN',   'ONHOLD')
5996       AND wkitem.work_item_template_id = stry_temp_wkitem.work_item_temp_id
5997       AND strat.jtf_object_id = temp.object_id;
5998 
5999 
6000       CURSOR C_COLLECTOR_PROF IS
6001       SELECT
6002          hp.collector_id,
6003          ac.resource_id,
6004 	 ac.resource_type,
6005 	 hp.party_id
6006       FROM
6007          hz_customer_profiles hp,
6008 	 ar_collectors ac,
6009 	 iex_pop_uwq_summ_gt temp
6010       WHERE
6011          hp.cust_account_id = -1
6012          and hp.site_use_id is null
6013 	 and hp.party_id=temp.object_id
6014 	 and hp.collector_id=ac.collector_id;
6015 
6016       CURSOR C_CONTACT_POINT IS
6017       SELECT
6018          phone.owner_table_id     party_id,
6019          phone.phone_country_code phone_country_code,
6020          phone.phone_area_code    phone_area_code,
6021          phone.phone_number       phone_number,
6022          phone.phone_extension    phone_extension
6023       FROM
6024          hz_contact_points phone,
6025 	 iex_pop_uwq_summ_gt temp
6026       WHERE
6027        phone.owner_table_id = temp.object_id
6028        AND phone.owner_table_name = 'HZ_PARTIES'
6029        AND phone.contact_point_type = 'PHONE'
6030        and phone.primary_by_purpose = 'Y'
6031        AND phone.contact_point_purpose = 'COLLECTIONS'
6032        AND phone.phone_line_type NOT IN('PAGER',     'FAX')
6033        AND phone.status = 'A'
6034        AND nvl(phone.do_not_use_flag, 'N') = 'N';
6035 
6036     L_ORG_ID                                    number_list;
6037     L_COLLECTOR_ID                              number_list;
6038     L_COLLECTOR_RESOURCE_ID                     number_list;
6039     L_COLLECTOR_RES_TYPE                        varchar_30_list;
6040     L_IEU_OBJECT_FUNCTION                       varchar_30_list;
6041     L_IEU_OBJECT_PARAMETERS                     varchar_2020_list;
6042     L_IEU_MEDIA_TYPE_UUID                       varchar_10_list;
6043     L_IEU_PARAM_PK_COL                          varchar_40_list;
6044     L_IEU_PARAM_PK_VALUE                        varchar_40_list;
6045     L_RESOURCE_ID                               number_list;
6046     L_RESOURCE_TYPE                             varchar_20_list;
6047     L_PARTY_ID                                  number_list;
6048     L_PARTY_NAME                                varchar_360_list;
6049     L_CUST_ACCOUNT_ID                           number_list;
6050     L_ACCOUNT_NAME                              varchar_240_list;
6051     L_ACCOUNT_NUMBER                            varchar_30_list;
6052     L_SITE_USE_ID                               number_list;
6053     L_LOCATION                                  varchar_60_list;
6054     L_CURRENCY                                  varchar_20_list;
6055     L_OP_INVOICES_COUNT                         number_list;
6056     L_OP_DEBIT_MEMOS_COUNT                      number_list;
6057     L_OP_DEPOSITS_COUNT                         number_list;
6058     L_OP_BILLS_RECEIVABLES_COUNT                number_list;
6059     L_OP_CHARGEBACK_COUNT                       number_list;
6060     L_OP_CREDIT_MEMOS_COUNT                     number_list;
6061     L_UNRESOLVED_CASH_COUNT                     number_list;
6062     L_DISPUTED_INV_COUNT                        number_list;
6063     L_BEST_CURRENT_RECEIVABLES                  number_list;
6064     L_OP_INVOICES_VALUE                         number_list;
6065     L_OP_DEBIT_MEMOS_VALUE                      number_list;
6066     L_OP_DEPOSITS_VALUE                         number_list;
6067     L_OP_BILLS_RECEIVABLES_VALUE                number_list;
6068     L_OP_CHARGEBACK_VALUE                       number_list;
6069     L_OP_CREDIT_MEMOS_VALUE                     number_list;
6070     L_UNRESOLVED_CASH_VALUE                     number_list;
6071     L_RECEIPTS_AT_RISK_VALUE                    number_list;
6072     L_INV_AMT_IN_DISPUTE                        number_list;
6073     L_PENDING_ADJ_VALUE                         number_list;
6074     L_PAST_DUE_INV_VALUE                        number_list;
6075     L_PAST_DUE_INV_INST_COUNT                   number_list;
6076     L_LAST_PAYMENT_DATE                         date_list;
6077     L_LAST_PAYMENT_AMOUNT                       number_list;
6078     L_LAST_PAYMENT_AMOUNT_CURR                  varchar_20_list;
6079     L_LAST_PAYMENT_NUMBER                       varchar_30_list;
6080     L_LAST_UPDATE_DATE                          date_list;
6081     L_LAST_UPDATED_BY                           number_list;
6082     L_CREATION_DATE                             date_list;
6083     L_CREATED_BY                                number_list;
6084     L_LAST_UPDATE_LOGIN                         number_list;
6085     L_NUMBER_OF_DELINQUENCIES                   number_list;
6086     L_ACTIVE_DELINQUENCIES                      number_list;
6087     L_COMPLETE_DELINQUENCIES                    number_list;
6088     L_PENDING_DELINQUENCIES                     number_list;
6089     L_SCORE                                     number_list;
6090     L_ADDRESS1                                  varchar_240_list;
6091     L_CITY                                      varchar_60_list;
6092     L_STATE                                     varchar_60_list;
6093     L_COUNTY                                    varchar_60_list;
6094     L_COUNTRY                                   varchar_80_list;
6095     L_PROVINCE                                  varchar_60_list;
6096     L_POSTAL_CODE                               varchar_60_list;
6097     L_PHONE_COUNTRY_CODE                        varchar_10_list;
6098     L_PHONE_AREA_CODE                           varchar_10_list;
6099     L_PHONE_NUMBER                              varchar_40_list;
6100     L_PHONE_EXTENSION                           varchar_20_list;
6101     L_NUMBER_OF_BANKRUPTCIES                    number_list;
6102     L_NUMBER_OF_PROMISES                        number_list;
6103     L_BROKEN_PROMISE_AMOUNT                     number_list;
6104     L_PROMISE_AMOUNT                            number_list;
6105     L_ACTIVE_PROMISES                           number_list;
6106     L_COMPLETE_PROMISES                         number_list;
6107     L_PENDING_PROMISES                          number_list;
6108     L_WORK_ITEM_ID                              number_list;
6109     L_SCHEDULE_START                            date_list;
6110     L_SCHEDULE_END                              date_list;
6111     L_WORK_TYPE                                 varchar_30_list;
6112     L_CATEGORY_TYPE                             varchar_30_list;
6113     L_PRIORITY_TYPE                             varchar_30_list;
6114     L_JTF_OBJECT_ID                             number_list;
6115     l_wkitem_resource_id			number_list;
6116     l_strategy_id				number_list;
6117     l_strategy_template_id 			number_list;
6118     l_work_item_template_id 			number_list;
6119     l_status_code 				varchar_30_list;
6120     l_start_time 				date_list;
6121     l_end_time 					date_list;
6122     l_work_item_order 				number_list;
6123     l_escalated_yn                              varchar_10_list;  --Added for bug#6981126 by schekuri on 27-Jun-2008
6124 
6125     l_max_fetches                               NUMBER;
6126     l_total                                     NUMBER;
6127 
6128     cursor c_customer_del is
6129     select del.party_cust_id,
6130     count(1) number_of_delinquencies,
6131     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
6132     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
6133     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies
6134     from iex_delinquencies_all del,
6135     iex_pop_uwq_summ_gt temp
6136     WHERE del.party_cust_id = temp.object_id  AND
6137     del.org_id = temp.org_id and
6138     del.status IN('DELINQUENT',    'PREDELINQUENT')
6139     group by del.party_cust_id;
6140 
6141     cursor c_customer_pro is
6142     select del.party_cust_id,
6143     max(decode(pd.uwq_status,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_promises,
6144     max(decode(pd.uwq_status,'COMPLETE',(decode(sign(TRUNC(pd.uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_promises,
6145     max(decode(pd.uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(pd.uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_promises
6146     from iex_promise_details pd,
6147     IEX_DELINQUENCIES_ALL DEL,
6148     iex_pop_uwq_summ_gt temp
6149     WHERE pd.cust_account_id = del.cust_account_id
6150       AND pd.delinquency_id = del.delinquency_id
6151       and del.party_cust_id = temp.object_id
6152       and del.org_id = temp.org_id
6153       and pd.state = 'BROKEN_PROMISE'
6154      group by del.party_cust_id;
6155 
6156     cursor c_customer_pro_summ is
6157     SELECT del.party_cust_id,
6158     COUNT(1) number_of_promises,
6159     SUM(amount_due_remaining) broken_promise_amount,
6160     SUM(promise_amount) promise_amount
6161     FROM iex_promise_details pd,
6162          iex_delinquencies_all del,
6163          iex_pop_uwq_summ_gt temp
6164    WHERE pd.cust_account_id = del.cust_account_id
6165      AND pd.delinquency_id = del.delinquency_id
6166      AND pd.status IN('COLLECTABLE','PENDING')
6167      AND pd.state = 'BROKEN_PROMISE'
6168      AND pd.amount_due_remaining > 0
6169      AND (del.status NOT IN('CURRENT','CLOSE')
6170       or (del.status='CURRENT' and  del.source_program_name='IEX_CURR_INV'))--Added for Bug 6446848 06-Jan-2009 barathsr
6171      and del.party_cust_id = temp.object_id
6172      and del.org_id = temp.org_id
6173    GROUP BY del.party_cust_id;
6174 
6175    cursor c_customer_score is
6176    SELECT sh.score_object_id, sh.score_value score
6177      FROM iex_score_histories sh,
6178           iex_pop_uwq_summ_gt temp
6179     WHERE sh.creation_date = (SELECT MAX(creation_date)
6180                                FROM iex_score_histories sh1
6181                               WHERE sh1.score_object_code = 'PARTY'
6182                                 AND sh1.score_object_id = sh.score_object_id)
6183       AND sh.score_object_code = 'PARTY'
6184       AND sh.score_object_id = temp.object_id;
6185 
6186    cursor c_customer_past_due is
6187    SELECT a.party_cust_id,
6188    SUM(b.acctd_amount_due_remaining) past_due_inv_value
6189    FROM iex_delinquencies_all a,
6190         ar_payment_schedules_all b,
6191         iex_pop_uwq_summ_gt temp
6192   WHERE a.party_cust_id = temp.object_id
6193     AND a.payment_schedule_id = b.payment_schedule_id
6194     AND b.status = 'OP'
6195     AND a.status IN('DELINQUENT',   'PREDELINQUENT')
6196     AND temp.org_id = a.org_id
6197    GROUP BY a.party_cust_id;
6198 
6199    cursor c_last_payment_no_amount is
6200    SELECT o_acc.party_id,
6201           o_summ.last_payment_number last_payment_number,
6202 	  iex_uwq_view_pkg.convert_amount(o_summ.last_payment_amount,o_summ.currency) last_payment_amount
6203    FROM ar_trx_bal_summary o_summ,
6204         hz_cust_accounts o_acc
6205    WHERE o_summ.cust_account_id = o_acc.cust_account_id
6206    and o_acc.party_id in (select object_id from iex_pop_uwq_summ_gt)
6207    AND o_summ.last_payment_date =  (SELECT MAX(summ.last_payment_date)
6208                                     FROM ar_trx_bal_summary summ,
6209 				         hz_cust_accounts acc
6210                                     WHERE acc.cust_account_id = summ.cust_account_id
6211 				    and acc.party_id=o_acc.party_id);
6212 
6213    cursor c_bankruptcies is
6214    select bkr.party_id,
6215           COUNT(1) number_of_bankruptcies
6216    FROM iex_bankruptcies bkr
6217    where bkr.party_id in (select object_id from iex_pop_uwq_summ_gt)
6218    and NVL(BKR.DISPOSITION_CODE,'GRANTED') in ('GRANTED','NEGOTIATION')  -- Changed for bug#7693986
6219    group by bkr.party_id;
6220 
6221    -- Bug #6251657 bibeura 25-OCT-2007
6222    cursor c_customer_del_dln is
6223     select del.party_cust_id,
6224     sum(decode(del.status,'DELINQUENT',1,'PREDELINQUENT',1,0)) number_of_delinquencies,
6225     sum(decode(del.status,'DELINQUENT',ps.acctd_amount_due_remaining,'PREDELINQUENT',ps.acctd_amount_due_remaining,0)) past_due_inv_value,
6226     max(decode(uwq_status,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),1,1)))) pending_delinquencies,
6227     max(decode(uwq_status,'COMPLETE',(decode(sign(TRUNC(uwq_complete_date) + fnd_profile.VALUE('IEX_UWQ_COMPLETION_DAYS') - TRUNC(sysdate)),1,1)))) complete_delinquencies,
6228     max(decode(uwq_status,NULL,1,'ACTIVE',1,'PENDING',(decode(sign(TRUNC(uwq_active_date) - TRUNC(sysdate)),-1,1,0,1)))) active_delinquencies,
6229     del.org_id org_id
6230     from iex_delinquencies del,
6231     ar_payment_schedules ps
6232     WHERE del.payment_schedule_id = ps.payment_schedule_id  AND
6233     del.org_id = ps.org_id and
6234     exists(select 1 from iex_delinquencies del1
6235 		    where del1.last_update_date>=trunc(sysdate)
6236 		    and del.party_cust_id = del1.party_cust_id
6237 		    and del1.org_id=del.org_id)
6238     group by del.party_cust_id, del.org_id;
6239 
6240 BEGIN
6241 	l_max_fetches := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '100000'));
6242 	if p_mode='DLN' then
6243 	        LogMessage(FND_LOG.LEVEL_STATEMENT,'Starting..');
6244 		-- Start Bug #6251657 bibeura 25-OCT-2007
6245 		BEGIN
6246 			OPEN c_customer_del_dln;
6247 		        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_del_dln cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6248 	                L_PARTY_ID.delete;
6249 	        	L_NUMBER_OF_DELINQUENCIES.delete;
6250 	                L_PENDING_DELINQUENCIES.delete;
6251 	        	L_COMPLETE_DELINQUENCIES.delete;
6252 	                L_ACTIVE_DELINQUENCIES.delete;
6253 			L_PAST_DUE_INV_VALUE.delete;
6254 			L_ORG_ID.delete;
6255 
6256   	            LOOP
6257 	                FETCH c_customer_del_dln bulk collect
6258 	                INTO
6259 	                L_PARTY_ID,
6260 	                L_NUMBER_OF_DELINQUENCIES,
6261 			L_PAST_DUE_INV_VALUE,
6262             	        L_PENDING_DELINQUENCIES,
6263 	                L_COMPLETE_DELINQUENCIES,
6264                         L_ACTIVE_DELINQUENCIES,
6265 			L_ORG_ID
6266                         limit l_max_fetches;
6267 			IF L_PARTY_ID.COUNT = 0 THEN
6268 				LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_del_dln ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6269 	                        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6270 		                EXIT;
6271 			ELSE
6272 
6273 	                   forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6274 		             UPDATE IEX_DLN_UWQ_SUMMARY
6275 			     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
6276 			         PAST_DUE_INV_VALUE = L_PAST_DUE_INV_VALUE(i),
6277 	       			 ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
6278 				 COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
6279 				 PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
6280 			     WHERE
6281 			     PARTY_ID = L_PARTY_ID(i)
6282             		     AND ORG_ID=L_ORG_ID(i);
6283 		             LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_del_dln updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6284 			     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6285 	               END IF;
6286 	            END LOOP;
6287 	           IF c_customer_del_dln%ISOPEN THEN
6288 		       CLOSE c_customer_del_dln;
6289                    END IF;
6290 
6291 	        EXCEPTION WHEN OTHERS THEN
6292 	         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
6293 	        END;
6294 		--End Bug #6251657 bibeura 25-OCT-2007
6295 
6296 		insert into iex_pop_uwq_summ_gt(object_id,object_type,org_id)
6297 		select del.party_cust_id,'PARTY',org_id from iex_delinquencies del
6298 		where status in ('DELINQUENT','PRE-DELINQUENT')
6299 		and not exists(select 1 from IEX_DLN_UWQ_SUMMARY dus where dus.party_id=del.party_cust_id and
6300 		               dus.cust_account_id is null and
6301 			       dus.org_id=del.org_id)
6302 		group by del.party_cust_id,org_id;
6303 		if sql%rowcount<=0 then
6304 			return;
6305 		end if;
6306 	else
6307 		null;
6308 	end if;
6309 
6310          open c_iex_customer_uwq_summary;
6311          loop
6312 	 l_count := l_count +1;
6313         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
6314         LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
6315 
6316         L_ORG_ID.delete;
6317         L_COLLECTOR_ID.delete;
6318         L_COLLECTOR_RESOURCE_ID.delete;
6319         L_COLLECTOR_RES_TYPE.delete;
6320         L_IEU_OBJECT_FUNCTION.delete;
6321         L_IEU_OBJECT_PARAMETERS.delete;
6322         L_IEU_MEDIA_TYPE_UUID.delete;
6323         L_IEU_PARAM_PK_COL.delete;
6324         L_IEU_PARAM_PK_VALUE.delete;
6325         L_RESOURCE_ID.delete;
6326         L_RESOURCE_TYPE.delete;
6327         L_PARTY_ID.delete;
6328         L_PARTY_NAME.delete;
6329         L_CUST_ACCOUNT_ID.delete;
6330         L_ACCOUNT_NAME.delete;
6331         L_ACCOUNT_NUMBER.delete;
6332         L_SITE_USE_ID.delete;
6333         L_LOCATION.delete;
6334         L_CURRENCY.delete;
6335         L_OP_INVOICES_COUNT.delete;
6336         L_OP_DEBIT_MEMOS_COUNT.delete;
6337         L_OP_DEPOSITS_COUNT.delete;
6338         L_OP_BILLS_RECEIVABLES_COUNT.delete;
6339         L_OP_CHARGEBACK_COUNT.delete;
6340         L_OP_CREDIT_MEMOS_COUNT.delete;
6341         L_UNRESOLVED_CASH_COUNT.delete;
6342         L_DISPUTED_INV_COUNT.delete;
6343         L_BEST_CURRENT_RECEIVABLES.delete;
6344         L_OP_INVOICES_VALUE.delete;
6345         L_OP_DEBIT_MEMOS_VALUE.delete;
6346         L_OP_DEPOSITS_VALUE.delete;
6347         L_OP_BILLS_RECEIVABLES_VALUE.delete;
6348         L_OP_CHARGEBACK_VALUE.delete;
6349         L_OP_CREDIT_MEMOS_VALUE.delete;
6350         L_UNRESOLVED_CASH_VALUE.delete;
6351         L_RECEIPTS_AT_RISK_VALUE.delete;
6352         L_INV_AMT_IN_DISPUTE.delete;
6353         L_PENDING_ADJ_VALUE.delete;
6354         L_PAST_DUE_INV_VALUE.delete;
6355         L_PAST_DUE_INV_INST_COUNT.delete;
6356         L_LAST_PAYMENT_DATE.delete;
6357         L_LAST_PAYMENT_AMOUNT.delete;
6358         L_LAST_PAYMENT_AMOUNT_CURR.delete;
6359         L_LAST_PAYMENT_NUMBER.delete;
6360         L_LAST_UPDATE_DATE.delete;
6361         L_LAST_UPDATED_BY.delete;
6362         L_CREATION_DATE.delete;
6363         L_CREATED_BY.delete;
6364         L_LAST_UPDATE_LOGIN.delete;
6365         L_NUMBER_OF_DELINQUENCIES.delete;
6366         L_ACTIVE_DELINQUENCIES.delete;
6367         L_COMPLETE_DELINQUENCIES.delete;
6368         L_PENDING_DELINQUENCIES.delete;
6369         L_SCORE.delete;
6370         L_ADDRESS1.delete;
6371         L_CITY.delete;
6372         L_STATE.delete;
6373         L_COUNTY.delete;
6374         L_COUNTRY.delete;
6375         L_PROVINCE.delete;
6376         L_POSTAL_CODE.delete;
6377         L_PHONE_COUNTRY_CODE.delete;
6378         L_PHONE_AREA_CODE.delete;
6379         L_PHONE_NUMBER.delete;
6380         L_PHONE_EXTENSION.delete;
6381         L_NUMBER_OF_BANKRUPTCIES.delete;
6382         L_NUMBER_OF_PROMISES.delete;
6383         L_BROKEN_PROMISE_AMOUNT.delete;
6384         L_PROMISE_AMOUNT.delete;
6385         L_ACTIVE_PROMISES.delete;
6386         L_COMPLETE_PROMISES.delete;
6387         L_PENDING_PROMISES.delete;
6388          LogMessage(FND_LOG.LEVEL_STATEMENT,'Start fetching records...');
6389 	 FETCH c_iex_customer_uwq_summary bulk collect
6390                 INTO
6391                     L_ORG_ID,
6392                     L_IEU_OBJECT_FUNCTION,
6393                     L_IEU_OBJECT_PARAMETERS,
6394                     L_IEU_MEDIA_TYPE_UUID,
6395                     L_IEU_PARAM_PK_COL,
6396                     L_IEU_PARAM_PK_VALUE,
6397                     L_RESOURCE_ID,
6398                     L_RESOURCE_TYPE,
6399                     L_PARTY_ID,
6400                     L_PARTY_NAME,
6401                     L_CUST_ACCOUNT_ID,
6402                     L_ACCOUNT_NAME,
6403                     L_ACCOUNT_NUMBER,
6404                     L_SITE_USE_ID,
6405                     L_LOCATION,
6406                     L_CURRENCY,
6407                     L_OP_INVOICES_COUNT,
6408                     L_OP_DEBIT_MEMOS_COUNT,
6409                     L_OP_DEPOSITS_COUNT,
6410                     L_OP_BILLS_RECEIVABLES_COUNT,
6411                     L_OP_CHARGEBACK_COUNT,
6412                     L_OP_CREDIT_MEMOS_COUNT,
6413                     L_UNRESOLVED_CASH_COUNT,
6414                     L_DISPUTED_INV_COUNT,
6415                     L_BEST_CURRENT_RECEIVABLES,
6416                     L_OP_INVOICES_VALUE,
6417                     L_OP_DEBIT_MEMOS_VALUE,
6418                     L_OP_DEPOSITS_VALUE,
6419                     L_OP_BILLS_RECEIVABLES_VALUE,
6420                     L_OP_CHARGEBACK_VALUE,
6421                     L_OP_CREDIT_MEMOS_VALUE,
6422                     L_UNRESOLVED_CASH_VALUE,
6423                     L_RECEIPTS_AT_RISK_VALUE,
6424                     L_INV_AMT_IN_DISPUTE,
6425                     L_PENDING_ADJ_VALUE,
6426                     L_PAST_DUE_INV_INST_COUNT,
6427                     L_LAST_PAYMENT_DATE,
6428                     L_LAST_PAYMENT_AMOUNT_CURR,
6429                     L_LAST_UPDATE_DATE,
6430                     L_LAST_UPDATED_BY,
6431                     L_CREATION_DATE,
6432                     L_CREATED_BY,
6433                     L_LAST_UPDATE_LOGIN,
6434                     L_ADDRESS1,
6435                     L_CITY,
6436                     L_STATE,
6437                     L_COUNTY,
6438                     L_COUNTRY,
6439                     L_PROVINCE,
6440                     L_POSTAL_CODE
6441                 limit l_max_fetches;
6442 
6443 		IF L_IEU_OBJECT_FUNCTION.COUNT = 0 THEN
6444 
6445           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6446           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6447           EXIT;
6448 
6449         ELSE
6450 
6451           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6452           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows.');
6453           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inserting...');
6454           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6455           LogMessage(FND_LOG.LEVEL_STATEMENT,'inserting records..');
6456           forall i IN L_IEU_OBJECT_FUNCTION.FIRST .. L_IEU_OBJECT_FUNCTION.LAST
6457             INSERT INTO IEX_DLN_UWQ_SUMMARY
6458                 (DLN_UWQ_SUMMARY_ID
6459                 ,ORG_ID
6460                 ,IEU_OBJECT_FUNCTION
6461                 ,IEU_OBJECT_PARAMETERS
6462                 ,IEU_MEDIA_TYPE_UUID
6463                 ,IEU_PARAM_PK_COL
6464                 ,IEU_PARAM_PK_VALUE
6465                 ,RESOURCE_ID
6466                 ,RESOURCE_TYPE
6467                 ,PARTY_ID
6468                 ,PARTY_NAME
6469                 ,CUST_ACCOUNT_ID
6470                 ,ACCOUNT_NAME
6471                 ,ACCOUNT_NUMBER
6472                 ,SITE_USE_ID
6473                 ,LOCATION
6474                 ,CURRENCY
6475                 ,OP_INVOICES_COUNT
6476                 ,OP_DEBIT_MEMOS_COUNT
6477                 ,OP_DEPOSITS_COUNT
6478                 ,OP_BILLS_RECEIVABLES_COUNT
6479                 ,OP_CHARGEBACK_COUNT
6480                 ,OP_CREDIT_MEMOS_COUNT
6481                 ,UNRESOLVED_CASH_COUNT
6482                 ,DISPUTED_INV_COUNT
6483                 ,BEST_CURRENT_RECEIVABLES
6484                 ,OP_INVOICES_VALUE
6485                 ,OP_DEBIT_MEMOS_VALUE
6486                 ,OP_DEPOSITS_VALUE
6487                 ,OP_BILLS_RECEIVABLES_VALUE
6488                 ,OP_CHARGEBACK_VALUE
6489                 ,OP_CREDIT_MEMOS_VALUE
6490                 ,UNRESOLVED_CASH_VALUE
6491                 ,RECEIPTS_AT_RISK_VALUE
6492                 ,INV_AMT_IN_DISPUTE
6493                 ,PENDING_ADJ_VALUE
6494                 ,PAST_DUE_INV_INST_COUNT
6495                 ,LAST_PAYMENT_DATE
6496                 ,LAST_PAYMENT_AMOUNT_CURR
6497                 ,LAST_UPDATE_DATE
6498                 ,LAST_UPDATED_BY
6499                 ,CREATION_DATE
6500                 ,CREATED_BY
6501                 ,LAST_UPDATE_LOGIN
6502                 ,ADDRESS1
6503                 ,CITY
6504                 ,STATE
6505                 ,COUNTY
6506                 ,COUNTRY
6507                 ,PROVINCE
6508                 ,POSTAL_CODE
6509 		,NUMBER_OF_DELINQUENCIES
6510 		,NUMBER_OF_PROMISES
6511 		,NUMBER_OF_BANKRUPTCIES)
6512             VALUES
6513                 (IEX_DLN_UWQ_SUMMARY_S.nextval,
6514                 L_ORG_ID(i),
6515                 L_IEU_OBJECT_FUNCTION(i),
6516                 L_IEU_OBJECT_PARAMETERS(i),
6517                 L_IEU_MEDIA_TYPE_UUID(i),
6518                 L_IEU_PARAM_PK_COL(i),
6519                 L_IEU_PARAM_PK_VALUE(i),
6520                 L_RESOURCE_ID(i),
6521                 L_RESOURCE_TYPE(i),
6522                 L_PARTY_ID(i),
6523                 L_PARTY_NAME(i),
6524                 L_CUST_ACCOUNT_ID(i),
6525                 L_ACCOUNT_NAME(i),
6526                 L_ACCOUNT_NUMBER(i),
6527                 L_SITE_USE_ID(i),
6528                 L_LOCATION(i),
6529                 L_CURRENCY(i),
6530                 L_OP_INVOICES_COUNT(i),
6531                 L_OP_DEBIT_MEMOS_COUNT(i),
6532                 L_OP_DEPOSITS_COUNT(i),
6533                 L_OP_BILLS_RECEIVABLES_COUNT(i),
6534                 L_OP_CHARGEBACK_COUNT(i),
6535                 L_OP_CREDIT_MEMOS_COUNT(i),
6536                 L_UNRESOLVED_CASH_COUNT(i),
6537                 L_DISPUTED_INV_COUNT(i),
6538                 L_BEST_CURRENT_RECEIVABLES(i),
6539                 L_OP_INVOICES_VALUE(i),
6540                 L_OP_DEBIT_MEMOS_VALUE(i),
6541                 L_OP_DEPOSITS_VALUE(i),
6542                 L_OP_BILLS_RECEIVABLES_VALUE(i),
6543                 L_OP_CHARGEBACK_VALUE(i),
6544                 L_OP_CREDIT_MEMOS_VALUE(i),
6545                 L_UNRESOLVED_CASH_VALUE(i),
6546                 L_RECEIPTS_AT_RISK_VALUE(i),
6547                 L_INV_AMT_IN_DISPUTE(i),
6548                 L_PENDING_ADJ_VALUE(i),
6549                 L_PAST_DUE_INV_INST_COUNT(i),
6550                 L_LAST_PAYMENT_DATE(i),
6551                 L_LAST_PAYMENT_AMOUNT_CURR(i),
6552                 sysdate,
6553                 FND_GLOBAL.USER_ID,
6554                 sysdate,
6555                 FND_GLOBAL.USER_ID,
6556                 FND_GLOBAL.CONC_LOGIN_ID,
6557                 L_ADDRESS1(i),
6558                 L_CITY(i),
6559                 L_STATE(i),
6560                 L_COUNTY(i),
6561                 L_COUNTRY(i),
6562                 L_PROVINCE(i),
6563                 L_POSTAL_CODE(i),
6564 		0,
6565 		0,
6566 		0);
6567 
6568           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End inserting time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6569           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Inserted ' || L_IEU_OBJECT_FUNCTION.COUNT || ' rows');
6570 
6571 
6572           l_total := l_total + L_IEU_OBJECT_FUNCTION.COUNT;
6573           LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
6574 
6575         END IF;
6576 
6577       END LOOP;
6578       close c_iex_customer_uwq_summary;
6579 
6580       OPEN c_strategy_summary;
6581       LOOP
6582           l_count := l_count +1;
6583           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'----------');
6584           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Bulk ' || l_count);
6585 
6586           L_JTF_OBJECT_ID.delete;
6587           L_WORK_ITEM_ID.delete;
6588           L_SCHEDULE_START.delete;
6589           L_SCHEDULE_END.delete;
6590           L_WORK_TYPE.delete;
6591           L_CATEGORY_TYPE.delete;
6592           L_PRIORITY_TYPE.delete;
6593 	  L_wkitem_RESOURCE_ID.delete;
6594           L_STRATEGY_ID.delete;
6595 	  L_STRATEGY_TEMPLATE_ID.delete;
6596 	  L_WORK_ITEM_TEMPLATE_ID.delete;
6597 	  L_STATUS_CODE.delete;
6598 	  L_START_TIME.delete;
6599 	  L_END_TIME.delete;
6600 	  L_WORK_ITEM_ORDER.delete;
6601 	  L_ESCALATED_YN.delete;   --Added for bug#6981126 by schekuri on 27-Jun-2008
6602 
6603           LogMessage(FND_LOG.LEVEL_STATEMENT,'Inited all arrays');
6604 
6605           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6606           FETCH c_strategy_summary bulk collect
6607           INTO
6608             L_JTF_OBJECT_ID,
6609             L_WORK_ITEM_ID,
6610             L_SCHEDULE_START,
6611             L_SCHEDULE_END,
6612             L_CATEGORY_TYPE,
6613 	    L_WORK_TYPE,
6614             L_PRIORITY_TYPE,
6615 	    L_WKITEM_RESOURCE_ID,
6616 	    L_STRATEGY_ID,
6617 	    L_STRATEGY_TEMPLATE_ID,
6618 	    L_WORK_ITEM_TEMPLATE_ID,
6619 	    L_STATUS_CODE,
6620 	    L_START_TIME,
6621 	    L_END_TIME,
6622 	    L_WORK_ITEM_ORDER,
6623 	    L_ESCALATED_YN  --Added for bug#6981126 by schekuri on 27-Jun-2008
6624           limit l_max_fetches;
6625 
6626 	  LogMessage(FND_LOG.LEVEL_STATEMENT,L_JTF_OBJECT_ID.COUNT);
6627 
6628           IF L_JTF_OBJECT_ID.COUNT = 0 THEN
6629 
6630             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6631             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6632             CLOSE c_strategy_summary;
6633             EXIT;
6634 
6635           ELSE
6636 
6637             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6638             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Fetched  ' || L_JTF_OBJECT_ID.COUNT || ' rows.');
6639             LogMessage(FND_LOG.LEVEL_STATEMENT,' Updating table...');
6640             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Start updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6641 
6642                forall i IN L_JTF_OBJECT_ID.FIRST .. L_JTF_OBJECT_ID.LAST
6643                    UPDATE IEX_DLN_UWQ_SUMMARY
6644                    SET WORK_ITEM_ID = L_WORK_ITEM_ID(i),
6645                     SCHEDULE_START = L_SCHEDULE_START(i),
6646                     SCHEDULE_END = L_SCHEDULE_END(i),
6647                     WORK_TYPE = L_WORK_TYPE(i),
6648                     CATEGORY_TYPE = L_CATEGORY_TYPE(i),
6649                     PRIORITY_TYPE = L_PRIORITY_TYPE(i),
6650 		    WKITEM_RESOURCE_ID = L_WKITEM_RESOURCE_ID(i),
6651   	    	    STRATEGY_ID = L_STRATEGY_ID(i),
6652 	    	    STRATEGY_TEMPLATE_ID = L_STRATEGY_TEMPLATE_ID(i),
6653 		    WORK_ITEM_TEMPLATE_ID = L_WORK_ITEM_TEMPLATE_ID(i),
6654 	            STATUS_CODE = L_STATUS_CODE(i),
6655 	            START_TIME = L_START_TIME(i),
6656 	            END_TIME = L_END_TIME(i),
6657 	            WORK_ITEM_ORDER = L_WORK_ITEM_ORDER(i),
6658 		    WKITEM_ESCALATED_YN = L_ESCALATED_YN(i)    --Added for bug#6981126 by schekuri on 27-Jun-2008
6659                  WHERE party_id = L_JTF_OBJECT_ID(i);
6660 
6661 
6662             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Updated ' || L_JTF_OBJECT_ID.COUNT || ' rows');
6663             LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End updating time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6664 
6665             l_total := l_total + L_JTF_OBJECT_ID.COUNT;
6666             LogMessage(FND_LOG.LEVEL_STATEMENT,'So far processed ' || l_total || ' rows');
6667 
6668           END IF;
6669 
6670       END LOOP;
6671 
6672       IF c_strategy_summary % ISOPEN THEN
6673         CLOSE c_strategy_summary;
6674       END IF;
6675 
6676       BEGIN
6677       OPEN C_COLLECTOR_PROF;
6678        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_collector_prof cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6679         L_COLLECTOR_RESOURCE_ID.delete  ;
6680 	L_COLLECTOR_ID.delete;
6681 	L_RESOURCE_TYPE.delete;
6682 	L_PARTY_ID.delete;
6683 
6684       LOOP
6685         FETCH C_COLLECTOR_PROF bulk collect
6686           INTO
6687 	    L_COLLECTOR_ID,
6688   	    L_COLLECTOR_RESOURCE_ID,
6689 	    L_RESOURCE_TYPE,
6690 	    L_PARTY_ID
6691           limit l_max_fetches;
6692       IF L_COLLECTOR_RESOURCE_ID.COUNT = 0 THEN
6693 
6694           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_collector_prof ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6695           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6696           EXIT;
6697 
6698        ELSE
6699 
6700         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6701                    UPDATE IEX_DLN_UWQ_SUMMARY
6702                     SET COLLECTOR_RESOURCE_ID = L_COLLECTOR_RESOURCE_ID(i),
6703 		        COLLECTOR_RES_TYPE    = L_RESOURCE_TYPE(i),
6704 			collector_id = l_collector_id(i),
6705 			last_update_date   = SYSDATE,
6706 		        last_updated_by    = FND_GLOBAL.USER_ID
6707                    WHERE
6708 		    party_id = L_PARTY_ID(i);
6709          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_collector_prof updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6710          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6711 
6712       END IF;
6713       END LOOP;
6714        IF C_COLLECTOR_PROF % ISOPEN THEN
6715         CLOSE C_COLLECTOR_PROF;
6716        END IF;
6717 
6718        EXCEPTION WHEN OTHERS THEN
6719          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Collector profile update received' || SQLERRM);
6720        END;
6721 
6722      BEGIN
6723        OPEN c_contact_point;
6724        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Opened Cursor  c_contact_point  cursor at time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6725         L_PARTY_ID.delete;
6726         L_PHONE_COUNTRY_CODE.delete;
6727         L_PHONE_AREA_CODE.delete;
6728         L_PHONE_NUMBER.delete;
6729         L_PHONE_EXTENSION.delete;
6730 
6731 
6732       LOOP
6733 	 FETCH c_contact_point bulk collect
6734           INTO
6735 	   L_PARTY_ID,
6736 	   L_PHONE_COUNTRY_CODE,
6737 	   L_PHONE_AREA_CODE,
6738 	   L_PHONE_NUMBER,
6739 	   L_PHONE_EXTENSION
6740           limit l_max_fetches;
6741       IF L_PARTY_ID.COUNT = 0 THEN
6742 
6743           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'c_contact_point  Cursor Fetching end time:   ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6744           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6745           EXIT;
6746 
6747         ELSE
6748 
6749         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6750 
6751                    UPDATE IEX_DLN_UWQ_SUMMARY
6752                    SET PHONE_COUNTRY_CODE = L_PHONE_COUNTRY_CODE(i),
6753 		       PHONE_AREA_CODE    = L_PHONE_AREA_CODE(i),
6754 		       PHONE_NUMBER       = L_PHONE_NUMBER(i),
6755 		       PHONE_EXTENSION    = L_PHONE_EXTENSION(i),
6756 		       last_update_date   = SYSDATE,
6757 		       last_updated_by    = FND_GLOBAL.USER_ID
6758                  WHERE PARTY_ID = L_PARTY_ID(i);
6759          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_contact_point  Cursor updated ' ||L_PARTY_ID.count || ' rows ');
6760          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6761 
6762       END IF;
6763       END LOOP;
6764         CLOSE c_contact_point;
6765 
6766 
6767       EXCEPTION WHEN OTHERS THEN
6768        LogMessage(FND_LOG.LEVEL_UNEXPECTED,' Contact point raised error ' || SQLERRM);
6769       END;
6770       BEGIN
6771       OPEN C_CUSTOMER_DEL;
6772        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_del cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6773         L_PARTY_ID.delete;
6774 	L_NUMBER_OF_DELINQUENCIES.delete;
6775         L_PENDING_DELINQUENCIES.delete;
6776 	L_COMPLETE_DELINQUENCIES.delete;
6777         L_ACTIVE_DELINQUENCIES.delete;
6778 
6779       LOOP
6780         FETCH C_CUSTOMER_DEL bulk collect
6781           INTO
6782 	    L_PARTY_ID,
6783   	    L_NUMBER_OF_DELINQUENCIES,
6784 	    L_PENDING_DELINQUENCIES,
6785 	    L_COMPLETE_DELINQUENCIES,
6786             L_ACTIVE_DELINQUENCIES
6787           limit l_max_fetches;
6788       IF L_PARTY_ID.COUNT = 0 THEN
6789 
6790           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_del ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6791           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6792           EXIT;
6793 
6794        ELSE
6795 
6796         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6797                    UPDATE IEX_DLN_UWQ_SUMMARY
6798                     SET NUMBER_OF_DELINQUENCIES = L_NUMBER_OF_DELINQUENCIES(i),
6799 		        ACTIVE_DELINQUENCIES    = L_ACTIVE_DELINQUENCIES(i),
6800 			COMPLETE_DELINQUENCIES  = L_COMPLETE_DELINQUENCIES(i),
6801 			PENDING_DELINQUENCIES   = L_PENDING_DELINQUENCIES(i)
6802                    WHERE
6803 		    PARTY_ID = L_PARTY_ID(i);
6804          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_del updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6805          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6806 
6807       END IF;
6808       END LOOP;
6809        IF C_CUSTOMER_DEL % ISOPEN THEN
6810         CLOSE C_CUSTOMER_DEL;
6811        END IF;
6812 
6813        EXCEPTION WHEN OTHERS THEN
6814          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency update received' || SQLERRM);
6815        END;
6816 
6817       BEGIN
6818       OPEN C_CUSTOMER_PRO;
6819        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_pro cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6820         L_PARTY_ID.delete;
6821 	L_ACTIVE_PROMISES.delete;
6822         L_COMPLETE_PROMISES.delete;
6823         L_PENDING_PROMISES.delete;
6824 
6825       LOOP
6826         FETCH C_CUSTOMER_PRO bulk collect
6827           INTO
6828 	    L_PARTY_ID,
6829   	    L_PENDING_PROMISES,
6830 	    L_COMPLETE_PROMISES,
6831 	    L_ACTIVE_PROMISES
6832           limit l_max_fetches;
6833       IF L_PARTY_ID.COUNT = 0 THEN
6834 
6835           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_pro ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6836           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6837           EXIT;
6838 
6839        ELSE
6840 
6841         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6842                    UPDATE IEX_DLN_UWQ_SUMMARY
6843                     SET ACTIVE_PROMISES    = L_ACTIVE_PROMISES(i),
6844 			COMPLETE_PROMISES  = L_COMPLETE_PROMISES(i),
6845 			PENDING_PROMISES   = L_PENDING_PROMISES(i)
6846                    WHERE
6847 		    PARTY_ID = L_PARTY_ID(i);
6848          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_pro updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6849          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6850 
6851       END IF;
6852       END LOOP;
6853        IF C_CUSTOMER_PRO % ISOPEN THEN
6854         CLOSE C_CUSTOMER_PRO;
6855        END IF;
6856 
6857        EXCEPTION WHEN OTHERS THEN
6858          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Promise update received' || SQLERRM);
6859        END;
6860 
6861       BEGIN
6862       OPEN C_CUSTOMER_PRO_SUMM;
6863        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_pro_summ cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6864         L_PARTY_ID.delete;
6865 	L_NUMBER_OF_PROMISES.delete;
6866         L_BROKEN_PROMISE_AMOUNT .delete;
6867         L_PROMISE_AMOUNT.delete;
6868 
6869       LOOP
6870         FETCH C_CUSTOMER_PRO_SUMM bulk collect
6871           INTO
6872 	    L_PARTY_ID,
6873   	    L_NUMBER_OF_PROMISES,
6874 	    L_BROKEN_PROMISE_AMOUNT,
6875 	    L_PROMISE_AMOUNT
6876           limit l_max_fetches;
6877       IF L_PARTY_ID.COUNT = 0 THEN
6878 
6879           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_pro_summ ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6880           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6881           EXIT;
6882 
6883        ELSE
6884 
6885         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6886                    UPDATE IEX_DLN_UWQ_SUMMARY
6887                     SET NUMBER_OF_PROMISES     = L_NUMBER_OF_PROMISES(i),
6888 			BROKEN_PROMISE_AMOUNT  = L_BROKEN_PROMISE_AMOUNT(i),
6889 			PROMISE_AMOUNT         = L_PROMISE_AMOUNT(i)
6890                    WHERE
6891 		    PARTY_ID = L_PARTY_ID(i);
6892          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_pro_summ updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6893          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6894 
6895       END IF;
6896       END LOOP;
6897        IF C_CUSTOMER_PRO_SUMM % ISOPEN THEN
6898         CLOSE C_CUSTOMER_PRO_SUMM;
6899        END IF;
6900 
6901        EXCEPTION WHEN OTHERS THEN
6902          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Broken Promise update received' || SQLERRM);
6903        END;
6904 
6905       BEGIN
6906       OPEN C_CUSTOMER_SCORE;
6907        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_score cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6908         L_PARTY_ID.delete;
6909 	L_SCORE.delete;
6910 
6911       LOOP
6912         FETCH C_CUSTOMER_SCORE bulk collect
6913           INTO
6914 	    L_PARTY_ID,
6915   	    L_SCORE
6916           limit l_max_fetches;
6917       IF L_PARTY_ID.COUNT = 0 THEN
6918 
6919           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_score ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6920           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6921           EXIT;
6922 
6923        ELSE
6924 
6925         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6926                    UPDATE IEX_DLN_UWQ_SUMMARY
6927                     SET SCORE     = L_SCORE(i)
6928                    WHERE
6929 		    PARTY_ID = L_PARTY_ID(i);
6930          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_score updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6931          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6932 
6933       END IF;
6934       END LOOP;
6935        IF C_CUSTOMER_SCORE % ISOPEN THEN
6936         CLOSE C_CUSTOMER_SCORE;
6937        END IF;
6938 
6939        EXCEPTION WHEN OTHERS THEN
6940          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Score update received' || SQLERRM);
6941        END;
6942 
6943       BEGIN
6944       OPEN C_CUSTOMER_PAST_DUE;
6945        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_customer_past_due cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6946         L_PARTY_ID.delete;
6947 	L_PAST_DUE_INV_VALUE.delete;
6948 
6949       LOOP
6950         FETCH C_CUSTOMER_PAST_DUE bulk collect
6951           INTO
6952 	    L_PARTY_ID,
6953   	    L_PAST_DUE_INV_VALUE
6954           limit l_max_fetches;
6955       IF L_PARTY_ID.COUNT = 0 THEN
6956 
6957           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_customer_past_due ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6958           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6959           EXIT;
6960 
6961        ELSE
6962 
6963         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
6964                    UPDATE IEX_DLN_UWQ_SUMMARY
6965                     SET PAST_DUE_INV_VALUE     = L_PAST_DUE_INV_VALUE(i)
6966                    WHERE
6967 		    PARTY_ID = L_PARTY_ID(i);
6968          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_customer_past_due updated ' || L_COLLECTOR_ID.count ||  ' rows ');
6969          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
6970 
6971       END IF;
6972       END LOOP;
6973        IF C_CUSTOMER_PAST_DUE % ISOPEN THEN
6974         CLOSE C_CUSTOMER_PAST_DUE;
6975        END IF;
6976 
6977        EXCEPTION WHEN OTHERS THEN
6978          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Past due invoice update received' || SQLERRM);
6979        END;
6980 
6981       BEGIN
6982       OPEN C_LAST_PAYMENT_NO_AMOUNT;
6983        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_last_payment_no_amount cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6984         L_PARTY_ID.delete;
6985         L_LAST_PAYMENT_NUMBER.delete;
6986 	L_LAST_PAYMENT_AMOUNT.delete;
6987 
6988       LOOP
6989         FETCH C_LAST_PAYMENT_NO_AMOUNT bulk collect
6990           INTO
6991 	    L_PARTY_ID,
6992   	    L_LAST_PAYMENT_NUMBER,
6993 	    L_LAST_PAYMENT_AMOUNT
6994           limit l_max_fetches;
6995       IF L_PARTY_ID.COUNT = 0 THEN
6996 
6997           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_last_payment_no_amount ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
6998           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
6999           EXIT;
7000 
7001        ELSE
7002 
7003         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
7004                    UPDATE IEX_DLN_UWQ_SUMMARY
7005                     SET LAST_PAYMENT_NUMBER     = L_LAST_PAYMENT_NUMBER(i),
7006 		        LAST_PAYMENT_AMOUNT     = L_LAST_PAYMENT_AMOUNT(i)
7007                    WHERE
7008 		    PARTY_ID = L_PARTY_ID(i);
7009          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_last_payment_no_amount updated ' || L_COLLECTOR_ID.count ||  ' rows ');
7010          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
7011 
7012       END IF;
7013       END LOOP;
7014        IF C_LAST_PAYMENT_NO_AMOUNT % ISOPEN THEN
7015         CLOSE C_LAST_PAYMENT_NO_AMOUNT;
7016        END IF;
7017 
7018        EXCEPTION WHEN OTHERS THEN
7019          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
7020        END;
7021 
7022       BEGIN
7023       OPEN C_BANKRUPTCIES;
7024        LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Open c_bankruptcies cursor time: ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
7025         L_PARTY_ID.delete;
7026         L_NUMBER_OF_BANKRUPTCIES.delete;
7027 
7028       LOOP
7029         FETCH C_BANKRUPTCIES bulk collect
7030           INTO
7031 	    L_PARTY_ID,
7032   	    L_NUMBER_OF_BANKRUPTCIES
7033           limit l_max_fetches;
7034       IF L_PARTY_ID.COUNT = 0 THEN
7035 
7036           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'End fetching time: c_bankruptcies ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
7037           LogMessage(FND_LOG.LEVEL_UNEXPECTED,'No records found - processing complete. Exiting the loop');
7038           EXIT;
7039 
7040        ELSE
7041 
7042         forall i IN L_PARTY_ID.FIRST .. L_PARTY_ID.LAST
7043                    UPDATE IEX_DLN_UWQ_SUMMARY
7044                     SET NUMBER_OF_BANKRUPTCIES     = L_NUMBER_OF_BANKRUPTCIES(i)
7045                    WHERE
7046 		    PARTY_ID = L_PARTY_ID(i);
7047          LogMessage(FND_LOG.LEVEL_UNEXPECTED,' c_bankruptcies updated ' || L_COLLECTOR_ID.count ||  ' rows ');
7048          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'------------------------');
7049 
7050       END IF;
7051       END LOOP;
7052        IF C_BANKRUPTCIES % ISOPEN THEN
7053         CLOSE C_BANKRUPTCIES;
7054        END IF;
7055 
7056        EXCEPTION WHEN OTHERS THEN
7057          LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Last payment no and amount update received' || SQLERRM);
7058        END;
7059       --gnramasa
7060 COMMIT;
7061 LogMessage(FND_LOG.LEVEL_STATEMENT,'Commited');
7062 
7063 EXCEPTION
7064 WHEN OTHERS THEN
7065 LogMessage(FND_LOG.LEVEL_STATEMENT,sqlerrm);
7066 END CUSTOMER_REFRESH_SUMMARY_INCR;
7067 
7068 PROCEDURE refresh_summary_incr(
7069                     x_errbuf            OUT nocopy VARCHAR2,
7070                     x_retcode           OUT nocopy VARCHAR2,
7071                     FROM_DATE           IN  VARCHAR2,
7072  	            P_MODE              IN  VARCHAR2 DEFAULT 'CP') is
7073   l_level varchar2(20);
7074   CURSOR c_get_level IS
7075   SELECT PREFERENCE_VALUE FROM IEX_APP_PREFERENCES_VL WHERE PREFERENCE_NAME = 'COLLECTIONS STRATEGY LEVEL';
7076 BEGIN
7077 	OPEN c_get_level;
7078 	FETCH c_get_level INTO l_level;
7079 	CLOSE c_get_level;
7080 	LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Level = ' || l_level);
7081 
7082 	IF l_level = 'CUSTOMER' THEN
7083 	      customer_refresh_summary_incr(x_errbuf,
7084 	                            x_retcode,
7085 				    from_date,
7086 				    p_mode);
7087 	ELSIF l_level = 'ACCOUNT' THEN
7088               account_refresh_summary_incr(x_errbuf,
7089 	                            x_retcode,
7090 				    from_date,
7091 				    p_mode);
7092         ELSIF l_level = 'BILL_TO' THEN
7093 	     billto_refresh_summary_incr(x_errbuf,
7094 	                            x_retcode,
7095 				    from_date,
7096 				    p_mode);
7097 
7098         ELSE
7099 	     LogMessage(FND_LOG.LEVEL_UNEXPECTED,'Delinquency level is not implemented at this time. Exiting.');
7100 	     return;
7101         END IF;
7102 EXCEPTION
7103 WHEN OTHERS THEN
7104 LogMessage(FND_LOG.LEVEL_STATEMENT,sqlerrm);
7105 END;
7106 
7107 BEGIN
7108     G_LOG_ENABLED := 'N';
7109     G_MSG_LEVEL := FND_LOG.LEVEL_UNEXPECTED;
7110 
7111     /* getting msg logging info */
7112     G_LOG_ENABLED := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'), 'N');
7113     if (G_LOG_ENABLED = 'N') then
7114        G_MSG_LEVEL := FND_LOG.LEVEL_UNEXPECTED;
7115     else
7116        G_MSG_LEVEL := NVL(to_number(FND_PROFILE.VALUE('AFLOG_LEVEL')), FND_LOG.LEVEL_UNEXPECTED);
7117     end if;
7118 
7119     LogMessage(FND_LOG.LEVEL_STATEMENT, 'G_LOG_ENABLED: ' || G_LOG_ENABLED);
7120     LogMessage(FND_LOG.LEVEL_STATEMENT, 'G_MSG_LEVEL: ' || G_MSG_LEVEL);
7121 END;