OO: ALV + Header w/ logo print out

Hi everyone!
I have a container splitted in two: one for a Header area in wich I add a logo and some header texts, and the other split for an ALV Grid.
The problem comes when I call the method PRINT_DOCUMENT from CL_DD_DOCUMENT. It print out only the header, but not the data in ALV Grid. Why is that? Is there any way to archieve this?
Thanx in advance.

Have u handled te print_top_of_page?
* Class definition :
*       CLASS v_lcl_event_receiver DEFINITION
CLASS v_lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
    handle_print_top_of_page FOR EVENT print_top_of_page OF
                                       cl_gui_alv_grid,
    handle_top_of_page FOR EVENT top_of_page OF
                                 cl_gui_alv_grid.
ENDCLASS.
*       CLASS V_LCL_EVENT_RECEIVER IMPLEMENTATION
CLASS v_lcl_event_receiver IMPLEMENTATION.
  METHOD handle_print_top_of_page.
    IF sy-pagno = 1.
        PERFORM top_of_page.
    ENDIF.
  ENDMETHOD.
  METHOD handle_top_of_page.
      PERFORM top_of_page.
  ENDMETHOD.
ENDCLASS.
DATA:        v_event_receiver      TYPE REF TO v_lcl_event_receiver.
FORM top_of_page.
  WRITE: text-020,
ENDFORM.                    " top_of_page
In PBo of the screen
   DATA: v_split            TYPE REF TO cl_gui_easy_splitter_container,
         v_contnr_top       TYPE REF TO cl_gui_container,
         v_contnr_bot       TYPE REF TO cl_gui_container,
         v_grid_02          TYPE REF TO cl_gui_alv_grid,
         v_html             TYPE REF TO cl_dd_document,
         v_text20(255)      TYPE c,
         v_text16(255)      TYPE c,
FORM f9000_objects_create.
  IF cl_gui_alv_grid=>offline( ) IS INITIAL.
Create a container
    CREATE OBJECT o_dockingcontainer
      EXPORTING
        ratio                       = '95'
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        others                      = 6.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.
    CREATE OBJECT v_split
         EXPORTING
           parent            = o_dockingcontainer
*          ORIENTATION       = 0
           sash_position     = 25
           with_border       = 0
         EXCEPTIONS
           cntl_error        = 1
           cntl_system_error = 2
           others            = 3.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.
*   Get the containers of the splitter control
    v_contnr_top = v_split->top_left_container.
    v_contnr_bot = v_split->bottom_right_container.
    CREATE OBJECT o_alvgrid
   EXPORTING
     i_parent = o_dockingcontainer.
*   Create an instance of alv control
    CREATE OBJECT o_alvgrid
         EXPORTING i_parent = v_contnr_bot.
*   Object for display of selection parameters in HTML top container
    CREATE OBJECT v_html
         EXPORTING
           style = 'ALV_GRID'.
*   Must be after the SET HANDLER for TOP_OF_PAGE and foreground only
    CALL METHOD o_alvgrid->list_processing_events
                     EXPORTING i_event_name = 'TOP_OF_PAGE'
                               i_dyndoc_id  = v_html.
    v_text20 = text-020(summary Record counts)Any text.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 120.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text20.
    CALL METHOD v_html->new_line.
** Display Text-016
    v_text16 = text-016.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.
    v_text16 = v_sap_recon.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.
    CALL METHOD v_html->new_line.
* Display the data
    CALL METHOD v_html->display_document
      EXPORTING
         parent             = v_contnr_top.
*   Handle the event
    CALL METHOD o_alvgrid->list_processing_events
                        EXPORTING i_event_name = 'PRINT_TOP_OF_PAGE'.
IN PBO while populating in the output table
FORM f9004_display_data TABLES   p_report_tab
                                 p_fieldcat.
  CALL METHOD o_alvgrid->set_table_for_first_display
    EXPORTING
       is_variant                    = w_variant
       i_save                        = c_a
       is_layout                     = w_layout
    CHANGING
       it_outtab                     = p_report_tab[]
       it_fieldcatalog               = p_fieldcat[]
    EXCEPTIONS
       invalid_parameter_combination = 1
       program_error                 = 2
       too_many_lines                = 3
       OTHERS                        = 4.
  IF sy-subrc <> 0.
    MESSAGE i000 WITH text-e06."Error in ALV report display
    LEAVE LIST-PROCESSING.
  ENDIF.
* Create object
  IF v_event_receiver IS INITIAL.
    CREATE OBJECT v_event_receiver.
  ENDIF.
  SET HANDLER v_event_receiver->handle_print_top_of_page FOR o_alvgrid.
  SET HANDLER v_event_receiver->handle_top_of_page FOR o_alvgrid.

Similar Messages

  • ALV Report with Logo .. Print Out Problem

    Hello Guys..
    I am facing and differerent problem , I have created one Report in ALV contain logo of my company and some other details as per selection screen.
    At the time of taking printoput the logo is not coming in print out only report data is  coming.
    How I take logo and ALV report in one print out .
    Please do the needful.
    Regards
    Swati....

    We Can't take logo of ALV in print out.

  • Alv header logo not displaying in print-preview

    Hi all... I had displayed an ALV report with a header and logo init.  But when I had clicked on print preview ...  every thing is displaying except the logo...  How to overcome this...???

    Hello Kiran,
    <li> We can display LOGO using REUSE_ALV_GRID_DISPLAY only not using REUSE_ALV_LIST_DISPLAY. So when you click on print preview Grid output is displayed as REUSE_ALV_LIST_DISPLAY output. It is confirmed that using ABAP classical or ALV printing LOGO is not possible.
    <li>To print LOGO, you can go for SCRIPTS or SMARTFORMS.
    Thanks
    Venkat.O

  • How to Display Logo in ALV Header?

    Hi
    I want to display/ print my company logo image in ALV Header. Please help me how can I do this?
    Thanks
    Iftikhar Ali
    Islamabad.

    Hi,
    If you are already   having a logo say ZLOGO .
    You can use it this way .
    Give TOP-OF-PAGE
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
    And in top of page do this .
    FORM top-of-page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRIT
      EXPORTING
       IT_LIST_COMMENTARY       = IT_LISTHE
       i_logo                   = 'ZLOGO'
      I_END_OF_LIST_GRID       =
    endform.
    Hope this will work .
    Reward if found useful.
    Regards
    SureshP.

  • Text above an ALV-Grid print-out

    It is possible to set a Text above an ALV-Grid print-out?

    hii
    yes you can print header in ALV & it will come in print out.use following code
    DATA: i_listheader TYPE slis_t_listheader WITH HEADER LINE,
            w_date like sy-datum.
      move:
        'H'   TO i_listheader-typ,
       TO i_listheader-info.
    *    text-021    TO i_listheader-info.
      APPEND i_listheader.
      WRITE sy-datum TO w_date.
      move:
        'S'   TO i_listheader-typ,
        'Execution date'   TO i_listheader-key,
        w_date     TO i_listheader-info.
      APPEND i_listheader.
      MOVE:
      'S'   TO i_listheader-typ,
        'Execution user'   TO i_listheader-key,
        sy-uname   TO i_listheader-info.
      APPEND i_listheader.
      Move:
        'Discription' to i_listheader-key,
        'Tolling Production Variance' to i_listheader-info.
         APPEND i_listheader.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = i_listheader[].
    <REMOVED BY MODERATOR>
    thx
    twinkal
    Edited by: twinkal patel on Jun 12, 2008 2:51 PM
    Edited by: Alvaro Tejada Galindo on Jun 12, 2008 1:33 PM

  • Printing an ALV Report: Header to be printed on first page only

    Hi All,
    I was just wondering if there's a way such that the header of an ALV report appears on the first page only when the report is printed out?
    Thanks for your replies.
    Edited by: Chris Estanislao on Sep 21, 2010 4:22 AM

    Hi Chris,
    Which ALV technique will you use to print out?? (LIST, GRID or something else...).
    Please give us more information.
    Thanks,

  • Logo on left side of ALV Header

    Is it possible to put a logo at left side of ALV Header? if so how?

    Hi this may be of some help. pls check out.
    REPORT YMS_EXCISE MESSAGE-ID E4 NO STANDARD PAGE HEADING LINE-SIZE 350. .
    TABLES : J_1IEXCHDR, " header table
    J_1IEXCDTL, " item table
    J_1IPART2, " Excise Part II details
    LFA1, " vendor master table
    J_1IMOVEND, " vendor excise details table
    MSEG, " Document Segment: Material
    MKPF, " Header: Material Document
    DD07T, " domain text table
    T001W. " Plant and Branch Details
    DATA : BEGIN OF IT_CHDR OCCURS 100,
    DOCNO LIKE J_1IEXCHDR-DOCNO,
    DOCYR LIKE J_1IEXCHDR-DOCYR,
    EXNUM LIKE J_1IEXCHDR-EXNUM,
    EXDAT LIKE J_1IEXCHDR-EXDAT,
    WERKS LIKE J_1IEXCHDR-WERKS,
    EXBED LIKE J_1IEXCHDR-EXBED,
    EXCCD LIKE J_1IEXCHDR-EXCCD,
    ECS LIKE J_1IEXCHDR-ECS,
    END OF IT_CHDR.
    DATA : BEGIN OF IT_CDTL OCCURS 100,
    DOCYR LIKE J_1IEXCDTL-DOCYR,
    DOCNO LIKE J_1IEXCDTL-DOCNO,
    EXNUM LIKE J_1IEXCDTL-EXNUM,
    EXDAT LIKE J_1IEXCDTL-EXDAT,
    LIFNR LIKE J_1IEXCDTL-LIFNR,
    MATNR LIKE J_1IEXCDTL-MATNR,
    MAKTX LIKE J_1IEXCDTL-MAKTX,
    CHAPID LIKE J_1IEXCDTL-CHAPID,
    EXBAS LIKE J_1IEXCDTL-EXBAS,
    EXBED LIKE J_1IEXCDTL-EXBED,
    ECS LIKE J_1IEXCDTL-ECS,
    MENGE LIKE J_1IEXCDTL-MENGE,
    MEINS LIKE J_1IEXCDTL-MEINS,
    RDOC2 LIKE J_1IEXCDTL-RDOC2,
    END OF IT_CDTL.
    DATA TEXT(10).
    DATA : BEGIN OF IT_OUT OCCURS 0,
    SERIALNO LIKE J_1IPART2-SERIALNO,
    TEXT1 LIKE TEXT,
    EXNUM LIKE J_1IEXCDTL-EXNUM,
    EXDAT LIKE J_1IEXCDTL-EXDAT,
    NAME LIKE LFA1-NAME1,
    DDTEXT LIKE DD07T-DDTEXT,
    EXCCD LIKE J_1IEXCHDR-EXCCD,
    BUDAT LIKE MKPF-BUDAT,
    EXBAS LIKE IT_CDTL-EXBAS,
    EXBED LIKE IT_CDTL-EXBED,
    ECS LIKE IT_CDTL-ECS,
    MATNR LIKE IT_CDTL-MATNR,
    MAKTX LIKE IT_CDTL-MAKTX,
    CHAPID LIKE IT_CDTL-CHAPID,
    MENGE LIKE IT_CDTL-MENGE,
    MEINS LIKE IT_CDTL-MEINS,
    DEL_IND(1),
    END OF IT_OUT.
    DATA IT_PART2 LIKE J_1IPART2 OCCURS 0 WITH HEADER LINE.
    DATA S_NO(4) .
    DATA DB_CNT LIKE SY-TABIX.
    DATA EBELN_T LIKE MSEG-EBELN .
    TYPE-POOLS : SLIS.
    DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.
    DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,
    FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    LS_FTCAT TYPE LVC_S_FCAT,
    SORTCAT TYPE SLIS_T_SORTINFO_ALV,
    SORTCAT_LN LIKE LINE OF SORTCAT,
    G_REPID LIKE SY-REPID,
    G_BACK_GROUND(70), "like bapibds01-objkey,
    GS_VARIANT LIKE DISVARIANT,
    G_SAVE ,
    GT_EVENTS TYPE SLIS_T_EVENT,
    ALV_EVENT TYPE SLIS_ALV_EVENT,
    EVENTCAT TYPE SLIS_T_EVENT,
    EVENTCAT_LN LIKE LINE OF EVENTCAT,
    LAYOUT_IN TYPE SLIS_LAYOUT_ALV,
    LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.
    CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
    'TOP_OF_PAGE',
    GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
    'USER_COMMAND',
    GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE
    'BEFORE_OUTPUT'.
    ALV_EVENT TYPE SLIS_ALV_EVENT,
    DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
    DATA REGTYP_1 LIKE J_1IPART2-REGTYP.
    SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.
    PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS.
    SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
    PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
    R2 RADIOBUTTON GROUP GRP.
    SELECTION-SCREEN END OF BLOCK B.
    INITIALIZATION.
    G_REPID = SY-REPID.
    G_SAVE = 'A'.
    PERFORM BUILD_EVENT USING GT_EVENTS[].
    PERFORM ALV_EVENT_INIT.
    AT SELECTION-SCREEN.
    REFRESH LIST_HEADER.
    PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.
    START-OF-SELECTION.
    PERFORM ALV_EVENT_INIT.
    G_REPID = SY-REPID.
    G_BACK_GROUND = ' ' .
    IF R1 = 'X'.
    CLEAR R2. CLEAR : REGTYP_1.
    REGTYP_1 = 'A'.
    set titlebar 'BALAJI' with DB_CNT.
    ELSEIF R2 = 'X'.
    CLEAR R1.CLEAR : REGTYP_1.
    REGTYP_1 = 'C'.
    set titlebar 'BALAJI1' with DB_CNT.
    ENDIF.
    SELECT * FROM J_1IPART2
    INTO CORRESPONDING FIELDS OF TABLE IT_PART2
    WHERE REGTYP = REGTYP_1 AND
    TRNTYP = 'GRPO' AND
    BUDAT IN BUDAT.
    DOCYR = IT_CDTL-DOCYR AND
    DOCNO = IT_CDTL-DOCNO.
    LOOP AT IT_PART2.
    SELECT SINGLE * FROM J_1IEXCHDR
    INTO CORRESPONDING FIELDS OF IT_CHDR
    WHERE TRNTYP = 'GRPO' AND
    DOCYR = IT_PART2-DOCYR AND
    DOCNO = IT_PART2-DOCNO AND
    WERKS = WERKS AND
    exdat IN BUDAT.
    ORDER BY EXDAT.
    IF SY-SUBRC = 0.
    APPEND IT_CHDR.
    ELSE.
    CONTINUE.
    ENDIF.
    IF SY-SUBRC <> 0.
    MESSAGE E084.
    ENDIF.
    ENDLOOP.
    LOOP AT IT_CHDR.
    SELECT * FROM J_1IEXCDTL
    INTO CORRESPONDING FIELDS OF IT_CDTL
    FOR ALL ENTRIES IN IT_CHDR
    WHERE
    TRNTYP = 'GRPO' AND
    DOCNO = IT_CHDR-DOCNO AND
    DOCYR = IT_CHDR-DOCYR AND
    EXNUM = IT_CHDR-EXNUM AND
    EXDAT = IT_CHDR-EXDAT AND
    WERKS = IT_CHDR-WERKS.
    IF SY-SUBRC = 0.
    APPEND IT_CDTL.
    ELSE.
    CONTINUE.
    ENDIF.
    ENDSELECT.
    ENDLOOP.
    LOOP AT IT_CDTL.
    CLEAR TEXT.
    DB_CNT = DB_CNT + 1.
    READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM.
    READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .
    IT_OUT-SERIALNO = IT_PART2-SERIALNO.
    SELECT SINGLE NAME1 FROM LFA1
    INTO IT_OUT-NAME
    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM LFA1
    WHERE LIFNR = IT_CDTL-LIFNR.
    IF LFA1-LAND1 EQ 'IN'.
    TEXT = 'INVOICE'.
    IT_OUT-TEXT1 = TEXT.
    ELSE.
    TEXT = 'BOE'.
    IT_OUT-TEXT1 = TEXT.
    ENDIF.
    SELECT SINGLE * FROM J_1IMOVEND
    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM DD07T
    INTO IT_OUT-DDTEXT
    WHERE DOMNAME = 'J_1IVTYP' AND
    DDLANGUAGE = 'EN' AND
    DOMVALUE_L = J_1IMOVEND-J_1IVTYP.
    IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'
    OR
    DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.
    DD07T-DDTEXT = 'Dealer'.
    ENDIF.
    IT_OUT-DDTEXT = DD07T-DDTEXT.
    ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable
    *goods'.
    DD07T-DDTEXT =
    CLEAR EBELN_T.
    SELECT SINGLE LFBNR FROM MSEG
    INTO EBELN_T
    WHERE MBLNR = IT_CDTL-RDOC2 .
    SELECT SINGLE * FROM MSEG
    WHERE BWART = '106' AND
    LFBNR = EBELN_T ."and
    ebeln = ebeln_t.
    IF SY-SUBRC = 0.
    IT_OUT-DEL_IND = 'X'.
    ELSE.
    IT_OUT-DEL_IND = ' '.
    ENDIF.
    SELECT SINGLE BUDAT FROM MKPF
    INTO IT_OUT-BUDAT
    WHERE MBLNR = EBELN_T ."MSEG-LFBNR.
    IT_OUT-EXNUM = IT_CDTL-EXNUM.
    IT_OUT-EXDAT = IT_CDTL-EXDAT.
    IT_OUT-EXCCD = IT_CHDR-EXCCD.
    IT_OUT-EXBAS = IT_CDTL-EXBAS.
    IT_OUT-EXBED = IT_CDTL-EXBED.
    IT_OUT-ECS = IT_CDTL-ECS.
    IT_OUT-MATNR = IT_CDTL-MATNR.
    IT_OUT-MAKTX = IT_CDTL-MAKTX.
    IT_OUT-CHAPID = IT_CDTL-CHAPID.
    IT_OUT-MENGE = IT_CDTL-MENGE.
    IT_OUT-MEINS = IT_CDTL-MEINS.
    APPEND IT_OUT.
    EX_NO = IT_CDTL-EXNUM.
    ENDLOOP.
    Title Portion
    IF REGTYP_1 = 'A'.
    SET TITLEBAR 'BALAJI' WITH DB_CNT.
    ELSEIF REGTYP_1 = 'C'.
    SET TITLEBAR 'BALAJI1' WITH DB_CNT.
    ENDIF.
    AFIELD-COL_POS = 1.
    AFIELD-FIELDNAME = 'SERIALNO'.
    AFIELD-SELTEXT_L = 'INPUTS'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 2.
    AFIELD-FIELDNAME = 'TEXT1'.
    AFIELD-SELTEXT_L = 'TYPE OF DOC'.
    AFIELD-JUST = 'L'.
    AFIELD-DECIMALS_OUT = '0'.
    AFIELD-NO_ZERO = 'X'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 3.
    AFIELD-FIELDNAME = 'EXNUM'.
    AFIELD-SELTEXT_L = 'DOC.NO'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 4.
    AFIELD-FIELDNAME = 'EXDAT'.
    AFIELD-SELTEXT_L = 'DOC.DATE'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 5.
    AFIELD-FIELDNAME = 'NAME'.
    AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
    AFIELD-NO_ZERO = 'X'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 6.
    AFIELD-FIELDNAME = 'DDTEXT'.
    AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 7.
    AFIELD-FIELDNAME = 'EXCCD'.
    AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
    AFIELD-NO_ZERO = 'X'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 8.
    AFIELD-FIELDNAME = 'BUDAT'.
    AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 9.
    AFIELD-FIELDNAME = 'EXBAS'.
    AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
    AFIELD-DO_SUM = 'X'.
    AFIELD-JUST = 'R'.
    AFIELD-DECIMALS_OUT = '2'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 10.
    AFIELD-FIELDNAME = 'EXBED'.
    AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
    AFIELD-JUST = 'R'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 11.
    AFIELD-FIELDNAME = 'ECS'.
    AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
    AFIELD-JUST = 'R'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 12.
    AFIELD-FIELDNAME = 'MATNR'.
    AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 13.
    AFIELD-FIELDNAME = 'MAKTX'.
    AFIELD-SELTEXT_L = 'DESCRIPTION'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 14.
    AFIELD-FIELDNAME = 'CHAPID'.
    AFIELD-SELTEXT_L = 'TARIFF-ID'.
    AFIELD-JUST = 'L'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 15.
    AFIELD-FIELDNAME = 'MENGE'.
    AFIELD-SELTEXT_L = 'QUANTITY'.
    AFIELD-JUST = 'R'.
    AFIELD-DO_SUM = ' '.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 16.
    AFIELD-FIELDNAME = 'MEINS'.
    AFIELD-SELTEXT_L = 'UOM'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    AFIELD-COL_POS = 17.
    AFIELD-FIELDNAME = 'DEL_IND'.
    AFIELD-SELTEXT_L = 'Deleted'.
    AFIELD-JUST = 'C'.
    APPEND AFIELD TO FIELDCAT.
    * LAYOUT FOR ZEBRA CATLOG
    LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
    LAYOUT_IN-ZEBRA = 'X'.
    LAYOUT_IN-GET_SELINFOS = 'X'.
    LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
    LAYOUT_IN-DETAIL_POPUP = 'X' .
    SORTCAT-decimals = '0'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = G_REPID
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    I_SAVE = G_SAVE
    IS_VARIANT = GS_VARIANT
    IT_FIELDCAT = FIELDCAT
    IT_SORT = SORTCAT
    IS_LAYOUT = LAYOUT_IN
    IT_EVENTS = EVENTCAT
    I_BACKGROUND_ID = g_back_ground
    TABLES
    T_OUTTAB = IT_OUT.
    *& Form TOP_OF_PAGE_LIST_HEADER
    text
    -->LIST_HEADERtext
    FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.
    DATA : HLINE TYPE SLIS_LISTHEADER,
    TEXT(60) TYPE C.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'ROOTS INDUSTRIES LTD' TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'PLANT :' TO TEXT.
    WRITE WERKS TO TEXT+8.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-NAME1 TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-STRAS TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE T001W-ORT01 TO TEXT.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    CLEAR : HLINE,TEXT.
    HLINE-TYP = 'H'.
    WRITE 'DATE :' TO TEXT.
    WRITE BUDAT-LOW TO TEXT+7.
    IF BUDAT-HIGH NE ''.
    WRITE 'TO' TO TEXT+18.
    WRITE BUDAT-HIGH TO TEXT+22.
    ENDIF.
    HLINE-INFO = TEXT.
    APPEND HLINE TO LIST_HEADER.
    ENDFORM. "TOP_OF_PAGE_LIST_HEADER
    *& Form ALV_EVENT_INIT
    text
    FORM ALV_EVENT_INIT .
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
    ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
    APPEND ALV_EVENT TO EVENTCAT.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
    ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
    APPEND ALV_EVENT TO EVENTCAT.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.
    ALV_EVENT-FORM = 'ALV_END_OF_LIST'.
    APPEND ALV_EVENT TO GT_EVENTS.
    CLEAR ALV_EVENT.
    ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.
    ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.
    APPEND ALV_EVENT TO GT_EVENTS.
    ENDFORM. "ALV_EVENT_INIT
    *& Form ALV_TOP_OF_PAGE
    text
    FORM ALV_TOP_OF_PAGE.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = LIST_HEADER
    I_LOGO = 'ENJOYSAP_LOGO'.
    ENDFORM. "ALV_TOP_OF_PAGE
    *& Form BUILD_EVENT
    text
    -->P_GT_EVENTS[] text
    FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = P_EVENTS
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2.
    READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
    ALV_EVENT.
    IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
    ENDIF.
    READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO
    ALV_EVENT.
    IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
    ENDIF.
    ENDFORM. " BUILD_EVENT
    with regards,
    Hema Sundara.
    pls give points if helpful.

  • Header and Logo in Blocked ALV

    Is It possible to put header and logo in Blocked ALV Report.
    Is yes shall I go with the same way we put the Header and Logo in ALV Grid report.
    Thanks in Advance.

    Hi,
    You can put the haeder and logo  same like we have used to do in classical ALV's....
    sample code snippet..
    REPORT  ZALV_BLOCKEDALV .
    *provide tables
    TABLES: MARA, MAKT, MARD.
    *provide type-pools
    TYPE-POOLS: SLIS.
    *provide select-options
    SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
    *provide data objects
    DATA: V_REPID TYPE SY-REPID,
          WA_MARA_FIELD TYPE SLIS_FIELDCAT_ALV,       "it is for field catalog
          WA_MAKT_FIELD TYPE SLIS_FIELDCAT_ALV,
          WA_MARD_FIELD TYPE SLIS_FIELDCAT_ALV,
          WA_MARA TYPE MARA,
          WA_MAKT TYPE MAKT,
          WA_MARD TYPE MARD,      IT_MARA_FIELD TYPE SLIS_T_FIELDCAT_ALV,
          IT_MAKT_FIELD TYPE SLIS_T_FIELDCAT_ALV,
          IT_MARD_FIELD TYPE SLIS_T_FIELDCAT_ALV,
          IT_MARA TYPE TABLE OF MARA,
          IT_MAKT TYPE TABLE OF MAKT,
          IT_MARD TYPE TABLE OF MARD,      V_LAYOUT TYPE SLIS_LAYOUT_ALV,
          IT_EVENTS TYPE SLIS_T_EVENT,            "it is for events
          WA_EVENTS TYPE SLIS_ALV_EVENT.V_REPID = SY-REPID.
    *provide field catalog perform
    PERFORM FIELD_CAT.
    *call the initial function module
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
      EXPORTING
        I_CALLBACK_PROGRAM             = V_REPID
    *   I_CALLBACK_PF_STATUS_SET       = ' '
    *   I_CALLBACK_USER_COMMAND        = ' '
    *   IT_EXCLUDING                   =
    *provide perform for select the data
    PERFORM SELECT_DATA.
    *call mara append list
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
        IS_LAYOUT                        = V_LAYOUT
        IT_FIELDCAT                      = IT_MARA_FIELD[]
        I_TABNAME                        = 'MARA'
        IT_EVENTS                        = IT_EVENTS[]
    *   IT_SORT                          =
    *   I_TEXT                           = ' '
      TABLES
        T_OUTTAB                         = IT_MARA
    EXCEPTIONS
       PROGRAM_ERROR                    = 1
       MAXIMUM_OF_APPENDS_REACHED       = 2
       OTHERS                           = 3.
    *call makt append list
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
        IS_LAYOUT                        = V_LAYOUT
        IT_FIELDCAT                      = IT_MAKT_FIELD
        I_TABNAME                        = 'MAKT'
        IT_EVENTS                        = IT_EVENTS
    *   IT_SORT                          =
    *   I_TEXT                           = ' '
      TABLES
        T_OUTTAB                         = IT_MAKT
    EXCEPTIONS
       PROGRAM_ERROR                    = 1
       MAXIMUM_OF_APPENDS_REACHED       = 2
       OTHERS                           = 3.
    *call mard append list
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
        IS_LAYOUT                        = V_LAYOUT
        IT_FIELDCAT                      = IT_MARD_FIELD
        I_TABNAME                        = 'MARD'
        IT_EVENTS                        = IT_EVENTS
    *   IT_SORT                          =
    *   I_TEXT                           = ' '
      TABLES
        T_OUTTAB                         = IT_MARD
    EXCEPTIONS
       PROGRAM_ERROR                    = 1
       MAXIMUM_OF_APPENDS_REACHED       = 2
       OTHERS                           = 3.
    *display the data
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    * EXPORTING
    *   I_INTERFACE_CHECK             = ' '
    *   IS_PRINT                      =
    *   I_SCREEN_START_COLUMN         = 0
    *   I_SCREEN_START_LINE           = 0
    *   I_SCREEN_END_COLUMN           = 0
    *   I_SCREEN_END_LINE             = 0
    * IMPORTING
    *   E_EXIT_CAUSED_BY_CALLER       =
    *   ES_EXIT_CAUSED_BY_USER        =
    * EXCEPTIONS
    *   PROGRAM_ERROR                 = 1
    *   OTHERS                        = 2.
    *&      Form  TOP_PAGE
    *       text
    FORM TOP_PAGE.  WRITE:/ 'THIS IS BLOCKED ALV REPORT PROGRAM BASED ON 3 BLOCKS' COLOR
    5.ENDFORM.                    "TOP_PAGE
    *&      Form  FIELD_CAT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM FIELD_CAT .WA_MARA_FIELD-COL_POS = 1.
    WA_MARA_FIELD-FIELDNAME = 'MATNR'.
    WA_MARA_FIELD-REF_TABNAME = 'MARA'.
    APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
    CLEAR WA_MARA_FIELD.WA_MARA_FIELD-COL_POS = 2.
    WA_MARA_FIELD-FIELDNAME = 'ERSDA'.
    WA_MARA_FIELD-REF_TABNAME = 'MARA'.
    APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
    CLEAR WA_MARA_FIELD.WA_MARA_FIELD-COL_POS = 3.
    WA_MARA_FIELD-FIELDNAME = 'ERNAM'.
    WA_MARA_FIELD-REF_TABNAME = 'MARA'.
    APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
    CLEAR WA_MARA_FIELD.WA_MARA_FIELD-COL_POS = 4.
    WA_MARA_FIELD-FIELDNAME = 'LAEDA'.
    WA_MARA_FIELD-REF_TABNAME = 'MARA'.
    APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
    CLEAR WA_MARA_FIELD.WA_MAKT_FIELD-COL_POS = '1'.
    WA_MAKT_FIELD-FIELDNAME = 'MATNR'.
    WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
    APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
    CLEAR WA_MAKT_FIELD.WA_MAKT_FIELD-COL_POS = 2.
    WA_MAKT_FIELD-FIELDNAME = 'MAKTX'.
    WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
    APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
    CLEAR WA_MAKT_FIELD.WA_MAKT_FIELD-COL_POS = 3.
    WA_MAKT_FIELD-FIELDNAME = 'MAKTG'.
    WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
    APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
    CLEAR WA_MAKT_FIELD.WA_MARD_FIELD-COL_POS = 1.
    WA_MARD_FIELD-FIELDNAME = 'MATNR'.
    WA_MARD_FIELD-REF_TABNAME = 'MARD'.
    APPEND WA_MARD_FIELD TO IT_MARD_FIELD.
    CLEAR WA_MARD_FIELD.WA_MARD_FIELD-COL_POS = 2.
    WA_MARD_FIELD-FIELDNAME = 'WERKS'.
    WA_MARD_FIELD-REF_TABNAME = 'MARD'.
    APPEND WA_MARD_FIELD TO IT_MARD_FIELD.
    CLEAR WA_MARD_FIELD.WA_MARD_FIELD-COL_POS = 3.
    WA_MARD_FIELD-FIELDNAME = 'LGORT'.
    WA_MARD_FIELD-REF_TABNAME = 'MARD'.
    APPEND WA_MARD_FIELD TO IT_MARD_FIELD.
    CLEAR WA_MARD_FIELD.WA_EVENTS-FORM = 'TOP_PAGE'.
    WA_EVENTS-NAME = 'TOP_OF_PAGE'.
    APPEND WA_EVENTS TO IT_EVENTS.ENDFORM.                    " FIELD_CAT
    *&      Form  SELECT_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM SELECT_DATA .SELECT *
    FROM MARA
    INTO TABLE IT_MARA
    WHERE MATNR IN S_MATNR.SELECT *
    FROM MAKT
    INTO TABLE IT_MAKT
    WHERE MATNR IN S_MATNR.SELECT *
    FROM MARD
    INTO TABLE IT_MARD
    WHERE MATNR IN S_MATNR.ENDFORM.                    " SELECT_DATA
    hope  this will help you
    regards,
    kiran
    Edited by: kiran  kumar on Aug 23, 2010 1:43 PM

  • Problem in Print Out of ALV report

    Dear All..
    I am trying to take print out of an ALV report. there are 36 columns in my report. when i try to take print out, warning appears which says system cannot print the last 277 columns of report.
    i have tried using different formats for printer like :
    Format                  Description
    X_PAPER                 ABAP/4 list: Default list formatting
    X_SPOOLERR          ABAP list: Spooler problem report
    ZX_65_284               65 Rows and 285 Columns
    X_65_255                ABAP/4 list: At least 65 rows with a maximum number of c
    X_65_200                ABAP list: at least 65 lines with 200 columns (not for a
    X_58_170                ABAP/4 list: At least 58 rows by 170 columns
    X_65_132                ABAP list: At least 65 rows by 132 columns
    X_90_120                ABAP list: At least 90 rows by 120 columns
    X_44_120                ABAP/4 list: At least 44 rows by 120 columns
    X_65_80                 ABAP/4 list: At least 65 rows by 80 columns
    but every time the same message appears even on A3 size paper..
    i am using REUSE_ALV_GRID_DISPLAY to display ALV.
    Please help to to take out prints(can be in condensed mode) so that all columns appear on the print out..

    HI sujeet,
    Thanks for ur response. i had already checked the printer settings.. i think there is no problem with this. Can u Please suggest something else. thanks
    Hiii jyojit..
    Thanks for reply. I had already checked the said check box in spool admin. but the problem still exists. Please suggest something to get rid of the problem.

  • Alv report Print out Problem

    Hi Experts,
       I am having problem while taking print out of Alv report format. In that report, 1 column contains  Unit  Values.
    Eg.  Unit value - 'LE' , AFTER USING CONVERSION EXIT LOGIC it is converted into 'AU'  which is finally displayed in the Alv -Report display format. 
    while taking Print-out of that report , that field Unit Value 'AU' is Shown in this format  "****'.
    Please give me your Valuable Suggestions.
    Thanks and Regards
    BalaNarasimman M

    while defining filed catalog define the data type also
      clear l_fieldcat.
      l_fieldcat-fieldname  = 'MEINS'.
      l_fieldcat-datatype = 'UNIT'.
    l_fieldcat-no_out     = ' '.
      l_fieldcat-do_sum = 'X'.
      l_fieldcat-seltext_l  = 'UOM'.
      append l_fieldcat to p_fieldtab.
    may be it would help.
    anya

  • ALV report Print out.

    Hi,
    I have developed a ALV report .
    I also want to take the print out of this report.
    How can i do this.

    Hi,
    Refer this code
    DATA : wa_variant  TYPE disvariant,       "Work area for variant
           wa_variant1 TYPE disvariant,       "Work area for variant
           wa_layout   TYPE slis_layout_alv,  "Work area for layout
           wa_print    TYPE slis_print_alv,   "Work area for print
    *&      Form  sub_alv_display                                          *
    This form displays the output using REUSE_ALV_GRID_DISPLAY          *
    function module                                                     *
    FORM sub_alv_display .
    *--Local Internal Table
      DATA : li_sort  TYPE slis_t_sortinfo_alv.
    *--Define print list
      wa_print-no_print_listinfos = c_chk.
      wa_print-no_coverpage = c_chk.
    *--If the No zero stock lines is checked in the selection screen
      IF  p_sline IS NOT INITIAL.
        DELETE i_final WHERE einme = c_zero.
      ENDIF.
      IF NOT i_final[] IS INITIAL.
    *--Call the function module to display the ALV report
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            i_callback_program = v_repid
            is_layout          = wa_layout
            it_fieldcat        = i_fieldcat
            i_default          = c_chk
            i_save             = c_save
            is_variant         = wa_variant
            it_events          = i_events
            is_print           = wa_print
            it_sort            = li_sort
          TABLES
            t_outtab           = i_final
          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.
      ELSE.
    *--No data found for the given selection criteria.
        MESSAGE i001.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                                  "sub_alv_display
    Regards,
    Prashant

  • Re: Increasing Column Header Length While Printing in ALV Grid

    Hi
    For some column headers in a report, the translations in Turkey are more than 40 characters, because of which while executing the report in TR language, the column header is getting truncated.
    So, I would like to know if we can increase the column header length while printing the ALV Grid(OO ALV) output.
    Or else, Is there any way where we can divide the column header into 2 rows.
    Please let me know.
    Thanks and Regards,
    Vishwa.

    Jose and Sivaram,
    Thanks for replying.
    The problem we have is with the column headers, there is a limit of 40 characters for the column header in ALV reports. So, increasing the outputlen also did not help.
    Regards,
    Vishwa.

  • Problem in print out of Dynamic ALV

    Hi ,
    I am using dynamic ALV to address a requirement. The ALV is working fine and the output is also coming corretly, even in spool.
    But if the width of dynamic table exceeds a limit, then nothing is coming in the print out.
    If anyone has faced similar problem or knows how to tackle this problem, please advise what can be done here.
    Thanks,
    Sonal

    Hi,
    Can you try to increase field with to maximun as per your requirement.
    Regards,
    Sai

  • My Epson photo 1280 will only print 1/2 of a page from a document in Pages program. First print was fine. Have printed out a Mac templet and printer does same thing. Cleaned heads, checked nozzels etc. Any ideas?

    My Epson photo 1280 will only print 1/2 of a page from a document in Pages program. First print was fine. Have printed out a Mac templet and printer does same thing. Cleaned heads, checked nozzels etc. Any ideas?

    Hello, I have exactly the same problem. I could have written the same text. And I have'nt found solutions. Except, perhaps, change this printer (and quit HP?).
    Any suggestions would be really much appreciated.
    Thank you for your possible responses.

  • Leading zero was lost in spool when ALV print out

    When run a ALV report and print out in background job,the leading zero is lost
    e.g.: vendor (type c)
          0000000001
            In spool:   1..
    How to show the leading zero when printing out ?
    Thanks  in advance

    hi,
    You can use FM
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
             input         =
         IMPORTING
           OUTPUT        =
    where input parameter and output parameter would be ths vendor(the field you want with zeros)
    Hope this will help you.
    thanks
    Tanmaya Gupta

Maybe you are looking for