一、CJ20N添加字段

二、用户出口
表增强
博客频遭盗窃,查看全文,请移步公众号“斌将军”,输入关键字“项目定义字段增强”查看


输入流
- "-----------------------------------------@斌将军--------------------------------------------
- MODULE get_kunnr_name INPUT.
- IF PROJ-KUNNR IS NOT INITIAL.
- SELECT SINGLE
- NAME1
- FROM KNA1
- INTO PROJ-NAME1
- WHERE KUNNR = PROJ-KUNNR.
- ENDIF.
- ENDMODULE.
- "-----------------------------------------@斌将军-------------------------------------
输出流
- MODULE status_0600 OUTPUT.
- LOOP AT SCREEN.
- IF G_DISPLAY = 'X'.
- SCREEN-INPUT = '0'.
- MODIFY SCREEN.
- ENDIF.
- ENDLOOP.
- ENDMODULE.
激活以上全部文件即可
三、校验必输项
虽然给客户编号设置了必输,但是只有进入所在的页签才能校验必输,如果创建后直接保存,必输不起作用,因此需要在保存的时候校验,客户编号是否为空
BADI:PROJECTDEF_UPDATE
SE19创建对应的增强,在AT_SAVE方法中,添加如下代码
- "-----------------------------------------@斌将军--------------------------------------------
- METHOD if_ex_projectdef_update~at_save.
- IF im_projectdefinition-kunnr IS INITIAL.
- sy-msgid = 'ZNHPS100'.
- sy-msgno = '012'."客户编码必输
- RAISE error_with_message.
- ELSE.
- IF im_projectdefinition-vbukr IS NOT INITIAL.
- DATA:lv_kunnr TYPE kunnr.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = im_projectdefinition-kunnr
- IMPORTING
- output = lv_kunnr.
-
- SELECT COUNT(*)
- FROM knb1
- WHERE kunnr = @lv_kunnr
- AND bukrs = @im_projectdefinition-vbukr.
- "-----------------------------------------@斌将军--------------------------------------------