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+ -
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> <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> <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> <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> <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.
-ZZeoneozero,
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,
ShoaibHi,
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-cheddarI 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. -
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.
PanneerHi,
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 -
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,
HHi 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
-
When playing music from my iPod through itunes I keep getting this warning saying "The iPod cannot be synced. The required file is in use." I have my settings set to 'manually manage music' so don't know why it keeps happening. Any ideas?
-
Track automation with EW Quantum Leap Platinum Orchestra PLAY edition...
I have Snow Leopard and Logic Pro 9- I use EW Quantum Leap Platinum Orchestra PLAY edition. I would ask on the EW Quantum Leap site also, but I cannot post for some reason... In track automation it has the option to change the volume in that specific
-
My gmail is forwarded to my Mail on my Mac. I now have over 14000 emails in the gmail "mailbox" because I can not delete them. When I do, they just come back. Frustrated ...
-
Ayuda plugins referencias pls!
hola quisiera pedir ayuda resulta que necesito estos tres plugins de fter effects CC ----------------------- S_SHAKE , S_BLUR , S_GLOW. que no los puedo encontrar quisiera saber si alguien me podría ayudar y me diga donde los
-
I was trying to update may video driver for the first time and when MSI live update found the driver, the onboard card (ATI 1250) is no on the list :(. I think ATI 1300 is. Am i doing something wrong? Thanks in advance, Joe.