REUSE_ALV_GRID_DISPLAY (column heading)

Hi,
I am using REUSE_ALV_GRID_DISPLAY FM to display the data from internal table. For internal table I used a linetype(work area) and rowtype(body). I got the required data into the internal table and then I used
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
    I_STRUCTURE_NAME                  = 'zline'
  TABLES
    T_OUTTAB                          = itab.
to display the output. Where 'zline' is the linetype for my internal table. I got the proper column headings in the output.
My question is, how can I change the heading of a column. Let us say column heading 'Material' to 'Material used'.
I appreciate if anyone can tell me the complete proceedure to change the column heading. It would be easy for me to follow as I am new to the ALV stuff. Thanks.

Hi
There are several ways to export the data to Excel, anyway perhaps this is easier one:
PARAMETERS: FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\test.xls',
            OPEN AS CHECKBOX.
File name
DATA: FILENAME TYPE STRING.
Table with data for file
DATA: BEGIN OF ITAB OCCURS 0,
        FIELD1(6) TYPE C,
        FIELD2(6) TYPE C,
        FIELD3(6) TYPE C,
      END   OF ITAB.
Create the labels of colunms
ITAB-FIELD1 = 'FIELD1'.
ITAB-FIELD2 = 'FIELD2'.
ITAB-FIELD3 = 'FIELD3'.
APPEND ITAB.
Inser the data to be displayed in the file
DO 9 TIMES.
  MOVE SY-INDEX TO ITAB-FIELD1.
  ITAB-FIELD2 = ITAB-FIELD3 = ITAB-FIELD1.
  APPEND ITAB.
ENDDO.
Create the file
MOVE FILE TO FILENAME.
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME                        = FILENAME
    FILETYPE                        = 'ASC'
    WRITE_FIELD_SEPARATOR           = 'X'
  TABLES
    DATA_TAB                        = ITAB
EXCEPTIONS
   FILE_WRITE_ERROR                = 1
   NO_BATCH                        = 2
   GUI_REFUSE_FILETRANSFER         = 3
   INVALID_TYPE                    = 4
   NO_AUTHORITY                    = 5
   UNKNOWN_ERROR                   = 6
   HEADER_NOT_ALLOWED              = 7
   SEPARATOR_NOT_ALLOWED           = 8
   FILESIZE_NOT_ALLOWED            = 9
   HEADER_TOO_LONG                 = 10
   DP_ERROR_CREATE                 = 11
   DP_ERROR_SEND                   = 12
   DP_ERROR_WRITE                  = 13
   UNKNOWN_DP_ERROR                = 14
   ACCESS_DENIED                   = 15
   DP_OUT_OF_MEMORY                = 16
   DISK_FULL                       = 17
   DP_TIMEOUT                      = 18
   FILE_NOT_FOUND                  = 19
   DATAPROVIDER_EXCEPTION          = 20
   CONTROL_FLUSH_ERROR             = 21
   OTHERS                          = 22
IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
  IF OPEN = 'X'.
Open file if it's requested
    CALL FUNCTION 'WS_EXECUTE'
      EXPORTING
        DOCUMENT    = 'X'
        COMMANDLINE = FILE
        PROGRAM     = 'EXCEL'
      EXCEPTIONS
        OTHERS      = 99.
  ENDIF.
ENDIF.
Max

Similar Messages

  • REUSE_ALV_GRID_DISPLAY (column headings from ALV to EXCEL) Max please help

    Hi Max,
    If you remember in one of my last post I asked for changing the column headings in ALV display for example from 'Material' to 'Material used'.
    I am using
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
          I_CALLBACK_PROGRAM                = repid
          IT_FIELDCAT                       = field_body
          I_SAVE                            = g_save
          IS_VARIANT                        = g_variant
          IT_EVENTS                         = events
        TABLES
          T_OUTTAB                          = itab.
    And you suggested me the following way....
    loop at field_body into field_wa.
    case field_wa-fieldname.
      when 'Material'.
         field_wa-seltext_l = 'Material used'.
         field_wa-seltext_m = 'Material used'.
         field_wa-seltext_s = 'Material used'.
    endcase.
    modify field_body from field_wa.
    endloop.
    It is working well. In ALV display the column heading is changed to what I wanted. But the question is when I export the displayed ALV to Excel using ALV functionality, Export->Spreadsheet... I see that <b>I dont get the Column Heading into Excel as it was in the ALV display.</b>
    I get in the Excel as 'Material u' or 'Mat. Used'. But when I add this line in the code.....
    when 'Material'.
         field_wa-seltext_l = 'Material used'.
         field_wa-seltext_m = 'Material used'.
         field_wa-seltext_s = 'Material used'.
        <b> field_wa-outputlen = 20.</b>
    Then I see that I get the complete heading in the Excel. But this way the columns with outputlen 20 are taking much space in ALV display.
    Is there any fix for this. May be not mentioning the outputlen but still get the column headings into Excel as it was in ALV display.
    Anyone with ideas please respond. Waiting for replies. Thanks

    Hi
    The labels have a fixed size:
    seltext_l is long   text: 20 char
    seltext_m is medium text: 15 char
    seltext_s is short  text: 10 char
    The text 'Material used' is long 13 char so you should write:
    field_wa-seltext_l = 'Material used'.
    field_wa-seltext_m = 'Material used'.
    field_wa-seltext_s = 'Mat. used'.
    You can try to set the field colwidth_optimize of parameter IT_LAYOUT.
    This field should optimize the width of the colunm
    So
    data layout type SLIS_LAYOUT_ALV.
    layout-colwidth_optimize = 'X'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = repid
    IT_LAYOUT   = layout       
    IT_FIELDCAT = field_body
    I_SAVE = g_save
    IS_VARIANT = g_variant
    IT_EVENTS = events
    TABLES
    T_OUTTAB = itab.
    and you can decide which label has to be used:
    field_wa-seltext_l = 'Material used'.
    field_wa-seltext_m = 'Material used'.
    field_wa-seltext_s = 'Mat. used'.
    If you want to set the short text
    field_wa-ddictxt   = 'S'.
    ...medium
    field_wa-ddictxt   = 'M'.
    ...long
    field_wa-ddictxt   = 'L'.
    Max

  • Creating a Link on the Column Heading

    Good afternoon,
    I know with reports, you can create a link for each cell in the report attributes section. My question is it there's any way to create a link for the column header without hard coding it into the query that generating the results.
    Thanks in advance,
    Ivan

    Ivan,
    If you are using the classical reports, you have the option of creating column header using pl-sql block which will be dynamic. Thanks
    Regards,
    Manish

  • Background color for column heading

    Hi,
    I have 5 columns in my report and I would like to have different background color for column headings. How can I do this in report templates?
    I was looking at Column heading section-
    <th class="t10ReportHeader"#ALIGNMENT# id="#COLUMN_HEADER_NAME#">#COLUMN_HEADER#</th>
    How can I specify backgrund colors for all columns here?
    Thanks in advance

    G'day Karen,
    Thanks for ur reply.
    I have seen this note before, its not that the header colors have changed after latest SP was applied in our systems. Also the ABAP and JAVA stacks are in sync.
    Scenario is that we are trying to set up a new Portal theme for Enterprise Reporting with some specific color codes (hex codes).
    What i have observed is Characterstics Header background color is set up using the element "Background Color of Level 1 Column Heading ".
    While the Background color for Key Figures header is using element "Background Color of Level 2 Column Heading ".
    But the problem is element "Background Color of Level 2 Column Heading " is also used as the Background color for Standard Characterstics cell, so if we make it same the whole report of the same color, which we dont want.
    Requirement is to get the same Background color for Header cells (both Char. and Key Figure headers).
    Any further suggestions will be appreciated.
    Thanks
    CK

  • Change Column Heading in ALV Report

    Hi,
    I have developed a ALV Report, showing correct output.
    Problem is that Column Heading is not showing correct...means it is showing as per field name. But We want to change as per our understand. i.e. One column heading is like Unrestricted Stock but we want Unrestricted Stock...(BILF is an indicator)..
    We have write in the code..
    FORM build_fieldcat10.
      CLEAR fieldcat_ln.
      ADD 1 TO col_pos.
      fieldcat_ln-ref_tabname = 'MARD'.
      fieldcat_ln-fieldname   = 'LABST'.
      fieldcat_ln-seltext_m   = 'BILF Unrest.Stock'.
      fieldcat_ln-key         = space.
      fieldcat_ln-do_sum      = space.
      fieldcat_ln-col_pos     = col_pos.
      fieldcat_ln-no_out      = space.
      fieldcat_ln-qfieldname  = space.
      fieldcat_ln-hotspot     = space.
      APPEND fieldcat_ln TO fieldcat.
    ENDFORM.                    " BUILD_FIELDCAT1
    But after change the selection text...not showing correct text..How can i change Column heading???
    Please help me..

    Thanks a lot dear..
    My problem resolved by using SCRTEXT_L.

  • Report Column Heading Alignment - Center Not Working Correctly

    I am using Apex 2.1 (XE) and now have an application with about 30 pages. I've noticed that some of my reports which have columns with a heading alignment of "center" are not always centering if they have columns that align to the left or right included before them. I looked at the generated HTML and it shows that align="LEFT" or align="RIGHT" is being generated in the source even when the column heading is set to center in the designer. It appears that if a field higher on the list says to align the column heading left or right, then that is what the following columns are going to do also if they are set to center. So column heading left and right works great, and center works only if all the columns are set to center.
    My question: Is this a known bug? Is it something that can be scheduled for a fix at some point in the future?
    Luckily the column data itself obeys the column alignment, so this is strictly a cosmetic problem with the column headings.
    Thanks,
    Jim

    Hello,
    What theme are you using?
    Try setting them with a css decalration. Instead of align="right" put this is in the heading attribute
    style="text-align:right;" or style="text-align:left;"
    Carl

  • No column heading in second page in alv report when save in excel file

    Hi Expert,
    How can i remove the column header from Alv report when program execute in background and save in excel file right now
    its comming column header in each page. Client dont want header column in excel from second page. is this possible?
    with regards
    chandan_viji

    Hi Ravi,
    thanks for reply i have solved this problm throug line count and NEW-PAGE LINE COUNT 10000 bcoz client want output in excel file only one page header.
    with regards
    chandan_viji

  • Excel like 'Freeze column header' functionality in sharepoint OOB list view webpart

    Hi,
    I have OOB external list dropped on a page as listview webpart. It contains many records and hence while scrolling down headers are no available, hence it should freeze all column headers while scrolling down the page. Its directly dragged and dropped
    on site page hence no server side formatting can be done.
    Is there any way we can apply some client side script to freeze column headers to listview webpart while scrolling down? or any settings that can be done to acheive this?
    Thanks in advance.
    Regards,
    Rahul

    Hi Rahul,
    Normal techniques for freezing the header row of an HTML table tend to fall short when it comes to SharePoint 2010 lists due to the lack of THEAD elements.
    You can try something like this, although you may want to test it in various browsers in case the column heading alignment is off.
    <style>
    .ms-viewheadertr{background-color:white;}
    </style>
    <script>
    /* wrap the table in a div, set its height, give it scrollbars, and move it down */
    var myTable = document.querySelector(".ms-listviewtable");
    var wrapperDiv = document.createElement('div');
    wrapperDiv.setAttribute("ID","FreezePaneWrapper");
    wrapperDiv.setAttribute("style","OVERFLOW: auto; HEIGHT: 400px; padding-top:38px;");
    wrapperDiv.appendChild(myTable.cloneNode(true));
    myTable.parentNode.replaceChild(wrapperDiv,myTable);
    /* Freeze the header row and move it up*/
    var headerRow = document.querySelector(".ms-viewheadertr");
    document.getElementById("FreezePaneWrapper").style.width = "" + headerRow.scrollWidth + "px";
    headerRow.style.width = "" + headerRow.scrollWidth + "px";
    headerRow.style.position = "absolute";
    headerRow.style.top = ""+(headerRow.offsetTop-39)+"px";
    /* Tell the header's columns to be the same width as the cells in the first "alternating" row */
    var columns = document.querySelector("table.ms-listviewtable tr.ms-alternating").querySelectorAll("tr>td");
    headers = document.querySelectorAll("tr.ms-viewheadertr th");
    for(var i = 0; i < headers.length; i++){
    if(columns[i].scrollWidth > headers[i].scrollWidth){
    headers[i].style.width = ""+columns[i].scrollWidth + "px";
    }else{
    columns[i].style.width = ""+headers[i].scrollWidth + "px";
    </script>
    Edit: Also, you may want to inspect the HTML attributes on the external list view to be sure the class names match up with the querySelector parameters above. Specifically, the table should have a class of "ms-listviewtable", the header row should
    have a class of "ms-viewheadertr", and rows of alternating background color should have a class of "ms-alternating".
    If any of those are different in your case, you may be able to adjust the above code accordingly.

  • Dynamic Column Heading on Interactive Report

    I have my column headings for my table columns stored in the database. I want the Interactive Report to use these heading (instead of static headings). Is there a way to have the columns set from the database(with a function/procedure)?

    you can replace the column headings with &PAGE_ITEM.
    obviously one page item per column header
    then use the database to populate the items with your column headings.
    craig
    [http://www.oracleapplicationexpress.com]

  • How to Link column header only in classic Report in APEX 4.1

    Hello Everybody,
    Probably there is a simpler way to do this, but I am not sure. I want a link on column header in Report on a specific column. The link will take me to new region or a page.
    How to achieve this in APEX 4.1
    Theme : Blue 2
    Database 11g
    I see there is a column link opiton, but that creates link for every row in that column on a specific icon, I just want link on a title of the column in Classic Report.
    For Example,
    if there are two columns Name and Client ID, which has 10 records to display on a classic report. I wan the link on Client ID on header only not on the records.
    Can anybody provide some simple solution for this.
    Thanks,
    --CP
    Edited by: cpora007 on Jun 22, 2012 10:38 AM

    Hello,
    I didn't understand, what do you mean by default it is going to sort popup. I have a classic report based on SQL, which generates a report with static header, there is no sort or any other link on that.
    I added a link in column header name with an anchor. It works and takes to the new page.
    But it is not a proper solution. A solution based on Jquery dynamic action is preferable. Also the preferred option is that the link opens a hidden region of the same page at the same location of the report and the report gets hidden. after the procession on the form region and submitting the update/ insert process. the report region shows up with the change data.
    Moving on to new page is 2nd option, if the first do not work.
    In the JavaScript, put: apex.submit("GO_TO_MY_OTHER_PAGE");
    On the page, create a Branch to the Second page. Set the condition to Request=Expression 1. Set the request to "GO_TO_MY_OTHER_PAGE"
    On which page I need to create a branch?, Is it on the report page or the form page.
    Thanks a lot for the response. I appreciate your kind efforts in this regard.
    --CP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Interactive Report With No Column Heading

    Is it possible to display a column with no heading (label) in an interactive report ?
    I have tried to delete the column heading and save, but when I run the report,
    it is still there
    Cheers
    Gus

    Gus,
    Try a space character or &#38;nbsp;
    Vikram

  • Interactive Report (IR) column heading: filtered items number & flashlight

    Hello everyone
    several hours of searching through the forum did not provide me with leads or answers to 2 questions. Both are related to the IR column heading menu and options. Let's start with a copy of the relevant portion of the interactive report help screen:
    Column Heading Menu
    Clicking on any column heading exposes a column heading menu.
    [snip]
    Text Area is used to enter case insensitive search criteria (no need for wild cards). Entering a value will reduce the list of values at the bottom of the menu. You can then select a value from the bottom and the selected value will be created as a filter using '=' (e.g. column = 'ABC'). Alternatively, you can click the flashlight icon and the entered value will be created as a filter with the 'LIKE' modifier (e.g. column LIKE '%ABC%').
    List of Unique Values contains the first 500 unique values that meet your filters. If the column is a date, a list of date ranges is displayed instead. If you select a value, a filter will be created using '=' (e.g. column = 'ABC').
    Q1: Why do I not see a flashlight icon? I looked everywhere in the report definition to "enable" it, to no avail.
    Q2: Although we've found IRs to be incredibly useful and embraced by end users, we are having issues when dealing with large datasets. Let's look at searching for people's first/last name in our CONTACTS table. The table is ~28,000 names long. If one attempts to use Column Heading menu to "filter" for any name outside the first 500 unique values, the search does not work. Yes, I know that a workaround is to use Actions Menu icon filter... but, it sure is misleading to have a search which does not go beyond letter B in the list of last names. Furthermore, I do not see a way to DISABLE Column Heading Text Area, and avoid user confusion.
    I suspect that "List of Unique Values contains the first 500 unique values" was set for the performance purposes. Is there a way to set that number anywhere? Have it customized for each column? (columns county and state could be <100, for example)
    Thanks an advance to any advice.
    Vojin

    @Prabodh: what you say is only changing the default image for the column selector at the search bar level. What i think is being looked for is an icon on the popup when a column header is clicked in an IR. Don't bother: there is none.
    @Vojin, Tonibony:
    I also ran into this problem with IRs and the useless column header box. If you want to hide the unique values list, it is a bother. First of all, you can't disable the finding of values, this is embedded in the widget ajax code. Then if you want to just hide the list, there is no real event you can hook up to. The poping up of the box is an ajax callback, and is part of the IR javascript, but this callback does not trigger any event (no apexafterrefresh for example, which is understandable). I've worked around this by overriding/extending the method which is called when ajax is done loading within the IR code. Here is a piece of code which does this (call it on page load):
       // _Finished_Loading is called when the IR is done with a GET action
       // because the posts are synchronous in this report, and no events
       // or hooks are available, the best way to preserve functionality
       // yet extending it is to override the original function, yet
       // keep the base code
       // apexafterrefresh cant be used since it is not triggered after
       // the widget ajax
       var or_Finished_Loading = gReport._Finished_Loading;
       gReport._Finished_Loading = function(){
           //overriden, but still have to call orinigal!
          or_Finished_Loading();
          //SORT_WIDGET is the widget containing all the header elements
          if(gReport.current_control=='SORT_WIDGET'){
             // hide the original dropdown box
             $("#apexir_rollover_content").hide();
       };If you're interested, i've recently developed a plugin for use in my interactive reports which works around some of these limitations. For me, the headers are much more userfriendly than the actions > filter menu. So what i've done is: hide the orignal dropdown, and turn the searchfield into an autocompletion field, which will progressively search through the distinct column values in the IR with ajax. I've even made an option to have the searching behave like a "contains" or a "like". I'm working on a post about it, with background, documentation and source code. I'll add a post here when i finish it up, you can see if that helps you.
    I also would like to add a button later on which will simply add the entered value as a "like %value%" filter. I know how to do this and what to do, i'm just a bit short on time at the moment. I actually think that adding the button in the layout may be the hardest part... :')

  • Interactive report – column heading in multiple rows

    I am using interactive report. My question to the expert/guru&rsquo;s is: - How do I change column heading into multiple row with text wrap.
    For example:- My column heading is
    Is Employee Trained ? -------&gt; (single row display)
    I want to make it display like
    Is Employee
    Trained ? ------&gt; (Multi row display)
    Sagar

    Hi,
    What you could do is, disable the download csv function from IR (Interactive Report Attributes--> Search Bar-- Uncheck Download) and in the region header create a link and redirect it to another page which will have the csv report output.
    e.g. <a href="#"  onclick="javascript:redirect('f?p=&APP_ID.:3:&SESSION.::&DEBUG.:3::');"" >Download Report </a>
    Here I am redirecting the link to Page 3. On Page 3 create a sql report with the same query and make report template to csv. Thanks,
    Manish

  • Report Painter Column Header to display on continuing page

    Gods of FICO,
    I've report painter issue. When out of a report is printed, and when it is longer than one page..... the column header description is not getting displayed on second page.
    how can i show column header description on subsequent pages?
    thanks

    Hi,
    I have the same issue. I have also de-selected the 'Allow row to break across pages' for the whole table but still the table breaks and continues on the next page.
    I see that the question has been answers correct but no solution provided. I would appreciate if you could post the solution.
    Regards,
    Hakan
    Edited by: HakanB on 2011-maj-04 00:05

  • Interactive Report Column Heading Filters using LIKE instead of =

    Still on APEX 3.1
    I have an inter active report with a column Like Below
    select case when trunc(c.resp_contact_dt, 'MM') = trunc(sysdate, 'MM') or trunc(c.oth_contact_dt, 'MM') = trunc(sysdate, 'MM') then '<img src="/i/contact_2_green.png" alt="RESP A: ' || to_char(c.resp_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.resp_contact_dt, 'MM/DD/YYYY') ||'
    ' || 'OTH A: ' || to_char(c.oth_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.oth_contact_dt, 'MM/DD/YYYY') || '">'
    when trunc(c.resp_attempt_dt, 'MM') = trunc(sysdate, 'MM') or trunc(c.oth_attempt_dt, 'MM') = trunc(sysdate, 'MM') then '<img src="/i/contact_2_yellow.png" alt="RESP A: ' || to_char(c.resp_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.resp_contact_dt, 'MM/DD/YYYY') ||'
    ' || 'OTH A: ' || to_char(c.oth_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.oth_contact_dt, 'MM/DD/YYYY') || '">'
    else '<img src="/i/contact_1_red.png" alt="RESP A: ' || to_char(c.resp_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.resp_contact_dt, 'MM/DD/YYYY') ||'
    ' || 'OTH A: ' || to_char(c.oth_attempt_dt, 'MM/DD/YYYY') || ' C:' || to_char(c.oth_contact_dt, 'MM/DD/YYYY') || '">' end as Contact,
    This column header has an User defined LOV
    select '%green%' d,
    '<img src="/i/contact_2_green.png">' r from dual
    Union select '%red%' d,
    '<img src="/i/contact_1_red.png">' r from dual
    union select '%yellow%' d,
    '<img src="/i/contact_2_yellow.png">' r from dual
    When user select my Red image from the column header link
    the filter generates where contact = '%red%' This fails
    Is there a way to generate the filter contact like '%red%' without the user having to change it to like.
    Is this possible in 4.0?

    I am assuming Because of the crickets either I am doing my SQL to incorrectly and there is a better way to return get a popup with a changing image into an interactive report
    or
    There is no way to do what I am trying

Maybe you are looking for

  • CS3 H264 Export Issues

    I have got an Issue with exported videos through Premiere Pro CS3. I know I am using an old version but I felt no need to upgrade. I am facing an issue I haven't faced before. I am exporting a video (no footage, just one music track with still images

  • Control Panel won't open/Software License Service fails to run

    I'm not sure what happened, I had left my computer on sleep for about 4 hours, I came back and I was getting these UAC messages even when I was opening elevated mode for task manager.  Soon I realized my control panel won't open.  After some googling

  • POI: HSSFCellStyle odd results

    The function below works just fine <p> public short addColumnHeader( int rId, String name )      {</p>           HSSFRow row = sheet.getRow( rId ); HSSFCell firstCell = row.getCell((short)0); HSSFCellStyle headerStyle = firstCell.getCellSt yle();    

  • Fireworks 8 or Photoshop CS2?

    I have a golden opportunity that I need help with. I have been using DW8 for a few months and have produced a few websites. My boss apparently has taken notice of the sites and wants me to do more websites for the company. BTW, I am an accountant, no

  • I dont understand why my accounts get blocket?

    [Private information removed by moderator]  this is a my skype accounts all is get blocket i can pay money for the account's for calling phones and afterday all get blocket pleade controll and open my accounts..