Share interactive reports (users-to-users)

Hi, I saw in many presentation (and on apex web site) that in version 4.0, we can share saved reports...
Does that include sharing saved reports by users or only by developers ?
Reference :
http://www.oracle.com/technetwork/developer-tools/apex/application-express/4-155207.html ::
Oracle Application Express 4.0 extends the original capabilities with email subscription, icon / report / detail views, enhanced filtering, group by, and sharable saved reports.

Found it!
- Report attributes
- Check "Save public report"
Every user can now share a report publicly.
Thanks!

Similar Messages

  • How to share interactive reports between different users in apex.PLEASEHELP

    Hi all,
    How can we share the interactive reports in oracle apex within different users.Please help its really urgent..
    Thanks
    Manish

    Hello,
    I suggest you read the documentation and HOWTO's on Interactive Reports, since it is covered in there
    http://www.oracle.com/technology/obe/apex/apex31nf/apex31irr.htm
    basically configure the report how you want it (as a Developer) and then save it as the default for all users.
    If you mean something different, please elaborate
    Hope this helps,
    John.
    Blog: http://jes.blogs.shellprompt.net
    Work: http://www.apex-evangelists.com
    Author of Pro Application Express: http://tinyurl.com/3gu7cd
    REWARDS: Please remember to mark helpful or correct posts on the forum, not just for my answers but for everyone!

  • How to set different default interactive reports for different user groups?

    I'm probably overlooking an obvious solution, but how do I set different default interactive report for different user groups?
    For the same interactive report, I want one set of users to see a default where the default filter is based on column X. However, another group of users doesn't have authorization to see that column so I need to set the default filter to something else for them.
    Thanks

    You can set a filter on a report in a URL - would that help? I think with apex 4.x you can also link to a saved default report or alternative report...

  • Saving user Interactive Reports in Production, when migrating a new version

    Hi All,
    Interactive Reports allow individual users from creating their own custom reports.
    If I were to migrate a modification to the Application, will these overwrite the user's Reports?
    If it does, is there any way to save the user reports in Production, while we migrate an updated version of the application?
    Thanks.
    Kevin

    Hi,
    This is a very commonly brought up issue. If you keep the same application ID from development to production and don't export the interactive reports from development then they will not be overwritten.
    The original metadata will be used. There is an excellent blog post from Joel Kallman of Oracle on this topic which gives much more detail: http://joelkallman.blogspot.co.uk/2010/07/where-did-my-saved-interactive-reports.html
    I used the methods discussed in the post when I needed to solve this problem.
    Thanks
    Paul

  • Group share - saved Interactive Reports

    Hi,
    My customer would like to share their personal "Saved Interactive Reports" with other users.
    We have a work around by creating a "Group User ID", login as this ID and create, use, share these reports.
    My customer doesn't like logging in/out all the time..
    Thank you, BC

    check this Re: User saved IR

  • Download Link in Interactive Report isn't Showing

    I'm not sure if this is a bug or not, but I have an interactive report which allows users to download the report (under the Actions menu).
    The download formats that were used previously were HTML, Email and PDF, and it worked perfectly fine. However, I want to remove PDF as one of the options so I unchecked it... but now the Download link won't appear at all.
    Does anyone know how to get the Download link to appear again? Thanks in advance!

    If I turn on everything except PDF it works.
    Also PDF off and CSV off, still works.
    PDF off, CSV off, RTF off it works.
    Only HTML and EMAIL on, it breaks.
    HTML on, EMAIL on, RTF on it works.
    Sounds like there is a bug here and it's a matter (for now) of finding the most acceptable combination to you and your business needs.

  • Link to interactive report with filter values containing : or %

    Hi,
    I have an application written in PL/SQL. The application takes input from users, and then constructs a URL for an interactive report, concatenating the user input as filter values for the report. Sometimes, the input values contain characters such as the colon (:) or the percent sign (%). In these instances, APEX appears to ignore the rest of the URL beyond the first colon or percent sign in the filter values. For example, in the following URL, the first filter value is "Oracle Database 11g: Workshop I":
    http://abc.oracle.com/pls/apex/f?p=129:8::::8,CIR:IRC_TITLE,IR_PROJECT_STATUS:Oracle Database 11g: Workshop I,Completed
    The Interactive Report displayed for this URL shows all courses whose title contains "Oracle Database 11g" -- in other words, more records are displayed than should have been if the complete set of filters were applied in the query (i.e., TITLE = Oracle Database 11g: Workshop I, and PROJECTS_STATUS = Completed).
    How should I construct the URL so that the colons (:) and percent signs (%) which may be part of the filter values are treated correctly?
    Thanks,
    Jenny

    Thanks to Joel Kallman, here's the answer:
    The ‘f’ procedure has a parameter named p_sep. This is the separator used for the arguments in the ‘p’ parameter in the call to the ‘f’ procedure. The default value for this separator is ‘:’, obviously.
    If you have data values that contain the separator, then you can use a different character for your separator (you may need to manually specify the URL instead of using the declarative link attributes of a column in a report).
    Using the pipe symbol ‘|’, I was able to take:
    http://st-curr.us.oracle.com/pls/apex/f?p=129:8::::8,CIR:IRC_ROWFILTER:Database 11g: Administration Workshop I
    and change it to:
    http://st-curr.us.oracle.com/pls/apex/f?p=129|8||||8,CIR|IRC_ROWFILTER|Database 11g: Administration Workshop I&p_sep=|
    which now works.

  • ABAP Interactive report

    Hi,
    What is Interactive report?
    what are the specific statements you write when do u write interactive Report??
    Thanks in advance.

    Hi,
    t helps you to create easy-to-read lists. You can display an overview list first that contains general information and provide the user with the possibility of choosing detailed information that you display on further lists.
    What are the uses of interactive reporting?
    The user can actively control data retrieval and display during the session. Instead of an extensive and detailed list, you create a basic list with condensed information from which the user can switch to detailed displays by positioning the cursor and entering commands. The detailed information appears in secondary lists.
    What are the event key words in interactive reporting?
    Event Keyword Event
    AT LINE-SELECTION Moment at which the user selects a line by double clicking on it or by positioning the cursor on it and pressing F2.
    AT USER-COMMAND Moment at which the user presses a function key.
    TOP-OF-PAGE DURING Moment during list processing of a
    LINE-SELECTION secondary list at which a new page starts.
    What is secondary list?
    It allows you to enhance the information presented in the basic list. The user can, for example, select a line of the basic list for which he wants to see more detailed information. You display these details on a secondary list. Secondary lists may either overlay the basic list completely or you can display them in an extra window on the screen. The secondary lists can themselves be interactive again.
    How to select valid lines for secondary list?
    To prevent the user from selecting invalid lines, ABAP/4 offers several possibilities. At the end of the processing block END-OF-SELECTION, delete the contents of one or more fields you previously stored for valid lines using the HIDE statement. At the event AT LINE-SELECTION, check whether the work area is initial or whether the HIDE statement stored field contents there. After processing the secondary list, clear the work area again. This prevents the user from trying to create further secondary lists from the secondary list displayed.
    How to create user interfaces for lists?
    The R/3 system automatically, generates a graphical user interface (GUI) for your lists that offers the basic functions for list processing, such as saving or printing the list. If you want to include additional functionality, such as pushbuttons, you must define your own interface status. To create a new status, the Development Workbench offers the Menu Painter. With the Menu Painter, you can create menus and application toolbars. And you can assign Function Keys to certain functions. At the beginning of the statement block of AT END-OF-SELECTION, active the status of the basic list using the statement: SET PF-STATUS ‘STATUS’.
    What is interactive reporting?
    A classical non-interactive report consists of one program that creates a single list. Instead of one extensive and detailed list, with interactive reporting you create basic list from which the user can call detailed information by positioning the cursor and entering commands. Interactive reporting thus reduces information retrieval to the data actually required.
    Can we call reports and transactions from interactive reporting lists?
    Yes. It also allows you to call transactions or other reports from lists. These programs then use values displayed in the list as input values. The user can, for example, call a transaction from within a list of change the database table whose data is displayed in the list.
    What are system fields for secondary lists?
    SY-LSIND Index of the list created during the current event (basic list = 0)
    SY-LISTI Index of the list level from which the event was triggered.
    SY-LILLI Absolute number of the line from which the event was triggered.
    SY-LISEL Contents of the line from which the event was triggered.
    SY-CUROW Position of the line in the window from which the event was triggered (counting starts with 1)
    SY-CUCOL Position of the column in the window from which the event was triggered (counting starts with 2).
    SY-CPAGE Page number of the first displayed page of the list from which the event was triggered.
    SY-STARO Number of the first line of the first page displayed of the list from which the event was triggered (counting starts with 1). Possibly, a page header occupies this line.
    SY-STACO Number of the first column displayed in the list from which the event was triggered (counting starts with 1).
    SY-UCOMM Function code that triggered the event.
    SY-PFKEY Status of the displayed list.
    How to maintain lists?
    To return from a high list level to the next-lower level (SY-LSIND), the user chooses Back on a secondary list. The system then releases the currently displayed list and activates the list created one step earlier. The system deletes the contents of the released list. To explicitly specify the list level, into which you want to place output, set the SY-lsind field. The system accepts only index values, which correspond to existing list levels. It then deletes all existing list levels whose index is greater or equal to the index specify. For example, if you set SY-LSIND to 0, the system deletes all secondary lists and overwrites the basic list with the current secondary list.
    What are the page headers for secondary lists?
    On secondary lists, the system does not display a standard page header and it does not trigger the event. TOP-OF-PAGE. To create page headers for secondary list, you must enhance TOP-OF-PAGE: Syntax TOP-OF-PAGE DURING LINE-SELECTION. The system triggers this event for each secondary list. If you want to create different page headers for different list levels, you must program the processing block of this event accordingly, for example by using system fields such as SY-LSIND or SY-PFKEY in control statements (IF, CASE).
    How to use messages in lists?
    ABAP/4 allows you to react to incorrect or doubtful user input by displaying messages that influence the program flow depending on how serious the error was. Handling messages is mainly a topic of dialog programming. You store and maintain messages in Table T100. Messages are sorted by language, by a two-character ID, and by a three-digit number. You can assign different message types to each message you output. The influence of a message on the program flow depends on the message type. In our program, use the MESSAGE statement to output messages statically or dynamically and to determine the message type.
    Syntax:REPORT <rep> MESSAGE-ID <id>.
    What are the types of messages?
    A message can have five different types. These message types have the following effects during list processing:
    .A (=Abend):
    .E (=Error) or W (=Warning):
    .I (=Information):
    .S (=Success):
    What are the user interfaces of interactive lists?
    If you want the user to communicate with the system during list display, the list must be interactive. You can define specific interactive possibilities in the status of the list’s user interface (GUI). To define the statuses of interfaces in the R/3 system, use the Menu Painter tool. In the Menu Painter, assign function codes to certain interactive functions. After an user action occurs on the completed interface, the ABAP/4 processor checks the function code and, if valid, triggers the corresponding event.
    What are the drill-down features provided by ABAP/4 in interactive lists?
    ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
    What is meant by stacked list?
    A stacked list is nothing but secondary list and is displayed on a full-size screen unless you have specified its coordinates using the window command.
    Is the basic list deleted when the new list is created?
    No. It is not deleted and you can return back to it using one of the standard navigation functions like clicking on the back button or the cancel button.
    What is meant by hotspots?
    A Hotspot is a list area where the mouse pointer appears as an upright hand symbol. When a user points to that area (and the hand cursor is active), a single click does the same thing as a double-click. Hotspots are supported from R/3 release 3.0c.
    What is the length of function code at user-command?
    Each menu function, push button, or function key has an associated function code of length FOUR (for example, FREE), which is available in the system field SYUCOMM after the user action.
    Can we create a gui status in a program from the object browser?
    Yes. You can create a GUI STATUS in a program using SET PF-STATUS.
    In which system field does the name of current gui status is there?
    The name of the current GUI STATUS is available in the system field SY-PFKEY.
    Can we display a list in a pop-up screen other than full-size stacked list?
    Yes, we can display a list in a pop-up screen using the command WINDOW with the additions starting at X1 Y1 and ending at X2 Y2 to set the upper-left and the lower-right corners where x1 y1 and x2 y2 are the coordinates.
    What is meant by hide area?
    The hide command temporarily stores the contents of the field at the current line in a system-controlled memory called the HIDE AREA. At an interactive event, the contents of the field are restored from the HIDE AREA.
    When the get cursor command used in interactive lists?
    If the hidden information is not sufficient to uniquely identify the selected line, the command GET CURSOR is used. The GET CURSOR command returns the name of the field at the cursor position in a field specified after the addition field, and the value of the selected field in a field specified after value.
    How can you display frames (horizontal and vertical lines) in lists?
    You can display tabular lists with horizontal and vertical lines (FRAMES) using the ULINE command and the system field SY-VLINE. The corners arising at the intersection of horizontal and vertical lines are automatically drawn by the system.
    What are the events used for page headers and footers?
    The events TOP-OF-PAGE and END-OF-PAGE are used for pager headers and footers.
    How can you access the function code from menu painter?
    From within the program, you can use the SY-UCOMM system field to access the function code. You can define individual interfaces for your report and assign them in the report to any list level. If you do not specify self-defined interfaces in the report but use at least one of the three interactive event keywords. AT LINE-SELECTION, AT PF<nn>, OR AT USER-COMMAND in the program, the system automatically uses appropriate predefined standard interfaces. These standard interfaces provide the same functions as the standard list described under the standard list.
    How the at-user command serves mainly in lists?
    The AT USER-COMMAND event serves mainly to handle own function codes. In this case, you should create an individual interface with the Menu Painter and define such function codes.
    How to pass data from list to report?
    ABAP/4 provides three ways of passing data:
    ---Passing data automatically using system fields
    ---Using statements in the program to fetch data
    ---Passing list attributes
    How can you manipulate the presentation and attributes of interactive lists?
    ---Scrolling through Interactive Lists.
    ---Setting the Cursor from within the Program.
    ---Modifying List Lines.
    How to call other programs?
    Report Transaction
    Call and return SUBMIT AND RETURN CALL TRANSACTION
    Call without return SUBMIT LEAVE TO TRANSACTION
    You can use these statements in any ABAP/4 program.
    What will exactly the hide statement do?
    For displaying the details on secondary lists requires that you have previously stored the contents of the selected line from within the program. To do this, ABAP/4 provides the HIDE statement. This statement stores the current field contents for the current list line. When calling a secondary list from a list line for which the HIDE fields are stored, the system fills the stored values back into the variables in the program. In the program code, insert the HIDE statement directly after the WRITE statement for the current line. Interactive lists provide the user with the so-called ‘INTERACTIVE REPORTING’ facility. For background processing the only possible method of picking the relevant data is through ‘NON INTERACTIVE REPORT’ . After starting a background job, there is no way of influencing the program. But whereas for dialog sessions there are no such restrictions.
    How many lists can a program can produce?
    Each program can produce up to 21 lists: one basic list and 20 secondary lists. If the user creates a list on the next level (that is, SY-LSIND increases), the system stores the previous list and displays the new one. Only one list is active, and that is always the most recently created list.
    FALSE.
    *& Report ZLAXMI_REPORT6 *
    REPORT ZLAXMI_REPORT6 .
    tables: mara,
    makt,
    marc,
    mard.
    data: begin of it_mara occurs 0,
    matnr like mara-matnr,
    end of it_mara.
    data: begin of it_makt occurs 0,
    maktx like makt-maktx,
    matnr like makt-matnr,
    end of it_makt.
    data: begin of it_marc occurs 0,
    werks like marc-werks,
    matnr like marc-matnr,
    end of it_marc.
    data: begin of it_mard occurs 0,
    lgort like mard-lgort,
    labst like mard-labst,
    speme like mard-speme,
    matnr like mard-matnr,
    end of it_mard.
    data: begin of it_final occurs 0,
    matnr like mara-matnr,
    maktx like makt-maktx,
    werks like marc-werks,
    lgort like mard-lgort,
    labst like mard-labst,
    speme like mard-speme,
    end of it_final.
    selection-screen: begin of block b1 with frame title text-001.
    select-options: s_matnr for mara-matnr.
    selection-screen: end of block b1 .
    start-of-selection.
    perform get-data.
    perform write_data.
    end-of-selection.
    at line-selection.
    perform sec_list.
    *& Form get-data
    text
    --> p1 text
    <-- p2 text
    FORM get-data .
    select matnr
    from mara
    into table it_mara
    where matnr in s_matnr.
    if sy-subrc = 0.
    select maktx
    matnr from makt
    into table it_makt
    for all entries in it_mara
    where matnr = it_mara-matnr.
    endif.
    ENDFORM. " get-data
    *& Form write_data
    text
    --> p1 text
    <-- p2 text
    FORM write_data .
    loop at it_makt.
    write:/ it_makt-matnr, it_makt-maktx.
    endloop.
    ENDFORM. " write_data
    *& Form sec_list
    text
    --> p1 text
    <-- p2 text
    FORM sec_list .
    case sy-lsind.
    when '1'.
    perform basic_1.
    endcase.
    ENDFORM. " sec_list
    *& Form basic_1
    text
    --> p1 text
    <-- p2 text
    FORM basic_1 .
    select werks
    matnr
    from marc
    into table it_marc
    for all entries in it_makt
    where matnr = it_makt-matnr.
    if sy-subrc = 0.
    select lgort
    labst
    speme
    matnr
    from mard
    into table it_mard
    for all entries in it_makt
    where matnr = it_makt-matnr.
    endif.
    *clear it_makt.
    *clear it_mard.
    read table it_marc with key matnr = it_mara-matnr binary search.
    read table it_mard with key matnr = it_mara-matnr binary search.
    clear it_marc.
    clear it_mard.
    move:it_makt-matnr to it_final-matnr,
    it_makt-maktx to it_final-maktx.
    move: it_marc-werks to it_final-werks,
    it_mard-lgort to it_final-lgort,
    it_mard-labst to it_final-labst,
    it_mard-speme to it_final-speme.
    append it_final.
    *loop at it_final.
    write:/ it_final-matnr, it_final-maktx,
    it_final-werks,
    it_final-labst, it_final-speme.
    *endloop.
    ENDFORM. " basic_1
    regards,
    Omkar.

  • Interactive Reports filter ignoring case

    Is there a way to have the built-in interactive report filter ignore case? I am currently passing the 'LIKE' filter to my interactive report to search for employee names. I want it to ignore the case so 'SMITH' would be the same as 'Smith' when doing search.
    ie. upper(:P1_NAME) like upper(EMP.NAME)

    But I'm not capturing the time. The default format is DD-MON-RR.
    This is crazy, I have used other Adhoc tools that didn't treat dates that way.
    Seeing as the operators change depending on the data type selected by the user, the option must be controlled in the application. Oracle is excluding it for some reason, but they really need to let the administrator control that.
    This is in Interactive Reports. The users don't want to have to format the dates, or anything else. They just want to filter the data to a certain date and the = sign should be allowed. If they are capturing time, then the administrator can truncate the date and make it available via another field/column.
    Edited by: ABD -- DBA on Jan 22, 2010 11:56 AM
    Edited by: ABD -- DBA on Jan 25, 2010 8:05 AM

  • *what are the step by step events trigger in interactive report*

    Hi gurus,
    pls explain event by event triggers in interactive report.
    points will be rewarded.
    Thanks,
    Balakrishna.

    Hi,
    Interactive reporting allows the user to participate in retrieving and presenting data at each level during the session.  Instead of presenting one extensive and detailed list with cluttered information, with interactive reporting you can create a condensed basic list from which the user can call detailed information by positioning the cursor and entering commands.
    Detailed information is presented in secondary lists. A secondary list may either overlay the basic list completely or appear in an additional dialog window on the same screen.  The secondary list can itself be interactive again. The basic list is not deleted when secondary list is created.
    User can interact with the system by:
    u2022     Double clicking or pressing F2
    u2022     Selecting menu option
    Like classical report, the interactive report is also event driven. Both the action mentioned above trigger events and code is written to handle these events.  The events triggered by this action are as follows:
    u2022     At line-selection
    u2022     At user-command
    u2022     Top-of-Page During Line-Selection for Secondary Page Header info
    Interactive report consists of one BASIC list and 20 secondary list. Basic list is produced by START-OF-SELECTION event. When the user double clicks on the basic list or chooses the menu option, the secondary list is produced. All the events associated with classical report except end-of-page are applicable only to basic list.
    AT LINE-SELECTION event
    Double clicking is the way most users navigate through programs. Double clicking on basic list or any secondary list triggers the event AT LINE-SELECTION. SY-LSIND denotes the index of the list currently created. For BASIC list it is always 0.  Following piece of code shows how to handle the event.
    Start-of-selection.
    Write: / u2018this is basic listu2019.
    At line-selection.
    Write : u2018this is first secondary listu2019.
    In this case the output will be displayed on basic list i.e.
    This is basic list.
    When user double clicks on this line, the event at line-selection gets triggered and secondary list is produced, i.e. This is first secondary list.
    You can go back to basic list by clicking on F3 or back icon on the standard tool bar.  For this list, the value of sy-lsind will be 1.
    HIDE technique
    In this case thins are much simpler. Consider the case, wherein you display fields from table sflight in basic list. When user double clicks on any sflight-carrid, you are displaying the detailed information related to that particular carrid on secondary list.  Hence there is a need to store the clicked carrid in some variable.  So that you can access this carrid for next list. ABAP/4 has facility; a statement called HIDE, which provides the above functionality.
    HIDE command temporarily stores the content of clicked field in system area.
    Syntax:
    HIDE <FIELDS>.
    This statement stores the contents of variable <f> in relation to the current output line (system field SY-LINNO) internally in the so-called HIDE area. The variable <f> must not necessarily appear on the current line.
    You have to place the HIDE statement always directly after the output statement i.e., WRITE for the variable <f>.  As when you hide the variable, control is passed to next record.  While writing, WRITE statement takes that record from header and writes it on to the list, but when writing onto your interactive list you will miss out 1st record.
    To hide several variables, use chain HIDE statement.
    As soon as the user selects a line for which you stored HIDE fields, the system fills the variables in the program with the values stored.  A line can be selected.
    u2022     By an interactive event.
    For each interactive event, the HIDE fields of the line on which the cursor is positioned during the event are filled with the stored values.
    The HIDE area is a table, in which the system stores the names and values of all HIDE fields for each list and line number.  As soon as they are needed, the system reads the values from the table.  (Please try to find the name of this table.)
    Sy-lsind indicates the index of the list and can be used to handle all the secondary lists.  When the user double clicks on the line or presses F2, sy-lsind is increased by one and this new sy-lsind can be handled.  For example:
    Write: / u2018this is basic listu2019.
    u2022     Will create a basic list.
    If sy-lsind = 1.
    Write: / u2018this is first secondary listu2019.
    Elseif sy-lsind = 2.
    Write: / u2018This is second secondary listu2019.
    Endif.
    When this code is executed,
    u2022     Basic list is produced.
    u2022     When the user clicks on the basic list, sy-lsind becomes one.
    u2022     AT LINE-SELECTION event is triggered.
    u2022     Whatever is written under IF Sy-lsind = 1, gets executed.
    u2022     Secondary list is produced.
    u2022     Again if user clicks on this list, sy-lsind becomes two.
    u2022     AT LINE-SELECTION gets triggered.
    u2022     Code written under IF Sy-lsind = 2, gets executed.
    A sample program for AT LINE-SELECTION.
    AT USER-COMMAND
    When the user selects the menu item or presses any function key, the event that is triggered is AT USER-COMMAND, and can be handled in the program by writing code for the same. The system variable SY-UCOMM stores the function code for the clicked menu item or for the function key and the same can be checked in the program.  Sample code would look like
    AT USER-COMMAND.
    Case sy-ucomm.
    When u2018DISPu2019.
            Select * from sflight.
            Write sflight-carrid, sflight-connid.
            Endselect.
    When u2018EXITu2019.
         LEAVE.
    If GUI status, suppose you have set menu bar for two items and the function code is u2018DISPu2019 and u2018EXITu2019 respectively. If the user clicks the menu item u2018DISPLAYu2019, then function code u2018DISPu2019 is stored in the sy-ucomm and whatever is written under the when u2018DISPu2019, gets executed. This is applicable for EXIT as well.
    Sy-lsind for the screen increases when the user clicks the menu item.
    Usually you have combination of all the three navigations in your user interface, i.e., you have to create menu bar, assign function code for the function keys and write code to handle all this in addition to handling double clicking.
    Things to remember while using all the combinations:
    u2022     Sy-lsind increases even if you select menu-item.
    u2022     When the user double clicks on particular line, value of sy-ucomm is u2018PICK.
    u2022     If you set sy-lsind = 2 for your 4th secondary list, when control is transferred to the 2nd secondary list, all the other lists after 2nd are lost or memory allocated to them is lost.
    u2022     Sy-lisel also gives you the value of clicked line but in this case you cannot differentiate between field. To retrieve the exact field, you have to know the field length of each field.
    u2022     If you use statement SY-LSIND = 1.
    The system reacts to a manipulation of SY-LSIND only at the end of an event, directly before displaying the secondary list. So, if within the processing block, you use statements whose INDEX options access the list with the index SY-LSIND, make sure that you manipulate the SY-LSIND field only after processing these statements. The best way is to have it always at the `as the last statementu2019 of the processing block.
    Regards,
    Bhaskar

  • Retrieve SQL with filters applied from an Interactive Report

    I want to use an Interactive report as interface for providing parameters to a base report query.
    I would like to capture the full SQL code from the filtered interactive report and then run the sql to create a collection.
    I have found this tread
    Re: Using Data from filtered Interactive Report
    which says that you can use APEX_APPLICATION_PAGE_IR to access the reports SQL. This holds the information about the interactive report when the user saves it. The sql code from the interactive report (after the user has added filters) is stored in the field sql_query.I can only retrieve the base query and not the filtered version even after saving.
    Any ideas how this can be done would be appreciated.
    regards
    PP

    OK Darren I think I've got it working. My solution is an adaption that follows the steps of a blog I found here: http://stewstools.wordpress.com/2009/02/19/get-ir-where-clause/
    My solution allows you to click on a button and the records that are currently displayed in the IR report are saved to an APEX collection. You can then use the collection to save records to a table or run a report on another page. (I haven't included code for this last step but it's easy to find on the forum)
    First a bit of background knowledge. The following APEX views hold all the information on IRs that you access via PLSQL code in the package you need to download. Run an IR report, save a version of the report, then in SQL Workshop have a look at:
    select * from APEX_APPLICATION_PAGE_IR
    select * from APEX_APPLICATION_PAGE_IR_COND
    select * from APEX_APPLICATION_PAGE_IR_COL
    select * from APEX_APPLICATION_PAGE_IR_RPT
    When you run an IR report it has an internal ID that you can access and also a Base Id for each Saved report that is currently in context.
    Here are the steps:
    1) Download the following package and install it in the workspace schema
    http://www.mediafire.com/?nj118x9vmc9
    click on the link "click here to download"
    2)In the HTML header Attribute of the page where your IR runs, put the following Javascript:
    <!--===================================================================-->
    <!--FUNCTION TO RETRIEVE IR REPORTS SQL WITH WHERE CLAUSE
    <!--===================================================================-->
    <script language="JavaScript" type="text/javascript">
    function SaveAndRunReport() {
    document.location='f?p=&APP_ID.:3:&SESSION.:CONSTRUCT_IR_QUERY:NO::'+
    'P3_BASE_REPORT_ID:'+$v('apexir_REPORT_ID');
    </script>
    <!--===================================================================-->
    Notes: You will need to obviously change the URL above to reflect your Page No. (3) and the name of a HIDDEN Item (P3_BASE_REPORT_ID) that you will populate with the base ID of the report.
    Setting :P3_BASE_REPORT_ID to +$v('apexir_REPORT_ID') is an internal thing and works out of the box. It returns the Id of the Base report.
    3) Create a button called SELECT_SPECIMENS (in region position - top of region) in the IR region that will initiate the execution of the IR background SQL to create a collection with the current selected records.
    TARGET= URL
    URL Target = javascript:SaveAndRunReport();
    You might also want to create a condition that only shows the button when there are records selected
    CONDITION TYPE=Exists(SQL returns at least one row)
    EXPRESSION 1 - put the SQL of the IR report here.
    4)Create a branch back to the same page (3) and with the REQUEST attribute set to the value in the Javascript URL above e.g. CONSTRUCT_IR_QUERY. Create a condition on the branch that uses this branch WHEN BUTTON PRESSED= SELECT_SPECIMENS
    5) Create an AFTER HEADER PROCESS with the following code:
    declare
    v_base_query clob;
    v_where clob;
    v_query clob;
    v_base_where varchar2(12):=' where 1=1 '; -- incase there is no where clause in the base query
    begin
    if apex_collection.collection_exists('IR_COLLECTION') THEN
    htmldb_collection.delete_collection( p_collection_name => 'IR_COLLECTION');
    end if;
    --GET THE BASE QUERY OF THE IR REPORT
    select sql_query
    into v_base_query
    from APEX_APPLICATION_PAGE_IR
    where application_id=:APP_ID
    and page_id=:APP_PAGE_ID; -- you can only have one IR report per page
    --UNCOMMENT TO VIEW THE PARAMETERS TO THE PACKAGED FUNCTION
    --raise_application_error(-20001, :APP_ID||'-'||:APP_PAGE_ID||'-'||:SESSION||'-'||:P3_BASE_REPORT_ID);
    --GET THE SQL FILTER CODE
    select apex_ir_query.ir_query_where(:APP_ID,:APP_PAGE_ID,:SESSION,:P3_BASE_REPORT_ID)
    into v_where
    from dual;
    --CHECK TO SEE THAT THERE IS A "WHERE" CLAUSE IN THE BASE QUERY
    if instr(upper(v_base_query),'WHERE ') > 0 then
    v_query:=v_base_query||' '||v_where;
    else
    v_query:=v_base_query||' '||v_base_where||' '||v_where;
    end if;
    --UNCOMMENT TO SEE THE FULL QUERY SYNTAX
    --raise_application_error(-20001,v_query);
    --CREATE COLLECTION FROM IR RECORDS
    apex_collection.create_collection_from_query(P_collection_name=>'IR_COLLECTION',p_query=>v_query);
    exception
    when others then
    raise_application_error(-20001, 'Interactive report not found. Contact Administrator. Could not create collection of records.');
    end;
    remember to update P3_BASE_REPORT_ID above to your HIDDEN ITEM name.
    Set the following attributes for the process above
    CONDITIONAL PROCESSING
    CONDITION TYPE = Request=Expression 1
    EXPRESSION 1 --> CONSTRUCT_IR_QUERY (Note: this was set on the branch in step 4 above)
    6) Run the IR report, click on the "SELECT SPECIMENS" button then click on the Session link on the Developer's Toolbar and select VIEW COLLECTIONS from the popup list then click GO. You should now see the IR records.
    By the way I've been testing in IE not Firefox.
    ...and that's it!
    enjoy
    Paul P

  • P-Track Application: Joint view of Interactive Reports

    Is there a way to create a customized report in the P-Track Application that joins the fields from the various individual interactive reports? For example, if I want certain columns from Projects tab and also other columns from the Status Updates tab, how can I achieve that?
    Thanks,
    Dorothy

    Dorothy, you'll need to create another report or modify an existing one with a query that does this type of join. It most certainly can be done -- but -- you'll have to unlock the application so that you can edit it.. I augmented the interactive report on page 1 (Projects' interactive report) to give users the "latest status update" by project.
    This is my "extra column" in that report:
    ,(select status_update from eba_proj_status_updates where update_date=(select max(update_date) from EBA_PROJ_STATUS_UPDATES u where u.project_id = s.id)) latest_status_update

  • User Interface Template for Interactive Report Region

    In 3.2, where do we set the user interface template for Interactive Reports region?
    No matter what out of the box theme I switch to, the Interactive Reports region shows the same. What and where do I change the template so that alternating rows use two different colors?

    There is no template for Interactive Reports like for a "normal" report. You need to modify the CSS and supply your own for this to happen.
    I believe most things are tagged with #apexir - firebug with Firebox is invaluable. This thread may help:
    Re: changing the look and feel of interactive report.

  • Is possible to save the user that uses the download action in an interactive report.

    Hi,
    In my application I want to save who is downloading the interactive reports information in any format, is it possible?
    Regards

    Hi Eva,
    As far as I know there is not an out of the box option that shows you the user that is downloading the interactive report. I guess you would have to write your own logic for that.
    You can create your own logging table and a dynamic action with
    1) a pl/sql procedure to insert the logging into the table, and
    2) submits the page with the appropriate download format, eg. f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION_ID.:CSV::::
    As trigger of the dynamic action you need to use either of the download buttons, so I'd suggest the jQuery selector "#apexir_dl*"
    Kind regards,
    Vincent

  • Paramerterized Interactive Reports - is there a quick solution to stop the query from executing when entering the page prior to user clicking go.

    Example
    Currently, when the user enters the page the interactive report runs (without the user hitting "go")and - indicates no data found because one of the "parameterized" fields is required and the sql is not setup for nulls.
    I'm Looking for a way to not perform a query  at all -------until the user hits go for the first time on the page - then each time they re-enter the page in the same session it would be ok to auto submit the query.
    I believe I can setup a hidden item and check on my interactive report E1 not null.  Then create a "computation" on "after submission" that would set this value to a value - say 1.
    I can seem to be able to get this to work however.
    In my interactive report - I'm wondering what "condition type" should I be using.  Any thoughts would be greatly appreciated.

    In this case I just have 2 parameters.  The goal is to allow the user to "pre filter" BEFORE rendering the interactive due to the possible size of the report.  This pre fliter could be by say- order type or region or branch etc.
    Right now, I believe its all one region - see below.
    My first attempt, I put a branch on the after submit on the go button and then put a condition on the interactive report.  This worked but caused a looping issue when trying to select a column on the interactive report itself.  My guess is , because that drop down was also using that same go button.
    Anyway, please advise how to best  "pre filter" prior to rendering an interactive report.  Should I have two seperate regions or can I use one region.  Any assistance would be greatly appreciated. 
    Order Parameters 2 
    Before Header 
    Branches
    Computations
    Processes
    After Header 
    Computations
    Processes
    Regions
    Before Regions 
    Computations
    Processes
    Regions 
    Body (3) 
    Search 
    Items 
    P6_TEXT
    P6_ITEM_NUMBER
    Region Buttons  P6_GO
    Order Type &P6_TEXT 
    Report Columns 
    Order Type
    Operating Unit
    Order Number
    Line Number
    Item Number
    Invoice Week
    Items 
    P6_NAME
    P6_ITEM_NUMBER_ALT
    Position 01  Breadcrumbs
    After Regions 
    Computations
    Processes

Maybe you are looking for