• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

狼升空

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

增强小记02

想在ME21N保存前做一些数据检查,

可以做一个增强功能,

运行 CMOD 新增,   增强接口 输入 MM06E005  (  EXIT_SAPMM06E_012 ) ,在 NCLUDE ZXM06U43 .  里写代码功能。

例子如下:

*&---------------------------------------------------------------------* *&  包括                ZXM06U43 *&---------------------------------------------------------------------* TABLES: EKPO.

DATA: e_message(200) TYPE c. DATA: SPSTYP LIKE EBAN-PSTYP. DATA: SBANFN LIKE TEKPO-BANFN. DATA: t_msg(200) TYPE c. DATA: t_answer(1) TYPE c. data: iflag type i.

IF I_EKKO-BSART = 'KSUB' OR I_EKKO-BSART = 'EUB'.   iflag = 0.   LOOP AT TEKPO.     SPSTYP = 0.     SBANFN = TEKPO-BANFN.     SELECT SINGLE * FROM EBAN WHERE BANFN = SBANFN.     IF SY-SUBRC = 0.       SPSTYP = EBAN-PSTYP.     ENDIF.

    if SPSTYP = 3.        iflag = iflag + 1.

      if iflag = 1.           CONCATENATE '注意:请购单' SBANFN INTO t_msg.       else.

          CONCATENATE t_msg '/' SBANFN INTO t_msg.         endif.     endif.

  ENDLOOP.

  if iflag > 0.     CALL FUNCTION 'POPUP_WITH_2_BUTTONS_TO_CHOOSE'       EXPORTING *       DEFAULTOPTION = '1'         DIAGNOSETEXT1 = t_msg *       DIAGNOSETEXT2 = ' ' *       DIAGNOSETEXT3 = ' '         TEXTLINE1     = '是: L 类型的请购单允许转为 U 类型的采购单'         TEXTLINE2     = '否: L 类型的请购单不允许转为 U 类型的采购单,先删除再保存' *       TEXTLINE3     = ' '         TEXT_OPTION1  = '是'         TEXT_OPTION2  = '否'         TITEL         = '选择'       IMPORTING         ANSWER        = t_answer.

    IF t_answer = 2.       CONCATENATE '申请单:' SBANFN '是L类型,与当前类型不符!' INTO e_message.       message e_message type 'E'.     endif.   endif.

ENDIF.

 

这个功能会弹出一个用户选择的小窗口:

 

 

如果选择“是” ,系统会继续保存,“否” 则出现错误提示,不能保存。

 

posted on 2012-10-08 17:57  狼升空  阅读(410)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3