‎2008 Feb 29 3:36 AM
Hi,
i have an ALV block list display.in that if i click on some field i have to get the selected field name.
for this i am using user_command option in the block list display.
i am receiving the selected field table name,index and the other info but the fieldname is being empty every time.
please somebody help me to get the selected field name in ALV block list display.
rgds,
Hi.
‎2008 Feb 29 3:45 AM
‎2008 Feb 29 3:47 AM
hi,
refer to this program.
TYPE-POOLS: SLIS.
tables: znagempl, znagemplsal.
types: begin of ty_znagempl,
eno type zeno,
ename type zename,
city type zename,
country type zename,
phone type zeno,
email type zename,
end of ty_znagempl.
types: begin of ty_znagemplsal,
eno type zeno,
ename type zename,
basic type zbasic,
hra type zhra,
ta type zta,
da type zda,
gross type zgross,
net type znet,
end of ty_znagemplsal.
types: tt_znagempl type STANDARD TABLE OF ty_znagempl,
tt_znagemplsal type STANDARD TABLE OF ty_znagemplsal.
data: it_znagempl type tt_znagempl,
it_znagemplsal type tt_znagemplsal,
wa_znagempl type ty_znagempl,
wa_znagemplsal type ty_znagemplsal.
selection-screen begin of block b1 with frame title text-001.
select-options: s_eno for znagempl-eno.
parameters: p_ename like znagempl-ename.
selection-screen end of block b1.
if not s_eno is initial.
perform get_empl_data.
else.
message e001(znagmsg).
endif.
data: it_events type SLIS_T_EVENT,
it_event type SLIS_T_EVENT,
wa_events type SLIS_alv_EVENT.
data: wa_selfield type SLIS_SELFIELD,
g_ucomm type sy-ucomm.
data: it_eve type SLIS_T_EVENT.
DATA : it_field TYPE slis_t_fieldcat_alv,
it_field1 type slis_t_fieldcat_alv,
wa_field TYPE slis_fieldcat_alv,
wa_field1 type slis_fieldcat_alv.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'ENO'.
wa_field-seltext_m = 'emp_num'.
*wa_field-key = 'x'.
append wa_field to it_field.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'ENAME'.
wa_field-seltext_m = 'empname'.
*wa_field-key = 'x'.
append wa_field to it_field.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'COUNTRY'.
wa_field-seltext_m = 'empcountry'.
*wa_field-key = 'x'.
append wa_field to it_field.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'CITY'.
wa_field-seltext_m = 'empcity'.
*wa_field-key = 'x'.
append wa_field to it_field.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'PHONE'.
WA_FIELD-EDIT = 'X'.
wa_field-seltext_m = 'empphone'.
*wa_field-key = 'x'.
append wa_field to it_field.
wa_field-tabname = 'it_znagempl'.
wa_field-fieldname = 'EMAIL'.
wa_field-seltext_m = 'empmail'.
*wa_field-key = 'x'.
append wa_field to it_field.
*CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = it_eve
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
wa_events-name = 'USER_COMMAND'.
wa_events-form = 'SUB_SEC_LIST'.
append wa_events to it_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'ZALV_NAG'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'znagempl'
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = it_field
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = it_events
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = it_znagempl
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
&----
*& Form SUB_SEC_LIST
&----
text
----
-->G_UCOMM text
-->WA_SELFIELD text
----
form SUB_SEC_LIST using g_ucomm type syucomm
wa_selfield type SLIS_SELFIELD.
if wa_selfield-fieldname = 'ENO'.
select eno basic hra ta da gross net from znagemplsal into table it_znagemplsal
where eno = wa_selfield-value.
endif.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'ENO'.
wa_field1-seltext_m = 'emp num'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
*wa_field1-tabname = 'it_znagemplsal'.
*wa_field1-fieldname = 'ename'.
*wa_field1-seltext_m = 'emp name'.
*wa_field1-key = 'x'.
*append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'BASIC'.
wa_field1-seltext_m = 'emp basic'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'HRA'.
wa_field1-seltext_m = 'emp hra'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'TA'.
wa_field1-seltext_m = 'emp ta'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'DA'.
wa_field1-seltext_m = 'emp da'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'GROSS'.
wa_field1-seltext_m = 'emp gross salary'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
wa_field1-tabname = 'znagemplsal'.
wa_field1-fieldname = 'NET'.
wa_field1-edit = 'X'.
wa_field1-seltext_m = 'emp netsalary'.
*wa_field1-key = 'x'.
append wa_field1 to it_field1.
*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = it_field1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = it_znagemplsal
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
*clear it_field1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = it_field1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = it_eve
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = it_znagemplsal
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
clear it_field1.
endform. "SUB_SEC_LIST
&----
*& Form get_empl_data
&----
text
----
form get_empl_data.
select eno ename city country phone email from znagempl into table it_znagempl
where eno in s_eno." and ename = p_ename.
endform.
regards,
sreelakshmi.
‎2008 Feb 29 3:53 AM
Hi,
i have written the code like this only.but in
form SUB_SEC_LIST using g_ucomm type syucomm
wa_selfield type SLIS_SELFIELD.
........
endform.
every time wa_selfield is empty.do u know the reason for that.
rgds,
Hi.
‎2008 Feb 29 4:14 AM
hi
good
report yh645_secndry_alv.
type-pools: slis.
data: fieldcat type slis_t_fieldcat_alv,
fieldcat_ln like line of fieldcat,
fs_layout type slis_layout_alv,
t_layoout like standard table
of fs_layout.
data: begin of fs_spfli,
carrid type spfli-carrid,
connid type spfli-connid,
countryfr type spfli-countryfr,
cityfrom type spfli-cityfrom,
airpfrom type spfli-airpfrom,
countryto type spfli-countryto,
cityto type spfli-cityto,
airpto type spfli-airpto,
fltime type spfli-fltime,
deptime type spfli-deptime,
arrtime type spfli-arrtime,
distance type spfli-distance,
distid type spfli-distid,
fltype type spfli-fltype,
period type spfli-period,
checkbox,
color(3),
end of fs_spfli.
data:
begin of fs_table,
carrid type spfli-carrid,
connid type spfli-connid,
end of fs_table.
data: begin of fs_sflight,
check,
color(3).
include type sflight.
data:end of fs_sflight.
data:
begin of fs_table1,
carrid type sflight-carrid,
connid type sflight-connid,
fldate type sflight-fldate,
end of fs_table1.
data:
t_spfli like standard table
of fs_spfli.
data:
t_table like standard table
of fs_table.
data:
t_table1 like standard table
of fs_table1.
data:
t_sflight like standard table
of fs_sflight.
data:
t_sbook like standard table
of sbook.
data t_layout type slis_layout_alv.
select *
into corresponding fields of table t_spfli
from spfli.
perform start_list_viewer.
perform get_spfli_details.
&----
*& Form SUB1
&----
text
-
-->RT_EXTAB text
-
form sub1 using rt_extab type slis_t_extab.
data: flight type slis_extab.
flight-fcode = 'SFLIGHT'.
append flight to rt_extab.
set pf-status 'SFLIGHT'. " EXCLUDING RT_EXTAB.
endform. "SUB1
&----
*& Form START_LIST_VIEWER
&----
text
-
--> p1 text
<-- p2 text
-
form start_list_viewer .
data: pgm like sy-repid.
pgm = sy-repid.
fs_layout-box_fieldname = 'CHECKBOX'.
fs_layout-info_fieldname = 'COLOR'.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = pgm
i_callback_pf_status_set = 'SUB1'
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'SPFLI'
is_layout = fs_layout
tables
t_outtab = t_spfli
exceptions
program_error = 1
others = 2.
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " START_LIST_VIEWER
*******Process Call Back Events (Begin)**************************
form user_command using ucomm like sy-ucomm
selfield type slis_selfield.
case ucomm.
when 'SFLIGHT'.
selfield-refresh = 'X'.
perform get_spfli_details.
select *
from sflight
into corresponding fields of table t_sflight
for all entries in t_table
where carrid eq t_table-carrid
and connid eq t_table-connid.
perform display_sflight.
when 'SBOOK'.
selfield-refresh = 'X'.
perform get_sflight_details.
select *
from sbook
into corresponding fields of table t_sbook
for all entries in t_table1
where carrid eq t_table1-carrid
and connid eq t_table1-connid
and fldate eq t_table1-fldate.
perform display_sbook.
endcase.
endform. "USER_COMMAND
&----
*& Form SUB2
&----
text
-
-->RT_EXTAB text
-
form sub2 using rt_extab type slis_t_extab.
data: flight type slis_extab.
flight-fcode = 'SBOOK'.
append flight to rt_extab.
set pf-status 'SBOOK'. " EXCLUDING RT_EXTAB.
endform. "SUB2
&----
*& Form DISPLAY_SFLIGHT
&----
text
-
--> p1 text
<-- p2 text
-
form display_sflight .
data: pgm like sy-repid.
pgm = sy-repid.
clear t_layout.
fs_layout-box_fieldname = 'CHECK'.
fs_layout-info_fieldname = 'COLOR'.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = pgm
i_callback_pf_status_set = 'SUB2'
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'SFLIGHT'
is_layout = fs_layout
tables
t_outtab = t_sflight
exceptions
program_error = 1
others = 2.
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_SFLIGHT
&----
*& Form GET_SPFLI_DETAILS
&----
text
-
--> p1 text
<-- p2 text
-
form get_spfli_details .
loop at t_spfli into fs_spfli.
if fs_spfli-checkbox = 'X'.
fs_spfli-color = 'C51'.
fs_spfli-checkbox = '1'.
fs_table-carrid = fs_spfli-carrid.
fs_table-connid = fs_spfli-connid.
append fs_table to t_table.
modify t_spfli from fs_spfli.
endif.
endloop.
endform. " GET_SFLIGHT_DETAILS
&----
*& Form GET_SFLIGHT_DETAILS
&----
text
-
--> p1 text
<-- p2 text
-
form get_sflight_details .
loop at t_sflight into fs_sflight.
if fs_sflight-check = 'X'.
fs_sflight-color = 'C71'.
fs_sflight-check = '1'.
fs_table1-carrid = fs_sflight-carrid.
fs_table1-connid = fs_sflight-connid.
fs_table1-fldate = fs_sflight-fldate.
append fs_table1 to t_table1.
modify t_sflight from fs_sflight.
endif.
endloop.
endform. " GET_SFLIGHT_DETAILS
&----
*& Form DISPLAY_SBOOK
&----
text
-
--> p1 text
<-- p2 text
-
form display_sbook .
data: pgm like sy-repid.
pgm = sy-repid.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = pgm
i_structure_name = 'SBOOK'
tables
t_outtab = t_sbook
exceptions
program_error = 1
others = 2.
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_SBOOK
thanks
mrutyun^
‎2008 Feb 29 4:36 AM
hi,
please check my interactive alv report.
REPORT z50870alv_demo.
TYPE-POOLS : slis.
&----
*& structure declaration
&----
TYPES : BEGIN OF st_ekko,
ebeln TYPE ekko-ebeln, "Purchasing Document Number
bstyp TYPE ekko-bstyp, "Purchasing Document Category
bsart TYPE ekko-bsart, "Purchasing Document Type
aedat TYPE ekko-aedat, "record created on
ernam TYPE ekko-ernam, "Person who Created the Object
END OF st_ekko.
TYPES : BEGIN OF st_ekpo,
ebeln TYPE ekko-ebeln,
ebelp TYPE ekpo-ebelp, "Item Number of Purchasing Document
ematn TYPE ekpo-ematn, "Material number
matkl TYPE ekpo-matkl, "Material group
netpr TYPE ekpo-netpr, "Net price in purchasing document
END OF st_ekpo.
&----
*& internal table and work area declaration
&----
DATA : it_ekpo TYPE STANDARD TABLE OF st_ekpo,
wa_ekpo TYPE st_ekpo,
it_ekko TYPE STANDARD TABLE OF st_ekko,
wa_ekko TYPE st_ekko,
it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
wa_layout TYPE slis_layout_alv.
&----
*& internal table and work area declaration
&----
DATA : v_ebeln TYPE ekko-ebeln.
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line TYPE slis_listheader-info,
nl_lines TYPE i,
nl_linesc(10) TYPE c.
&----
*& start-of-selection
&----
START-OF-SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-000.
SELECT-OPTIONS : so_ebeln FOR v_ebeln.
SELECTION-SCREEN END OF BLOCK a.
PERFORM data_retrieval.
PERFORM build_fieldcatalog1.
PERFORM build_layout.
PERFORM ekkogriddisplay_alv.
&----
*& Form build_fieldcatalog2
&----
FORM build_fieldcatalog2.
CLEAR wa_fieldcat.
REFRESH it_fieldcat.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = 'PURCHASE ORDER'.
wa_fieldcat-col_pos = 0.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EBELP'.
wa_fieldcat-seltext_l = 'ITEM NUMBER'.
wa_fieldcat-col_pos = 1.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'EMATN'.
wa_fieldcat-seltext_l = 'MATERIAL TYPE'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'MATKL'.
wa_fieldcat-seltext_l = 'MATERIAL GROUP'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'NETPR'.
wa_fieldcat-seltext_l = 'NET PRICE'.
wa_fieldcat-col_pos = 4.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. "build_fieldcatalog
&----
*& Form build_fieldcatalog1
&----
FORM build_fieldcatalog1.
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = 'PURCHASE ORDER'.
wa_fieldcat-col_pos = 0.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BSTYP'.
wa_fieldcat-seltext_l = 'DOCUMENT CATEGORY'.
wa_fieldcat-col_pos = 1.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BSART'.
wa_fieldcat-seltext_l = 'DOCUMENT TYPE'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'AEDAT'.
wa_fieldcat-seltext_l = 'DATE'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'ERNAME'.
wa_fieldcat-seltext_l = 'NAME'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO it_fieldcat.
ENDFORM. "build_fieldcatalog
&----
*& Form data_retrieval
&----
FORM data_retrieval.
SELECT ebeln bstyp bsart aedat ernam
FROM ekko
INTO TABLE it_ekko
WHERE ebeln IN so_ebeln.
ENDFORM. "data_retrieval
&----
*& form build_layout.
&----
FORM build_layout.
wa_layout-zebra ='X'.
wa_layout-no_vline = 'X'.
wa_layout-no_hline = 'X'.
wa_layout-colwidth_optimize = 'X'.
ENDFORM. "build_layout
&----
*& form top-of-page1
&----
FORM top-of-page1.
Title
wa_header-typ = 'H'.
wa_header-info = 'PURCHASE ORDER HEADER REPORT'.
APPEND wa_header TO t_header.
CLEAR wa_header.
Total No. of Records Selected
DESCRIBE TABLE it_ekko LINES nl_lines.
nl_linesc = nl_lines.
CONCATENATE 'Total No. of Records Selected: ' nl_linesc
INTO t_line SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = t_line.
APPEND wa_header TO t_header.
CLEAR: wa_header, t_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header
i_logo = 'SUN_TEST_LOGO1'.
REFRESH t_header.
ENDFORM. "top-of-page
&----
*& form top-of-page2
&----
FORM top-of-page2.
Title
wa_header-typ = 'H'.
wa_header-info = 'PURCHASE ORDER ITEM REPORT'.
APPEND wa_header TO t_header.
CLEAR wa_header.
Total No. of Records Selected
DESCRIBE TABLE it_ekpo LINES nl_lines.
nl_linesc = nl_lines.
CONCATENATE 'Total No. of Records Selected: ' nl_linesc
INTO t_line SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = t_line.
APPEND wa_header TO t_header.
CLEAR: wa_header, t_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header
i_logo = 'SUN_TEST_LOGO1'.
REFRESH t_header.
ENDFORM. "top-of-page
&----
*& form set_pf_status
&----
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'MYMENU'.
"Copy of 'STANDARD' pf_status from fgroup SALV
ENDFORM. "set_pf_status
&----
*& Form AT_user_command
&----
FORM at_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname EQ 'EBELN'.
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
SELECT ebeln ebelp ematn matkl netpr
FROM ekpo
INTO TABLE it_ekpo
WHERE ebeln EQ wa_ekko-ebeln.
PERFORM build_fieldcatalog2.
PERFORM ekpogriddisplay_alv.
ELSE.
MESSAGE text-002 TYPE 'I'.
ENDIF.
ENDCASE.
ENDFORM. "AT_user_command
&----
*& form ekkogriddisplay_alv.
&----
FORM ekkogriddisplay_alv.
IF it_ekko[] IS INITIAL.
MESSAGE text-001 TYPE 'I'.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_top_of_page = 'TOP-OF-PAGE1'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'AT_USER_COMMAND'
is_layout = wa_layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_ekko
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM. "listdisplay_alv
&----
*& form ekpogriddisplay_alv.
&----
FORM ekpogriddisplay_alv.
IF it_ekpo[] IS INITIAL.
MESSAGE text-003 TYPE 'I'.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_top_of_page = 'TOP-OF-PAGE2'
i_callback_pf_status_set = 'SET_PF_STATUS'
is_layout = wa_layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_ekpo
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM. "ekpogriddisplay_alv
regards,
pavan t.