DBA Data[Home] [Help]

APPS.BIX_DM_AGENT_CALL_SUMMARY_PKG SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 8

  g_insert_count NUMBER := 0;
Line: 9

  g_delete_count NUMBER := 0;
Line: 46

| WRITE_LOG procedure writes error message into FND log file and also calls INSERT_LOG procedure        |
| for writing error details into BIX_DM_COLLECT_LOG table when ever any procedure fails in this Package.|
======================================================================================================+*/

-- GET_CALLS collects calls from OLTP to the temporary
-- Deletes in chunks, thus easing the rollback segments problem.
-- The chunk size (in rows) can be defined by the user by setting the
-- BIX_DM_DELETE_SIZE profile. If this is not set, then the default
-- chunk size is 100 rows.

/*===================================================================================================+
| INSERT_LOG procedure inserts collection concurrent program status into BIX_DM_COLLECT_LOG table     |
| It inserts a row with the following details :                                                       |
|                                                                                                     |
| COLLECT_STATUS column equals to  FAILED if the program failed otherwise SUCCESS                     |
| COLLECT_EXCEP_MESG as error message if the program failed otherwise NULL                            |
| RUN_START_DATE equals to start date time when  the collection program started runnning              |
| RUN_END_DATE  equals  end date time of the collection program finished                              |
| COLLECT_START_DATE Collection start date specified by the user in the cuncurrent program parameter  |
| COLLECT_END_DATE Collection end date specified by the user in the cuncurrent program parameter      |
====================================================================================================+*/

PROCEDURE INSERT_LOG
AS
  l_bix_collect_log_seq NUMBER;
Line: 73

        SELECT BIX_DM_COLLECT_LOG_S.NEXTVAL INTO l_bix_collect_log_seq FROM DUAL;
Line: 75

/* Insert status into log table */

     INSERT INTO BIX_DM_COLLECT_LOG
	(
	COLLECT_ID,
	COLLECT_CONCUR_ID,
	OBJECT_NAME,
	OBJECT_TYPE,
	RUN_START_DATE,
	RUN_END_DATE,
	COLLECT_START_DATE,
	COLLECT_END_DATE,
	COLLECT_STATUS,
	COLLECT_EXCEP_MESG,
	ROWS_INSERTED,
	ROWS_DELETED,
	LAST_UPDATE_DATE,
	LAST_UPDATED_BY,
	CREATION_DATE,
	CREATED_BY,
	LAST_UPDATE_LOGIN,
	REQUEST_ID,
	PROGRAM_APPLICATION_ID,
	PROGRAM_ID,
	PROGRAM_UPDATE_DATE
	)
  	VALUES
	(
	l_bix_collect_log_seq,
 	NULL,
	g_table_name,
	'TABLE',
	g_program_start_date,
	SYSDATE,
	g_collect_start_date,
     g_collect_end_date,
	g_status,
	g_error_mesg,
	g_insert_count,
	g_delete_count,
	SYSDATE,
	g_user_id,
	SYSDATE,
	g_user_id,
	g_user_id,
	g_request_id,
	g_program_appl_id,
	g_program_id,
	SYSDATE
	);
Line: 130

  END INSERT_LOG;
Line: 139

PROCEDURE DELETE_IN_CHUNKS(table_name in varchar2,
                           where_condition in varchar2 ,
                           rows_deleted out nocopy number)
is
l_delete_statement varchar2(4000);
Line: 144

l_rows_deleted number;
Line: 155

l_rows_deleted := 0;
Line: 161

      DELETE BIX_DM_CALL_SUM
      WHERE period_start_date_time BETWEEN g_min_call_begin_date
         AND g_max_call_begin_date
      AND rownum <= g_commit_chunk_size;
Line: 167

      DELETE BIX_DM_AGENT_SUM
      WHERE period_start_date_time BETWEEN g_min_call_begin_date
         AND g_max_call_begin_date
      AND rownum <= g_commit_chunk_size;
Line: 173

      DELETE BIX_DM_GROUP_SUM
      WHERE period_start_date_time BETWEEN g_min_call_begin_date
         AND g_max_call_begin_date
      AND rownum <= g_commit_chunk_size;
Line: 179

      DELETE BIX_DM_AGENT_OUTCOME_SUM
      WHERE period_start_date_time BETWEEN g_min_call_begin_date
         AND g_max_call_begin_date
      AND rownum <= g_commit_chunk_size;
Line: 185

      DELETE BIX_DM_GROUP_OUTCOME_SUM
      WHERE period_start_date_time BETWEEN g_min_call_begin_date
         AND g_max_call_begin_date
      AND rownum <= g_commit_chunk_size;
Line: 191

      DELETE BIX_DM_EXCEL
      WHERE creation_date < SYSDATE-2/24
      AND rownum <= g_commit_chunk_size;
Line: 198

	--execute immediate l_delete_statement;
Line: 200

	l_rows_deleted := l_rows_deleted + SQL%ROWCOUNT;
Line: 202

	-- dbms_output.put_line('Rows deleted: '||to_char(l_rows_deleted));
Line: 213

rows_deleted := l_rows_deleted;
Line: 217

	    g_proc_name := 'BIX_DM_AGENT_CALL_SUMMARY_PKG.DELETE_IN_CHUNKS';
Line: 218

	    g_error_mesg := 'Invalid IF condition in delete ';
Line: 223

	    g_proc_name := 'BIX_DM_AGENT_CALL_SUMMARY_PKG.DELETE_IN_CHUNKS';
Line: 240

          select a.list_subset_id,b.list_header_id,c.campaign_id,c.schedule_id,d.dialing_method
                 INTO p_sublist_id,p_source_list_id,p_campaign_id,p_campaign_schedule_id,p_dialing_method
          from
                 iec_g_list_subsets a,
			  ams_act_lists b,
                 AMS_CAMPAIGN_SCHEDULES_VL c,
                 ams_list_headers_all d
          where
                 a.list_header_id = b.list_header_id AND
                 b.list_used_by_id = c.schedule_id AND
			  b.list_act_type = 'TARGET' AND
			  b.list_used_by = 'CSCH' AND
			  b.list_header_id = d.list_header_id AND
                 a.list_subset_id = p_source_item_id ;
Line: 270

        select DNIS_ID into l_dnis from bix_dm_dnis where dnis = p_dnis;
Line: 278

	select bix.bix_dm_dnis_s.nextval into l_dnis from dual;
Line: 279

	insert into bix_dm_dnis (dnis_id,dnis,last_update_date,last_updated_by,
				creation_date) values (l_dnis,p_dnis,sysdate,g_user_id,
				sysdate);
Line: 303

select budget_amount,currency_code into p_leads_amount, p_currency_code
from as_sales_leads asl, jtf_rs_resource_extns res
where asl.sales_lead_id = p_lead_id
and asl.created_by = res.user_id
--and asl.creation_date >= p_act_start_time
and res.resource_id = p_resource_id;
Line: 327

select total_amount,currency_code,1
into p_opp_amount, p_currency_code,p_opp_won
from as_leads_all a,
     as_statuses_vl asv,
     jtf_rs_resource_extns res
where a.lead_id = p_opp_id
and a.status = asv.status_code
and asv.win_loss_indicator = 'W'
and res.resource_id = p_resource_id
and a.created_by = res.user_id
--and a.creation_date >= p_act_start_time;
Line: 371

select incident_status_id
into p_sr_status
from
(
select incident_status_id
from CS_INCIDENTS_AUDIT_B AUD, JTF_RS_RESOURCE_EXTNS RES
where AUD.INCIDENT_ID = p_sr_id
and AUD.last_update_date >= p_act_start_time
and RES.resource_id = p_resource_id
and AUD.last_updated_by = RES.user_id
--and AUD.old_incident_status_id IN (1,3)  -- open status
--and AUD.incident_status_id IN (2,4)      -- closed status
and AUD.change_incident_status_flag = 'Y'
order by AUD.last_update_date
)
where rownum = 1;
Line: 409

      select SOURCE_CODE
	 into v_source_code
	 from jtf_ih_interactions
      where productive_time_amount = p_media_id
      and SOURCE_CODE is not null
      and rownum = 1;
Line: 419

      select int.SOURCE_CODE
      into v_source_code
      from jtf_ih_interactions int, jtf_ih_activities act
      where int.interaction_id = act.interaction_id
      AND   act.media_id = p_media_id
      and int.SOURCE_CODE is not null
      and rownum = 1;
Line: 448

select ARC_SOURCE_CODE_FOR into sc_code from ams_source_codes
      where source_code = p_source_code;
Line: 467

	select ARC_SOURCE_CODE_FOR into v_sc_code from ams_source_codes
      where source_code = p_source_code;
Line: 471

		     select campaign_id into p_campaign_id
                         from
                         ams_campaigns_all_b
			 where
                         source_code = p_source_code;
Line: 480

		         select campaign_schedule_id into p_campaign_schedule_id
			    from AMS_CAMPAIGN_SCHEDULES
			    where
			    source_code = p_source_code;
Line: 508

select max(end_date_time)
into   int_end_date_time
from jtf_ih_interactions
where  resource_id = p_resource_id
and productive_time_amount = p_media_id;
Line: 517

select max(int.end_date_time)
into   int_end_date_time
from jtf_ih_interactions int, jtf_ih_activities act
where  int.resource_id = p_resource_id
and int.interaction_id = act.interaction_id
AND   act.media_id = p_media_id;
Line: 564

select resource_id
into v_resource_id
from jtf_ih_interactions int1, jtf_ih_activities act1
where int1.start_date_time =
(select min(int2.start_date_time)
from jtf_ih_interactions int2, jtf_ih_activities act2
where act2.media_id = p_media_id
and act2.interaction_id = int2.interaction_id
and int2.resource_id <> 0  --avoid PREVIEW calls have resourceid of 0
and int2.resource_id <> g_ao_dummy_resource
)
and act1.interaction_id = int1.interaction_id
and act1.media_id = p_media_id
and int1.resource_id <> 0  --avoid PREVIEW calls with resourceid of 0
and int1.resource_id <> g_ao_dummy_resource
and rownum = 1
;
Line: 623

   SELECT MAX(DECODE(clook.contact_flag,'Y',1,0)) contacts,
          MAX(DECODE(clook.contact_flag,'N',1,0)) noncontacts,
          MAX(DECODE(int.outcome_id,11,1,0)) abandoned,
          MAX(DECODE(int.outcome_id,2,1,0)) busy,
          MAX(DECODE(int.outcome_id,1,1,0)) ring_no_ansewr,
          MAX(DECODE(int.outcome_id,6,1,0)) answering_machine,
          MAX(DECODE(int.outcome_id,22,1,23,1,24,1,25,1,0)) sit,
          MAX(DECODE(rlook.positive_response_flag,'Y',1,0)) presp,
          MAX(DECODE(clook.connect_flag,'Y',1,0)) connects,
          MAX(DECODE(clook.connect_flag,'N',1,0)) nonconnects,
          MAX(DECODE(int.outcome_id,7,0,11,0,2,0,1,0,22,0,23,0,24,0,25,0,26,0,
                     decode(clook.connect_flag,'Y',0,'N',0,1))) others
   INTO   g_contact_count,
          g_noncontact_count,
          g_abandon_count,
          g_busy_count,
          g_rna_count,
          g_ansmc_count,
          g_sit_count,
          g_pr_count,
          g_connect_count,
          g_nonconnect_count,
          g_other_count
   from   jtf_ih_interactions int,
          jtf_ih_activities act,
          bix_dm_connect_lookups clook,
          bix_dm_response_lookups rlook
   where  int.interaction_id = act.interaction_id
   and    int.resource_id = p_resource_id
   and    act.media_id = p_media_id
   AND    int.outcome_id = clook.outcome_id (+)
   --AND    int.outcome_id = rlook.outcome_id (+)
   AND    int.result_id = rlook.result_id (+);
Line: 671

   SELECT MAX(DECODE(clook.contact_flag,'Y',1,0)) contacts,
          MAX(DECODE(clook.contact_flag,'N',1,0)) noncontacts,
          MAX(DECODE(int.outcome_id,11,1,0)) abandoned,
          MAX(DECODE(int.outcome_id,2,1,0)) busy,
          MAX(DECODE(int.outcome_id,1,1,0)) ring_no_ansewr,
          MAX(DECODE(int.outcome_id,6,1,0)) answering_machine,
          MAX(DECODE(int.outcome_id,22,1,23,1,24,1,25,1,0)) sit,
          MAX(DECODE(rlook.positive_response_flag,'Y',1,0)) presp,
          MAX(DECODE(clook.connect_flag,'Y',1,0)) connects,
          MAX(DECODE(clook.connect_flag,'N',1,0)) nonconnects,
          MAX(DECODE(int.outcome_id,7,0,11,0,2,0,1,0,22,0,23,0,24,0,25,0,26,0,
                     decode(clook.connect_flag,'Y',0,'N',0,1))) others
   INTO   g_contact_count,
          g_noncontact_count,
          g_abandon_count,
          g_busy_count,
          g_rna_count,
          g_ansmc_count,
          g_sit_count,
          g_pr_count,
          g_connect_count,
          g_nonconnect_count,
          g_other_count
   from   jtf_ih_interactions int,
          jtf_ih_activities act,
          bix_dm_connect_lookups clook,
          bix_dm_response_lookups rlook
   where  int.interaction_id = act.interaction_id
   and    act.media_id = p_media_id
   AND    int.outcome_id = clook.outcome_id (+)
   --AND    int.outcome_id = rlook.outcome_id (+)
   AND    int.result_id = rlook.result_id (+);
Line: 743

SELECT min(start_date_time)
INTO   l_talk_start_time
FROM   jtf_ih_media_item_lc_segs
WHERE  media_id = p_media_id
AND    resource_id = p_resource_id;
Line: 749

SELECT min(start_date_time), max(end_date_time)
INTO   l_int_start_time, l_int_end_time
FROM   jtf_ih_interactions int
WHERE  resource_id = p_resource_id
AND
(
  productive_time_amount = p_media_id
  OR EXISTS (SELECT act.interaction_id from jtf_ih_activities act
             WHERE act.media_id = p_media_id
		   AND   act.interaction_id = int.interaction_id
		   )
);
Line: 822

   select classification_value_id
   into v_classification_value_id
   from cct_classification_values
   where classification_value = p_classification
   and ( f_deletedflag <> 'D'
         or f_deletedflag IS NULL
       )
   and creation_date < p_date;
Line: 836

      select max(classification_value_id)
      into v_classification_value_id
      from cct_classification_values
      where classification_value = p_classification
      and f_deletedflag = 'D'
      and creation_date < p_date
	 and last_update_date > p_date;
Line: 863

select count(*)
into v_num_rows_returned
from bix_dm_goals
WHERE classification_value_id = p_classification_value_id
and end_date_active IS NULL;
Line: 870

		SELECT min_call_treshold_goal,sl_seconds_goal into
			p_min_call_treshold_goal, p_sl_seconds_goal
		FROM bix_dm_goals
		WHERE classification_value_id = p_classification_value_id
			and end_date_active IS NULL;
Line: 876

		SELECT min_call_treshold_goal,sl_seconds_goal into
                        p_min_call_treshold_goal, p_sl_seconds_goal
                FROM bix_dm_goals
                WHERE classification_value_id = -999
                        and end_date_active IS NULL;
Line: 895

select application_installed into v_is_installed
from  bix_dm_apps_dependency
where application_short_name = 'BIX_DM_OTS_INSTALLED';
Line: 912

select application_installed into v_is_installed
from  bix_dm_apps_dependency
where application_short_name = 'BIX_DM_OAO_INSTALLED';
Line: 929

select application_installed into v_is_installed
from  bix_dm_apps_dependency
where application_short_name = 'BIX_DM_OSR_INSTALLED';
Line: 975

 l_delete_size NUMBER := 0;
Line: 989

 l_leads_updated number;
Line: 995

 l_opp_updated number;
Line: 1024

 SELECT ih_mitem.media_id MEDIA_ID,
	nvl(ih_mitem.server_group_id, -1) SERVER_GROUP_ID,
        CLASSIFICATION CLASSIFICATION,
        ih_mitem.dnis DNIS,
        ih_mitem.direction DIRECTION,
        TRUNC(ih_mitem.start_date_time) PERIOD_START_DATE,
        LPAD(TO_CHAR(ih_mitem.start_date_time,'HH24:'),3,'0')|| DECODE(SIGN(TO_NUMBER(TO_CHAR(ih_mitem.start_date_time,'MI'))-29),0,'00',1,'30',-1,'00') PERIOD_START_TIME,
	TO_DATE(TO_CHAR(ih_mitem.start_date_time,'YYYY/MM/DD ')||LPAD(TO_CHAR(ih_mitem.start_date_time,'HH24:'),3,'0') || DECODE(SIGN(TO_NUMBER(TO_CHAR(ih_mitem.start_date_time,'MI'))-29),0,'00',1,'30',-1,'00'),'YYYY/MM/DD HH24:MI') PERIOD_START_DATE_TIME,
        DECODE(UPPER(ih_mitem.direction),'INBOUND',1,0) CALLS_OFFERED,
	DECODE(UPPER(ih_mitem.direction),'INBOUND',DECODE(UPPER(ih_mitem.media_abandon_flag),'Y',1,0),0) CALLS_ABANDONED ,
        ih_mitem.media_abandon_flag MEDIA_ABANDON_FLAG ,
        ih_mitem.source_item_id SOURCE_ITEM_ID,
	   ih_mitem.start_date_time CALL_START_TIME
   FROM      JTF_IH_MEDIA_ITEMS ih_mitem
 WHERE  ih_mitem.start_date_time BETWEEN g_min_call_begin_date AND g_max_call_begin_date
 AND
 (
 ih_mitem.media_item_type = 'TELE_INB' or
 ih_mitem.media_item_type = 'TELE_DIRECT' or
 ih_mitem.media_item_type = 'TELEPHONE' or
 ih_mitem.media_item_type = 'CALL' or
 ih_mitem.media_item_type = 'TELE_MANUAL' or
 ih_mitem.media_item_type = 'TELE_WEB'
 )
 AND    ih_mitem.active = 'N' ;
Line: 1051

        select msegs.resource_id RESOURCE_ID,
               mtyps.milcs_code MEDIA_TYPE,
               msegs.duration DURATION,
               msegs.start_date_time START_DATE_TIME,
               msegs.end_date_time END_DATE_TIME
        from
               JTF_IH_MEDIA_ITEM_LC_SEGS msegs,
               JTF_IH_MEDIA_ITM_LC_SEG_TYS mtyps
        where
               msegs.media_id = p_media_id and
               msegs.MILCS_TYPE_ID = mtyps.MILCS_TYPE_ID and
               msegs.resource_id is not null
        order by
	       msegs.resource_id,
               msegs.start_date_time;
Line: 1081

        select a.outcome_id OUTCOME_ID,
               a.action_id ACTION_ID,
               a.action_item_id ACTION_ITEM_ID,
               a.doc_ref DOC_REF,
               a.doc_id DOC_ID,
               a.start_date_time ACT_START_TIME
        from
            jtf_ih_activities a,
            jtf_ih_interactions b
        where
	    (
                a.media_id = p_media_id
             OR b.productive_time_amount = p_media_id
            ) and
            b.resource_id = p_resource_id and
            a.interaction_id = b.interaction_id
        order by b.outcome_id;
Line: 1105

   *level we will always insert these fields in the first activity row.
   *IF there are one or more WITH_AGENT segments.
   *If there are no WITH_AGENT segments then write it at the CALL
   *row.  this can happen for example for outbound calls which were
   *predictive dialed but never reached an agent.  We still need to
   *track the outcome for these calls.
  */

BEGIN

 v_classification_value_id := NULL;
Line: 1153

 l_leads_updated := 0;
Line: 1158

 l_opp_updated := 0;
Line: 1167

 g_insert_count := 0;
Line: 1168

 g_delete_count := 0;
Line: 1188

   SELECT MIN(start_date_time),MAX(start_date_time)
   INTO   g_min_call_begin_date,g_max_call_begin_date
   FROM   jtf_ih_media_items
   WHERE  last_update_date BETWEEN g_collect_start_date AND g_collect_end_date
   AND
   (
   media_item_type = 'TELE_INB' or
   media_item_type = 'TELE_DIRECT' or
   media_item_type = 'TELEPHONE' or
   media_item_type = 'CALL' or
   media_item_type = 'TELE_MANUAL' or
   media_item_type = 'TELE_WEB'
    );
Line: 1207

SELECT TO_DATE(
	TO_CHAR(g_min_call_begin_date,'YYYY/MM/DD')||
	LPAD(TO_CHAR(g_min_call_begin_date,'HH24:'),3,'0')||
	DECODE(SIGN(TO_NUMBER(TO_CHAR(g_min_call_begin_date,'MI'))-29),0,'00:00',1,'30:00',-1,'00:00'),
	'YYYY/MM/DDHH24:MI:SS')
INTO g_min_call_begin_date
FROM DUAL;
Line: 1220

SELECT TO_DATE(
	TO_CHAR(g_max_call_begin_date,'YYYY/MM/DD')||
	LPAD(TO_CHAR(g_max_call_begin_date,'HH24:'),3,'0')||
	DECODE(SIGN(TO_NUMBER(TO_CHAR(g_max_call_begin_date,'MI'))-29),0,'29:59',1,'59:59',-1,'29:59'),
	'YYYY/MM/DDHH24:MI:SS')
INTO g_max_call_begin_date
FROM DUAL;
Line: 1231

select resource_id
into g_ao_dummy_resource
from jtf_rs_resource_extns
where user_name = 'IECAOUSER';
Line: 1258

		select
			SUM(DECODE(UPPER(call.direction),'INBOUND',DECODE(ih_milcs_ty.milcs_code,'IVR',NVL(ih_milcs.duration,0),0),0)) IVR_TIME,
			SUM(DECODE(UPPER(call.direction),'INBOUND',DECODE(ih_milcs_ty.milcs_code,'ROUTING',NVL(ih_milcs.duration,0),0),0)) ROUTE_TIME,
			SUM(DECODE(UPPER(call.direction),'INBOUND',DECODE(ih_milcs_ty.milcs_code,'IN_QUEUE',NVL(ih_milcs.duration,0),0),0)) QUEUE_TIME,
			SUM(DECODE(UPPER(call.direction),'INBOUND',DECODE(UPPER(call.media_abandon_flag),'Y',DECODE(ih_milcs_ty.milcs_code,'IN_QUEUE',NVL(ih_milcs.duration,0),0),0),0)) ABANDON_TIME,
                        SUM(DECODE(ih_milcs_ty.milcs_code,'WITH_AGENT',1,0)),
                        SUM(DECODE(ih_milcs_ty.milcs_code,'ROUTING',1,0))
	       into
			 v_ivr_time ,
			 v_route_time ,
			 v_queue_time ,
			 v_abandon_time ,
			 l_with_agent_segs,
			 l_number_of_rerouts
	       from
		       JTF_IH_MEDIA_ITEM_LC_SEGS ih_milcs,
		       JTF_IH_MEDIA_ITM_LC_SEG_TYS ih_milcs_ty
	       where
		       ih_milcs.media_id = call.media_id and
		       ih_milcs.MILCS_TYPE_ID = ih_milcs_ty.MILCS_TYPE_ID ;
Line: 1335

		     select min(resource_id) into l_call_answered_by_r_id
			    from JTF_IH_MEDIA_ITEM_LC_SEGS
			    where JTF_IH_MEDIA_ITEM_LC_SEGS.media_id =
                                  call.media_id
                   and resource_id is not null
			    and start_date_time =
			    (select min(msegs.start_date_time) from
			     JTF_IH_MEDIA_ITEM_LC_SEGS msegs,
			     JTF_IH_MEDIA_ITM_LC_SEG_TYS mtyps
			     where
			     msegs.media_id = call.media_id and
			     msegs.MILCS_TYPE_ID = mtyps.MILCS_TYPE_ID and
			     mtyps.milcs_code = 'WITH_AGENT'
			     );
Line: 1471

      SELECT DISTINCT int.outcome_id,
                      int.result_id,
                      int.reason_id
      INTO   l_outcome_id, l_result_id, l_reason_id
      from   jtf_ih_interactions int,
             jtf_ih_activities act
      where  int.interaction_id = act.interaction_id
      and    int.resource_id = l_current_resource_id
      and    act.media_id = call.media_id;
Line: 1508

   1 = Add, 6=Update, 7=Upsell, 8=Xsell, 13=SR Created
   14= SR Updated, 27=Close opportunity

   Action Item Id values are:
   8=Lead, 17=SR, 21=Opportunity, 22=Sales Lead
***/

/****Action id of 1 means added/created ****/
          if activity.action_id = 1 then -- item added/created
             if activity.action_item_id = 22   -- Sales lead
                OR activity.action_item_id = 8 -- Lead
             then
                l_leads_created := l_leads_created + 1;
Line: 1549

/****Action id of 6 means updated ****/
--
--Change for bug 2298527:  Amounts will be not be calculated
--if the agent updates the lead or opportunity. Amounts are given
--to the agent who created the lead or opportunity. For cross-sold
--and up-sold etc, the amounts are calculated
--

          if activity.action_id = 6 then -- item updated
             if activity.action_item_id = 22   -- Sales lead
                OR activity.action_item_id = 8 -- Lead
             then
                l_leads_updated := l_leads_updated + 1;
Line: 1573

                l_opp_updated := l_opp_updated + 1;
Line: 1602

          if activity.action_id = 14 then -- sr updated, specific code
                get_sr_status (activity.doc_id,l_current_resource_id,activity.act_start_time,l_sr_status);
Line: 1647

			insert into bix_dm_interface
                        (
                        MEDIA_ID,
			RESOURCE_ID,
			--CLASSIFICATION_ID,
			CLASSIFICATION_VALUE_ID,
			SERVER_GROUP_ID,
			DNIS,
			--OUTCOME_ID,
			CURRENCY_CODE,
			PERIOD_START_DATE,
			PERIOD_START_TIME,
			PERIOD_START_DATE_TIME,
			CALLS_OFFERED,
			CALLS_IN_QUEUE,
			IN_CALLS_HANDLED,
			CALLS_TRANSFERED,
			CALLS_ABANDONED,
			OUT_CALLS_HANDLED,
			IVR_TIME,
			ROUTE_TIME,
			QUEUE_TIME,
			IN_TALK_TIME,
			IN_WRAP_TIME,
			ABANDON_TIME,
			OUT_TALK_TIME,
			OUT_WRAP_TIME,
			CAMPAIGN_ID,
			CAMPAIGN_SCHEDULE_ID,
                        SOURCE_LIST_ID,
                        SUBLIST_ID,
                        DIRECTION,
                        SERVICE_REQUESTS_CREATED,
			SERVICE_REQUESTS_OPENED,
			SERVICE_REQUESTS_CLOSED,
			LEADS_CREATED,
			LEADS_UPDATED,
			OPPORTUNITIES_CREATED,
			OPPORTUNITIES_UPDATED,
			OPPORTUNITIES_WON,
			LEADS_AMOUNT,
			OPPORTUNITIES_WON_AMOUNT,
			LEADS_AMOUNT_TXN,
			OPPORTUNITIES_WON_AMOUNT_TXN,
			OUT_CALLS_HANDLD_GT_THN_X_TIME,
			IN_CALLS_HANDLD_GT_THN_X_TIME,
			CALLS_ANSWRD_WITHIN_X_TIME,
			ROW_TYPE,
			QUEUE_TIME_FOR_CALLS_HANDLED,
                        OUTCOME_ID,
                        RESULT_ID,
                        REASON_ID
                        )
                        values
                        (
			call.media_id,
		        l_current_resource_id,
			v_classification_value_id,
			call.server_group_id,
			l_dnis,
--decode(activity.outcome_id,l_prev_outcome_id,NULL,activity.outcome_id),
			NULL,
			call.PERIOD_START_DATE,
			call.PERIOD_START_TIME,
			call.PERIOD_START_DATE_TIME,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			v_campaign_id,
			v_campaign_schedule_id,
                        l_source_list_id,
                        l_sublist_id,
                        decode(call.direction,'OUTBOUND',1,2),
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
			'T',
                        0,
                        l_outcome_id,
                        l_result_id,
                        l_reason_id
                        );
Line: 1759

        g_insert_count := g_insert_count + 1;
Line: 1769

		   -- IGOR: INSERT...   agent row:

			insert into bix_dm_interface
                        (
                        MEDIA_ID,
			RESOURCE_ID,
			--CLASSIFICATION_ID,
			CLASSIFICATION_VALUE_ID,
			SERVER_GROUP_ID,
			DNIS,
			CURRENCY_CODE,
			PERIOD_START_DATE,
			PERIOD_START_TIME,
			PERIOD_START_DATE_TIME,
			CALLS_OFFERED,
			CALLS_IN_QUEUE,
			IN_CALLS_HANDLED,
			CALLS_TRANSFERED,
			CALLS_ABANDONED,
			OUT_CALLS_HANDLED,
			IVR_TIME,
			ROUTE_TIME,
			QUEUE_TIME,
			IN_TALK_TIME,
			IN_WRAP_TIME,
			ABANDON_TIME,
			OUT_TALK_TIME,
			OUT_WRAP_TIME,
			CAMPAIGN_ID,
			CAMPAIGN_SCHEDULE_ID,
			--OUTCOME_ID,
                        SOURCE_LIST_ID,
                        SUBLIST_ID,
                        DIRECTION,
                        SERVICE_REQUESTS_CREATED,
			SERVICE_REQUESTS_OPENED,
			SERVICE_REQUESTS_CLOSED,
			LEADS_CREATED,
			LEADS_UPDATED,
			OPPORTUNITIES_CREATED,
			OPPORTUNITIES_UPDATED,
			OPPORTUNITIES_WON,
			LEADS_AMOUNT,
			OPPORTUNITIES_WON_AMOUNT,
			LEADS_AMOUNT_TXN,
			OPPORTUNITIES_WON_AMOUNT_TXN,
			OUT_CALLS_HANDLD_GT_THN_X_TIME,
			IN_CALLS_HANDLD_GT_THN_X_TIME,
			CALLS_ANSWRD_WITHIN_X_TIME,
			ROW_TYPE,
			QUEUE_TIME_FOR_CALLS_HANDLED ,
                        OUT_CALLS_DIALED,
                        OUT_CONTACT_COUNT,
                        OUT_NON_CONTACT_COUNT,
                        OUT_ABANDON_COUNT,
                        OUT_BUSY_COUNT ,
                        OUT_RING_NOANSWER_COUNT,
                        OUT_ANS_MC_COUNT ,
                        OUT_SIT_COUNT,
                        OUT_POSITIVE_RESPONSE_COUNT,
                        OUT_CONNECT_COUNT ,
                        OUT_NON_CONNECT_COUNT ,
                        OUT_OTHER_OUTCOME_COUNT,
                        OUT_PREVIEW_TIME,
                        OUT_CONTACT_HANDLE_TIME,
                        OUTCOME_ID,
                        RESULT_ID,
                        REASON_ID
                        )
                        values
                        (
			call.media_id,
		        l_current_resource_id,
			--v_classification_id,
			v_classification_value_id,
			call.server_group_id,
			l_dnis,
			l_currency_code,
			call.PERIOD_START_DATE,
			call.PERIOD_START_TIME,
			call.PERIOD_START_DATE_TIME,
			0,
			0,
			v_in_calls_handled,
			v_calls_transferred,
			0,
			v_out_calls_handled,
			0,
			0,
			0,
			v_in_talk_time,
			v_in_wrap_time,
			0,
			v_out_talk_time,
			v_out_wrap_time,
			v_campaign_id,
			v_campaign_schedule_id,
			--l_first_outcome_id,
                        l_source_list_id,
                        l_sublist_id,
                        decode(call.direction,'OUTBOUND',1,'INBOUND',2),
                        l_sr_created,
                        l_sr_opened,
                        l_sr_closed,
                        l_leads_created,
                        l_leads_updated,
                        l_opp_created,
                        l_opp_updated,
                        v_opp_won,
                        decode(l_currency_code,g_preferred_currency,v_leads_amount,null,v_leads_amount,gl_currency_api.convert_amount_sql(l_currency_code,g_preferred_currency,call.PERIOD_START_DATE_TIME,g_conversion_type,v_leads_amount)),
                        decode(l_currency_code,g_preferred_currency,v_opp_amount,null,v_opp_amount,gl_currency_api.convert_amount_sql(l_currency_code,g_preferred_currency,call.PERIOD_START_DATE_TIME,g_conversion_type,v_opp_amount)),
                        v_leads_amount,
                        v_opp_amount,
                        l_ou_cls_hdld_gt_thn_x_tm,
                        l_in_cls_hdld_gt_thn_x_tm,
                        l_calls_answrd_within_x_time,
                        'A',
			l_queue_time_for_calls_handled ,
                        g_dial_count,
                        g_contact_count,
                        g_noncontact_count,
                        g_abandon_count,
                        g_busy_count,
                        g_rna_count,
                        g_ansmc_count,
                        g_sit_count,
                        g_pr_count,
                        g_connect_count,
                        g_nonconnect_count,
                        g_other_count,
                        nvl(l_agent_preview_time,0),
                        nvl
				    (decode(g_contact_count,0,0,NULL,0,
				       nvl(v_out_talk_time,0) +
				       nvl(v_out_wrap_time,0) +
				       nvl(l_agent_preview_time,0)
				        ),0
				     ),
                        l_outcome_id,
                        l_result_id,
                        l_reason_id
                        );
Line: 1918

			g_insert_count := g_insert_count + 1;
Line: 1937

			 l_leads_updated := 0;
Line: 1942

			 l_opp_updated := 0;
Line: 2100

	   -- IGOR: INSERT...
	   -- IGOR: CLEANUP ... for call row

-- activity loop for the last agent row:


	 l_activity_counter := 1;
Line: 2130

                SELECT DISTINCT int.outcome_id,
                                int.result_id,
                                int.reason_id
                INTO   l_outcome_id, l_result_id, l_reason_id
                from   jtf_ih_interactions int,
                       jtf_ih_activities act
                where  int.interaction_id = act.interaction_id
                and    int.resource_id = l_current_resource_id
                and    act.media_id = call.media_id;
Line: 2201

          if activity.action_id = 6 then -- item updated
             if activity.action_item_id = 22
                OR activity.action_item_id = 8 THEN
                l_leads_updated := l_leads_updated + 1;
Line: 2206

                l_opp_updated := l_opp_updated + 1;
Line: 2228

          if activity.action_id = 14 then -- sr updated, specific code
                get_sr_status (activity.doc_id,l_current_resource_id,activity.act_start_time,l_sr_status);
Line: 2259

			insert into bix_dm_interface
                        (
                        MEDIA_ID,
			RESOURCE_ID,
			--CLASSIFICATION_ID,
			CLASSIFICATION_VALUE_ID,
			SERVER_GROUP_ID,
			DNIS,
			--OUTCOME_ID,
			CURRENCY_CODE,
			PERIOD_START_DATE,
			PERIOD_START_TIME,
			PERIOD_START_DATE_TIME,
			CALLS_OFFERED,
			CALLS_IN_QUEUE,
			IN_CALLS_HANDLED,
			CALLS_TRANSFERED,
			CALLS_ABANDONED,
			OUT_CALLS_HANDLED,
			IVR_TIME,
			ROUTE_TIME,
			QUEUE_TIME,
			IN_TALK_TIME,
			IN_WRAP_TIME,
			ABANDON_TIME,
			OUT_TALK_TIME,
			OUT_WRAP_TIME,
			CAMPAIGN_ID,
			CAMPAIGN_SCHEDULE_ID,
                        SOURCE_LIST_ID,
                        SUBLIST_ID,
                        DIRECTION,
                        SERVICE_REQUESTS_CREATED,
			SERVICE_REQUESTS_OPENED,
			SERVICE_REQUESTS_CLOSED,
			LEADS_CREATED,
			LEADS_UPDATED,
			OPPORTUNITIES_CREATED,
			OPPORTUNITIES_UPDATED,
			OPPORTUNITIES_WON,
			LEADS_AMOUNT,
			OPPORTUNITIES_WON_AMOUNT,
			LEADS_AMOUNT_TXN,
			OPPORTUNITIES_WON_AMOUNT_TXN,
			OUT_CALLS_HANDLD_GT_THN_X_TIME,
			IN_CALLS_HANDLD_GT_THN_X_TIME,
			CALLS_ANSWRD_WITHIN_X_TIME,
			ROW_TYPE,
			QUEUE_TIME_FOR_CALLS_HANDLED ,
                        OUTCOME_ID,
                        RESULT_ID,
                        REASON_ID
                        )
                        values
                        (
			call.media_id,
		        l_current_resource_id,
			--v_classification_id,
			v_classification_value_id,
			call.server_group_id,
			l_dnis,
--decode(activity.outcome_id,l_prev_outcome_id,NULL,activity.outcome_id),
			NULL,
			call.PERIOD_START_DATE,
			call.PERIOD_START_TIME,
			call.PERIOD_START_DATE_TIME,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			0,
			v_campaign_id,
			v_campaign_schedule_id,
                        l_source_list_id,
                        l_sublist_id,
                        decode(call.direction,'OUTBOUND',1,2),
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
			0,
                        0,
                        0,
                        0,
			'T',
                        0,
                        l_outcome_id,
                        l_result_id,
                        l_reason_id
                        );
Line: 2372

			g_insert_count := g_insert_count + 1;
Line: 2389

		   -- IGOR: INSERT...
			insert into bix_dm_interface
                        (
                        MEDIA_ID,
			RESOURCE_ID,
			--CLASSIFICATION_ID,
			CLASSIFICATION_VALUE_ID,
			SERVER_GROUP_ID,
			DNIS,
			CURRENCY_CODE,
			PERIOD_START_DATE,
			PERIOD_START_TIME,
			PERIOD_START_DATE_TIME,
			CALLS_OFFERED,
			CALLS_IN_QUEUE,
			IN_CALLS_HANDLED,
			CALLS_TRANSFERED,
			CALLS_ABANDONED,
			OUT_CALLS_HANDLED,
			IVR_TIME,
			ROUTE_TIME,
			QUEUE_TIME,
			IN_TALK_TIME,
			IN_WRAP_TIME,
			ABANDON_TIME,
			OUT_TALK_TIME,
			OUT_WRAP_TIME,
			CAMPAIGN_ID,
			CAMPAIGN_SCHEDULE_ID,
			--OUTCOME_ID,
                        SOURCE_LIST_ID,
                        SUBLIST_ID,
                        DIRECTION,
                        SERVICE_REQUESTS_CREATED,
			SERVICE_REQUESTS_OPENED,
			SERVICE_REQUESTS_CLOSED,
			SERVICE_REQUESTS_INFO_REQ,
			LEADS_CREATED,
			LEADS_UPDATED,
			OPPORTUNITIES_CREATED,
			OPPORTUNITIES_UPDATED,
			OPPORTUNITIES_WON,
			LEADS_AMOUNT,
			OPPORTUNITIES_WON_AMOUNT,
			OPPORTUNITIES_CROSS_SOLD,
			OPPORTUNITIES_UP_SOLD,
			OPPORTUNITIES_DECLINED,
			LEADS_AMOUNT_TXN,
			OPPORTUNITIES_WON_AMOUNT_TXN,
			OUT_CALLS_HANDLD_GT_THN_X_TIME,
			IN_CALLS_HANDLD_GT_THN_X_TIME,
			CALLS_ANSWRD_WITHIN_X_TIME,
			ROW_TYPE,
			QUEUE_TIME_FOR_CALLS_HANDLED ,
                        OUT_CALLS_DIALED,
                        OUT_CONTACT_COUNT,
                        OUT_NON_CONTACT_COUNT,
                        OUT_ABANDON_COUNT,
                        OUT_BUSY_COUNT ,
                        OUT_RING_NOANSWER_COUNT,
                        OUT_ANS_MC_COUNT ,
                        OUT_SIT_COUNT,
                        OUT_POSITIVE_RESPONSE_COUNT,
                        OUT_CONNECT_COUNT ,
                        OUT_NON_CONNECT_COUNT ,
                        OUT_OTHER_OUTCOME_COUNT,
                        OUT_PREVIEW_TIME,
                        OUT_CONTACT_HANDLE_TIME,
                        OUTCOME_ID,
                        RESULT_ID,
                        REASON_ID
                        )
                        values
                        (
			call.media_id,
		        l_current_resource_id,
			--v_classification_id,
			v_classification_value_id,
			call.server_group_id,
			l_dnis,
			l_currency_code,
			call.PERIOD_START_DATE,
			call.PERIOD_START_TIME,
			call.PERIOD_START_DATE_TIME,
			0,
			0,
			v_in_calls_handled,
			v_calls_transferred,
			0,
			v_out_calls_handled,
			0,
			0,
			0,
			v_in_talk_time,
			v_in_wrap_time,
			0,
			v_out_talk_time,
			v_out_wrap_time,
			v_campaign_id,
			v_campaign_schedule_id,
			--l_first_outcome_id,
                        l_source_list_id,
                        l_sublist_id,
                        decode(call.direction,'OUTBOUND',1,'INBOUND',2),
                        l_sr_created,
                        l_sr_opened,
                        l_sr_closed,
                        l_sr_info_req,
                        l_leads_created,
                        l_leads_updated,
                        l_opp_created,
                        l_opp_updated,
                        v_opp_won,
                        decode(l_currency_code,g_preferred_currency,v_leads_amount,null,v_leads_amount,gl_currency_api.convert_amount_sql(l_currency_code,g_preferred_currency,call.PERIOD_START_DATE_TIME,g_conversion_type,v_leads_amount)),
                        decode(l_currency_code,g_preferred_currency,v_opp_amount,null,v_opp_amount,gl_currency_api.convert_amount_sql(l_currency_code,g_preferred_currency,call.PERIOD_START_DATE_TIME,g_conversion_type,v_opp_amount)),
			l_opp_cross_sold,
			l_opp_up_sold,
			l_opp_declined,
                        v_leads_amount,
                        v_opp_amount,
                        l_ou_cls_hdld_gt_thn_x_tm,
                        l_in_cls_hdld_gt_thn_x_tm,
                        l_calls_answrd_within_x_time,
                        'A',
			l_queue_time_for_calls_handled ,
                        g_dial_count,
                        g_contact_count,
                        g_noncontact_count,
                        g_abandon_count,
                        g_busy_count,
                        g_rna_count,
                        g_ansmc_count,
                        g_sit_count,
                        g_pr_count,
                        g_connect_count,
                        g_nonconnect_count,
                        g_other_count,
                        nvl(l_agent_preview_time,0),
                        nvl
				    (decode(g_contact_count,0,0,NULL,0,
				       nvl(v_out_talk_time,0) +
				       nvl(v_out_wrap_time,0) +
				       nvl(l_agent_preview_time,0)
				        ),0
				     ),
                        l_outcome_id,
                        l_result_id,
                        l_reason_id
                        );
Line: 2545

			g_insert_count := g_insert_count + 1;
Line: 2561

          *This means we have not inserted the outcome/result/reason
          *as there are no with agent segments.
          *This will happen only for predictive calls
          *which did not connect to an agent.  Assume
          *only one interaction row (rownum = 1) - confirmed
          *from AO - OLTP team.
          * Retrieve the outcome, result and reason here.
          *Right now applies only to outbound calls.
         */

            BEGIN
               SELECT DISTINCT int.outcome_id,
                               int.result_id,
                               int.reason_id
               INTO   l_outcome_id, l_result_id, l_reason_id
               from   jtf_ih_interactions int,
                      jtf_ih_activities act
               where  int.interaction_id = act.interaction_id
               and    act.media_id = call.media_id
               and    rownum = 1;
Line: 2592

		  --If so, then insert the agent level row here.
		  --Then, set the AO counts to NULL so that they
		  --do not get repeated at call level.
		  --If no interaction resource, do the other steps as usual.
		  --

		  IF g_interaction_resource IS NOT NULL
		  THEN
			insert into bix_dm_interface
                        (
                        MEDIA_ID,
			RESOURCE_ID,
			--CLASSIFICATION_ID,
			CLASSIFICATION_VALUE_ID,
			SERVER_GROUP_ID,
			DNIS,
			CURRENCY_CODE,
			PERIOD_START_DATE,
			PERIOD_START_TIME,
			PERIOD_START_DATE_TIME,
			CALLS_OFFERED,
			CALLS_IN_QUEUE,
			IN_CALLS_HANDLED,
			CALLS_TRANSFERED,
			CALLS_ABANDONED,
			OUT_CALLS_HANDLED,
			IVR_TIME,
			ROUTE_TIME,
			QUEUE_TIME,
			IN_TALK_TIME,
			IN_WRAP_TIME,
			ABANDON_TIME,
			OUT_TALK_TIME,
			OUT_WRAP_TIME,
			CAMPAIGN_ID,
			CAMPAIGN_SCHEDULE_ID,
			--OUTCOME_ID,
                        SOURCE_LIST_ID,
                        SUBLIST_ID,
                        DIRECTION,
                        SERVICE_REQUESTS_CREATED,
			SERVICE_REQUESTS_OPENED,
			SERVICE_REQUESTS_CLOSED,
			LEADS_CREATED,
			LEADS_UPDATED,
			OPPORTUNITIES_CREATED,
			OPPORTUNITIES_UPDATED,
			OPPORTUNITIES_WON,
			LEADS_AMOUNT,
			OPPORTUNITIES_WON_AMOUNT,
			LEADS_AMOUNT_TXN,
			OPPORTUNITIES_WON_AMOUNT_TXN,
			OUT_CALLS_HANDLD_GT_THN_X_TIME,
			IN_CALLS_HANDLD_GT_THN_X_TIME,
			CALLS_ANSWRD_WITHIN_X_TIME,
			ROW_TYPE,
			QUEUE_TIME_FOR_CALLS_HANDLED ,
                        OUT_CALLS_DIALED,
                        OUT_CONTACT_COUNT,
                        OUT_NON_CONTACT_COUNT,
                        OUT_ABANDON_COUNT,
                        OUT_BUSY_COUNT ,
                        OUT_RING_NOANSWER_COUNT,
                        OUT_ANS_MC_COUNT ,
                        OUT_SIT_COUNT,
                        OUT_POSITIVE_RESPONSE_COUNT,
                        OUT_CONNECT_COUNT ,
                        OUT_NON_CONNECT_COUNT ,
                        OUT_OTHER_OUTCOME_COUNT,
                        OUT_PREVIEW_TIME,
                        OUT_CONTACT_HANDLE_TIME,
                        OUTCOME_ID,
                        RESULT_ID,
                        REASON_ID
                        )
                        values
                        (
			call.media_id,
		     g_interaction_resource, --l_current_resource_id,
			--v_classification_id,
			v_classification_value_id,
			call.server_group_id,
			l_dnis,
			l_currency_code,
			call.PERIOD_START_DATE,
			call.PERIOD_START_TIME,
			call.PERIOD_START_DATE_TIME,
			0,
			0,
			0, --v_in_calls_handled,
			0, --v_calls_transferred,
			0,
			1, --v_out_calls_handled, make this 1 to indicate agent handled one call
			0,
			0,
			0,
			0, --v_in_talk_time,
			0, --v_in_wrap_time,
			0,
			0, --v_out_talk_time,
			0, --v_out_wrap_time,
			v_campaign_id,
			v_campaign_schedule_id,
			--l_first_outcome_id,
                        l_source_list_id,
                        l_sublist_id,
                        decode(call.direction,'OUTBOUND',1,'INBOUND',2),
                        0,--l_sr_created,
                        0,--l_sr_opened,
                        0,--l_sr_closed,
                        0,--l_leads_created,
                        0,--l_leads_updated,
                        0,--l_opp_created,
                        0,--l_opp_updated,
                        0,--v_opp_won,
                        0,
                        0,
				    0, --v_leads_amount,
                        0, --v_opp_amount,
                        0, --l_ou_cls_hdld_gt_thn_x_tm,
                        0, --l_in_cls_hdld_gt_thn_x_tm,
                        0, --l_calls_answrd_within_x_time,
                        'A',
			         0, --l_queue_time_for_calls_handled ,
                        g_dial_count,
                        g_contact_count,
                        g_noncontact_count,
                        g_abandon_count,
                        g_busy_count,
                        g_rna_count,
                        g_ansmc_count,
                        g_sit_count,
                        g_pr_count,
                        g_connect_count,
                        g_nonconnect_count,
                        g_other_count,
                        0, --nvl(l_agent_preview_time,0),
                        0, --nvl(decode(g_contact_count,0,0,NULL,0,v_out_talk_time+v_out_wrap_time),0),
                        l_outcome_id,
                        l_result_id,
                        l_reason_id
                        );
Line: 2773

		insert into bix_dm_interface
		(
		MEDIA_ID,
		RESOURCE_ID,
		--CLASSIFICATION_ID,
		CLASSIFICATION_VALUE_ID,
		SERVER_GROUP_ID,
		DNIS,
		CURRENCY_CODE,
		PERIOD_START_DATE,
		PERIOD_START_TIME,
		PERIOD_START_DATE_TIME,
		CALLS_OFFERED,
		CALLS_IN_QUEUE,
		IN_CALLS_HANDLED,
		CALLS_TRANSFERED,
		CALLS_ABANDONED,
		OUT_CALLS_HANDLED,
		IVR_TIME,
		ROUTE_TIME,
		QUEUE_TIME,
		IN_TALK_TIME,
		IN_WRAP_TIME,
		ABANDON_TIME,
		OUT_TALK_TIME,
		OUT_WRAP_TIME,
		CAMPAIGN_ID,
		CAMPAIGN_SCHEDULE_ID,
                SOURCE_LIST_ID,
                SUBLIST_ID,
                DIRECTION,
		ROW_TYPE,
		OUT_CALLS_HANDLD_GT_THN_X_TIME,
		IN_CALLS_HANDLD_GT_THN_X_TIME,
		CALLS_ANSWRD_WITHIN_X_TIME,
		QUEUE_TIME_FOR_CALLS_HANDLED ,
		NUMBER_OF_REROUTS,
                OUTCOME_ID,
                RESULT_ID,
                REASON_ID,
                OUT_CALLS_DIALED,
                OUT_CONTACT_COUNT,
                OUT_NON_CONTACT_COUNT,
                OUT_ABANDON_COUNT,
                OUT_BUSY_COUNT ,
                OUT_RING_NOANSWER_COUNT,
                OUT_ANS_MC_COUNT ,
                OUT_SIT_COUNT,
                OUT_POSITIVE_RESPONSE_COUNT,
                OUT_CONNECT_COUNT ,
                OUT_NON_CONNECT_COUNT ,
                OUT_OTHER_OUTCOME_COUNT,
                OUT_PREVIEW_TIME
		)
		values
		(
		call.media_id,
		NULL,
		--v_classification_id,
		v_classification_value_id,
		call.server_group_id,
		l_dnis,
		l_currency_code,
		call.PERIOD_START_DATE,
		call.PERIOD_START_TIME,
		call.PERIOD_START_DATE_TIME,
		call.CALLS_OFFERED,
		v_calls_in_queue,
		0,
		0,
		call.CALLS_ABANDONED,
		0,
		v_ivr_time ,
		v_route_time ,
		v_queue_time ,
		0,
		0,
		v_abandon_time,
		0,
		0,
		v_campaign_id,
		v_campaign_schedule_id,
                l_source_list_id,
                l_sublist_id,
                decode(call.direction,'OUTBOUND',1,'INBOUND',2),
		'C',
                0,
                0,
                0,
                0,
		 l_number_of_rerouts,
                l_outcome_id,
                l_result_id,
                l_reason_id,
                g_dial_count,
                g_contact_count,
                g_noncontact_count,
                g_abandon_count,
                g_busy_count,
                g_rna_count,
                g_ansmc_count,
                g_sit_count,
                g_pr_count,
                g_connect_count,
                g_nonconnect_count,
                g_other_count,
                nvl(l_call_preview_time,0)
		);
Line: 2883

		g_insert_count := g_insert_count + 1;
Line: 2926

	 l_leads_updated := 0;
Line: 2931

	 l_opp_updated := 0;
Line: 2972

 SELECT call_stage.SERVER_GROUP_ID SERVER_GROUP_ID,
        call_stage.CLASSIFICATION_VALUE_ID CLASSIFICATION_VALUE_ID,
        call_stage.CAMPAIGN_ID CAMPAIGN_ID,
        call_stage.CAMPAIGN_SCHEDULE_ID CAMPAIGN_SCHEDULE_ID,
        call_stage.resource_id RESOURCE_ID,
        call_stage.PERIOD_START_DATE PERIOD_START_DATE,
        call_stage.PERIOD_START_TIME PERIOD_START_TIME,
        call_stage.PERIOD_START_DATE_TIME PERIOD_START_DATE_TIME,
        NVL(SUM(call_stage.IN_CALLS_HANDLED),0) IN_CALLS_HANDLED,
        NVL(SUM(call_stage.IN_CALLS_HANDLD_GT_THN_X_TIME),0) IN_CALLS_HANDLD_GT_THN_X_TIME,
           NVL(SUM(call_stage.CALLS_TRANSFERED),0) CALLS_TRANSFERED,
        NVL(SUM(call_stage.OUT_CALLS_HANDLED),0) OUT_CALLS_HANDLED,
	NVL(SUM(call_stage.OUT_CALLS_HANDLD_GT_THN_X_TIME),0) OUT_CALLS_HANDLD_GT_THN_X_TIME,
           NVL(SUM(NVL(call_stage.IN_TALK_TIME,0)),0) IN_TALK_TIME,
           NVL(SUM(NVL(call_stage.IN_WRAP_TIME,0)),0) IN_WRAP_TIME,
           NVL(SUM(NVL(call_stage.OUT_TALK_TIME,0)),0) OUT_TALK_TIME,
           NVL(SUM(NVL(call_stage.OUT_WRAP_TIME,0)),0) OUT_WRAP_TIME,
           NVL(MIN(call_stage.IN_TALK_TIME),0) IN_MIN_TALK_TIME,
           NVL(MAX(call_stage.IN_TALK_TIME),0) IN_MAX_TALK_TIME,
           NVL(MIN(call_stage.OUT_TALK_TIME),0) OUT_MIN_TALK_TIME,
           NVL(MAX(call_stage.OUT_TALK_TIME),0) OUT_MAX_TALK_TIME,
           NVL(MIN(call_stage.IN_WRAP_TIME),0) IN_MIN_WRAP_TIME,
           NVL(MAX(call_stage.IN_WRAP_TIME),0) IN_MAX_WRAP_TIME,
           NVL(MIN(call_stage.OUT_WRAP_TIME),0) OUT_MIN_WRAP_TIME,
           NVL(MAX(call_stage.OUT_WRAP_TIME),0) OUT_MAX_WRAP_TIME,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CREATED),0) SR_CREATED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_OPENED),0) SR_OPENED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CLOSED),0) SR_CLOSED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CONTACT_CL),0) SR_FIRST_CONTACT_CLOSE,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_INFO_REQ),0) SR_ADDITIONAL_INFO_REQUESTED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_KB_UPDATES),0) SR_KB_UPDATES,
	   NVL(SUM(call_stage.LEADS_CREATED),0) LEADS_CREATED,
	   NVL(SUM(call_stage.LEADS_UPDATED),0) LEADS_UPDATED,
	   NVL(SUM(call_stage.LEADS_AMOUNT),0) LEADS_AMOUNT,
	   NVL(SUM(call_stage.LEADS_CONV_TO_OPP),0) LEADS_CONVERTED_TO_OPP,
	   NVL(SUM(call_stage.LEADS_AMOUNT_TXN),0) LEADS_AMOUNT_TXN,
	   NVL(SUM(call_stage.OPPORTUNITIES_CREATED),0) OPPORTUNITIES_CREATED,
	   NVL(SUM(call_stage.OPPORTUNITIES_UPDATED),0) OPPORTUNITIES_UPDATED,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON),0) OPPORTUNITIES_WON,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON_AMOUNT),0) OPPORTUNITIES_WON_AMOUNT,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON_AMOUNT_TXN),0) OPPORTUNITIES_WON_AMOUNT_TXN,
	   NVL(SUM(call_stage.OPPORTUNITIES_CROSS_SOLD),0) OPPORTUNITIES_CROSS_SOLD,
	   NVL(SUM(call_stage.OPPORTUNITIES_UP_SOLD),0) OPPORTUNITIES_UP_SOLD,
	   NVL(SUM(call_stage.OPPORTUNITIES_DECLINED),0) OPPORTUNITIES_DECLINED,
	   NVL(SUM(call_stage.OPPORTUNITIES_LOST),0) OPPORTUNITIES_LOST,
           SUM(NVL(OUT_CALLS_DIALED,0)) OUT_CALLS_DIALED,
           SUM(NVL( OUT_CONTACT_COUNT,0)) OUT_CONTACT_COUNT,
           SUM(NVL( OUT_NON_CONTACT_COUNT,0)) OUT_NON_CONTACT_COUNT,
           SUM(NVL(OUT_ABANDON_COUNT,0)) OUT_ABANDON_COUNT,
           SUM(NVL(OUT_BUSY_COUNT ,0)) OUT_BUSY_COUNT,
           SUM(NVL(OUT_RING_NOANSWER_COUNT,0)) OUT_RING_NOANSWER_COUNT,
           SUM(NVL(OUT_ANS_MC_COUNT ,0)) OUT_ANS_MC_COUNT,
           SUM(NVL(OUT_SIT_COUNT,0)) OUT_SIT_COUNT,
           SUM(NVL(OUT_POSITIVE_RESPONSE_COUNT,0)) OUT_POSITIVE_RESPONSE_COUNT,
           SUM(NVL(OUT_CONNECT_COUNT ,0)) OUT_CONNECT_COUNT,
           SUM(NVL(OUT_NON_CONNECT_COUNT ,0)) OUT_NON_CONNECT_COUNT,
           SUM(NVL(OUT_OTHER_OUTCOME_COUNT,0)) OUT_OTHER_OUTCOME_COUNT,
           SUM(NVL(OUT_PREVIEW_TIME,0)) OUT_PREVIEW_TIME,
           SUM(NVL(OUT_CONTACT_HANDLE_TIME,0)) OUT_CONTACT_HANDLE_TIME
  FROM  bix_dm_interface call_stage
  where call_stage.RESOURCE_ID is not null
 GROUP BY call_stage.SERVER_GROUP_ID,
          call_stage.CLASSIFICATION_VALUE_ID,
             call_stage.CAMPAIGN_ID,
          call_stage.CAMPAIGN_SCHEDULE_ID,
             call_stage.resource_id,
          call_stage.period_start_date,
          call_stage.period_start_time,
          call_stage.PERIOD_START_DATE_TIME;
Line: 3047

     g_insert_count := 0;
Line: 3048

     g_delete_count := 0;
Line: 3054

      SELECT count(*) INTO   l_num_calls
      FROM   bix_dm_interface;
Line: 3065

     DELETE_IN_CHUNKS('BIX_DM_AGENT_SUM',
                       'period_start_date_time BETWEEN '||' to_date('||
                        ''''||
                        to_char(g_min_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'') AND '||'to_date('||
                        ''''||
                        to_char(g_max_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'')',
                        g_delete_count);
Line: 3083

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.COLLECT_CALLS: '||' Finished  Deleting rows in BIX_DM_AGENT_SUM table: ' || 'Row Count:' || g_delete_count, g_proc_name);
Line: 3085

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_AGENT: '||' Start inserting rows into BIX_DM_AGENT_SUM table: ', g_proc_name);
Line: 3093

	SELECT BIX_DM_AGENT_SUM_S.NEXTVAL INTO l_bix_agent_seq FROM DUAL;
Line: 3095

     INSERT INTO BIX_DM_AGENT_SUM
        (
        AGENT_SUMMARY_ID,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        CREATION_DATE,
        CREATED_BY,
        LAST_UPDATE_LOGIN,
         SERVER_GROUP_ID,
         --CLASSIFICATION_ID,
         CLASSIFICATION_VALUE_ID,
         CAMPAIGN_ID,
         CAMPAIGN_SCHEDULE_ID,
         RESOURCE_ID,
         PERIOD_START_DATE,
         PERIOD_START_TIME,
         PERIOD_START_DATE_TIME,
         IN_CALLS_HANDLED,
          IN_CALLS_HANDLD_GT_THN_X_TIME,
          CALLS_TRANSFERED,
         OUT_CALLS_HANDLED,
          OUT_CALLS_HANDLD_GT_THN_X_TIME,
          IN_TALK_TIME,
          IN_WRAP_TIME,
          OUT_TALK_TIME,
          OUT_WRAP_TIME,
          IN_MIN_TALK_TIME,
          IN_MAX_TALK_TIME,
          OUT_MIN_TALK_TIME,
          OUT_MAX_TALK_TIME,
          IN_MIN_WRAP_TIME,
          IN_MAX_WRAP_TIME,
          OUT_MIN_WRAP_TIME,
          OUT_MAX_WRAP_TIME,
	  SR_CREATED,
	  SR_OPENED,
	  SR_CLOSED,
	  SR_FIRST_CONTACT_CLOSE,
	  SR_ADDITIONAL_INFO_REQUESTED,
	  SR_KB_UPDATES,
	  LEADS_CREATED,
	  LEADS_UPDATED,
	  LEADS_AMOUNT,
	  LEADS_CONVERTED_TO_OPP,
	  OPPORTUNITIES_CREATED,
	  OPPORTUNITIES_UPDATED,
	  OPPORTUNITIES_WON,
	  OPPORTUNITIES_WON_AMOUNT,
	  OPPORTUNITIES_CROSS_SOLD,
	  OPPORTUNITIES_UP_SOLD,
	  OPPORTUNITIES_DECLINED,
	  OPPORTUNITIES_LOST,
	  LEADS_AMOUNT_TXN,
	  OPPORTUNITIES_WON_AMOUNT_TXN,
          OUT_CALLS_DIALED,
          OUT_CONTACT_COUNT,
          OUT_NON_CONTACT_COUNT,
          OUT_ABANDON_COUNT,
          OUT_BUSY_COUNT ,
          OUT_RING_NOANSWER_COUNT,
          OUT_ANS_MC_COUNT ,
          OUT_SIT_COUNT,
          OUT_POSITIVE_RESPONSE_COUNT,
          OUT_CONNECT_COUNT ,
          OUT_NON_CONNECT_COUNT ,
          OUT_OTHER_OUTCOME_COUNT,
		OUT_PREVIEW_TIME,
		OUT_CONTACT_HANDLE_TIME
	)
        VALUES
        (
        l_bix_agent_seq,
        SYSDATE,
        g_user_id,
        SYSDATE,
        g_user_id,
        SYSDATE,
        ag_row.SERVER_GROUP_ID,
        ag_row.CLASSIFICATION_VALUE_ID,
         ag_row.CAMPAIGN_ID,
         ag_row.CAMPAIGN_SCHEDULE_ID,
         ag_row.RESOURCE_ID,
         ag_row.PERIOD_START_DATE,
         ag_row.PERIOD_START_TIME,
         ag_row.PERIOD_START_DATE_TIME,
         ag_row.IN_CALLS_HANDLED,
         ag_row.IN_CALLS_HANDLD_GT_THN_X_TIME,
           ag_row.CALLS_TRANSFERED,
        ag_row.OUT_CALLS_HANDLED,
        ag_row.OUT_CALLS_HANDLD_GT_THN_X_TIME,
           ag_row.IN_TALK_TIME,
           ag_row.IN_WRAP_TIME,
           ag_row.OUT_TALK_TIME,
           ag_row.OUT_WRAP_TIME,
           ag_row.IN_MIN_TALK_TIME,
           ag_row.IN_MAX_TALK_TIME,
           ag_row.OUT_MIN_TALK_TIME,
           ag_row.OUT_MAX_TALK_TIME,
           ag_row.IN_MIN_WRAP_TIME,
           ag_row.IN_MAX_WRAP_TIME,
           ag_row.OUT_MIN_WRAP_TIME,
           ag_row.OUT_MAX_WRAP_TIME,
	   ag_row.SR_CREATED,
	   ag_row.SR_OPENED,
	   ag_row.SR_CLOSED,
	   ag_row.SR_FIRST_CONTACT_CLOSE,
	   ag_row.SR_ADDITIONAL_INFO_REQUESTED,
	   ag_row.SR_KB_UPDATES,
	   ag_row.LEADS_CREATED,
	   ag_row.LEADS_UPDATED,
	   ag_row.LEADS_AMOUNT,
	   ag_row.LEADS_CONVERTED_TO_OPP,
	   ag_row.OPPORTUNITIES_CREATED,
	   ag_row.OPPORTUNITIES_UPDATED,
	   ag_row.OPPORTUNITIES_WON,
	   ag_row.OPPORTUNITIES_WON_AMOUNT,
	   ag_row.OPPORTUNITIES_CROSS_SOLD,
	   ag_row.OPPORTUNITIES_UP_SOLD,
	   ag_row.OPPORTUNITIES_DECLINED,
	   ag_row.OPPORTUNITIES_LOST,
           ag_row.LEADS_AMOUNT_TXN,
           ag_row.OPPORTUNITIES_WON_AMOUNT_TXN,
           ag_row.OUT_CALLS_DIALED,
           ag_row.OUT_CONTACT_COUNT,
           ag_row.OUT_NON_CONTACT_COUNT,
           ag_row.OUT_ABANDON_COUNT,
           ag_row.OUT_BUSY_COUNT ,
           ag_row.OUT_RING_NOANSWER_COUNT,
           ag_row.OUT_ANS_MC_COUNT ,
           ag_row.OUT_SIT_COUNT,
           ag_row.OUT_POSITIVE_RESPONSE_COUNT,
           ag_row.OUT_CONNECT_COUNT ,
           ag_row.OUT_NON_CONNECT_COUNT ,
           ag_row.OUT_OTHER_OUTCOME_COUNT,
           ag_row.OUT_PREVIEW_TIME,
           ag_row.OUT_CONTACT_HANDLE_TIME
           );
Line: 3235

	 g_insert_count := g_insert_count+1;
Line: 3263

 SELECT group_denorm.parent_group_id GROUP_ID,
        agent_sum.SERVER_GROUP_ID SERVER_GROUP_ID,
        --agent_sum.CLASSIFICATION_ID CLASSIFICATION_ID,
        agent_sum.CLASSIFICATION_VALUE_ID CLASSIFICATION_VALUE_ID,
        agent_sum.CAMPAIGN_ID CAMPAIGN_ID,
        agent_sum.CAMPAIGN_SCHEDULE_ID CAMPAIGN_SCHEDULE_ID,
        agent_sum.PERIOD_START_DATE PERIOD_START_DATE,
        agent_sum.PERIOD_START_TIME PERIOD_START_TIME,
        agent_sum.PERIOD_START_DATE_TIME PERIOD_START_DATE_TIME,
	sum(agent_sum.IN_CALLS_HANDLED) IN_CALLS_HANDLED,
	sum(agent_sum.IN_CALLS_HANDLD_GT_THN_X_TIME) IN_CALLS_HANDLD_GT_THN_X_TIME,
	sum(agent_sum.OUT_CALLS_HANDLED) OUT_CALLS_HANDLED,
	sum(agent_sum.OUT_CALLS_HANDLD_GT_THN_X_TIME) OUT_CALLS_HANDLD_GT_THN_X_TIME,
	sum(agent_sum.CALLS_TRANSFERED) CALLS_TRANSFERED,
	sum(agent_sum.IN_TALK_TIME) IN_TALK_TIME,
	sum(agent_sum.OUT_TALK_TIME) OUT_TALK_TIME,
	sum(agent_sum.IN_WRAP_TIME) IN_WRAP_TIME,
	sum(agent_sum.OUT_WRAP_TIME) OUT_WRAP_TIME,
	sum(agent_sum.IN_MIN_TALK_TIME) IN_MIN_TALK_TIME,
	sum(agent_sum.IN_MAX_TALK_TIME) IN_MAX_TALK_TIME,
	sum(agent_sum.OUT_MIN_TALK_TIME) OUT_MIN_TALK_TIME,
	sum(agent_sum.OUT_MAX_TALK_TIME) OUT_MAX_TALK_TIME,
	sum(agent_sum.IN_MIN_WRAP_TIME) IN_MIN_WRAP_TIME,
	sum(agent_sum.IN_MAX_WRAP_TIME) IN_MAX_WRAP_TIME,
	sum(agent_sum.OUT_MIN_WRAP_TIME) OUT_MIN_WRAP_TIME,
	sum(agent_sum.OUT_MAX_WRAP_TIME) OUT_MAX_WRAP_TIME,
	sum(agent_sum.SR_CREATED) SR_CREATED,
	sum(agent_sum.SR_OPENED) SR_OPENED,
	sum(agent_sum.SR_CLOSED) SR_CLOSED,
	sum(agent_sum.SR_FIRST_CONTACT_CLOSE) SR_FIRST_CONTACT_CLOSE,
	sum(agent_sum.SR_ADDITIONAL_INFO_REQUESTED) SR_ADDITIONAL_INFO_REQUESTED,
	sum(agent_sum.SR_KB_UPDATES) SR_KB_UPDATES,
	sum(agent_sum.LEADS_CREATED) LEADS_CREATED,
	sum(agent_sum.LEADS_UPDATED) LEADS_UPDATED,
	sum(agent_sum.LEADS_AMOUNT) LEADS_AMOUNT,
	sum(agent_sum.LEADS_AMOUNT_TXN) LEADS_AMOUNT_TXN,
	sum(agent_sum.LEADS_CONVERTED_TO_OPP) LEADS_CONVERTED_TO_OPP,
	sum(agent_sum.OPPORTUNITIES_CREATED) OPPORTUNITIES_CREATED,
	sum(agent_sum.OPPORTUNITIES_UPDATED) OPPORTUNITIES_UPDATED,
	sum(agent_sum.OPPORTUNITIES_WON) OPPORTUNITIES_WON,
	sum(agent_sum.OPPORTUNITIES_WON_AMOUNT) OPPORTUNITIES_WON_AMOUNT,
	sum(agent_sum.OPPORTUNITIES_WON_AMOUNT_TXN) OPPORTUNITIES_WON_AMOUNT_TXN,
	sum(agent_sum.OPPORTUNITIES_CROSS_SOLD) OPPORTUNITIES_CROSS_SOLD,
	sum(agent_sum.OPPORTUNITIES_UP_SOLD) OPPORTUNITIES_UP_SOLD,
	sum(agent_sum.OPPORTUNITIES_DECLINED) OPPORTUNITIES_DECLINED,
	sum(agent_sum.OPPORTUNITIES_LOST) OPPORTUNITIES_LOST,
        SUM(agent_sum.OUT_CALLS_DIALED) OUT_CALLS_DIALED,
        SUM(agent_sum.OUT_CONTACT_COUNT) OUT_CONTACT_COUNT,
        SUM(agent_sum.OUT_NON_CONTACT_COUNT) OUT_NON_CONTACT_COUNT,
        SUM(agent_sum.OUT_ABANDON_COUNT) OUT_ABANDON_COUNT,
        SUM(agent_sum.OUT_BUSY_COUNT) OUT_BUSY_COUNT,
        SUM(agent_sum.OUT_RING_NOANSWER_COUNT) OUT_RING_NOANSWER_COUNT,
        SUM(agent_sum.OUT_ANS_MC_COUNT) OUT_ANS_MC_COUNT,
        SUM(agent_sum.OUT_SIT_COUNT) OUT_SIT_COUNT,
        SUM(agent_sum.OUT_POSITIVE_RESPONSE_COUNT) OUT_POSITIVE_RESPONSE_COUNT,
        SUM(agent_sum.OUT_CONNECT_COUNT) OUT_CONNECT_COUNT,
        SUM(agent_sum.OUT_NON_CONNECT_COUNT) OUT_NON_CONNECT_COUNT,
        SUM(agent_sum.OUT_OTHER_OUTCOME_COUNT) OUT_OTHER_OUTCOME_COUNT,
        SUM(agent_sum.OUT_PREVIEW_TIME) OUT_PREVIEW_TIME,
        SUM(agent_sum.OUT_CONTACT_HANDLE_TIME) OUT_CONTACT_HANDLE_TIME
  FROM  bix_dm_agent_sum agent_sum,
      jtf_rs_group_members groups,
      jtf_rs_groups_denorm group_denorm
WHERE agent_sum.period_start_date_time  BETWEEN g_min_call_begin_date AND g_max_call_begin_date
AND   agent_sum.resource_id = groups.resource_id
AND   groups.group_id    = group_denorm.group_id
--
--add the following to take care of cases where
--agent belongs to two groups which roll up to the
--same parent group to avoid duplicating the values
--for the parent group
--
AND   NVL(groups.delete_flag,'N') <> 'Y'
AND   agent_sum.period_start_date_time BETWEEN
NVL(group_denorm.start_date_active,agent_sum.period_start_date_time)
AND NVL(group_denorm.end_date_active,SYSDATE)
AND   groups.group_member_id =
                  (select max(mem1.group_member_id)
                   from jtf_rs_group_members mem1
                   where mem1.group_id in
                     (select den1.group_id
                      from   jtf_rs_groups_denorm den1
                      where  den1.parent_group_id = group_denorm.parent_group_id
                      AND    agent_sum.period_start_date_time BETWEEN
                             NVL(den1.start_date_active,agent_sum.period_start_date_time)
                             AND NVL(den1.end_date_active,SYSDATE)
                      )
                   AND mem1.resource_id = groups.resource_id
                   AND nvl(mem1.delete_flag,'N') <> 'Y'
                   )
GROUP BY group_denorm.parent_group_id,
         agent_sum.SERVER_GROUP_ID,
          agent_sum.CLASSIFICATION_VALUE_ID,
          agent_sum.CAMPAIGN_ID,
          agent_sum.CAMPAIGN_SCHEDULE_ID,
          agent_sum.period_start_date,
          agent_sum.period_start_time,
          agent_sum.PERIOD_START_DATE_TIME;
Line: 3367

     g_insert_count := 0;
Line: 3368

     g_delete_count := 0;
Line: 3374

      SELECT count(*) INTO   l_num_calls
      FROM   bix_dm_agent_sum where period_start_date_time BETWEEN
      g_min_call_begin_date and g_max_call_begin_date;
Line: 3386

     DELETE_IN_CHUNKS('BIX_DM_GROUP_SUM',
                       'period_start_date_time BETWEEN '||' to_date('||
                        ''''||
                        to_char(g_min_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'') AND '||'to_date('||
                        ''''||
                        to_char(g_max_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'')',
                        g_delete_count);
Line: 3404

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_GROUP: '||' Finished  Deleting rows in BIX_DM_GROUP_SUM table: ' || 'Row Count:' || g_delete_count, g_proc_name);
Line: 3406

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.AGENT_SUM: '||' Start inserting rows into BIX_DM_AGENT_SUM table: ', g_proc_name);
Line: 3414

	SELECT BIX_DM_GROUP_SUM_S.NEXTVAL INTO l_bix_group_seq FROM DUAL;
Line: 3416

     INSERT INTO BIX_DM_GROUP_SUM
        (
        GROUP_SUMMARY_ID,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        CREATION_DATE,
        CREATED_BY,
        LAST_UPDATE_LOGIN,
         SERVER_GROUP_ID,
         --CLASSIFICATION_ID,
         CLASSIFICATION_VALUE_ID,
         CAMPAIGN_ID,
         CAMPAIGN_SCHEDULE_ID,
         GROUP_ID,
         PERIOD_START_DATE,
         PERIOD_START_TIME,
         PERIOD_START_DATE_TIME,
         IN_CALLS_HANDLED,
          IN_CALLS_HANDLD_GT_THN_X_TIME,
          CALLS_TRANSFERED,
         OUT_CALLS_HANDLED,
          OUT_CALLS_HANDLD_GT_THN_X_TIME,
          IN_TALK_TIME,
          IN_WRAP_TIME,
          OUT_TALK_TIME,
          OUT_WRAP_TIME,
          IN_MIN_TALK_TIME,
          IN_MAX_TALK_TIME,
          OUT_MIN_TALK_TIME,
          OUT_MAX_TALK_TIME,
          IN_MIN_WRAP_TIME,
          IN_MAX_WRAP_TIME,
          OUT_MIN_WRAP_TIME,
          OUT_MAX_WRAP_TIME,
	  SR_CREATED,
	  SR_OPENED,
	  SR_CLOSED,
	  SR_FIRST_CONTACT_CLOSE,
	  SR_ADDITIONAL_INFO_REQUESTED,
	  SR_KB_UPDATES,
	  LEADS_CREATED,
	  LEADS_UPDATED,
	  LEADS_AMOUNT,
	  LEADS_CONVERTED_TO_OPP,
	  LEADS_AMOUNT_TXN,
	  OPPORTUNITIES_CREATED,
	  OPPORTUNITIES_UPDATED,
	  OPPORTUNITIES_WON,
	  OPPORTUNITIES_WON_AMOUNT,
	  OPPORTUNITIES_WON_AMOUNT_TXN,
	  OPPORTUNITIES_CROSS_SOLD,
	  OPPORTUNITIES_UP_SOLD,
	  OPPORTUNITIES_DECLINED,
	  OPPORTUNITIES_LOST,
          OUT_CALLS_DIALED,
          OUT_CONTACT_COUNT,
          OUT_NON_CONTACT_COUNT,
          OUT_ABANDON_COUNT,
          OUT_BUSY_COUNT ,
          OUT_RING_NOANSWER_COUNT,
          OUT_ANS_MC_COUNT ,
          OUT_SIT_COUNT,
          OUT_POSITIVE_RESPONSE_COUNT,
          OUT_CONNECT_COUNT ,
          OUT_NON_CONNECT_COUNT ,
          OUT_OTHER_OUTCOME_COUNT,
		OUT_PREVIEW_TIME,
		OUT_CONTACT_HANDLE_TIME
	)
        VALUES
        (
        l_bix_group_seq,
        SYSDATE,
        g_user_id,
        SYSDATE,
        g_user_id,
        SYSDATE,
        gr_row.SERVER_GROUP_ID,
        gr_row.CLASSIFICATION_VALUE_ID,
         gr_row.CAMPAIGN_ID,
         gr_row.CAMPAIGN_SCHEDULE_ID,
         gr_row.GROUP_ID,
         gr_row.PERIOD_START_DATE,
         gr_row.PERIOD_START_TIME,
         gr_row.PERIOD_START_DATE_TIME,
         gr_row.IN_CALLS_HANDLED,
         gr_row.IN_CALLS_HANDLD_GT_THN_X_TIME,
           gr_row.CALLS_TRANSFERED,
        gr_row.OUT_CALLS_HANDLED,
        gr_row.OUT_CALLS_HANDLD_GT_THN_X_TIME,
           gr_row.IN_TALK_TIME,
           gr_row.IN_WRAP_TIME,
           gr_row.OUT_TALK_TIME,
           gr_row.OUT_WRAP_TIME,
           gr_row.IN_MIN_TALK_TIME,
           gr_row.IN_MAX_TALK_TIME,
           gr_row.OUT_MIN_TALK_TIME,
           gr_row.OUT_MAX_TALK_TIME,
           gr_row.IN_MIN_WRAP_TIME,
           gr_row.IN_MAX_WRAP_TIME,
           gr_row.OUT_MIN_WRAP_TIME,
           gr_row.OUT_MAX_WRAP_TIME,
	   gr_row.SR_CREATED,
	   gr_row.SR_OPENED,
	   gr_row.SR_CLOSED,
	   gr_row.SR_FIRST_CONTACT_CLOSE,
	   gr_row.SR_ADDITIONAL_INFO_REQUESTED,
	   gr_row.SR_KB_UPDATES,
	   gr_row.LEADS_CREATED,
	   gr_row.LEADS_UPDATED,
	   gr_row.LEADS_AMOUNT,
	   gr_row.LEADS_CONVERTED_TO_OPP,
	   gr_row.LEADS_AMOUNT_TXN,
	   gr_row.OPPORTUNITIES_CREATED,
	   gr_row.OPPORTUNITIES_UPDATED,
	   gr_row.OPPORTUNITIES_WON,
	   gr_row.OPPORTUNITIES_WON_AMOUNT,
	   gr_row.OPPORTUNITIES_WON_AMOUNT_TXN,
	   gr_row.OPPORTUNITIES_CROSS_SOLD,
	   gr_row.OPPORTUNITIES_UP_SOLD,
	   gr_row.OPPORTUNITIES_DECLINED,
	   gr_row.OPPORTUNITIES_LOST,
           gr_row.OUT_CALLS_DIALED,
           gr_row.OUT_CONTACT_COUNT,
           gr_row.OUT_NON_CONTACT_COUNT,
           gr_row.OUT_ABANDON_COUNT,
           gr_row.OUT_BUSY_COUNT ,
           gr_row.OUT_RING_NOANSWER_COUNT,
           gr_row.OUT_ANS_MC_COUNT ,
           gr_row.OUT_SIT_COUNT,
           gr_row.OUT_POSITIVE_RESPONSE_COUNT,
           gr_row.OUT_CONNECT_COUNT ,
           gr_row.OUT_NON_CONNECT_COUNT ,
           gr_row.OUT_OTHER_OUTCOME_COUNT,
		 gr_row.OUT_PREVIEW_TIME,
		 gr_row.OUT_CONTACT_HANDLE_TIME
           );
Line: 3556

	 g_insert_count := g_insert_count+1;
Line: 3584

 SELECT call_stage.SERVER_GROUP_ID SERVER_GROUP_ID,
        --call_stage.CLASSIFICATION_ID CLASSIFICATION_ID,
        call_stage.CLASSIFICATION_VALUE_ID CLASSIFICATION_VALUE_ID,
        call_stage.DNIS DNIS,
	   call_stage.campaign_id CAMPAIGN_ID,
	   call_stage.campaign_schedule_id CAMPAIGN_SCHEDULE_ID,
        call_stage.PERIOD_START_DATE PERIOD_START_DATE,
        call_stage.PERIOD_START_TIME PERIOD_START_TIME,
        call_stage.PERIOD_START_DATE_TIME PERIOD_START_DATE_TIME,
        NVL(SUM(call_stage.IN_CALLS_HANDLED),0) IN_CALLS_HANDLED,
        NVL(SUM(call_stage.IN_CALLS_HANDLD_GT_THN_X_TIME),0) IN_CALLS_HANDLD_GT_THN_X_TIME,
           NVL(SUM(call_stage.CALLS_TRANSFERED),0) CALLS_TRANSFERED,
        NVL(SUM(call_stage.OUT_CALLS_HANDLED),0) OUT_CALLS_HANDLED,
	NVL(SUM(call_stage.OUT_CALLS_HANDLD_GT_THN_X_TIME),0) OUT_CALLS_HANDLD_GT_THN_X_TIME,
           NVL(SUM(NVL(call_stage.IN_TALK_TIME,0)),0) IN_TALK_TIME,
           NVL(SUM(NVL(call_stage.IN_WRAP_TIME,0)),0) IN_WRAP_TIME,
           NVL(SUM(NVL(call_stage.OUT_TALK_TIME,0)),0) OUT_TALK_TIME,
           NVL(SUM(NVL(call_stage.OUT_WRAP_TIME,0)),0) OUT_WRAP_TIME,
	   NVL(SUM(call_stage.CALLS_OFFERED),0) CALLS_OFFERED,
	   NVL(SUM(call_stage.CALLS_IN_QUEUE),0) CALLS_IN_QUEUE,
	   NVL(SUM(call_stage.CALLS_ABANDONED),0) CALLS_ABANDONED,
           NVL(SUM(call_stage.CALLS_ANSWRD_WITHIN_X_TIME),0) CALLS_ANSWRD_WITHIN_X_TIME,
	   NVL(SUM(call_stage.IVR_TIME),0) IVR_TIME,
	   NVL(SUM(call_stage.ROUTE_TIME),0) ROUTE_TIME,
	   NVL(SUM(call_stage.QUEUE_TIME),0) QUEUE_TIME,
	   NVL(SUM(call_stage.ABANDON_TIME),0) ABANDON_TIME,
	   NVL(MIN(call_stage.IVR_TIME),0) MIN_IVR_TIME,
	   NVL(MIN(call_stage.ROUTE_TIME),0) MIN_ROUTE_TIME,
	   NVL(MIN(call_stage.QUEUE_TIME),0) MIN_QUEUE_TIME,
	   NVL(MIN(call_stage.ABANDON_TIME),0) MIN_ABANDON_TIME,
	   NVL(MAX(call_stage.IVR_TIME),0) MAX_IVR_TIME,
	   NVL(MAX(call_stage.ROUTE_TIME),0) MAX_ROUTE_TIME,
	   NVL(MAX(call_stage.QUEUE_TIME),0) MAX_QUEUE_TIME,
	   NVL(MAX(call_stage.ABANDON_TIME),0) MAX_ABANDON_TIME,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CREATED),0) SR_CREATED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_OPENED),0) SR_OPENED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CLOSED),0) SR_CLOSED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_CONTACT_CL),0) SR_FIRST_CONTACT_CLOSE,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_INFO_REQ),0) SR_ADDITIONAL_INFO_REQUESTED,
	   NVL(SUM(call_stage.SERVICE_REQUESTS_KB_UPDATES),0) SR_KB_UPDATES,
	   NVL(SUM(call_stage.LEADS_CREATED),0) LEADS_CREATED,
	   NVL(SUM(call_stage.LEADS_UPDATED),0) LEADS_UPDATED,
	   NVL(SUM(call_stage.LEADS_AMOUNT),0) LEADS_AMOUNT,
	   NVL(SUM(call_stage.LEADS_AMOUNT_TXN),0) LEADS_AMOUNT_TXN,
	   NVL(SUM(call_stage.LEADS_CONV_TO_OPP),0) LEADS_CONVERTED_TO_OPP,
	   NVL(SUM(call_stage.OPPORTUNITIES_CREATED),0) OPPORTUNITIES_CREATED,
	   NVL(SUM(call_stage.OPPORTUNITIES_UPDATED),0) OPPORTUNITIES_UPDATED,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON),0) OPPORTUNITIES_WON,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON_AMOUNT),0) OPPORTUNITIES_WON_AMOUNT,
	   NVL(SUM(call_stage.OPPORTUNITIES_WON_AMOUNT_TXN),0) OPPORTUNITIES_WON_AMOUNT_TXN,
	   NVL(SUM(call_stage.OPPORTUNITIES_CROSS_SOLD),0) OPPORTUNITIES_CROSS_SOLD,
	   NVL(SUM(call_stage.OPPORTUNITIES_UP_SOLD),0) OPPORTUNITIES_UP_SOLD,
	   NVL(SUM(call_stage.OPPORTUNITIES_DECLINED),0) OPPORTUNITIES_DECLINED,
	   NVL(SUM(call_stage.OPPORTUNITIES_LOST),0) OPPORTUNITIES_LOST,
           NVL(SUM(decode(call_stage.OPPORTUNITIES_WON,0,0,NULL,0,1)),0) NO_OF_OPP_WON_CALLS,
           SUM(decode(NVL(call_stage.OPPORTUNITIES_WON,0)+NVL(call_stage.OPPORTUNITIES_CROSS_SOLD,0)+NVL(call_stage.OPPORTUNITIES_UP_SOLD,0),0,0,1)) NO_OF_OPP_SOLD_CALLS,
           NVL(SUM(call_stage.QUEUE_TIME_FOR_CALLS_HANDLED),0) QUEUE_TIME_FOR_CALLS_HANDLED,
           NVL(MAX(call_stage.QUEUE_TIME_FOR_CALLS_HANDLED),0) MAX_QUEUE_TIME_CALLS_HANDLD,
           NVL(SUM(call_stage.NUMBER_OF_REROUTS),0) NUMBER_OF_REROUTS,
           SUM(NVL(OUT_CALLS_DIALED,0)) OUT_CALLS_DIALED,
           SUM(NVL(OUT_CONTACT_COUNT,0)) OUT_CONTACT_COUNT,
           SUM(NVL(OUT_NON_CONTACT_COUNT,0)) OUT_NON_CONTACT_COUNT,
           SUM(NVL(OUT_ABANDON_COUNT,0)) OUT_ABANDON_COUNT,
           SUM(NVL(OUT_BUSY_COUNT,0)) OUT_BUSY_COUNT,
           SUM(NVL(OUT_RING_NOANSWER_COUNT,0)) OUT_RING_NOANSWER_COUNT,
           SUM(NVL(OUT_ANS_MC_COUNT,0)) OUT_ANS_MC_COUNT,
           SUM(NVL(OUT_SIT_COUNT,0)) OUT_SIT_COUNT,
           SUM(NVL(OUT_POSITIVE_RESPONSE_COUNT,0)) OUT_POSITIVE_RESPONSE_COUNT,
           SUM(NVL(OUT_CONNECT_COUNT,0)) OUT_CONNECT_COUNT,
           SUM(NVL(OUT_NON_CONNECT_COUNT,0)) OUT_NON_CONNECT_COUNT,
           SUM(NVL(OUT_OTHER_OUTCOME_COUNT,0)) OUT_OTHER_OUTCOME_COUNT,
           SUM(NVL(OUT_CONTACT_HANDLE_TIME,0)) OUT_CONTACT_HANDLE_TIME,
           SUM(NVL(DECODE(ROW_TYPE,'C',OUT_PREVIEW_TIME,0),0)) OUT_PREVIEW_TIME --do only "C" rowtype
FROM  bix_dm_interface call_stage
GROUP BY call_stage.SERVER_GROUP_ID,
          call_stage.CLASSIFICATION_VALUE_ID,
          call_stage.DNIS,
	     call_stage.campaign_id,
	     call_stage.campaign_schedule_id,
          call_stage.period_start_date,
          call_stage.period_start_time,
          call_stage.PERIOD_START_DATE_TIME;
Line: 3672

     g_insert_count := 0;
Line: 3673

     g_delete_count := 0;
Line: 3679

      SELECT count(*) INTO   l_num_calls
      FROM   bix_dm_interface;
Line: 3690

     DELETE_IN_CHUNKS('BIX_DM_CALL_SUM',
                       'period_start_date_time BETWEEN '||' to_date('||
                        ''''||
                        to_char(g_min_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'') AND '||'to_date('||
                        ''''||
                        to_char(g_max_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'')',
                        g_delete_count);
Line: 3707

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.CALL_SUM: '||' Finished  Deleting rows in BIX_DM_CALL_SUM table: ' || 'Row Count:' || g_delete_count, g_proc_name);
Line: 3709

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_CALL: '||' Start inserting rows into BIX_DM_CALL_SUM table: ', g_proc_name);
Line: 3716

	SELECT BIX_DM_CALL_SUM_S.NEXTVAL INTO l_bix_call_seq FROM DUAL;
Line: 3718

		INSERT INTO BIX_DM_CALL_SUM
		(
		CALL_SUMMARY_ID,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN,
		SERVER_GROUP_ID,
		--CLASSIFICATION_ID,
		CLASSIFICATION_VALUE_ID,
		DNIS_ID,
		CAMPAIGN_ID,
		CAMPAIGN_SCHEDULE_ID,
		PERIOD_START_DATE,
		PERIOD_START_TIME,
		PERIOD_START_DATE_TIME,
		IN_CALLS_HANDLED,
		IN_CALLS_HANDLD_GT_THN_X_TIME,
		CALLS_TRANSFERED,
		OUT_CALLS_HANDLED,
		OUT_CALLS_HANDLD_GT_THN_X_TIME,
		IN_TALK_TIME,
		IN_WRAP_TIME,
		OUT_TALK_TIME,
		OUT_WRAP_TIME,
		CALLS_OFFERED,
		CALLS_IN_QUEUE,
		CALLS_ABANDONED,
		CALLS_ANSWRD_WITHIN_X_TIME,
		IVR_TIME,
		ROUTE_TIME,
		QUEUE_TIME,
		ABANDON_TIME,
		MIN_IVR_TIME,
		MIN_ROUTE_TIME,
		MIN_QUEUE_TIME,
		MIN_ABANDON_TIME,
		MAX_IVR_TIME,
		MAX_ROUTE_TIME,
		MAX_QUEUE_TIME,
		MAX_ABANDON_TIME,
		SR_CREATED,
		SR_OPENED,
		SR_CLOSED,
		SR_FIRST_CONTACT_CLOSE,
		SR_ADDITIONAL_INFO_REQUESTED,
		SR_KB_UPDATES,
		LEADS_CREATED,
		LEADS_UPDATED,
		LEADS_AMOUNT,
		LEADS_CONVERTED_TO_OPP,
		OPPORTUNITIES_CREATED,
		OPPORTUNITIES_UPDATED,
		OPPORTUNITIES_WON,
		OPPORTUNITIES_WON_AMOUNT,
		OPPORTUNITIES_CROSS_SOLD,
		OPPORTUNITIES_UP_SOLD,
		OPPORTUNITIES_DECLINED,
		OPPORTUNITIES_LOST,
		NO_OF_OPP_WON_CALLS,
		NO_OF_OPP_SOLD_CALLS,
		CALLS_OFFRD_GT_THN_X_TIME,
		QUEUE_TIME_FOR_CALLS_HANDLED,
		MAX_QUEUE_TIME_CALLS_HANDLD,
		NUMBER_OF_REROUTES,
		LEADS_AMOUNT_TXN,
		OPPORTUNITIES_WON_AMOUNT_TXN,
                OUT_CALLS_DIALED,
                OUT_CONTACT_COUNT,
                OUT_NON_CONTACT_COUNT,
                OUT_ABANDON_COUNT,
                OUT_BUSY_COUNT ,
                OUT_RING_NOANSWER_COUNT,
                OUT_ANS_MC_COUNT ,
                OUT_SIT_COUNT,
                OUT_POSITIVE_RESPONSE_COUNT,
                OUT_CONNECT_COUNT ,
                OUT_NON_CONNECT_COUNT ,
                OUT_OTHER_OUTCOME_COUNT,
                OUT_CONTACT_HANDLE_TIME,
                OUT_PREVIEW_TIME
		)
		VALUES
		(
		l_bix_call_seq,
		SYSDATE,
		g_user_id,
		SYSDATE,
		g_user_id,
		SYSDATE,
		call_row.SERVER_GROUP_ID,
		call_row.CLASSIFICATION_VALUE_ID,
		call_row.DNIS,
		call_row.CAMPAIGN_ID,
		call_row.CAMPAIGN_SCHEDULE_ID,
		call_row.PERIOD_START_DATE,
		call_row.PERIOD_START_TIME,
		call_row.PERIOD_START_DATE_TIME,
		call_row.IN_CALLS_HANDLED,
		call_row.IN_CALLS_HANDLD_GT_THN_X_TIME,
		call_row.CALLS_TRANSFERED,
		call_row.OUT_CALLS_HANDLED,
		call_row.OUT_CALLS_HANDLD_GT_THN_X_TIME,
		call_row.IN_TALK_TIME,
		call_row.IN_WRAP_TIME,
		call_row.OUT_TALK_TIME,
		call_row.OUT_WRAP_TIME,
		call_row.CALLS_OFFERED,
		call_row.CALLS_IN_QUEUE,
		call_row.CALLS_ABANDONED,
		call_row.CALLS_ANSWRD_WITHIN_X_TIME,
		call_row.IVR_TIME,
		call_row.ROUTE_TIME,
		call_row.QUEUE_TIME,
		call_row.ABANDON_TIME,
		call_row.MIN_IVR_TIME,
		call_row.MIN_ROUTE_TIME,
		call_row.MIN_QUEUE_TIME,
		call_row.MIN_ABANDON_TIME,
		call_row.MAX_IVR_TIME,
		call_row.MAX_ROUTE_TIME,
		call_row.MAX_QUEUE_TIME,
		call_row.MAX_ABANDON_TIME,
		call_row.SR_CREATED,
		call_row.SR_OPENED,
		call_row.SR_CLOSED,
		call_row.SR_FIRST_CONTACT_CLOSE,
		call_row.SR_ADDITIONAL_INFO_REQUESTED,
		call_row.SR_KB_UPDATES,
		call_row.LEADS_CREATED,
		call_row.LEADS_UPDATED,
		call_row.LEADS_AMOUNT,
		call_row.LEADS_CONVERTED_TO_OPP,
		call_row.OPPORTUNITIES_CREATED,
		call_row.OPPORTUNITIES_UPDATED,
		call_row.OPPORTUNITIES_WON,
		call_row.OPPORTUNITIES_WON_AMOUNT,
		call_row.OPPORTUNITIES_CROSS_SOLD,
		call_row.OPPORTUNITIES_UP_SOLD,
		call_row.OPPORTUNITIES_DECLINED,
		call_row.OPPORTUNITIES_LOST,
		call_row.NO_OF_OPP_WON_CALLS,
		call_row.NO_OF_OPP_SOLD_CALLS,
		call_row.IN_CALLS_HANDLD_GT_THN_X_TIME + call_row.CALLS_ABANDONED,
		call_row.QUEUE_TIME_FOR_CALLS_HANDLED,
		call_row.MAX_QUEUE_TIME_CALLS_HANDLD,
		call_row.NUMBER_OF_REROUTS,
		call_row.LEADS_AMOUNT_TXN,
		call_row.OPPORTUNITIES_WON_AMOUNT_TXN,
                call_row.OUT_CALLS_DIALED,
                call_row.OUT_CONTACT_COUNT,
                call_row.OUT_NON_CONTACT_COUNT,
                call_row.OUT_ABANDON_COUNT,
                call_row.OUT_BUSY_COUNT ,
                call_row.OUT_RING_NOANSWER_COUNT,
                call_row.OUT_ANS_MC_COUNT ,
                call_row.OUT_SIT_COUNT,
                call_row.OUT_POSITIVE_RESPONSE_COUNT,
                call_row.OUT_CONNECT_COUNT ,
                call_row.OUT_NON_CONNECT_COUNT ,
                call_row.OUT_OTHER_OUTCOME_COUNT,
                call_row.OUT_CONTACT_HANDLE_TIME,
                call_row.OUT_PREVIEW_TIME
		);
Line: 3886

		g_insert_count := g_insert_count+1;
Line: 3915

 SELECT call_stage.campaign_id                 CAMPAIGN_ID,
	   call_stage.campaign_schedule_id        CAMPAIGN_SCHEDULE_ID,
	   call_stage.SERVER_GROUP_ID             SERVER_GROUP_ID,
	   nvl(call_stage.resource_id,-999)       RESOURCE_ID,
	   call_stage.period_start_date           PERIOD_START_DATE,
	   call_stage.period_start_time           PERIOD_START_TIME,
	   call_stage.period_start_date_time      PERIOD_START_DATE_TIME,
	   'OUTBOUND'                             DIRECTION,
	   call_stage.OUTCOME_ID                  OUTCOME_ID,
	   call_stage.RESULT_ID                   RESULT_ID,
	   call_stage.REASON_ID                   REASON_ID,
	   clook.connect_flag                     CONNECT_FLAG,
	   clook.contact_flag                     CONTACT_FLAG,
	   rlook.positive_response_flag           POSITIVE_RESPONSE_FLAG,
	   sum(call_stage.OUT_CALLS_DIALED)       NUMBER_OF_CALLS
FROM    bix_dm_interface call_stage,
	   bix_dm_connect_lookups clook,
	   bix_dm_response_lookups rlook
WHERE   clook.outcome_id (+) = call_stage.outcome_id
--AND     rlook.outcome_id (+) = call_stage.outcome_id
AND     rlook.result_id  (+) = call_stage.result_id
AND     call_stage.row_type IN ('C', 'A')   --ignore activity type rows
AND     call_stage.direction = '1'          --only OUTBOUND calls
GROUP BY call_stage.campaign_id,
         call_stage.campaign_schedule_id,
         call_stage.SERVER_GROUP_ID,
         nvl(call_stage.resource_id,-999),
         call_stage.period_start_date,
         call_stage.period_start_time,
         call_stage.period_start_date_time,
         'OUTBOUND',
         call_stage.OUTCOME_ID,
         call_stage.RESULT_ID,
         call_stage.REASON_ID,
         clook.connect_flag,
         clook.contact_flag,
         rlook.positive_response_flag;
Line: 3958

     g_insert_count := 0;
Line: 3959

     g_delete_count := 0;
Line: 3968

      SELECT count(*) INTO   l_num_calls
      FROM   bix_dm_interface;
Line: 3983

     DELETE_IN_CHUNKS('BIX_DM_AGENT_OUTCOME_SUM',
                       'period_start_date_time BETWEEN '||' to_date('||
                        ''''||
                        to_char(g_min_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'') AND '||'to_date('||
                        ''''||
                        to_char(g_max_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'')',
                        g_delete_count);
Line: 4001

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_AGENT_OUTCOME: '||' Finished  Deleting rows in BIX_DM_AGENT_OUTCOME_SUM table: ' || 'Row Count:' || g_delete_count, g_proc_name);
Line: 4003

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_AGENT_OUTCOME: '||' Start inserting rows into BIX_DM_AGENT_OUTCOME_SUM table: ', g_proc_name);
Line: 4010

		INSERT INTO BIX_DM_AGENT_OUTCOME_SUM
		(
		AGENT_OUTCOME_SUM_ID,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN,
		CAMPAIGN_ID,
		CAMPAIGN_SCHEDULE_ID,
		SERVER_GROUP_ID,
		DIRECTION,
		RESOURCE_ID,
		PERIOD_START_DATE,
		PERIOD_START_TIME,
		PERIOD_START_DATE_TIME,
		OUTCOME_ID,
		RESULT_ID,
		REASON_ID,
		CONNECT_FLAG,
		CONTACT_FLAG,
		POSITIVE_RESPONSE_FLAG,
		NUMBER_OF_CALLS
		)
		VALUES
		(
		BIX_DM_AGENT_OUTCOME_SUM_S.NEXTVAL,
		SYSDATE,
		g_user_id,
		SYSDATE,
		g_user_id,
		g_user_id,
		outcome_row.CAMPAIGN_ID,
		outcome_row.CAMPAIGN_SCHEDULE_ID,
		outcome_row.SERVER_GROUP_ID,
		outcome_row.DIRECTION,
		outcome_row.RESOURCE_ID,
		outcome_row.PERIOD_START_DATE,
		outcome_row.PERIOD_START_TIME,
		outcome_row.PERIOD_START_DATE_TIME,
		outcome_row.OUTCOME_ID,
		outcome_row.RESULT_ID,
		outcome_row.REASON_ID,
		outcome_row.CONNECT_FLAG,
		outcome_row.CONTACT_FLAG,
		outcome_row.POSITIVE_RESPONSE_FLAG,
		outcome_row.NUMBER_OF_CALLS
		);
Line: 4061

		g_insert_count := g_insert_count+1;
Line: 4102

 SELECT call_stage.campaign_id                 CAMPAIGN_ID,
	   call_stage.campaign_schedule_id        CAMPAIGN_SCHEDULE_ID,
	   call_stage.SERVER_GROUP_ID             SERVER_GROUP_ID,
	   group_denorm.parent_group_id           GROUP_ID,
	   call_stage.period_start_date           PERIOD_START_DATE,
	   call_stage.period_start_time           PERIOD_START_TIME,
	   call_stage.period_start_date_time      PERIOD_START_DATE_TIME,
	   call_stage.direction                   DIRECTION,
	   call_stage.OUTCOME_ID                  OUTCOME_ID,
	   call_stage.RESULT_ID                   RESULT_ID,
	   call_stage.REASON_ID                   REASON_ID,
	   call_stage.connect_flag                CONNECT_FLAG,
	   call_stage.contact_flag                CONTACT_FLAG,
	   call_stage.positive_response_flag      POSITIVE_RESPONSE_FLAG,
	   sum(call_stage.number_of_calls)        NUMBER_OF_CALLS
FROM    bix_dm_agent_outcome_sum call_stage,
	   jtf_rs_group_members groups,
	   jtf_rs_groups_denorm group_denorm
WHERE   call_stage.resource_id = groups.resource_id
AND     call_stage.period_start_date_time BETWEEN g_min_call_begin_date AND g_max_call_begin_date
AND     groups.group_id    = group_denorm.group_id
AND     call_stage.resource_id IS NOT NULL
--
--add the following to take care of cases where
--agent belongs to two groups which roll up to the
--same parent group to avoid duplicating the values
--for the parent group
--
AND   NVL(groups.delete_flag,'N') <> 'Y'
AND   call_stage.period_start_date_time BETWEEN
NVL(group_denorm.start_date_active,call_stage.period_start_date_time)
AND NVL(group_denorm.end_date_active,SYSDATE)
AND   groups.group_member_id =
                  (select max(mem1.group_member_id)
                   from jtf_rs_group_members mem1
                   where mem1.group_id in
                     (select den1.group_id
                      from   jtf_rs_groups_denorm den1
                      where  den1.parent_group_id = group_denorm.parent_group_id
                      AND   call_stage.period_start_date_time BETWEEN
                            NVL(den1.start_date_active,call_stage.period_start_date_time)
                            AND NVL(den1.end_date_active,SYSDATE)
                      )
                   AND mem1.resource_id = groups.resource_id
                   AND nvl(mem1.delete_flag,'N') <> 'Y'
			    )
GROUP BY call_stage.campaign_id,
         call_stage.campaign_schedule_id,
         call_stage.SERVER_GROUP_ID,
         group_denorm.parent_group_id,
         call_stage.period_start_date,
         call_stage.period_start_time,
         call_stage.period_start_date_time,
         call_stage.direction,
         call_stage.OUTCOME_ID,
         call_stage.RESULT_ID,
         call_stage.REASON_ID,
         call_stage.connect_flag,
         call_stage.contact_flag,
         call_stage.positive_response_flag
UNION
 SELECT call_stage.campaign_id                 CAMPAIGN_ID,
	   call_stage.campaign_schedule_id        CAMPAIGN_SCHEDULE_ID,
	   call_stage.SERVER_GROUP_ID             SERVER_GROUP_ID,
	   -999,                                                         --calls with no agents
	   call_stage.period_start_date           PERIOD_START_DATE,
	   call_stage.period_start_time           PERIOD_START_TIME,
	   call_stage.period_start_date_time      PERIOD_START_DATE_TIME,
	   call_stage.direction                   DIRECTION,
	   call_stage.OUTCOME_ID                  OUTCOME_ID,
	   call_stage.RESULT_ID                   RESULT_ID,
	   call_stage.REASON_ID                   REASON_ID,
	   call_stage.connect_flag                CONNECT_FLAG,
	   call_stage.contact_flag                CONTACT_FLAG,
	   call_stage.positive_response_flag      POSITIVE_RESPONSE_FLAG,
	   sum(call_stage.number_of_calls)        NUMBER_OF_CALLS
FROM    bix_dm_agent_outcome_sum call_stage
WHERE   call_stage.resource_id IS NULL                                  --calls with no agents
AND     call_stage.period_start_date_time BETWEEN g_min_call_begin_date AND g_max_call_begin_date
GROUP BY call_stage.campaign_id,
         call_stage.campaign_schedule_id,
         call_stage.SERVER_GROUP_ID,
         -999,
         call_stage.period_start_date,
         call_stage.period_start_time,
         call_stage.period_start_date_time,
         call_stage.direction,
         call_stage.OUTCOME_ID,
         call_stage.RESULT_ID,
         call_stage.REASON_ID,
         call_stage.connect_flag,
         call_stage.contact_flag,
         call_stage.positive_response_flag
;
Line: 4203

     g_insert_count := 0;
Line: 4204

     g_delete_count := 0;
Line: 4208

      SELECT count(*) INTO   l_num_calls
      FROM   bix_dm_interface;
Line: 4219

     DELETE_IN_CHUNKS('BIX_DM_GROUP_OUTCOME_SUM',
                       'period_start_date_time BETWEEN '||' to_date('||
                        ''''||
                        to_char(g_min_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'') AND '||'to_date('||
                        ''''||
                        to_char(g_max_call_begin_date,'YYYY/MM/DDHH24:MI:SS')||
                        ''''||
                        ',''YYYY/MM/DDHH24:MI:SS'')',
                        g_delete_count);
Line: 4236

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_GROUP_OUTCOME: '||' Finished  Deleting rows in BIX_DM_GROUP_OUTCOME_SUM table: ' || 'Row Count:' || g_delete_count, g_proc_name);
Line: 4238

     write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'BIX_DM_AGENT_CALL_SUMMARY_PKG.SUM_GROUP_OUTCOME: '||' Start inserting rows into BIX_DM_GROUP_OUTCOME_SUM table: ', g_proc_name);
Line: 4244

		INSERT INTO BIX_DM_GROUP_OUTCOME_SUM
		(
		GROUP_OUTCOME_SUM_ID,
		LAST_UPDATE_DATE,
		LAST_UPDATED_BY,
		CREATION_DATE,
		CREATED_BY,
		LAST_UPDATE_LOGIN,
		CAMPAIGN_ID,
		CAMPAIGN_SCHEDULE_ID,
		SERVER_GROUP_ID,
		DIRECTION,
		GROUP_ID,
		PERIOD_START_DATE,
		PERIOD_START_TIME,
		PERIOD_START_DATE_TIME,
		OUTCOME_ID,
		RESULT_ID,
		REASON_ID,
		CONNECT_FLAG,
		CONTACT_FLAG,
		POSITIVE_RESPONSE_FLAG,
		NUMBER_OF_CALLS
		)
		VALUES
		(
		BIX_DM_GROUP_OUTCOME_SUM_S.NEXTVAL,
		SYSDATE,
		g_user_id,
		SYSDATE,
		g_user_id,
		g_user_id,
		outcome_row.CAMPAIGN_ID,
		outcome_row.CAMPAIGN_SCHEDULE_ID,
		outcome_row.SERVER_GROUP_ID,
		outcome_row.DIRECTION,
		outcome_row.GROUP_ID,
		outcome_row.PERIOD_START_DATE,
		outcome_row.PERIOD_START_TIME,
		outcome_row.PERIOD_START_DATE_TIME,
		outcome_row.OUTCOME_ID,
		outcome_row.RESULT_ID,
		outcome_row.REASON_ID,
		outcome_row.CONNECT_FLAG,
		outcome_row.CONTACT_FLAG,
		outcome_row.POSITIVE_RESPONSE_FLAG,
		outcome_row.NUMBER_OF_CALLS
		);
Line: 4295

		g_insert_count := g_insert_count+1;
Line: 4329

| 2. AGENT_SUM                : Summarizes agent data and inserts it into the BIX_DM_AGENT_SUM table      |
| 3. GROUP_SUM                : Summarizes agent group data and inserts it into the BIX_DM_GROUP_SUM table|
| 4. BIX_POP_AO_SUM_PKG.populate: Summarizes adv. outbound data and inserts it into the BIX_DM_AO_SUM tbl |
| 5. CALL_SUM                 : Summarizes call data and inserts it into the BIX_DM_CALL_SUM table        |
|                                                                                                         |
| The procedure 1 populates BIX_DM_INTERFACE staging table, the others use the staging table to populate  |
| the other tables. After each procedure the insert_log procedure is called to insert the table data into |
| the log table BIX_DM_COLLECT_LOG.                                                                       |
| There are two versions of this procedure, one called from the concurrent manager and the other callable |
| from sqlplus for debugging purposses. The version below is the one callable from sqlplus.               |
========================================================================================================+*/

PROCEDURE COLLECT_CALLS_SUMMARY(p_start_date IN VARCHAR2,p_end_date   IN VARCHAR2)
AS
l_collect_end_date date;
Line: 4352

  g_insert_count     := 0;
Line: 4353

  g_delete_count     := 0;
Line: 4392

      IF (FND_PROFILE.DEFINED('BIX_DM_DELETE_SIZE')) THEN
          g_commit_chunk_size := TO_NUMBER(FND_PROFILE.VALUE('BIX_DM_DELETE_SIZE'));
Line: 4404

    /* Delete the rows from BIX_DM_EXCEL table which are older than 2 hours */

     IF (g_debug_flag = 'Y') THEN
        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||' Start delete of BIX_DM_EXCEL table', g_proc_name);
Line: 4410

     DELETE_IN_CHUNKS('BIX_DM_EXCEL',' creation_date < SYSDATE-2/24',g_delete_count);
Line: 4414

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||' End delete of BIX_DM_EXCEL table ' || g_delete_count, g_proc_name);
Line: 4429

		SELECT TO_DATE(
			TO_CHAR(g_collect_start_date,'YYYY/MM/DD')||
			LPAD(TO_CHAR(g_collect_start_date,'HH24:'),3,'0')||
			DECODE(SIGN(TO_NUMBER(TO_CHAR(g_collect_start_date,'MI'))-29),0,'00:00',1,'30:00',-1,'00:00'),
			'YYYY/MM/DDHH24:MI:SS')
		INTO g_rounded_collect_start_date
		FROM DUAL;
Line: 4442

		SELECT TO_DATE(
			TO_CHAR(g_collect_end_date,'YYYY/MM/DD')||
			LPAD(TO_CHAR(g_collect_end_date,'HH24:'),3,'0')||
			DECODE(SIGN(TO_NUMBER(TO_CHAR(g_collect_end_date,'MI'))-29),0,'29:59',1,'59:59',-1,'29:59'),
			'YYYY/MM/DDHH24:MI:SS')
		INTO g_rounded_collect_end_date
		FROM DUAL;
Line: 4455

		  insert_log;
Line: 4464

		  insert_log;
Line: 4471

		  insert_log;
Line: 4478

		  insert_log;
Line: 4496

		  insert_log;
Line: 4508

		  insert_log;
Line: 4510

		/* Cleanup: Delete all from the BIX_DM_INTERFACE table */

		  -- DELETE_IN_CHUNKS('BIX_DM_INTERFACE',NULL,g_delete_count);
Line: 4513

		  -- g_insert_count := 0;
Line: 4516

		  -- insert_log;
Line: 4542

	insert_log;
Line: 4549

| 2. AGENT_SUM                : Summarizes agent data and inserts it into the BIX_DM_AGENT_SUM table      |
| 3. GROUP_SUM                : Summarizes agent group data and inserts it into the BIX_DM_GROUP_SUM table|
| 4. BIX_POP_AO_SUM_PKG.populate: Summarizes adv. outbound data and inserts it into the BIX_DM_AO_SUM tbl |
| 5. CALL_SUM                 : Summarizes call data and inserts it into the BIX_DM_CALL_SUM table        |
|                                                                                                         |
| The procedure 1 populates BIX_DM_INTERFACE staging table, the others use the staging table to populate  |
| the other tables. After each procedure the insert_log procedure is called to insert the table data into |
| the log table BIX_DM_COLLECT_LOG.                                                                       |
| There are two versions of this procedure, one called from the concurrent manager and the other callable |
| from sqlplus for debugging purposses. The version below is the one called from the concurrent manager.  |
========================================================================================================+*/

PROCEDURE COLLECT_CALLS_SUMMARY(errbuf out nocopy varchar2, retcode out nocopy varchar2, p_start_date IN VARCHAR2, p_end_date   IN VARCHAR2)
AS
  l_collect_start_date date;
Line: 4573

  g_insert_count     := 0;
Line: 4574

  g_delete_count     := 0;
Line: 4612

      IF (FND_PROFILE.DEFINED('BIX_DM_DELETE_SIZE')) THEN
       g_commit_chunk_size := TO_NUMBER(FND_PROFILE.VALUE('BIX_DM_DELETE_SIZE'));
Line: 4624

    /* Delete the rows from BIX_DM_EXCEL table which are older than 2 hours */

     IF (g_debug_flag = 'Y') THEN
        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||' Start delete of BIX_DM_EXCEL table', g_proc_name);
Line: 4630

     DELETE_IN_CHUNKS('BIX_DM_EXCEL',' creation_date < SYSDATE-2/24',g_delete_count);
Line: 4634

        write_log(TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||' End delete of BIX_DM_EXCEL table ' || g_delete_count, g_proc_name);
Line: 4648

		SELECT TO_DATE(
			TO_CHAR(g_collect_start_date,'YYYY/MM/DD')||
			LPAD(TO_CHAR(g_collect_start_date,'HH24:'),3,'0')||
			DECODE(SIGN(TO_NUMBER(TO_CHAR(g_collect_start_date,'MI'))-29),0,'00:00',1,'30:00',-1,'00:00'),
			'YYYY/MM/DDHH24:MI:SS')
		INTO g_rounded_collect_start_date
		FROM DUAL;
Line: 4661

		SELECT TO_DATE(
			TO_CHAR(g_collect_end_date,'YYYY/MM/DD')||
			LPAD(TO_CHAR(g_collect_end_date,'HH24:'),3,'0')||
			DECODE(SIGN(TO_NUMBER(TO_CHAR(g_collect_end_date,'MI'))-29),0,'29:59',1,'59:59',-1,'29:59'),
			'YYYY/MM/DDHH24:MI:SS')
		INTO g_rounded_collect_end_date
		FROM DUAL;
Line: 4671

		IF (FND_PROFILE.DEFINED('BIX_DM_DELETE_SIZE')) THEN
		   g_commit_chunk_size := TO_NUMBER(FND_PROFILE.VALUE('BIX_DM_DELETE_SIZE'));
Line: 4681

		  insert_log;
Line: 4688

		  insert_log;
Line: 4695

		  insert_log;
Line: 4702

		  insert_log;
Line: 4721

		  insert_log;
Line: 4733

		  insert_log;
Line: 4735

		/* Cleanup: Delete all from the BIX_DM_INTERFACE table */

		  --DELETE_IN_CHUNKS('BIX_DM_INTERFACE',NULL,g_delete_count);
Line: 4738

		  g_insert_count := 0;
Line: 4741

		  insert_log;
Line: 4778

	insert_log;