项目场景:
调用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.
在调用HR_INFOTYPE_OPERATION函数新增9008信息类型数据时遇到输入不能为空的错误。问题源于信息类型的增强中包含了必输检查。为解决此问题,需要在增强代码里针对特定TCODE(PA30和PA40)进行修改,避免错误提示。
8467

被折叠的 条评论
为什么被折叠?



