CALL METHOD er_data_changed->add_protocol_entry

 
METHOD handle_data_changed.

DATA: ls_modi TYPE lvc_s_modi.
    DATA: lv_valid TYPE c.

DATA: lt_lvc_t_modi TYPE lvc_t_modi .
    DATA: ls_lvc_t_modi TYPE lvc_s_modi ,
          l_matnr       TYPE matnr,
          l_datum       TYPE datum,
          l_datab       TYPE datum,
          lv_flag(1).
*    CLEAR:LV_FLAG,L_DMBTR,L_CTCOD.
    LOOP AT er_data_changed->mt_good_cells INTO ls_modi.
      IF ls_modi-fieldname = 'MATNR'.
*****************获取CELL值
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = ls_modi-row_id
            i_fieldname = ls_modi-fieldname
          IMPORTING
            e_value     = l_matnr.
        IF NOT l_matnr IS INITIAL.
          SELECT SINGLE matnr  INTO l_matnr FROM mara
                          WHERE matnr = l_matnr.
          IF sy-subrc = 0.
            SELECT SINGLE maktx INTO wa_out-maktx FROM makt
                               WHERE matnr = l_matnr
                                 AND spras = sy-langu.
            MODIFY gt_out FROM wa_out INDEX ls_modi-row_id TRANSPORTING maktx.
            CLEAR: ls_lvc_t_modi,lt_lvc_t_modi[].
            ls_lvc_t_modi-row_id = ls_modi-row_id.  "自然数
            ls_lvc_t_modi-fieldname = 'MAKTX'.   "内部表字段的字段名称
            ls_lvc_t_modi-value = wa_out-maktx."  单元格内容
            ls_lvc_t_modi-tabix  = ls_modi-row_id."自然数
            APPEND ls_lvc_t_modi TO lt_lvc_t_modi.
            CLEAR ls_lvc_t_modi.
            CALL METHOD g_grid->set_delta_cells
              EXPORTING
                it_delta_cells = lt_lvc_t_modi[].
          ELSE.
            lv_flag = 'X'.
*            CALL METHOD ER_DATA_CHANGED->ADD_PROTOCOL_ENTRY
*              EXPORTING
*                I_MSGID     = 'Z_BH1'
*                I_MSGNO     = '000'
*                I_MSGTY     = 'E'
*                I_MSGV1     = '你输入的商品不存在!'
*                I_MSGV2     = ''
*                I_MSGV3     = ''
*                I_FIELDNAME = LS_MODI-FIELDNAME
*                I_ROW_ID    = LS_MODI-ROW_ID.

ENDIF.
        ENDIF.
      ENDIF.

IF ls_modi-fieldname = 'DATBI'.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = ls_modi-row_id
            i_fieldname = ls_modi-fieldname
          IMPORTING
            e_value     = l_datum.

READ TABLE gt_out INTO wa_out INDEX ls_modi-row_id.
        l_datab  = wa_out-datab.

IF l_datum < l_datab.
          lv_flag = 'X'.
          CALL METHOD er_data_changed->add_protocol_entry
            EXPORTING
              i_msgid     = 'Z_BH1'
              i_msgno     = '000'
              i_msgty     = 'E'
              i_msgv1     = '你输入的起始日期大于结束日期!'
              i_msgv2     = ''
              i_msgv3     = ''
              i_fieldname = ls_modi-fieldname
              i_row_id    = ls_modi-row_id.
        ENDIF.

ENDIF.

ENDLOOP.

****************显示错误消息
*    IF LV_FLAG = 'X'.
*      CALL METHOD ER_DATA_CHANGED->DISPLAY_PROTOCOL.
*    ENDIF.

ENDMETHOD.                    "HANDLE_DATA_CHANGED

20170228 METHOD handle_data_changed-的更多相关文章

  1. 20170228 ALV method中用E消息,会退出到初始界面;STOP 会dump;

    再回车就处理界面了, 所以,Handel_data_change 做数据检查时,如果需要报错要用到, CALL METHOD er_data_changed->add_protocol_entr ...

  2. SAP 直营验单

    *&---------------------------------------------------------------------* *& Report  ZSDR005 ...

  3. 00 alv抬头等

    *&---------------------------------------------------------------------* *& Report ZHJ_TEST0 ...

  4. ALV用例大全

    一.ALV介绍  The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允 ...

  5. OO ALV 学习参考

      http://blog.csdn.net/sapliumeng/article/details/18653491 一.ALV介绍 The ALV Grid Control (ALV = SAPLi ...

  6. alv行可编辑时带出描述

    ALV显示可以编辑的状态下可以带出描述信息等,比如维护表程序输入公司代码时需要带出公司代码的描述,这时就需要通过下面事件来触发 定义一个类: CLASS lcl_event_receiver DEFI ...

  7. ABAP DEMO ALV-监听数据修改

    *&---------------------------------------------------------------------* *& Report YDEMO_006 ...

  8. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  9. Apply Newton Method to Find Extrema in OPEN CASCADE

    Apply Newton Method to Find Extrema in OPEN CASCADE eryar@163.com Abstract. In calculus, Newton’s me ...

随机推荐

  1. BZOJ 1072 [SCOI2007]排列perm ——状压DP

    [题目分析] 没什么好说的,水题. 代码比较丑,结果需要开long long 时间爆炸 [代码] #include <cstdio> #include <cstring> #i ...

  2. servlet分析

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  3. docker管理工具推荐(linux和windows)

    1.windows. 下载dokcer toolbox即可 2.linux 推荐rancher.安装链接参考:http://www.kaimingwan.com/post/rong-qi-yu-ron ...

  4. @font-face制作小图标的实践

    1.为啥要用font-face制作小图标 1)适用性:一个图标字体要比一系列的图像要小,一旦字体图标加载完,图标则会立刻显示出来,不需要去下载一个图像. 2)可扩展性:可以使用font-size对图标 ...

  5. IntelliJ IDEA常用的快捷键(代码提示/注释代码/加入类注释和方法注释Javadoc)

    说明:IDEA的快捷键非常的多,但是下面这几种快捷键应该是最常用到的. 一.代码提示: [Ctrl]+[空格] 这个通常会与输入法开关冲突,解决方法是屏蔽输入法开关. 二.注释: 1.单行:[Ctrl ...

  6. Maven使用site-deploy(site:deploy)部署通过site生成的文档(Tomcat-WebDAV)

    Maven可以通过site生成项目的帮助文档,并且格式为html,那么可以通过site-deploy把文档部署到远端,部署方式支持HTTP/FTP/SCM/WebDAV等. 更多部署方案,参考:htt ...

  7. MySql 初始化权限脚本

    刚装好MySql后无法用客户端工具连接,通过命令行登录后,运行下面的脚本: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'     IDENTIFIED BY 'y ...

  8. VisualSVN Server 导入已存在的库

    http://blog.csdn.net/lidatgb/article/details/7984220         早些时候建立过一个SVN Server的库,后来觉得库的名字太长了,随意换了一 ...

  9. linux 源码编译安装apache

    cc1 是c语言的编译器.

  10. 向C#的选项卡中添加自定义窗体

    一.自定义窗体的搭建 这个比较简单,添加一个WinForm窗体就行了,设置一个名字EditPanel,然后在窗体上画需要的控件. 二.将自定义窗体添加到选项卡 // 新建窗体加入到选项卡中 EditP ...