DBA Data[Home] [Help]

APPS.BIX_SESSION_SUMMARY_PKG SQL Statements

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

Line: 93

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

  SELECT ceil(g_collect_end_date - g_collect_start_date)
  INTO   l_count
  FROM   dual;
Line: 177

  Delete BIX_WORKER_JOBS WHERE OBJECT_NAME = 'BIX_AGENT_SESSION_F';
Line: 196

      INSERT INTO BIX_WORKER_JOBS(OBJECT_NAME
                                , START_DATE_RANGE
                                , END_DATE_RANGE
                                , WORKER_NUMBER
                                , STATUS)
                            VALUES (
                                 'BIX_AGENT_SESSION_F'
                                , l_start_date_range
                                , l_end_date_range
                                , l_count
                                , 'UNASSIGNED');
Line: 223

  l_total_rows_deleted NUMBER := 0;
Line: 224

  l_rows_deleted       NUMBER := 0;
Line: 233

  /* Delete all the rows inserted from subworkers */
  IF (g_worker.COUNT > 0) THEN
    FOR i IN g_worker.FIRST .. g_worker.LAST
    LOOP
      LOOP
        DELETE bix_agent_session_f
        WHERE  request_id = g_worker(i)
        AND    rownum <= g_commit_chunk_size ;
Line: 242

        l_rows_deleted := SQL%ROWCOUNT;
Line: 243

        l_total_rows_deleted := l_total_rows_deleted + l_rows_deleted;
Line: 247

        IF (l_rows_deleted < g_commit_chunk_size) THEN
          EXIT;
Line: 254

  /* Deleting all rows inserted by this main program */
  LOOP

    DELETE bix_agent_session_f
    WHERE  request_id = g_request_id
    AND    rownum <= g_commit_chunk_size ;
Line: 261

    l_rows_deleted := SQL%ROWCOUNT;
Line: 262

    l_total_rows_deleted := l_total_rows_deleted + l_rows_deleted;
Line: 266

    IF (l_rows_deleted < g_commit_chunk_size) THEN
      EXIT;
Line: 271

  write_log('Number of rows deleted from bix_agent_session_f : ' || to_char(l_total_rows_deleted));
Line: 285

PROCEDURE insert_login_row(p_session_id         in  g_session_id_tab,
                           p_agent_id           in  g_resource_id_tab,
                           p_session_begin_date in  g_begin_date_time_tab,
                           p_session_end_date   in  g_end_date_time_tab,
                           p_last_collect_date  in  g_last_collect_date_tab,
                           p_server_group_id    in  g_server_group_id_tab,
                           p_application_id     in  g_application_id_tab)
IS
  TYPE login_time_tab is TABLE OF bix_agent_session_f.login_time%TYPE;
Line: 316

  write_log('Start of the procedure insert_login_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 344

      SELECT trunc(l_begin_date)
      INTO l_period_start
      FROM DUAL;
Line: 350

      /* Loop through the session record and insert a record for each half hour bucket */
      WHILE ( l_period_start < l_end_date )
      LOOP
        j := j + 1;
Line: 388

  /* Bulk insert all the rows in the staging area */
  IF (l_agent_id.COUNT > 0) THEN
    FORALL i IN l_agent_id.FIRST .. l_agent_id.LAST
    INSERT /*+ append */ INTO bix_agent_session_stg (
       agent_id
      ,server_group_id
      ,schedule_id
      ,campaign_id
      ,application_id
      ,time_id
      ,period_type_id
      ,period_start_date
      ,period_start_time
      ,day_of_week
      ,last_update_date
      ,last_updated_by
      ,creation_date
      ,created_by
      ,last_update_login
      ,login_time
      ,request_id
      ,program_application_id
      ,program_id
      ,program_update_date)
    VALUES (
      l_agent_id(i)
      ,l_server_group_id(i)
      ,-1
      ,-1
      ,l_application_id(i)
      ,to_number(to_char(l_period_start_date(i), 'J'))
      ,1
      ,TRUNC(l_period_start_date(i))
      ,'00:00'
      ,TO_NUMBER(TO_CHAR(l_period_start_date(i),'D'))
      ,g_sysdate
      ,g_user_id
      ,g_sysdate
      ,g_user_id
      ,g_user_id
      ,decode(l_login_time(i), 0, to_number(null), l_login_time(i))
      ,g_request_id
      ,g_program_appl_id
      ,g_program_id
      ,g_sysdate);
Line: 435

  write_log('Total rows inserted in the staging area for half hour time bucket : ' || to_char(l_agent_id.COUNT));
Line: 441

      SELECT
        l_session_id(i) session_id,
        l_collect_date(i) curr_collect_date
      FROM  dual ) change
      ON (  bis1.session_id = change.session_id )
      WHEN MATCHED THEN
      UPDATE SET
         bis1.curr_collect_date = change.curr_collect_date
        ,bis1.last_update_date = g_sysdate
        ,bis1.last_updated_by  = g_user_id
        ,bis1.program_update_date = g_sysdate
      WHEN NOT MATCHED THEN INSERT (
        bis1.session_id,
        bis1.created_by,
        bis1.creation_date,
        bis1.last_updated_by,
        bis1.last_update_date,
        bis1.curr_collect_date,
        bis1.request_id,
        bis1.program_application_id,
        bis1.program_id,
        bis1.program_update_date )
      VALUES (
        change.session_id,
        g_user_id,
        g_sysdate,
        g_user_id,
        g_sysdate,
        change.curr_collect_date,
        g_request_id,
        g_program_appl_id,
        g_program_id,
        g_sysdate);
Line: 475

  write_log('Finished procedure insert_login_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 478

    write_log('Error in insert_login_row : Error : ' || sqlerrm);
Line: 480

END insert_login_row;
Line: 484

  SELECT
     iss.session_id                                     session_id
    ,iss.resource_id                                    resource_id
    ,iss.begin_date_time                                begin_date_time
    ,iss.end_date_time                                  end_date_time
    ,bis1.last_collect_date                              last_collect_date
    ,nvl(res.server_group_id,-1)                        server_group_id
    ,decode(iss.application_id, 696, 696, 680, 680, 0)  application_id
  FROM
     ieu_sh_sessions iss
    ,bix_sessions bis1
    ,jtf_rs_resource_extns res
  WHERE iss.last_update_date > g_collect_start_date
  AND   iss.last_update_date <= g_collect_end_date
  AND   iss.session_id = bis1.session_id(+)
  AND   iss.resource_id = res.resource_id
  AND   iss.end_date_time IS NOT NULL
  UNION ALL
  SELECT
     inv1.session_id                 session_id
    ,inv1.resource_id                resource_id
    ,inv1.begin_date_time            begin_date_time
    ,decode(max(mseg.start_date_time), to_date(null), inv1.begin_date_time, max(mseg.start_date_time))
                     end_date_time
    ,bis1.last_collect_date          last_collect_date
    ,nvl(res.server_group_id,-1)    server_group_id
    ,decode(inv1.application_id, 696, 696, 680, 680, 0)
                                    application_id
  FROM
     ( SELECT msegs.* FROM jtf_ih_media_item_lc_segs msegs
    ,jtf_ih_media_itm_lc_seg_tys segs
	  WHERE msegs.milcs_type_id = segs.milcs_type_id
AND   segs.milcs_code IN
					('EMAIL_FETCH'
					,'EMAIL_REPLY'
					,'EMAIL_DELETED'
					,'EMAIL_OPEN'
					,'EMAIL_REQUEUED'
					,'EMAIL_REROUTED_DIFF_CLASS'
					,'EMAIL_REROUTED_DIFF_ACCT'
					,'EMAIL_SENT'
					,'EMAIL_TRANSFERRED'
					,'EMAIL_ASSIGN'
					,'EMAIL_COMPOSE'
					,'WITH_AGENT'
					,'EMAIL_ESCALATED'
					  )
       ) mseg
    ,bix_sessions bis1
    ,jtf_rs_resource_extns res
    ,(
       SELECT
           iss1.session_id           session_id
         , iss1.resource_id          resource_id
         , iss1.application_id       application_id
         , iss1.begin_date_time      begin_date_time
         , iss1.end_date_time        end_date_time
         , min(iss2.begin_date_time) next_sess_begin_date_time
       FROM
          ieu_sh_sessions iss1
         ,ieu_sh_sessions iss2
       WHERE  iss1.active_flag = 'T'
       AND    iss1.resource_id = iss2.resource_id(+)
       AND    iss2.begin_date_time(+) > iss1.begin_date_time
       GROUP BY iss1.session_id, iss1.resource_id, iss1.application_id, iss1.begin_date_time, iss1.end_date_time
     ) inv1
  WHERE inv1.resource_id = res.resource_id
  AND   mseg.resource_id(+) = inv1.resource_id
  AND   mseg.start_date_time(+) >= inv1.begin_date_time
  AND   mseg.start_date_time(+) < nvl(inv1.next_sess_begin_date_time, g_sysdate)
  AND   inv1.session_id = bis1.session_id(+)
  GROUP BY inv1.session_id, inv1.resource_id, inv1.begin_date_time, bis1.last_collect_date, res.server_group_id, inv1.application_id;
Line: 588

     insert_login_row(
       l_session_id,
       l_resource_id,
       l_begin_date_time,
       l_end_date_time,
       l_last_collect_date,
       l_server_group_id,
       l_application_id);
Line: 624

PROCEDURE insert_work_row(p_activity_id         in  g_activity_id_tab,
                          p_agent_id            in  g_resource_id_tab,
                          p_activity_begin_date in  g_begin_date_time_tab,
                          p_activity_end_date   in  g_end_date_time_tab,
                          p_last_collect_date   in  g_last_collect_date_tab,
                          p_server_group_id     in  g_server_group_id_tab,
                          p_application_id      in  g_application_id_tab,
                          p_schedule_id         in  g_schedule_id_tab,
                          p_campaign_id         in  g_campaign_id_tab)
IS
  TYPE work_time_tab is TABLE OF bix_agent_session_f.work_time%TYPE;
Line: 653

  write_log('Start of the procedure insert_work_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 674

      SELECT trunc(l_begin_date)
      INTO l_period_start
      FROM DUAL;
Line: 680

      /* Loop through the session record and insert a record for each half hour bucket */
      WHILE ( l_period_start < l_end_date )
      LOOP
        j := j + 1;
Line: 722

  /* Bulk insert all the rows in the staging area */
  IF (l_agent_id.COUNT > 0) THEN
    FORALL i IN l_agent_id.FIRST .. l_agent_id.LAST
    INSERT /*+ append */ INTO bix_agent_session_stg (
       agent_id
      ,server_group_id
      ,schedule_id
      ,campaign_id
      ,application_id
      ,time_id
      ,period_type_id
      ,period_start_date
      ,period_start_time
      ,day_of_week
      ,last_update_date
      ,last_updated_by
      ,creation_date
      ,created_by
      ,last_update_login
      ,work_time
      ,request_id
      ,program_application_id
      ,program_id
      ,program_update_date)
    VALUES (
       l_agent_id(i)
      ,l_server_group_id(i)
      ,l_schedule_id(i)
      ,l_campaign_id(i)
      ,l_application_id(i)
      ,to_number(to_char(l_period_start_date(i), 'J'))
      ,1
      ,TRUNC(l_period_start_date(i))
      ,'00:00'
      ,TO_CHAR(l_period_start_date(i),'D')
      ,g_sysdate
      ,g_user_id
      ,g_sysdate
      ,g_user_id
      ,g_user_id
      ,decode(l_work_time(i), 0, to_number(null), l_work_time(i))
      ,g_request_id
      ,g_program_appl_id
      ,g_program_id
      ,g_sysdate);
Line: 769

  write_log('Total rows inserted in the staging area for half hour time bucket : ' || to_char(l_agent_id.COUNT));
Line: 771

  write_log('Finished procedure insert_work_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 774

    write_log('Error in insert_work_row : Error : ' || sqlerrm);
Line: 776

END insert_work_row;
Line: 780

  SELECT
     isa.activity_id                               activity_id
    ,iss.resource_id                               resource_id
    ,isa.begin_date_time                           begin_date_time
   /* ,nvl(isa.end_date_time, bis1.curr_collect_date) end_date_time*/
    ,nvl(isa.end_date_time, nvl(isamed.end_Date_time,isa.begin_Date_time)) end_date_time
    ,bis1.last_collect_date                         last_collect_date
    ,nvl(res.server_group_id,-1)                   server_group_id
    ,iss.application_id                            application_id
    ,decode(isa.category_type, 'CSCH', nvl(csh.schedule_id, -1), -1)
                                                   schedule_id
    ,decode(isa.category_type, 'CSCH', nvl(csh.campaign_id, -1), -1)
                                                   campaign_id
  FROM
     ieu_sh_sessions iss
    ,ieu_sh_activities isa
    ,bix_sessions bis1
    ,jtf_rs_resource_extns res
    ,ams_campaign_schedules_b csh
	,(select parent_cycle_id,max(isamed.end_Date_time) end_date_time from ieu_sh_Activities isamed,ieu_sh_sessions isamedsess
	  where activity_type_code='MEDIA'
	  and isamedsess.last_update_date > g_collect_start_date-2 --dummy filter to force index scan
	  and isamed.last_update_date > g_collect_start_date
	  AND   isamed.last_update_date <= g_collect_end_date
	  and isamedsess.session_id=isamed.session_id
	  and isamedsess.application_id=696
	  group by parent_cycle_id) isamed
  WHERE isa.last_update_date > g_collect_start_date
  AND   iss.last_update_date > g_collect_start_date-2
  AND   isa.last_update_date <= g_collect_end_date
  AND   isa.activity_id=isamed.parent_cycle_id(+)
  AND   iss.application_id = 696
  AND   iss.session_id = isa.session_id
  AND   isa.activity_type_code = 'MEDIA_CYCLE'
  AND   iss.session_id = bis1.session_id
  AND   iss.resource_id = res.resource_id
  AND   decode(isa.category_type, 'CSCH', to_number(nvl(isa.category_value, -1)), -1) = csh.schedule_id(+);
Line: 852

     insert_work_row(
       l_activity_id,
       l_resource_id,
       l_begin_date_time,
       l_end_date_time,
       l_last_collect_date,
       l_server_group_id,
       l_application_id,
       l_schedule_id,
       l_campaign_id);
Line: 892

PROCEDURE insert_available_row(p_activity_id         in  g_activity_id_tab,
                               p_agent_id            in  g_resource_id_tab,
                               p_activity_begin_date in  g_begin_date_time_tab,
                               p_activity_end_date   in  g_end_date_time_tab,
                               p_last_collect_date   in  g_last_collect_date_tab,
                               p_server_group_id     in  g_server_group_id_tab,
                               p_application_id      in  g_application_id_tab,
                               p_schedule_id         in  g_schedule_id_tab,
                               p_campaign_id         in  g_campaign_id_tab)
IS
  TYPE available_time_tab is TABLE OF bix_agent_session_f.available_time%TYPE;
Line: 921

  write_log('Start of the procedure insert_available_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 942

      SELECT trunc(l_begin_date)
      INTO l_period_start
      FROM DUAL;
Line: 948

      /* Loop through the session record and insert a record for each half hour bucket */
      WHILE ( l_period_start < l_end_date )
      LOOP
        j := j + 1;
Line: 990

  /* Bulk insert all the rows in the staging area */
  IF (l_agent_id.COUNT > 0) THEN
    FORALL i IN l_agent_id.FIRST .. l_agent_id.LAST
    INSERT /*+ append */ INTO bix_agent_session_stg (
       agent_id
      ,server_group_id
      ,schedule_id
      ,campaign_id
      ,application_id
      ,time_id
      ,period_type_id
      ,period_start_date
      ,period_start_time
      ,day_of_week
      ,last_update_date
      ,last_updated_by
      ,creation_date
      ,created_by
      ,last_update_login
      ,available_time
      ,request_id
      ,program_application_id
      ,program_id
      ,program_update_date)
    VALUES (
       l_agent_id(i)
      ,l_server_group_id(i)
      ,l_schedule_id(i)
      ,l_campaign_id(i)
      ,l_application_id(i)
      ,to_number(to_char(l_period_start_date(i), 'J'))
      ,1
      ,TRUNC(l_period_start_date(i))
      ,'00:00'
      ,TO_CHAR(l_period_start_date(i),'D')
      ,g_sysdate
      ,g_user_id
      ,g_sysdate
      ,g_user_id
      ,g_user_id
      ,decode(l_available_time(i), 0, to_number(null), l_available_time(i))
      ,g_request_id
      ,g_program_appl_id
      ,g_program_id
      ,g_sysdate);
Line: 1037

  write_log('Total rows inserted in the staging area for half hour time bucket : ' || to_char(l_agent_id.COUNT));
Line: 1039

  write_log('Finished procedure insert_available_row at : ' || to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss'));
Line: 1042

    write_log('Error in insert_available_row : Error : ' || sqlerrm);
Line: 1044

END insert_available_row;
Line: 1048

  SELECT
   /*+ parallel(iss) parallel(isa1) parallel(isa2) parallel(bis1) parallel(res) parallel(csh)
             pq_distribute(iss hash,hash) pq_distribute(isa1 hash,hash)
             pq_distribute(isa2 hash,hash) pq_distribute(bis1 hash,hash)
             pq_distribute(res hash,hash) pq_distribute(csh hash,hash)
             use_hash(iss,isa1,isa2,bis1,res,csh) */
     isa1.activity_id                              activity_id
    ,iss.resource_id                               resource_id
    ,isa1.begin_date_time                          begin_date_time
 /*   ,nvl(isa1.deliver_date_time, nvl(isa1.end_date_time, bis1.curr_collect_date)) */
   ,nvl(isa1.deliver_date_time, nvl(isa1.end_date_time, isa1.begin_date_time))
                                                   end_date_time
    ,bis1.last_collect_date                         last_collect_date
    ,nvl(res.server_group_id,-1)                   server_group_id
    ,iss.application_id                            application_id
    ,decode(isa2.category_type, 'CSCH', nvl(csh.schedule_id, -1), -1)
                                                   schedule_id
    ,decode(isa2.category_type, 'CSCH', nvl(csh.campaign_id, -1), -1)
                                                   campaign_id
  FROM
     ieu_sh_sessions iss
    ,ieu_sh_activities isa1
    ,ieu_sh_activities isa2
    ,bix_sessions bis1
    ,jtf_rs_resource_extns res
    ,ams_campaign_schedules_b csh
  WHERE isa1.last_update_date > g_collect_start_date
  AND   isa1.last_update_date <= g_collect_end_date
  AND   iss.application_id = 696
  AND   iss.session_id = isa1.session_id
  AND   isa1.activity_type_code = 'MEDIA'
  AND   isa1.parent_cycle_id = isa2.activity_id
  AND   isa2.activity_type_code = 'MEDIA_CYCLE'
  AND   iss.session_id = bis1.session_id
  AND   iss.resource_id = res.resource_id
  AND   decode(isa2.category_type, 'CSCH', to_number(nvl(isa2.category_value, -1)), -1) = csh.schedule_id(+);
Line: 1119

      insert_available_row(
        l_activity_id,
        l_resource_id,
        l_begin_date_time,
        l_end_date_time,
        l_last_collect_date,
        l_server_group_id,
        l_application_id,
        l_schedule_id,
        l_campaign_id);
Line: 1164

  INSERT /*+ append */ INTO bix_agent_session_stg
     (agent_id,
      server_group_id,
      schedule_id,
      campaign_id,
      application_id,
      time_id,
      period_type_id,
      period_start_date,
      period_start_time,
      day_of_week,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      idle_time,
      request_id,
      program_application_id,
      program_id,
      program_update_date )
  (SELECT
      bas.agent_id,
      bas.server_group_id,
      -1,
      -1,
      bas.application_id,
      bas.time_id,
      bas.period_type_id,
      bas.period_start_date,
      bas.period_start_time,
      bas.day_of_week,
      g_user_id,
      g_sysdate,
      g_user_id,
      g_sysdate,
      decode(nvl(sum(bas.login_time),0) - nvl(sum(bas.work_time), 0), 0, to_number(null),
                  nvl(sum(bas.login_time),0) - nvl(sum(bas.work_time), 0)),
      g_request_id,
      g_program_appl_id,
      g_program_id,
      g_sysdate
   FROM  bix_agent_session_stg bas
   WHERE bas.application_id = 696
   GROUP BY
      bas.agent_id,
      bas.server_group_id,
      bas.application_id,
      bas.time_id,
      bas.period_type_id,
      bas.period_start_date,
      bas.period_start_time,
      bas.day_of_week);
Line: 1259

  /* Update bix_sessions to set the last collection date with the current collection date */
  /* First update the rows inserted/updated from the workers */
  IF (g_worker.COUNT > 0) THEN
    FOR i IN g_worker.FIRST .. g_worker.LAST
    LOOP
      UPDATE bix_sessions
      SET last_collect_date = curr_collect_date
      WHERE  request_id = g_worker(i);
Line: 1270

  /* Update all rows inserted/updated by this main program */
  UPDATE bix_sessions
  SET last_collect_date = curr_collect_date
  WHERE request_id = g_request_id;
Line: 1278

    SELECT
      bstg.agent_id agent_id,
      bstg.server_group_id server_group_id,
      bstg.schedule_id schedule_id,
      bstg.campaign_id campaign_id,
      bstg.application_id application_id,
      bstg.time_id time_id,
      bstg.period_type_id period_type_id,
      bstg.period_start_date period_start_date,
      bstg.period_start_time period_start_time,
      bstg.day_of_week day_of_week,
      sum(bstg.login_time) login_time,
      sum(bstg.work_time) work_time,
      sum(bstg.available_time) available_time,
      sum(bstg.idle_time) idle_time,
      nvl(sum(bstg.login_time), 0) * g_agent_cost agent_cost
    FROM  bix_agent_session_stg bstg
    GROUP BY
      bstg.agent_id,
      bstg.server_group_id,
      bstg.schedule_id,
      bstg.campaign_id,
      bstg.application_id,
      bstg.time_id,
      bstg.period_type_id,
      bstg.period_start_date,
      bstg.period_start_time,
      bstg.day_of_week) change
  ON (  bas.agent_id = change.agent_id
    AND bas.server_group_id = change.server_group_id
    AND bas.schedule_id = change.schedule_id
    AND bas.campaign_id = change.campaign_id
    AND bas.application_id = change.application_id
    AND bas.time_id  = change.time_id
    AND bas.period_type_id = change.period_type_id
    AND bas.period_start_date = change.period_start_date
    AND bas.period_start_time = change.period_start_time
    AND bas.day_of_week = change.day_of_week)
  WHEN MATCHED THEN
    UPDATE SET
       bas.login_time = decode(nvl(change.login_time,0), 0, bas.login_time, nvl(bas.login_time, 0) + change.login_time)
      ,bas.work_time = decode(nvl(change.work_time,0), 0, bas.work_time, nvl(bas.work_time, 0) + change.work_time)
      ,bas.available_time = decode(nvl(change.available_time,0), 0, bas.available_time, nvl(bas.available_time,0)
                  + change.available_time)
      ,bas.idle_time = decode(nvl(change.idle_time,0), 0, bas.idle_time, nvl(bas.idle_time, 0) + change.idle_time)
      ,bas.agent_cost = decode(nvl(change.agent_cost,0), 0, bas.agent_cost, nvl(bas.agent_cost, 0) + change.agent_cost)
      ,bas.last_update_date = g_sysdate
      ,bas.last_updated_by  = g_user_id
      ,bas.program_update_date = g_sysdate
  WHEN NOT MATCHED THEN INSERT
     (bas.agent_id,
      bas.server_group_id,
      bas.schedule_id,
      bas.campaign_id,
      bas.application_id,
      bas.time_id,
      bas.period_type_id,
      bas.period_start_date,
      bas.period_start_time,
      bas.day_of_week,
      bas.created_by,
      bas.creation_date,
      bas.last_updated_by,
      bas.last_update_date,
      bas.login_time,
      bas.work_time,
      bas.available_time,
      bas.idle_time,
      bas.agent_cost,
      bas.request_id,
      bas.program_application_id,
      bas.program_id,
      bas.program_update_date )
    VALUES (
      change.agent_id,
      change.server_group_id,
      change.schedule_id,
      change.campaign_id,
      change.application_id,
      change.time_id,
      change.period_type_id,
      change.period_start_date,
      change.period_start_time,
      change.day_of_week,
      g_user_id,
      g_sysdate,
      g_user_id,
      g_sysdate,
      decode(change.login_time, 0, to_number(null), change.login_time),
      decode(change.work_time, 0, to_number(null), change.work_time),
      decode(change.available_time, 0, to_number(null), change.available_time),
      decode(change.idle_time, 0, to_number(null), change.idle_time),
      decode(change.agent_cost, 0, to_number(null), change.agent_cost),
      g_request_id,
      g_program_appl_id,
      g_program_id,
      g_sysdate);
Line: 1396

  INSERT /*+ append */ INTO bix_agent_session_stg
     (agent_id,
      server_group_id,
      schedule_id,
      campaign_id,
      application_id,
      time_id,
      period_type_id,
      period_start_date,
      period_start_time,
      day_of_week,
      created_by,
      creation_date,
      last_updated_by,
      last_update_date,
      login_time,
      work_time,
      available_time,
      idle_time,
      request_id,
      program_application_id,
      program_id,
      program_update_date )
  (SELECT
      bas.agent_id,
      bas.server_group_id,
      bas.schedule_id,
      bas.campaign_id,
      bas.application_id,
      decode(ftd.week_id, null, decode(ftd.ent_period_id, null,
        decode(ftd.ent_qtr_id, null, decode(ftd.ent_year_id, null, to_number(null), ftd.ent_year_id),
          ftd.ent_qtr_id), ftd.ent_period_id), ftd.week_id),
      decode(ftd.week_id, null, decode(ftd.ent_period_id, null,
        decode(ftd.ent_qtr_id, null, decode(ftd.ent_year_id, null, to_number(null), 128), 64), 32), 16),
      decode(ftd.week_id, null, decode(ftd.ent_period_id, null,
        decode(ftd.ent_qtr_id, null, decode(ftd.ent_year_id, null, to_date(null), min(ftd.ent_year_start_date)),
           min(ftd.ent_qtr_start_date)), min(ftd.ent_period_start_date)), min(ftd.week_start_date)),
      '00:00',
      bas.day_of_week,
      g_user_id,
      g_sysdate,
      g_user_id,
      g_sysdate,
      sum(bas.login_time),
      sum(bas.work_time),
      sum(bas.available_time),
      sum(bas.idle_time),
      g_request_id,
      g_program_appl_id,
      g_program_id,
      g_sysdate
   FROM  bix_agent_session_stg bas,
         fii_time_day ftd
   WHERE bas.time_id = ftd.report_date_julian
   AND   bas.period_type_id = 1
   GROUP BY
      bas.agent_id,
      bas.server_group_id,
      bas.schedule_id,
      bas.campaign_id,
      bas.application_id,
      bas.day_of_week,
   ROLLUP (
      ftd.ent_year_id,
      ftd.ent_qtr_id,
      ftd.ent_period_id,
      ftd.week_id)
   HAVING
      decode(ftd.week_id, null, decode(ftd.ent_period_id, null,
        decode(ftd.ent_qtr_id, null, decode(ftd.ent_year_id, null, to_number(null), 128), 64), 32), 16) IS NOT NULL);
Line: 1467

  write_log('Total rows inserted in the staging area for day, month and year : ' || to_char(SQL%ROWCOUNT));
Line: 1508

    SELECT NVL(sum(decode(status,'UNASSIGNED', 1, 0)),0),
           NVL(sum(decode(status,'FAILED', 1, 0)),0),
           NVL(sum(decode(status,'IN PROCESS', 1, 0)),0),
           NVL(sum(decode(status,'COMPLETED',1 , 0)),0),
           count(*)
    INTO   l_unassigned_cnt,
           l_failed_cnt,
           l_wip_cnt,
           l_completed_cnt,
           l_total_cnt
    FROM   BIX_WORKER_JOBS
    WHERE  object_name = 'BIX_AGENT_SESSION_F';
Line: 1538

      UPDATE BIX_WORKER_JOBS
      SET    status        = 'IN PROCESS',
             worker_number = p_worker_no
      WHERE  status = 'UNASSIGNED'
      AND    rownum < 2
      AND    object_name = 'BIX_AGENT_SESSION_F';
Line: 1563

        SELECT start_date_range, end_date_range
        INTO   l_start_date_range, l_end_date_range
        FROM   BIX_WORKER_JOBS
        WHERE worker_number = p_worker_no
        AND   status        = 'IN PROCESS'
        AND   object_name   = 'BIX_AGENT_SESSION_F';
Line: 1576

        /* Update the status of job to 'COMPLETED' */
        UPDATE BIX_WORKER_JOBS
        SET    status = 'COMPLETED'
        WHERE  status = 'IN PROCESS'
        AND    worker_number = p_worker_no
        AND    object_name = 'BIX_AGENT_SESSION_F';
Line: 1589

          UPDATE BIX_WORKER_JOBS
          SET    status = 'FAILED'
          WHERE  worker_number = p_worker_no
          AND    status = 'IN PROCESS'
          AND    object_name = 'BIX_AGENT_SESSION_F';
Line: 1758

        SELECT NVL(sum(decode(status,'UNASSIGNED',1,0)),0),
               NVL(sum(decode(status,'COMPLETED',1,0)),0),
               NVL(sum(decode(status,'IN PROCESS',1,0)),0),
               NVL(sum(decode(status,'FAILED',1,0)),0),
               count(*)
        INTO   l_unassigned_cnt,
               l_completed_cnt,
               l_wip_cnt,
               l_failed_cnt,
               l_tot_cnt
        FROM   BIX_WORKER_JOBS
        WHERE  OBJECT_NAME = 'BIX_AGENT_SESSION_F';
Line: 1818

  write_log('Total Rows Inserted/Updated : ' || to_char(g_rows_ins_upd));