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

REUSE

Former Member
0 Likes
538

I'm using the REUSE_ALV_GRID_DISPLAY function to display my data.  However, the ALV toolbar is not displaying the buttons that I would like.  Here is the way the toolbar is displayed:

Here is what I would like:

Here is my application code... not sure what I'm missing:

REPORT ZPM_WO_OPEN_COMMIT.

TABLES: ekko,

         ekpo,

         lfa1,

         eket,

         ekkn,

         aufk.

TYPES: begin of ty_data,

           ebeln like EKKO-EBELN,

           ernam like EKKO-ERNAM,

           lifnr like EKKO-LIFNR,

           ekgrp like EKKO-EKGRP,

           bedat like EKKO-BEDAT,

           waers like EKKO-WAERS,

           bukrs like EKKO-BUKRS,

           bsart like EKKO-BSART,

           ekorg like EKKO-EKORG,

           name1 like LFA1-NAME1,

           "lifnr_lfa1 like LFA1-LIFNR,

           ebelp like EKPO-EBELP,

           txz01 like EKPO-TXZ01,

           matnr like EKPO-MATNR,

           menge like EKPO-MENGE,

           meins like EKPO-MEINS,

           netpr like EKPO-NETPR,

           brtwr like EKPO-BRTWR,

           elikz like EKPO-ELIKZ,

           loekz like EKPO-LOEKZ,

           "ebeln_ekpo like EKPO-EBELN,

           eindt like EKET-EINDT,

           "ebeln_eket like EKET-EBELN,

           "ebelp_eket like EKET-EBELP,

           aufnr like EKKN-AUFNR,

           "ebeln_ekkn like EKKN-EBELN,

           "ebelp_ekkn like EKKN-EBELP,

           ktext like AUFK-KTEXT,

           "aufnr_aufk like AUFK-AUFNR,

        end of ty_data.

DATA: gt_data       TYPE TABLE OF ty_data,

       gt_fieldcat   TYPE slis_t_fieldcat_alv.

********************** Selection Screen Parameters *********************

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

   SELECT-OPTIONS so_bukrs FOR ekko-bukrs.

   SELECT-OPTIONS so_bsart FOR ekko-bsart.

   SELECT-OPTIONS so_ekorg FOR ekko-ekorg.

   SELECT-OPTIONS so_ekgrp FOR ekko-ekgrp.

   SELECT-OPTIONS so_bedat FOR ekko-bedat.

   SELECT-OPTIONS so_loekz FOR ekpo-loekz.

   SELECT-OPTIONS so_elikz FOR ekpo-elikz.

   SELECT-OPTIONS so_aufnr FOR ekkn-aufnr.

SELECTION-SCREEN END OF BLOCK b1.

********************** Data selection screen events ********************

AT SELECTION-SCREEN.

END-of-SELECTION.

********************** Retrieve and process data ***********************

perform get_data.

perform build_field_catalog.

perform display_alv.

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

*&      Form  GET_DATA

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

*       Retrieve the report data based on the input.

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

FORM GET_DATA .

   select EKKO~EBELN EKKO~ERNAM EKKO~LIFNR EKKO~EKGRP EKKO~BEDAT

          EKKO~WAERS EKKO~BUKRS EKKO~BSART EKKO~EKORG LFA1~NAME1

          "LFA1~LIFNR as lfa1_lifnr

          EKPO~EBELP EKPO~TXZ01 EKPO~MATNR

          EKPO~MENGE EKPO~MEINS EKPO~NETPR EKPO~BRTWR EKPO~ELIKZ

          EKPO~LOEKZ

          "EKPO~EBELN as ebeln_ekpo

          EKET~EINDT

          "EKET~EBELN as ebeln_eket EKET~EBELP as ebelp_eket

          EKKN~AUFNR

          "EKKN~EBELN as ebeln_ekkn EKKN~EBELP as ebelp_ekkn

          AUFK~KTEXT

          "AUFK~AUFNR as aufnr_aufk

       into CORRESPONDING FIELDS OF TABLE gt_data

       from ( EKKO

              inner join LFA1

              on  LFA1~LIFNR = EKKO~LIFNR

              inner join EKPO

              on  EKPO~EBELN = EKKO~EBELN

              and EKPO~EBELP = EKKO~LPONR

              inner join EKET

              on  EKET~EBELN = EKPO~EBELN

              and EKET~EBELP = EKPO~EBELP

              inner join EKKN

              on  EKKN~EBELN = EKPO~EBELN

              and EKKN~EBELP = EKPO~EBELP

              inner join AUFK

              on  AUFK~AUFNR = EKKN~AUFNR )

            where EKKO~BUKRS in so_bukrs

              and EKKO~BSART in so_bsart

              and EKKO~EKORG in so_ekorg

              and EKKO~EKGRP in so_ekgrp

              and EKKO~BEDAT in so_bedat

              and EKPO~LOEKZ in so_loekz

              and EKPO~ELIKZ in so_elikz

              and EKKN~AUFNR in so_aufnr.

ENDFORM.                    " GET_DATA

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

*&      Form  BUILD_FIELD_CATALOG

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

*       Builds the list of fields to be used for display in ALV grid.

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

FORM BUILD_FIELD_CATALOG .

   data: wa_fieldcat type slis_fieldcat_alv.

   wa_fieldcat-fieldname  = 'EBELN'.    " Fieldname in the data table.

   wa_fieldcat-REF_TABNAME = 'EKKO'.    " Table ref. Needed for column header.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'ERNAM'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'LIFNR'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'EKGRP'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'BEDAT'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'NAME1'.

   wa_fieldcat-ref_tabname = 'LFA1'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'EBELP'.

   wa_fieldcat-ref_tabname = 'EKPO'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'TXZ01'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'MATNR'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'MENGE'.

   wa_fieldcat-do_sum = 'X'.

   wa_fieldcat-qfieldname = 'MEINS'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-do_sum = ''.

   wa_fieldcat-qfieldname = ''.

   wa_fieldcat-fieldname  = 'MEINS'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'NETPR'.

   wa_fieldcat-do_sum = 'X'.

   wa_fieldcat-cfieldname = 'WAERS'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-do_sum = ''.

   wa_fieldcat-fieldname  = 'WAERS'.

   wa_fieldcat-ref_tabname = 'EKKO'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'BRTWR'.

   wa_fieldcat-ref_tabname = 'EKPO'.

   wa_fieldcat-do_sum = 'X'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-do_sum = ''.

   wa_fieldcat-fieldname  = 'WAERS'.

   wa_fieldcat-ref_tabname = 'EKKO'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'ELIKZ'.

   wa_fieldcat-ref_tabname = 'EKPO'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'EINDT'.

   wa_fieldcat-ref_tabname = 'EKET'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'AUFNR'.

   wa_fieldcat-ref_tabname = 'EKKN'.

   APPEND wa_fieldcat TO gt_fieldcat.

   wa_fieldcat-fieldname  = 'KTEXT'.

   wa_fieldcat-ref_tabname = 'AUFK'.

   APPEND wa_fieldcat TO gt_fieldcat.

ENDFORM.                    " BUILD_FIELD_CATALOG

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

*&      Form  DISPLAY_ALV

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

*       Display the results to the user.

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

FORM DISPLAY_ALV.

   data: is_layout TYPE slis_layout_alv.

   is_layout-COLWIDTH_OPTIMIZE = 'X'.

*Pass data and field catalog to ALV function module to display ALV list

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

     EXPORTING

       it_fieldcat   = gt_fieldcat

       I_GRID_TITLE  = 'Work Order Open Commitment Summary'

       IS_LAYOUT     = is_layout

     TABLES

       t_outtab      = gt_data

     EXCEPTIONS

       program_error = 1

       OTHERS        = 2.

   IF sy-subrc NE 0.

     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

   ENDIF.

ENDFORM.                    " DISPLAY_ALV

1 ACCEPTED SOLUTION
Read only

RaymondGiuseppi
Active Contributor
0 Likes
502

Rewrite your report using an not fullscreen OO ALV class like CL_GUI_ALV_GRID, this is not an application toolbar like in old REUSE FM. (Many samples at scn)

Regards,

Raymond

2 REPLIES 2
Read only

RaymondGiuseppi
Active Contributor
0 Likes
503

Rewrite your report using an not fullscreen OO ALV class like CL_GUI_ALV_GRID, this is not an application toolbar like in old REUSE FM. (Many samples at scn)

Regards,

Raymond

Read only

Former Member
0 Likes
502

It often is not easy enough to rewrite an existing program to OO-concept. Try looking at the SALV function group and it's STANDARD status. Once you need other icons in your case, you can use those pre-fabricated from that status.

But if you are heading to the button choice (button with multiple functions underneath it), you can only achieve this using the OO concept.