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 Display by function modules

Former Member
0 Likes
780

Hi,

I have data in internal table itab, Which having seven columns

I want to display all these data in gridlayout by using function modules.

Can you please guide me the logic how to do.

An also I want to display the headings for each column, then I have to display all data in internal table.

8 REPLIES 8
Read only

Former Member
0 Likes
757

Hi

REUSE_ALV_LIST_DISPLAY and REUSE_ALV_GRID_DISPLAY are function modules that do not look for SAPGui (or presentation server) to perform their task.

You might still get a short dump for some other reason - but you won't get one just because it is running in background.

The OO classes you are currently using require custom controls that are currently instantiated in a SAPGui session. In a background job there is no such thing, so you are getting a short dump.

Using those FMs is extremely easy - if only you had tried them, you would have saved a lot of time by now.

 IF CUSTOM_CONTAINER IS INITIAL. 
* create a custom container control for our ALV Control 
    CREATE OBJECT CUSTOM_CONTAINER 
        EXPORTING 
            CONTAINER_NAME = MYCONTAINER 
        EXCEPTIONS 
            CNTL_ERROR = 1 
            CNTL_SYSTEM_ERROR = 2 
            CREATE_ERROR = 3 
            LIFETIME_ERROR = 4 
            LIFETIME_DYNPRO_DYNPRO_LINK = 5. 
    IF SY-SUBRC NE 0. 
* add your handling, for example 
*  >>> Capturing this error is what allows the 
*  >>> program to run in background 
      CALL FUNCTION 'POPUP_TO_INFORM' 
           EXPORTING 
                TITEL = G_REPID 
                TXT2  = SY-SUBRC 
                TXT1  = 'The control could not be created'(010). 
    ENDIF. 
* create an instance of alv control 
    CREATE OBJECT GRID1 
          EXPORTING I_PARENT = CUSTOM_CONTAINER. 
* 
* Set a titlebar for the grid control 
* 
    GS_LAYOUT-GRID_TITLE = 'Flights'(100). 

* § 5. In case of PRINT_END_OF_PAGE, you must set 'reservelns' to 
*      the number of reserved lines at the end of a page. 
* 
* reserve two lines for the PRINT_END_OF_PAGE event 
* 
    GS_PRINT-RESERVELNS = 2. 

    CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY 
         EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' 
                   IS_PRINT         = GS_PRINT 
                   IS_LAYOUT        = GS_LAYOUT 
         CHANGING  IT_OUTTAB        = GT_SFLIGHT.

Reward helpfull answers

Regards

Pavan

Read only

Former Member
0 Likes
757

Hi,

check this code.

TABLES:LFA1.

DATA:BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

ORT01 LIKE LFA1-ORT01,

REGIO LIKE LFA1-REGIO,

SORTL LIKE LFA1-SORTL,

END OF ITAB.

TYPE-POOLS SLIS.

DATA FCAT TYPE SLIS_T_FIELDCAT_ALV.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 20 ROWS.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = FCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_STRUCTURE_NAME = 'ITAB'

I_GRID_TITLE = 'VENDOR DETAILS'

IT_FIELDCAT = FCAT

TABLES

T_OUTTAB = ITAB.

rgds,

bharat.

Read only

Former Member
0 Likes
757

hii

select * from zx into table itab.

check out this program..

TABLES MARA. .

DATA : WA_CUST TYPE MARA,

IT_cust type table of MARA.

SELECT-OPTIONS MATNR FOR MARA-MATNR.

SELECT MATNR MTART FROM MARA INTO CORRESPONDING FIELDS OF TABLE

IT_CUST WHERE MATNR IN MATNR.

LOOP AT IT_CUST INTO WA_CUST.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_STRUCTURE_NAME = 'MARA'

TABLES

T_OUTTAB = it_cust

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

ENDIF.

reward if useful

Read only

Former Member
0 Likes
757

TYPE-POOLS: SLIS.

*&----


TYPES:

BEGIN OF TY_KNA1,

KUNNR TYPE KUNNR,

NAME1 TYPE NAME1,

ORT01 TYPE ORT01,

END OF TY_KNA1.

TYPES: BEGIN OF TY_VBAK,

VBELN TYPE VBELN,

ERNAM TYPE ERNAM,

ERDAT TYPE ERDAT,

NETWR TYPE NETWR,

WAERK TYPE WAERK,

END OF TY_VBAK.

*&--


WORK AREA & TABLE DECLARATION--


DATA: W_KNA1 TYPE TY_KNA1.

DATA: T_KNA1 TYPE STANDARD TABLE OF TY_KNA1 INITIAL SIZE 1.

DATA: W_VBAK TYPE TY_VBAK.

DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.

*&--


FIELDCAT TABLE & WORK AREA--


DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.

DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.

*&----


DATA: W_FCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA: T_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.

*&--


EVENT TABLE AND WORK AREA--


DATA: W_EVENTS TYPE SLIS_ALV_EVENT.

DATA: T_EVENTS TYPE SLIS_T_EVENT.

*&----


DATA: W_EVENTS1 TYPE SLIS_ALV_EVENT.

DATA: T_EVENTS1 TYPE SLIS_T_EVENT.

*&--


COMMENT TABLE & WORK AREA--


DATA: W_COMMENT TYPE SLIS_LISTHEADER.

DATA: T_COMMENT TYPE SLIS_T_LISTHEADER.

*&----


DATA: W_COMMENT1 TYPE SLIS_LISTHEADER.

DATA: T_COMMENT1 TYPE SLIS_T_LISTHEADER.

*&----


APPENDING FCAT -


W_FCAT-COL_POS = 1.

W_FCAT-FIELDNAME = 'KUNNR'.

W_FCAT-SELTEXT_M = 'CUST. NO'.

W_FCAT-HOTSPOT = 'X'. " HOT SPOT HAND SYMBOL

W_FCAT-EMPHASIZE = 'C119'. " FOR COLORING THE COLUMN 1

APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.

W_FCAT-COL_POS = 2.

W_FCAT-FIELDNAME = 'NAME1'.

W_FCAT-SELTEXT_M = 'CUST. NAME'.

APPEND W_FCAT TO T_FCAT.

W_FCAT-COL_POS = 3.

W_FCAT-FIELDNAME = 'ORT01'.

W_FCAT-SELTEXT_M = 'CITY'.

APPEND W_FCAT TO T_FCAT.

*&----


W_FCAT1-COL_POS = 1.

W_FCAT1-FIELDNAME = 'VBELN'.

W_FCAT1-SELTEXT_M = 'ORDER NO'.

W_FCAT1-EMPHASIZE = 'C519'.

APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT.

W_FCAT1-COL_POS = 2.

W_FCAT1-FIELDNAME = 'ERNAM'.

W_FCAT1-SELTEXT_M = 'NAME OF PARTY'.

APPEND W_FCAT1 TO T_FCAT1.

W_FCAT1-COL_POS = 3.

W_FCAT1-FIELDNAME = 'ERDAT'.

W_FCAT1-SELTEXT_M = 'DATE'.

APPEND W_FCAT1 TO T_FCAT1.

W_FCAT1-COL_POS = 4.

W_FCAT1-FIELDNAME = 'NETWR'.

W_FCAT1-SELTEXT_M = 'ORDER VALUE'.

APPEND W_FCAT1 TO T_FCAT1.

W_FCAT1-COL_POS = 5.

W_FCAT1-FIELDNAME = 'WAERK'.

W_FCAT1-SELTEXT_M = 'CURRENCY'.

APPEND W_FCAT1 TO T_FCAT1.

*&--


APPEND COMMENTRY--


W_COMMENT-TYP = 'H'.

W_COMMENT-INFO = 'CUSTOMER DETAILS'.

APPEND W_COMMENT TO T_COMMENT.

CLEAR W_COMMENT.

*&--


APPEND EVENTS TABLE--


W_EVENTS-NAME = 'TOP_OF_PAGE'.

W_EVENTS-FORM = 'TOPPAGE'.

APPEND W_EVENTS TO T_EVENTS.

W_EVENTS-NAME = 'USER_COMMAND'.

W_EVENTS-FORM = 'SUB2'.

APPEND W_EVENTS TO T_EVENTS.

W_EVENTS1-NAME = 'TOP_OF_PAGE'.

W_EVENTS1-FORM = 'TOPPAGE1'.

APPEND W_EVENTS1 TO T_EVENTS1.

CLEAR W_EVENTS1.

W_EVENTS1-NAME = 'USER_COMMAND'.

W_EVENTS1-FORM = 'SUB3'.

APPEND W_EVENTS1 TO T_EVENTS1.

*&----


SELECT-OPTIONS: CUSTNO FOR W_KNA1-KUNNR.

*&----


SELECT KUNNR

NAME1

ORT01

FROM KNA1

INTO TABLE T_KNA1

WHERE KUNNR IN CUSTNO.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = 'ZKAL_ALV_INTERACTIVE_12'

I_BACKGROUND_ID = 'BIKE'

I_GRID_TITLE = 'CUSTOMER DETAILS'

IT_FIELDCAT = T_FCAT

IT_EVENTS = T_EVENTS

TABLES

T_OUTTAB = T_KNA1.

*&----


FORM TOPPAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_COMMENT

I_LOGO = 'LOGO_ALV'.

ENDFORM. " END OF TOPPAGE SUB.

*&----


FORM SUB2 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.

READ TABLE T_KNA1 INTO W_KNA1 INDEX FIELDS1-TABINDEX.

SELECT VBELN

ERNAM

ERDAT

NETWR

WAERK

FROM VBAK

INTO TABLE T_VBAK

WHERE KUNNR = W_KNA1-KUNNR.

*&----


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = 'ZKAL_ALV_INTERACTIVE_12'

I_BACKGROUND_ID = 'KALEEM'

I_GRID_TITLE = 'LIST OF ORDERS'

IT_FIELDCAT = T_FCAT1

IT_EVENTS = T_EVENTS1

TABLES

T_OUTTAB = T_VBAK.

ENDFORM. "END OF SUB2.

*&----


FORM TOPPAGE1.

*&--


APPEND COMMENTRYOF SECONDRY SCREEN--


W_COMMENT1-TYP = 'H'.

W_COMMENT1-INFO = 'LIST OF ORDERS'.

APPEND W_COMMENT1 TO T_COMMENT1.

W_COMMENT1-TYP = 'S'.

W_COMMENT1-KEY = 'CUSTOMER'.

W_COMMENT1-INFO = W_KNA1-KUNNR.

APPEND W_COMMENT1 TO T_COMMENT1.

CLEAR W_COMMENT.

W_COMMENT1-TYP = 'A'.

W_COMMENT1-INFO = W_KNA1-NAME1.

APPEND W_COMMENT1 TO T_COMMENT1.

CLEAR W_COMMENT1.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_COMMENT1

I_LOGO = 'LOGO_ALV'.

REFRESH T_COMMENT1.

ENDFORM. " END OF TOPPAGE1

*&----


FORM SUB3 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.

READ TABLE T_VBAK INTO W_VBAK INDEX FIELDS1-TABINDEX.

SET PARAMETER ID 'AUN' FIELD W_VBAK-VBELN.

CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.

ENDFORM. ":

*&----


*

Regards,

Pavan

Read only

Former Member
0 Likes
757

hi,

type-pools : slis,icon.

data : d_fieldcat type slis_t_fieldcat_alv,

d_fieldcat_wa type slis_fieldcat_alv.

data : gd_repid like sy-repid.

gd_repid = sy-repid.

d_fieldcat_wa-fieldname = 'MATNR'.

d_fieldcat_wa-seltext_l = 'Material Number'.

d_fieldcat_wa-col_pos = 1.

append d_fieldcat_wa to d_fieldcat.

clear d_fieldcat_wa.

d_fieldcat_wa-fieldname = 'ERNAM'.

d_fieldcat_wa-seltext_l = 'Created Name'.

d_fieldcat_wa-col_pos = 1.

append d_fieldcat_wa to d_fieldcat.

clear d_fieldcat_wa.

d_fieldcat_wa-fieldname = 'WERKS'.

d_fieldcat_wa-seltext_l = 'Plant Number'.

d_fieldcat_wa-col_pos = 1.

append d_fieldcat_wa to d_fieldcat.

clear d_fieldcat_wa.

write all the required fields.

call function module 'REUSE_ALV_GRID_DISPLAY'.

exporting.

call_back_program = gd_repid.

t_fieldcatalog = d_fieldcat.

importing.

t_outtab = itab.

exceptions.

Reawar with points if helpful.

Read only

Former Member
0 Likes
757

Hi,

Here is the example code for your help.

 PERFORM fieldcat_merge.

  PERFORM display.

*&---------------------------------------------------------------------*
*&      Form  FIELDCAT_MERGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fieldcat_merge .

  DATA : l_pos TYPE i VALUE 1.


  ist_fieldcat-fieldname = 'POSID'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 24.
  ist_fieldcat-col_pos   = l_pos.
*  ist_fieldcat-ddictxt = 'L'.
  ist_fieldcat-key = 'X'.
  ist_fieldcat-seltext_l = 'Appropriation Request Number'.

  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.


  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'TXT04'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 4.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
  ist_fieldcat-seltext_l = 'Status'.
  ist_fieldcat-EMPHASIZE = 'C400'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.

  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'UDATE'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 8.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
  ist_fieldcat-key = 'X'.
  ist_fieldcat-seltext_l = 'Status Date'.
*  IST_FIELDCAT-EMPHASIZE = 'C600'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.



  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'CRTD'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 4.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C700'.
  ist_fieldcat-seltext_l = 'Status CRTD'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.



  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'CRTD_DATE'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 8.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C200'.
  ist_fieldcat-seltext_l = ' Creation Date'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.

  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'FAPP'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 4.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C300'.
  ist_fieldcat-seltext_l = 'Status FAPP'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.


  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'FAPP_DATE'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 8.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C200'.
  ist_fieldcat-seltext_l = 'Forward for approval Date '.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.


  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'APRV'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 4.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C500'.

  ist_fieldcat-seltext_l = 'Status APRV'.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.



  l_pos = l_pos + 1.
  ist_fieldcat-fieldname = 'APRV_DATE'.
  ist_fieldcat-tabname   = 'IT_FINAL'.
  ist_fieldcat-outputlen = 8.
  ist_fieldcat-col_pos   = l_pos.
  ist_fieldcat-ddictxt = 'L'.
*  ist_fieldcat-key = 'X'.
    IST_FIELDCAT-EMPHASIZE = 'C200'.
  ist_fieldcat-seltext_l = ' Approval Date '.
  APPEND ist_fieldcat.
  CLEAR ist_fieldcat.



ENDFORM.                    " FIELDCAT_MERGE
*&---------------------------------------------------------------------*
*&      Form  DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display .

  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           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         = L_LAYOUT
   it_fieldcat                       = ist_fieldcat[]

*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   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_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.


ENDFORM.                    " DISPLAY

<i><b>Reward point for helpful answer

Debjani Lahiri</b></i>

Read only

Former Member
0 Likes
757

HI,

Work on this....

TABLES:pernr.

TYPE-POOLS : slis.

INFOTYPES:

0001,

0002,

0008.

DATA : i_alv TYPE slis_fieldcat_alv OCCURS 0,

wa TYPE slis_fieldcat_alv.

DATA : i_sort TYPE slis_t_sortinfo_alv,

wa_sort TYPE slis_sortinfo_alv,

i_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader,

i_event TYPE slis_t_event,

wa_event TYPE slis_alv_event,

v_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

DATA:v_line TYPE i.

DATA:BEGIN OF tab OCCURS 0,

pernr LIKE p0001-pernr, " Personalnumber

ename LIKE p0001-ename,

gbdat LIKE p0002-gbdat,

ansal LIKE p0008-ansal,

END OF tab.

START-OF-SELECTION.

GET pernr .

rp-provide-from-last p0001 space pn-begda pn-endda.

rp-provide-from-last p0002 space pn-begda pn-endda.

rp-provide-from-last p0008 space pn-begda pn-endda.

MOVE-CORRESPONDING p0001 TO tab.

MOVE-CORRESPONDING p0002 TO tab.

MOVE-CORRESPONDING p0008 TO tab.

APPEND tab.

END-OF-SELECTION.

DESCRIBE TABLE tab LINES v_line.

  • Check for output internal table

IF v_line = 0.

MESSAGE 'NO RECORDS FOUND' TYPE 'I'.

ELSE.

PERFORM zf_commentbuild.

PERFORM zf_event.

PERFORM zf_display.

ENDIF.

&----


*& Form zf_display

&----


  • text

----


FORM zf_display.

CLEAR wa.

wa-fieldname = 'PERNR'.

wa-tabname = 'TAB'.

wa-ref_fieldname = 'PERNR'.

wa-ref_tabname = 'PERNR'.

APPEND wa TO i_alv.

CLEAR wa.

wa-fieldname = 'ENAME'.

wa-tabname = 'TAB'.

wa-ref_fieldname = 'ENAME'.

wa-ref_tabname = 'P0001'.

wa-seltext_m = 'NAME OF EMPLOYEE'.

APPEND wa TO i_alv.

CLEAR wa.

wa-fieldname = 'GBDAT'.

wa-tabname = 'TAB'.

wa-ref_fieldname = 'GBDAT'.

wa-ref_tabname = 'P0002'.

wa-seltext_m = 'BIRTH DATE OF EMPLOYEE'.

APPEND wa TO i_alv.

CLEAR wa.

wa-fieldname = 'ANSAL'.

wa-tabname = 'TAB'.

wa-ref_fieldname = 'ANSAL'.

wa-ref_tabname = 'P0009'.

wa-seltext_m = 'ANNUAL SALARY OF EMPLOYEE'.

APPEND wa TO i_alv.

CLEAR wa.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = 'ZHRTEMPLATE'

i_structure_name = 'TAB'

  • i_background_id = 'ALV_BACKGROUND'

it_fieldcat = i_alv

it_sort = i_sort

i_save = 'X'

it_events = i_event

TABLES

t_outtab = tab

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE 'Error in ALV FM Parameters' TYPE 'I'.

ENDIF.

ENDFORM. "zf_display

&----


*& Form zf_commentbuild

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM zf_commentbuild .

wa_header-typ = 'H'.

wa_header-info = 'SAMPLE REPORT'.

APPEND wa_header TO i_header.

CLEAR wa_header.

ENDFORM. " zf_commentbuild

&----


*& Form zf_event

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM zf_event .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = i_event

EXCEPTIONS

list_type_wrong = 1

OTHERS = 2.

READ TABLE i_event WITH KEY name = slis_ev_top_of_page INTO wa_event.

IF sy-subrc EQ 0.

MOVE v_top_of_page TO wa_event-form.

APPEND wa_event TO i_event.

ENDIF.

ENDFORM. "zf_event

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'INBEV_LOGO'

it_list_commentary = i_header.

ENDFORM. "top_of_page

Reward me if useflu...or any doubts,let me know

sankar

Read only

Former Member
0 Likes
757

Hi,

check this code.

TABLES:LFA1.

DATA:BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

ORT01 LIKE LFA1-ORT01,

REGIO LIKE LFA1-REGIO,

SORTL LIKE LFA1-SORTL,

END OF ITAB.

TYPE-POOLS SLIS.

DATA FCAT TYPE SLIS_T_FIELDCAT_ALV.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 20 ROWS.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

I_INCLNAME = SY-REPID

CHANGING

CT_FIELDCAT = FCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_STRUCTURE_NAME = 'ITAB'

I_GRID_TITLE = 'VENDOR DETAILS'

IT_FIELDCAT = FCAT

TABLES

T_OUTTAB = ITAB.

rgds,

suresh.a