2006 Dec 15 11:11 AM
Hi all,
Can anyone plz send some sample progs on ALV BLOCK LISTS function modules.
Thnks in advance
2006 Dec 15 11:18 AM
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
2006 Dec 15 11:14 AM
2006 Dec 15 11:15 AM
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.
2006 Dec 15 11:16 AM
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
2006 Dec 15 11:16 AM
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
2006 Dec 15 11:18 AM
Hello,
In se38 gi´ve BALV* and press F4.
It will list all the alv reports.
Selct from that.
Vasanth
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |