需求:在计划独立需求界面新增一列自定义字段
效果如下:
MD63:显示:(注:客户字段在显示界面不可以编辑)
MD61:创建/MD62:修改(注:创建和修改的时候客户字段可编辑)
MD61创建界面:
MD62修改界面:
增强表结构:
代码实现:
程序:SAPLM60E
屏幕:0202
设置布局,添加一列客户
添加增强字段的校验逻辑
FIELD PBPT-ZKUNNR MODULE CHECK_ZKUNNR ON REQUEST..
对增强字段进行校验处理
*----------------------------------------------------------------------*
***INCLUDE LM60EI01.
*----------------------------------------------------------------------**{ INSERT S4DK900144 1
*&---------------------------------------------------------------------*
*& Module CHECK_ZKUNNR INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE check_zkunnr INPUT.DATA: ls_kna1 TYPE kna1,lt_pbim TYPE TABLE OF pbim,ls_pbim TYPE pbim.CLEAR: ls_kna1,lt_pbim,ls_pbim."检查客户是否存在SELECT SINGLE * INTO ls_kna1FROM kna1WHERE kunnr = pbpt-zkunnr.IF ls_kna1 IS INITIAL.MESSAGE '客户不存在,请检查。' TYPE 'E'.ELSE. "检查客户是否打上冻结标识IF ls_kna1-aufsd IS NOT INITIAL.MESSAGE '客户被打上冻结标识,请检查。' TYPE 'E'.ENDIF.ENDIF.* 检查物料+工厂+版本条件下,客户不能重复SELECT * INTO TABLE lt_pbimFROM pbimWHERE matnr = pbpt-matnrAND werks = pbpt-werksAND versb = pbpt-versbAND vervs = 'X'.IF sy-subrc = 0.READ TABLE lt_pbim INTO ls_pbim WITH KEY zkunnr = pbpt-zkunnr.IF sy-subrc = 0.MESSAGE '客户重复,请检查。' TYPE 'E'.ENDIF.ENDIF.
ENDMODULE.
*} INSERT
增强的信息更新到以下表PBIM中:
到此,所有的都完成了