Diplaying matrix with drill down (toggle visibility) enabled for 4 row groups

Hello,
I have a matrix in SSRS 2012 with 4 row groups representing a product hierarchy.   Product Sub Group, Product, Sub Product and Account Number are the levels of the hierarchy.  I have enabled drill down (toggle item visibility) on the first
3 of these levels. 
This works great, but my matrix is very wide when it is first rendered.  Ideally I want my matrix to expand horizontally as I expand/drill down into each grouping.  So when the report is first rendered, and 3 of the groups are invisible, the
matrix will be thin.  Is this possible?
Thanks,
Gabe

Hi Gabe,
Based on my test, it cannot achieved in SQL Server Reporting Services (SSRS).
We can hide these column contents in matrix, however, we cannot hide the space in the report. In this situation, I recommend you use table to display these data.
Alternative, we can add a drill-down in the column group to hide the column group when it is first rendered. Please refer to the following screenshot:
If you have any questions, please feel free to let me know.
Regards,
Alisa Tang
Alisa Tang
TechNet Community Support

Similar Messages

  • Calendar with Drill Down Report

    Hello,
    Everybody.
    I am new to Application Express.
    Please any one tell me step by step how to make calendar with drill down report.
    Waiting for valuable reply.
    Thanks
    Rahul

    Not sure if this is what you wanted, but I have links on a calendar, and when you click them, it branches to another page with details about the event.
    To do this, create a calendar region. The SQL statement should have at least 2 columns: The date of the "event", and the text to display as a link. You should also choose a primary key that you want to pass to the drill down report when the user clicks. Something like this:
    select hiredate date_scheduled,
              ename display_column,
              empno
       from empIn the calendar attributes of that region, there is a place to designate which column is the date, and which should be displayed. Go down a little further and set the column link. Put the page you want to show the drilldown report on, and set any variables you need to.
    Hopefully that helped. Its pretty simple once you play around with it - start simple and then once you get the hang of it, make it more complex.

  • Suppressing sub-section with drill down OK

    This may be an easy one that I just cannot figure out (I hope...).
    I have created two details sections - details A and details B.  I would like to suppress details section B while still allowing for drill down capabilities.  However, that option is not available.  I can either suppress the entire details section (A and B) with drill down capabilities or suppress either A OR B with no drill down capabilities.
    Any and all help would be truly appreciated!!

    I can only think of using an on demand subreport which sits in Details b. but the row and the SR lable will be visible for all records.
    Ian

  • Exporting a Report to a pdf file with drill down!

    Hi,
    I would like to export a Report to a pdf file.
    My Report includes drill down options. I require the exported pdf with drill down options.
    (Similar to Navigation options in a PDF file).
    I hope this makes sense.
    Please provide a better solution for me.
    If am not wrong, this facility is not available with Crystal Reports!!!
    Thanks,
    Ramesh.

    Hi Ramesh
    You can download the trial versions of the Crystal Report from the following link:
    https://websmp202.sap-ag.de/support (Please copy the link and paste it to your web browser).
    You can get the license by putting a request in the follwoing link:
    https://websmp202.sap-ag.de/support(Click on Request License key under Service Corner).
    Hope it helps.
    Regards
    Sourashree Ghosh

  • Problem with drill down in time dimension - OBIEE 11G

    Hello There,
    I have a problem with drill down in time dimension. The hierarchy for time dimension is " Fiscal Year---> Fiscal Quarter---> Month(Name)--->Date". When I select a Time dimension and click results its getting opened in a Pivot table view. The problem here is, when I click the "Total" its getting drilled down to Year ---> Quarter but when I click on "+ sign next to quarter" it should drill down to month for that particular quarter for that particular year but its drilling down to month for that particular quarter for all years.
    Any suggestions are much appreciated.
    Thanks,
    Harry.

    1.) Congrats for resurrecting a year-old thread.
    2.) Your answer is here: "Check the level key of the quarter level...it should include both quarter and year columns. Since a specific quarter occurs every year, quarter column alone can't be used as the level key."

  • Problem in Viewer with drill down, Working fine in Plus

    Hi,
    I am using the cross tab reports with drill down functionality. In the viewer version I am getting the following error:
    An error occurred while handling the event. See the application log for more details.
    - The numerical value entered was too low.
    This one working fine in Plus. .
    As for your information this one is working fine in both plus and viewer in development instance and not working in PROD instance.
    Please help me out.
    thanks.

    Update
    Hi Guys the report is working fine with cross tab . Its giving the above error when ever I click the Drill to link which takes to the another detail report.
    thanks in advance

  • OBIEE-- Google Maps With Drill Down Facility

    Hi All,
    I want to create a map chart ie., google maps in OBIEE with drill down facility.
    This is my Hierarchy -> From country to state to city .
    I have this data in my table in the database as columns.
    I know to create google map but dont know how to include hierarchy, please let me know if this can be done.
    Thanks in Advance

    Firstly:
    http://catb.org/~esr/faqs/smart-questions.html#before
    Then look at:
    http://obiee101.blogspot.com/2009/03/obiee-google-maps-multiple-addresses.html
    http://www.artofbi.com/index.php/2009/07/obiee-and-google-maps-integration/

  • Required funnel with drill down

    Experts,
    Any sample example of Funnel Chart with drill down option available in Jdev 11.x ?
    thnks.

    Hi user 552235...
    I am not sure if my next post will help you, since I am not working with portal, but I had a problem with drill to link in the same disco version (10.1.2.48.18) and the problem solved after applying patch 5507746 for bug 5475467.
    You can read more in metalink with the number I supplied you and try in a test environment of course...
    Hope this will help you solving your problem, if it does please update the thread for the rest of our community...
    Gidi Halamish

  • Trial Balance - Details with Drill Down

    Hello Experts,
    I know that SAP has a default Crystal Report for Balance Sheet , P&L which gives us a summary of accounts. Is there anyway i can drill down into the details for each account balance using this report. Is there a default report that i am requesting? How about creating Subreport using default report and link to the summary report? Please advise.

    Hi Praneeth.....
    Creating SubReport may create problem.
    I guess you have to make your own query.
    But Option for subreport is also not bad but it creates problem sometimes to execute the report.......
    Regards,
    Rahul

  • Looking to create editable PDF forms with drop downs and text boxes for use on a Mac computer and iPad. Which product do I need to purchase? Do not need anything fancy

    Looking to create editable PDF forms with drop downs and text boxes for use on a Mac computer and iPad. Which product do I need to purchase? Do not need anything fancy

    Basically you would need Acrobat. However, it is now also possible to create basic form fields using just the free Reader. In fact, I've been working on a tool that allows you to do it, so if you're interested in it please contact me privately.

  • Having Trouble with Drill Down Report

    Hello,
    I am having issues with getting Carl's example to work. http://htmldb.oracle.com/pls/otn/f?p=11933:13
    This is my main query:
    SELECT
      AD_SPRIDEN_ID,
      AD_FIRST_NAME_PREF,
      AD_LAST_NAME_PREF,
      AD_SPOUSE_BANNER_ID,
      AD_SPS_PREF_FIRST_NAME,
      AD_SPS_PREF_LAST_NAME,
      AD_ATHL_MATCH_GIFTS_CFY,
      AD_CURES_MATCH_GIFTS_CFY,
      AD_UNRES_MATCH_GIFTS_CFY,
      AD_ENDOW_MATCH_GIFTS_CFY,
      AD_FACIL_MATCH_GIFTS_CFY,
      AD_SPS_ATHL_MATCH_GIFTS_CFY,
      AD_SPS_CURES_MATCH_GIFTS_CFY,
      AD_SPS_UNRES_MATCH_GIFTS_CFY,
      AD_SPS_ENDOW_MATCH_GIFTS_CFY,
      AD_SPS_FACIL_MATCH_GIFTS_CFY,
    FROM MATCHING_GIFTSI want to drill down on past fiscal year data:
    SELECT
      AD_SPRIDEN_ID,
      AD_FIRST_NAME_PREF,
      AD_LAST_NAME_PREF,
      AD_SPOUSE_BANNER_ID,
      AD_SPS_PREF_FIRST_NAME,
      AD_SPS_PREF_LAST_NAME,
      AD_ATHL_MATCH_GIFTS_CFY_1,
      AD_CURES_MATCH_GIFTS_CFY_1,
      AD_UNRES_MATCH_GIFTS_CFY_1,
      AD_ENDOW_MATCH_GIFTS_CFY_1,
      AD_FACIL_MATCH_GIFTS_CFY_1,
      AD_ATHL_MATCH_GIFTS_CFY_2,
      AD_CURES_MATCH_GIFTS_CFY_2,
      AD_UNRES_MATCH_GIFTS_CFY_2,
      AD_ENDOW_MATCH_GIFTS_CFY_2,
      AD_FACIL_MATCH_GIFTS_CFY_2,
      AD_ATHL_MATCH_GIFTS_CFY_3,
      AD_CURES_MATCH_GIFTS_CFY_3,
      AD_UNRES_MATCH_GIFTS_CFY_3,
      AD_ENDOW_MATCH_GIFTS_CFY_3,
      AD_FACIL_MATCH_GIFTS_CFY_3,
      AD_ATHL_MATCH_GIFTS_CFY_4,
      AD_CURES_MATCH_GIFTS_CFY_4,
      AD_UNRES_MATCH_GIFTS_CFY_4,
      AD_ENDOW_MATCH_GIFTS_CFY_4,
      AD_FACIL_MATCH_GIFTS_CFY_4,
      AD_SPS_ATHL_MATCH_GIFTS_CFY_1,
      AD_SPS_CURES_MATCH_GIFTS_CFY_1,
      AD_SPS_UNRES_MATCH_GIFTS_CFY_1,
      AD_SPS_ENDOW_MATCH_GIFTS_CFY_1,
      AD_SPS_FACIL_MATCH_GIFTS_CFY_1,
      AD_SPS_ATHL_MATCH_GIFTS_CFY_2,
      AD_SPS_CURES_MATCH_GIFTS_CFY_2,
      AD_SPS_UNRES_MATCH_GIFTS_CFY_2,
      AD_SPS_ENDOW_MATCH_GIFTS_CFY_2,
      AD_SPS_FACIL_MATCH_GIFTS_CFY_2,
      AD_SPS_ATHL_MATCH_GIFTS_CFY_3,
      AD_SPS_CURES_MATCH_GIFTS_CFY_3,
      AD_SPS_UNRES_MATCH_GIFTS_CFY_3,
      AD_SPS_ENDOW_MATCH_GIFTS_CFY_3,
      AD_SPS_FACIL_MATCH_GIFTS_CFY_3,
      AD_SPS_ATHL_MATCH_GIFTS_CFY_4,
      AD_SPS_CURES_MATCH_GIFTS_CFY_4,
      AD_SPS_UNRES_MATCH_GIFTS_CFY_4,
      AD_SPS_ENDOW_MATCH_GIFTS_CFY_4,
      AD_SPS_FACIL_MATCH_GIFTS_CFY_4
    FROM MATCHING_GIFTSExample if the user clicks on AD_ATHL_MATCH_GIFTS_CFY in the first query, I want the following fields to display (note that these are colums. I would want the actual value of the columns to display):
    AD_ATHL_MATCH_GIFTS_CFY_1
    AD_ATHL_MATCH_GIFTS_CFY_2
    AD_ATHL_MATCH_GIFTS_CFY_3
    AD_ATHL_MATCH_GIFTS_CFY_4
    or if the user selected AD_SPS_CURES_MATCH_GIFTS_CFY, I want the following to display:
    AD_SPS_CURES_MATCH_GIFTS_CFY_1
    AD_SPS_CURES_MATCH_GIFTS_CFY_2
    AD_SPS_CURES_MATCH_GIFTS_CFY_3
    AD_SPS_CURES_MATCH_GIFTS_CFY_4
    Any help is appreciated,
    Kelly

    Hi Kelly,
    OK - this is what I've done:
    1 - Created two application items through Shared Components:
    G_CITY_ID
    G_DEPTNO
    these will be used to pass CITY_ID and DEPTNO values from the page to application processes using Ajax
    2 - Created two application processes through Shared Components, with the following settings:
    Process Point: On Demand: Run this application process when requested by a page process
    Name: GET_DEPARTMENTS
    Type: PL/SQL Anonymous Block
    Process Text:
    BEGIN
    HTP.P('<table class="t17Standard" cellspacing="0" cellpadding="0" border="0" summary="">');
    HTP.P('<TR>');
    HTP.P('<TH class="t17ReportHeader">DEPTNO</TH>');
    HTP.P('<TH class="t17ReportHeader">DNAME</TH>');
    HTP.P('</TR>');
    FOR x IN (SELECT DEPTNO, DNAME FROM DEPT WHERE CITY_ID = :G_CITY_ID ORDER BY DNAME)
    LOOP
    HTP.P('<TR>');
    HTP.P('<TD class="t17data">' || x.DEPTNO || '</TD>');
    HTP.P('<TD class="t17data">' || x.DNAME || '</TD>');
    HTP.P('</TR>');
    END LOOP;
    HTP.P('</table>');
    END;This will return a list of departments for a selected CITY_ID value in the report
    Process Point: On Demand: Run this application process when requested by a page process
    Name: GET_EMPLOYEES
    Type: PL/SQL Anonymous Block
    Process Text:
    BEGIN
    HTP.P('<table class="t17Standard" cellspacing="0" cellpadding="0" border="0" summary="">');
    HTP.P('<TR>');
    HTP.P('<TH class="t17ReportHeader">EMPNO</TH>');
    HTP.P('<TH class="t17ReportHeader">ENAME</TH>');
    HTP.P('<TH class="t17ReportHeader">SAL</TH>');
    HTP.P('<TH class="t17ReportHeader">COMM</TH>');
    HTP.P('</TR>');
    FOR x IN (SELECT EMPNO, ENAME, TO_CHAR(NVL(SAL,0)) SAL, TO_CHAR(NVL(COMM,0)) COMM FROM EMP WHERE DEPTNO = :G_DEPTNO ORDER BY UPPER(ENAME))
    LOOP
    HTP.P('<TR>');
    HTP.P('<TD class="t17data">' || x.EMPNO || '</TD>');
    HTP.P('<TD class="t17data">' || x.ENAME || '</TD>');
    HTP.P('<TD class="t17data">' || x.SAL || '</TD>');
    HTP.P('<TD class="t17data">' || x.COMM || '</TD>');
    HTP.P('</TR>');
    END LOOP;
    HTP.P('</table>');
    END;This will return a list of employees for a selected DEPTNO value in the report
    3 - On the report page's HTML Header setting, I have entered:
    <script type="text/javascript">
    function getEmployees(deptno)
      var d = document.getElementById("DEPTNO_" + deptno);
      if (d.style.display == "none")
        var g = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=GET_EMPLOYEES',0);
        g.add('G_DEPTNO',deptno);
        var gRet = g.get();
        d.innerHTML = gRet;
        d.innerHTML += "";
        d.style.display = "block";
      else
        d.style.display = "none";
    function getDepartments(city)
      var d = document.getElementById("CITY_ID_" + city);
      if (d.style.display == "none")
        var g = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=GET_DEPARTMENTS',0);
        g.add('G_CITY_ID',city);
        var gRet = g.get();
        d.innerHTML = gRet;
        d.innerHTML += "";
        d.style.display = "block";
      else
        d.style.display = "none";
    </script>These are two javascript functions that will be called when an item is clicked in the report.
    Each runs an Ajax call to the appropriate application process, passes the selected DEPTNO or CITY_ID value into the application items, runs the process, retrieves the results and then inserts that into a DIV next to the item in the report and makes that visible. Clicking the link again just hides the DIV
    4 - In the report definition, on the DEPTNO column definition, I have set the following HTML Expression:
    <a href="#" onclick="getEmployees('#DEPTNO#');">#DEPTNO#</a><div id="DEPTNO_#DEPTNO#" style="display:none"></div>This creates the DEPTNO as a link and clicking the link runs the getEmployees javascript. Next to the link is a DIV tag with a unique ID (created using #DEPTNO# - which is replaced by the actual DEPTNO value on the row)
    5 - I have done a similar thing on the CITY_ID setting:
    <a href="#" onclick="getDepartments('#CITY_ID#');">#CITY_ID#</a><div id="CITY_ID_#CITY_ID#" style="display:none"></div>And, that should be it - the user clicks the "link", the javascript is called, the clicked value is passed into an application item, which, in turn, filters the required data. This data is formatted into a table and passed back to the page. The javascript then receives this and inserts it into the DIV next to the link and displays it.
    I think the CITY_ID column is one that I added to the standard DEPT table, so you may not have that one, but hopefully you get the idea from the above
    Also note that I have used the Theme 17 Standard report template - you will need to adjust the class names in the application processes if you are using a different theme/template
    I hope that all makes sense!
    Andy

  • Issue with drill down in Financial Reporting 11.1.2.2

    Hi All,
    I have a requirement like this :
    I have different dimensions for Year and Period(Period has half years and also quarters ).
    The requirement is like that when the report opens up the rport should look like this:
                             YearTotal
                        FY12            FY13
    Accounts
    Now the user  wants to drill down on YearTotal and it should show in the following way:
                               H1                      H2
                     FY12      FY13    FY12      FY13
    Accounts
    and so on.
    Still now whatever I have tried I am unable to acheive this . Any ideas whther this is acheivable or not ????
    Regards,
    Saurav

    Even without drill(allow expansion) you can only achieve that only by using merge option.
    With merge the drill will not work.
    It'll not be a pretty report.
    Regards
    Celvin
    http://www.orahyplabs.com

  • Viewing reports with Drill Down option

    Hi all, here is the complaint that we received:
    Please try to find a means to help!
    When I’m in my Report and when in an account and I go to a deal to alter or look at it, when I return to reports I always am driven back to the top of the report file. If I’m in December and looking at the entire year I have to go through all accounts once again to get to the same starting point. A great irritant. I can’t help but think that there is a better way.
    Anyone know if this can be changed? Thank you in advance!!!

    Sorry, let me explain...
    The problem isn't with the report, they have issues with what happens after you drill down into the account from the report and go back to the report.
    When they go back to the report after adjusting the account/opp it doesn;t go back to what they were looking at, the view will go to the top of the report. Say they were looking at Account #100 out of 250 (250 total accounts in the report), if they drill down into account 100 and then go back to the report they will be taken back to account #1.
    Is that more clear?
    What they want is to be able to go back to the view of Account #100.

  • Dynamic filter with drill down in WAD

    Hello Expert,
    I am new in WAD and I have a requirement as below:
    Data in Provider:
    Mat1  Mat2   Plant   qty
    M1     M2       P1      10
    M1     M2       P2       20
    Report layout in Bex as below:
    Row:
    Mat1
    Column:
    Qty
    Free char:
    Mat2
    Initially I open the WAD report, data should filter on Plant = P1
    Output:
    Mat1  qty
    M1     10
    Now If I right click on Mat1 (select filter value and drill on Mat2 level) data get filter on Plant = P2, it show as below
    Mat2  qty
    M2    20
    How I can achieve in WAD.
    Thanks in advance!!!
    Regards,
    Abhishek

    You can restrict the value in variable screen with default value plant as "P1" and added the query to template. Now you can executed the query in portal you drill down through context ment filter -> filter on value then select the value to "P2" and add it then click "OK" it will show only P2 value. http://help.sap.com/saphelp_nw73/helpdata/en/44/33eb19e2173ec8e10000000a1553f6/content.htm https://help.sap.com/saphelp_nw73/helpdata/en/43/152fa54b315a38e10000000a422035/content.htm

  • ALV Reporting with drill down capabillities

    I'm creating a abap custom report using the ALV.  I want to drill down to CJ03 which is projects.  I know how to do it in regular custom reporting, but I don't seem to be able to get it to work using the ALV.  Can anyone help?
    Thanks.
    Linda

    Hi Linda,
    Take a look at this sample program. The logic to handle any interaction with the user is in my "PORCESS_USER_COMMANDS" routine.
    This is defined in the "I_CALLBACK_USER_COMMAND" parameter in the ALV FM.
    Hope this helps.
    Cheers,
    Pat.
    [code]
    Modification History
    Date      | Author    | Chg Req #     | Description
    15.08.2001| Pat Yee   | $TMP          | Program Creation
    This program is an example of how the ALV Display works.
    It will display Customer Data.
    This report will also show how to display an ALV report with different
    colored lines and icons
    REPORT zpat.
    Include Programs
    INCLUDE <icon>.
    Database Tables
    TABLES: kna1.                  "Customer Master
    Types
    TYPE-POOLS: kkblo.
    Structures
    Structure to hold the Color Information
    DATA: BEGIN OF st_color,
            color(3) TYPE c,
          END OF st_color.
    Structure to hold the Icon Information
    DATA: BEGIN OF st_icon,
            icon(4) TYPE c,
          END OF st_icon.
    ALV Field Catalog Structure
    DATA: st_fieldcat   TYPE slis_fieldcat_alv.
    ALV Layout Structure
    DATA: st_layout     TYPE slis_layout_alv.
    Internal Tables
    Output Table
    DATA: BEGIN OF tbl_kna1 OCCURS 0.
            INCLUDE STRUCTURE st_icon.   "Icon Structure
            INCLUDE STRUCTURE kna1.      "Customer Master Structure
            INCLUDE STRUCTURE st_color.  "Color Structure
    DATA: END OF tbl_kna1.
    ALV Field Catalog Table
    DATA: tbl_fieldcat  TYPE slis_t_fieldcat_alv.
    Variables
    DATA: fieldname(30) TYPE c,
          g_repid       LIKE sy-repid.
    Start of Selection
    START-OF-SELECTION.
      g_repid = sy-repid.
      PERFORM get_data.
    End of Selection
    END-OF-SELECTION.
      PERFORM do_fancy_stuff.
      PERFORM get_layout.
      PERFORM get_fieldcat.
      PERFORM create_report.
    *&      Form  CREATE_REPORT
          Learn to read the subroutine name!
    FORM create_report.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                i_interface_check       = ' '
                i_callback_program      = g_repid
                i_callback_user_command = 'PROCESS_USER_COMMANDS'
                it_fieldcat             = tbl_fieldcat
                i_default               = 'X'
                i_save                  = ' '
                is_layout               = st_layout
           TABLES
                t_outtab                = tbl_kna1
           EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                               " CREATE_REPORT
    *&      Form  GET_FIELDCAT
          Build the Field Catalog
    FORM get_fieldcat.
    Here the field catalog is created. To display more fields simply
    'uncomment' the additional lines and add the field name. Also note
    that the field catalog is much more powerful than this. You can
    intensify fields, change the colour, assign reference fields, etc.
    Look at type slis_fieldcat_alv for more options.
      PERFORM write_fieldcat USING 'ICON'  'TBL_KNA1' '    ' 'X' 1 '2' 'X'
      PERFORM write_fieldcat USING 'KUNNR' 'TBL_KNA1' 'KNA1' 'X' 2 ' ' ' '
      PERFORM write_fieldcat USING 'NAME1' 'TBL_KNA1' 'KNA1' ' ' 3 '10' ' '
                                   'X'.
      PERFORM write_fieldcat USING 'STRAS' 'TBL_KNA1' 'KNA1' ' ' 4 ' ' ' '
      PERFORM write_fieldcat USING 'TELF1' 'TBL_KNA1' 'KNA1' ' ' 5 ' ' ' '
      PERFORM write_fieldcat USING 'ORT01' 'TBL_KNA1' 'KNA1' ' ' 6 ' ' ' '
      PERFORM write_fieldcat USING 'PSTLZ' 'TBL_KNA1' 'KNA1' ' ' 7 ' ' ' '
      PERFORM write_fieldcat USING 'SORTL' 'TBL_KNA1' 'KNA1' ' ' 8 ' ' ' '
      PERFORM write_fieldcat USING 'ERNAM' 'TBL_KNA1' 'KNA1' ' ' 9 ' ' ' '
      PERFORM write_fieldcat USING 'SPRAS' 'TBL_KNA1' 'KNA1' ' ' 10 ' ' ' '
    perform write_fieldcat using '     ' 'TBL_KNA1' 'KNA1' ' ' 10 ' '.
    perform write_fieldcat using '     ' 'TBL_KNA1' 'KNA1' ' ' 11 ' '.
    perform write_fieldcat using '     ' 'TBL_KNA1' 'KNA1' ' ' 12 ' '.
    ENDFORM.                               " GET_FIELDCAT
    *&      Form  WRITE_FIELDCAT
          Write the Field Catalog data to the Field Catalog Table
         -->name   Field name
         -->tab    Table name
         -->st     Structure Name
         -->key    Is this field a Key?
         -->pos    Position Number
         -->length Field Length
         -->icon   Display as Icon
         -->hot    Hotspot
    FORM write_fieldcat USING name tab st key pos length icon hot.
      st_fieldcat-fieldname   = name.
      st_fieldcat-tabname     = tab.
      st_fieldcat-ref_tabname = st.
      st_fieldcat-key         = key.
      st_fieldcat-col_pos     = pos.
      st_fieldcat-outputlen   = length.
      st_fieldcat-icon        = icon.
      st_fieldcat-hotspot     = hot.
      APPEND st_fieldcat TO tbl_fieldcat.
      CLEAR st_fieldcat.
    ENDFORM.                               " WRITE_FIELDCAT
    *&      Form  PROCESS_USER_COMMANDS
          Interactive Reporting Commands
    FORM process_user_commands USING syst-ucomm LIKE syst-ucomm
                                     selfield TYPE slis_selfield.
    This subroutine is called when there is user interaction in the output
    In this case if the user double clicks the Customer Number then the
    program will call transaction XD03 and display the Customer Master
    Data
      CASE syst-ucomm.
        WHEN '&IC1'.
    get cursor field fieldname.
          READ TABLE tbl_kna1 INDEX selfield-tabindex.
          SET PARAMETER ID 'KUN' FIELD tbl_kna1-kunnr.
          CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                               " PROCESS_USER_COMMANDS
    *&      Form  GET_LAYOUT
      set the layout of the ALV.
      add color to the row?
    FORM get_layout.
      st_layout-info_fieldname    = 'COLOR'.
      st_layout-colwidth_optimize = 'X'.
      st_layout-get_selinfos      = 'X'.
    ENDFORM.                    " GET_LAYOUT
    *&      Form  get_data
          Get some data to play with
    FORM get_data.
      SELECT * FROM kna1 INTO CORRESPONDING FIELDS OF TABLE tbl_kna1
             UP TO 30 ROWS.
    ENDFORM.                    " get_data
    *&      Form  do_fancy_stuff
          Do some fancy pants stuff for example changing the color of
          lines and adding icons
    FORM do_fancy_stuff.
    Here we will demonstrate changing the color of ALV Record lines as
    well as displaying Icons
      LOOP AT tbl_kna1.
    All records where NAME1 begins with 'M', will be displayed in Bluish
    Green
        IF tbl_kna1-name1(1) EQ 'M'.
          tbl_kna1-color = 'C41'.  "Bluish Green
          MODIFY tbl_kna1 TRANSPORTING color.
        ENDIF.
    All records with no TELF1 will be displayed in White and have a
    Warning Icon
        IF tbl_kna1-telf1 IS INITIAL.
          tbl_kna1-color = 'C00'.  "White
          tbl_kna1-icon  = '@AH@'. "Warning Icon
          MODIFY tbl_kna1 TRANSPORTING icon color.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " do_fancy_stuff[/code]

Maybe you are looking for