Inteactive Report navigate

Hi,
     in an interactive report, after going to 5th list, can you come back to 2nd list? how?

Hi,
U can navigate through secondary lists with the help of SY-LSIND.
SY-LSIND is the list index which stroes the number of the secondary index.
So by modifying sy-lsind u can go to second list.
Regards,
Sankar

Similar Messages

  • When drill through from FR report, navigate to FDM landing page.

    Hi,
    Data loaded in HFM 11.1.2.1 using FDM 11.1.2.1 and it has been replaced by ERP integrator 11.1.2.1.501. When we perform drill through from Financial reporting report it is navigating to the FDM landing page instead of ERP integrator landing page. In FDM landing page, showing the ERROR:
    "Error: Error Retrieving recordset"
    Anyone please help me to solve this issue.
    Thanks,
    Yamuna

    Hi ,
    My guess is that , when you loaded the data from ERPi the drill regions created by FDM have been over written. Hence you are not able to drill down to the FDM page. This happens in most of the scenarios , where if the data is loaded across an intersection using FDM and then again the data is loaded in the same intersection using some other way like Flat Files or ERPi the Drill Regions or Drill POVs get compromised.
    To confirm whether your FDM drill back is working or not , create a simple form using any of the intersections from your dimensionS ( not the same ones used above ) and load a single line of data using FDM across those intersections in the form. Try drilling back to the FDM Landing Page and check. Same way , create a report for the same intersections and check drill back to FDM. Remember to check the :Drill - Through" check box in the property grid in the Grid Properties for that report.
    Regards

  • How to register a report program ins EBS?

    HI,
    I made a new report program called APVOUCHER.rdf it is developed/tested/ and running on Reports 10g windows. Then I ftp it to my EBS R12 linux server. Then I put it under the base path of $AP_TOP/reports/us.
    Then I register it in EBS using this
    a) Define the concurrent program executable with the Oracle Application Object Library. This links the execution file and the method used to execute it with a defined concurrent program. Log into Applications as the System Administrator and navigate to Concurrent > Program > Executable
    b) Define the concurrent program with the Oracle Application Object Library along with any program parameters or any incompatibilities. Log into Applications as the System Administrator and navigate to
    Concurrent > Program > Define.
    But in the 2nd define the program APVOUCHER ca not me found in LOVs provided under region
    Excutable
    Name>
    Method>
    If I click LOV for Name the report name is not in there :(
    Anything I miss in here?
    Thanks a lot

    Hi,
    Before you define the report, navigate to Concurrent > Program > Executable and fill out the form as follows:
    Executable: <REPORT SHORT NAME> --> (Similar to the report name you have uploaded but without .rdf)
    Short Name: <REPORT SHORT NAME> --> (Same as above)
    Application: Payables
    Description: <Description>
    Execution Method: Oracle Reports
    For more details, please refer to:
    Note: 133991.1 - How to Register a Custom Report
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=133991.1
    Once you are done with the above, you need to add this concurrent program to the Request Group which is attached to your responsibility.
    - Login to System Administrator responsibility
    - Navigate to Security > Responsibility > Define
    - Query the Responsibility Name
    - Write down the Request Group
    - Navigate to Security > Responsibility > Request
    - Query the Request Group
    - Add the concurrent program
    You should be able to see the concurrent program from the responsibility then.
    Regards,
    Hussein

  • How to do outer join select query for an APEX report

    Hello everyone,
    I am Ann.
    I have one select statement that calculate the statistics for one month(October 2012 in this example)
    select ph.phase_number
    , sum ( (case
    WHEN ph.date_finished IS NULL OR ph.date_finished > last_day(TO_DATE('Oct 2012','MON YYYY'))
    THEN last_day(TO_DATE('Oct 2012','MON YYYY'))
    ELSE ph.date_finished
    END )
    - ph.date_started + 1) / count(def.def_id) as avg_days
    from phase_membership ph
    inner join court_engagement ce on ph.mpm_eng_id = ce.engagement_id
    inner join defendant def on ce.defendant_id = def.def_id
    where def.active = 1
    and ph.date_started <= last_day(TO_DATE('Oct 2012','MON YYYY'))
    and ph.active = 1
    and UPPER(ce.court_name) LIKE '%'
    group by rollup(phase_number)
    Result is as below
    Phase_Number     AVG_DAYS
    Phase One     8.6666666666666667
    Phase Two     14.6
    Phase Three     12
         11.4615365
    I have other select list mainly list the months between two date value.
    select to_char(which_month, 'MON YYYY') as display_month
    from (
    select add_months(to_date('Aug 2012','MON YYYY'), rownum-1) which_month
    from all_objects
    where
    rownum <= months_between(to_date('Oct 2012','MON YYYY'), add_months(to_date('Aug 2012','MON YYYY'), -1))
    order by which_month )
    Query result is as below
    DISPLAY_MONTH
    AUG 2012
    SEP 2012
    OCT 2012
    Is there any way that I can join these two select statement above to generate a result like:
    Month          Phase Number     Avg days
    Aug 2012     Phase One     8.666
    Sep 2012     Phase One     7.66
    Oct 2012     Phase One     5.66
    Aug 2012     Phase Two     8.666
    Sep 2012     Phase Two     7.66
    Oct 2012     Phase Two     5.66
    Aug 2012     Phase Three     8.666
    Sep 2012     Phase Three     7.66
    Oct 2012     Phase Three     5.66
    Or
    Month          Phase Number     Avg days
    Aug 2012     Phase One     8.666
    Aug 2012     Phase Two     7.66
    Aug 2012     Phase Three     5.66
    Sep 2012     Phase One     8.666
    Sep 2012     Phase Two     7.66
    Sep 2012     Phase Three     5.66
    Oct 2012     Phase One     8.666
    Oct 2012     Phase Two     7.66
    Oct 2012     Phase Three     5.66
    And it can be order by either Phase Number or Month.
    My other colleague suggest I should use an left outer join but after trying so many ways, I am still stuck.
    One of the select I tried is
    select a.display_month,b.* from (
    select to_char(which_month, 'MON YYYY') as display_month
    from (
    select add_months(to_date('Aug 2012','MON YYYY'), rownum-1) which_month
    from all_objects
    where
    rownum <= months_between(to_date('Oct 2012','MON YYYY'), add_months(to_date('Aug 2012','MON YYYY'), -1))
    order by which_month )) a left outer join
    ( select to_char(ph.date_finished,'MON YYYY') as join_month, ph.phase_number
    , sum ( (case
    WHEN ph.date_finished IS NULL OR ph.date_finished > last_day(TO_DATE(a.display_month,'MON YYYY'))
    THEN last_day(TO_DATE(a.display_month,'MON YYYY'))
    ELSE ph.date_finished
    END )
    - ph.date_started + 1) / count(def.def_id) as avg_days
    from phase_membership ph
    inner join court_engagement ce on ph.mpm_eng_id = ce.engagement_id
    inner join defendant def on ce.defendant_id = def.def_id
    where def.active = 1
    and ph.date_started <= last_day(TO_DATE(a.display_month,'MON YYYY'))
    and ph.active = 1
    and UPPER(ce.court_name) LIKE '%'
    group by to_char(ph.date_finished,'MON YYYY') , rollup(phase_number)) b
    on a.display_month = b.join_month
    but then I get an error
    SQL Error: ORA-00904: "A"."DISPLAY_MONTH": invalid identifier
    I need to display a report on APEX with option for people to download at least CSV format.
    I already have 1 inteactive report in the page, so don’t think can add another interactive report without using the iframe trick.
    If any of you have any ideas, please help.
    Thanks a lot.
    Ann

    First of all, a huge thanks for following this Frank.
    I have just started working here, I think the Oracle version is 11g, but not sure.
    To run Oracle APEX version 4, I think they must have at least 10g R2.
    This report is a bit challenging for me.I has never worked with PARTITION before.
    About the select query you suggested, I run , and it seems working fine, but if I try this,
    it return error ORA-01843: not a valid month
    DEFINE startmonth = "Aug 2012";
    DEFINE endmonth   = "Oct 2012";
    WITH     all_months     AS
         select add_months(to_date('&startmonth','MON YYYY'), rownum-1) AS which_month
         ,      add_months(to_date('&startmonth','MON YYYY'), rownum  ) AS next_month
         from all_objects
         where
         rownum <= months_between(to_date('&endmonth','MON YYYY'), add_months(to_date('&startmonth','MON YYYY'), -1))
    select TO_CHAR (am.which_month, 'Mon YYYY')     AS month
    ,      ph.phase_number
    , sum ( (case
    WHEN ph.date_finished IS NULL OR ph.date_finished > last_day(TO_DATE(am.which_month,'MON YYYY'))
    THEN last_day(TO_DATE(am.which_month,'MON YYYY'))
    ELSE ph.date_finished
    END )
    - ph.date_started + 1) / count(def.def_id) as avg_days
    FROM           all_months          am
    LEFT OUTER JOIN  phase_membership  ph  PARTITION BY (ph.phase_number)
                                        ON  am.which_month <= ph.date_started
                               AND am.next_month  >  ph.date_started
                               AND ph.date_started <= last_day(TO_DATE(am.which_month,'MON YYYY'))  -- May not be needed
                               AND ph.active = 1
    LEFT OUTER join  court_engagement  ce  on  ph.mpm_eng_id = ce.engagement_id
                                        and ce.court_name IS NOT NULL  -- or something involving LIKE
    LEFT OUTER join  defendant         def on  ce.defendant_id = def.def_id
                                        AND def.active = 1
    group by rollup(phase_number, am.which_month)
    ORDER BY  am.which_month
    ,            ph.phase_number
    ;Here is the shorted versions of the three tables:
    A_DEFENDANT, A_ENGAGEMENT, A_PHASE_MEMBERSHIP
    CREATE TABLE "A_DEFENDANT"
        "DEF_ID"     NUMBER NOT NULL ENABLE,
        "FIRST_NAME" VARCHAR2(50 BYTE),
        "SURNAME"    VARCHAR2(20 BYTE) NOT NULL ENABLE,
        "DOB" DATE NOT NULL ENABLE,
        "ACTIVE" NUMBER(2,0) DEFAULT 1 NOT NULL ENABLE,
        CONSTRAINT "A_DEFENDANT_PK" PRIMARY KEY ("DEF_ID"))
    Sample Data
    Insert into A_DEFENDANT (DEF_ID,FIRST_NAME,SURNAME,DOB,ACTIVE) values (101,'Joe','Bloggs',to_date('12/12/99','DD/MM/RR'),1);
    Insert into A_DEFENDANT (DEF_ID,FIRST_NAME,SURNAME,DOB,ACTIVE) values (102,'John','Smith',to_date('20/05/00','DD/MM/RR'),1);
    Insert into A_DEFENDANT (DEF_ID,FIRST_NAME,SURNAME,DOB,ACTIVE) values (103,'Jane','Black',to_date('15/02/98','DD/MM/RR'),1);
    Insert into A_DEFENDANT (DEF_ID,FIRST_NAME,SURNAME,DOB,ACTIVE) values (104,'Minnie','Mouse',to_date('13/12/88','DD/MM/RR'),0);
    Insert into A_DEFENDANT (DEF_ID,FIRST_NAME,SURNAME,DOB,ACTIVE) values (105,'Daisy','Duck',to_date('05/08/00','DD/MM/RR'),1);
    CREATE TABLE "A_ENGAGEMENT"
        "ENGAGEMENT_ID" NUMBER NOT NULL ENABLE,
        "COURT_NAME"    VARCHAR2(50 BYTE) NOT NULL ENABLE,
        "DATE_REFERRED" DATE,
        "DETERMINATION_HEARING_DATE" DATE,
        "DATE_JOINED_COURT" DATE,
        "DATE_TREATMENT_STARTED" DATE,
        "DATE_TERMINATED" DATE,
        "TERMINATION_TYPE" VARCHAR2(50 BYTE),
        "ACTIVE"           NUMBER(2,0) DEFAULT 1 NOT NULL ENABLE,
        "DEFENDANT_ID"     NUMBER,
        CONSTRAINT "A_ENGAGEMENT_PK" PRIMARY KEY ("ENGAGEMENT_ID"))
    Insert into A_ENGAGEMENT (ENGAGEMENT_ID,COURT_NAME,DATE_REFERRED,DETERMINATION_HEARING_DATE,DATE_JOINED_COURT,DATE_TREATMENT_STARTED,DATE_TERMINATED,TERMINATION_TYPE,ACTIVE,DEFENDANT_ID) values (1,'AA',to_date('12/08/12','DD/MM/RR'),null,to_date('12/08/12','DD/MM/RR'),null,null,null,1,101);
    Insert into A_ENGAGEMENT (ENGAGEMENT_ID,COURT_NAME,DATE_REFERRED,DETERMINATION_HEARING_DATE,DATE_JOINED_COURT,DATE_TREATMENT_STARTED,DATE_TERMINATED,TERMINATION_TYPE,ACTIVE,DEFENDANT_ID) values (2,'BB',to_date('01/09/12','DD/MM/RR'),null,to_date('02/09/12','DD/MM/RR'),null,null,null,1,102);
    Insert into A_ENGAGEMENT (ENGAGEMENT_ID,COURT_NAME,DATE_REFERRED,DETERMINATION_HEARING_DATE,DATE_JOINED_COURT,DATE_TREATMENT_STARTED,DATE_TERMINATED,TERMINATION_TYPE,ACTIVE,DEFENDANT_ID) values (3,'AA',to_date('02/09/12','DD/MM/RR'),null,to_date('15/09/12','DD/MM/RR'),null,null,null,1,103);
    Insert into A_ENGAGEMENT (ENGAGEMENT_ID,COURT_NAME,DATE_REFERRED,DETERMINATION_HEARING_DATE,DATE_JOINED_COURT,DATE_TREATMENT_STARTED,DATE_TERMINATED,TERMINATION_TYPE,ACTIVE,DEFENDANT_ID) values (4,'BB',to_date('01/10/12','DD/MM/RR'),null,to_date('02/10/12','DD/MM/RR'),null,null,null,1,105);
    CREATE TABLE "A_PHASE_MEMBERSHIP"
        "MPM_ID"       NUMBER NOT NULL ENABLE,
        "MPM_ENG_ID"   NUMBER NOT NULL ENABLE,
        "PHASE_NUMBER" VARCHAR2(50 BYTE),
        "DATE_STARTED" DATE NOT NULL ENABLE,
        "DATE_FINISHED" DATE,
        "NOTES"  VARCHAR2(2000 BYTE),
        "ACTIVE" NUMBER(2,0) DEFAULT 1 NOT NULL ENABLE,
        CONSTRAINT "A_PHASE_MEMBERSHIP_PK" PRIMARY KEY ("MPM_ID"))
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (1,1,'PHASE ONE',to_date('15/09/12','DD/MM/RR'),to_date('20/09/12','DD/MM/RR'),null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (2,1,'PHASE TWO',to_date('21/09/12','DD/MM/RR'),to_date('29/09/12','DD/MM/RR'),null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (3,2,'PHASE ONE',to_date('12/09/12','DD/MM/RR'),null,null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (4,3,'PHASE ONE',to_date('20/09/12','DD/MM/RR'),to_date('01/10/12','DD/MM/RR'),null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (5,3,'PHASE TWO',to_date('02/10/12','DD/MM/RR'),to_date('15/10/12','DD/MM/RR'),null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (6,4,'PHASE ONE',to_date('03/10/12','DD/MM/RR'),to_date('10/10/12','DD/MM/RR'),null,1);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (7,3,'PHASE THREE',to_date('17/10/12','DD/MM/RR'),null,null,0);
    Insert into A_PHASE_MEMBERSHIP (MPM_ID,MPM_ENG_ID,PHASE_NUMBER,DATE_STARTED,DATE_FINISHED,NOTES,ACTIVE) values (8,1,'PHASE THREE',to_date('30/09/12','DD/MM/RR'),to_date('16/10/12','DD/MM/RR'),null,1);
    The requirements are:
    The user must be able to request the extract for one or more calendar months, e.g.
    May 2013
    May 2013 – Sep 2013.
    The file must contain a separate row for each calendar month in the requested range. Each row must contain the statistics computed for that calendar month.
    The file must also include a row of totals.
    The user must be able to request the extract for either Waitakere or Auckland or Consolidated (both courts’ statistics accumulated).
    Then the part that I am stuck is
    For each monitoring phase:
    Phase name (e.g. “Phase One”)
    Avg_time_in_phase_all_particip
    for each phase name,
    Add up days in each “phase name” Monitoring Phase, calculated as:
    If Monitoring Phase.Date Finished is NULL or > month end date,
    +(*Month end date* Minus Monitoring Phase.Date Started Plus 1)+
    Otherwise (phase is complete)
    +(Monitoring Phase.Date Finished Minus Monitoring Phase.Date Started Plus 1.)+
    Divide by the numbers of all participants who have engaged in “phase name”.
    This is the words of the Business Analyst,
    I try to do as required but still struggle to identify end_month for the above formula to display for the range of months.
    Of course, I can write two nested cursor. The first one run the list of month, then for each month, run the parameterised report.
    But I prefer if possible just use SQL statements, or at least a PL/SQL but return a query.
    With this way, I can create an APEX report, and use their CSV Extract function.
    Yes, you are right, court_name is one of the selection parameters.
    And the statistics is not exactly for one month. It is kind of trying to identify all phases that are running through the specified month (even phase.date_started is before the month start).
    This is the reason why I put the condition AND ph.date_started <= last_day(TO_DATE('Oct 2012','MON YYYY')) (otherwise I get negative avg_days)
    User can choose either one court "AA" or "BB" or combined which is all figures.
    Sorry for bombarding you a lot of information.
    Thanks a lot, again.
    Edited by: Ann586341 on Oct 29, 2012 9:57 PM
    Edited by: Ann586341 on Oct 29, 2012 9:59 PM

  • Interactive Report does not maintain / remain on current page

    Fellow APEX gurus,
    In my APEX application (APEX 4.0), I have an Interactive Report that displays rows of data and each row has an EDIT link which on clicking pops up a Form (Dynamic HTML Page) on top of the Interactive Report Report.
    The problem is -- when on the Interactive Report page, when I navigate to next page of records (Page 2 or above), and EDIT a row on that page, the resulting Form pops up correctly on top of the Interactive Report, however, in the background, the Interactive Report navigates back to Page 1.
    There is only one default branch on the Interactive Report page and I have "Save State before branching" checked.
    How do I maintain the current Page and not allow APEX to navigate back to the First Page of the Interactive Report?
    Thanks,
    Ed

    Mini,
    I already had the Reset Pagination Unchecked. I did uncheck the "save state before branching" but the behavior was the same.
    Once again, I have only one "Unconditional" Branch on this page with the following settings:
    reset pagination for this page - unchecked
    include process success message - checked
    save state before branching - checked
    Anything else to look for?
    Thanks,
    Ed.

  • Regarding Interactive  list in alv

    Hi Experts,
    I want to know how to do a inteactive report in alv.
    For example: First i will display a alv list. Then when i double click on a field of a line or click on button (Details) by selecting  a line ,  then it will navigate me to the alv list with corresponding records where i clicked previously.
    How to use buttons in this case as we r using in simple interactive report.
    Can anyone pls help me in creating a simple example for the above???
    Thanks
    Sudhansu

    Hi,
    Example for Interactive ALV report.
    Please reward if useful.
    report  zreport no standard page heading
                                    message-id zw.
    Type Pools                                                           *
    type-pools: icon, slis.
    Tables                                                               *
    tables: tvst,
            likp,
            t30b,
            vekp,
            zpallettr,
            zvantr.
    Types                                                                *
    types:
      begin of ty_data,
         lgtor       like likp-lgtor,             " door
         vbeln       like likp-vbeln,             " delivery
         wbstk       like vbuk-wbstk,             " Goods movement status
         kostk       like vbuk-kostk,             " Picking status
         posnr       like lips-posnr,             " item
         route       like likp-route,             " route
         wadat       like likp-wadat,             " goods issue date
         lvsta       like vbup-lvsta,             " warehouse status
         packvorschr like vekp-packvorschr,       " pack mnemonic
         exidv       like vekp-exidv,             " handling unit
         zpallet_no(10),  "like zpallettr-zpallet_no,   " pallet no
         zcount_check like zpallettr-zcount_check," count check flag
         zvan_no(10),     "like zvantr-zvan_no,         " van no
         zvan_print  like zvantr-zvan_print,      " van manifest print
         zeod_print  like zvantr-zeod_print,      " eod manifest print
         zzpackclass like vekp-zzpackclass,       " package class
         zzti        like vekp-zzti,              " T.I. value
      end of ty_data.
    Data                                                                 *
    ranges: r_del   for likp-vbeln,
            r_lgtor for likp-lgtor.
    ranges: r_vanno for zvantr-zvan_no,
            r_palno for zpallettr-zpallet_no.
    data: begin of number_range occurs 0,
             mark(1),
             id(3),
             num(10) type n,
             desc like zpalletmd-zdesc,
          end of number_range.
    data: t_disp_tab  type standard table of zpickdisp,
          t_data_tab  type ty_data  occurs 0 with header line,
          t_disp_head type standard table of zpickhead.
    data: w_numrnge like number_range,
          w_number(10) type n.
    data: t_likp     like likp      occurs 0 with header line,
          t_lips     like lips      occurs 0 with header line,
          t_vbuk     like vbuk      occurs 0 with header line,
          t_vbup     like vbup      occurs 0 with header line,
          t_vepo     like vepo      occurs 0 with header line,
          t_vekp     like vekp      occurs 0 with header line,
          t_vantr    like zvantr    occurs 0 with header line,
          t_pallettr like zpallettr occurs 0 with header line,
          w_likp     like likp,
          w_lips     like lips,
          w_vbuk     like vbuk,
          w_vbup     like vbup,
          w_vepo     like vepo,
          w_vekp     like vekp.
    ALV DATA *****
    data:
         g_grid             type ref to cl_gui_alv_grid,
         g_sort             type slis_t_sortinfo_alv,
         g_custom_container type ref to cl_gui_custom_container,
         g_layout           type slis_layout_alv,
         gt_fieldcat        type slis_t_fieldcat_alv,
         t_fldcat           like line of gt_fieldcat,
         g_keyinfo          type slis_keyinfo_alv,
         gt_events          type slis_t_event,
         gs_event           type slis_alv_event,
         w_sy_repid         like sy-repid.
    data: begin of seltab occurs 0.
            include structure rsparams.
    data: end of seltab.
    SYSTEM GENERATED TABLE CONTROL DATA ********
    DECLARATION OF TABLECONTROL 'TC_TABCON' ITSELF
    controls: tc_tabcon type tableview using screen 0100.
    LINES OF TABLECONTROL 'TC_TABCON'
    data:     g_tc_tabcon_lines  like sy-loopc.
    data:     ok_code like sy-ucomm.
    Constants                                                            *
    constants: c_data_class like klah-class value 'DG_DATA',
               c_mat_class  like rmclf-klart value '001',
               c_pack       like lips-mtart value 'VERP',
               c_a(1)            value 'A',
               c_b(1)            value 'B',
               c_c(1)            value 'C',
               c_yes(1)          value 'X',
               c_no(1)           value ' '.
    Selection screen                                                     *
    standard report select options block
    selection-screen begin of block a with frame title text-002.
    select-options:
      s_wadat for likp-wadat no-extension obligatory.  " Goods Issue Date
    *parameters:                                           "TR01-
    p_vstel like tvst-vstel obligatory. " Shipping Point "TR01-
    select-options:                                             "TR01+
      p_vstel for tvst-vstel.            " Shipping Point  "TR01+
    select-options:
      s_lfart for likp-lfart,            " Delivery type
      s_lgtor for t30b-lgtor,            " Door selection
      s_exidv for vekp-exidv,            " Handling Unit
      s_vbeln for likp-vbeln.            " Delivery
    parameters:
      p_exdata as checkbox.              " Show extra columns flag
    selection-screen end of block a.
    van/pallet specific select options block
    selection-screen begin of block b with frame title text-001.
    select-options:
      s_palno for zpallettr-zpallet_no, " no-extension,
      s_vanno for zvantr-zvan_no.       " no-extension.
    selection-screen end of block b.
    Value Request Events                                                 *
    at selection-screen on value-request for s_palno-low.
      clear: number_range, w_number .
      refresh number_range.
    select numbers and display pop up screen for selection
      perform select_pal_nos.
      s_palno-low = w_number.
    at selection-screen on value-request for s_palno-high.
      clear: number_range, w_number .
      refresh number_range.
    select numbers and display pop up screen for selection
      perform select_pal_nos.
      s_palno-high = w_number.
    at selection-screen on value-request for s_vanno-low.
      clear: number_range, w_number .
      refresh number_range.
    select numbers and display pop up screen for selection
      perform select_van_nos.
      s_vanno-low = w_number.
    at selection-screen on value-request for s_vanno-high.
      clear: number_range, w_number .
      refresh number_range.
    select numbers and display pop up screen for selection
      perform select_van_nos.
      s_vanno-high = w_number.
    At Selection Screen                                                  *
    at selection-screen.
      perform validate_selections.
    Initialization                                                       *
    initialization.
    Start of selection                                                   *
    start-of-selection.
    clear all data tables
      clear: t_likp,
             t_lips,
             t_vbuk,
             t_vbup,
             t_vepo,
             t_vantr,
             t_pallettr,
             w_likp,
             w_lips,
             w_vbuk,
             w_vbup,
             w_vepo,
             w_vekp.
      refresh: t_likp,
               t_lips,
               t_vbuk,
               t_vbup,
               t_vepo,
               t_vantr,
               t_pallettr.
    select data for ALV
    due to different input parameters being used, to streamline the data
    selection process, different selection methods are required
      if not s_vanno is initial
      or not s_palno is initial.
      if selecting by van/pallet number, need to select the data from the
      handling unit upwards to delivery
        perform select_data_up.
      else.
      otherwise the data can be selected from the delivery downwards
        perform select_data_down.
      endif.
    End of selection                                                     *
    end-of-selection.
    call hierarchical ALV display function module
      call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
           exporting
                i_callback_program       = 'ZWMR_PICK_STATUS_REPORT'
                i_callback_pf_status_set = 'SET_STATUS'
                i_callback_user_command =
                   'USER_COMMAND' "custom gui status form
                is_layout                = g_layout  "user command form
                it_fieldcat              = gt_fieldcat
                it_sort                  = g_sort
                it_events                = gt_events
                i_tabname_header         = 't_disp_head'
                i_tabname_item           = 't_disp_tab'
                i_structure_name_header  = 'ZPICKHEAD'
                i_structure_name_item    = 'ZPICKDISP'
                is_keyinfo               = g_keyinfo
           tables
                t_outtab_header          = t_disp_head
                t_outtab_item            = t_disp_tab.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
                                FORMS                                    *
    Includes inserted by Screen Painter Wizard. DO NOT CHANGE THIS LINE!
      include zwmr_pick_status_reporto01 .
      include zwmr_pick_status_reporti01 .
      include zwmr_pick_status_reportf01 .
    *&      Form  select_pal_nos
          select pallet numbers for search help
    form select_pal_nos.
      data: begin of t_palno occurs 0,
              zpallet_no like zpallettr-zpallet_no,
            end of t_palno.
    select all available pallet numbers
      select distinct zpallet_no from zpallettr
                      into corresponding fields of table t_palno.
      loop at t_palno.
      get pallet id
        select single zpallet_id from zpallettr
                      into number_range-id
                      where zpallet_no = t_palno-zpallet_no.
      get pallet description
        select single zdesc from zpalletmd
                      into number_range-desc
                      where zpallet_id = number_range-id.
        number_range-num = t_palno-zpallet_no.
      append to search help table
        append number_range.
      endloop.
    call pop up dialog box
      call screen 0100 starting at 5 5.
    endform.                    " select_pal_nos
    *&      Form  select_van_nos
          select van numbers for search help
    form select_van_nos.
      data: begin of t_vanno occurs 0,
              zvan_no like zvantr-zvan_no,
            end of t_vanno.
    select available van numbers
      select distinct zvan_no from zvantr
                      into corresponding fields of table t_vanno.
      loop at t_vanno.
      select van id
        select single zvan_id from zvantr
                      into number_range-id
                      where zvan_no = t_vanno-zvan_no.
      select van description (maintained in pallet tables)
        select single zdesc from zpalletmd
                      into number_range-desc
                      where zpallet_id = number_range-id.
        number_range-num = t_vanno-zvan_no.
      append to search help table
        append number_range.
      endloop.
    call pop up dialog box
      call screen 0100 starting at 5 5.
    endform.                    " select_van_nos
    *&      Form  select_data_down
          select data if selecting from delivery down
    form select_data_down.
    select all deliveries from LIKP that fulfill selection criteria
      select * from likp into table t_likp
                         where vbeln in s_vbeln
                       and   vstel eq p_vstel                 "TR01-
                         and   vstel in p_vstel
                         and   lgtor in s_lgtor
                         and   wadat in s_wadat
                         and   lfart in s_lfart.
      if sy-subrc ne 0.
      no data found
        message i007.
        exit.
      endif.
      if not t_likp[] is initial.
      select sales document headers from VBUK
        select * from vbuk into table t_vbuk
                      for all entries in t_likp
                      where vbeln eq t_likp-vbeln.
      select all relevant delivery items from LIPS
        select * from lips into table t_lips
                      for all entries in t_likp
                      where vbeln eq t_likp-vbeln
                      and   pstyv ne 'ZPAC'
                      and   pstyv ne 'ZGDP'                     "TR02+
                      and   lfimg gt 0.                         "TR01+
      endif.
      if not t_lips[] is initial.
      select all sales document line items from VBUP
        select * from vbup into table t_vbup
                      for all entries in t_lips
                      where vbeln eq t_lips-vbeln
                      and   posnr = t_lips-posnr.
      select corresponding handling unit ID's (venum)
    TR03 Replace start
       select * from vepo appending corresponding fields of table t_vepo
                     for all entries in t_lips
                     where vbeln = t_lips-vbeln
                     and   posnr = t_lips-posnr
                     and   matnr = t_lips-matnr
                     and   charg = t_lips-charg.
        select * from vepo
                      inner join vekp on vepovenum = vekpvenum
                      appending corresponding fields of table t_vepo
                      for all entries in t_lips
                      where vepo~vbeln = t_lips-vbeln
                      and   vepo~posnr = t_lips-posnr
                      and   vepo~matnr = t_lips-matnr
                      and   vepo~charg = t_lips-charg
                      and   vekp~exidv in s_exidv.
    TR03 Replace end
      endif.
    build process table
      perform move_to_table.
    endform.   "select_data_down
    *&      Form  select_data_up
          select data if selecting from van/pallet up
    form select_data_up.
      if not s_vanno is initial.
      if van then select van numbers and hence pallet numbers
        select * from zvantr into table t_vantr
                              where zvan_no in s_vanno.
                            and   vstel   eq p_vstel."TR01-
        if not t_vantr[] is initial.
          select * from zpallettr into table t_pallettr
                                  for all entries in t_vantr
                                  where zpallet_no eq t_vantr-zpallet_no.
                                and   vstel      eq p_vstel."TR01-
        endif.
      else.
      otherwise can get pallet numbers directly
        select * from zpallettr into table t_pallettr
                                where zpallet_no in s_palno.
                              and   vstel      eq p_vstel."TR01-
      endif.
      if not t_pallettr[] is initial.
      from the pallet nos. we can select the handling units
        select * from vekp into table t_vekp
                           for all entries in t_pallettr
                           where exidv eq t_pallettr-exidv
                           and   exidv ne space
                           and   exidv in s_exidv               "TR03+
                           and ( exida = 'E'                    "TR01+
                           or    exida = 'F' ).                 "TR01+
      endif.
      if not t_vekp[] is initial.
      build vbeln range from t_vekp.
        loop at t_vekp.
          r_del-sign = 'I'.
          r_del-option = 'EQ'.
          r_del-low = t_vekp-vpobjkey.
          append r_del.
        endloop.
      select all deliveries from LIKP that correspond to HU's
        select * from likp into table t_likp
                           where vbeln in r_del
                           and   wadat in s_wadat
                           and   lfart in s_lfart.
      endif.
      if not t_likp[] is initial.
      select sales document headers from VBUK
        select * from vbuk into table t_vbuk
                      for all entries in t_likp
                      where vbeln eq t_likp-vbeln.
      select all relevant delivery items from LIPS
        select * from lips into table t_lips
                      for all entries in t_likp
                      where vbeln eq t_likp-vbeln
                      and   pstyv ne 'ZPAC'
                      and   pstyv ne 'ZGDP'                     "TR02+
                      and   lfimg gt 0.                         "TR01+
      endif.
      if not t_lips[] is initial.
      select all sales document line items from VBUP
        select * from vbup into table t_vbup
                      for all entries in t_lips
                      where vbeln eq t_lips-vbeln
                      and   posnr = t_lips-posnr.
      select corresponding handling unit ID's (venum)
        select * from vepo appending corresponding fields of table t_vepo
                      for all entries in t_lips
                      where vbeln = t_lips-vbeln
                      and   posnr = t_lips-posnr
                      and   matnr = t_lips-matnr
                      and   charg = t_lips-charg.
      endif.
    build process table
      perform move_to_table.
    endform.   "select_data_up
    *&      Form  move_to_table
          move data to processing table
    form move_to_table.
      loop at t_vepo.
        clear t_data_tab.
      delivery lines.
        clear w_lips.
        read table t_lips with key vbeln = t_vepo-vbeln
                                   posnr = t_vepo-posnr
                                   into w_lips.
        move-corresponding w_lips to t_data_tab.
      sales document line items
        clear w_vbup.
        read table t_vbup with key vbeln = t_vepo-vbeln
                                   posnr = t_vepo-posnr
                                   into w_vbup.
      if w_vbup-kosta = space.                   "TR01-
        not relevant for picking
        delete t_vepo.                           "TR01-
        continue.                                "TR01-
      else.                                      "TR01-
        move-corresponding w_vbup to t_data_tab.
      endif.                                     "TR01-
      sales doc header
        clear w_vbuk.
        read table t_vbuk with key vbeln = t_vepo-vbeln
                               into w_vbuk.
        move-corresponding w_vbuk to t_data_tab.
      delivery header
        clear w_likp.
        read table t_likp with key vbeln = t_vepo-vbeln
                               into w_likp.
        move-corresponding w_likp to t_data_tab.
      select handling unit info using vepo entry
        clear w_vekp.
        if t_vekp[] is initial.
          select single * from vekp into w_vekp
                                    where venum = t_vepo-venum.
        else.
          read table t_vekp with key venum = t_vepo-venum
                                     into w_vekp.
          if sy-subrc ne 0.
            select single * from vekp into w_vekp
                            where venum = t_vepo-venum.
          endif.
        endif.
        move-corresponding w_vekp to t_data_tab.
      select pallet / van load information
        select single zpallet_no zcount_check from zpallettr
                                 into (t_data_tab-zpallet_no,
                                       t_data_tab-zcount_check)
                                 where exidv eq w_vekp-exidv.
        if not t_data_tab-zpallet_no in s_palno.                "TR01+
          continue.                                             "TR01+
        endif.                                                  "TR01+
        if sy-subrc = 0.
          select single zvan_no zvan_print zeod_print from zvantr
                        into (t_data_tab-zvan_no,
                              t_data_tab-zvan_print,
                              t_data_tab-zeod_print)
                        where zpallet_no eq t_data_tab-zpallet_no.
          if not t_data_tab-zvan_no in s_vanno.                 "TR01+
            continue.                                           "TR01+
          endif.                                                "TR01+
        endif.
        append t_data_tab.
      endloop.
    *-----> TR01+ start
    If the delivery has yet to be packed, then need to include in report
    Thus delete t_lips here and if any entries left after looping through
    t_vepo, these will also need to be added to t_data_tab
    if the selection is by handling unit though we do not want these"TR03+
      if s_exidv is initial.                                          "TR03+
        loop at t_vepo.
          read table t_lips with key vbeln = t_vepo-vbeln
                                     posnr = t_vepo-posnr.
          if sy-subrc = 0.
            delete t_lips index sy-tabix.
          endif.
        endloop.
        if not t_lips[] is initial.
      move any unpacked items to the data table
          perform move_lips_to_table.
        endif.
      endif.                                                          "TR03+
    *<---- TR01+ End
    get relevant status icons
      perform select_icons.
    prepare ALV data
      perform prepare_alv.
    endform.                    " select_data
    *&      Form  select_icons
          select icons for display and move data to display table
    form select_icons.
      data: w_disp_tab like zpickdisp,
            w_disp_head like zpickhead,
            w_color like zpickdisp-color,
            ov_icon like zpickdisp-ov_icon,
            gi_icon like zpickdisp-gi_icon,
            to_icon like zpickdisp-to_icon,
            lp_icon like zpickdisp-lp_icon,
            pc_icon like zpickdisp-pc_icon,
            lv_icon like zpickdisp-lv_icon,
            vm_icon like zpickdisp-vm_icon,
            em_icon like zpickdisp-em_icon,
            t_ovst_tab like t_disp_tab with header line.
      constants: c_col1(3) value 'C10',
                 c_col2(3) value 'C20'.
      sort t_data_tab by lgtor vbeln.
      w_color = c_col2.
      loop at t_data_tab.
        at new lgtor.
        fill ALV header table
          clear w_disp_head.
          w_disp_head-lgtor = t_data_tab-lgtor.
          append w_disp_head to t_disp_head.
        endat.
      goods issue status & overall amber/green only
        case t_data_tab-wbstk.
          when c_c.
            move icon_green_light to gi_icon.
            move icon_green_light to ov_icon.
          when others.
            move icon_red_light to gi_icon.
            move icon_yellow_light to ov_icon.
        endcase.
      transfer order status
        case t_data_tab-lvsta.
          when c_a.
            move icon_red_light to to_icon.
          when c_b.
            move icon_yellow_light to to_icon.
          when c_c.
            move icon_green_light to to_icon.
          when space.
          write N/A
            to_icon = 'N/A'.
        endcase.
      loaded to pallet status
        if not t_data_tab-zpallet_no is initial.
          move icon_green_light to lp_icon.
        else.
          move icon_red_light to lp_icon.
        endif.
      pallet count status
        if not t_data_tab-zcount_check is initial.
          move icon_green_light to pc_icon.
        else.
          move icon_red_light to pc_icon.
        endif.
      loaded to van status
        if not t_data_tab-zvan_no is initial.
          move icon_green_light to lv_icon.
        else.
          move icon_red_light to lv_icon.
        endif.
      van manifest status
        if not t_data_tab-zvan_print is initial.
          move icon_green_light to vm_icon.
        else.
          move icon_red_light to vm_icon.
        endif.
      end of day manifest status
        if not t_data_tab-zeod_print is initial.
          move icon_green_light to em_icon.
        else.
          move icon_red_light to em_icon.
        endif.
      move working data table to display table
        move-corresponding t_data_tab to w_disp_tab.
        w_disp_tab-ov_icon = ov_icon.
        w_disp_tab-gi_icon = gi_icon.
        w_disp_tab-to_icon = to_icon.
        w_disp_tab-lp_icon = lp_icon.
        w_disp_tab-pc_icon = pc_icon.
        w_disp_tab-lv_icon = lv_icon.
        w_disp_tab-vm_icon = vm_icon.
        w_disp_tab-em_icon = em_icon.
        w_disp_tab-color = w_color.
      fill N/A values for initial fields for display
        if w_disp_tab-packvorschr is initial.
          w_disp_tab-packvorschr = 'N/A'.
        endif.
        if w_disp_tab-exidv is initial.
          w_disp_tab-exidv = 'N/A'.
        endif.
        if w_disp_tab-zpallet_no is initial.
          write 'N/A' to w_disp_tab-zpallet_no.
        endif.
        if w_disp_tab-zvan_no is initial.
          write 'N/A' to w_disp_tab-zvan_no.
        endif.
      display different color for new doc number
        at end of vbeln.
          if w_color = c_col1.
            w_color = c_col2.
          elseif w_color = c_col2.
            w_color = c_col1.
          endif.
        endat.
        append w_disp_tab to t_disp_tab.
        clear w_disp_tab.
      endloop.
    we have all the icons in display but need to check the overall status
    as this refers to the line items
    green and amber statuses already set and use the same criteria as the
    goods issue status unless detected as red here
      data: ov_stat_red(1).
      clear w_disp_tab.
      sort t_disp_tab by vbeln.
      loop at t_disp_tab into w_disp_tab.
        at new vbeln.
        check all line items for delivery
          loop at t_data_tab where vbeln = w_disp_tab-vbeln.
            if t_data_tab-lvsta = c_a.
            set overall status to red
              ov_stat_red = c_yes.
              exit.
            else.
            leave green/amber status icon as previosly determined
            endif.
          endloop.
          if ov_stat_red = c_yes.
          set overall status to red for all items in that delivery
            clear ov_stat_red.
            move icon_red_light to w_disp_tab-ov_icon.
            modify t_disp_tab from w_disp_tab transporting ov_icon
                              where vbeln = w_disp_tab-vbeln.
          endif.
        endat.
      endloop.
    endform.                    " select_icons
    *&      Form  fill_layout
          fill ALV layout parameters
    form fill_layout.
      clear g_layout.
      g_layout-colwidth_optimize = c_yes.   " column width optimisation
      g_layout-zebra = space.               " alternate line colors
      g_layout-box_fieldname = 'MARK'.      " checkbox fieldname
      g_layout-info_fieldname = 'COLOR'.    " highlight row indicator
      g_layout-no_vline = space.            " vertical line
      g_layout-key_hotspot = space.         " hotspot field
      g_layout-f2code = 'PICK'.             " F2 ok_code
      g_layout-numc_sum = c_yes.            " sum numc fields
      g_layout-box_tabname = 't_disp_head'. " checkbox table name
      g_layout-expand_fieldname = 'EXPAND'. " expand field name
    endform.                    " fill_layout
    *&      Form  fill_sort
          fill ALV sort table
    form fill_sort.
      data: w_g_sort type slis_sortinfo_alv.
      w_g_sort-spos      = 1.
      w_g_sort-fieldname = 'LGTOR'.
      w_g_sort-tabname   = 't_disp_tab'.
      w_g_sort-up        = c_yes.
      append w_g_sort to g_sort.
      w_g_sort-spos      = 2.
      w_g_sort-fieldname = 'VBELN'.
      w_g_sort-tabname   = 't_disp_tab'.
      w_g_sort-up        = c_yes.
      append w_g_sort to g_sort.
      w_g_sort-spos      = 3.
      w_g_sort-fieldname = 'POSNR'.
      w_g_sort-tabname   = 't_disp_tab'.
      w_g_sort-up        = c_yes.
      append w_g_sort to g_sort.
      w_g_sort-spos      = 4.
      w_g_sort-fieldname = 'WADAT'.
      w_g_sort-tabname   = 't_disp_tab'.
      w_g_sort-up        = c_yes.
      append w_g_sort to g_sort.
    endform.                    " fill_sort
    *&      Form  fill_fieldcat
          Fill field category structure for ALV
    form fill_fieldcat.
      clear t_fldcat.
    create field catalogue for header table
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
           exporting
                i_program_name         = 'ZWMR_PICK_STATUS_REPORT'
                i_internal_tabname     = 't_disp_head'
                i_structure_name       = 'ZPICKHEAD'
                i_client_never_display = c_yes
           changing
                ct_fieldcat            = gt_fieldcat[].
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    ceate field catalogue for items table
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
           exporting
                i_program_name         = 'ZWMR_PICK_STATUS_REPORT'
                i_internal_tabname     = 't_disp_tab'
                i_structure_name       = 'ZPICKDISP'
                i_client_never_display = c_yes
           changing
                ct_fieldcat            = gt_fieldcat[].
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    modify field catalogue for this report
    set no display flag if not requested on selection screen
      if p_exdata ne c_yes.
        t_fldcat-no_out    =  c_yes.
        modify gt_fieldcat from t_fldcat transporting no_out
                           where fieldname eq 'PACKVORSCHR'
                           or    fieldname eq 'EXIDV'
                           or    fieldname eq 'ZPALLET_NO'
                           or    fieldname eq 'ZVAN_NO'
                           or    fieldname eq 'ZZPACKCLASS'
                           or    fieldname eq 'ZZTI'.
      endif.
    set no display flag for item level LGTOR field
      t_fldcat-no_out    =  c_yes.
      modify gt_fieldcat from t_fldcat transporting no_out
                         where fieldname eq 'LGTOR'
                         and   tabname   eq 't_disp_tab'.
    prevent display of technical fields
      t_fldcat-tech = c_yes.
      modify gt_fieldcat from t_fldcat transporting tech
                         where fieldname eq 'EXPAND'
                         or    fieldname eq 'SELKZ'.
    set vbeln as key
      t_fldcat-key = c_yes.
      modify gt_fieldcat from t_fldcat transporting key
                         where fieldname eq 'VBELN'.
    prevent scrolling for info fields
      t_fldcat-fix_column = c_yes.
      modify gt_fieldcat from t_fldcat transporting fix_column
                         where fieldname eq 'VBELN'.
    endform.                    " fill_fieldcat
    *&      Form  prepare_ALV
          Fill ALV parameters
    form prepare_alv.
    fill ALV key info
      g_keyinfo-header01 = 'LGTOR'.
      g_keyinfo-item01   = 'LGTOR'.
    fill ALV events
      gs_event-name = 'TOP_OF_PAGE'.
      gs_event-form = 'TOP_OF_PAGE'.
      append gs_event to gt_events.
    fill ALV sort table
      perform fill_sort.
    fill ALV layout structure
      perform fill_layout.
    fill ALV field category
      perform fill_fieldcat.
    endform.                    " prepare_ALV
    *&      Form  user_command
          form called on user command from ALV list
    form user_command using r_ucomm     like sy-ucomm
                            rs_selfield type slis_selfield.
      data: index type i,
            w_disp_head like line of t_disp_head,
            w_door like likp-lgtor.
      clear r_lgtor. refresh r_lgtor.
      case r_ucomm.
        when 'PICK'. " Double click line
        when 'VANM'. " Van Manifest button
        read the header table where has been selected
          loop at t_disp_head into w_disp_head where mark = c_yes.
            r_lgtor-sign   = 'I'.
            r_lgtor-option = 'EQ'.
            r_lgtor-low    = w_disp_head-lgtor.
            append r_lgtor.
          endloop.
        print the van manifest
          perform print_van_manifest tables r_lgtor.
        when 'EODM'. " EOD Manifest button
        read the header table where has been selected
          loop at t_disp_head into w_disp_head where mark = c_yes.
            r_lgtor-sign   = 'I'.
            r_lgtor-option = 'EQ'.
            r_lgtor-low    = w_disp_head-lgtor.
            append r_lgtor.
          endloop.
        print the end of day manifest
          perform print_eod_manifest tables r_lgtor.
        when 'REFR'. "Refresh
        refresh display
          w_sy_repid = sy-repid.
          call function 'RS_REFRESH_FROM_SELECTOPTIONS'
               exporting
                    curr_report     = w_sy_repid
               tables
                    selection_table = seltab.
              exceptions
                  not_found       = 1
                  no_report     

  • In OBIEE charts, how do you make drill downs work on custom formulas?

    I posted this over on Linked In and didn't get an anser, so I'm hoping someone here has an answer.
    I'm writing a summary query / chart for a dashboard in OBIEE 10.1 with a drill down (technically it's a "navigation") for more information. This chart breaks down the data by fiscal quarter and by geography (both are columns in the subject area) and I can get this drill down to work just fine. But I also have this chart broken down by some custom calculated fields (CASE WHEN statements) that classify revenue into Forecast / At Risk / Upside etc. (which are not columns or values of columns within the subject area).
    When I add a drill down or navigate function onto those calculated columns, I'm getting a full data set ... not a filtered data set for that particular calculated field. (Yes, I have all of the IS PROMPTED filters set up correctly, and yes the formulas in the source and destination queries are identical).
    Does anyone have any ideas on how to make the drill down or navigation work on custom formulas?
    Thanks
    Ted

    Using the Paint demo
    Report 1 Saved as: */shared/Paint Demo/Sample Analyses/Color Analysis*
    <saw:report xmlns:saw="com.siebel.analytics.web/report/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sawx="com.siebel.analytics.web/expression/v1" xmlVersion="200705140">
    <saw:criteria xsi:type="saw:simple" subjectArea="Paint">
    <saw:columns>
    <saw:column formula="case WHEN Markets.Region IN ('CENTRAL REGION', 'EASTERN REGION') then 'East Central' WHEN Markets.Region IN ('SOUTHERN REGION', 'WESTERN REGION') then 'South West' else Markets.Region end" columnID="c4">
    <saw:tableHeading>
    <saw:caption>
    <saw:text>Markets</saw:text></saw:caption></saw:tableHeading>
    <saw:columnHeading>
    <saw:caption>
    <saw:text>Region</saw:text></saw:caption>
    <saw:displayFormat interaction="default"/></saw:columnHeading>
    <saw:displayFormat suppress="default" interaction="navigate" wrapText="true">
    <saw:navigation xsi:type="saw:sawNavLink">
    <saw:navTargets>
    <saw:navTarget xsi:type="saw:reportLink" path="/shared/Paint Demo/Sample Analyses/Color Analysis Navigate"/></saw:navTargets></saw:navigation></saw:displayFormat></saw:column>
    <saw:column formula="&quot;Sales Measures&quot;.&quot;% Chg Year Ago Dollars&quot;" alias="" columnID="c3"/></saw:columns>
    <saw:columnOrder/>
    <saw:filter subjectArea="Paint">
    <sawx:expr xsi:type="sawx:special" op="prompted">
    <sawx:expr xsi:type="sawx:sqlExpression">case WHEN Markets.Region IN ('CENTRAL REGION', 'EASTERN REGION') then 'East Central' WHEN Markets.Region IN ('SOUTHERN REGION', 'WESTERN REGION') then 'South West' else Markets.Region end</sawx:expr></sawx:expr></saw:filter></saw:criteria>
    <saw:views currentView="0">
    <saw:view xsi:type="saw:compoundView" name="compoundView!1" rptViewVers="200510010">
    <saw:cvTable>
    <saw:cvRow>
    <saw:cvCell viewName="Title"/></saw:cvRow>
    <saw:cvRow>
    <saw:cvCell viewName="Table"/></saw:cvRow></saw:cvTable></saw:view>
    <saw:view xsi:type="saw:tableView" deck="bottom" headingDisplay="table2Rows" visibleFormats="all" name="Table" rptViewVers="200510010"/>
    <saw:view xsi:type="saw:titleView" name="Title" rptViewVers="200510010"/></saw:views>
    <saw:prompts/></saw:report>
    Report 2 Saved as: */shared/Paint Demo/Sample Analyses/Color Analysis Navigate*
    <saw:report xmlns:saw="com.siebel.analytics.web/report/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sawx="com.siebel.analytics.web/expression/v1" xmlVersion="200705140">
    <saw:criteria xsi:type="saw:simple" subjectArea="Paint">
    <saw:columns>
    <saw:column formula="Markets.Region" columnID="c5"/>
    <saw:column formula="&quot;Sales Measures&quot;.&quot;% Chg Year Ago Dollars&quot;" alias="" columnID="c3"/></saw:columns>
    <saw:columnOrder/>
    <saw:filter subjectArea="Paint">
    <sawx:expr xsi:type="sawx:special" op="prompted">
    <sawx:expr xsi:type="sawx:sqlExpression">case WHEN Markets.Region IN ('CENTRAL REGION', 'EASTERN REGION') then 'East Central' WHEN Markets.Region IN ('SOUTHERN REGION', 'WESTERN REGION') then 'South West' else Markets.Region end</sawx:expr></sawx:expr></saw:filter></saw:criteria>
    <saw:views currentView="0">
    <saw:view xsi:type="saw:compoundView" name="compoundView!1" rptViewVers="200510010">
    <saw:cvTable>
    <saw:cvRow>
    <saw:cvCell viewName="Title"/></saw:cvRow>
    <saw:cvRow>
    <saw:cvCell viewName="staticchart!1"/></saw:cvRow>
    <saw:cvRow>
    <saw:cvCell viewName="Table"/></saw:cvRow></saw:cvTable></saw:view>
    <saw:view xsi:type="saw:tableView" deck="bottom" headingDisplay="table2Rows" visibleFormats="all" name="Table" rptViewVers="200510010"/>
    <saw:view xsi:type="saw:titleView" name="Title" rptViewVers="200510010"/>
    <saw:view xsi:type="saw:staticchart" name="staticchart!1" rptViewVers="200510010">
    <saw:template tid="charts/pie.cxml"/>
    <saw:canvasFormat/>
    <saw:selections>
    <saw:categories>
    <saw:category position="0">
    <saw:constant value="1"/></saw:category></saw:categories>
    <saw:measures>
    <saw:column columnID="c3" position="0"/></saw:measures>
    <saw:seriesGenerators>
    <saw:column columnID="c5"/>
    <saw:measureLabels/></saw:seriesGenerators></saw:selections></saw:view></saw:views>
    <saw:prompts/></saw:report>
    The first report navigates and prompts the second report on the calculated field.
    Regards
    Chris

  • Cannot Create Webi document in Infoview

    Hi Guru,
    Here is my scenario, I logged in as Administrator in the Infoview and planned create webi document on the available exported universe. I didn't find any option over there not only for webi even for the Deski, Crystal etc..
    By searching some thread, Again tired by applying the security right as follows
    BOE ( CMC ) >> Applications >> Webi >> Right Click " Check User Rights " >> Select User/group >> rights have been Inherited/ Explicitly >> create New Document.
    One more thing just found in Infoview preferences, I didn't found options for Webi where I can find for Deski,Crystal, Voyager, Password Changes etc.....
    Finally, I tried logging into Webi Rich client >> Error shows  " License not valid  " >>> Do we need to have a separate license for Webi ....
    Please help me out

    Hi
    I just followed this steps... but does not helped on this...
    Logon to Central Management Console (CMC) using Enterprise Administrator account.
    Click on 'Folders' under Organize.
    Select Manage >> Top_Level Security >> All Folders.
    If a Windows prompt occurs showing 'You have chosen to set Security for the Top-Level Folder', click on Ok.
    Click on 'Add Principals'.
    Select the User / Group from 'Available users/groups' who is to unable to create the Web Intelligence document and move it under 'Selected  users/groups'.
    Click on 'Add and Assign Security' button.
    Uncheck the option to Inherit rights from Parent Folder and Parent Group.
    Click on 'Advanced' tab and then click on Add/Remove Rights.
    Grant the General Rights to the User / Group as per the requirement.
    Expand 'Content' option on the left pane.
    Select 'Web Intelligence Report' and grant the following rights:
        12.1   Download files associated with the object
        12.2   Edit Query
        12.3   Export the report's data
        12.4   Refresh List of Values
        12.5   Refresh the report's data
      General rights related to the Web Intelligence can also be overridden here.
    Click on Apply and then OK.
    Click on Apply and then OK on 'Assign Security' and close the User Security for Root Folder.
    Navigate to CMC Home >> Universes.
    Depending on the requirement, rights can be provided at the Universe level or Folder level.
    Repeat Step 5 through Step 10 to add and assign general security for the User(s) / Group(s).
    If the security is provided for Folder(s), under Add / Remove rights, Folder rights can be selected from the 'General Rights for Folder' menu.
    If the Security is provided for the Universe(s), under Add / Remove rights, following optional rights can be selected:
        20.1   Create and Edit Queries Based on Universe
        20.2   Data Access
        20.3   Edit Access Restrictions
        20.4   New List of Values
        20.5   Print Universe
    Click on Apply and then OK.
    Click on Apply and then OK on 'Assign Security' and close the 'User Security for the Root Folder'.
    Navigate to CMC Home >> Connections.
    Depending on the requirement, rights can either be assigned as the 'Top Level  Security' for 'All connections' or providing 'User Security' for the specific connection.
    Repeat Step 5 through Step 10 to add and assign General Security for the User(s) / Group(s).
    Under 'Connection' option within 'System' on the left pane, following optional rights can be granted:
        25.1  Data Access
        25.2  Use connection for Stored Procedures
    Click on Apply and then OK.
    Click Apply and then OK on 'Assign Security' and then close the 'User Security' for the connection.
    If the user still fails to create a Web Intelligence Report, navigate to CMC Home >> Applications >> Web Intelligence.
    Under 'User Security', 'Add Principal(s) and select 'Assign Security'.
    Remove Inheritance from Parent Folder and Parent Group.
    Click on Advanced and click on 'Add/Remove Rights'.
    Provide the General Rights as per the requirement.
    Expand 'Application' on left pane and assign security to the User / Group as required.
    Click on Apply and then OK to save changes.
    Click on Apply and then OK on the 'Assign Security' and then close the 'User Security' for the Web Intelligence application.
    Logon to Infoview and create a new Web Intelligence report.

  • Chinese Word List Update 1.7: Please help me update it manually

    Apple has released Chinese Word list update on June 7, 2013. This is a small 118 KB update that normally will update itself automatically without any ability for user to control the update.Normally, it will be updated in the backgroud in 7-8 days after released.
    I have Chinese Word list updat 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, and 1.6 on my system but this time, Chinese Word list Update 1.7 never update my system. I would like to get assistance from our frieds here to send me the files that can be copied from your Mac to allow me to update it manually.
    To make sure that you have Chinese Word list Update 1.7 on your system, do the following:
    1, Click on Apple Menu - Abot This Mac - More Info - System Report
    2. In System Report, navigate to Software - Installations
    3. Scroll down the software list, then see whether you have Chinese Word list Update 1.7 installed on your system
    If you have Chinese Word list Update on your system, please copy and send me the following files for me to manual update my system:
    1. In FInder, click Go and enter /private/var/db/receipts
    2. copy all files:   com.apple.chinesewordlistupdate.X-XXX.bom
         and all             com.apple.chinesewordlistupdtae.X-XXX.plist
        also                 com.apple,chinesewordlist update.bom
        and                  com.apple.chinesewordlistupdate.plist
    3. In Finder, navigate to folder: Macintosh HD/usr/share/mecabra/updates
         This is a hidden folder, so the Go command will not work. To get there, use Finder to navigate to this folder.
         If you cannot see it, try enter this command in Terminal
        defaults write com.apple.finder AppleShowAllFiles YES
        and you can navigate to Macintosh HD/usr/share/mecabra/updates
        After you have copied the following files listed in 4, you can get back to default setting bu entering
         defaults write com.apple.finder AppleShowAllFiles NO
    4. Copy files:  com.apple.pkg.Inputmethod.SCIM.bundle
         and            com.apple.pkg.inputmethod.TCIM.bunble
    Please send all these files to me, and I can put them into respective locations ro get my system, to update to Chinese Word list Update 1.7
    Now for anybody who want to complete the update manually:
    a. Put all the above files in its respective location
    b. Open file Macintosh HD/Library/Recipts/Installhistrory.plist using plist editor software like PlistEdit Pro
         This folder is hidden, please use the above terminal command to show it
    c. Find Chinese Word list Update and note down the detail of keys there
    d. Ceate a new key and enter all information you have copied in c., change version to 1.7
    Done!
    Thank for kined support for friend and expert that can send me these files to allow me to manually update Chinese Word list Update to verion 1.7
    Or if any fiied have the installation file chinesewordlistupdate.pkg verion 1.7, please also send to me
    <Email Edited by Host>

    Purd wrote:
    Any suggestion and comment or advise please on this issue?
    I'd recommend you take the advice given by Mende1 to you on this question last year:

  • Drilldown and Multiple types of Counts

    We need an operational analytics around Siebel Activities
    Activities dimension are primarily
    - Activity Type
    - Owner
    - Owner Supervisor
    Activity Fact in our case comprises of
    - Count #s
    - Overdue #s [Count where Activity Status = 'Open' AND DUE_DATE < CURRENT_DATE]
    - Due #s [Count where Activity Status = 'Open' AND DUE_DATE = CURRENT_DATE+ 1]
    - Callback #s [Count where Activity Status = 'Open' AND DUE_DATE = CURRENT_DATE+ 1]
    The Answer report should list as follows
    Activity counts (Overdue #s, Due #s, Callback #s) should be listed for a call center Owner supervisor - This does not seem to be a problem
    Drilling on Call Center Owner Supervisor, the report should show counts for each individuals or Owner under Call Center supervisor - This does not seem to be a problem
    But the business is expecting one more drilldown, Ability to click on Individual or Owner and display Overdue Activity Id's, Due Activity Id's and Call back Activity Id's individually
    Would appreciate your insight as to how to solve this. Can this be solved by Narratives? Can we show three drilldown, one for each count ? Please help

    Hi,
    Instead of using drill down you can create two diffrent drilled reports.On click of Owner supervisor navigate to first report containing individual or owner and respective counts.From that report navigate to next report which will have Overdue Activity Id's, Due Activity Id's and Call back Activity Id's.
    Put necessary columns as is prompted so that context from parent report is passed to child report.
    Thanks
    Sandeep

  • MB51 ..* mark....

    Hi ,
           When I run the MB51 report i see the * mark in the "quantity unit of entry "column for most of the document.
    Can you explain me what does it means??
                                                                                 Qty Eun
    0004 201 K 7800477835    2 23.04.2008 23.04.2008 *00,000* LT  ME1520              2.640,00-                 V8CG005 601784           AMSTO012
    0004 321 K 7800476852    1 17.04.2008 17.04.2008 *50,741- LT                          0,00                  V8CG005                  AMSTO012

    Check the variant / layout of the report (navigate through settings> layout> current and press Position) and increase the "Length" of the field "quantity unit of entry".

  • Navigate to the first item in a updatable report

    on my page i have a master/detail form. When a new detail - record is created, the cursor navigate to the first item on the page => it is the first item of the master! What I have to do, that the cursor navigate to the first item in the new detail-record ??
    Thanks
    Robert

    Hi Andy,
    thank you for your answer.
    When the program start, I can not find the cursor. I think, I have a problem to reference the item in the updatable report. I wrote the following lines:
    <script language="JavaScript1.1" type="text/javascript">
    alert('Vor Cursor Navigation');
    first_field('#FKOM_RUFNR#');
    </script>
    (FKOM_RUFNR is a column of the select statement in the report!!)
    A second problem: The cursor navigate to the field - first_field('FIELD_NAME') - every time. But the cursor should navigate to the field in the updatable report, if the button "ADD" in the region of the updatable report was clicked. If the page was displayed without clicking the ADD - button, the cursor should navigate to the first item in the master form ( like => Cursor focus: first item on the page). How can I do that ??
    Thanks
    Robert

  • Open "Navigate" enabled report in new window - OBI10g.

    Hello Experts,
    May be its novice user question, i have 2 reports, source and target reports. Both reports are connected using "Navigate" functionality.
    Issue is, i wan to open the target report in new window? is that possible?
    using GO URL: we have an option like target='_blank'. but in navigate.. what is the option?
    Thanks in advance....
    Regards,
    Kiran

    The Navigate feature can be modified to open targets in a new window by following the below steps:
    - Edit OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\b_mozilla\viewhelper.js
    - Search for function NavigateInfo()
    - Find the line with code this.sWindowTarget = "_self";
    - Replace the line as this.sWindowTarget = "_blank";
    - Clear the browser cache and reload the page.
    The navigation targets will now open in a new window.

  • How to create a hyperlink in RTF template to navigate within the report

    Hi,
    I have an RTF template for one of my report and in that i want to provide hyperlink "Top" which will take the user to the beginning of the report. The output of the report is in HTML format which gets displayed on the browser.
    Since the report has some many tables and is very lengthy i wanted to provide an hyperlink which will navigate to the top at the end of each table.
    I formatted my report title as "Heading1" and created an hyperlink at the bottom of the table in the template and pointed it to the above heading. But still i am not able to navigate to the top from the HTML report that gets generated.
    I have the template and the sample xml file at the following shared location:
    \\Rakumara-pc\TO_XMLPUB_GURU folder.
    Please take a look and help point out what am i doing wrong.
    -thanks
    Ramesh K

    Hey Ramesh
    Thats cheating ... the forum is meant for customers not O developers ;o)
    Can you send your template link (I cannot get into your PC) to the xmlp ML and we'll help there.
    Regards, Tim

  • How do I navigate to a report and select a row to return to a form

    I'm using APEX 4.0.
    My scenario is that I have a list of associations between Customer and Merchant called Shopper. From my Customers list report page when I click the edit icon, I navigate to a detail page. On this page, I want to be able to select one or more Merchants to associate with the Customer. The Merchant list needs to include multiple columns (not a simple LOV).
    How do I add a multi-select multi-column list to my detail page? And, how do I link the selection(s) to the action button ("Associate")?

    The Previous Import collection up at the top left of Library in the Catalog section will show the set of photos most recently imported, but as soon as you’ve done another import that collection updates to the new set.
    I always import my photos into a separate folder so I can go back and find them, later.

Maybe you are looking for