[Home] [Help]
PACKAGE BODY: APPS.IEX_METRIC_CONCUR_PVT
Source
1 PACKAGE BODY IEX_METRIC_CONCUR_PVT AS
2 /* $Header: iexvmtcb.pls 120.6.12020000.3 2013/04/03 10:46:35 gnramasa ship $ */
3
4 PG_DEBUG NUMBER;
5
6 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_METRIC_CONCUR_PVT';
7 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvmtcb.pls';
8 G_METRIC_BATCH VARCHAR2(30):='BATCH';
9 G_LOGIN_ID NUMBER;
10 G_PROGRAM_ID NUMBER;
11 G_USER_ID NUMBER;
12
13 /* this will be called by the concurrent program to metric caculation in batch
14 */
15 Procedure Refresh_All(ERRBUF OUT NOCOPY VARCHAR2,
16 RETCODE OUT NOCOPY VARCHAR2,
17 P_ORG_ID IN NUMBER)
18
19 IS
20 l_return_status VARCHAR2(10);
21 l_msg_data VARCHAR2(32767);
22 l_msg_count NUMBER;
23 l_obj_count NUMBER; --Added for Bug 7477844 24-Dec-2008 barathsr
24
25 CURSOR c_party IS
26 SELECT distinct p.party_id
27 FROM hz_parties p, hz_cust_accounts ca
28 WHERE p.status = 'A'
29 AND ca.status = 'A'
30 AND ca.party_id = p.party_id
31 --Begin Bug 7477844 24-Dec-2008 barathsr
32 AND EXISTS ( select 1 from IEX_DELINQUENCIES_ALL del
33 where del.party_cust_id= p.party_id
34 and del.status in ('DELINQUENT', 'PREDELINQUENT'));
35 --End Bug 7477844 24-Dec-2008 barathsr
36
37 CURSOR c_account IS
38 SELECT ca.cust_account_id, p.party_id
39 FROM hz_parties p, hz_cust_accounts ca
40 WHERE p.status = 'A'
41 AND ca.status = 'A'
42 AND ca.party_id = p.party_id
43 --Begin Bug 7477844 24-Dec-2008 barathsr
44 AND EXISTS ( select 1 from IEX_DELINQUENCIES_ALL del
45 where del.cust_account_id= ca.cust_account_id
46 and del.status in ('DELINQUENT', 'PREDELINQUENT'));
47 --End Bug 7477844 24-Dec-2008 barathsr
48
49 CURSOR c_billto IS
50 SELECT site_uses.site_use_id site_use_id, ca.cust_account_id cust_account_id, p.party_id,
51 acct_site.org_id
52 FROM hz_cust_accounts ca, hz_parties p,
53 hz_cust_acct_sites acct_site,hz_cust_site_uses site_uses
54 WHERE acct_site.cust_acct_site_id = site_uses.cust_acct_site_id
55 AND acct_site.cust_account_id = ca.cust_account_id
56 AND ca.party_id = p.party_id
57 AND p.status = 'A'
58 AND ca.status = 'A'
59 AND acct_site.status = 'A'
60 AND site_uses.status = 'A'
61 --Begin Bug 7477844 24-Dec-2008 barathsr
62 AND EXISTS ( select 1 from IEX_DELINQUENCIES_ALL del
63 where del.customer_site_use_id= site_uses.site_use_id
64 and del.status in ('DELINQUENT', 'PREDELINQUENT'));
65 --End Bug 7477844 24-Dec-2008 barathsr
66
67 CURSOR c_del IS
68 SELECT delinquency_id, customer_site_use_id, cust_account_id, party_cust_id,org_id
69 FROM iex_delinquencies
70 WHERE status IN ('DELINQUENT', 'PREDELINQUENT');
71
72 --Moac Changes. Define Cursor for org_id. Start.
73
74 CURSOR c_org IS
75 SELECT organization_id from hr_operating_units where
76 mo_global.check_access(organization_id) = 'Y'
77 AND organization_id = nvl(P_ORG_ID,organization_id);
78
79 --Moac Changes. Define Cursor for org_id. End.
80
81 --Begin Bug 7477844 24-Dec-2008 barathsr
82 CURSOR c_comp_count(l_jtf_object_code varchar2) IS
83 select count(1)
84 from iex_score_comp_types_vl
85 where metric_flag='Y'
86 and jtf_object_code=l_jtf_object_code
87 and active_flag='Y';
88 --End Bug 7477844 24-Dec-2008 barathsr
89
90 l_metric_id_tbl iex_metric_pvt.metric_id_tbl_type;
91 l_metric_name_tbl iex_metric_pvt.metric_name_tbl_type;
92 l_metric_value_tbl iex_metric_pvt.metric_value_tbl_type;
93 l_metric_rating_tbl iex_metric_pvt.metric_rating_tbl_type;
94
95 CURSOR c_total_cnt IS
96 SELECT count(1)
97 FROM iex_metric_summaries;
98
99 --Start adding for bug 16575665 gnramasa 3rd Apr 2013
100 CURSOR c_cust_acct_cnt IS
101 SELECT count(1)
102 FROM iex_metric_summaries_all
103 WHERE object_type in ('PARTY','ACCOUNT');
104
105 l_total_cnt NUMBER;
106 l_cust_acct_cnt NUMBER;
107 i NUMBER;
108 l_del_sql VARCHAR2(4000) := 'DELETE FROM iex_metric_summaries';
109
110 l_del_cust_acct VARCHAR2(4000) := 'DELETE FROM iex_metric_summaries_all';
111 --End adding for bug 16575665 gnramasa 3rd Apr 2013
112
113 TYPE Object_ID_Tbl_Type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
114 l_party_id_tbl Object_ID_Tbl_Type;
115 l_cust_account_id_tbl Object_ID_Tbl_Type;
116 l_site_use_id_tbl Object_ID_Tbl_Type;
117 l_delinquency_id_tbl Object_ID_Tbl_Type;
118 l_org_id_tbl Object_ID_Tbl_Type;
119 l_batch_size NUMBER;
120 --start adding for bug 16516837
121 l_out_status varchar2(100);
122 l_out_industry varchar2(100);
123 l_out_oracle_schema varchar2(100);
124 x boolean;
125 --END adding for bug 16516837
126
127 BEGIN
128
129 RETCODE := 0;
130
131 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
132 IEX_DEBUG_PUB.logMessage('Metric_Concur: ' || 'IEX_METRIC: metricConcur: Refresh started');
133 IEX_DEBUG_PUB.logMessage('Metric_Concur: ' || 'IEX_METRIC: metricConcur: Start time:'|| TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
134 END IF;
135
136 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Metric Calculation Method=' || G_METRIC_BATCH);
137 l_batch_size := to_number(nvl(fnd_profile.value('IEX_BATCH_SIZE'), '1000'));
138 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Batch size=' || l_batch_size);
139
140 --Moac Changes. Commented the profile value. Start.
141 --l_org_id := TO_NUMBER(NVL(FND_PROFILE.VALUE('ORG_ID'), -1));
142 --FND_FILE.PUT_LINE(FND_FILE.LOG, 'MO: Operating Unit=' || l_org_id);
143 --Moac Changes. Commented the profile value. End.
144
145 --Moac Changes. Initilize set the Policy. Start
146
147 MO_GLOBAL.INIT('IEX');
148 IF P_ORG_ID IS NOT NULL THEN
149 MO_GLOBAL.SET_POLICY_CONTEXT('S',P_ORG_ID); -- Single Org.
150 FND_FILE.PUT_LINE(FND_FILE.LOG, 'MO: Operating Unit=' || p_org_id);
151 ELSE
152 MO_GLOBAL.SET_POLICY_CONTEXT('M',NULL); -- Multi Org.
153 FND_FILE.PUT_LINE(FND_FILE.LOG, 'MO: Operating Unit=' || 'All');
154 END IF;
155
156 --Moac Changes. Initilize,set the Policy. End.
157
158
159 IF G_METRIC_BATCH = 'BATCH' THEN
160 -- Begin fix bug #4941239-jypark-delete records only of current operating unit
161
162 -- Moac Changes . Delete from synonym iex_metric_summaries. Start.
163 -- DELETE FROM iex_metric_summaries_all;
164 -- DELETE FROM iex_metric_summaries;
165 -- Moac Changes . Delete from synonym iex_metric_summaries. End.
166
167 IF P_ORG_ID IS NOT NULL THEN -- adding for bug 16516837
168 l_del_sql := l_del_sql || ' WHERE rownum >= 0 and rownum < ' || l_batch_size;
169
170 OPEN c_total_cnt;
171 FETCH c_total_cnt INTO l_total_cnt;
172 CLOSE c_total_cnt;
173
174 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Purging old metric records(' || l_total_cnt || ')');
175 i := 0;
176
177 LOOP
178 EXECUTE IMMEDIATE l_del_sql;
179 COMMIT;
180
181 i := i + l_batch_size;
182 EXIT WHEN i > l_total_cnt;
183 END LOOP;
184
185 EXECUTE IMMEDIATE l_del_sql;
186 COMMIT;
187
188 --Start adding for bug 16575665 gnramasa 3rd Apr 2013
189 l_del_cust_acct := l_del_cust_acct || ' WHERE object_type in (''PARTY'',''ACCOUNT'') and rownum >= 0 and rownum < ' || l_batch_size;
190
191 OPEN c_cust_acct_cnt;
192 FETCH c_cust_acct_cnt INTO l_cust_acct_cnt;
193 CLOSE c_cust_acct_cnt;
194
195 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Purging old metric records for party and accounts(' || l_cust_acct_cnt || ')');
196 i := 0;
197
198 LOOP
199 EXECUTE IMMEDIATE l_del_cust_acct;
200 COMMIT;
201
202 i := i + l_batch_size;
203 EXIT WHEN i > l_cust_acct_cnt;
204 END LOOP;
205
206 EXECUTE IMMEDIATE l_del_cust_acct;
207 COMMIT;
208 --End adding for bug 16575665 gnramasa 3rd Apr 2013
209
210 Else --start adding for bug 16516837
211 x := fnd_installation.get_app_info ('FND',l_out_status,l_out_industry,l_out_oracle_schema);
212 IEX_DEBUG_PUB.logMessage('IEX Schema:'||l_out_oracle_schema);
213 IEX_DEBUG_PUB.LogMessage('Truncating IEX_METRIC_SUMMARIES_ALL');
214
215 ad_ddl.do_ddl(l_out_oracle_schema,
216 'IEX',
217 AD_DDL.TRUNCATE_TABLE,
218 'TRUNCATE TABLE IEX_METRIC_SUMMARIES_ALL',
219 'IEX_METRIC_SUMMARIES_ALL');
220
221 IEX_DEBUG_PUB.LogMessage('Truncated IEX_METRIC_SUMMARIES_ALL');
222 IEX_DEBUG_PUB.logMessage('Done');
223
224 END IF;
225 --end adding for bug 16516837
226
227 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Purge complete>>>>>');
228 -- End fix bug #5009901-JYPARK-delete records by batch size for performance
229
230
231 --Begin Bug 7477844 24-Dec-2008 barathsr
232 OPEN c_comp_count('PARTY');
233 fetch c_comp_count into l_obj_count;
234 close c_comp_count;
235 if l_obj_count > 0 then
236 --End Bug 7477844 24-Dec-2008 barathsr
237
238 --start adding comment for bug 16516837 SNUTHALA 22/mar/2013
239 --FOR I_ORG IN C_ORG LOOP -- Moac Changes. Loop through for Party.
240 --MO_GLOBAL.SET_POLICY_CONTEXT('S',I_ORG.organization_id); -- Moac Changes. Set Org.
241 --FND_FILE.PUT_LINE(FND_FILE.LOG, 'Inside Party Loop, Operating Unit Set =' ||I_ORG.organization_id);
242 --end adding comment for bug 16516837 SNUTHALA 22/mar/2013
243 i := 0;
244 FOR r_party IN c_party LOOP
245 i := i + 1;
246 l_party_id_tbl(i) := r_party.party_id;
247 END LOOP;
248
249 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Total Party Count=' || i);
250
251 FOR idx1 IN l_party_id_tbl.FIRST..l_party_id_tbl.LAST LOOP
252
253 iex_metric_pvt.get_metric_info(p_api_version => 1.0,
254 p_init_msg_list => FND_API.G_TRUE,
255 p_commit => FND_API.G_TRUE,
256 p_validation_level => 100,
257 x_return_status => l_return_status,
258 x_msg_count => l_msg_count,
259 x_msg_data => l_msg_data,
260 p_party_id => l_party_id_tbl(idx1),
261 p_cust_account_id => TO_NUMBER(''),
262 p_customer_site_use_id => TO_NUMBER(''),
263 p_delinquency_id => TO_NUMBER(''),
264 x_metric_id_tbl => l_metric_id_tbl,
265 p_filter_by_object => 'PARTY',
266 x_metric_name_tbl => l_metric_name_tbl,
267 x_metric_value_tbl => l_metric_value_tbl,
268 x_metric_rating_tbl => l_metric_rating_tbl);
269
270 IF l_metric_id_tbl.count > 0 THEN
271
272 FORALL idx2 IN l_metric_name_tbl.FIRST..l_metric_name_tbl.LAST
273 INSERT INTO iex_metric_summaries_all
274 (object_id, object_type, org_id, score_comp_type_id, metric_value,
275 creation_date, created_by, last_update_date, last_updated_by,
276 last_update_login, metric_rating)
277 VALUES(l_party_id_tbl(idx1), 'PARTY',
278 --l_org_id, Moac Changes. Insert the Org_id from current set.
279 --I_ORG.organization_id, -- comment added for bug 16516837 SNUTHALA 22/mar/2013
280 --P_ORG_ID,
281 NULL, --Don't store org_id value at customer and account level for bug 16575665 gnramasa 3rd Apr 2013
282 l_metric_id_tbl(idx2), l_metric_value_tbl(idx2), SYSDATE, G_USER_ID,
283 SYSDATE, G_USER_ID, G_LOGIN_ID, l_metric_rating_tbl(idx2));
284
285 COMMIT;
286 END IF;
287
288 END LOOP;
289 -- END LOOP; -- Moac Changes. Org Loop.
290 end if; --Added for Bug 7477844 24-Dec-2008 barathsr
291
292
293
294 --Moac Changes. Re-Initialize after the Party Loop is complete. Start.
295 IF P_ORG_ID IS NOT NULL THEN
296 MO_GLOBAL.SET_POLICY_CONTEXT('S',P_ORG_ID); -- Single Org.
297 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Reset after party loop, Operating Unit=' || p_org_id);
298 ELSE
299 MO_GLOBAL.SET_POLICY_CONTEXT('M',NULL); -- Multi Org.
300 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Reset after party loop, Operating Unit=' || 'All');
301 END IF;
302 --Moac Changes. Re-Initialize after the Party Loop is complete. Start.
303
304 --Begin Bug 7477844 24-Dec-2008 barathsr
305 OPEN c_comp_count('IEX_ACCOUNT');
306 fetch c_comp_count into l_obj_count;
307 close c_comp_count;
308 if l_obj_count > 0 then
309 --End Bug 7477844 24-Dec-2008 barathsr
310 --start adding comment for bug 16516837 SNUTHALA 22/mar/2013
311 -- FOR I_ORG IN C_ORG LOOP -- Moac Changes. Loop through for Party.
312 -- MO_GLOBAL.SET_POLICY_CONTEXT('S',I_ORG.organization_id); -- Moac Changes. Set Org.
313 -- FND_FILE.PUT_LINE(FND_FILE.LOG, 'Inside Account Loop, Operating Unit Set =' ||I_ORG.organization_id);
314 --end adding comment for bug 16516837 SNUTHALA 22/mar/2013 SNUTHALA 22/mar/2013
315
316 i := 0;
317 l_party_id_tbl.DELETE;
318
319 FOR r_account IN c_account LOOP
320 i := i + 1;
321 l_cust_account_id_tbl(i) := r_account.cust_account_id;
322 l_party_id_tbl(i) := r_account.party_id;
323 END LOOP;
324 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Total Account Count=' || i);
325
326 FOR idx1 IN l_cust_account_id_tbl.FIRST..l_cust_account_id_tbl.LAST LOOP
327
328 iex_metric_pvt.get_metric_info(p_api_version => 1.0,
329 p_init_msg_list => FND_API.G_TRUE,
330 p_commit => FND_API.G_TRUE,
331 p_validation_level => 100,
332 x_return_status => l_return_status,
333 x_msg_count => l_msg_count,
334 x_msg_data => l_msg_data,
335 p_party_id => l_party_id_tbl(idx1),
336 p_cust_account_id => l_cust_account_id_tbl(idx1),
337 p_customer_site_use_id => '',
338 p_delinquency_id => '',
339 p_filter_by_object => 'IEX_ACCOUNT',
340 x_metric_id_tbl => l_metric_id_tbl,
341 x_metric_name_tbl => l_metric_name_tbl,
342 x_metric_value_tbl => l_metric_value_tbl,
343 x_metric_rating_tbl => l_metric_rating_tbl);
344
345 IF l_metric_id_tbl.count > 0 THEN
346 FORALL idx2 IN l_metric_name_tbl.FIRST..l_metric_name_tbl.LAST
347 INSERT INTO iex_metric_summaries_all(object_id, object_type,
348 org_id, score_comp_type_id, metric_value, creation_date,
349 created_by, last_update_date, last_updated_by,
350 last_update_login, metric_rating)
351 VALUES(l_cust_account_id_tbl(idx1), 'ACCOUNT',
352 --l_org_id, Moac Changes. Insert Org_id from current set.
353 --I_ORG.organization_id, -- comment added for bug 16516837 SNUTHALA 22/mar/2013
354 --P_ORG_ID,
355 NULL, --Don't store org_id value at customer and account level for bug 16575665 gnramasa 3rd Apr 2013
356 l_metric_id_tbl(idx2),
357 l_metric_value_tbl(idx2), SYSDATE, G_USER_ID, SYSDATE, G_USER_ID, G_LOGIN_ID,
358 l_metric_rating_tbl(idx2));
359
360 COMMIT;
361 END IF;
362
363 END LOOP;
364
365 --END LOOP; --Moac Change. Org Loop.
366 end if; --Added for Bug 7477844 24-Dec-2008 barathsr
367
368 --Moac Changes. Re-Initilize,set the Policy. Start
369 IF P_ORG_ID IS NOT NULL THEN
370 MO_GLOBAL.SET_POLICY_CONTEXT('S',P_ORG_ID); -- Single Org.
371 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Reset after Account loop, Operating Unit=' || p_org_id);
372 ELSE
373 MO_GLOBAL.SET_POLICY_CONTEXT('M',NULL); -- Multi Org.
374 END IF;
375 --Moac Changes. Initilize, set the Policy. End.
376 --Begin Bug 7477844 24-Dec-2008 barathsr
377 OPEN c_comp_count('IEX_BILLTO');
378 fetch c_comp_count into l_obj_count;
379 close c_comp_count;
380 if l_obj_count > 0 then
381 --End Bug 7477844 24-Dec-2008 barathsr
382 i := 0 ;
383 l_cust_account_id_tbl.DELETE;
384 l_party_id_tbl.DELETE;
385
386 FOR r_billto IN c_billto LOOP
387 i := i + 1;
388 l_site_use_id_tbl(i) := r_billto.site_use_id;
389 l_org_id_tbl(i) := r_billto.org_id;
390
391 -- Begin bug#7304169 snuthala 04-Aug-2008
392 l_cust_account_id_tbl(i) := r_billto.cust_account_id;
393 l_party_id_tbl(i) := r_billto.party_id;
394 -- End bug#7304169 snuthala 04-Aug-2008
395 END LOOP;
396 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Total BillTo Count=' || i);
397
398 FOR idx1 IN l_site_use_id_tbl.FIRST..l_site_use_id_tbl.LAST LOOP
399
400 iex_metric_pvt.get_metric_info(p_api_version => 1.0,
401 p_init_msg_list => FND_API.G_TRUE,
402 p_commit => FND_API.G_TRUE,
403 p_validation_level => 100,
404 x_return_status => l_return_status,
405 x_msg_count => l_msg_count,
406 x_msg_data => l_msg_data,
407 p_party_id => l_party_id_tbl(idx1),
408 p_cust_account_id => l_cust_account_id_tbl(idx1),
409 p_customer_site_use_id => l_site_use_id_tbl(idx1),
410 p_delinquency_id => '',
411 p_filter_by_object => 'IEX_BILLTO',
412 x_metric_id_tbl => l_metric_id_tbl,
413 x_metric_name_tbl => l_metric_name_tbl,
414 x_metric_value_tbl => l_metric_value_tbl,
415 x_metric_rating_tbl => l_metric_rating_tbl);
416
417 IF l_metric_id_tbl.count > 0 THEN
418 FORALL idx2 IN l_metric_name_tbl.FIRST..l_metric_name_tbl.LAST
419 INSERT INTO iex_metric_summaries_all(object_id, object_type, org_id,
420 score_comp_type_id, metric_value, creation_date, created_by, last_update_date,
421 last_updated_by,last_update_login, metric_rating)
422 VALUES(l_site_use_id_tbl(idx1), 'BILL_TO',
423 --l_org_id, Moac Changes. Insert Org_id from cursor.
424 l_org_id_tbl(idx1),
425 l_metric_id_tbl(idx2), l_metric_value_tbl(idx2), SYSDATE,
426 G_USER_ID, SYSDATE, G_USER_ID, G_LOGIN_ID, l_metric_rating_tbl(idx2));
427
428 COMMIT;
429 END IF;
430
431 END LOOP;
432 end if; --Added for Bug 7477844 24-Dec-2008 barathsr
433
434 --Begin Bug 7477844 24-Dec-2008 barathsr
435 OPEN c_comp_count('IEX_DELINQUENCY');
436 fetch c_comp_count into l_obj_count;
437 close c_comp_count;
438 if l_obj_count > 0 then
439 --End Bug 7477844 24-Dec-2008 barathsr
440 i := 0;
441 l_site_use_id_tbl.DELETE;
442 l_cust_account_id_tbl.DELETE;
443 l_party_id_tbl.DELETE;
444
445 FOR r_del IN c_del LOOP
446 i := i + 1;
447 l_delinquency_id_tbl(i) := r_del.delinquency_id;
448 l_site_use_id_tbl(i) := r_del.customer_site_use_id;
449 l_cust_account_id_tbl(i) := r_del.cust_account_id;
450 l_party_id_tbl(i) := r_del.party_cust_id;
451 l_org_id_tbl(i) := r_del.org_id;
452
453 END LOOP;
454 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Total Delinquency Count=' || i);
455
456 FOR idx1 IN l_delinquency_id_tbl.FIRST..l_delinquency_id_tbl.LAST LOOP
457
458 iex_metric_pvt.get_metric_info(p_api_version => 1.0,
459 p_init_msg_list => FND_API.G_TRUE,
460 p_commit => FND_API.G_TRUE,
461 p_validation_level => 100,
462 x_return_status => l_return_status,
463 x_msg_count => l_msg_count,
464 x_msg_data => l_msg_data,
465 p_party_id => l_party_id_tbl(idx1),
466 p_cust_account_id => l_cust_account_id_tbl(idx1),
467 p_customer_site_use_id => l_site_use_id_tbl(idx1),
468 p_delinquency_id => l_delinquency_id_tbl(idx1),
469 p_filter_by_object => 'IEX_DELINQUENCY',
470 x_metric_id_tbl => l_metric_id_tbl,
471 x_metric_name_tbl => l_metric_name_tbl,
472 x_metric_value_tbl => l_metric_value_tbl,
473 x_metric_rating_tbl => l_metric_rating_tbl);
474
475
476
477 IF l_metric_id_tbl.count > 0 THEN
478 FORALL idx2 IN l_metric_name_tbl.FIRST..l_metric_name_tbl.LAST
479 INSERT INTO iex_metric_summaries_all(object_id, object_type, org_id,
480 score_comp_type_id, metric_value, creation_date, created_by,
481 last_update_date, last_updated_by, last_update_login, metric_rating)
482 VALUES(l_delinquency_id_tbl(idx1), 'DELINQUENCY',
483 --l_org_id, Moac Changes. Insert Org_id from cursor.
484 l_org_id_tbl(idx1),
485 l_metric_id_tbl(idx2), l_metric_value_tbl(idx2), SYSDATE,
486 G_USER_ID, SYSDATE, G_USER_ID, G_LOGIN_ID, l_metric_rating_tbl(idx2));
487
488 COMMIT;
489 END IF;
490
491 END LOOP;
492 end if; --Added for Bug 7477844 24-Dec-2008 barathsr
493
494
495 END IF;
496
497 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
498 IEX_DEBUG_PUB.logMessage('Metric_Concur: ' || 'IEX_METRIC: metricConcur: End time:'|| TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
499 END IF;
500 /*
501 Exception
502 WHEN FND_API.G_EXC_ERROR THEN
503 RETCODE := -1;
504 ERRBUF := l_msg_data;
505 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
506 IEX_DEBUG_PUB.logMessage('IEX_METRIC: metricConcur: Expected Error ' || sqlerrm);
507 END IF;
508 FND_FILE.PUT_LINE(FND_FILE.LOG, 'ERROR IN CONCUR: ' || sqlerrm);
509
510 WHEN OTHERS THEN
511 RETCODE := -1;
512 ERRBUF := l_msg_data;
513 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
514 IEX_DEBUG_PUB.logMessage('IEX_METRIC: metricConcur: Unexpected Error ' || sqlerrm);
515 END IF;
516 FND_FILE.PUT_LINE(FND_FILE.LOG, 'ERROR IN CONCUR: ' || sqlerrm);
517 */
518 Exception
519 WHEN OTHERS THEN
520 FND_FILE.PUT_LINE(FND_FILE.LOG, 'ERROR : ' || sqlerrm);
521 END Refresh_All;
522 BEGIN
523 G_LOGIN_ID := FND_GLOBAL.Conc_Login_Id;
524 G_USER_ID := FND_GLOBAL.User_Id;
525 PG_DEBUG := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
526 G_METRIC_BATCH := NVL(fnd_profile.value('IEX_METRIC_ALLOW_BATCH'), 'REALTIME');
527 END IEX_METRIC_CONCUR_PVT;