Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV LOGO ISSUE

0 Likes
853

Dear Guru,

I've created a alv report and in this i want to show logo on top of page..I am using the fm:-

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'...

When i run this report and go to debugger mode,program does not call that fm..The code is given below..

*&---------------------------------------------------------------------*

*& Report  ZTEST_29

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZTEST_29.

TABLES SSCRFIELDS.

INITIALIZATION.

TYPES: BEGIN OF TY_ZGBAK,

       ZVBELN TYPE CHAR10,

       ZAUART TYPE CHAR4,

END OF TY_ZGBAK.

DATA: IT_ZGBAK TYPE STANDARD TABLE OF ZGBAK,

      WA_ZGBAK TYPE TY_ZGBAK.

TYPE-POOLS: SLIS.

DATA:     GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

          GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

          T_EVENTS TYPE SLIS_ALV_EVENT,

          W_EVENTS TYPE SLIS_ALV_EVENT,

          I_EVENTS TYPE STANDARD TABLE OF SLIS_ALV_EVENT,

          GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

    DATA: GV_TABIX TYPE SY-TABIX,

          GV_TKNUM TYPE TKNUM,

          GV_EQUNR TYPE EQUNR,

          GV_POS TYPE I,

          GV_PRCTR_OLD TYPE PRCTR,

          GV_PRCTR40 TYPE CHAR40.

    RANGES: r_fkpty FOR vfkp-fkpty,

            r_equnr FOR equi-equnr.

* START B1------------->

    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

    PARAMETERS:       P_ZVBELN TYPE TY_ZGBAK-ZVBELN,

                      P_ZAUART TYPE TY_ZGBAK-ZAUART.

    SELECTION-SCREEN: END OF BLOCK B1.

* END B1--------------->

* START B2------------->

    SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

    PARAMETERS:       SAVE RADIOBUTTON GROUP R1 USER-COMMAND FLAG,

                      CLEAR RADIOBUTTON GROUP R1.

    SELECTION-SCREEN: END OF BLOCK B2.

* END B2--------------->

    AT SELECTION-SCREEN ON P_ZVBELN.

      IF P_ZVBELN IS INITIAL.

        MESSAGE 'PLEASE ENTER VALID SALES DOCUMENT NUMBER....' TYPE 'E'.

      ENDIF.

*****      IF ZAUART IS INITIAL.

*****        MESSAGE 'PLEASE ENTER VALID SALES DOCUMENT TYPE.....' TYPE 'E'.

*****      ENDIF.

      AT SELECTION-SCREEN OUTPUT.

        PERFORM FETCH_DATA.

     START-OF-SELECTION.

        PERFORM FILL_OUTPUT.

     END-OF-SELECTION.

  PERFORM build_fieldcatalog.

  PERFORM BUILD_EVENTS.

  PERFORM build_layout.

  PERFORM display_alv_report.

    FORM FETCH_DATA.

      WA_ZGBAK-ZVBELN = P_ZVBELN.

      WA_ZGBAK-ZAUART = P_ZAUART.

     APPEND WA_ZGBAK TO IT_ZGBAK.

     CLEAR WA_ZGBAK.

ENDFORM.

FORM fill_OUTPUT .

  WRITE : WA_ZGBAK-ZVBELN.

ENDFORM.

FORM build_fieldcatalog .

  PERFORM fcat USING 'ZVBELN' 'SALES DOCU.NO.' '' '' ''   .

  PERFORM fcat USING 'ZAUART' 'DOCUMENT TYPE' '' '' ''  .

ENDFORM.

FORM TOP_OF_PAGE.

  DATA :I_HEADER TYPE SLIS_T_LISTHEADER,

        W_HEADER LIKE LINE OF I_HEADER.

  W_HEADER-TYP = 'S'.

  W_HEADER-INFO = SY-TITLE.

  APPEND W_HEADER TO I_HEADER.

  CLEAR W_HEADER.

  W_HEADER-TYP = 'H'.

  W_HEADER-INFO = SY-REPID.

  APPEND W_HEADER TO I_HEADER.

  CLEAR W_HEADER.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  EXPORTING

    IT_LIST_COMMENTARY       = I_HEADER

    I_LOGO                   = 'logo_test'.

*   I_END_OF_LIST_GRID       =

*   I_ALV_FORM               =

ENDFORM.

FORM fcat  USING    value(p_field)

                    value(p_text)

                    value(p_outlen)

                    value(p_key)

                    value(p_emphasize).

*                    value(p_dosum).

  ADD 1 TO gv_pos.

  gs_fieldcat-col_pos = gv_pos.

  gs_fieldcat-fieldname = p_field.

  gs_fieldcat-seltext_l = p_text.

  gs_fieldcat-key = p_key.

  gs_fieldcat-emphasize = p_emphasize.

*gs_fieldcat-do_sum = p_dosum.

  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.

ENDFORM.                    " FCAT

*&---------------------------------------------------------------------*

*&      Form  BUILD_LAYOUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM build_layout .

*  gs_layout-get_selinfos = 'X'.

  gs_layout-colwidth_optimize = 'X'.

*  gs_layout-detail_popup = 'X'.

*  gs_layout-no_keyfix = 'X'.

  gs_layout-zebra = 'X'.

*  gs_layout-cell_merge = 'X'.

*  gs_layout-key_hotspot = 'X'.

  gs_layout-info_fieldname    = 'LINE_COLOR'.

ENDFORM.                    " BUILD_LAYOUT

*&---------------------------------------------------------------------*

*&      Form  DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM display_alv_report .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program       = sy-repid

*     I_CALLBACK_PF_STATUS_SET = ''

*     I_CALLBACK_USER_COMMAND  = ''

*     I_CALLBACK_TOP_OF_PAGE   = ' '

*     I_STRUCTURE_NAME         =

*     I_GRID_TITLE             =

*     I_GRID_SETTINGS          =

      IT_EVENTS          = I_EVENTS

      is_layout                = gs_layout

      it_fieldcat              = gt_fieldcat

      i_save                   = 'A'

    TABLES

      t_outtab                 = it_ZGBAK

    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.                    " DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*&      Form  BUILD_EVENTS

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM build_events .

CLEAR :

  W_EVENTS,I_EVENTS[].

  W_EVENTS-NAME = 'TOP_OF_PAGE'.

  W_EVENTS-FORM = 'TOP_OF_PAGE'.

  APPEND W_EVENTS TO I_EVENTS.

  CLEAR W_EVENTS.

ENDFORM.

Dear Guru,

I've created a alv report and in this i want to show logo on top of page..I am using the fm:-

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'...

When i run this report and go to debugger mode,program does not call that fm..The code is given below..

*&---------------------------------------------------------------------*

*& Report  ZTEST_29

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZTEST_29.

TABLES SSCRFIELDS.

INITIALIZATION.

TYPES: BEGIN OF TY_ZGBAK,

       ZVBELN TYPE CHAR10,

       ZAUART TYPE CHAR4,

END OF TY_ZGBAK.

DATA: IT_ZGBAK TYPE STANDARD TABLE OF ZGBAK,

      WA_ZGBAK TYPE TY_ZGBAK.

TYPE-POOLS: SLIS.

DATA:     GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

          GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

          T_EVENTS TYPE SLIS_ALV_EVENT,

          W_EVENTS TYPE SLIS_ALV_EVENT,

          I_EVENTS TYPE STANDARD TABLE OF SLIS_ALV_EVENT,

          GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

    DATA: GV_TABIX TYPE SY-TABIX,

          GV_TKNUM TYPE TKNUM,

          GV_EQUNR TYPE EQUNR,

          GV_POS TYPE I,

          GV_PRCTR_OLD TYPE PRCTR,

          GV_PRCTR40 TYPE CHAR40.

    RANGES: r_fkpty FOR vfkp-fkpty,

            r_equnr FOR equi-equnr.

* START B1------------->

    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

    PARAMETERS:       P_ZVBELN TYPE TY_ZGBAK-ZVBELN,

                      P_ZAUART TYPE TY_ZGBAK-ZAUART.

    SELECTION-SCREEN: END OF BLOCK B1.

* END B1--------------->

* START B2------------->

    SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

    PARAMETERS:       SAVE RADIOBUTTON GROUP R1 USER-COMMAND FLAG,

                      CLEAR RADIOBUTTON GROUP R1.

    SELECTION-SCREEN: END OF BLOCK B2.

* END B2--------------->

    AT SELECTION-SCREEN ON P_ZVBELN.

      IF P_ZVBELN IS INITIAL.

        MESSAGE 'PLEASE ENTER VALID SALES DOCUMENT NUMBER....' TYPE 'E'.

      ENDIF.

*****      IF ZAUART IS INITIAL.

*****        MESSAGE 'PLEASE ENTER VALID SALES DOCUMENT TYPE.....' TYPE 'E'.

*****      ENDIF.

      AT SELECTION-SCREEN OUTPUT.

        PERFORM FETCH_DATA.

     START-OF-SELECTION.

        PERFORM FILL_OUTPUT.

     END-OF-SELECTION.

  PERFORM build_fieldcatalog.

  PERFORM BUILD_EVENTS.

  PERFORM build_layout.

  PERFORM display_alv_report.

    FORM FETCH_DATA.

      WA_ZGBAK-ZVBELN = P_ZVBELN.

      WA_ZGBAK-ZAUART = P_ZAUART.

     APPEND WA_ZGBAK TO IT_ZGBAK.

     CLEAR WA_ZGBAK.

ENDFORM.

FORM fill_OUTPUT .

  WRITE : WA_ZGBAK-ZVBELN.

ENDFORM.

FORM build_fieldcatalog .

  PERFORM fcat USING 'ZVBELN' 'SALES DOCU.NO.' '' '' ''   .

  PERFORM fcat USING 'ZAUART' 'DOCUMENT TYPE' '' '' ''  .

ENDFORM.

FORM TOP_OF_PAGE.

  DATA :I_HEADER TYPE SLIS_T_LISTHEADER,

        W_HEADER LIKE LINE OF I_HEADER.

  W_HEADER-TYP = 'S'.

  W_HEADER-INFO = SY-TITLE.

  APPEND W_HEADER TO I_HEADER.

  CLEAR W_HEADER.

  W_HEADER-TYP = 'H'.

  W_HEADER-INFO = SY-REPID.

  APPEND W_HEADER TO I_HEADER.

  CLEAR W_HEADER.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  EXPORTING

    IT_LIST_COMMENTARY       = I_HEADER

    I_LOGO                   = 'logo_test'.

*   I_END_OF_LIST_GRID       =

*   I_ALV_FORM               =

ENDFORM.

FORM fcat  USING    value(p_field)

                    value(p_text)

                    value(p_outlen)

                    value(p_key)

                    value(p_emphasize).

*                    value(p_dosum).

  ADD 1 TO gv_pos.

  gs_fieldcat-col_pos = gv_pos.

  gs_fieldcat-fieldname = p_field.

  gs_fieldcat-seltext_l = p_text.

  gs_fieldcat-key = p_key.

  gs_fieldcat-emphasize = p_emphasize.

*gs_fieldcat-do_sum = p_dosum.

  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.

ENDFORM.                    " FCAT

*&---------------------------------------------------------------------*

*&      Form  BUILD_LAYOUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM build_layout .

*  gs_layout-get_selinfos = 'X'.

  gs_layout-colwidth_optimize = 'X'.

*  gs_layout-detail_popup = 'X'.

*  gs_layout-no_keyfix = 'X'.

  gs_layout-zebra = 'X'.

*  gs_layout-cell_merge = 'X'.

*  gs_layout-key_hotspot = 'X'.

  gs_layout-info_fieldname    = 'LINE_COLOR'.

ENDFORM.                    " BUILD_LAYOUT

*&---------------------------------------------------------------------*

*&      Form  DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM display_alv_report .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program       = sy-repid

*     I_CALLBACK_PF_STATUS_SET = ''

*     I_CALLBACK_USER_COMMAND  = ''

*     I_CALLBACK_TOP_OF_PAGE   = ' '

*     I_STRUCTURE_NAME         =

*     I_GRID_TITLE             =

*     I_GRID_SETTINGS          =

      IT_EVENTS          = I_EVENTS

      is_layout                = gs_layout

      it_fieldcat              = gt_fieldcat

      i_save                   = 'A'

    TABLES

      t_outtab                 = it_ZGBAK

    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.                    " DISPLAY_ALV_REPORT

*&---------------------------------------------------------------------*

*&      Form  BUILD_EVENTS

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM build_events .

CLEAR :

  W_EVENTS,I_EVENTS[].

  W_EVENTS-NAME = 'TOP_OF_PAGE'.

  W_EVENTS-FORM = 'TOP_OF_PAGE'.

  APPEND W_EVENTS TO I_EVENTS.

  CLEAR W_EVENTS.

ENDFORM.

4 REPLIES 4
Read only

ashraf_usmani
Participant
0 Likes
809

Hi

You Have to pass i_callback_top_of_page = top-of-page

PFB Code:

FORM top-of-page.
*************************
**************************ALV Header declarations
DATA: t_header TYPE slis_t_listheader,
wa_header
TYPE slis_listheader,


CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header
i_logo             =
'LOGO'.

And Recheck that you have succesfully uploaded your logo.


Regards

Ashraf Usmani


Read only

krishna_k19
Contributor
0 Likes
809

Hi Arya,

    In Reuse alv FM you have to pass the value for the below parameter


I_callback_top_of_page = 'TOP_OF_PAGE'.

This 'TOP_OF_PAGE' form you implemented.

Just try this one.

Regards,

Krishna

Read only

0 Likes
809

Thanks...It works

Read only

0 Likes
809

Hi Arya,

    If your question is answered make it correct .

Regards,

Krishna