Application Development 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: 

heading in alv grid display

Former Member
0 Kudos

HI,

in the below code when i give    I_CALLBACK_TOP_OF_PAGE   = 'TOP_OF_PAGE ' ,heading is coming in list.but,when i populate the it_events table and pass it to grid display,heading is not displaying in list.

below is the code ,where i commented the i_callback_top_of_page ,and passed the it_events.

REPORT  ZPH_REP_ALV.



TYPE-POOLS: SLIS .

DATA : IT_EVENTS TYPE  slis_t_event ,

      WA_EVENTS TYPE slis_alv_event ,

      IT_EKKO TYPE TABLE OF EKKO ,

      WA_EKKO LIKE LINE OF IT_EKKO ,

      IT_CSKS TYPE TABLE OF CSKS ,

      WA_CSKS LIKE LINE OF IT_CSKS ,

      IT_EKPO TYPE TABLE OF EKPO ,

      WA_EKPO LIKE LINE OF IT_EKPO ,

      IT_T001 TYPE STANDARD TABLE OF T001 ,

      WA_T001 LIKE LINE OF IT_T001 ,

      IT_FIELDCAT TYPE TABLE OF slis_t_fieldcat_alv ,

      LIST_LAYOUT TYPE slis_layout_alv .


START-OF-SELECTION .

SELECT * FROM CSKS INTO TABLE IT_CSKS UP TO 30 ROWS .


  PERFORM FILL_EVENT_TABLE .

END-OF-SELECTION .


PERFORM DISPLAY_DATA .

*PERFORM PREPARE_HEADER .



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

*&      Form  DISPLAY_DATA

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form DISPLAY_DATA .



CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

*   I_INTERFACE_CHECK                 = ' '

*   I_BYPASSING_BUFFER                = ' '

*   I_BUFFER_ACTIVE                   = ' '

   I_CALLBACK_PROGRAM                = SY-CPROG

*   I_CALLBACK_PF_STATUS_SET          = ' '

*   I_CALLBACK_USER_COMMAND           = ' '

*   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE '

*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '

*   I_CALLBACK_HTML_END_OF_LIST       = ' '

   I_STRUCTURE_NAME                  = 'CSKS'

*   I_BACKGROUND_ID                   = ' '

*   I_GRID_TITLE                      =

*   I_GRID_SETTINGS                   =

*   IS_LAYOUT                         =

*   IT_FIELDCAT                       =

*   IT_EXCLUDING                      =

*   IT_SPECIAL_GROUPS                 =

*   IT_SORT                           =

*   IT_FILTER                         =

*   IS_SEL_HIDE                       =

*   I_DEFAULT                         = 'X'

*   I_SAVE                            = ' '

*   IS_VARIANT                        =

   IT_EVENTS                         IT_EVENTS

*   IT_EVENT_EXIT                     =

*   IS_PRINT                          =

*   IS_REPREP_ID                      =

*   I_SCREEN_START_COLUMN             = 0

*   I_SCREEN_START_LINE               = 0

*   I_SCREEN_END_COLUMN               = 0

*   I_SCREEN_END_LINE                 = 0

*   I_HTML_HEIGHT_TOP                 = 0

*   I_HTML_HEIGHT_END                 = 0

*   IT_ALV_GRAPHICS                   =

*   IT_HYPERLINK                      =

*   IT_ADD_FIELDCAT                   =

*   IT_EXCEPT_QINFO                   =

*   IR_SALV_FULLSCREEN_ADAPTER        =

* IMPORTING

*   E_EXIT_CAUSED_BY_CALLER           =

*   ES_EXIT_CAUSED_BY_USER            =

  TABLES

    t_outtab                          = IT_CSKS

* EXCEPTIONS

*   PROGRAM_ERROR                     = 1

*   OTHERS                            = 2

          .

IF sy-subrc <> 0.

* Implement suitable error handling here

ENDIF.


endform.                    " DISPLAY_DATA

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

*&      Form  FILL_EVENT_TABLE

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form FILL_EVENT_TABLE .


WA_EVENTS-NAME = 'TOP-OF-PAGE' .

WA_EVENTS-FORM = 'PREPARE_HEADER' .

APPEND WA_EVENTS TO IT_EVENTS .

endform.                    " FILL_EVENT_TABLE


FORM PREPARE_HEADER.



  DATA : IT_HEADINGS TYPE slis_t_listheader ,

       WA_HEADINGS TYPE  slis_listheader .

   CLEAR WA_HEADINGS.



    WA_HEADINGS-TYP = 'H' .

    WA_HEADINGS-INFO = 'DISPLAY OF COST CENTERS ' .

    APPEND WA_HEADINGS TO IT_HEADINGS .



    CLEAR WA_HEADINGS .

    WA_HEADINGS-TYP = 'S' .

    WA_HEADINGS-INFO = 'USING ALV' .

    APPEND WA_HEADINGS TO IT_HEADINGS .



      CLEAR WA_HEADINGS .

    WA_HEADINGS-TYP = 'A' .

  CONCATENATE SY-DATUM+6(2)'.'

              SY-DATUM+4(2)'.'

              SY-DATUM(4)

   INTO WA_HEADINGS-INFO .

    APPEND WA_HEADINGS TO IT_HEADINGS .



    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

      EXPORTING

        it_list_commentary       = IT_HEADINGS

      I_LOGO                   =   'ZLOGO1'

*       I_END_OF_LIST_GRID       =

*       I_ALV_FORM               =
.
  ENDFORM .

9 REPLIES 9

Former Member
0 Kudos

Hello Krishna,

Instead of sy-cprog, use SY-REPID and try.

Regards,

Sudhir Kothavale.

bastinvinoth
Contributor
0 Kudos

PASTE THIS CODE AND SEE THE OUTPUT,

I HAVE DONE THE CHANGES

*REPORT ZTEST NO STANDARD PAGE HEADING.

TYPE-POOLS: SLIS .

DATA : IT_EVENTS TYPE  slis_t_event ,

       WA_EVENTS TYPE slis_alv_event ,

       IT_EKKO TYPE TABLE OF EKKO ,

       WA_EKKO LIKE LINE OF IT_EKKO ,

       IT_CSKS TYPE TABLE OF CSKS ,

       WA_CSKS LIKE LINE OF IT_CSKS ,

       IT_EKPO TYPE TABLE OF EKPO ,

       WA_EKPO LIKE LINE OF IT_EKPO ,

       IT_T001 TYPE STANDARD TABLE OF T001 ,

       WA_T001 LIKE LINE OF IT_T001 ,

       IT_FIELDCAT TYPE TABLE OF slis_t_fieldcat_alv ,

       LIST_LAYOUT TYPE slis_layout_alv .

START-OF-SELECTION .

SELECT * FROM CSKS INTO TABLE IT_CSKS UP TO 10 ROWS .

   PERFORM FILL_EVENT_TABLE .

END-OF-SELECTION .

PERFORM DISPLAY_DATA .

*PERFORM PREPARE_HEADER .

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

*&      Form  DISPLAY_DATA

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form DISPLAY_DATA .

  data:LAYOUT TYPE SLIS_LAYOUT_ALv.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

*   I_INTERFACE_CHECK                 = ' '

*   I_BYPASSING_BUFFER                = ' '

*   I_BUFFER_ACTIVE                   = ' '

    I_CALLBACK_PROGRAM                = SY-repid

*   I_CALLBACK_PF_STATUS_SET          = ' '

    I_CALLBACK_USER_COMMAND           = 'USER_COM '

    I_CALLBACK_TOP_OF_PAGE            = 'PREPARE_HEADER'

*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '

*   I_CALLBACK_HTML_END_OF_LIST       = ' '

    I_STRUCTURE_NAME                  = 'CSKS'

*   I_BACKGROUND_ID                   = ' '

    I_GRID_TITLE                      = 'Bastin'

*   I_GRID_SETTINGS                   =

    IS_LAYOUT                         LAYOUT

*   IT_FIELDCAT                       =

*   IT_EXCLUDING                      =

*   IT_SPECIAL_GROUPS                 =

*   IT_SORT                           =

*   IT_FILTER                         =

*   IS_SEL_HIDE                       =

*   I_DEFAULT                         = 'X'

*   I_SAVE                            = ' '

*   IS_VARIANT                        =

    IT_EVENTS                         IT_EVENTS

*   IT_EVENT_EXIT                     =

*   IS_PRINT                          =

*   IS_REPREP_ID                      =

*   I_SCREEN_START_COLUMN             = 0

*   I_SCREEN_START_LINE               = 0

*   I_SCREEN_END_COLUMN               = 0

*   I_SCREEN_END_LINE                 = 0

*   I_HTML_HEIGHT_TOP                 = 0

*   I_HTML_HEIGHT_END                 = 0

*   IT_ALV_GRAPHICS                   =

*   IT_HYPERLINK                      =

*   IT_ADD_FIELDCAT                   =

*   IT_EXCEPT_QINFO                   =

*   IR_SALV_FULLSCREEN_ADAPTER        =

* IMPORTING

*   E_EXIT_CAUSED_BY_CALLER           =

*   ES_EXIT_CAUSED_BY_USER            =

   TABLES

     t_outtab                          = IT_CSKS

* EXCEPTIONS

*   PROGRAM_ERROR                     = 1

*   OTHERS                            = 2

           .

IF sy-subrc <> 0.

* Implement suitable error handling here

ENDIF.

endform.                    " DISPLAY_DATA

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

*&      Form  FILL_EVENT_TABLE

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form FILL_EVENT_TABLE .

WA_EVENTS-NAME = 'TOP-OF-PAGE' .

WA_EVENTS-FORM = 'PREPARE_HEADER' .

APPEND WA_EVENTS TO IT_EVENTS .

endform.                    " FILL_EVENT_TABLE

FORM PREPARE_HEADER.

   DATA : IT_HEADINGS TYPE slis_t_listheader ,

        WA_HEADINGS TYPE  slis_listheader .

    CLEAR WA_HEADINGS.

     WA_HEADINGS-TYP = 'H' .

     WA_HEADINGS-INFO = 'DISPLAY OF COST CENTERS ' .

     APPEND WA_HEADINGS TO IT_HEADINGS .

     CLEAR WA_HEADINGS .

     WA_HEADINGS-TYP = 'S' .

     WA_HEADINGS-INFO = 'USING ALV' .

     APPEND WA_HEADINGS TO IT_HEADINGS .

       CLEAR WA_HEADINGS .

     WA_HEADINGS-TYP = 'A' .

   CONCATENATE SY-DATUM+6(2)'.'

               SY-DATUM+4(2)'.'

               SY-DATUM(4)

    INTO WA_HEADINGS-INFO .

     APPEND WA_HEADINGS TO IT_HEADINGS .

     CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

       EXPORTING

         it_list_commentary       = IT_HEADINGS

       I_LOGO                   =   'ZLOGO1'

*       I_END_OF_LIST_GRID       =

*       I_ALV_FORM               =

.

   ENDFORM .

*

*

0 Kudos

hi vinoth,

             that's wat i did in the code  first and the o/p is coming and i mentioned in the  description(you gave prepare_header and renamed and gave top_of_page) its working fine. my doubt is when i comment the call_back parameter and passed the events table it_events ,then only the heading  is not coming why.  i saw this type of decelaration in a abap material and tried .

0 Kudos

Top-of-page event is always processed in ALV Report and is only passed to the caller via the Callback parameter mechanism.In your case, top-of-page cannot be formatted by ALV Report analogously to the basic list, it must be handled completely by the caller. When you call the REUSE_ALV_GRID_DISPLAY you must inform parameter IT_EVENTS to register a callback subroutine for the TOP_OF_LIST event. like wise if you want to call header, u should use callback parameter.

Regards,

Bastin.G

raymond_giuseppi
Active Contributor
0 Kudos

Move SY-REPID to a global variable of the caller report (TOP include) and pass this variable to FM.

(If you use SY-REPID its value will be a report like SAPLSLVC_FULLSCREEN during execution of the FM, as it is written in the parameter documentation...)

Regards,

Raymond

Former Member
0 Kudos

Hi,

Please check this code,


REPORT  ZPH_REP_ALV.



TYPE-POOLS: SLIS .

DATA : IT_EVENTS TYPE  slis_t_event ,

*      WA_EVENTS TYPE  ,

      IT_EKKO TYPE TABLE OF EKKO ,

      WA_EKKO LIKE LINE OF IT_EKKO ,

      IT_CSKS TYPE TABLE OF CSKS ,

      WA_CSKS LIKE LINE OF IT_CSKS ,

      IT_EKPO TYPE TABLE OF EKPO ,

      WA_EKPO LIKE LINE OF IT_EKPO ,

      IT_T001 TYPE STANDARD TABLE OF T001 ,

      WA_T001 LIKE LINE OF IT_T001 ,

      IT_FIELDCAT TYPE TABLE OF slis_t_fieldcat_alv ,

      LIST_LAYOUT TYPE slis_layout_alv .
FIELD-SYMBOLS: <gfs_event> TYPE slis_alv_event.

START-OF-SELECTION .

SELECT * FROM CSKS INTO TABLE IT_CSKS UP TO 30 ROWS .


  PERFORM FILL_EVENT_TABLE .

END-OF-SELECTION .


PERFORM DISPLAY_DATA .

*PERFORM PREPARE_HEADER .



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

*&      Form  DISPLAY_DATA

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form DISPLAY_DATA .



CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

*   I_INTERFACE_CHECK                 = ' '

*   I_BYPASSING_BUFFER                = ' '

*   I_BUFFER_ACTIVE                   = ' '

   I_CALLBACK_PROGRAM                =
SY-CPROG


*   I_CALLBACK_PF_STATUS_SET          = ' '

*   I_CALLBACK_USER_COMMAND           = ' '

*   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE '

*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '

*   I_CALLBACK_HTML_END_OF_LIST       = ' '

   I_STRUCTURE_NAME                  = 'CSKS'

*   I_BACKGROUND_ID                   = ' '

*   I_GRID_TITLE                      =

*   I_GRID_SETTINGS                   =

*   IS_LAYOUT                         =

*   IT_FIELDCAT                       =

*   IT_EXCLUDING                      =

*   IT_SPECIAL_GROUPS                 =

*   IT_SORT                           =

*   IT_FILTER                         =

*   IS_SEL_HIDE                       =

*   I_DEFAULT                         = 'X'

*   I_SAVE                            = ' '

*   IS_VARIANT                        =

   IT_EVENTS                         =  IT_EVENTS

*   IT_EVENT_EXIT                     =

*   IS_PRINT                          =

*   IS_REPREP_ID                      =

*   I_SCREEN_START_COLUMN             = 0

*   I_SCREEN_START_LINE               = 0

*   I_SCREEN_END_COLUMN               = 0

*   I_SCREEN_END_LINE                 = 0

*   I_HTML_HEIGHT_TOP                 = 0

*   I_HTML_HEIGHT_END                 = 0

*   IT_ALV_GRAPHICS                   =

*   IT_HYPERLINK                      =

*   IT_ADD_FIELDCAT                   =

*   IT_EXCEPT_QINFO                   =

*   IR_SALV_FULLSCREEN_ADAPTER        =

* IMPORTING

*   E_EXIT_CAUSED_BY_CALLER           =

*   ES_EXIT_CAUSED_BY_USER            =

  TABLES

    t_outtab                          = IT_CSKS

* EXCEPTIONS

*   PROGRAM_ERROR                     = 1

*   OTHERS                            = 2

          .

IF sy-subrc <> 0.

* Implement suitable error handling here

ENDIF.


endform.                    " DISPLAY_DATA

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

*&      Form  FILL_EVENT_TABLE

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

*       text

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

*  -->  p1        text

*  <--  p2        text

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

form FILL_EVENT_TABLE .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
*   I_LIST_TYPE           =
   IMPORTING
      et_events             = IT_EVENTS
   EXCEPTIONS
     list_type_wrong       = 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.
  IF sy-subrc = 0.
    READ TABLE IT_EVENTS ASSIGNING <gfs_event> WITH KEY name = 'TOP_OF_PAGE'.

    IF sy-subrc = 0.
      <gfs_event>-form = 'PREPARE_HEADER'.
    ENDIF.
  ENDIF.

*WA_EVENTS-NAME = 'TOP-OF-PAGE' .
*
*WA_EVENTS-FORM = '' .
*
*APPEND WA_EVENTS TO IT_EVENTS .

endform.                    " FILL_EVENT_TABLE


FORM PREPARE_HEADER.



  DATA : IT_HEADINGS TYPE slis_t_listheader ,

       WA_HEADINGS TYPE  slis_listheader .

   CLEAR WA_HEADINGS.



    WA_HEADINGS-TYP = 'H' .

    WA_HEADINGS-INFO = 'DISPLAY OF COST CENTERS ' .

    APPEND WA_HEADINGS TO IT_HEADINGS .



    CLEAR WA_HEADINGS .

    WA_HEADINGS-TYP = 'S' .

    WA_HEADINGS-INFO = 'USING ALV' .

    APPEND WA_HEADINGS TO IT_HEADINGS .



      CLEAR WA_HEADINGS .

    WA_HEADINGS-TYP = 'A' .

  CONCATENATE SY-DATUM+6(2)'.'

              SY-DATUM+4(2)'.'

              SY-DATUM(4)

   INTO WA_HEADINGS-INFO .

    APPEND WA_HEADINGS TO IT_HEADINGS .



    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

      EXPORTING

        it_list_commentary       = IT_HEADINGS

      I_LOGO                   =   'ZLOGO1'

*       I_END_OF_LIST_GRID       =

*       I_ALV_FORM               =
.
  ENDFORM .

Regards,

Suman

0 Kudos

Hi Krishna,

Kindly replace 'TOP-OF-PAGE'  by  'TOP_OF_PAGE' in the FORM fill_event_table . Report will display the header.

FORM fill_event_table .
  wa_events-name = 'TOP_OF_PAGE' .
  wa_events-form = 'PREPARE_HEADER' .
  APPEND wa_events TO it_events .
ENDFORM.                    " FILL_EVENT_TABLE

Thanks & Regards,

Venugopal M N

Former Member
0 Kudos

This message was moderated.

Former Member
0 Kudos

Hi Krishna ,

The heading was not displaying because of wrong declaration of Event Name, So please use the below code in appending the Events instead of the code that you have written ,

form FILL_EVENT_TABLE .
WA_EVENTS-NAME = 'TOP_OF_PAGE' .
WA_EVENTS-FORM = 'PREPARE_HEADER' .
APPEND WA_EVENTS TO IT_EVENTS .
endform.                    " FILL_EVENT_TABLE

Thanks

Mallikarjun