SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style. italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; }
report ztest.
type-pools: slis.
data: begin of itab occurs 0,
werks like mard-werks,
lgort like mard-lgort,
matnr like mard-matnr,
labst like mard-labst,
insme like mard-insme,
end of itab.
data: it_fieldcat type slis_t_fieldcat_alv,
wa_fcat like line of it_fieldcat,
layout type slis_layout_alv,
it_sort type slis_t_sortinfo_alv,
wa_sort like line of it_sort.
start- of-selection.
select *
into corresponding fields of table itab
from mard.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'ITAB'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = sy-repid
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = it_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.
wa_fcat-do_sum = 'X'.
modify it_fieldcat from wa_fcat transporting do_sum
where fieldname = 'LABST'.
wa_sort-fieldname = 'WERKS'.
wa_sort- group = 'WK'.
wa_sort- up = 'X'.
append wa_sort to it_sort.
* wa_sort-fieldname = 'MATNR'.
* wa_sort-group = 'MT'.
* wa_sort-up = 'X'.
* append wa_sort to it_sort.
wa_sort-fieldname = 'LGORT'.
wa_sort-subtot = 'X'.
wa_sort- up = 'X'.
append wa_sort to it_sort.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
IT_FIELDCAT = it_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = 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 = 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.
type-pools: slis.
data: begin of itab occurs 0,
werks like mard-werks,
lgort like mard-lgort,
matnr like mard-matnr,
labst like mard-labst,
insme like mard-insme,
end of itab.
data: it_fieldcat type slis_t_fieldcat_alv,
wa_fcat like line of it_fieldcat,
layout type slis_layout_alv,
it_sort type slis_t_sortinfo_alv,
wa_sort like line of it_sort.
start- of-selection.
select *
into corresponding fields of table itab
from mard.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'ITAB'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = sy-repid
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = it_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.
wa_fcat-do_sum = 'X'.
modify it_fieldcat from wa_fcat transporting do_sum
where fieldname = 'LABST'.
wa_sort-fieldname = 'WERKS'.
wa_sort- group = 'WK'.
wa_sort- up = 'X'.
append wa_sort to it_sort.
* wa_sort-fieldname = 'MATNR'.
* wa_sort-group = 'MT'.
* wa_sort-up = 'X'.
* append wa_sort to it_sort.
wa_sort-fieldname = 'LGORT'.
wa_sort-subtot = 'X'.
wa_sort- up = 'X'.
append wa_sort to it_sort.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
IT_FIELDCAT = it_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = 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 = 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.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/166523/viewspace-450374/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/166523/viewspace-450374/