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 Report

Former Member
0 Likes
705

Hi all,

Can anyone plz send some sample progs on ALV BLOCK LISTS function modules.

Thnks in advance

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
654

Hello,

In se38 gi´ve BALV* and press F4.

It will list all the alv reports.

Selct from that.

Vasanth

Hi all,

Can anyone plz send some sample progs on ALV BLOCK LISTS function modules.

Thnks in advance

5 REPLIES 5
Read only

sourabhshah
Product and Topic Expert
Product and Topic Expert
0 Likes
654

hi santosh

following is the program BALVBT01

Regards,

Sourabh

Read only

Former Member
0 Likes
654

Hi , Here is the complete program

TYPE-POOLS:  SLIS.
* Includes
INCLUDE <ICON>.
INCLUDE <SYMBOL>.
* Interne Tabelle für Feldkatalog
DATA: LFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: XFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: YFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: ZFIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: HFIELD TYPE SLIS_T_FIELDCAT_ALV.
* Kopfzeile zum Feldkatalog
DATA: AFIELD TYPE SLIS_FIELDCAT_ALV.
* Special Groups
DATA: GT_SP_GROUPS TYPE SLIS_T_SP_GROUP_ALV WITH HEADER LINE.
* Zwischensummen und Sortierung
DATA: GT_ZSUM TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.
* Filterbedingungen
DATA: GT_FILTER TYPE SLIS_T_FILTER_ALV WITH HEADER LINE.
* iTab für Kopfinformationen zur Liste
DATA: XHEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
* Layoutstruktur
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: Y_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: Z_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: H_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV.
* Keyinfo
DATA: GS_KEYINFO TYPE SLIS_KEYINFO_ALV.
* Excludingtabelle
DATA: GT_EXTAB TYPE SLIS_T_EXTAB WITH HEADER LINE.
* Layoutstruktur
DATA: XISETAB TYPE SLIS_SELDIS_ALV.
* Events
DATA: GT_XEVENTS TYPE SLIS_T_EVENT.
DATA: GT_YEVENTS TYPE SLIS_T_EVENT.
DATA: GT_ZEVENTS TYPE SLIS_T_EVENT.
DATA: GT_HEVENTS TYPE SLIS_T_EVENT.
DATA: GT_LEVENTS TYPE SLIS_T_EVENT.
DATA: GT_PRINT TYPE SLIS_PRINT_ALV.
* OK_Code für Layoutpopup
DATA: OK_CODE LIKE SY-UCOMM.
DATA: FLG_EXIT(1) TYPE C.              " Abbruch des Layoutpopups.

* Farbtabelle für Zelleneinfärbungen
DATA: GT_COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.

TABLES: SCARR, SPFLI, SBOOK.
* Interne Struktur mit Obermenge der möglichen Ausgabefelder
DATA: BEGIN OF XDATA OCCURS 1,
        CARRID   LIKE SCARR-CARRID,
        CARRNAME LIKE SCARR-CARRNAME,
        CURRCODE LIKE SCARR-CURRCODE,
        BLUBBER LIKE LTDXT-TEXT,
        NUMC(3) TYPE N,                " ohne DDIC-Bezug!
        ICONS(30) TYPE C,              " ohne DDIC-Bezug!
        SYMBOLS(30) TYPE C,
        AMPEL(1) TYPE C,
        BOX(1) TYPE C,
        LISTINFO(3) TYPE C,
*       COLINFO TYPE SLIS_T_SPECIALCOL_ALV,
      END OF XDATA.
* Interne Struktur mit Obermenge der möglichen Ausgabefelder
DATA: BEGIN OF YDATA OCCURS 1.
        INCLUDE STRUCTURE SPFLI.
DATA:   BLUBBER LIKE LTDXT-TEXT,
        NUMC(3) TYPE N,                " ohne DDIC-Bezug!
        ICONS(30) TYPE C,              " ohne DDIC-Bezug!
        SYMBOLS(30) TYPE C,
        AMPEL(1) TYPE C,
        BOX(1) TYPE C,
        LISTINFO(3) TYPE C,
        COLINFO TYPE SLIS_T_SPECIALCOL_ALV,
      END OF YDATA.
DATA: BEGIN OF ZDATA OCCURS 1.
        INCLUDE STRUCTURE SBOOK.
DATA:   BLUBBER LIKE LTDXT-TEXT,
        NUMC(3) TYPE N,                " ohne DDIC-Bezug!
        ICONS(30) TYPE C,              " ohne DDIC-Bezug!
        SYMBOLS(30) TYPE C,
        AMPEL(1) TYPE C,
        BOX(1) TYPE C,
        LISTINFO(3) TYPE C,
        COLINFO TYPE SLIS_T_SPECIALCOL_ALV,
      END OF ZDATA.
DATA: HDATA LIKE XDATA OCCURS 0 WITH HEADER LINE.
DATA: LDATA LIKE XDATA OCCURS 0 WITH HEADER LINE.
DATA: IDATA LIKE YDATA OCCURS 0 WITH HEADER LINE.
DATA:
      G_EXIT,
      X_SAVE,
      DEFAULT,
      X_VARIANT LIKE DISVARIANT,
      XS_LAYOUT LIKE GS_LAYOUT,
      XS_EVENT  TYPE SLIS_ALV_EVENT,
      GT_SPFLI  LIKE SPFLI OCCURS 0 WITH HEADER LINE,
      G_VARIANT LIKE DISVARIANT.
* Report selection
SELECT-OPTIONS CARRID FOR SCARR-CARRID.
DATA: REPID LIKE SY-REPID.
PARAMETERS: PFSTATUS TYPE SLIS_FORMNAME DEFAULT 'PF_STATUS_SET'.
PARAMETERS: HIERSEQU AS CHECKBOX DEFAULT 'X'.
PARAMETERS: BOX_TABL(5) DEFAULT 'IDATA'.
PARAMETERS: MAX_DATA AS CHECKBOX DEFAULT ' '.
*-----------------------------------------------------------------------
INITIALIZATION.
  REPID = SY-REPID.

START-OF-SELECTION.
  PERFORM SELECTION.
  PERFORM XEVENTS.
  PERFORM LEVENTS.
  PERFORM YEVENTS.
  PERFORM ZEVENTS.
  PERFORM HEVENTS.
  PERFORM FIELDS.
*
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
       EXPORTING
            I_CALLBACK_PROGRAM       = REPID
            I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
            I_CALLBACK_PF_STATUS_SET = PFSTATUS.
*
  X_LAYOUT-BOX_FIELDNAME = 'BOX'.
  X_LAYOUT-BOX_TABNAME   = 'XDATA'.
  X_LAYOUT-LIGHTS_FIELDNAME  = 'AMPEL'.
  X_LAYOUT-INFO_FIELDNAME = 'LISTINFO'.
  DATA I TYPE SY-INDEX.
  CLEAR I.
  DO 5 TIMES.
    I = I + 2.
    READ TABLE XDATA INDEX I.
    IF SY-SUBRC = 0.
      X_LAYOUT-NO_INPUT = 'X'.
    ENDIF.
  ENDDO.
*
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
       EXPORTING
            IT_FIELDCAT = XFIELD
            IS_LAYOUT   = X_LAYOUT
            I_TABNAME   = 'XDATA'
            IT_EVENTS   = GT_XEVENTS
            I_TEXT      = TEXT-0B1
       TABLES
            T_OUTTAB    = XDATA.
*
  IF HIERSEQU = SPACE.
*   y_layout-no_zebra = 'X'.
    Y_LAYOUT-BOX_FIELDNAME = 'BOX'.
    Y_LAYOUT-BOX_TABNAME   = 'YDATA'.
    Y_LAYOUT-INFO_FIELDNAME = 'LISTINFO'.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
         EXPORTING
              IT_FIELDCAT = YFIELD
              IS_LAYOUT   = Y_LAYOUT
              I_TABNAME   = 'YDATA'
              IT_EVENTS   = GT_YEVENTS
              I_TEXT      = TEXT-0B2
         TABLES
              T_OUTTAB    = YDATA.
  ELSE.
*   h_layout-no_zebra = 'X'.
    H_LAYOUT-BOX_FIELDNAME = 'BOX'.
    H_LAYOUT-BOX_TABNAME   = BOX_TABL.
    H_LAYOUT-INFO_FIELDNAME = 'LISTINFO'.
    GS_KEYINFO-HEADER01 = 'CARRID'.
    GS_KEYINFO-ITEM01 = 'CARRID'.
    GS_KEYINFO-ITEM02 = 'CONNID'.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND'
         EXPORTING
              IS_LAYOUT        = H_LAYOUT
              IT_FIELDCAT      = HFIELD
              IS_KEYINFO       = GS_KEYINFO
              I_HEADER_TABNAME = 'HDATA'
              I_ITEM_TABNAME   = 'IDATA'
              IT_EVENTS        = GT_HEVENTS
              I_TEXT           = TEXT-0B2
         TABLES
              T_OUTTAB_HEADER  = HDATA
              T_OUTTAB_ITEM    = IDATA.
  ENDIF.
*
* z_layout-no_zebra = 'X'.
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
       EXPORTING
            IT_FIELDCAT = ZFIELD
            IS_LAYOUT   = Z_LAYOUT
            I_TABNAME   = 'ZDATA'
            IT_EVENTS   = GT_ZEVENTS
            I_TEXT      = TEXT-0B3
       TABLES
            T_OUTTAB    = ZDATA.
*
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
       EXPORTING
            IT_FIELDCAT = LFIELD
            IS_LAYOUT   = L_LAYOUT
            I_TABNAME   = 'LDATA'
            IT_EVENTS   = GT_LEVENTS
            I_TEXT      = TEXT-0B4
       TABLES
            T_OUTTAB    = LDATA.
*
  GT_PRINT-RESERVE_LINES = 2.
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
       EXPORTING
            IS_PRINT = GT_PRINT.
*---------------------------------------------------------------------*
*       FORM FIELDS                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM FIELDS.
  DATA: L_COUNT TYPE I.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'CARRID'.
* AFIELD-TABNAME = 'XDATA'.
  AFIELD-REF_TABNAME = 'SCARR'.
  AFIELD-KEY = 'X'.                    "define field as key
  APPEND AFIELD TO XFIELD.
  AFIELD-TABNAME = 'HDATA'.
  APPEND AFIELD TO HFIELD.
  AFIELD-TABNAME = 'LDATA'.
  APPEND AFIELD TO LFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-COL_POS = L_COUNT.
* AFIELD-TABNAME = 'XDATA'.
  AFIELD-FIELDNAME = 'CARRNAME'.
  AFIELD-REF_TABNAME = 'SCARR'.
  APPEND AFIELD TO XFIELD.
  AFIELD-TABNAME = 'HDATA'.
  APPEND AFIELD TO HFIELD.
  AFIELD-TABNAME = 'LDATA'.
  APPEND AFIELD TO LFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
* AFIELD-TABNAME = 'XDATA'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'CURRCODE'.
  AFIELD-REF_TABNAME = 'SCARR'.
* AFIELD-INPUT    = INPUT.
  APPEND AFIELD TO XFIELD.
  AFIELD-TABNAME = 'HDATA'.
  APPEND AFIELD TO HFIELD.
  AFIELD-TABNAME = 'LDATA'.
  APPEND AFIELD TO LFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
* AFIELD-TABNAME = 'XDATA'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'NUMC'.
  AFIELD-DATATYPE  = 'NUMC'.
  AFIELD-REPTEXT_DDIC = TEXT-001.
* AFIELD-INPUT    = INPUT.
  AFIELD-DO_SUM = 'X'.
  APPEND AFIELD TO XFIELD.
  AFIELD-TABNAME = 'HDATA'.
  APPEND AFIELD TO HFIELD.
  AFIELD-TABNAME = 'LDATA'.
  APPEND AFIELD TO LFIELD.
*
  CLEAR AFIELD.
  L_COUNT = 0.
  L_COUNT = L_COUNT + 1.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-TABNAME = SPACE.
  AFIELD-FIELDNAME = 'CARRID'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-KEY = 'X'.                    "define field as key
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'CONNID'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-KEY = 'X'.                    "define field as key
  AFIELD-KEY_SEL = 'X'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'CITYFROM'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'AIRPFROM'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'CITYTO'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'AIRPTO'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'DEPTIME'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'ARRTIME'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'FLTIME'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-NO_OUT = 'X'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
*
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-FIELDNAME = 'FLTYPE'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-NO_OUT = 'X'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Ikonen
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-TABNAME = SPACE.
  AFIELD-FIELDNAME = 'ICONS'.
  AFIELD-REF_TABNAME = '    '.
  AFIELD-SP_GROUP = 'B'.
  AFIELD-REPTEXT_DDIC = 'Gpk?'(045).
  AFIELD-NO_OUT = 'X'.
  AFIELD-ICON = 'X'.
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '4'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Symbole
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-FIELDNAME = 'SYMBOLS'.
  AFIELD-REF_TABNAME = '    '.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-REPTEXT_DDIC = 'Prs?'(040).
  AFIELD-SP_GROUP = 'B'.
  AFIELD-NO_OUT = 'X'.
  AFIELD-SYMBOL = 'X'.
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '4'.
  AFIELD-JUST  = 'C'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Gepäckgewicht
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-SP_GROUP = 'A'.
  AFIELD-NO_OUT   = SPACE.
  AFIELD-FIELDNAME = 'DISTANCE'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-NO_SIGN = 'X'.
  AFIELD-QFIELDNAME = 'DISTID'.
  AFIELD-OUTPUTLEN  = '10'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Mengeneinheit
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  L_COUNT = L_COUNT + 1.
  AFIELD-TABNAME = SPACE.
  AFIELD-SP_GROUP = 'A'.
  AFIELD-NO_OUT   = SPACE.
  AFIELD-FIELDNAME = 'DISTID'.
  AFIELD-REF_TABNAME = 'SPFLI'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-OUTPUTLEN  = '4'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Numc
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-TABNAME = SPACE.
  AFIELD-FIELDNAME = 'NUMC'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-DO_SUM = 'X'.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-SELTEXT_S = 'NUMC'.
  AFIELD-SELTEXT_M = 'NUMC_U'.
  AFIELD-SELTEXT_L = 'NUMC_USER'(041).
  AFIELD-DATATYPE = 'NUMC'.
  AFIELD-OUTPUTLEN  = '10'.
  AFIELD-NO_OUT = SPACE.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Blubber
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-TABNAME = SPACE.
  AFIELD-FIELDNAME = 'BLUBBER'.
  AFIELD-REF_TABNAME = 'LTDXT'.
  AFIELD-REF_FIELDNAME = 'TEXT'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-HOTSPOT = 'X'.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-REPTEXT_DDIC = 'Kommentar'(043).
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '20'.
  AFIELD-NO_OUT = 'X'.
  APPEND AFIELD TO YFIELD.
  AFIELD-TABNAME = 'IDATA'.
  APPEND AFIELD TO HFIELD.
* Key
  L_COUNT = 0.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'CARRID'.
  AFIELD-OUTPUTLEN  = '3'.
  AFIELD-KEY = 'X'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
* AFIELD-OFFSET  = '4'.
  APPEND AFIELD TO ZFIELD.

  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'FLDATE'.
  AFIELD-KEY = 'X'.
  AFIELD-KEY_SEL = 'X'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  APPEND AFIELD TO ZFIELD.

  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'CONNID'.
  AFIELD-KEY = 'X'.
  AFIELD-KEY_SEL = 'X'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  APPEND AFIELD TO ZFIELD.

  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'BOOKID'.
  AFIELD-KEY_SEL = 'X'.
  AFIELD-KEY = 'X'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  APPEND AFIELD TO ZFIELD.
* Ikonen
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'ICONS'.
  AFIELD-REF_TABNAME = '    '.
  AFIELD-SP_GROUP = 'B'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-REPTEXT_DDIC = 'Gpk?'(045).
  AFIELD-NO_OUT = 'X'.
  AFIELD-ICON = 'X'.
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '4'.
  APPEND AFIELD TO ZFIELD.
* Buchungsdatum
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'ORDER_DATE'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  APPEND AFIELD TO ZFIELD.
* Kundentyp
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'CUSTTYPE'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  APPEND AFIELD TO ZFIELD.
* Kundennummer
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'CUSTOMID'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-OUTPUTLEN  = '3'.
  APPEND AFIELD TO ZFIELD.
* Raucher
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'SMOKER'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  APPEND AFIELD TO ZFIELD.
* Flugklasse
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'CLASS'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  APPEND AFIELD TO ZFIELD.
* Rechnungsstellung ja/nein
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'INVOICE'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-NO_OUT   = 'X'.
  APPEND AFIELD TO ZFIELD.
* Symbole
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'SYMBOLS'.
  AFIELD-REF_TABNAME = '    '.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-REPTEXT_DDIC = 'Prs?'(040).
  AFIELD-SP_GROUP = 'B'.
  AFIELD-NO_OUT = 'X'.
  AFIELD-SYMBOL = 'X'.
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '4'.
  AFIELD-JUST  = 'C'.
  APPEND AFIELD TO ZFIELD.
* Betrag
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'LOCCURAM'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-SP_GROUP = 'H'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-CFIELDNAME = 'LOCCURKEY'.
  AFIELD-DATATYPE = 'CURR'.
  AFIELD-DO_SUM   = 'X'.
  AFIELD-OUTPUTLEN  = '10'.
  APPEND AFIELD TO ZFIELD.
* Währung
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'LOCCURKEY'.
  AFIELD-TECH = ' '.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-OUTPUTLEN  = '4'.
  AFIELD-SP_GROUP = 'H'.
  APPEND AFIELD TO ZFIELD.
* BetragFW
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'FORCURAM'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-SP_GROUP = 'F'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-NO_OUT = 'X'.
  AFIELD-DO_SUM = 'X'.
  AFIELD-CFIELDNAME = 'FORCURKEY'.
  AFIELD-DATATYPE = 'CURR'.
  AFIELD-OUTPUTLEN  = '10'.
  APPEND AFIELD TO ZFIELD.
* Währung
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'FORCURKEY'.
  AFIELD-SP_GROUP = 'F'.
  AFIELD-TECH = ' '.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-NO_OUT = 'X'.
  AFIELD-OUTPUTLEN  = '4'.
  APPEND AFIELD TO ZFIELD.
* Gepäckgewicht
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-SP_GROUP = 'A'.
  AFIELD-NO_OUT   = 'X'.
  AFIELD-FIELDNAME = 'LUGGWEIGHT'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-NO_SIGN = 'X'.
  AFIELD-QFIELDNAME = 'WUNIT'.
  AFIELD-OUTPUTLEN  = '10'.
  APPEND AFIELD TO ZFIELD.
* Mengeneinheit
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-SP_GROUP = 'A'.
  AFIELD-NO_OUT   = 'X'.
  AFIELD-FIELDNAME = 'WUNIT'.
  AFIELD-REF_TABNAME = 'SBOOK'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-OUTPUTLEN  = '4'.
  APPEND AFIELD TO ZFIELD.
* Numc
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'NUMC'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-SELTEXT_S = 'NUMC'.
  AFIELD-SELTEXT_M = 'NUMC_U'.
  AFIELD-SELTEXT_L = 'NUMC_USER'(041).
  AFIELD-DATATYPE = 'NUMC'.
  AFIELD-OUTPUTLEN  = '10'.
  AFIELD-NO_OUT     = 'X'.
  APPEND AFIELD TO ZFIELD.
* Blubber
  L_COUNT = L_COUNT + 1.
  CLEAR AFIELD.
  AFIELD-FIELDNAME = 'BLUBBER'.
  AFIELD-REF_TABNAME = 'LTDXT'.
  AFIELD-REF_FIELDNAME = 'TEXT'.
  AFIELD-COL_POS = L_COUNT.
  AFIELD-HOTSPOT = 'X'.
  AFIELD-SP_GROUP = 'S'.
  AFIELD-REPTEXT_DDIC = 'Kommentar'(043).
  AFIELD-DATATYPE = 'CHAR'.
  AFIELD-OUTPUTLEN  = '20'.
  AFIELD-NO_OUT = 'X'.
  APPEND AFIELD TO ZFIELD.
ENDFORM.                               " FIELDS
*&---------------------------------------------------------------------*
*&      Form  SELECTION
*&---------------------------------------------------------------------*
*       Selektion von Beispieldaten                                    *
*----------------------------------------------------------------------*
*  <->  XDATA     Globale Datentabelle für Listausgabe
*----------------------------------------------------------------------*
FORM SELECTION.
  DATA: L_TABIX LIKE SY-TABIX.
  DATA: LT_SBOOK LIKE SBOOK OCCURS 1 WITH HEADER LINE.
  DATA: L_TABIX2 LIKE SY-TABIX.
* Read Data
  SELECT * FROM SCARR INTO CORRESPONDING FIELDS OF
                           TABLE XDATA WHERE CARRID IN CARRID.
  SELECT * FROM SPFLI INTO TABLE GT_SPFLI FOR ALL ENTRIES IN XDATA
                                      WHERE CARRID = XDATA-CARRID.
  LOOP AT GT_SPFLI.
    YDATA-NUMC = SY-TABIX DIV 5.
    MOVE-CORRESPONDING GT_SPFLI TO YDATA.
    APPEND YDATA.
  ENDLOOP.


  LOOP AT XDATA.
    XDATA-NUMC = SY-TABIX DIV 4.
    L_TABIX = SY-TABIX.
    REFRESH GT_COLOR.
    CLEAR   GT_COLOR.
    IF L_TABIX  > 5.
      XDATA-AMPEL = '1'.
    ELSEIF XDATA-CURRCODE = 'USD'.
      XDATA-AMPEL = '2'.
    ELSE.
      XDATA-AMPEL = '3'.
    ENDIF.
    IF XDATA-CURRCODE = 'LIT'.
      GT_COLOR-FIELDNAME = 'CURRCODE'.
      GT_COLOR-COLOR-COL = 6.
      GT_COLOR-COLOR-INT = 0.
      APPEND GT_COLOR.
      XDATA-SYMBOLS = SYM_PLUS_CIRCLE.
    ELSEIF XDATA-CURRCODE = 'DEM'.
      GT_COLOR-COLOR-COL = 5.
      GT_COLOR-COLOR-INT = 0.
      APPEND GT_COLOR.
      XDATA-SYMBOLS = SYM_FILLED_SQUARE.
    ELSE.
      GT_COLOR-FIELDNAME = 'CURRCODE'.
      GT_COLOR-COLOR-COL = 7.
      GT_COLOR-COLOR-INT = 1.
      GT_COLOR-COLOR-INV = 1.
      APPEND GT_COLOR.
      XDATA-SYMBOLS = SYM_FILLED_DIAMOND.
    ENDIF.
    MODIFY XDATA.
  ENDLOOP.
*
  HDATA[] = XDATA[].
  LDATA[] = XDATA[].
  IDATA[] = YDATA[].
*
  SELECT * FROM SBOOK UP TO 50 ROWS.
    L_TABIX = L_TABIX + 1.
    L_TABIX2 = L_TABIX2 + 1.
    MOVE-CORRESPONDING SBOOK TO ZDATA.
    IF L_TABIX > 20.
      ZDATA-CARRID = 'LH'.
      ZDATA-CONNID = '47'.
    ENDIF.
    IF L_TABIX > 14 AND L_TABIX <= 20 OR
       L_TABIX > 25.
      ZDATA-FLDATE = ZDATA-FLDATE + 1.
    ENDIF.
    IF L_TABIX2 > 7 AND L_TABIX <= 20.
      ZDATA-CONNID = 49.
    ELSEIF L_TABIX >= 26.
      ZDATA-CONNID = 51.
    ENDIF.
    IF L_TABIX2 >= 14 AND L_TABIX <= 20 .
      CLEAR L_TABIX2.
    ENDIF.
    APPEND ZDATA.
  ENDSELECT.

  LOOP AT ZDATA.
    L_TABIX = SY-TABIX.
    IF L_TABIX = 1.
      ZDATA-LOCCURAM = 520.
    ENDIF.
    REFRESH GT_COLOR.
    CLEAR   GT_COLOR.
    IF ZDATA-LOCCURAM < 500.
      ZDATA-AMPEL = '1'.
    ELSEIF ZDATA-LOCCURAM < 530.
      ZDATA-AMPEL = '2'.
    ELSE.
      ZDATA-AMPEL = '3'.
    ENDIF.
    IF ZDATA-LOCCURAM > 600.
      GT_COLOR-FIELDNAME = 'LOCCURAM'.
      GT_COLOR-COLOR-COL = 6.
      GT_COLOR-COLOR-INT = 0.
      APPEND GT_COLOR.
      ZDATA-SYMBOLS = SYM_PLUS_CIRCLE.
    ELSEIF ZDATA-LOCCURAM > 500.
      GT_COLOR-COLOR-COL = 5.
      GT_COLOR-COLOR-INT = 0.
      APPEND GT_COLOR.
      ZDATA-SYMBOLS = SYM_FILLED_SQUARE.
    ELSE.
      GT_COLOR-FIELDNAME = 'LOCCURAM'.
      GT_COLOR-COLOR-COL = 7.
      GT_COLOR-COLOR-INT = 1.
      GT_COLOR-COLOR-INV = 1.
      APPEND GT_COLOR.
      ZDATA-SYMBOLS = SYM_FILLED_DIAMOND.
    ENDIF.
    IF ZDATA-LUGGWEIGHT = 0.
      ZDATA-ICONS = ICON_INCOMPLETE.
      GT_COLOR-FIELDNAME = 'LUGGWEIGHT'.
      GT_COLOR-COLOR-COL = 4.
      GT_COLOR-COLOR-INT = 1.
      GT_COLOR-COLOR-INV = 1.
      APPEND GT_COLOR.
    ELSEIF ZDATA-LUGGWEIGHT < 45.
      ZDATA-ICONS = ICON_CHECKED.
      GT_COLOR-FIELDNAME = 'LUGGWEIGHT'.
      GT_COLOR-COLOR-COL = 6.
      GT_COLOR-COLOR-INT = 1.
      GT_COLOR-COLOR-INV = 1.
      APPEND GT_COLOR.
    ELSE.
      ZDATA-ICONS = ICON_FAILURE.
      GT_COLOR-FIELDNAME = 'LUGGWEIGHT'.
      GT_COLOR-COLOR-COL = 5.
      GT_COLOR-COLOR-INT = 1.
      GT_COLOR-COLOR-INV = 1.
      APPEND GT_COLOR.
    ENDIF.
    ZDATA-NUMC = ( L_TABIX DIV 10 ) * 10.
    ZDATA-COLINFO = GT_COLOR[].
    IF NOT ZDATA-LUGGWEIGHT IS INITIAL.
      MOVE '??' TO ZDATA-WUNIT.
    ENDIF.
    MODIFY ZDATA.
  ENDLOOP.

Read only

Former Member
0 Likes
654

HI

GOTO->SE80

SELECT the package and the name as SLIS

Then display.

U will find all the DEMO programs reg to ur ALV programs.

Regs

Manas

Read only

Former Member
0 Likes
654

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = ilayout1

IT_FIELDCAT = ifieldcat1

I_TABNAME = itab1

IT_EVENTS = ievent1

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB =

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = ilayout2

IT_FIELDCAT = ifieldcat2

I_TABNAME = itab2

IT_EVENTS = ieven2

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB =

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

regards

shiba dutta

Read only

Former Member
0 Likes
655

Hello,

In se38 gi´ve BALV* and press F4.

It will list all the alv reports.

Selct from that.

Vasanth