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. 计算几何 I. 极角

    参考资料 hankcs.com: POJ 1981 Circle and Points 题解 aswmtjdsj: POJ 1981 Circle and Points [定长圆覆盖最多点问题] zx ...

  2. Ubuntu安装 Docker CE,VNC访问docker图形界面并安装ROS

    从包安装 如果您无法使用Docker的存储库来安装Docker CE,则可以下载.deb适用于您的发行版的 文件并手动安装.每次要升级Docker CE时都需要下载新文件. 安装Docker CE,将 ...

  3. 【2018.11.22】CTSC2018(模拟赛!)

    太蠢了……$noip$ 后第一次模拟赛竟然是这样的……完全就是打击自信 / 降智…… 1. 假面 一道神仙概率 $dp$!第一次写…… 拿到题就发现血量 $m_i$ 的上限只有 $100$! 然后 $ ...

  4. AtCoder Regular Contest 074F - Lotus Leaves

    $n \leq 300,m \leq 300$,$n*m$的格子里有起点有终点有空地有障碍,人会从起点选一个同行或同列空地跳过去,然后一直这样跳到终点.求至少删掉多少格子使得人跳不到终点. 首先S和T ...

  5. ci框架——文章查看之上篇下篇

    1:从数据库查询出推荐的文章的信息,循环查出每篇推荐文章的id和title; foreach($data as $val){ $dataid[]=$val->aid; $datatitle[]= ...

  6. Codeforces 375 D Tree and Queries

    Discription You have a rooted tree consisting of n vertices. Each vertex of the tree has some color. ...

  7. matlab安装及破解

    Matlab安装及破解: 笔者最近要做一些和建模相关的事,故此需要安装Matlab2017版.在此做下笔记. 网盘链接: 链接:https://pan.baidu.com/s/1lN8C7TDFjSV ...

  8. Hadoop安装和基本单机部署

    下载安装  # 下载 $ cd /usr/local $ wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoo ...

  9. 【深入Java虚拟机】之六:Java语法糖

    语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使 ...

  10. centos下开启htaccess

    不知道原本 centOS是否默认支持 .htaccess 可能是因为我总弄配置文件无意中给搞坏了 今天要用到就查了下怎么开启 想要顺利开启需注意以下几点, 这几点都是在httpd.conf 这个配置文 ...