ALV標準顯示內表數據--復制
来源:互联网 发布:淘宝手机秒杀神器 编辑:程序博客网 时间:2024/06/15 10:00
GT_LAYOUT-LIGHTS_FIELDNAME = 'MTYPE'. 設定燈字段
====================================
TYPE-POOLS: SLIS.
DATA:GT_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA:T_EDITPOS TYPE TABLE OF CDRED WITH HEADER LINE.
DATA:WA_T_EDITPOS TYPE CDRED.
DATA:ET_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
DATA:T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FILEDCAT LIKE LINE OF T_FIELDCAT.
DATA:T_LISTHEADER TYPE SLIS_T_LISTHEADER,
W_LISTHEADER LIKE LINE OF T_LISTHEADER.
DATA:T_EVENT TYPE SLIS_T_EVENT,
W_EVENT LIKE LINE OF T_EVENT.
DATA:T_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA:X_SORT LIKE LINE OF T_SORT.
PERFORM SUB_CALL_ALV_FUNCTION. "ALV SHOW
*-------------------------------ALV------------------------------------*
*&---------------------------------------------------------------------*
*& Form SUB_CALL_ALV_FUNCTION
*&---------------------------------------------------------------------*
*& Description: Show ALV Format
*----------------------------------------------------------------------*
FORM SUB_CALL_ALV_FUNCTION.
* Set ALV parameters for the program
PERFORM SUB_SET_PARAMETERS.
* add SORT
PERFORM SUB_SET_SORT.
* add event
PERFORM SUB_SET_EVENT.
** add the title
* PERFORM SUB_SET_REPORT_TITLE.
* Call ALV list function
PERFORM SUB_CALL_ALV_WITH_LIST TABLES IT_RESULT.
ENDFORM. "SUB_CALL_ALV_FUNCTION
*&--------------------------------------------------------------------*
*& Form: SUB_SET_PARAMETERS *
*&--------------------------------------------------------------------*
*& Description:Set ALV parameters *
*&--------------------------------------------------------------------*
FORM SUB_SET_PARAMETERS.
* Set the fields which will be displayed into T_ FIELDCAT
PERFORM SUB_FIELD_DES USING 'FKTYP' 'IT_RESULT' '' '' '' TEXT-H01.
PERFORM SUB_FIELD_DES USING 'VKORG' 'IT_RESULT' '' '' '' TEXT-H02.
PERFORM SUB_FIELD_DES USING 'VTWEG' 'IT_RESULT' '' '' '' TEXT-H03.
PERFORM SUB_FIELD_DES USING 'SPART' 'IT_RESULT' '' '' '' TEXT-H04.
PERFORM SUB_FIELD_DES USING 'FKDAT' 'IT_RESULT' '' '' '' TEXT-H05.
PERFORM SUB_FIELD_DES USING 'KUNNR' 'IT_RESULT' '' '' '' TEXT-H06.
PERFORM SUB_FIELD_DES USING 'NAME1' 'IT_RESULT' '' '' '' TEXT-H07.
PERFORM SUB_FIELD_DES USING 'FKART' 'IT_RESULT' '' '' '' TEXT-H08.
PERFORM SUB_FIELD_DES USING 'LLAND' 'IT_RESULT' '' '' '' TEXT-H09.
PERFORM SUB_FIELD_DES USING 'DN_VBELN' 'IT_RESULT' '' '' '' TEXT-H10.
PERFORM SUB_FIELD_DES USING 'DN_ITEM' 'IT_RESULT' '' '' '' TEXT-H11.
PERFORM SUB_FIELD_DES USING 'SO_VBELN' 'IT_RESULT' '' '' '' TEXT-H12.
PERFORM SUB_FIELD_DES USING 'SO_ITEM' 'IT_RESULT' '' '' '' TEXT-H13.
PERFORM SUB_FIELD_DES USING 'P_MATNR' 'IT_RESULT' '' '' '' TEXT-H14.
PERFORM SUB_FIELD_DES USING 'MATNR' 'IT_RESULT' '' '' '' TEXT-H15.
PERFORM SUB_FIELD_DES USING 'MAKTX' 'IT_RESULT' '' '' '' TEXT-H16.
PERFORM SUB_FIELD_DES USING 'KDMAT' 'IT_RESULT' '' '' '' TEXT-H17.
PERFORM SUB_FIELD_DES USING 'ZMENG' 'IT_RESULT' '' '' '' TEXT-H18.
PERFORM SUB_FIELD_DES USING 'DMBTR' 'IT_RESULT' '' '' '' TEXT-H19.
*** PERFORM SUB_FIELD_DES USING 'U_PRICE' 'IT_RESULT' '' '' '' TEXT-H20.
PERFORM SUB_FIELD_DES USING 'KBETR' 'IT_RESULT' '' '' '' TEXT-H20.
PERFORM SUB_FIELD_DES USING 'KPEIN' 'IT_RESULT' '' '' '' TEXT-H27.
PERFORM SUB_FIELD_DES USING 'KWERT' 'IT_RESULT' '' '' '' TEXT-H21.
PERFORM SUB_FIELD_DES USING 'TRATE' 'IT_RESULT' '' '' '' TEXT-H28.
PERFORM SUB_FIELD_DES USING 'TAMOUNT' 'IT_RESULT' '' '' '' TEXT-H29.
PERFORM SUB_FIELD_DES USING 'WAERS' 'IT_RESULT' '' '' '' TEXT-H22.
PERFORM SUB_FIELD_DES USING 'KURSK' 'IT_RESULT' '' '' '' TEXT-H23.
PERFORM SUB_FIELD_DES USING 'LOC_CUR' 'IT_RESULT' '' '' '' TEXT-H24.
PERFORM SUB_FIELD_DES USING 'U_COST' 'IT_RESULT' '' '' '' TEXT-H25.
PERFORM SUB_FIELD_DES USING 'L_WAERS' 'IT_RESULT' '' '' '' TEXT-H26.
ENDFORM. "SUB_SET_PARAMETERS
*&---------------------------------------------------------------------*
*& Form SUB_SET_SORT
*&---------------------------------------------------------------------*
FORM SUB_SET_SORT .
*** X_SORT-spos = '1'.
*** X_SORT-fieldname = 'FKTYP'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '2'.
*** X_SORT-fieldname = 'VKORG'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '3'.
*** X_SORT-fieldname = 'VTWEG'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '4'.
*** X_SORT-fieldname = 'SPART'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '5'.
*** X_SORT-fieldname = 'FKDAT'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '6'.
*** X_SORT-fieldname = 'KUNNR'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '7'.
*** X_SORT-fieldname = 'NAME1'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '8'.
*** X_SORT-fieldname = 'FKART'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
***
*** X_SORT-spos = '9'.
*** X_SORT-fieldname = 'LLAND'.
**** X_SORT-UP = 'X'.
*** X_SORT-down = 'X'.
*** APPEND X_SORT TO T_SORT.
ENDFORM. "SUB_SET_SORT
*&---------------------------------------------------------------------*
*& Form SUB_SET_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SUB_SET_EVENT .
* DATA: C_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME
* VALUE 'SUB_TOP_OF_PAGE' .
* CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
* EXPORTING
* I_LIST_TYPE = 0
* IMPORTING
* ET_EVENTS = T_EVENT.
* READ TABLE T_EVENT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
* INTO W_EVENT .
* IF SY-SUBRC = 0 .
* W_EVENT-FORM = C_FORMNAME_END_OF_PAGE .
* APPEND W_EVENT TO T_EVENT . "add form 'TOP_OF_PAGE' to the events,
* ENDIF. "perform the FORM 'to_of_page' .
ENDFORM. "SUB_SET_EVENT
*&--------------------------------------------------------------------*
*& Form: SUB_CALL_ALV_WITH_LIST *
*&--------------------------------------------------------------------*
*& Description:call ALV list function *
*&--------------------------------------------------------------------*
FORM SUB_CALL_ALV_WITH_LIST TABLES T_RESULT.
IF T_RESULT[] IS INITIAL."no data
* Display message 'no data
MESSAGE S000(ZBA) WITH 'NO Data!'.
ELSE.
* SORT IT_RESULT BY PRUEFLOS MATNR.
* You can call ALV list or ALV Grid list(one of the two functions)
* 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 = T_FIELDCAT
** IT_EXCLUDING =
** IT_SPECIAL_GROUPS =
* IT_SORT = T_SORT
** IT_FILTER =
** IS_SEL_HIDE =
** I_DEFAULT = 'X'
* I_SAVE = 'A'
** IS_VARIANT =
** IT_EVENTS = T_EVENT
** 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
** IMPORTING
** E_EXIT_CAUSED_BY_CALLER =
** ES_EXIT_CAUSED_BY_USER =
* TABLES
* T_OUTTAB = T_RESULT
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2 .
* IF SY-SUBRC NE 0.
* ENDIF.
*------------------------------------------------
* The report will call ALV GRID list to display data
GT_LAYOUT-ZEBRA = 'X'.
GT_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 "--SY-CPROG
* 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 = GT_LAYOUT
IT_FIELDCAT = T_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
IT_SORT = T_SORT
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT =
IT_EVENTS = T_EVENT
* 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 = T_RESULT
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. "SUB_CALL_ALV_WITH_LIST
*&--------------------------------------------------------------------*
*& Form: SUB_FIELD_DES *
*&--------------------------------------------------------------------*
*& Description: Set the fields which will be displayed *
*&--------------------------------------------------------------------*
*& L_FIELDNAME---must upper case *
*& L_TABNAME ---internal table name *
*& L_KEY ---column with key-color AND frozen *
*& L_CHECKBOX ---the column is checkbox *
*& L_INPUT ---the column can be edited in ALV list *
*& L_SELTEX_L ---column Long description of title *
*&--------------------------------------------------------------------*
FORM SUB_FIELD_DES USING L_FIELDNAME TYPE C
L_TABNAME TYPE C
L_KEY TYPE C
L_CHECKBOX TYPE C
L_INPUT TYPE C
L_SELTEX_L TYPE C. "L_OUTPUTLEN TYPE I
CLEAR W_FILEDCAT.
W_FILEDCAT-FIELDNAME = L_FIELDNAME."must upper case
W_FILEDCAT-TABNAME = L_TABNAME. "internal table name
W_FILEDCAT-KEY = L_KEY. "column with key-color AND frozen
W_FILEDCAT-CHECKBOX = L_CHECKBOX. "the column is checkbox
W_FILEDCAT-INPUT = L_INPUT. "the column can be edited in ALV
W_FILEDCAT-SELTEXT_L = L_SELTEX_L. "column Long title
* W_FILEDCAT-SELTEXT_M = 'Sel' . "column Medium title
* W_FILEDCAT-SELTEXT_S = 'Sel' . "column short title
* W_FILEDCAT-OUTPUTLEN = L_OUTPUTLEN.
APPEND W_FILEDCAT TO T_FIELDCAT.
ENDFORM. "SUB_FIELD_DES
- ALV標準顯示內表數據--復制
- ALV
- alv
- ALV
- alv
- ALV事件
- alv macro
- alv tree
- alv tree
- alv 运用
- ALV总结
- ALV 输出
- alv细节
- ALV详解
- ALV详解
- ALV DEMO
- ALV复习
- OOP ALV
- 语言国际化
- 数据库性能调优技术系列文章(4)--深入理解散列连接执行计划(摘自老杨)
- 判断php脚本是通过shell访问还是web访问
- jpa + hibernate 的c3p0,proxool 连接池配置
- 深入理解数据库原理系列(1)---日志系统原理(摘自老杨)
- ALV標準顯示內表數據--復制
- C#学习笔记(三)
- oracle block 内部结构
- UML类图中的四种类关系
- Linux上phpMyAdmin 設置手順
- glibc compile
- javascript:encodeURI()方法与decodeURI()方法
- Sql 汇总
- 今天好冷