代码语言:javascript复制
REPORT ZTEST_DIS_ERROR .
*介绍:弹出错误的显示框
DATA : GT_BAPIRET TYPE STANDARD TABLE OF BAPIRET2 ,
GW_BAPIRET TYPE BAPIRET2 .
*TYPE 1 类型 BAPI_MTYPE CHAR 1 0 消息类型: S 成功,E 错误,W 警告,I 信息,A 中断
*ID 1 类型 SYMSGID CHAR 20 0 消息类
*NUMBER 1 类型 SYMSGNO NUMC 3 0 消息编号
*MESSAGE 1 类型 BAPI_MSG CHAR 220 0 消息文本
*LOG_NO 1 类型 BALOGNR CHAR 20 0 应用程序日志: 日志号
*LOG_MSG_NO 1 类型 BALMNR NUMC 6 0 应用日志:内部邮件序列号
*MESSAGE_V1 1 类型 SYMSGV CHAR 50 0 消息变量
*MESSAGE_V2 1 类型 SYMSGV CHAR 50 0 消息变量
*MESSAGE_V3 1 类型 SYMSGV CHAR 50 0 消息变量
*MESSAGE_V4 1 类型 SYMSGV CHAR 50 0 消息变量
*PARAMETER 1 类型 BAPI_PARAM CHAR 32 0 参数名称
*ROW 1 类型 BAPI_LINE INT4 10 0 参数中的行
*FIELD 1 类型 BAPI_FLD CHAR 30 0 参数中的字段
*SYSTEM 1 类型 BAPILOGSYS CHAR 10 0 引发消息的逻辑系统
DATA : GR_TABLE TYPE REF TO CL_SALV_TABLE .
*test
REFRESH GT_BAPIRET .
CLEAR GW_BAPIRET .
GW_BAPIRET - TYPE = 'S' .
GW_BAPIRET - ID = '300' .
GW_BAPIRET - NUMBER = 20 .
GW_BAPIRET - MESSAGE = '保存成功!' .
APPEND GW_BAPIRET TO GT_BAPIRET .
TRY .
CL_SALV_TABLE =>FACTORY (
IMPORTING
R_SALV_TABLE = GR_TABLE
CHANGING
T_TABLE = GT_BAPIRET ) .
CATCH CX_SALV_MSG . "#EC NO_HANDLER
ENDTRY .
DATA : LR_COLUMNS TYPE REF TO CL_SALV_COLUMNS . "All Column Objects
LR_COLUMNS = GR_TABLE ->GET_COLUMNS ( ) .
LR_COLUMNS ->SET_OPTIMIZE ( 'X' ) .
*弹出框
GR_TABLE ->SET_SCREEN_POPUP (
START_COLUMN = 1 "起始列
END_COLUMN = 100 "结束列
START_LINE = 1 "起始行
END_LINE = 10 ) . "结束行
GR_TABLE->DISPLAY( ).