Interactive report on SELECT * FROM X
Hi,
Is there anyway to create an interactive report using SELECT * FROM my_table; where you can add a new column to "my_table" and for the interactive report to pick up the new column without having to go into the report region and hit apply changes?
I've tried using a collection but that doesn't work as you still have to manually refresh the report region.
I've even tried hacking my way into:
wwv_flow_f4000_util.save_interactive_rpt_region (
p_region_id in number,
p_flow_id in number,
p_plug_name in varchar2 default null,
p_region_name in varchar2 default null,
p_region_template in number default null,
p_display_seq in number default null,
p_display_column in number default null,
p_display_point in varchar2 default null,
p_region_source in varchar2 default null,
p_breadcrumb_template in number default null,
p_list_template in number default null,
p_region_display_error_msg in varchar2 default null,
p_required_role in varchar2 default null,
p_display_when_cond in varchar2 default null,
p_display_when_cond2 in varchar2 default null,
p_display_cond_type in varchar2 default null,
p_region_header in varchar2 default null,
p_region_footer in varchar2 default null,
p_region_column_width in varchar2 default null,
p_customized in varchar2 default null,
p_customized_name in varchar2 default null,
p_requied_patch in number default null,
p_url_text_begin in varchar2 default null,
p_url_text_end in varchar2 default null,
p_translate_title in varchar2 default null,
p_comment in varchar2 default null);
(Yes, I know that's bad!)
Still can't get this to work anyway.
There must be a way of doing this....
Any help gratefully recieved.
Thanks
Yog
Keith,
No it doesn't.
Here is an example.
1. Created an interactive report with source as select * fom dept.
2. Ran my page and saw a report based on columns deptno, dname and loc
3. Added a column to dept called "newcol"
4. Reran the page - columns are still deptno, dname and loc
5. clicked on green cog / select columns and the only options avaiable are still deptno, dname and loc
In order to get "newcol" to appear I have to edit the page, go to my report region and click Apply Changes. A summary appears with the new column "newcol" shown. I click apply changes again and run the page and only then does the new column appear.
Cheers
Yog
Similar Messages
-
Interactive Report with select list
Hi,
I am trying to make an interactive report where the output is based on the choice of a value from the select list;
the list is based on a lov:
select name,id
from kunden order by 1
I created the select list named P2_KUNDEN_ID and used this in my query for the report:
select
lizenzen.id,
lizenzen.produktbeschreibung,
lizenzen.anzahl,
lizenzen.lizenztyp,
lizenzen.support_vertragsnr,
lizenzen.csi_nr,
lizenzen.startdatum,
lizenzen.enddatum,
lizenzen.status,
lizenzen.zuordnung,
lizenzen.info,
lizenzen.kunde,
kunden.name
from lizenzen, kunden
where lizenzen.kunde = kunden.id(+)
and (lizenzen.kunde = :P2_KUNDEN_ID OR (lizenzen.kunde is null and nvl(:P2_KUNDEN_ID,'-1')=-1))
But the report doesn't change if I make a different selection from the list. I think I made it exactly as shown in the developer's guide.
Thx in advance.Hello,
You have to use the apex_util.ir_filter
apex_util.ir_filter(p_page_id=> 2
,p_report_column=>'kunde',p_operator_abbr=>'EQ',p_filter_value=>:P2_KUNDEN_ID); -
Interactive Report with Select List LOV's
Hi All -
I need to develop an Interactive Report which displays reports based on values selected from a select list (LOV's) on this IR report.
Following is what I am working on.
This page has 2 select lists with the corresponding LOV values:
Date From ==> Q1, 2010
Q2, 2010
Q3, 2010
Q4, 2010
Date To ==> Q1, 2010
Q2, 2010
Q3, 2010
Q4, 2010
When the user visits this report page first time, "Date From" and "Date To" select lists have null values and the report should display all the records.
Once the user selects values from "Date From" and "Date To" select lists then the report should be filtered based on the values selected i.e.
If the user selects *"Date From"* ==> Q1, 2010 and *"Date To"* ==> Q3, 2010, then the report should show all the records whose reporting period falls between "Jan 1, 2010" to "Sept 30, 2010" i.e Q1-Q3 2010 only.
And the Reporting date format stored in the table is "18-OCT-2010", "12-APR-2010" etc ....
How can this be achieved. Please share your expertise.
Thanks,
-SeenuHi,
First Create 2 Select List with List Of Queries in LOV Region like
+'STATIC2:Q1-2010;01-Jan-2010,Q2-2010;01-Apr-2010,Q3-2010;01-Jun-2010,Q4-2010;01-Oct-2010'+ in Date From List lets name it P10_DF and
+'STATIC2:Q1-2010;31-Mar-2010,Q2-2010;30-Jun-2010,Q3-2010;30-Jun-2010,Q4-2010;31-Dec-2010'+ in Date To List P10_DT.
(Enable Display Null Value on both the select list)
Then Now in the Report Source add Where Query some thing like
select FIELD1,FIELD2 from TBL_REPORTS where Report_Date>=NVL( *:P10_DF* ,'01-Jan-2010') and Report_Date<=NVL( *:P10_DT* ,'31-Dec-2010')
And also create a button to submit the values
NOTE: This is not tested but this is how i will come about it in the specified scenario. You can try this and post the results...
Good Luck.
Regards,
Afsar -
ALV grid list report when selected from selection screen
Hi folks,
I need to get ALV grid display in my list report when selected the interval values from the selection screen. If I change the values in list of ALV grid it needs to be updated when I press UPDATE pushbutton. The output of list should be in ALV grid display.I need sorting ,flitering,totaling functionality in the list output.
For example if I selected BUKRS = 100 and 200 in the selection screen ,I need to display the ALV grid list in below the selection screen as ALV grid display...
Its urgent as I am new to ALV grid functionality...
Thanks in advance..hi raja,
check with the folllowing code.
REPORT zca0m_zca0fcstftop NO STANDARD PAGE HEADING
MESSAGE-ID zcsv_usrtbl_maintain.
Type pools *
TYPE-POOLS : slis. " Used for ALV display
Tables
TABLES: zca0fcstftop,
dd04t, "R/3 DD: Data element texts
tactt. "Activities that can be protected
internal tables
DATA: BEGIN OF wa_zca0fcstftop .
INCLUDE STRUCTURE zca0fcstftop.
DATA: END OF wa_zca0fcstftop.
DATA: t_zca0fcstftop LIKE STANDARD TABLE OF wa_zca0fcstftop.
DATA: BEGIN OF i_fcode OCCURS 0,
fcode LIKE sy-ucomm,
END OF i_fcode.
*Record for variant selection
DATA : BEGIN OF ws_variant,
selected TYPE c,
variant LIKE ltdx-variant, "Variant name
text LIKE ltdxt-text, "Variant description
END OF ws_variant.
*Table for variant selection
data : itab_variant LIKE STANDARD TABLE OF ws_variant WITH HEADER LINE.
Variant selection pop-up global variables
DECLARATION OF TABLECONTROL 'VARIANT_CNTL' ITSELF
CONTROLS: variant_cntl TYPE TABLEVIEW USING SCREEN 0200.
LINES OF TABLECONTROL 'VARIANT_CNTL'
DATA: g_variant_cntl_lines LIKE sy-loopc.
DATA:grid1 TYPE REF TO cl_gui_alv_grid ,
g_custom_container TYPE REF TO cl_gui_custom_container.
Work fields
DATA: table_name LIKE dd02l-tabname, "To store table name
field_name LIKE dd03l-fieldname, "To Store Field Name
act_auth LIKE tactz-actvt, "To pass Activity ID
tab_maint LIKE dd02l-tabname, "To pass Table Name to be Maintd.
wg_confirm_ind, "To trap User responses
flag, "To trap changes made to an entry
f_copy, "To Identify 'COPY' Command Use
f_select, "To decide between Select-options
" and Internal Table
l_transaction_code LIKE tstc-tcode,
v_langu LIKE sy-langu,
v_repid LIKE sy-repid,
s_variant TYPE disvariant.
DATA: ok_code LIKE sy-ucomm.
DATA:selected_rows TYPE lvc_t_row ,
sel_rows TYPE lvc_t_row WITH HEADER LINE.
DATA:t_lines TYPE i.
Constants *
CONSTANTS :
c_x TYPE c VALUE 'X', " Constant 'X'.
c_f TYPE c VALUE 'F'. " Constant 'F'.
Parameters and Selection Options
*Selection Screen for table maintenance
*Selection option for Plant
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-b01.
PARAMETERS: p_werks LIKE zca0fcstftop-werks OBLIGATORY.
SELECT-OPTIONS: s_prdfml FOR zca0fcstftop-product_family,
s_bmach FOR zca0fcstftop-base_machine,
s_factop FOR zca0fcstftop-factory_top,
s_optval FOR zca0fcstftop-option_value,
s_week FOR zca0fcstftop-week.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-b02.
PARAMETERS : p_varant LIKE ltdx-variant. " ALV variant
SELECTION-SCREEN END OF BLOCK block2.
At selection screen *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varant.
PERFORM alv_variant_f4 CHANGING p_varant.
AT SELECTION-SCREEN ON p_werks .
Validating Plant on the selection screen
PERFORM validate_plant.
Initialization
INITIALIZATION.
Check Authorization for the Transaction
Authorization Check For T Code
SELECT tcode
INTO l_transaction_code
FROM tstc UP TO 1 ROWS
WHERE pgmna = sy-repid.
ENDSELECT.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD l_transaction_code.
IF sy-subrc NE 0.
MESSAGE e001 WITH l_transaction_code.
ENDIF.
v_langu = sy-langu. " language
v_repid = sy-repid . " abap Program name
Start Of Selection
START-OF-SELECTION.
CALL SCREEN 0050.
*& Form validate_plant *
Validating Plant on the selection screen *
FORM validate_plant .
DATA : l_werks LIKE t001w-werks. " Plant
IF p_werks IS NOT INITIAL.
SELECT SINGLE werks
FROM t001w
INTO l_werks
WHERE werks EQ p_werks.
IF sy-subrc NE 0.
MESSAGE e100(ra) WITH text-001 .
ENDIF.
ENDIF.
AUTHORITY-CHECK OBJECT 'Z_PP_PLANT'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD p_werks
ID 'TCD' FIELD l_transaction_code.
IF sy-subrc NE 0.
MESSAGE e000(oo) WITH 'No authorization for plant:'(e80) p_werks.
ENDIF.
ENDFORM. " validate_plant
*& Form get_data *
Get data *
FORM get_data .
SELECT * FROM zca0fcstftop
INTO TABLE t_zca0fcstftop
WHERE werks = p_werks
AND product_family IN s_prdfml
AND base_machine IN s_bmach
AND factory_top IN s_factop
AND option_value IN s_optval
AND week IN s_week.
ENDFORM. " get_data
*& Form fill_fcode
FORM fill_fcode USING value(p_0029).
i_fcode-fcode = p_0029.
APPEND i_fcode.
CLEAR i_fcode.
ENDFORM. " fill_fcode
*& Module STATUS_0100 OUTPUT
MODULE status_0100 OUTPUT.
SET PF-STATUS 'UPDATE'.
CLEAR flag.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module MODIFY_0100 OUTPUT
MODULE modify_0100 OUTPUT.
IF sy-ucomm = 'CHNG' OR
sy-ucomm = 'PICK'.
LOOP AT SCREEN.
CHECK screen-group1 = 'CHG'.
screen-required = '0'.
screen-output = '1'.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Check if you are in create mode & if yes then set the screen elements
as mandatory
IF ok_code = 'CREA'.
LOOP AT SCREEN.
CHECK screen-group1 = 'CHG'.
screen-required = '1'.
screen-output = '1'.
screen-input = '1'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE. " MODIFY_0100 OUTPUT
*& Module Check_Exit INPUT
text
MODULE check_exit INPUT.
IF ( sy-ucomm = 'BACK' OR sy-ucomm = 'CANC' OR sy-ucomm = 'EXIT' ) AND
( flag = 'Y' ).
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'Y'
textline1 = text-008
textline2 = text-009
titel = text-004
cancel_display = ' '
IMPORTING
answer = wg_confirm_ind.
CASE wg_confirm_ind.
WHEN 'J'. "Yes
sy-ucomm = 'SAVE'.
CLEAR flag.
WHEN 'N'. "No
sy-ucomm = 'BACK'.
CLEAR flag.
ENDCASE.
ENDIF.
ENDMODULE. " Check_Exit INPUT
*& Module Exit_0100 INPUT
text
MODULE exit_0100 INPUT.
SET SCREEN 0. LEAVE SCREEN.
ENDMODULE. " Exit_0100 INPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'SAVE'. "Save
Check to see if the user has the appropriate authorization
IF p_werks NE zca0fcstftop-werks.
could not update - not in selection
MESSAGE e000(oo) WITH 'Entry not within selection'.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ENDIF.
IF f_copy = 'X'.
INSERT zca0fcstftop.
IF sy-subrc = 0.
MESSAGE s004.
PERFORM initialize.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ELSE.
MESSAGE w005.
ENDIF.
ELSE.
MODIFY zca0fcstftop.
IF sy-subrc = 0.
MESSAGE s004.
PERFORM initialize.
SET SCREEN 0. LEAVE SCREEN.
PERFORM get_data.
ELSE.
MESSAGE w005.
ENDIF.
ENDIF.
PERFORM get_data.
WHEN 'BACK'. "Back
SET SCREEN 0. LEAVE SCREEN.
WHEN 'CANC'. "Cancel
SET SCREEN 0. LEAVE SCREEN.
WHEN OTHERS.
ENDCASE.
COMMIT WORK.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form Initialize
FORM initialize.
CLEAR : table_name,
field_name,
wg_confirm_ind,
f_copy,
flag,
t_zca0fcstftop,
zca0fcstftop,
wa_zca0fcstftop,
i_fcode.
REFRESH: t_zca0fcstftop.
ENDFORM. " Initialize
*& Form alv_variant_f4
text
<--P_VARIANT text
FORM alv_variant_f4 CHANGING variant.
DATA: rs_variant LIKE disvariant.
DATA nof4 TYPE c.
CLEAR nof4.
LOOP AT SCREEN.
IF screen-name = 'VARIANT'.
IF screen-input = 0.
nof4 = 'X'.
ENDIF.
ENDIF.
ENDLOOP.
rs_variant-report = sy-repid.
rs_variant-username = sy-uname.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = rs_variant
i_save = 'A'
IMPORTING
es_variant = rs_variant
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0 AND nof4 EQ space.
variant = rs_variant-variant.
ENDIF.
ENDFORM. " ALV_VARIANT_F4
*& Module STATUS_0050 OUTPUT
text
MODULE status_0050 OUTPUT.
In this module Initialize the container and put the grid in it
DATA:grid_layout TYPE lvc_s_layo,
fieldcat TYPE lvc_t_fcat,
wa_fieldcat LIKE LINE OF fieldcat.
PERFORM set_auth.
SET PF-STATUS 'UPD_0050' EXCLUDING i_fcode.
SET TITLEBAR 'UPD_0050'.
IF g_custom_container IS INITIAL .
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'FTDATA'.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
ELSE.
CALL METHOD grid1->free.
CALL METHOD g_custom_container->free.
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'FTDATA'.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
ENDIF.
Every time refresh The variables
PERFORM initialize.
PERFORM get_data.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZCA0FCSTFTOP'
CHANGING
ct_fieldcat = fieldcat.
grid_layout-grid_title = text-t01.
grid_layout-sel_mode = 'A'.
grid_layout-stylefname = 'CT'.
s_variant-report = sy-repid.
s_variant-username = sy-uname.
s_variant-variant = p_varant.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'ZCA0FCSTFTOP'
is_layout = grid_layout
is_variant = s_variant
i_save = 'A'
CHANGING
it_outtab = t_zca0fcstftop
it_fieldcatalog = fieldcat.
Create Object to receive events and link them to handler methods.
When the ALV Control raises the event for the specified instance
the corresponding method is automatically called.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_button_click FOR grid1.
ENDMODULE. " STATUS_0050 OUTPUT
*& Module USER_COMMAND_0050 INPUT
MODULE user_command_0050 INPUT.
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = selected_rows.
DESCRIBE TABLE selected_rows LINES t_lines.
IF t_lines > 1 .
MESSAGE e048(zcsv_sfdr).
ENDIF.
Clear Header
CLEAR wa_zca0fcstftop.
sel_rows[] = selected_rows .
READ TABLE sel_rows INDEX 1.
READ TABLE t_zca0fcstftop INTO wa_zca0fcstftop INDEX sel_rows-index.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN 'CREA'.
CLEAR zca0fcstftop.
ok_code = sy-ucomm.
zca0fcstftop-werks = p_werks.
CALL SCREEN 100.
WHEN 'COPY'.
MOVE wa_zca0fcstftop TO zca0fcstftop .
CLEAR wa_zca0fcstftop.
f_copy = 'X'.
CALL SCREEN 100.
WHEN 'CHNG'.
CHECK NOT wa_zca0fcstftop IS INITIAL.
MOVE wa_zca0fcstftop TO zca0fcstftop .
CLEAR wa_zca0fcstftop.
ok_code = sy-ucomm.
CALL SCREEN 100.
WHEN 'DELE'.
CHECK NOT wa_zca0fcstftop IS INITIAL.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'N'
textline1 = text-005
textline2 = text-006
titel = text-007
cancel_display = ' '
IMPORTING
answer = wg_confirm_ind.
IF wg_confirm_ind EQ 'J'.
DELETE zca0fcstftop FROM wa_zca0fcstftop .
IF sy-subrc EQ 0.
MESSAGE s004.
ELSE.
MESSAGE e005.
ENDIF.
ELSEIF wg_confirm_ind EQ 'N'.
ENDIF.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " USER_COMMAND_0050 INPUT
*& Form exit_program
FORM exit_program .
CALL METHOD g_custom_container->free.
CALL METHOD cl_gui_cfw=>flush.
SET SCREEN 0.
LEAVE SCREEN.
ENDFORM. " exit_program
*& Form set_auth
FORM set_auth.
REFRESH: i_fcode.
Check authorization for change
MOVE '02' TO act_auth. "02 --> Change
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'CHNG'.
ENDIF.
Check for authorization for create
MOVE '01' TO act_auth. "01 --> Create
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'CREA'.
PERFORM fill_fcode USING 'COPY'.
ENDIF.
Check for authorization for delete
MOVE '06' TO act_auth. "06 --> Delete
MOVE 'ZCA0FCSTFTOP' TO tab_maint.
AUTHORITY-CHECK OBJECT 'ZZ:TABLMNP'
ID 'ACTVT' FIELD act_auth
ID 'TABLE' FIELD tab_maint.
IF sy-subrc NE 0.
PERFORM fill_fcode USING 'DELE'.
ENDIF.
ENDFORM. " set_auth
*& Module check_change INPUT
MODULE check_change INPUT.
flag = 'Y'.
ENDMODULE. " check_change INPUT
regards,
vikas.
plz reward if helpful -
Hide Interactive Report Control Break from page
I have a page with an Interactive Report. I have hidden the Search Box and Actions menu (based on users's request). I also want to hide the text on the page for the Control Break I created for the report (the part that shows the column name for the Control Break and the X icon next to it). Anyone know how this is accomplished?
Application Express 4.0.2.00.07
Thanks.This stuff seems to sit in a table with the following attributes:
class="control_panel"
id="apexir_CONTROL_PANEL"So you should be able to apply a style to hide that entire table, such as .control_panel{display:none} or #apexir_CONTROL_PANEL{display:none} -
Interactive Reporting - Chg Query from Using Table to Result Set w/ same Co
Currently I have a query that uses an Oracle table. I would like to change the query to use the result set of another query wh/ contains the same information & column names (however, since I am creating the results from scratch, I don't have to wait for the Oracle table to be updated). Is there a way to do this change w/o IR automatically removing the column names from the results and then making me go back into each result set and re-adding them, formatting them, etc. For example, the query currently uses a table called Defect_History, wh/ has columns bug_id, application, sub-app, etc. This table is not updated on a daily basis, so I have created a new query wh/ goes against the source tables used in creating the Defect_History table and puts the latest information into an IR result set. Is there a way to change the current queries that use the Defect_History table to use the IR result set instead w/o basically recreating each of the subsequent queries? I have gone into Dashboard Studio Optimize Utility, but the queries show as using Data Model, Data Model2, etc as the Parent and I am not able to make changes to it.
Thanks.
TerriI am in the Dashboard Studio - Optimize Utility. When I select that report (or any of the others), the Reparent button is grayed out on the toolbar. I've also tried right-clicking on the report and it's grayed out there as well. Any ideas?
-
Interactive Reporting - Multiple SELECT stmts in 1 query
Is it possible to multiple/nested select statements in 1 query? Actually what I need to do is pull records for the last 12 months. The SQL that I'm basing my IR query from has multiple SELECT statements and uses the add_month function w/ a parameter ranging from 0 to -12.
Thanks.
TerriHere's some of the additional SELECTs. There are more after these that I didn't include since it would be fairly long.
CREATE OR REPLACE VIEW DEFECT_INVENTORY
(NEW_COUNT, CLOSE_COUNT, BEGINNING_COUNT, ENDING_COUNT, MONTHNAME,
SEVERITY)
AS
select New_Count, Close_Count, Beginning_count, Ending_Count,r.Monthname, r.Severity from
(select p.New_Count, q.Close_Count,p.sev Severity, p.Month_Name Monthname from
(Select count(bg_bug_id) New_Count,a.Month_Name, a.sev
from
(select bg_bug_id,
bg_severity sev,
bg_user_10 app,
bg_detection_date,
bg_closing_date,
to_date(bg_user_26, 'yyyy-mm-dd') as cancel_date,
to_date(substr(bg_vts,1,10), 'yyyy-mm-dd') as vts,
to_char(to_date((to_char(add_months(sysdate, -11), 'MM')||'/01/'||to_char(add_months(sysdate, -11), 'YYYY')), 'MM/DD/RRRR') -1, 'MON-YY') as Month_Name,
bg_status,
to_date((to_char(add_months(sysdate, -11), 'MM')||'/01/'||to_char(add_months(sysdate, -11), 'YYYY')), 'MM/DD/RRRR') -1 AS rpt_DATE_end,
to_date((to_char(add_months(sysdate, -12), 'MM')||'/01/'||to_char(add_months(sysdate, -12), 'YYYY')), 'MM/DD/RRRR') AS rpt_DATE_beg
from bug ) a
where (a.bg_status not like '65-Cancelled'
and a.bg_detection_date <= a.rpt_DATE_end
and a.bg_detection_date >= a.rpt_DATE_beg
and a.cancel_date is null)
group by a.sev, a.Month_Name) p,
(Select count(bg_bug_id) Close_Count,a.Month_Name, a.sev
from
(select bg_bug_id,
bg_severity sev,
bg_user_10 app,
bg_detection_date,
bg_closing_date,
to_date(bg_user_26, 'yyyy-mm-dd') as cancel_date,
to_date(substr(bg_vts,1,10), 'yyyy-mm-dd') as vts,
bg_status,
to_char(to_date((to_char(add_months(sysdate, -11), 'MM')||'/01/'||to_char(add_months(sysdate, -11), 'YYYY')), 'MM/DD/RRRR') -1, 'MON-YY') as Month_Name,
to_date((to_char(add_months(sysdate, -12), 'MM')||'/01/'||to_char(add_months(sysdate, -12), 'YYYY')), 'MM/DD/RRRR') AS rpt_DATE_beg,
to_date((to_char(add_months(sysdate, -11), 'MM')||'/01/'||to_char(add_months(sysdate, -11), 'YYYY')), 'MM/DD/RRRR') -1 AS rpt_DATE_end
from bug ) a
where (a.bg_status like 'Closed'
and a.bg_closing_date <= a.rpt_DATE_end
and a.bg_closing_date >= a.rpt_DATE_beg
and a.bg_closing_date is not null)
or
(a.bg_status like 'Closed'
and a.vts <= a.rpt_DATE_end
and a.vts >= a.rpt_DATE_beg
and a.bg_closing_date is null)
or
(a.bg_status not like 'Closed'
and a.bg_closing_date <= a.rpt_DATE_end
and a.bg_closing_date >= a.rpt_DATE_beg
and a.bg_closing_date is not null)
group by a.sev, a.Month_Name) q
where p.sev = q.sev) r, -
Interactive Report count selected rows
I have a I/R report with a checkbox is column 1 of each row using:
HTMLDB_ITEM.CHECKBOX
(1,R.RESEARCH_ID,
decode(:Pxx_SELECT_ALL_ROWS,'Y','CHECKED',
decode(instr(nvl(:Pxx_SELECTED_IDS,0),R.RESEARCH_ID),0,NULL,'CHECKED'))
AS select_flag
I want to use Javscript or a Dynamic Action to "count" how many selected rows there are, when a UPDATE button is pressed.
Right now, the UPDATE button "submits" the page, then a page item computation runs the following code to get a count:
DECLARE
v_cnt number(9);
BEGIN
v_cnt := 0;
FOR i in 1..htmldb_application.g_f01.count
LOOP
v_cnt := v_cnt + 1;
END LOOP;
return v_cnt;
This works... but I dont want to submit (and rerun the report) just to get this count.
I have copied this loop into a Dynamic Action using the Click action of the UPDATE button, but it doesnt seem to recognize htmldb_application.g_f01.count .. so my value returns as 0.
Any ideas - thanks!I am not that strong in javascript, so I put a few alerts in the function you provided, to try to understand it better.
My example query returns 2 rows.
document.wwv_flow.f01.length returns a value = 2.
I checked both rows, then called the function.
I put an Alert inside the FOR loop in your example, it never executed.
The FOR loop in your example used a “>” sign, which never would evaluate as true, since i=0 > 2 is immediately false.
I changed the operator in the FOR loop to “<”.
The loop executed 2 times,
I displayed the with variable i : values = 0, 1
I displayed the value of document.wwv_flow.f01.id, it was NULL both iterations.
The $x(curr_id).checked is never true, so count remains = 0
function f_count_checked ()
var counter = 0;
for (var i = 0; i > document.wwv_flow.f01.length; i++) ---- I changed this to “<”
{var curr_id = document.wwv_flow.f01[i].id;
if ($x(curr_id).checked==true)
{counter = counter + 1;}}
alert ('You have checked: '+counter+' rows.'); -
How to create a classical report for this requirements,
1) purchase documents and vendor.
2) vendor performance report that lists vendor name, materials
Supplied and actual delivery times, payments terms and prices
Purchase.
3) Requisitions with details like MRP controller, release date, unit
to Measure along with the standard details
4) list of customer number, Credit limit To the given Customer.
Thanks and Regards,
Sivaguru.Joel,
I have checked the report attributes and the "Save Report" checkbox is checked.
I as a developer, can save a default report selection and this is understood.
The problem is, when signing in as a user, no save icon is visible.
I thought maybe it was something with the install, so I created the Demo application and if I create an interactive report there, it works fine for the end user.
They do act differently in development modes between the two applications.
In Demo, if I save as a developer, "Save Report" choice, I get a window where I can name the report or select from drop down, "As default Report Settings".
In my application, if I save as a developer, "Save Report*" choice, I get a window that just states:
"The current report settings will be used as the default for all users" and my choice is Cancel or Apply.
The choice in developer mode is also different, one has an asterisk and the other doesn't.
I think it might have something to do with authentication?
The Demo application prompts for user name and password and my application doesn't have authentication because user is authenticated done before getting into the application.
Without authentication, it probably won't save reports for each user.
I do have access to each users id, would need to know where I can use it to tell the application this and that they are authenticated already.
Thanks for your help,
Rick -
Tabular form validation(Checkbox) is not working for Interactive report
Hi,
I am using the oracle apex 4.0 and oracle 11g.
I have written a below select query on interactive report as
select
apex_item.checkbox(1,RESIDD)||apex_item.hidden(2,RESIDD) row_selector,
apex_item.text(3,RESNUM) as resnum
from "PDRRES"
and written the validation to display the error message( Function returning error text ) as
DECLARE
vRow BINARY_INTEGER;
BEGIN
-- apex_application.g_print_success_message := NULL;
FOR i IN 1 .. apex_application.g_f01.COUNT
LOOP
vRow := apex_application.g_f01(i);
apex_application.g_print_success_message := apex_application.g_f01(i)||'-'|| apex_application.g_f03(vRow) ;
END LOOP;
END;
Output : No data found error message
As far as it work for sql report with above logic because apex built in row selector
but it fails in case of interactive report for some reason.
Please suggest.Saroj Nayak wrote:
Hi,
I am using the oracle apex 4.0 and oracle 11g.
I have written a below select query on interactive report as
select
apex_item.checkbox(1,RESIDD)||apex_item.hidden(2,RESIDD) row_selector,
apex_item.text(3,RESNUM) as resnum
from "PDRRES"
and written the validation to display the error message( Function returning error text ) as
DECLARE
vRow BINARY_INTEGER;
BEGIN
-- apex_application.g_print_success_message := NULL;
FOR i IN 1 .. apex_application.g_f01.COUNT
LOOP
vRow := apex_application.g_f01(i);
apex_application.g_print_success_message := apex_application.g_f01(i)||'-'|| apex_application.g_f03(vRow) ;
END LOOP;
END;
Output : No data found error message
As far as it work for sql report with above logic because apex built in row selector
but it fails in case of interactive report for some reason.
Please suggest.NO DATA FOUND usually occurs when an i mplicit select does not find anything. It can also occur when referencing a collection element that has not been defined.
You have 2 collectinons in the code you posted, apex_application.g_f01() and apex_applciation.g_f03. Since you are looping therough the COUNT attribute of g_f01 its reference ("I") is probably okay and the value store in vRow is probably not right. You can check this by using RAISE_APPLICTION_ERROR to see the value something like
raise_application_error(-20000,'vRow="'||vRo2||'"');Remember that working with checkboxes is tricky. If the box is not checked nothing will be sent. You may need to define a default value when no value is submitted. -
Custom date fields in Interactive Report
Hi,
I am using newly patched version of Apex - 4.0.2.00.06
What I am trying to do is to have two datepicker fields P84_DATE_FROM and P84_DATE_TO in separate HTML region, on the page that has IR / Interactive Report, that will be filter in report source.
In debug mode I noticed that values that are picked with datepicker are not binding in report sql.
select * from calendar_x
where
date between to_date(:P84_DATE_FROM,'DD.MM.YYYY') and to_date(:P84_DATE_TO,'DD.MM.YYYY')
Do I have to force submit on Go button before it executes gReport.search('SEARCH')? Is it the right way to go about this?
Thnx,Hi Vish,
I was informed by SAP few months back that Interactive Reports can not be enhanced with custom fields. I don't see any documentation regarding this.
You may want to check with SAP also.
Regards,
Paparao Undavali -
Setting default columns displayed in interactive report
Hi APEX community,
I recently created an interactive report based on an sql query as follows:
select
"STOCK_CLIP_ID",
"TITLE"
from "STOCK_CLIP"
After creating the report I added an additional column:
select
"STOCK_CLIP_ID",
"TITLE",
*"UPLOADED"*
from "STOCK_CLIP"
The new column does not display by default, I have to add it under Actions > Select Columns. I cant find any setting to add my new column UPLOADED to the default columns to be displayed so that when a user first navigates to the report they dont have to add that column in order to be able to see it.
Sorry this is perhaps a stupid question with an obvious answer, i'm new to the interactive reports.
Thanks!Hi,
Login to Apex builder. Run page where is your interactive report.
Select columns you like to show default from Action menu. Save report default layout from Action menu.
Regards,
Jari
http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0 -
Interactive Reports - SQL Source Question
Background
Apex 3.1 is installed on Oracle 10g instance on local machine but all data is stored on a remote machine on Oracle 9 & 10 instances.
This data is also used by another piece of software, which directly manipulates the data.
The Apex Application that I am developing is to be used as a Quick Find/KPI Reporting tool and is setup to utilise DBLinks and Synonyms.
Within the remote data, we have a mapping table that contains user specific alias' for field names, which the users set using the other piece of software. There can be up to 5 mappings per table field each defined as LNG01, LNG02,etc.
In order to provide the same field Alias' in the Apex application, I have created a PL/SQL function to return the field alias and return a string value containing the final SQL.
Problem
In standard reports, this would work correctly as you could return a SQL statement in a string and it handled it with no problems.
However, due to Interactive Reports not supporting this, I have tried to find code to pass in the string SQL Statement to return a TABLE or PIPELINED datasource.
The string SQL statement will vary for each time it is used so the string SQL statement is effectively built as dynamic SQL
This causes as problem as I will never be able to define the ROWTYPE for a type TABLE variable as the field names will not be constant.
Can you tell me if there is any way to create a SQL source that could be used for the Interactive Report based on dynamic SQL?
Alternatively, if you can provide any alternatives to finding a solution I would be most grateful.
Apologies if this question has been posted before.
Thanks in advance.
StuartStuart,
You could:
1) Create page items, one for each dynamic column header (e.g. P1_OBJECT_NAME_HEADER, etc).
2) Create a page process, to run when the page is loaded, that populates each item with the appropriate text. This can pull the column header text from your remote source.
3) Use a static query as your interactive report source:
select objname,
objuniqueid,
objtypecode,
objsitearea,
objdesc,
objdesc2,
objlocationid,
objcommission
from cdoweb_om4) Edit the interactive report attributes -- use APEX substitution string syntax to reference the item values (e.g. "&P1_OBJECT_NAME_HEADER." without the quotes) instead of static column headers.
For more information on using substitution strings:
http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/concept.htm#BEIFGFJF
- Marco -
Interactive Reports - Add Item/Button to the right of the Search Bar.
Is there any way to put a button to the right of the Search Bar on an Interactive Report?
Thanks,
DaveHi,
Yes, if your button is not among region items.
Go edit button and change Button Position to "Right of interactive report search bar" from select list
Br, Jari -
Hi all,
Is it possible to alter the sql query of an interactive report, in a dynamic way? I want load a given query, in execution time, to an interactive report.
How can i access the internal ApEx database tables? Could i write into the table responsible for storing Interactive Report information?? I only know the existence of views like APEX_APPLICATION_ ....
Regards Pedro.Hi Pedro,
Currently Apex doesn't support dynamic queries in interactive report however you can achieve it using apex collections. Create a before header pl-sql process to create a collection using dynamic sql query and then build the interactive report by selecting data from above collection.
Hope it helps.
Thanks,
Manish
Maybe you are looking for
-
Why does final cut pro x dvd burn take so much time?
I have been trying to nurn a DVD and upload to YOUTUBE with Final Cut Pro X .......I have done this with ease many times before but now a 6 minute video is taking 3 hours to load fpr a DVD burn and ove 2 hours for YOUTUBE upload.. I have the energy s
-
Today I was asked to sign in and check billin info when I tried to purchase an app, I entered my security code and it's now saying my payment method is not valid in this store! I've used the same payment method for about a year and have always used t
-
XSLT for adding Namespace is not being executed at runtime
Hi Gurus, I am trying to add a Namespace to inbound xml and I wrote a simple XSLT mapping as below, when I execute this using XML spy or in Operation mapping manually it is working fine and giving me output as expected but at runtime it is not execut
-
Connecting apple tv to a stereo amplifier
my apple tv is connected to tv with a hdmi cable and it works. i want to connect it to a stereo amplifier without passing through tv. since apple tv has only optical cable outlet, i bought a optical to analog converter. but still i haven't get sound
-
Earlier this year my computer suffered a corruption of the video card on my Dell Inspiron. This involved a need to reinstall Windows 7. Following this itunes re-installed and imported my library perfectly. I syncronized my ipod and all seemed well. S