Perform dynamically cl_gui_chart_engine

Hi experts,
I copy the code of program GRAPHICS_GUI_CE_DEMO to create a dynamic graph.
I create two list box on screen and a container, I split container in two part 1 for alv and second for graph.
if user change the list box field, alv will change and graph also will change.
i use below code in pbo of screen. it work but when user change list box, alv contains are change but graph
area display only chart grids only, no columns and other things like title etc. are displaying.
if i comment  CALL METHOD l_ixml_custom_doc->render at end, the graph display changes but
customize setting not apply.
IF g_ce_container IS INITIAL OR
    ( oldl1f <> l1field OR oldl2f <> l2field ).
    IF g_ce_container IS NOT INITIAL.
      CALL METHOD g_ce_container->free.
      CLEAR g_ce_container.
      CLEAR alv.
      CLEAR : g_ce_cont_split, g_ce_cont_graph, g_ce_cont_alv,
              g_ce_viewer, g_design_mode, g_value_change,
              g_ixml_sf
      CLEAR g_ce_viewer_eh.
      g_ixml_sf = g_ixml->create_stream_factory( ).
    ENDIF.
* Create the object for container.
    CREATE OBJECT g_ce_container
      EXPORTING
      container_name = 'CONTAINER_GRAPH'.
    CREATE OBJECT g_ce_cont_split
        EXPORTING
          parent  = g_ce_container
          rows    = 1
          columns = 2
          align   = 15
*call method g_ce_cont_split->set_border
*       exporting border = '1'.
    CALL METHOD g_ce_cont_split->set_column_width
      EXPORTING
        id    = 2
        width = 75.
    CALL METHOD g_ce_cont_split->get_container
      EXPORTING
        row       = 1
        column    = 1
      RECEIVING
        container = g_ce_cont_alv.
    CALL METHOD g_ce_cont_split->get_container
      EXPORTING
        row       = 1
        column    = 2
      RECEIVING
        container = g_ce_cont_graph.
* Bind the container to the object.
    CREATE OBJECT g_ce_viewer
      EXPORTING
        parent = g_ce_cont_graph.
    CREATE OBJECT g_ce_viewer_eh.
    SET HANDLER g_ce_viewer_eh->on_click FOR g_ce_viewer.
    SET HANDLER g_ce_viewer_eh->on_value_change FOR g_ce_viewer.
    SET HANDLER g_ce_viewer_eh->on_property_change FOR g_ce_viewer.
    PERFORM create_data_demo USING l_ixml_data_doc.
    l_ostream = g_ixml_sf->create_ostream_xstring( l_xstr ).
    CALL METHOD l_ixml_data_doc->render
      EXPORTING
        ostream = l_ostream.
    g_ce_viewer->set_data( xdata = l_xstr ).
    CLEAR l_xstr.
    PERFORM create_custom_demo USING l_ixml_custom_doc.
    l_ostream = g_ixml_sf->create_ostream_xstring( l_xstr ).
    CALL METHOD l_ixml_custom_doc->render
      EXPORTING
        ostream = l_ostream.
    g_ce_viewer->set_customizing( xdata = l_xstr ).
  ENDIF.
  CALL METHOD g_ce_viewer->render.

self solved.
by clear all instance and variables.

Similar Messages

  • Can we have two admin instances while performing Dynamic clustering?

    Can we have two admin instances while performing Dynamic clustering?

    Just referring you to this thread.
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/91f6434f-8a4e-4e53-b185-2f3a493aa134/issue-with-office-365-integration-module?forum=winserveressentials
    Robert Pearman SBS MVP
    itauthority.co.uk |
    Title(Required)
    Facebook |
    Twitter |
    Linked in |
    Google+

  • Bad performance dynamic page

    Hi.
    Can anybody tell what the bottleneck is in this script? It is a dynamic page (portal 3.0.9). The select statements are not very complicated.
    ANY HELP IS WELCOME!!
    <HTML>
    <BODY BGCOLOR="#FFFFFF" TEXT="#444444">
    <ORACLE>
    declare
    cursor c_runway is select distinct runway from vem_flights where nvl(:v_runway,runway) = runway;
    v_runway vem_flights.runway%type;
    v_select number;
    v_totaal number;
    v_percentage number;
    v_aantal_jaren number;
    v_aantal_maanden number;
    v_aantal_weken number;
    v_aantal_dagen number;
    v_tijd number;
    teller number;
    kopstring varchar2(500);
    selectstring varchar2(500) := '';
    begin
    v_tijd := :v_tijdvak;
    :v_begindate := :v_begindate;
    :v_enddate := :v_enddate;
    if v_tijd = 3 then
    select round(months_between(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS'),to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'))) into v_aantal_maanden from dual;
    if last_day(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')) > add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),v_aantal_maanden) then
    v_aantal_maanden := v_aantal_maanden + 1;
    for teller in 1 .. v_aantal_maanden loop
    if teller = 1 then
    kopstring := '<td><b><i>Baan\Tijdvak </i></b></td>'||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||' t/m '||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller),'DD-MM-YYYY')||'</i></b></td>';
    elsif teller > 1 and teller < v_aantal_maanden then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1),'DD-MM-YYYY')||' t/m '||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller),'DD-MM-YYYY')||'</b></i></td>';
    elsif teller = v_aantal_maanden then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||'</i></b></td>';
    end if;
    end loop;
    v_aantal_maanden := v_aantal_maanden - 1;
    else
    for teller in 1 .. v_aantal_maanden loop
    if teller = 1 then
    kopstring := '<td><b><i>Baan\Tijdvak </i></b></td>'||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||' t/m '||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller),'DD-MM-YYYY')||'</i></b></td>';
    elsif teller > 1 and teller < v_aantal_maanden then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1),'DD-MM-YYYY')||' t/m '||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller),'DD-MM-YYYY')||'</b></i></td>';
    elsif teller = v_aantal_maanden then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||'</i></b></td>';     
    end if;
    end loop;
    end if;
    htp.p('<font face = "arial" size="3"><b>Verticale afwijkingen overdag van naderende vliegtuigen buiten de TMA</b></font><p>&nbsp<p>');
    htp.p('<table border="1">');
    htp.p('<tr>'||kopstring||'</tr>');
    open c_runway;
    loop
    fetch c_runway into v_runway;
    exit when c_runway%notfound;
    selectstring := '<td><b><i>'||v_runway||'</i></b>';
    if last_day(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')) > add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),v_aantal_maanden) then
    v_aantal_maanden := v_aantal_maanden + 1;
    for teller in 1 .. v_aantal_maanden loop
    if teller = 1 then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    elsif teller > 1 and teller < v_aantal_maanden then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;               
    elsif teller = v_aantal_maanden then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.gs21 = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;               
    end if;
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;
    end loop;
    v_aantal_maanden := v_aantal_maanden - 1;
    else
    for teller in 1 .. v_aantal_maanden loop
    if teller = 1 then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
    and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;     
    elsif teller > 1 and teller < v_aantal_maanden then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
    and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')
    and add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')-1,teller)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;               
    elsif teller = v_aantal_maanden then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
    and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between add_months(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS'),teller-1)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;          
    end if;
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;
    end loop;
    end if;
    htp.p('<tr>'||selectstring||'</tr>');
    end loop;
    close c_runway;
    htp.p('</table>');
    htp.p('</font>');
    elsif v_tijd = 1 then
    select to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS') - to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') into v_aantal_dagen from dual;
    for teller in 0 .. v_aantal_dagen loop
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + teller,'DD-MM-YYYY')||'</b></i></td>';
    end loop;
    htp.p('<font face = "arial" size="3"><b>Verticale afwijkingen overdag van naderende vliegtuigen buiten de TMA</b></font><p>&nbsp<p>');
    htp.p('<table border="1">');
    htp.p('<tr>');
    htp.p('<td><b><i>Baan\Tijdvak </i></b></td>'||kopstring);
    htp.p('</tr>');
    open c_runway;
    loop
    fetch c_runway into v_runway;
    exit when c_runway%notfound;
    selectstring := '<td><b><i>'||v_runway||'</i></b>';
    for teller in 0 .. v_aantal_dagen loop
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time = to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + teller
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
    and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time = to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + teller
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;
    end loop;
    htp.p('<tr>'||selectstring||'</tr>');
    end loop;
    close c_runway;
    htp.p('</table>');
    htp.p('</font>');
    elsif v_tijd = 2 then
    select trunc(to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS') - to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')) / 7) into v_aantal_weken from dual;
    for teller in 0 .. v_aantal_weken loop
    if teller < v_aantal_weken then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1),'DD-MM-YYYY')||'</b></i></td>';
    elsif teller = v_aantal_weken then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1),'DD-MM-YYYY')||'</b></i></td>';
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||'</b></i></td>';                         
    end if;      
    end loop;
    htp.p('<font face = "arial" size="3"><b>Verticale afwijkingen overdag van naderende vliegtuigen buiten de TMA</b></font><p>&nbsp<p>');
    htp.p('<table border="1">');
    htp.p('<tr>');
    htp.p('<td><b><i>Baan\Tijdvak </i></b></td>'||kopstring);
    htp.p('</tr>');
    open c_runway;
    loop
    fetch c_runway into v_runway;
    exit when c_runway%notfound;
    selectstring := '<td><b><i>'||v_runway||'</i></b>';
    for teller in 0 .. v_aantal_weken loop
    if teller < v_aantal_weken then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);           
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    elsif teller = v_aantal_weken then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*14) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;          
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;                    
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.gs21      = 'X'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7)
         and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    end if;
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;
    end loop;
    htp.p('<tr>'||selectstring||'</tr>');
    end loop;
    close c_runway;
    htp.p('</table>');
    htp.p('</font>');
    elsif v_tijd = 4 then
    select trunc(to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS') - to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS')) / 365) into v_aantal_jaren from dual;
    for teller in 0 .. v_aantal_jaren loop
    if teller < v_aantal_jaren then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1),'DD-MM-YYYY')||'</b></i></td>';
    elsif teller = v_aantal_jaren then
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1),'DD-MM-YYYY')||'</b></i></td>';
    kopstring := kopstring||'<td colspan="3"><b><i>'||to_char(to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*7),'DD-MM-YYYY')||' t/m '||to_char(to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS'),'DD-MM-YYYY')||'</b></i></td>';                         
    end if;      
    end loop;
    htp.p('<font face = "arial" size="3"><b>Verticale afwijkingen overdag van naderende vliegtuigen buiten de TMA</b></font><p>&nbsp<p>');
    htp.p('<table border="1">');
    htp.p('<tr>');
    htp.p('<td><b><i>Baan\Tijdvak </i></b></td>'||kopstring);
    htp.p('</tr>');
    open c_runway;
    loop
    fetch c_runway into v_runway;
    exit when c_runway%notfound;
    selectstring := '<td><b><i>'||v_runway||'</i></b>';
    for teller in 0 .. v_aantal_jaren loop
    if teller < v_aantal_jaren then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.gs21      = 'X'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    elsif teller = v_aantal_jaren then
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.gs21      = 'X'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
         and vem.destination = 'EHAM'
         and vem.period = 'DAY'
    and vem.runway = v_runway
         and vem.departure NOT IN ('EHLE','EHRD','EHVB')
         and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
         and to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + ((teller*730) - 1)
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;          
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;                    
    select count(*)
    into v_select
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.gs21      = 'X'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    select count(*)
    into v_totaal
    from vem_flights vem
    where vem.aircrafttype = 'JET'
    and vem.destination = 'EHAM'
    and vem.period = 'DAY'
    and vem.runway = v_runway
    and vem.departure NOT IN ('EHLE','EHRD','EHVB')
    and vem.date_time between to_date(:v_begindate,'DD-MM-YYYY HH24.MI.SS') + (teller*365)
    and to_date(:v_enddate,'DD-MM-YYYY HH24.MI.SS')
    and (rtrim((to_char(vem.date_time,'HH24'))) >= :v_starthour or :v_starthour = '%')
    and (rtrim((to_char(vem.date_time,'HH24'))) < :v_endhour or :v_endhour = '%')
    and rtrim((to_char(vem.date_time,'DAY'))) IN (:v_day);
    if v_totaal != 0 then
    select round((v_select/v_totaal)*100) into v_percentage from dual;
    elsif v_totaal = 0 then
    select 0 into v_percentage from dual;
    end if;
    end if;
    if v_percentage > 5 then
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td><font color="red">'||to_char(v_percentage)||'%</font></td>';
    else
    selectstring := selectstring||'<td>'||to_char(v_select)||'</td><td>'||to_char(v_totaal)||'</td><td>'||to_char(v_percentage)||'%</td>';                    
    end if;
    end loop;
    htp.p('<tr>'||selectstring||'</tr>');
    end loop;
    close c_runway;
    htp.p('</table>');
    htp.p('</font>');
    end if;
    end;
    </ORACLE>
    </BODY>
    </HTML>

    I set up a helper package to return my reference cursors:
    Package SOME_PKG as type t_RefCur is REF CURSOR;
    I added the appropriate function to return the cursors. Here a simple example:
    FUNCTION get_leads(x in NUMBER, y in NUMBER)
    RETURN t_RefCur IS
    v_ReturnCursor t_RefCur;
    v_SQL VARCHAR2(500);
    BEGIN
    v_SQL:= 'select * from SOME_TABLE_OR_VIEW where account = :n and location = :m';
    OPEN v_ReturnCursor FOR v_SQL using x,y;
    RETURN v_ReturnCursor;
    END get_leads;
    Then I make my call from the portlet which goes something like this:
    <oracle>
    declare
    arow SOME_TABLE_OR_VIEW%ROWTYPE;
    invcursor SOME_PKG.t_RefCur;
    X number;
    Y number;
    begin
    invcursor := SOME_PKG.get_leads(get_account_number(X), get_location(Y));
    /*portlet formatting and looping...
    fetch invcursor into arow;
    htp.p(arow.SOME_ROW_FROM_TABLE);
    end;
    </oracle>
    I have gotten very good performance with reference cursors in Oracle.
    Good luck.

  • Query performance - dynamic indexing?

    Hi Experts,
    I have a query like this:
    WITH /*+materialize*/ A AS (SELECT  A.NAME,
       B.pname,
       B.ptype,
    DECODE(C.ttype,'L','Lab','Non-Lab') ttype
    ,(CASE WHEN(C.ttype = 'L') THEN C.RES_CODE ELSE NULL END) RES_CODE
    ,(SELECT (first_name|| ' ' ||last_name) FROM resources WHERE name=C.ROLE)ROLE_desc
    ,D.currency Bill_curr
    ,D.TOTALCOST Bill_cost
    ,E.currency Home_curr
    ,E.TOTALCOST Home_cost
    ,C.role role_code
    ,(C.HOURS) AS HRS
    ,(D.TOTALAMOUNT) 
    ,(E.TOTALAMOUNT)    Home_amount
    FROM    WORKPROG C
    ,WORKPROG_VAL D
    ,WORKPROG_VAL E
    ,PROJECTS A
    ,periods B
    WHERE  C.TNO=D.TNO
    AND    C.TNO=E.TNO
    AND    D.CURR_TYP='BILL'
    AND    E.CURR_TYP='HM'
    AND    A.NAME=C.PROJ_CODE
    AND    C.PROJ_CODE LIKE 'JA%'
    AND C.TDATE BETWEEN b.start_date AND b.end_date AND b.ptype ='SMON'
    SELECT
    name,b.pname,b.ptype,ttype,res_code,role_desc,role_code,Bill_curr,SUM(Bill_cost),Home_curr,SUM(Home_cost),SUM(hrs),SUM(totalamount),SUM(Home_amount)
    FROM A
    GROUP BY name,b.pname,b.ptype,ttype,res_code,role_desc,role_code,Bill_curr,Home_currThe problem is - the WITH part takes no time to run, its very fast. But the group by part takes ages. This is because the WITH part returns millions of records.
    Is ther eany way that I can dynamically index the result set of WITH query so that the group by runs faster.
    Thanks.

    Caitanya wrote:
    Thanks Someone.
    By ages... I mean it kept running for 45 minutes after which I aborted it.
    The indexes are being used and there is no 'FULL TABLE ACCESS' in the explain plan. We are using Oracle 9i.It is quite unlikely (although possible) that getting millions of rows is done effectively by using indexes, you should actually look for performing full table scans. Only if the tables contained billions of rows it would be reasonable for the optimizer to choose an index access, but it will take hours to get millions of rows via index lookup and the corresponding single row random access to the tables.
    I assume that the statistics are not up to date because a query that returns millions of rows probably won't have a realistic cost of 102. That would mean that Oracle estimates that it takes him the time of 102 single block reads to complete the query - if you take a conservative guess of 10ms per random single block access then this means roughly 1 second.
    So please post your explain plan here, and if possible can you get the total number of rows in the tables accessed by the query and the approx. number of rows the query is supposed to return as base information.
    Here are some (generic) instructions how to generate a reasonable EXPLAIN PLAN output:
    Could you please post an properly formatted explain plan output using DBMS_XPLAN.DISPLAY including the "Predicate Information" section below the plan to provide more details regarding your statement. Please use the \[code\] tag before and \[code\] after or {noformat}{{noformat}code{noformat}}{noformat} before and after to enhance readability of the output provided:
    In SQL*Plus:
    SET LINESIZE 130
    EXPLAIN PLAN FOR <your statement>;
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);Note that the package DBMS_XPLAN.DISPLAY is only available from 9i on.
    In previous versions you could run the following in SQL*Plus (on the server) instead:
    @?/rdbms/admin/utlxplsA different approach in SQL*Plus:
    SET AUTOTRACE ON EXPLAIN
    <run your statement>;will also show the execution plan.
    In order to get a better understanding where your statement spends the time you might want to turn on SQL trace as described here:
    [When your query takes too long|http://forums.oracle.com/forums/thread.jspa?threadID=501834]
    and post the "tkprof" output here, too.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • How to Configure bootpd to Perform Dynamic DNS Updates

    I have been able to get bootpd configured to function as a basic DHCP server. I would now like to configure it to dynamically update DNS forward and reverse zones when leases are assigned, released, or expired.
    Does anyone have an example of a bootpd.plist file to configure bootpd for dynamic DNS updates?

    Hi,
    I am not sure what you are attempting to configure here.
    But what the NAT configuration above does is do a Dynamic PAT for all the servers on the "firewall-dmz" to a single IP address towards the "firewall-outbound"
    This Dynamic translation doesnt however enable connections to be initiated from behind the "firewall-outbound" interface. When your hosting a server which needs a NAT towards the users then the NAT type has to be Static NAT or Static PAT.
    Static NAT will essentially use up one public IP address for just the single local host/server.
    Static PAT will do a Port Forward from the public IP address and public port to the local IP and local port. And this is most commonly used with environments which only public IP address is the one that the ASA holds in its WAN interface.
    A typical Static NAT configuration is this
    static (inside,outside) 1.1.1.1 10.10.10.10 netmask 255.255.255.255
    Where
    inside = is the interface behind which the host is
    outside = is the interface towards which the host is NATed
    1.1.1.1 = is the public NAT IP address for the host
    10.10.10.10 = is the local IP address of the host
    A typical Static PAT configuration is this
    static (inside,outside) tcp interface 80 10.10.10.10 80 netmask 255.255.255.255
    Where
    tcp = specifies the protocol for which the Static PAT configured
    interface = specifies that we will be using the public IP address of the destination interface "outside" as the public IP address for this single Port Forward.
    80 = first "80" specifies the public port visible to users behind the destination interface
    80 = second "80" specifies the actual local port on which the local host is listening on
    Hope this helps
    - Jouni

  • ADF Faces & BC: How to perform dynamic navigation.

    Here is the setup:
    Page 1 allows the user to enter a id
    Page 2 and 3 is either a update or insert depending on the id.
    The logic to figure out the insert or update operation is within a method in the AM.
    I have bound this method on a button in Page 1, with the generated actionListener like the following:
    #{bindings.isNewRegistration.execute}
    This business method returns 2 possible String values that are mapped in the face-config.xml.
    <navigation-case>
    <from-action>#{bindings.isNewRegistration.execute}</from-action>
    <from-outcome>validIdSelected</from-outcome>
    <to-view-id>updatePage.jspx</to-view-id>
    </navigation-case>
    ...followed by insert navigation case
    The problem:
    The business method is appropriately invoked when the button is pressed with the correct return value, but the page does not forward to insert or update page.
    I appreciate the help in advance.
    -Z

    Zeoneozero,
    I think you need to use the "Action" and not "ActionListener" on the button. You can programatically look up and execute the operation binding for the isNewRegistration action and get the result via the execute method. Then, the navigation cases need static <from-action> values... something like this perhaps:
    <navigation-case>
    <from-outcome>update</from-outcome>
    <to-view-id>updatePage.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>insert</from-outcome>
    <to-view-id>insertPage.jspx</to-view-id>
    </navigation-case>and, in the backing bean...
    String myPressedButtonAction()
          OperationBinding b = getBindings().getOperationBinding("isNewRegistration");
          String result = (String) b.execute();
          return result;
    }Hope this helps...
    John

  • Dynamic action on tabular forms fields

    Hello guys.
    As I can see on the tabular form's fields I can't perform dynamic actions. What I want is to have a select list item when at the event Change it changes the values for all the records in that report. For example if I have 40 records in that tabular form and I change the value from "Open" to "Close to the field called Status, I want to see that change (Status value from "Open" to Close") reflected in all the rows of that tabular form. Is that make sense?
    Thank you, Bernardo.

    Hi Bernardo,
    There are several ways to accomplish what you want.
    - You can create a PL/SQL procedure to handle an update on all rows based on the value of your changed column value. I once wrote a blog post that might help you with that:
    http://vincentdeelen.blogspot.nl/2013/06/custom-multi-row-processing-using.html
    -You can create a dynamic action with javascript or jQuery to handle the change event.
    The first option is more secure since it's handled by the database, the second one is simpler and can instandly set all the entire column for all displayed rows, without the need to refresh your tabular form, or your entire page. For a secure working you should however have some validation at the database end. Also I think it is not possible to set the values for rows that are not displayed, that again would require some PL/SQL for handling.
    If you need any help setting up the dynamic action, please put up an example on apex.oracle.com.
    Regards,
    Vincent

  • Dynamic action on IrReport column

    Hi Everyone,
    I just wanted to ask, is it possible to perform dynamic action on column of a IrReport. If it is possible can u just tell me briefly how and what to do.
    Thanks in advance.
    Thanks and Regards,
    Shoaib

    Hi,
    Sorry I should have done it earlier itself.
    -->I have written this process-
    declare
         ln_seq     number;
    ln_name varchar2(500);
         begin
         for i in 1..APEX_APPLICATION.G_F02.COUNT
         LOOP
    begin
    select seq_id into ln_seq
    from apex_collections
    where collection_name ='collection_name'
    --and trim(upper(c002)) =trim(upper(:ln_part_name))
    and trim(c001)=trim(APEX_APPLICATION.G_F02(i));
    select c002 into ln_name from apex_collections
    where collection_name ='collection_name'
    --and trim(upper(c002)) =trim(upper(:ln_part_name))
    and trim(c001)=trim(APEX_APPLICATION.G_F02(i));
         APEX_COLLECTION.UPDATE_MEMBER (
    p_collection_name => 'collection_name',
    p_c001 => APEX_APPLICATION.G_F02(i),
    P_c002 => ln_name,
    p_seq => ln_seq,
    p_c005 => APEX_APPLICATION.G_F10(i)
    exception when others then
    null;
    end;
    END LOOP;
    for j in 1..APEX_APPLICATION.G_F22.COUNT
    LOOP
    BEGIN
    UPDATE table_name SET QUANTITY=APEX_APPLICATION.G_F20(j) where id=APEX_APPLICATION.G_F22(j);
    EXCEPTION WHEN OTHERS THEN
    NULL;
    END;
    END LOOP;
    commit;
         end;
    --->Here F02 is QUANTITY and F10 is UNIQUE value using which i am updating the column value in Database and F20(Quantity) and F22(Unique value) are values of already submitted column values of report.
    --->I have also created a Dynamic action with three true actions on the report region, Event-change and Selection type-region
    1.execute PL/SQL code
    declare
         ln_seq     number;
    ln_name varchar2(500);
         begin
         for i in 1..APEX_APPLICATION.G_F02.COUNT
         LOOP
    begin
    select seq_id into ln_seq
    from apex_collections
    where collection_name ='collection_name'
    --and trim(upper(c002)) =trim(upper(:ln_part_name))
    and trim(c001)=trim(APEX_APPLICATION.G_F02(i));
    select c002 into ln_name from apex_collections
    where collection_name ='collection_name'
    --and trim(upper(c002)) =trim(upper(:ln_part_name))
    and trim(c001)=trim(APEX_APPLICATION.G_F02(i));
         APEX_COLLECTION.UPDATE_MEMBER (
    p_collection_name => 'collection_name',
    p_c001 => APEX_APPLICATION.G_F02(i),
    P_c002 => ln_name,
    p_seq => ln_seq,
    p_c005 => APEX_APPLICATION.G_F10(i)
    commit;
    exception when others then
    null;
    end;
    END LOOP;
    for j in 1..APEX_APPLICATION.G_F22.COUNT
    LOOP
    BEGIN
    UPDATE table_name SET Quantity=APEX_APPLICATION.G_F20(j) where id=APEX_APPLICATION.G_F22(j);
    EXCEPTION WHEN OTHERS THEN
    NULL;
    END;
    END LOOP;
    commit;
         end;
    2.refresh the region
    3.cancel event
    --->But my requirement has changed a little as i had informed in my earlier mails now the update should not happen when a region button is clicked but i should get updated as soon as the value is changed.
    --->But this is not working pls suggest me changes.
    Thanks and Regards,
    Shoaib

  • Dynamic Range Compression for Gam

    Hi, all, thanks in advance for any help with this.
    I've recently acquired an Audigy2 Value card, and the specifications on the website stated that the card could perform Dynamic Range Compression. However, now having it home and looking over the software, it seems that that is only true as long as you're watching a movie. Since my PC game-playing room is loud, I have to keep the volume really high. And since I play first person shooter multiplayer games online with my friends, I have to put up with deafening gunshot sounds in order to have it loud enough to hear my sneaky friends' footstep sounds as they sneak up on me in the games.
    The ideal solution would be range compression to either lower the loud noises, or increase the volume of the quieter ones, so I could keep the total volume level more under control.
    Does anyone know of a way to do this, either with the help of the Creative Labs software or some third-party software?
    Thanks!
    e-cheddar

    I don't know if this is possible with your card, but the x-fi has an option called Smart Volume Management, which does what you want.Message Edited by the_One on 0-2-2006 08:6 AM

  • Dynamic XSLT Sort Routine to XML (NCName:* or QName was expected)

    I am trying to create a XSLT Stylesheet to perform dynamic sorts (via parameters) on XML data with the desired output being XML... I've declared everything static in my StyleSheet for debugging purposes:
    XML Document:
    <?xml version="1.0" encoding="UTF-8"?>
    <Content>
    <task:TASK id="25"
    src:col="/db/iconnect/MappingCenterCRM/default/TASK"
    src:key="25" xmlns:src="http://xml.apache.org/xindice/Query" xmlns:task="http://iconnect.com/schemas/task">
    <task:user_id>123</task:user_id>
    <task:long_description>This is my description...</task:long_description>
    <task:priority>1</task:priority>
    <task:status>Completed</task:status>
    </task:TASK>
    <task:TASK id="26"
    src:col="/db/iconnect/MappingCenterCRM/default/TASK"
    src:key="26" xmlns:src="http://xml.apache.org/xindice/Query" xmlns:task="http://iconnect.com/schemas/task">
    <task:user_id>123</task:user_id>
    <task:long_description>Another description...</task:long_description>
    <task:priority>1</task:priority>
    <task:status>New</task:status>
    </task:TASK>
    </Content>
    Here is my Stylesheet:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:task="http://iconnect.com/schemas/task" xmlns:src="http://xml.apache.org/xindice/Query">
    <xsl:output method="xml" />
    <xsl:param name="sortBy" select="task:long_description" />
    <xsl:param name="xPath" select="//Content/task:TASK" />
    <xsl:param name="orderByType" select="ascending" />
    <xsl:template match="$xPath | node()">
    <xsl:copy>
    <xsl:apply-templates>
    <xsl:sort select="$sortBy" order="ascending"/>
    </xsl:apply-templates>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    When I run in XMLSpy, I get the desired results, but when running using Xerces, I get the following error:
    javax.xml.transform.TransformerException: A node test that matches either NCName:* or QName was expected.

    I am trying to create a XSLT Stylesheet to perform dynamic sorts (via parameters) on XML data with the desired output being XML... I've declared everything static in my StyleSheet for debugging purposes:
    XML Document:
    <?xml version="1.0" encoding="UTF-8"?>
    <Content>
    <task:TASK id="25"
    src:col="/db/iconnect/MappingCenterCRM/default/TASK"
    src:key="25" xmlns:src="http://xml.apache.org/xindice/Query" xmlns:task="http://iconnect.com/schemas/task">
    <task:user_id>123</task:user_id>
    <task:long_description>This is my description...</task:long_description>
    <task:priority>1</task:priority>
    <task:status>Completed</task:status>
    </task:TASK>
    <task:TASK id="26"
    src:col="/db/iconnect/MappingCenterCRM/default/TASK"
    src:key="26" xmlns:src="http://xml.apache.org/xindice/Query" xmlns:task="http://iconnect.com/schemas/task">
    <task:user_id>123</task:user_id>
    <task:long_description>Another description...</task:long_description>
    <task:priority>1</task:priority>
    <task:status>New</task:status>
    </task:TASK>
    </Content>
    Here is my Stylesheet:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:task="http://iconnect.com/schemas/task" xmlns:src="http://xml.apache.org/xindice/Query">
    <xsl:output method="xml" />
    <xsl:param name="sortBy" select="task:long_description" />
    <xsl:param name="xPath" select="//Content/task:TASK" />
    <xsl:param name="orderByType" select="ascending" />
    <xsl:template match="$xPath | node()">
    <xsl:copy>
    <xsl:apply-templates>
    <xsl:sort select="$sortBy" order="ascending"/>
    </xsl:apply-templates>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    When I run in XMLSpy, I get the desired results, but when running using Xerces, I get the following error:
    javax.xml.transform.TransformerException: A node test that matches either NCName:* or QName was expected.

  • Dynamic subroutine call

    how to perform dynamic subroutine call

    Hi,
    In the Program where you are writing the PERFORM statement: write as below:
    PERFORM <Subroutine Name>(give the other Program name where this subroutine has to be called dynamically)  USING <paramters>.
    In the Other program you will just call this perform with FORM... ENDFORM...
    The PERFORM will not appear in that program.
    Regards,
    Anji

  • Dynamic navigation from ZCOMP1 to ZCOMP2

    Hi experts,
    Hope you are all doing good!
    This is the first time I'm working with the dynamic navigation. So, I'm just trying to understand how really it works with two custom components.
    I've already searched this forum n got some info. But, I'm getting confused with the procedure. 
    While calling the target component, I see the below code:
    lr_window ?= me->view_manager->get_window_controller( ).
    lr_window->call_outbound_plug( iv_outbound_plug = 'TOCOMP2' iv_data_collection = lr_data_collection ).
    and in another thread, they used:
    lr_navigation = cl_crm_ui_navigation_service=>get_instance( ).
    CHECK lr_navigation IS BOUND.
    lr_navigation->navigate_dynamically( lr_col ).
    Can someone help with the difference between these methods?  I really need this to understand clearly before proceeding further.
    I would really appreciate if someone can provide the generic procedure to achieve this. Thank you a lot.
    -Ezhno.

    Hi Maren,
    WebUI Navigation guide  - for more Info.
    Dynamic navigation will be perform only if they have generic mapping entry in navigation bar profile in spro. At runtime webui picks the target id and calls the inbound plug to the target link.
    if you are trying to perform navigation on the standard component, then you can directly check the config in spro and perform the navigation using a descriptor object.
    and if its for the custom component then u have to define a workarea component repository
    check my answer in below thread How to link view to be displayed on a logical link. Use first three screen shots to define work area repository
    Once u have defined your target id for your ZComponent , then u can create a new your new mapping in spro for your ZComponent, like  below screenshot and perform dyanmic navigation.
    Now to perform dynamic navigation sample code .
       data: lr_nav_descr      type ref to if_bol_bo_property_access,
            lr_core                     type ref to cl_crm_bol_core,
            lr_nav_serv       type ref to if_crm_ui_navigation_service,
            lr_header           type ref to cl_crm_bol_entity,
            lr_entity type ref to if_bol_bo_property_access,
            lr_col           type ref to cl_crm_bol_bo_col.
    *     Get the BOL Core Instance
      lr_core ?= cl_crm_bol_core=>get_instance( ).
    * get the BuilHeader object
      lr_header = lr_core->get_root_entity( iv_object_name = 'BuilHeader'
                                            iv_object_guid = lv_partner_guid ).
    * add the Builheader to the collection
      create object lr_col.
      lr_col->if_bol_bo_col~add( iv_entity = lr_header
                                 iv_set_focus = abap_true ).
      cl_crm_ui_descriptor_obj_srv=>create_ui_object_based(
               exporting
                         iv_ui_object_type   = 'BP_ACCOUNT'
                         iv_ui_object_action = 'B'
               receiving rr_result           = lr_nav_descr ).
      lr_nav_serv = cl_crm_ui_navigation_service=>get_instance( ).
    * check if navigation is possible
      if lr_nav_serv->is_dynamic_nav_supported( ir_descriptor_object = lr_nav_descr ) = abap_true.
        lr_col->if_bol_bo_col~insert( iv_bo    = lr_nav_descr
                                    iv_index = 1 ).
    *   start the navigation
        lr_nav_serv->navigate_dynamically( iv_data_collection = lr_col ).
      endif.
    As per as configurations navigate_dynamically will check the spro config as it will navigate to the target id of the BP as display mode i.e on overviewpage.
    Now comes to the first question......
    lr_window ?= me->view_manager->get_window_controller( ).
    lr_window->call_outbound_plug( iv_outbound_plug = 'TOCOMP2' iv_data_collection = lr_data_collection ).
    here you are trying to get the instance of the window controller and then your are calling to the Window Outbound plug and passing the collection using a navigation_link.
    where inbound and outbound plugs are defined.
    Steps :
    Create an outbound plug on the source view
    Create an inbound plug for target view.
    Create an event handler for the navigation event
    Method EH_xxx.
    Op_xxx.()
    ENDMETHOD.
    Create a navigation link between the source and target view.
    In the outbound plug, call following code snippet.
    Me->view_manager->navigate(source_rep_view =  me->rep_view
    Outbound plug = <navlink>) or you can call the window plugs and perform
    Create an inbound plug for target view.
    If you have any questions, let me know.
    Regards,
    Sumeet Gehlot

  • Dynamic Aggregation Using BI Query Wizard

    Hi,
    Is it poosible to perform dynamic aggregation using Oralce Query Wizard. In other words , is it possible to change/filter the dimension members of a particular dimension and recalculate the aggregation with out changing the fact/dimension table contents.
    Your help is appreciated.
    Panneer

    Hi,
    Not sure exactly what you are tying to achieve. However, if your data is stored in Analytic Workspace objects then you can recalculate data via OLAP DML programs or models dynamically from within a BI Beans application. The AW environment is always attached in read-only mode as a default. Hence, you can change the data during a session and then dump the changes when the user exits the application.
    From within a relational environment it is very difficult to create the same approach since it is possible a commit could be issued. Unless you mark the required tablespaces as read-only. In which case you could execute PL/SQL procedures to recalculate data. However, not sure how you would resolve the refresh of any related MVs
    Hope this helps
    Keith Laker
    Product Manager
    Oracle Business Intelligence Beans

  • Dynamic nat entire group

    Hello,
    Is there any way to setup dynamic nat for an entire group without having to setup dynamic nat for every single network?
    For example,
    network a: 10.168.32.0/24
    network b: 10.184.32.0/24
    network c: 10.16.38.0/24
    I want to setup dynamic nat for all of these subnets at one time.
    Of couse I have more than 3, more like 200 of them, so I don't want to have to setup dynamic nat individually.
    Thanks,
    Dan.

    Hi,
    Well if you want to perform Dynamic PAT to different public IP addresses based on source interface for example then you could do it in the following way
    object network INSIDE-PAT
    host 1.1.1.1
    object network DMZ-PAT
    host 1.1.1.2
    nat (inside,outside) after-auto source dynamic any INSIDE-PAT
    nat (dmz,outside) after-auto source dynamic any DMZ-PAT
    You could follow the above logic that applies to your network setup.
    Ofcourse if you have only one source interface but several different networks or groups of networks that you want to use different PAT IP addresses then you would have to create the source address group for those networks
    For example
    object network PRODUCTION-PAT
    host 1.1.1.1
    object network TESTING-PAT
    host 1.1.1.2
    object-group network PRODUCTION-NETWORKS
    network-object 10.10.0.0 255.255.0.0
    network-object 10.20.0.0 255.255.0.0
    object-group network TESTING-NETWORKS
    network-object 10.30.0.0 255.255.0.0
    network-object 10.40.0.0 255.255.0.0
    nat (inside,outside) after-auto source dynamic PRODUCTION-NETWORKS PRODUCTION-PAT
    nat (inside,outside) after-auto source dynamic TESTING-NETWORKS TESTING-PAT
    or was it something else that you were after?
    - Jouni

  • Expand Dynamically Expanding Virtual HD Space

    Hi Server Expert,
    I have a Server 2012 Hyper V server that being installed with few VMs. Those VM are using dynamically Expanding virtual HDD.
    Take an example from one of the server below:
    A VM called "Finance Server". this server virtual HDD has been configured with dynamically expanding virtual hdd. On the hyper v server, we created 500GB partition and this partition is being used to store the virtual hdd of the "Finance Server".
    I created 3 dynamically expanding VHD as I would like to have 3 partitions on the Finance Server. The three dynamically expanding VHDs are A.vhdx,B.vhdx, and c.vhdx. A.vhdx is 50GB, B.vhdx is 100GB, and C.vhdx is 150GB. each of the dynamic VHD will correspond
    to the partition in the "Finance Server". So, C partition is using A.vhdx, D partition is using B.vhdx, and E partition is using C.vhdx.
    The Problem Encounter:
    D partition is out of disk space. in this case, how am I going to expand it? Should I expand the space on the Hyper V server? currently the "Finance Server" is using 500GB of the HDD space. if we increase disk space by 200GB in the Hyper V
    Server, after extend the 500GB to 700GB, how am I going to use the space that just being increased into the "Finance Server"'s D drive? does it mean that by increasing the Hyper V disk space of 500GB to 700GB, the Finance server will be able to automatically
    consume the new space of 200GB or I need to login to Finance Server and activate it?
    Now, if the finance VM is able to consume the 200GB free space from the server, how should I allocate it to the partition D inside the  finance server? does it mean that by increasing the size of D drive by using the new space of 200GB will solve the
    issue? or I still need to expand the size of dynamic VHD? as I know dynamic VHD is not able to expand as it will always grow right?
    Thanks
    Regards,
    H

    Hi Henry2050,
    May there have some misunderstanding in your mind, when we create a dynamic expand vhd we set the maximum size of this disk, it will not automatically give this partition when
    it over the specific size, this is by design, a Dynamically VHD is rather small in size when first created and the size grows as data are written into the disk. At any given time, a Dynamic VHD is with a size of the actual data written to it and the housekeeping
    information.
    Additional, a Dynamic VHD is recommended for development and testing, since relatively small footprint to manage. A server intended to run applications not disk intensive
    is also a possible candidate for a Dynamic VHD. Still when it comes to performance, a Fixed VHD always performs better than a comparable Dynamic VHD in most scenarios by roughly 10% to 15% with the exception of 4k writes, where Fixed VHD performs significantly
    better as documented in Hyper-V and VHD Performance - Dynamic vs. Fixed.
    See more at:
    http://blogs.technet.com/b/yungchou/archive/2013/01/23/hyper-v-virtual-hard-disk-vhd-operations-explained.aspx#sthash.KiruaO9O.dpuf
    I’m glad to be of help to you!
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

Maybe you are looking for