51: BEGIN
52:
53:
54: -- clean out duplicate logs on the same LEAD_ID and LAST_UPDATE_DATE
55: delete from as_leads_log log
56: where log.log_id <>
57: ( select max(log1.log_id)
58: from as_leads_log log1
59: where log1.lead_id = log.lead_id
54: -- clean out duplicate logs on the same LEAD_ID and LAST_UPDATE_DATE
55: delete from as_leads_log log
56: where log.log_id <>
57: ( select max(log1.log_id)
58: from as_leads_log log1
59: where log1.lead_id = log.lead_id
60: and log1.last_update_date = log.last_update_date);
61:
62:
60: and log1.last_update_date = log.last_update_date);
61:
62:
63: -- initial the derivative columns and set log_start_date
64: update as_leads_log
65: set object_version_number = nvl(object_version_number,0) + 1, log_start_date = last_update_date,
66: log_end_date = null,
67: log_active_days = null,
68: endday_log_flag = 'N',
69: current_log = 0;
70:
71:
72: -- set log_end_date
73: update as_leads_log log
74: set object_version_number = nvl(object_version_number,0) + 1, log.log_end_date =
75: ( select min(log1.last_update_date)
76: from as_leads_log log1
77: where log1.lead_id = log.lead_id
72: -- set log_end_date
73: update as_leads_log log
74: set object_version_number = nvl(object_version_number,0) + 1, log.log_end_date =
75: ( select min(log1.last_update_date)
76: from as_leads_log log1
77: where log1.lead_id = log.lead_id
78: and log1.last_update_date > log.last_update_date);
79:
80: update as_leads_log log
76: from as_leads_log log1
77: where log1.lead_id = log.lead_id
78: and log1.last_update_date > log.last_update_date);
79:
80: update as_leads_log log
81: set object_version_number = nvl(object_version_number,0) + 1, log.log_end_date = log.log_start_date
82: where log.log_end_date is null;
83:
84: -- set log_active_days
81: set object_version_number = nvl(object_version_number,0) + 1, log.log_end_date = log.log_start_date
82: where log.log_end_date is null;
83:
84: -- set log_active_days
85: update as_leads_log
86: set object_version_number = nvl(object_version_number,0) + 1, log_active_days = trunc(log_end_date) - trunc(log_start_date)
87: where log_active_days is null;
88:
89: -- set endday_log_flag
86: set object_version_number = nvl(object_version_number,0) + 1, log_active_days = trunc(log_end_date) - trunc(log_start_date)
87: where log_active_days is null;
88:
89: -- set endday_log_flag
90: update as_leads_log log
91: set object_version_number = nvl(object_version_number,0) + 1, log.endday_log_flag = 'Y'
92: where log.last_update_date =
93: ( select max(log1.last_update_date)
94: from as_leads_log log1
90: update as_leads_log log
91: set object_version_number = nvl(object_version_number,0) + 1, log.endday_log_flag = 'Y'
92: where log.last_update_date =
93: ( select max(log1.last_update_date)
94: from as_leads_log log1
95: where log1.lead_id = log.lead_id
96: and trunc(log1.last_update_date) = trunc(log.last_update_date) );
97:
98: -- set current_log
95: where log1.lead_id = log.lead_id
96: and trunc(log1.last_update_date) = trunc(log.last_update_date) );
97:
98: -- set current_log
99: update as_leads_log log
100: set object_version_number = nvl(object_version_number,0) + 1, log.current_log = 1
101: where log.last_update_date =
102: ( select max(log1.last_update_date)
103: from as_leads_log log1
99: update as_leads_log log
100: set object_version_number = nvl(object_version_number,0) + 1, log.current_log = 1
101: where log.last_update_date =
102: ( select max(log1.last_update_date)
103: from as_leads_log log1
104: where log1.lead_id = log.lead_id );
105:
106: EXCEPTION WHEN OTHERS THEN
107: Write_Log(G_DEBUG_CONCURRENT, 1, 'Error in Precalculate_Log_data');
125: where PROGRAM_NAME = 'ASXRSSM';
126:
127: CURSOR from_date IS
128: select min(LAST_UPDATE_DATE)
129: from as_leads_log;
130:
131: l_this_refresh_date DATE;
132: l_last_refresh_date DATE;
133:
161:
162: DELETE FROM AS_LLOG_STATUS_SUMMARY
163: WHERE lead_id in
164: ( select lead_id
165: from as_leads_log
166: where last_update_date >= l_last_refresh_date );
167:
168: INSERT INTO AS_LLOG_STATUS_SUMMARY
169: ( CREATION_DATE,
198: min(log.LOG_START_DATE) STATUS_START_DATE,
199: max(log.LOG_END_DATE) STATUS_END_DATE,
200: sum(log.LOG_ACTIVE_DAYS) STATUS_DAYS,
201: sum(log.CURRENT_LOG) CURRENT_STATUS
202: FROM AS_LEADS_LOG log,
203: AS_LEADS_ALL ld
204: WHERE log.ENDDAY_LOG_FLAG = 'Y'
205: AND ld.LEAD_ID = log.LEAD_ID
206: AND log.LEAD_ID IN
204: WHERE log.ENDDAY_LOG_FLAG = 'Y'
205: AND ld.LEAD_ID = log.LEAD_ID
206: AND log.LEAD_ID IN
207: ( select lead_id
208: from as_leads_log
209: where last_update_date >= l_last_refresh_date )
210: GROUP BY log.LEAD_ID, ld.DECISION_DATE, log.STATUS_CODE;
211:
212: -- Update as_last_run_dates