2008 Sep 02 5:57 AM
Hi ,
can i add one alv grid and one alv list is in one page.is it possible?plz tell me
Thanks,
Mahesh
Hi ,
can i add one alv grid and one alv list is in one page.is it possible?plz tell me
Thanks,
Mahesh
2008 Sep 02 6:02 AM
2008 Sep 02 6:12 AM
hi bhaskar,
BALVBT01 this standard program it adds heirarchy alv and alv list, but i am asking about can i display alv grid and alv list in one page.is it possible?
Thanks,
Mahesh.
2008 Sep 02 6:14 AM
2008 Sep 02 6:20 AM
in ooalv it can possible
you declare one screen on that you have to place two custom container and call two alv's.
2008 Sep 02 6:05 AM
Type-pool enthält Feldkatalogstruktur
TYPE-POOLS: SLIS.
Includes
INCLUDE .
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'.
*
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. "#EC CI_NOWHERE
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.
IF MAX_DATA = 'X'.
DO 100 TIMES.
APPEND XDATA.
APPEND YDATA.
APPEND ZDATA.
append hdata.
append idata.
ENDDO.
ENDIF.
ENDFORM. " SELECTION
*----
*
FORM EVENTS *
*----
*
........ *
*----
*
FORM LEVENTS.
ENDFORM.
FORM XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
XS_EVENT-FORM = 'XEND_OF_PAGE'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'XTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'XTOP_OF_LIST'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'XEND_OF_LIST'.
APPEND XS_EVENT TO GT_XEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_BEFORE_LINE_OUTPUT.
XS_EVENT-FORM = 'XBEFORE_LINE_OUTPUT'.
APPEND XS_EVENT TO GT_XEVENTS.
ENDFORM.
*----
*
FORM YEVENTS *
*----
*
........ *
*----
*
FORM YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
XS_EVENT-FORM = 'YEND_OF_PAGE'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'YTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'YTOP_OF_LIST'.
APPEND XS_EVENT TO GT_YEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'YEND_OF_LIST'.
APPEND XS_EVENT TO GT_YEVENTS.
ENDFORM.
FORM HEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENT-FORM = 'HTOP_OF_PAGE'.
APPEND XS_EVENT TO GT_HEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
XS_EVENT-FORM = 'HTOP_OF_LIST'.
APPEND XS_EVENT TO GT_HEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
XS_EVENT-FORM = 'HEND_OF_LIST'.
APPEND XS_EVENT TO GT_HEVENTS.
ENDFORM.
FORM ZEVENTS.
CLEAR XS_EVENT.
XS_EVENT-NAME = SLIS_EV_BEFORE_LINE_OUTPUT.
XS_EVENT-FORM = 'ZBEFORE_LINE_OUTPUT'.
APPEND XS_EVENT TO GT_ZEVENTS.
ENDFORM.
*
FORM ZBEFORE_LINE_OUTPUT USING LINEINFO TYPE SLIS_LINEINFO.
WRITE AT /20 'HalloZ'.
ENDFORM.
FORM XBEFORE_LINE_OUTPUT USING LINEINFO TYPE SLIS_LINEINFO.
WRITE AT /20 'HalloX'.
ENDFORM.
FORM XTOP_OF_PAGE.
BREAK-POINT.
WRITE: / 'X_TOP_OF_PAGE'.
ENDFORM.
*----
*
FORM XTOP_OF_LIST *
*----
*
........ *
*----
*
FORM XTOP_OF_LIST.
BREAK-POINT.
WRITE: / 'X_TOP_OF_LIST'.
ENDFORM.
*----
*
FORM XEND_OF_PAGE *
*----
*
........ *
*----
*
FORM XEND_OF_PAGE.
BREAK-POINT.
WRITE: / 'X_END_OF_PAGE'.
ENDFORM.
*----
*
FORM XEND_OF_LIST *
*----
*
........ *
*----
*
FORM XEND_OF_LIST.
BREAK-POINT.
WRITE: / 'X_END_OF_LIST'.
ENDFORM.
*
FORM YTOP_OF_PAGE.
BREAK-POINT.
WRITE: / 'Y_TOP_OF_PAGE'.
ENDFORM.
*----
*
FORM YTOP_OF_LIST *
*----
*
........ *
*----
*
FORM YTOP_OF_LIST.
BREAK-POINT.
WRITE: / 'Y_TOP_OF_LIST'.
ENDFORM.
*----
*
FORM YEND_OF_PAGE *
*----
*
........ *
*----
*
FORM YEND_OF_PAGE.
BREAK-POINT.
WRITE: / 'Y_END_OF_PAGE'.
ENDFORM.
*----
*
FORM YEND_OF_LIST *
*----
*
........ *
*----
*
FORM YEND_OF_LIST.
BREAK-POINT.
WRITE: / 'Y_END_OF_LIST'.
ENDFORM.
*
*----
*
FORM YTOP_OF_LIST *
*----
*
........ *
*----
*
FORM HTOP_OF_LIST.
BREAK-POINT.
WRITE: / 'h_TOP_OF_LIST'.
ENDFORM.
*----
*
FORM YEND_OF_PAGE *
*----
*
........ *
*----
*
FORM HEND_OF_PAGE.
BREAK-POINT.
WRITE: / 'h_END_OF_PAGE'.
ENDFORM.
*----
*
FORM YEND_OF_LIST *
*----
*
........ *
*----
*
FORM HEND_OF_LIST.
BREAK-POINT.
WRITE: / 'h_END_OF_LIST'.
ENDFORM.
*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'REFR'.
LOOP AT XDATA.
IF XDATA-BOX = 'X'.
XDATA-LISTINFO = 'C50'.
ELSE.
XDATA-LISTINFO = SPACE.
ENDIF.
MODIFY XDATA.
ENDLOOP.
LOOP AT YDATA.
IF YDATA-BOX = 'X'.
YDATA-LISTINFO = 'C50'.
ELSE.
YDATA-LISTINFO = SPACE.
ENDIF.
MODIFY YDATA.
ENDLOOP.
LOOP AT IDATA.
IF IDATA-BOX = 'X'.
IDATA-LISTINFO = 'C50'.
ELSE.
IDATA-LISTINFO = SPACE.
ENDIF.
MODIFY IDATA.
ENDLOOP.
LOOP AT HDATA.
IF HDATA-BOX = 'X'.
HDATA-LISTINFO = 'C50'.
ELSE.
HDATA-LISTINFO = SPACE.
ENDIF.
MODIFY HDATA.
ENDLOOP.
RS_SELFIELD-REFRESH = 'X'.
WHEN OTHERS.
ENDCASE.
ENDFORM.
*----
*
FORM PF_STATUS_SET *
*----
*
........ *
*----
*
--> EXTAB *
*----
*
FORM PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB.
BREAK-POINT.
SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
ENDFORM.
Edited by: murali papana on Sep 2, 2008 1:05 AM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |