METHOD GET_SEACH_MX_DATA .
DATA CL_TABLE TYPE REF TO CL_SALV_TABLE.
DATA CL_FUNCT TYPE REF TO CL_SALV_FUNCTIONS_LIST."alv 标准功能
DATA CL_COLUMS TYPE REF TO CL_SALV_COLUMNS_TABLE."列属性
DATA CL_COLUM TYPE REF TO CL_SALV_COLUMN_TABLE."列字段设置
DEFINE CL_FIELD. “定义宏,设定AVL列的属性
CL_COLUM ?= CL_COLUMS->GET_COLUMN( &1 ).
CL_COLUM->SET_LONG_TEXT( &2 ).
CL_COLUM->SET_SHORT_TEXT( &2 ).
CL_COLUM->SET_VISIBLE( &3 ).
END-OF-DEFINITION.
READ TABLE LT_DATA ASSIGNING <SC_MT011> INDEX I_TABIX. "读取鼠标选择的行索引
IF SY-SUBRC = 0.
LOOP AT SC_MT012[] INTO LS_DAT1.
CLEAR SEACH_MXS.
SEACH_MXS-ZSCNO = LS_DAT1-ZSCNO."扫描单号
SEACH_MXS-SCITEM = LS_DAT1-SCITEM."扫描单行项目
SEACH_MXS-SATNR = LS_DAT1-SATNR."款号
SEACH_MXS-MAKTX = LS_DAT1-MAKTX."款号描述
SEACH_MXS-MATNR = LS_DAT1-MATNR."物料号(SKU)
SEACH_MXS-ZCONLORV = LS_DAT1-ZCOLORV."颜色
SEACH_MXS-ZSIZEV = LS_DAT1-ZSIZEV."尺码
SEACH_MXS-MENGE = LS_DAT1-MENGE."扫描数量
APPEND SEACH_MXS TO SEACH_MXT. ”SEACH_MXT是定义好的一个表
ENDLOOP.
"下面是调用代码
CL_SALV_TABLE=>FACTORY(
IMPORTING
R_SALV_TABLE = CL_TABLE
CHANGING
T_TABLE = SEACH_MXT ).
CL_FUNCT = CL_TABLE->GET_FUNCTIONS( ).
CL_FUNCT->SET_ALL( 'X' ).
CL_COLUMS = CL_TABLE->GET_COLUMNS( ).
CL_COLUMS->SET_OPTIMIZE( 'X' ).
CL_FIELD 'SATNR' '款 号' 'X'.
CL_FIELD 'MAKTX' '款号描述' 'X'.
CL_FIELD 'MATNR' '物料号(SKU)' 'X'.
CL_TABLE->SET_SCREEN_POPUP(
START_COLUMN = 1
END_COLUMN = 120
START_LINE = 1
END_LINE = 20 ).
CL_TABLE->DISPLAY( ).
FREE SEACH_MXT.
ELSE.
MESSAGE '请选择行数据!' TYPE 'S'.
ENDIF.
ENDMETHOD. " GET_S