项目场景:
调用HR_INFOTYPE_OPERATION进行9008信息类型新增数据
问题描述
调用该函数后发现会报输入内容不能为空的错误:
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '9008'
number = ls_9008-pernr
subtype = ls_9008-subty
objectid = ls_9008-objps
lockindicator = ls_9008-sprps
validityend = ls_9008-endda
validitybegin = ls_9008-begda
recordnumber = ls_9008-seqnr
record = ls_9008
operation = p_action
tclas = 'A'
dialog_mode = '0'
nocommit = 'X'
IMPORTING
return = ls_return.
原因分析:
进入函数跟进发现是因为该信息类型进行了增强,有必输检查
解决方案:
在之前的增强里面进行修改,限制TCODE
if sy-tcode = 'PA30' OR sy-tcode = 'PA40'.
if gt_dyntab_1col[] is initial.
message '输入内容不能为空' type 'E'.
endif.
endif.