Google Search - Blog...........

Showing posts with label function modules fm 'REUSE_ALV_EVENTS_GET'. Show all posts
Showing posts with label function modules fm 'REUSE_ALV_EVENTS_GET'. Show all posts

ABAP - ALV Header With Logo.

report ztests .
type-pools slis.

data: begin of i_alv occurs 0,
matnr type mara-matnr,
end of i_alv.

* Miscellanous Data Declarations
data: fieldcat type slis_t_fieldcat_alv,
events type slis_t_event,
list_top_of_page type slis_t_listheader,
top_of_page type slis_formname value 'TOP_OF_PAGE'.


start-of-selection.

perform initialization.
perform get_data.
perform call_alv.

end-of-selection.

***************************************************
* Form Initialization
***************************************************
form initialization.

clear i_alv.
refresh i_alv.

perform eventtab_build using events[].

endform.

**************************************************
* Form Get_Data
**************************************************
form get_data.

select matnr
into table i_alv
from mara up to 100 rows.

endform.

**************************************************
* CALL_ALV
*************************************************
form call_alv.

data: variant type disvariant.
data: repid type sy-repid.

repid = sy-repid.
variant-report = sy-repid.
variant-username = sy-uname.

perform build_field_catalog.

perform comment_build using list_top_of_page[].

* Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = fieldcat
i_callback_program = repid
is_variant = variant
it_events = events[]
i_save = 'U'
tables
t_outtab = i_alv.

endform.

**************************************************
* EVENTTAB_BUILD
**************************************************
form eventtab_build using events type slis_t_event.

* Registration of events to happen during list display
data: tmp_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = events.
read table events with key name = slis_ev_top_of_page
into tmp_event.
if sy-subrc = 0.
move top_of_page to tmp_event-form.
append tmp_event to events.
endif.

endform.

*************************************************
* BUILD_FIELD_CATALOG
*************************************************
form build_field_catalog.

clear: fieldcat. refresh: fieldcat.

data: tmp_fc type slis_fieldcat_alv.

tmp_fc-reptext_ddic = 'Material'.
tmp_fc-fieldname = 'MATNR'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

endform.

***************************************************
* COMMENT_BUILD
***************************************************
form comment_build using list_top_of_page type
slis_t_listheader.
data: tmp_line type slis_listheader.

clear tmp_line.
tmp_line-typ = 'H'.
tmp_line-info = 'Here is a line of text'.
append tmp_line to list_top_of_page.

clear tmp_line.
tmp_line-typ = 'S'.
tmp_line-key = 'Key1'.
tmp_line-info = 'Here is a value'.
append tmp_line to list_top_of_page.

clear tmp_line.
tmp_line-typ = 'A'.
tmp_line-key = 'Key2'.
tmp_line-info = 'Here is another value'.
append tmp_line to list_top_of_page.
endform.


****************************************************
* TOP_OF_PAGE
***************************************************
form top_of_page.

call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = list_top_of_page.

endform.


ALSO READ:

- Including Line After Subtotal In ALV Display.

- ALV Subtotals In Different Blocks.

- ALV With Page Numbers & Subtotals.

- Footer Functionality In ALV Reports.

..... Back To Index On ALV List/ Grid Display.

..... Back To MAIN INDEX.


ABAP - ALV Header In 2 Lines.

REPORT zpw_alv_multipleline .TYPE-POOLS slis .
*----------------------------------------------------------------------*
* Data Declarations
*----------------------------------------------------------------------*
CONSTANTS : c_len TYPE i VALUE 20 .
TYPES : BEGIN OF ty_t100 ,
sprsl TYPE t100-sprsl ,
arbgb TYPE t100-arbgb ,
msgnr TYPE t100-msgnr ,
text TYPE t100-text ,
fline TYPE t100-text ,
END OF ty_t100 .
TYPES : BEGIN OF ty_wrd ,
text TYPE char20 ,
END OF ty_wrd .
DATA : it_t100 TYPE TABLE OF ty_t100 ,
it_sentence TYPE TABLE OF ty_wrd ,
wa_t100 TYPE ty_t100 ,
wa_word TYPE ty_wrd ,
v_repid TYPE syst-repid ,
v_tabix TYPE syst-tabix .
DATA : it_fld TYPE slis_t_fieldcat_alv ,
it_evt TYPE slis_t_event ,
wa_fld TYPE slis_fieldcat_alv ,
wa_evt TYPE slis_alv_event ,
wa_lay TYPE slis_layout_alv .
*----------------------------------------------------------------------*
* Initialization
*----------------------------------------------------------------------*
INITIALIZATION .
v_repid = sy-repid .
*----------------------------------------------------------------------*
* Start of Selection
*----------------------------------------------------------------------*
START-OF-SELECTION .
* Get some test data to display in ALV List
SELECT * INTO TABLE it_t100
FROM t100
WHERE sprsl = 'EN'
AND arbgb = '00' .
LOOP AT it_t100 INTO wa_t100 .
v_tabix = sy-tabix .
CLEAR : it_sentence .
* Word Wrap the text in multiple lines
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = wa_t100-text
outputlen = c_len
TABLES
out_lines = it_sentence.

IF NOT it_sentence IS INITIAL .
READ TABLE it_sentence INTO wa_word INDEX 1 .
wa_t100-fline = wa_word-text .
MODIFY it_t100 FROM wa_t100 INDEX v_tabix .
ENDIF. ENDLOOP.
* Prepare fieldcatelog
CLEAR wa_fld .
wa_fld-fieldname = 'SPRSL' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'SPRSL' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'ARBGB' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'ARBGB' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'MSGNR' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'MSGNR' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'FLINE' .
wa_fld-inttype = 'CHAR' .
wa_fld-outputlen = 20 .
wa_fld-intlen = 20.
wa_fld-seltext_l = 'Text' .
wa_fld-ddictxt = 'L' .
APPEND wa_fld TO it_fld .
* Get event.. we will handle BEFORE and AFTER line output
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
et_events = it_evt.
READ TABLE it_evt INTO wa_evt WITH KEY name = slis_ev_after_line_output .
wa_evt-form = slis_ev_after_line_output .
MODIFY it_evt FROM wa_evt INDEX sy-tabix .
READ TABLE it_evt INTO wa_evt WITH KEY name = slis_ev_top_of_page .
wa_evt-form = slis_ev_top_of_page .
MODIFY it_evt FROM wa_evt INDEX sy-tabix .
wa_lay-no_colhead = 'X' .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = it_fld
is_layout = wa_lay
it_events = it_evt
TABLES
t_outtab = it_t100.
*---------------------------------------------------------------------*
* FORM top_of_page *
*---------------------------------------------------------------------*
FORM top_of_page .
ULINE AT 1(58) .
FORMAT COLOR COL_HEADING .
WRITE: / sy-vline ,
02 'Header1' ,
10 sy-vline ,
11 'Header1' ,
31 sy-vline ,
32 'Header1' ,
37 sy-vline ,
38 'Header1' ,
58 sy-vline .
WRITE: / sy-vline ,
02 'Header2' ,
10 sy-vline ,
11 'Header2' ,
31 sy-vline ,
32 'Header2' ,
37 sy-vline ,
38 'Header2' ,
58 sy-vline .
ENDFORM. "top_of_page
*---------------------------------------------------------------------*
* FORM AFTER_LINE_OUTPUT *
*---------------------------------------------------------------------*
FORM after_line_output USING rs_lineinfo TYPE slis_lineinfo .
CLEAR : it_sentence ,
wa_t100 .
READ TABLE it_t100 INTO wa_t100 INDEX rs_lineinfo-tabindex .
CHECK sy-subrc = 0 .
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = wa_t100-text
outputlen = c_len TABLES
out_lines = it_sentence.
DESCRIBE TABLE it_sentence LINES v_tabix .
CHECK v_tabix > 1 .
LOOP AT it_sentence INTO wa_word FROM 2 .
WRITE: / sy-vline ,
10 sy-vline ,
31 sy-vline ,
37 sy-vline ,
38 wa_word-text ,
58 sy-vline .
ENDLOOP.
ENDFORM . "after_line_output


ALSO READ:

- ALV Header With Logo.

- Including Line After Subtotal In ALV Display.

- ALV Subtotals In Different Blocks.

- ALV With Page Numbers & Subtotals.

..... Back To Index On ALV List/ Grid Display.

..... Back To MAIN INDEX.

ABAP - Simple Example On How To Display Table Data In ALV Grid/List Display

report ZTEST .
type-pools slis.

data: begin of i_alv occurs 0,
matnr type mara-matnr,
meins like mara-meins,
mtart like mara-mtart,
pstat like mara-pstat,
mbrsh like mara-mbrsh,
matkl like mara-matkl,
WRKST like mara-WRKST,
end of i_alv.

* Miscellanous Data Declarations
data: fieldcat type slis_t_fieldcat_alv,
events type slis_t_event,
list_top_of_page type slis_t_listheader,
top_of_page type slis_formname value 'TOP_OF_PAGE'.


start-of-selection.

perform initialization.
perform get_data.
perform call_alv.

end-of-selection.

***********************************************************************
* Form Initialization
***********************************************************************
form initialization.

clear i_alv. refresh i_alv.

perform eventtab_build using events[].

endform.

***********************************************************************
* Form Get_Data
***********************************************************************
form get_data.

select matnr meins mtart pstat MBRSH MATKL WRKST into table i_alv
from mara up to 100 rows.

endform.

***********************************************************************
* CALL_ALV
***********************************************************************
form call_alv.

data: variant type disvariant.
data: repid type sy-repid.

repid = sy-repid.
variant-report = sy-repid.
variant-username = sy-uname.

perform build_field_catalog.

perform comment_build using list_top_of_page[].

* Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = fieldcat
i_callback_program = repid
is_variant = variant
it_events = events[]
i_save = 'U'
tables
t_outtab = i_alv.

endform.

***********************************************************************
* EVENTTAB_BUILD
***********************************************************************
form eventtab_build using events type slis_t_event.

* Registration of events to happen during list display
data: tmp_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = events.
read table events with key name = slis_ev_top_of_page
into tmp_event.
if sy-subrc = 0.
move top_of_page to tmp_event-form.
append tmp_event to events.
endif.

endform.

***********************************************************************
* BUILD_FIELD_CATALOG
***********************************************************************
form build_field_catalog.

clear: fieldcat. refresh: fieldcat.

data: tmp_fc type slis_fieldcat_alv.

tmp_fc-reptext_ddic = 'Material'.
tmp_fc-fieldname = 'MATNR'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'Unit of measure'.
tmp_fc-fieldname = 'MEINS'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'Material type'.
tmp_fc-fieldname = 'MTART'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'Material status'.
tmp_fc-fieldname = 'PSTAT'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'INDUSTRY SECTOR'.
tmp_fc-fieldname = 'MBRSH'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'Material GROUP'.
tmp_fc-fieldname = 'MATKL'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

tmp_fc-reptext_ddic = 'Basic Material'.
tmp_fc-fieldname = 'WRKST'.
tmp_fc-tabname = 'I_ALV'.
tmp_fc-outputlen = 18.
append tmp_fc to fieldcat.

endform.

***********************************************************************
* COMMENT_BUILD
***********************************************************************
form comment_build using list_top_of_page type
slis_t_listheader.
data: tmp_line type slis_listheader.

clear tmp_line.
tmp_line-typ = 'H'.
tmp_line-info = 'this is venkat test program'.
append tmp_line to list_top_of_page.

clear tmp_line.
tmp_line-typ = 'S'.
tmp_line-key = 'you can practise it'.
tmp_line-info = 'TRY THIS'.
append tmp_line to list_top_of_page.

clear tmp_line.
tmp_line-typ = 'A'.
tmp_line-key = 'all the best '.
tmp_line-info = 'have a nice day'.
append tmp_line to list_top_of_page.
endform.


***********************************************************************
* TOP_OF_PAGE
***********************************************************************
form top_of_page.

call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = list_top_of_page.

endform.


ALSO READ:

- Change Of ALV Grid/ List Layout (VARIANT).

- Repeating Colors In ALV Grid/List Display.

- Display Data From MARA Table In ALV Grid Display.

- Convert ALV Rows Into Column.


..... Back To Index On ALV List/ Grid Display.

..... Back To MAIN INDEX.



ABAP - ALV Interactive (Double Clicking)

interactive alv ( double clicking )
REPORT Z_INTERACTIVE_ALV.

TYPE-POOLS SLIS.

TYPES: BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
VKORG TYPE VBAK-VKORG,
VKGRP TYPE VBAK-VKGRP,
ERNAM TYPE VBAK-ERNAM,
NETWR TYPE VBAK-NETWR,
WAERK TYPE VBAK-WAERK,
END OF TY_VBAK.

TYPES: BEGIN OF TY_VBAP,
VBELN TYPE VBAK-VBELN,
MATNR TYPE VBAP-MATNR,
POSNR TYPE VBAP-POSNR,
END OF TY_VBAP.

*&---------------------------------------------------------------------*
*& Data Declarations *
*&---------------------------------------------------------------------*
DATA: T_VBAK TYPE TABLE OF TY_VBAK,
W_VBAK TYPE TY_VBAK,

T_VBAP TYPE TABLE OF TY_VBAP,
W_VBAP TYPE TY_VBAP,

T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FCAT TYPE SLIS_FIELDCAT_ALV,

T_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,
W_FCAT1 TYPE SLIS_FIELDCAT_ALV,

W_DISVARIANT TYPE DISVARIANT, "variant

W_LAYOUT TYPE SLIS_LAYOUT_ALV, "Layout

T_SORTINFO TYPE SLIS_T_SORTINFO_ALV, " sorting
W_SORT TYPE SLIS_SORTINFO_ALV,

T_EVENT TYPE SLIS_T_EVENT,
W_EVENT TYPE SLIS_ALV_EVENT,

T_LISTHEADER TYPE SLIS_T_LISTHEADER,
W_LISTHEADER TYPE SLIS_LISTHEADER.

DATA: V_FIELD(30) TYPE C,
V_VALUE(10) TYPE C.

*&---------------------------------------------------------------------*
*& Selection Screen
*&---------------------------------------------------------------------*
SELECT-OPTIONS: S_VBELN FOR W_VBAK-VBELN.
*&---------------------------------------------------------------------*
*& Initialization *
*&---------------------------------------------------------------------*
INITIALIZATION.

PERFORM SUB_BUILD_FCAT.
PERFORM SUB_BUILD_EVENT.

*&---------------------------------------------------------------------*
*& Start Of Selection *
*&---------------------------------------------------------------------*
START-OF-SELECTION.

SET PF-STATUS 'ABC'.
PERFORM SUB_GET_VBAK.

*&---------------------------------------------------------------------*
*& End Of Selection
*&---------------------------------------------------------------------*
END-OF-SELECTION.

PERFORM SUB_DISPLAY.

*&---------------------------------------------------------------------*
*& Form sub_build_fcat
*&---------------------------------------------------------------------*
FORM SUB_BUILD_FCAT .

CLEAR: W_FCAT,T_FCAT[].

W_FCAT-COL_POS = 1.
W_FCAT-FIELDNAME = 'VBELN'.
W_FCAT-TABNAME = 'T_VBAK'.
W_FCAT-SELTEXT_L = 'S.Order'.
W_FCAT-KEY = 'X'.
W_FCAT-HOTSPOT = 'X'.
APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.
W_FCAT-COL_POS = 2.
W_FCAT-FIELDNAME = 'VKORG'.
W_FCAT-TABNAME = 'T_VBAK'.
W_FCAT-SELTEXT_L = 'S.Org'.
APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.
W_FCAT-COL_POS = 3.
W_FCAT-FIELDNAME = 'VKGRP'.
W_FCAT-TABNAME = 'T_VBAK'.
W_FCAT-SELTEXT_L = 'S.Grp'.
APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.
W_FCAT-COL_POS = 4.
W_FCAT-FIELDNAME = 'NETWR'.
W_FCAT-TABNAME = 'T_VBAK'.
W_FCAT-REF_FIELDNAME = 'NETWR'.
W_FCAT-REF_TABNAME = 'VBAK'.
W_FCAT-DO_SUM = 'X'.
APPEND W_FCAT TO T_FCAT.

CLEAR W_FCAT.
W_FCAT-COL_POS = 5.
W_FCAT-FIELDNAME = 'WAERK'.
W_FCAT-TABNAME = 'T_VBAK'.
W_FCAT-SELTEXT_L = 'Doc. Cur'.
APPEND W_FCAT TO T_FCAT.

* layout
W_LAYOUT-WINDOW_TITLEBAR = 'Interactive ALV Report'.
W_LAYOUT-ZEBRA = 'X'.
W_LAYOUT-TOTALS_TEXT = 'Total Document Value'.

* sortinfo
CLEAR W_SORT.
W_SORT-FIELDNAME = 'VKORG'.
W_SORT-TABNAME = 'T_VBAK'.
W_SORT-UP = 'X'.
APPEND W_SORT TO T_SORTINFO.

ENDFORM. " sub_build_fcat
*&---------------------------------------------------------------------*
*& Form sub_get_vbak
*&---------------------------------------------------------------------*
FORM SUB_GET_VBAK .

REFRESH T_VBAK.

SELECT VBELN
VKORG
VKGRP
ERNAM
NETWR
WAERK
FROM VBAK
INTO TABLE T_VBAK
WHERE VBELN IN S_VBELN.

ENDFORM. " sub_get_vbak
*&---------------------------------------------------------------------*
*& Form sub_display
*&---------------------------------------------------------------------*
FORM SUB_DISPLAY .

W_DISVARIANT-REPORT = SY-REPID.
W_DISVARIANT-VARIANT = 'ZLAYOUT'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = W_LAYOUT
IT_FIELDCAT = T_FCAT
IT_SORT = T_SORTINFO
I_SAVE = 'A' "for saving layouts
IS_VARIANT = W_DISVARIANT
IT_EVENTS = T_EVENT
TABLES
T_OUTTAB = T_VBAK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
ENDIF.

ENDFORM. " sub_display
*&---------------------------------------------------------------------*
*& Form sub_build_event
*&---------------------------------------------------------------------*
FORM SUB_BUILD_EVENT .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
ET_EVENTS = T_EVENT
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
ENDIF.

CLEAR W_EVENT.
W_EVENT-FORM = 'SUB_USER_COMMAND'.
MODIFY T_EVENT FROM W_EVENT TRANSPORTING FORM
WHERE NAME = 'USER_COMMAND'.
CLEAR W_EVENT.
W_EVENT-FORM = 'SUB_TOP_PAGE'.
MODIFY T_EVENT FROM W_EVENT TRANSPORTING FORM
WHERE NAME = 'TOP_OF_PAGE'.

ENDFORM. " sub_build_event
*&---------------------------------------------------------------------*
*& Form sub_user_command
*&---------------------------------------------------------------------*
FORM SUB_USER_COMMAND USING P_UCOMM TYPE SY-UCOMM
P_SELTAB TYPE SLIS_SELFIELD.

GET CURSOR FIELD V_FIELD VALUE V_VALUE.
PERFORM SUB_GET_VBAP.
PERFORM SUB_BUILD_FCAT1.
PERFORM DISPLAY_VBAP.

ENDFORM. " sub_user_command
*&---------------------------------------------------------------------*
*& Form sub_top_page
*&---------------------------------------------------------------------*
FORM SUB_TOP_PAGE .

CLEAR: T_LISTHEADER[].
W_LISTHEADER-TYP = 'H'.
W_LISTHEADER-INFO = 'ALV TOP OF PAGE'.
APPEND W_LISTHEADER TO T_LISTHEADER.

W_LISTHEADER-TYP = 'S'.
W_LISTHEADER-INFO = SY-DATUM.
APPEND W_LISTHEADER TO T_LISTHEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LISTHEADER.

ENDFORM. " sub_top_page
*&---------------------------------------------------------------------*
*& Form sub_get_vbap
*&---------------------------------------------------------------------*
FORM SUB_GET_VBAP .

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = V_VALUE
IMPORTING
OUTPUT = V_VALUE.

REFRESH T_VBAP.

SELECT VBELN
POSNR
MATNR
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE T_VBAP
WHERE VBELN = V_VALUE.

ENDFORM. " sub_get_vbap
*&---------------------------------------------------------------------*
*& Form SUB_BUILD_FCAT1
*&---------------------------------------------------------------------*
FORM SUB_BUILD_FCAT1 .

CLEAR: W_FCAT1,T_FCAT1[].

CLEAR W_FCAT1.
W_FCAT1-COL_POS = 1.
W_FCAT1-FIELDNAME = 'VBELN'.
W_FCAT1-TABNAME = 'T_VBAP'.
W_FCAT1-SELTEXT_L = 'S.Order'.
W_FCAT1-KEY = 'X'.
W_FCAT1-HOTSPOT = 'X'.
APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.
W_FCAT1-COL_POS = 2.
W_FCAT1-FIELDNAME = 'POSNR'.
W_FCAT1-TABNAME = 'T_VBAP'.
W_FCAT1-SELTEXT_L = 'S.Item'.
APPEND W_FCAT1 TO T_FCAT1.

CLEAR W_FCAT1.
W_FCAT1-COL_POS = 3.
W_FCAT1-FIELDNAME = 'MATNR'.
W_FCAT1-TABNAME = 'T_VBAP'.
W_FCAT1-SELTEXT_L = 'Material'.
APPEND W_FCAT1 TO T_FCAT1.

ENDFORM. " SUB_BUILD_FCAT1
*&---------------------------------------------------------------------*
*& Form display_vbap
*&---------------------------------------------------------------------*
FORM DISPLAY_VBAP .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = T_FCAT1
TABLES
T_OUTTAB = T_VBAP.

IF SY-SUBRC <> 0.
ENDIF.

ENDFORM. " display_vbap


..... Back To Index On ALV List/ Grid Display.

..... Back To MAIN INDEX.


ABAP - Header In Bold - ALV Grid/List Display

REPORT zvenkat.

TYPE-POOLS: SLIS.

TABLES: MARA.

DATA: BEGIN OF IT_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
END OF IT_MARA.

DATA: IT_FIELD_CAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELD_CAT TYPE SLIS_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_ALV_EVENT,
IT_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER.

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM BUILD_FIELD_CAT.

PERFORM GET_EVENTS.

PERFORM DISPLAY_DATA.

*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA .

SELECT MATNR
MTART
MATKL
FROM MARA
INTO TABLE IT_MARA
WHERE MATNR IN S_MATNR.

ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Form build_field_cat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM BUILD_FIELD_CAT .

CLEAR WA_FIELD_CAT.

WA_FIELD_CAT-COL_POS = 1.
WA_FIELD_CAT-FIELDNAME = 'MATNR'.
WA_FIELD_CAT-SELTEXT_L = 'Material Number'.
APPEND WA_FIELD_CAT TO IT_FIELD_CAT.

WA_FIELD_CAT-COL_POS = 2.
WA_FIELD_CAT-FIELDNAME = 'MTART'.
WA_FIELD_CAT-SELTEXT_L = 'Material Type'.
APPEND WA_FIELD_CAT TO IT_FIELD_CAT.

WA_FIELD_CAT-COL_POS = 3.
WA_FIELD_CAT-FIELDNAME = 'MATKL'.
WA_FIELD_CAT-SELTEXT_L = 'Material Group'.
APPEND WA_FIELD_CAT TO IT_FIELD_CAT.

ENDFORM. " build_field_cat

*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = IT_FIELD_CAT
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = IT_MARA.

ENDFORM. " display_data

*&---------------------------------------------------------------------*
*& Form get_events
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_EVENTS .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
ET_EVENTS = IT_EVENTS .

READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = SLIS_EV_TOP_OF_PAGE.
IF SY-SUBRC = 0.
WA_EVENTS-FORM = 'TOP_OF_PAGE'.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.

ENDFORM. " get_events

*&---------------------------------------------------------------------*
*& Form top_of_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.

WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'Material Data'.
APPEND WA_HEADER TO IT_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_HEADER.

ENDFORM. "top_of_page

ALSO READ:

- Double Click On ALV Grid/List Report.

- ALV Interactive (Double Clicking).

- Simple Example On How To Display Table Data In ALV Grid/List Display.

- Change Of ALV Grid/ List Layout (VARIANT).


..... Back To Index On ALV List/ Grid Display.

..... Back To MAIN INDEX.