‎2007 Nov 26 10:00 AM
Hi All..
I want to write an ALV interactive report where if i click on header data it should display the item details..( Ex-if we take ekko table - in basic list i should have only ebeln data and if i click on ekko ebeln it should give me the values of ekpo table value.) please help me to do this.i've coded upto.
&----
*& Report YTEST_ALV *
*& *
&----
REPORT YTEST_ALV line-size 150 no standard page heading
message-id a1.
**********************************************************************
TABLES *
**********************************************************************
TABLES:EKKO, "Purchase Documetn Header Data.
EKPO. "Purchase Document Item Data.
**********************************************************************
ALV Declaration *
**********************************************************************
Type-pools : slis.
**********************************************************************
ALV Data Declaration *
**********************************************************************
data: i_fieldcat_alv type slis_t_fieldcat_alv,
i_list_comments type slis_t_listheader,
v_list_comments like line of i_list_comments,
i_events type slis_t_event,
lt_sort_fieldcat type slis_t_sortinfo_alv,
ls_sort_fieldcat type slis_sortinfo_alv,
v_layout type slis_layout_alv,
v_fieldcat_alv like line of i_fieldcat_alv,
v_events like line of i_events,
v_repid like sy-repid,
v_variant like disvariant,
wa_variant like disvariant,
wa_variant_save type c,
wa_exit type c,
wa_repid like sy-repid.
**********************************************************************
Constant Declaration *
**********************************************************************
constants : c_top_of_page type slis_formname value 'F_TOP_OF_PAGE'.
**********************************************************************
Data Declaration *
**********************************************************************
Types : begin of i_itab1,
ebeln like ekko-ebeln,
bukrs like ekko-bukrs,
bstyp like ekko-bstyp,
bsart like ekko-bsart,
ernam like ekko-ernam,
pincr like ekko-pincr,
lponr like ekko-lponr,
end of i_itab1.
data : wa_itab1 type standard table of i_itab1,
t_itab1 type standard table of i_itab1.
Types : begin of i_itab2,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
matnr like ekpo-matnr,
werks like ekpo-werks,
lgort like ekpo-lgort,
end of i_itab2.
data : wa_itab2 type standard table of i_itab2,
t_itab2 type standard table of i_itab2.
Types : begin of i_final,
ebeln like ekpo-ebeln,
bukrs like ekko-bukrs,
werks like ekpo-werks,
lgort like ekpo-lgort,
bstyp like ekko-bstyp,
bsart like ekko-bsart,
ernam like ekko-ernam,
pincr like ekko-pincr,
lponr like ekko-lponr,
end of i_final.
data : wa_i_final type standard table of i_final,
t_i_final type standard table of i_final.
***********************************************************
Selection-screen *
***********************************************************
selection-screen begin of block b1 with frame title text-001.
select-options : s_ebeln for ekpo-ebeln,
s_bukrs for ekpo-bukrs.
selection-screen end of block b1.
***********************************************************
Top-Of-Page *
***********************************************************
*Top-of-page.
form f_top_of_page.
clear v_list_comments.
refresh i_list_comments.
Move 'Report for Open Kanban Call-Offs'
v_list_comments-typ = 'H'.
move: text-h01 to v_list_comments-info.
append v_list_comments to i_list_comments .
clear v_list_comments .
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = i_list_comments
I_LOGO =
I_END_OF_LIST_GRID =
.
endform. "f_top_of_page
***********************************************************
START-OF-SELECTION. *
***********************************************************
START-OF-SELECTION.
Fetching Data.
Perform get_data.
&----
*& Form get_data
&----
text
----
--> p1 text
<-- p2 text
----
form get_data .
select ebeln
from ekko
into table t_itab1
where ebeln in s_ebeln.
if sy-subrc eq 0.
Process Data.
Perform process_data.
Build Fieldcat.
Perform build_fieldcatlog.
Build Layout.
Perform build_layout.
Sort Layout.
Perform sort_layout.
ALV GRID DISPLAY.
Perform alv_grid_display.
ELSE.
MESSAGE 'No data found' TYPE 'I'.
STOP.
ENDIF.
endform. " get_data
***********************************************************
END-OF-SELECTION. *
***********************************************************
end-of-selection.
&----
*& Form process_data
&----
text
----
--> p1 text
<-- p2 text
----
form process_data .
select ebeln
ebelp
matnr
werks
lgort
from ekpo into table t_itab2
for all entries in t_itab1
where ebeln eq t_itab1-ebeln.
endform. " process_data
&----
*& Form build_fieldcatlog
&----
text
----
--> p1 text
<-- p2 text
----
form build_fieldcatlog .
refresh: i_fieldcat_alv.
PURCHASING DOCUMENT NUMBER.
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '1'.
v_fieldcat_alv-fieldname = 'EBELN'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'PURCHASE DOCU NO'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
COMPANY CODE
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '2'.
v_fieldcat_alv-fieldname = 'BUKRS'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'COMPANY CODE'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
PLANT
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '3'.
v_fieldcat_alv-fieldname = 'WERKS'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'PLANT'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
PURCHASING DOCU CATEGORY
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '4'.
v_fieldcat_alv-fieldname = 'BSTYP'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'PURCHASING DOCU CAT'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
PURCHASING DOCU TYP
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '5'.
v_fieldcat_alv-fieldname = 'BSART'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'PURCHASING DOCU TYP'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
NAME OF PERSON
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '6'.
v_fieldcat_alv-fieldname = 'ERNAM'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'COMPANY CODE'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
ITEM NUMBER INTERVAL
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '7'.
v_fieldcat_alv-fieldname = 'PINCR'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'COMPANY CODE'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
LAST ITEM NUMBER
clear i_fieldcat_alv.
v_fieldcat_alv-col_pos = '8'.
v_fieldcat_alv-fieldname = 'LPONR'.
v_fieldcat_alv-tabname = 'I_FINAL'.
v_fieldcat_alv-seltext_m = 'COMPANY CODE'.
v_fieldcat_alv-no_zero = 'X'.
v_fieldcat_alv-key = 'X'.
v_fieldcat_alv-emphasize = 'C210'.
APPEND v_fieldcat_alv TO i_fieldcat_alv.
endform. " build_fieldcatlog
‎2007 Nov 26 10:07 AM
HI priya
try this code
REPORT ZPURCHASE_ORDER.
***********************************************************************
TYPE-POOLS DECLARATION
***********************************************************************
TYPE-POOLS:
SLIS.
***********************************************************************
DATA DECLARATIONS
***********************************************************************
DATA:
W_EBELN TYPE EKKO-EBELN,
W_PROG TYPE SY-REPID,
T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FS_FIELDCAT LIKE LINE OF T_FIELDCAT,
T_EVENTCAT TYPE SLIS_T_EVENT,
W_EVENTCAT LIKE LINE OF T_EVENTCAT.
***********************************************************************
SELECT-OPTIONS DECLARATION
***********************************************************************
SELECT-OPTIONS:
S_EBELN FOR W_EBELN.
***********************************************************************
INTERNAL TABLE AND FIELD-STRING DECLARATIONS
***********************************************************************
DATA:
T_EKKO LIKE
STANDARD TABLE
OF EKKO,
FS_EKKO LIKE LINE OF T_EKKO.
DATA:
T_EKPO LIKE
STANDARD TABLE
OF EKPO,
FS_EKPO LIKE LINE OF T_EKPO.
***********************************************************************
START-OF-SELECTION
***********************************************************************
START-OF-SELECTION.
SELECT *
FROM EKKO
INTO TABLE T_EKKO
WHERE EBELN IN S_EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
I_CALLBACK_USER_COMMAND = 'PICK'
I_STRUCTURE_NAME = 'EKKO'
TABLES
T_OUTTAB = T_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.
&----
*& Form pick
&----
-->UCOMM text
-->SELFIELD text
----
FORM PICK USING COMMAND LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
READ TABLE T_EKKO INTO FS_EKKO INDEX SELFIELD-TABINDEX.
CASE COMMAND.
WHEN '&IC1'.
SELECT *
FROM EKPO
INTO TABLE T_EKPO
WHERE EBELN EQ FS_EKKO-EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'EKPO'
CHANGING
CT_FIELDCAT = T_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'EBELN'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'BUKRS'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'LGORT'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'WERKS'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
IT_FIELDCAT = T_FIELDCAT
IT_EVENTS = T_EVENTCAT
TABLES
T_OUTTAB = T_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.
ENDCASE. " CASE COMMAND
ENDFORM. " FORM PICK
FORM T_EVENTCAT.
W_EVENTCAT-NAME = 'TOP_OF_PAGE'.
W_EVENTCAT-FORM = 'TOP'.
APPEND W_EVENTCAT TO T_EVENTCAT.
ENDFORM.
FORM TOP.
READ TABLE T_EKPO INTO FS_EKPO INDEX 1.
WRITE:/ 'Purchase Document Number'(001),30 FS_EKPO-EBELN,
/ 'Company Code'(002), 30 FS_EKPO-BUKRS,
/ 'Plant'(003), 30 FS_EKPO-WERKS,
/ 'Storage Location'(004),30 FS_EKPO-LGORT.
ENDFORM.
‎2007 Nov 26 10:04 AM
followed code refer
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_interface_check = ' '
i_callback_program = g_repid
<b> i_callback_user_command = 'PROCESS_USER_COMMANDS'</b>
it_fieldcat = tbl_fieldcat
i_default = 'X'
i_save = ' '
is_layout = st_layout
TABLES
t_outtab = tbl_kna1
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.
CASE syst-ucomm.
WHEN '&IC1'.
get cursor field fieldname.
READ TABLE tbl_kna1 INDEX selfield-tabindex.
<b>select ekpo table</b>
<b>
call 'REUSE_ALV_LIST_DISPLAY'</b>
ENDCASE.
‎2007 Nov 26 10:06 AM
‎2007 Nov 26 10:07 AM
‎2007 Nov 26 10:07 AM
HI priya
try this code
REPORT ZPURCHASE_ORDER.
***********************************************************************
TYPE-POOLS DECLARATION
***********************************************************************
TYPE-POOLS:
SLIS.
***********************************************************************
DATA DECLARATIONS
***********************************************************************
DATA:
W_EBELN TYPE EKKO-EBELN,
W_PROG TYPE SY-REPID,
T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FS_FIELDCAT LIKE LINE OF T_FIELDCAT,
T_EVENTCAT TYPE SLIS_T_EVENT,
W_EVENTCAT LIKE LINE OF T_EVENTCAT.
***********************************************************************
SELECT-OPTIONS DECLARATION
***********************************************************************
SELECT-OPTIONS:
S_EBELN FOR W_EBELN.
***********************************************************************
INTERNAL TABLE AND FIELD-STRING DECLARATIONS
***********************************************************************
DATA:
T_EKKO LIKE
STANDARD TABLE
OF EKKO,
FS_EKKO LIKE LINE OF T_EKKO.
DATA:
T_EKPO LIKE
STANDARD TABLE
OF EKPO,
FS_EKPO LIKE LINE OF T_EKPO.
***********************************************************************
START-OF-SELECTION
***********************************************************************
START-OF-SELECTION.
SELECT *
FROM EKKO
INTO TABLE T_EKKO
WHERE EBELN IN S_EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
I_CALLBACK_USER_COMMAND = 'PICK'
I_STRUCTURE_NAME = 'EKKO'
TABLES
T_OUTTAB = T_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.
&----
*& Form pick
&----
-->UCOMM text
-->SELFIELD text
----
FORM PICK USING COMMAND LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
READ TABLE T_EKKO INTO FS_EKKO INDEX SELFIELD-TABINDEX.
CASE COMMAND.
WHEN '&IC1'.
SELECT *
FROM EKPO
INTO TABLE T_EKPO
WHERE EBELN EQ FS_EKKO-EBELN.
W_PROG = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'EKPO'
CHANGING
CT_FIELDCAT = T_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'EBELN'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'BUKRS'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'LGORT'.
DELETE T_FIELDCAT WHERE FIELDNAME EQ 'WERKS'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_PROG
IT_FIELDCAT = T_FIELDCAT
IT_EVENTS = T_EVENTCAT
TABLES
T_OUTTAB = T_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.
ENDCASE. " CASE COMMAND
ENDFORM. " FORM PICK
FORM T_EVENTCAT.
W_EVENTCAT-NAME = 'TOP_OF_PAGE'.
W_EVENTCAT-FORM = 'TOP'.
APPEND W_EVENTCAT TO T_EVENTCAT.
ENDFORM.
FORM TOP.
READ TABLE T_EKPO INTO FS_EKPO INDEX 1.
WRITE:/ 'Purchase Document Number'(001),30 FS_EKPO-EBELN,
/ 'Company Code'(002), 30 FS_EKPO-BUKRS,
/ 'Plant'(003), 30 FS_EKPO-WERKS,
/ 'Storage Location'(004),30 FS_EKPO-LGORT.
ENDFORM.
‎2007 Nov 26 10:11 AM
hi,
go through this code and change as u required.
REPORT ZSTEST_037 .
TABLES VBAK.
TYPE-POOLS SLIS.
*--ALV
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA I_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
ERNAM LIKE VBAK-ERNAM,
KUNNR LIKE VBAK-KUNNR,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
NETWR LIKE VBAP-NETWR,
END OF ITAB1.
SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.
START-OF-SELECTION.
SELECT VBELN
ERDAT
ERNAM
KUNNR FROM VBAK INTO TABLE ITAB WHERE VBELN IN S_VBELN.
END-OF-SELECTION.
*--1
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'Sal doc no'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-HOTSPOT = 'X'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--2
WA_FIELDCAT-FIELDNAME = 'ERDAT'.
WA_FIELDCAT-SELTEXT_L = 'Date'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--3
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-SELTEXT_L = 'Name'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--4
WA_FIELDCAT-FIELDNAME = 'KUNNR'.
WA_FIELDCAT-SELTEXT_L = 'Customer'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--LAYOUT
I_LAYOUT-ZEBRA = 'X'.
I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
I_CALLBACK_USER_COMMAND = '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 = I_LAYOUT
IT_FIELDCAT = I_FIELDCAT
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
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
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 USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
L_SELTEXT TYPE SLIS_SELFIELD.
DATA L_VALUE(10) TYPE N.
IF L_UCOMM EQ '&IC1' or L_UCOMM EQ 'VBAP'.
CASE L_SELTEXT-FIELDNAME.
WHEN 'VBELN' .
L_VALUE = L_SELTEXT-VALUE.
SELECT VBELN
POSNR
MATNR
NETWR FROM VBAP INTO TABLE ITAB1
WHERE VBELN EQ L_VALUE.
REFRESH I_FIELDCAT.
*--1
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'Sal doc no'.
WA_FIELDCAT-KEY = 'X'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--2
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-SELTEXT_L = 'Item no'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--3
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-SELTEXT_L = 'material no'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
*--4
WA_FIELDCAT-FIELDNAME = 'NETWR'.
WA_FIELDCAT-SELTEXT_L = 'Amount'.
WA_FIELDCAT-DO_SUM = 'X'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
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 = I_FIELDCAT
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
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB1
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.
*********************************************
WHEN 'KUNNR'.
L_VALUE = L_SELTEXT-VALUE.
SELECT * FROM KNA1 INTO TABLE I_KNA1
WHERE KUNNR EQ L_VALUE.
REFRESH I_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME =
I_INTERNAL_TABNAME = 'I_KNA1'
I_STRUCTURE_NAME = 'KNA1'
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME =
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = I_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_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 = I_FIELDCAT
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
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_KNA1
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.
ENDCASE.
ENDIF.
ENDFORM. "USER_COMMAND
&----
*& Form PF_STATUS
&----
text
----
-->SLIS_T_EXTAtext
----
FORM PF_STATUS USING SLIS_T_EXTAB.
SET PF-STATUS 'SSS'.
ENDFORM. "PF_STATUS