一、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.
"-----------------------------------------@斌将军--------------------------------------------