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

Showing posts with label REUSE_ALV_COMMENTARY_WRITE. Show all posts
Showing posts with label REUSE_ALV_COMMENTARY_WRITE. Show all posts

ABAP - Purchase Requisition Report for displaying the status

REPORT zmm_pr_status_report.

TYPE-POOLS: slis.

TABLES: eban.

TYPES: BEGIN OF ty_eban,
banfn TYPE eban-banfn,
bnfpo TYPE eban-bnfpo,
bsart TYPE eban-bsart,
statu TYPE eban-statu,
ernam TYPE eban-ernam,
erdat TYPE eban-erdat,
afnam TYPE eban-afnam,
matnr TYPE eban-matnr,
werks TYPE eban-werks,
lgort TYPE eban-lgort,
menge TYPE eban-menge,
meins TYPE eban-meins,
badat TYPE eban-badat,
lfdat TYPE eban-lfdat,
frgdt TYPE eban-frgdt,
ebeln TYPE eban-ebeln,
ebelp TYPE eban-ebelp,
END OF ty_eban.

TYPES: BEGIN OF ty_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
bukrs TYPE ekpo-bukrs,
werks TYPE ekpo-werks,
lgort TYPE ekpo-lgort,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
END OF ty_ekpo.

TYPES: BEGIN OF ty_makt,
matnr TYPE mara-matnr,
maktx TYPE makt-maktx,
END OF ty_makt.

TYPES: BEGIN OF ty_ekbe,
ebeln TYPE ekbe-ebeln,
ebelp TYPE ekbe-ebelp,
bewtp TYPE ekbe-bewtp,
menge TYPE ekbe-menge,
matnr TYPE ekbe-matnr,
bldat TYPE ekbe-bldat,
END OF ty_ekbe.

TYPES: BEGIN OF ty_final,
banfn TYPE eban-banfn,
bnfpo TYPE eban-bnfpo,
bsart TYPE eban-bsart,
statu TYPE eban-statu,
ernam TYPE eban-ernam,
erdat TYPE eban-erdat,
afnam TYPE eban-afnam,
matnr TYPE eban-matnr,
werks TYPE eban-werks,
lgort TYPE eban-lgort,
menge TYPE eban-menge,
meins TYPE eban-meins,
badat TYPE eban-badat,
lfdat TYPE eban-lfdat,
frgdt TYPE eban-frgdt,
ebeln TYPE eban-ebeln,
ebelp TYPE eban-ebelp,
menge1 TYPE eban-menge,
meins1 TYPE eban-meins,
maktx TYPE makt-maktx,
text TYPE char40,
qty1 TYPE eban-menge,
qty2 TYPE eban-menge,
qty3 TYPE eban-menge,
remarks type char50,
END OF ty_final.


DATA: it_eban TYPE TABLE OF ty_eban WITH HEADER LINE,
it_makt TYPE TABLE OF ty_makt WITH HEADER LINE,
it_ekpo TYPE TABLE OF ty_ekpo WITH HEADER LINE,
it_ekbe TYPE TABLE OF ty_ekbe WITH HEADER LINE,
it_final TYPE TABLE OF ty_final WITH HEADER LINE.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
it_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
wa_events LIKE LINE OF it_events,
it_list TYPE slis_t_listheader WITH HEADER LINE.


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_banfn FOR eban-banfn,
s_erdat FOR eban-erdat,
s_werks FOR eban-werks.
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.


PERFORM get_eban_data.

PERFORM get_ekpo_data.

PERFORM get_makt_data.

PERFORM get_ekbe_data.

END-OF-SELECTION.

DATA: values_tab TYPE TABLE OF dd07v WITH HEADER LINE,
v_menge1 TYPE eban-menge,
v_menge2 TYPE eban-menge,
v_menge3 TYPE eban-menge.

PERFORM get_status_text.

PERFORM process_data.

PERFORM prepare_fieldcat.

PERFORM display_alv.

*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCAT
*----------------------------------------------------------------------*
FORM build_fieldcat USING p_field
p_desc.

wa_fieldcat-fieldname = p_field.
wa_fieldcat-reptext_ddic = p_desc.
wa_fieldcat-tabname = 'IT_FINAL'.

APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

ENDFORM. " BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*----------------------------------------------------------------------*
FORM display_alv .

it_layout-zebra = 'X'.
it_layout-colwidth_optimize = 'X'.

wa_events-form = 'TOP_OF_PAGE'.
wa_events-name = 'TOP_OF_PAGE'.
append wa_events to it_events.
clear wa_events.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_GRID_TITLE =
is_layout = it_layout
it_fieldcat = it_fieldcat
it_events = it_events
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.


ENDFORM. " DISPLAY_ALV
*&---------------------------------------------------------------------*
*& Form GET_EBAN_DATA
*----------------------------------------------------------------------*
FORM get_eban_data .

SELECT banfn
bnfpo
bsart
statu
ernam
erdat
afnam
matnr
werks
lgort
menge
meins
badat
lfdat
frgdt
ebeln
ebelp
FROM eban
INTO TABLE it_eban
WHERE banfn IN s_banfn
AND erdat IN s_erdat
AND werks IN s_werks.

IF sy-subrc = 0.
SORT it_eban BY banfn bnfpo.
ENDIF.

ENDFORM. " GET_EBAN_DATA
*&---------------------------------------------------------------------*
*& Form GET_EKPO_DATA
*----------------------------------------------------------------------*
FORM get_ekpo_data .

IF NOT it_eban[] IS INITIAL.

SELECT
ebeln
ebelp
statu
aedat
matnr
bukrs
werks
lgort
menge
meins
FROM ekpo
INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_eban
WHERE ebeln = it_eban-ebeln
AND ebelp = it_eban-ebelp.

IF sy-subrc = 0.
SORT it_ekpo BY ebeln ebelp.
ENDIF.
ENDIF.

ENDFORM. " GET_EKPO_DATA
*&---------------------------------------------------------------------*
*& Form GET_MAKT_DATA
*----------------------------------------------------------------------*
FORM get_makt_data .

SELECT matnr
maktx
FROM makt
INTO TABLE it_makt
FOR ALL ENTRIES IN it_ekpo
WHERE matnr = it_ekpo-matnr
AND spras = 'EN'.

IF sy-subrc = 0.
SORT it_makt BY matnr.
ENDIF.
ENDFORM. " GET_MAKT_DATA
*&---------------------------------------------------------------------*
*& Form GET_EKBE_DATA
*----------------------------------------------------------------------*
FORM get_ekbe_data .

SELECT ebeln
ebelp
bewtp
menge
matnr
bldat
FROM ekbe
INTO TABLE it_ekbe
FOR ALL ENTRIES IN it_ekpo
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.

IF sy-subrc = 0.
SORT it_ekbe BY ebeln ebelp.
ENDIF.

ENDFORM. " GET_EKBE_DATA
*&---------------------------------------------------------------------*
*& Form GET_STATUS_TEXT
*----------------------------------------------------------------------*
FORM get_status_text .

CALL FUNCTION 'GET_DOMAIN_VALUES'
EXPORTING
domname = 'BANST'
text = 'X'
TABLES
values_tab = values_tab
EXCEPTIONS
no_values_found = 1
OTHERS = 2.

ENDFORM. " GET_STATUS_TEXT
*&---------------------------------------------------------------------*
*& Form PROCESS_DATA
*----------------------------------------------------------------------*
FORM process_data .


LOOP AT it_eban.

MOVE-CORRESPONDING it_eban TO it_final.

READ TABLE values_tab WITH KEY domvalue_l = it_eban-statu.
IF sy-subrc = 0.
it_final-text = values_tab-ddtext.
ENDIF.
READ TABLE it_ekpo WITH KEY ebeln = it_eban-ebeln
ebelp = it_eban-ebelp.
IF sy-subrc = 0.
it_final-menge1 = it_ekpo-menge.
it_final-meins1 = it_ekpo-meins.
ENDIF.

READ TABLE it_makt WITH KEY matnr = it_final-matnr.
IF sy-subrc = 0.
it_final-maktx = it_makt-maktx.
ENDIF.

LOOP AT it_ekbe WHERE ebeln = it_eban-ebeln
AND ebelp = it_eban-ebelp
AND matnr = it_eban-matnr.

CASE : it_ekbe-bewtp.
WHEN 'E'.
v_menge1 = v_menge1 + it_ekbe-menge.
WHEN 'R'.
v_menge2 = v_menge2 + it_ekbe-menge.
ENDCASE.

ENDLOOP.

it_final-qty1 = v_menge2.
it_final-qty2 = it_final-menge1 - v_menge2 .
it_final-qty3 = it_final-menge - v_menge2 .


CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = it_final-matnr
IMPORTING
output = it_final-matnr.

APPEND it_final.
CLEAR: it_final,
v_menge1,
v_menge2.

ENDLOOP.

ENDFORM. " PROCESS_DATA
*&---------------------------------------------------------------------*
*& Form PREPARE_FIELDCAT
*----------------------------------------------------------------------*
FORM prepare_fieldcat .

PERFORM build_fieldcat USING : 'FRGDT' 'PR Date',
'LFDAT' 'Delivery Date',
'AFNAM' 'Requested By',
'ERNAM' 'PR Created By',
'BANFN' 'PR Number',
'BNFPO' 'Item No',
'MATNR' 'Material',
'MAKTX' 'Material Desc',
'MENGE' 'PR Quantity',
'MEINS' 'Unit',
'BEDAT' 'PO Date',
'EBELN' 'PO Number',
'EBELP' 'PO Item',
'MENGE1' 'PO Quantity',
'QTY1' 'Qty Delevered',
'QTY2' 'PO Qty Pending',
'QTY3' 'PR Qty Pending',
'WERKS' 'Plant',
'LGORT' 'Stor Loc',
'TEXT' 'PR Status',
'REMARK' 'Remarks'.


ENDFORM. " PREPARE_FIELDCAT
*&--------------------------------------------------------------------*
*& Form top_of_page
*&--------------------------------------------------------------------*
* get the top-of-page and display
*---------------------------------------------------------------------*
FORM top_of_page.
*--Display the header of the report
perform HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list[]
I_LOGO = 'ZLOGO2'.

ENDFORM. "top_of_page
*&---------------------------------------------------------------------*
*& Form HEADER
*&---------------------------------------------------------------------*
* Get the header of the alv
*----------------------------------------------------------------------*
FORM header .

*----variables for output header of the alv
DATA : date_s(10), date_e(10).
DATA: company_name(50) TYPE c VALUE 'Company Name'.
DATA : head_line(60) TYPE c.
DATA : today(10) TYPE c.
DATA : curr_time(10) TYPE c.
DATA : page_no(5) TYPE c.
DATA : len TYPE i.
DATA : wa_num1 TYPE i.
DATA : wa_num2 TYPE i.
DATA : pos TYPE i.
DATA : linex TYPE i,
v_stext(40), " Initial Template Id text
v_f4flag TYPE c.

WRITE sy-datum MM/DD/YYYY TO today.
WRITE sy-uzeit TO curr_time.
WRITE sy-pagno TO page_no LEFT-JUSTIFIED.

REFRESH it_list.
CLEAR it_list.

*---- REPORT PROGRAM NAME AND CLINT
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Report...:' sy-repid '(' sy-sysid(3) sy-mandt ')'
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*---- USER NAME
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'User.....:' sy-uname
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------DATE / TIME STAMP
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Date/Time:' today curr_time
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------PAGE NUMBER
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Page.....:' page_no
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE ' ' ' '
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------COMPANY NAME
* determine the starting position to center the company name
len = STRLEN( company_name ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = company_name.
APPEND it_list TO it_list.

*-------REPORT TITLE
data: v_string type char40.
v_string = 'Test Progarm Header'.
* determine the starting position to center the report title
len = STRLEN( v_string ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = v_string.
APPEND it_list TO it_list.


* determine the starting position to center the report title
len = STRLEN( sy-title ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = sy-title.
APPEND it_list TO it_list.

len = STRLEN( head_line ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-info+pos(len) = head_line.
APPEND it_list.
CLEAR it_list.

ENDFORM. " HEADER


ALSO READ:

- Handling Radio Buttons in SALV Tree Display.

- Display The PO Status In ALV Report - MM.

- SALV List With Check Box.

- SALV List With Symbol.

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

..... Back To MAIN INDEX.


ABAP - Display The PO Status In ALV Report - MM.

*------------------------------------------------------*
* This program will display the data for the PO with RFQ
*-----------------------------------------------------*
REPORT zmm_po_status_report.


TYPE-POOLS: slis.

TABLES: ekko, ekpo.

TYPES: BEGIN OF ty_eban,
banfn TYPE eban-banfn,
bnfpo TYPE eban-bnfpo,
ebeln TYPE eban-ebeln,
ebelp TYPE eban-ebelp,
END OF ty_eban.

TYPES: BEGIN OF ty_ekbe,
ebeln TYPE ekbe-ebeln,
ebelp TYPE ekbe-ebelp,
bewtp TYPE ekbe-bewtp,
menge TYPE ekbe-menge,
matnr TYPE ekbe-matnr,
bldat TYPE ekbe-bldat,
END OF ty_ekbe.

TYPES : BEGIN OF ty_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
bukrs TYPE ekpo-bukrs,
werks TYPE ekpo-werks,
lgort TYPE ekpo-lgort,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
abskz TYPE ekpo-abskz,
elikz TYPE ekpo-elikz,
erekz TYPE ekpo-erekz,
wepos TYPE ekpo-wepos,
repos TYPE ekpo-repos,
webre TYPE ekpo-webre,
lmein TYPE ekpo-lmein,
sobkz TYPE ekpo-sobkz,
END OF ty_ekpo.

TYPES: BEGIN OF ty_ekko,
ebeln TYPE ekko-ebeln,
waers TYPE ekko-waers,
END OF ty_ekko.

TYPES: BEGIN OF ty_makt,
matnr TYPE mara-matnr,
maktx TYPE makt-maktx,
END OF ty_makt.

TYPES: BEGIN OF ty_final,
banfn TYPE eban-banfn,
bnfpo TYPE eban-bnfpo,
aedat TYPE ekpo-aedat,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
matnr TYPE ekpo-matnr,
maktx TYPE makt-maktx,
menge TYPE ekpo-menge,
menge1 TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
waers TYPE ekko-waers,
werks TYPE ekpo-werks,
lgort TYPE ekpo-lgort,
remark TYPE char50,
END OF ty_final.


DATA: it_eban TYPE TABLE OF ty_eban WITH HEADER LINE,
it_makt TYPE TABLE OF ty_makt WITH HEADER LINE,
it_ekko TYPE TABLE OF ty_ekko WITH HEADER LINE,
it_ekpo TYPE TABLE OF ty_ekpo WITH HEADER LINE,
it_ekbe TYPE TABLE OF ty_ekbe WITH HEADER LINE,
it_final TYPE TABLE OF ty_final WITH HEADER LINE.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
it_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
wa_events LIKE LINE OF it_events,
it_list TYPE slis_t_listheader WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_ebeln FOR ekko-ebeln,
s_aedat FOR ekko-aedat,
s_werks FOR ekpo-werks.
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

PERFORM get_ekko_data.

PERFORM get_ekpo_data.

PERFORM get_eban_data.

PERFORM get_ekbe_data.

PERFORM get_makt_data.

END-OF-SELECTION.

PERFORM process_data.

PERFORM prepare_fieldcat.

PERFORM display_alv.


*&---------------------------------------------------------------------*
*& Form GET_EKKO_DATA
*----------------------------------------------------------------------*
FORM get_ekko_data .

SELECT ebeln
waers
FROM ekko
INTO TABLE it_ekko
WHERE ebeln IN s_ebeln
AND aedat IN s_aedat.

IF sy-subrc = 0.
SORT it_ekko BY ebeln.
ENDIF.

ENDFORM. " GET_EKKO_DATA
*&---------------------------------------------------------------------*
*& Form GET_EKPO_DATA
*----------------------------------------------------------------------*
FORM get_ekpo_data .

SELECT ebeln
ebelp
statu
aedat
matnr
bukrs
werks
lgort
menge
meins
netpr
abskz
elikz
erekz
wepos
repos
webre
lmein
sobkz
FROM ekpo
INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_ekko
WHERE ebeln = it_ekko-ebeln
AND werks IN s_werks.

IF sy-subrc = 0.
SORT it_ekpo BY ebeln ebelp.
ENDIF.


ENDFORM. " GET_EKPO_DATA
*&---------------------------------------------------------------------*
*& Form GET_EBAN_DATA
*----------------------------------------------------------------------*
FORM get_eban_data .

SELECT banfn
bnfpo
ebeln
ebelp
FROM eban
INTO TABLE it_eban
FOR ALL ENTRIES IN it_ekpo
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp
AND matnr = it_ekpo-matnr.

IF sy-subrc = 0.
SORT it_eban BY ebeln ebelp.
ENDIF.

ENDFORM. " GET_EBAN_DATA
*&---------------------------------------------------------------------*
*& Form GET_MAKT_DATA
*----------------------------------------------------------------------*
FORM get_makt_data .

SELECT matnr
maktx
FROM makt
INTO TABLE it_makt
FOR ALL ENTRIES IN it_ekpo
WHERE matnr = it_ekpo-matnr
AND spras = 'EN'.

IF sy-subrc = 0.
SORT it_makt BY matnr.
ENDIF.

ENDFORM. " GET_MAKT_DATA
*&---------------------------------------------------------------------*
*& Form PROCESS_DATA
*----------------------------------------------------------------------*
FORM process_data .


LOOP AT it_ekpo.

it_final-ebeln = it_ekpo-ebeln.
it_final-ebelp = it_ekpo-ebelp.
it_final-menge = it_ekpo-menge.
it_final-meins = it_ekpo-meins.
it_final-werks = it_ekpo-werks.
it_final-lgort = it_ekpo-lgort.
it_final-aedat = it_ekpo-aedat.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = it_ekpo-matnr
IMPORTING
output = it_final-matnr.

READ TABLE it_eban WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
IF sy-subrc = 0.
it_final-banfn = it_eban-banfn.
it_final-bnfpo = it_eban-bnfpo.
ENDIF.

READ TABLE it_makt WITH KEY matnr = it_ekpo-matnr.
IF sy-subrc = 0.
it_final-maktx = it_makt-maktx.
ENDIF.

READ TABLE it_ekko WITH KEY ebeln = it_ekpo-ebeln.
IF sy-subrc = 0.
it_final-waers = it_ekko-waers.
ENDIF.

LOOP AT it_ekbe WHERE ebeln = it_eban-ebeln
AND ebelp = it_eban-ebelp.

CASE : it_ekbe-bewtp.
WHEN 'E'.
it_final-menge1 = it_final-menge1 + it_ekbe-menge.
ENDCASE.
ENDLOOP.

it_final-menge1 = it_final-menge - it_final-menge1.

CLEAR : it_final-remark.
APPEND it_final.
CLEAR it_final.

ENDLOOP.

ENDFORM. " PROCESS_DATA
*&---------------------------------------------------------------------*
*& Form PREPARE_FIELDCAT
*----------------------------------------------------------------------*
FORM prepare_fieldcat .

PERFORM build_fieldcat USING : 'BANFN' 'PR Number',
'BNFPO' 'PR Item',
'AEDAT' 'PO Date',
'EBELN' 'PO Number',
'EBELP' 'PO Item',
'MATNR' 'Material',
'MAKTX' 'Material Desc',
'MENGE' 'PO Quantity',
'MENGE1' 'PO Qty Pending',
'MEINS' 'Unit',
'NETPR' 'Net Price',
'WAERS' 'Currency',
'WERKS' 'Plant',
'LGORT' 'Stor Loc',
'REMARK' 'Remarks'.

ENDFORM. " PREPARE_FIELDCAT
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCAT
*----------------------------------------------------------------------*
FORM build_fieldcat USING value(p_0491)
value(p_0492).

wa_fieldcat-fieldname = p_0491.
wa_fieldcat-reptext_ddic = p_0492.
wa_fieldcat-tabname = 'IT_FINAL'.

IF wa_fieldcat-fieldname = 'MATNR' OR wa_fieldcat-fieldname = 'MAKTX'.
wa_fieldcat-just = 'L'.
ELSE.
wa_fieldcat-just = 'C'.
ENDIF.

APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.

ENDFORM. " BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*----------------------------------------------------------------------*
FORM display_alv .

it_layout-zebra = 'X'.
it_layout-colwidth_optimize = 'X'.

wa_events-form = 'TOP_OF_PAGE'.
wa_events-name = 'TOP_OF_PAGE'.
APPEND wa_events TO it_events.
CLEAR wa_events.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_GRID_TITLE =
is_layout = it_layout
it_fieldcat = it_fieldcat
it_events = it_events
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.


ENDFORM. " DISPLAY_ALV
*&--------------------------------------------------------------------*
*& Form top_of_page
*&--------------------------------------------------------------------*
* get the top-of-page and display
*---------------------------------------------------------------------*
FORM top_of_page.
*--Display the header of the report
PERFORM header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list[]
i_logo = 'ZLOGO2'.

ENDFORM. "top_of_page
*&---------------------------------------------------------------------*
*& Form HEADER
*&---------------------------------------------------------------------*
* Get the header of the alv
*----------------------------------------------------------------------*
FORM header .

*----variables for output header of the alv
DATA : date_s(10), date_e(10).
DATA: company_name(50) TYPE c VALUE 'Company Header'.
DATA : head_line(60) TYPE c.
DATA : today(10) TYPE c.
DATA : curr_time(10) TYPE c.
DATA : page_no(5) TYPE c.
DATA : len TYPE i.
DATA : wa_num1 TYPE i.
DATA : wa_num2 TYPE i.
DATA : pos TYPE i.
DATA : linex TYPE i,
v_stext(40), " Initial Template Id text
v_f4flag TYPE c.

WRITE sy-datum MM/DD/YYYY TO today.
WRITE sy-uzeit TO curr_time.
WRITE sy-pagno TO page_no LEFT-JUSTIFIED.

REFRESH it_list.
CLEAR it_list.

*---- REPORT PROGRAM NAME AND CLINT
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Report...:' sy-repid '(' sy-sysid(3) sy-mandt ')'
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*---- USER NAME
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'User.....:' sy-uname
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------DATE / TIME STAMP
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Date/Time:' today curr_time
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------PAGE NUMBER
CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE 'Page.....:' page_no
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

CLEAR it_list.
it_list-typ = 'S'.
it_list-key = space.
CONCATENATE ' ' ' '
INTO it_list-info SEPARATED BY space.
APPEND it_list TO it_list.

*------COMPANY NAME
* determine the starting position to center the company name
len = STRLEN( company_name ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = company_name.
APPEND it_list TO it_list.

*-------REPORT TITLE
DATA: v_string TYPE char40.
v_string = 'Test Header'.
* determine the starting position to center the report title
len = STRLEN( v_string ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = v_string.
APPEND it_list TO it_list.


* determine the starting position to center the report title
len = STRLEN( sy-title ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-key = space.
it_list-info+pos(len) = sy-title.
APPEND it_list TO it_list.

len = STRLEN( head_line ).
wa_num1 = 60 - len.
pos = wa_num1 / 2.
IF pos LT 1.
pos = 1.
ENDIF.
len = 60 - pos.

CLEAR it_list.
it_list-typ = 'H'.
it_list-info+pos(len) = head_line.
APPEND it_list.
CLEAR it_list.

ENDFORM. " HEADER
*&---------------------------------------------------------------------*
*& Form GET_EKBE_DATA
*----------------------------------------------------------------------*
FORM get_ekbe_data .

SELECT ebeln
ebelp
bewtp
menge
matnr
bldat
FROM ekbe
INTO TABLE it_ekbe
FOR ALL ENTRIES IN it_ekpo
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.

IF sy-subrc = 0.
SORT it_ekbe BY ebeln ebelp.
ENDIF.

ENDFORM. " GET_EKBE_DATA


ALSO READ:

- Create Unique Handle For ALV Layout (Variant).

- Customizing Toolbar In ALV Tree Using ABAP OO.

- Dropdown in ALV Grid Display.

- SALV List With Check Box.

- SALV List With Symbol.

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

..... Back To MAIN INDEX.


ABAP - ALV Report With Variant Option Save.

REPORT ZALV_REPORT_SFLIGHT.

TABLES : SFLIGHT.

TYPE-POOLS : SLIS.

**INTERNAL TABLE DECLARTION
DATA : WA_SFLIGHT TYPE SFLIGHT,
IT_SFLIGHT TYPE TABLE OF SFLIGHT.

**DATA DECLARTION
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID,
G_SAVE TYPE C VALUE 'X',
G_VARIANT TYPE DISVARIANT,
GX_VARIANT TYPE DISVARIANT,
G_EXIT TYPE C,
ISPFLI TYPE TABLE OF SPFLI.


**SELECTION SCREEN DETAILS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 .
PARAMETERS: VARIANT LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B1.

**GETTING DEFAULT VARIANT
INITIALIZATION.
GX_VARIANT-REPORT = SY-REPID.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
VARIANT = GX_VARIANT-VARIANT.
ENDIF.

**PERFORM DECLARATIONS
START-OF-SELECTION.
PERFORM DATA_RETRIVEL.
PERFORM BUILD_FIELDCATALOG.
PERFORM DISPLAY_ALV_REPORT.

*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCATALOG
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATALOG .
FIELDCATALOG-FIELDNAME = 'CARRID'.
FIELDCATALOG-SELTEXT_M = 'Airline Code'.
FIELDCATALOG-COL_POS = 0.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'CONNID'.
FIELDCATALOG-SELTEXT_M = 'Flight Connection Number'.
FIELDCATALOG-COL_POS = 1.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'FLDATE'.
FIELDCATALOG-SELTEXT_M = 'Flight date'.
FIELDCATALOG-COL_POS = 2.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.

FIELDCATALOG-FIELDNAME = 'PRICE'.
FIELDCATALOG-SELTEXT_M = 'Airfare'.
FIELDCATALOG-COL_POS = 3.
FIELDCATALOG-OUTPUTLEN = 20.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.

ENDFORM. " BUILD_FIELDCATALOG


*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------*

FORM DISPLAY_ALV_REPORT .

GD_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
IT_FIELDCAT = FIELDCATALOG[]
I_SAVE = 'X'
IS_VARIANT = G_VARIANT
TABLES
T_OUTTAB = IT_SFLIGHT.

ENDFORM.
"DISPLAY_ALV_REPORT" DISPLAY_ALV_REPORT *&-------------------------------------

--------------------------------* *& Form DATA_RETRIVEL *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM DATA_RETRIVEL . SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT. ENDFORM. " DATA_RETRIVEL
*-------------------------------------------------------------------*
* Form TOP-OF-PAGE *
*-------------------------------------------------------------------*
* ALV Report Header *
*-------------------------------------------------------------------*
FORM TOP-OF-PAGE.

*ALV Header declarations
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER,
T_LINE LIKE WA_HEADER-INFO,
LD_LINES TYPE I,
LD_LINESC(10) TYPE C.

* Title
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'SFLIGHT Table Report'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.

* Date
WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = 'Date: '.

CONCATENATE SY-DATUM+6(2) '.'
SY-DATUM+4(2) '.'
SY-DATUM(4) INTO WA_HEADER-INFO. "todays date

APPEND WA_HEADER TO T_HEADER.
CLEAR: WA_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM. "top-of-page



ALSO READ:

- Display Red, Yellow & Green Signal In ALV Display.

- Column's With Different Colors (Using Methods) In ALV Display.

- ALV On The Selection Screen Of A Program.

- Header In ALV Grid/List Display.

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

..... Back To MAIN INDEX.


ABAP - Double Click On ALV Grid/List Report

REPORT Z50789_ALV2.

TYPE-POOLS: SLIS.

*type declaration for values from ekko
TYPES: BEGIN OF I_EKKO,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
BUKRS LIKE EKKO-BUKRS,
BSART LIKE EKKO-BSART,
LIFNR LIKE EKKO-LIFNR,
END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,
WA_EKKO TYPE I_EKKO.

*type declaration for values from ekpo
TYPES: BEGIN OF I_EKPO,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETPR LIKE EKPO-NETPR,
END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,
WA_EKPO TYPE I_EKPO .

*variable for Report ID
DATA: V_REPID LIKE SY-REPID .

*declaration for fieldcatalog
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.


DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.

* declaration for events table where user comand or
*set PF status will be defined
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.

* declartion for layout
DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.

* declaration for variant(type of display we want)
DATA: I_VARIANT TYPE DISVARIANT,
I_VARIANT1 TYPE DISVARIANT,
I_SAVE(1) TYPE C.

*Title displayed when the alv list is displayed
DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.

INITIALIZATION.
V_REPID = SY-REPID.
PERFORM BUILD_FIELDCATLOG.
PERFORM POPULATE_EVENT.

START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.
PERFORM DISPLAY_ALV_REPORT.

*&--------------------------------------------------------------------*
*& Form BUILD_FIELDCATLOG
*&--------------------------------------------------------------------*
* Fieldcatalog has all the field details from ekko
*---------------------------------------------------------------------*

FORM BUILD_FIELDCATLOG.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'AEDAT'.
WA_FIELDCAT-SELTEXT_M = 'DATE.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-NO_OUT = 'X'.
WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.


ENDFORM. "BUILD_FIELDCATLOG

*&--------------------------------------------------------------------*
*& Form POPULATE_EVENT
*&--------------------------------------------------------------------*
* Events populated for TOP OF PAGE & USER COMAND
*---------------------------------------------------------------------*
FORM POPULATE_EVENT.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
ENDIF.
ENDFORM. "POPULATE_EVENT


*&--------------------------------------------------------------------*
*& Form data_retrieval
*&--------------------------------------------------------------------*
* retreiving values from the database table ekko
*---------------------------------------------------------------------*
FORM DATA_RETRIEVAL.
SELECT EBELN
AEDAT
BUKRS
BSART
LIFNR
FROM EKKO
INTO TABLE IT_EKKO.

ENDFORM. "data_retrieval
*&--------------------------------------------------------------------*
*& Form bUild_listheader
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->I_LISTHEADEtext
*---------------------------------------------------------------------*
FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA: HLINE TYPE SLIS_LISTHEADER OCCURS 0 WITH HEADER LINE,
WA_HLINE TYPE SLIS_LISTHEADER .

HLINE-INFO = 'this is my first alv pgm'.
HLINE-TYP = 'H'.
APPEND HLINE.
ENDFORM. "build_listheader

*&--------------------------------------------------------------------*
*& Form display_alv_report
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT.

V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = I_TITLE_EKKO
IS_LAYOUT = ALV_LAYOUT
IT_FIELDCAT = I_FIELDCAT[]
I_SAVE = 'A'
IT_EVENTS = V_EVENTS
TABLES
T_OUTTAB = IT_EKKO.

ENDFORM. "display_alv_report




*&--------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER.

ENDFORM. "TOP_OF_PAGE

*&--------------------------------------------------------------------*
*& Form USER_COMMAND
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->R_UCOMM text
* -->, text
* -->RS_SLEFIELDtext
*---------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.
PERFORM BUILD_FIELDCATLOG_EKPO.
PERFORM EVENT_CALL_EKPO.
PERFORM POPULATE_EVENT_EKPO.
PERFORM DATA_RETRIEVAL_EKPO.
PERFORM DISPLAY_ALV_EKPO.
ENDCASE.
ENDFORM. "user_command
*&--------------------------------------------------------------------*
*& Form BUILD_FIELDCATLOG_EKPO
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM BUILD_FIELDCATLOG_EKPO.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-FIELDNAME = 'EBELP'.
WA_FIELDCAT-SELTEXT_M = 'LINE NO'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MENGE'.
WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MEINS'.
WA_FIELDCAT-SELTEXT_M = 'UOM'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'NETPR'.
WA_FIELDCAT-SELTEXT_M = 'PRICE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.


ENDFORM. "BUILD_FIELDCATLOG_EKPO

*&--------------------------------------------------------------------*
*& Form event_call_ekpo
*&--------------------------------------------------------------------*
* we get all events - TOP OF PAGE or USER COMMAND in table v_events
*---------------------------------------------------------------------*
FORM EVENT_CALL_EKPO.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS.
.
ENDFORM. "event_call_ekpo


*&--------------------------------------------------------------------*
*& Form POPULATE_EVENT
*&--------------------------------------------------------------------*
* Events populated for TOP OF PAGE & USER COMAND
*---------------------------------------------------------------------*
FORM POPULATE_EVENT_EKPO.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.

ENDFORM. "POPULATE_EVENT

*&--------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM F_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER.

ENDFORM. "TOP_OF_PAGE

*&--------------------------------------------------------------------*
*& Form USER_COMMAND
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->R_UCOMM text
* -->, text
* -->RS_SLEFIELDtext
*---------------------------------------------------------------------*

*retreiving values from the database table ekko
FORM DATA_RETRIEVAL_EKPO.
SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.
ENDFORM. "DATA_RETRIEVAL_EKPO
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV_EKPO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_EKPO.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = I_TITLE_EKPO
IT_FIELDCAT = I_FIELDCAT[]
I_SAVE = 'A'
IT_EVENTS = V_EVENTS
TABLES
T_OUTTAB = IT_EKPO.
ENDFORM. "DISPLAY_ALV_EKPO


ALSO READ:

- ALV Interactive (Double Clicking).

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

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

- Repeating Colors In ALV Grid/List Display.


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

..... Back To MAIN INDEX.