[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;