开发RFC函数时,参数类型使用ABAP_BOOL类型提示不允许。
SAP在开发人员输入类型后,会通过函数RS_FB_CHECK_PARAMETER_REMOTE检查参数是否满足RFC的要求。
检查标准代码发现,SAP默认会通过函数DDIF_NAMETAB_GET或者DDIF_FIELDINFO_GET检查是否是SE11创建的表、结构、表类型等等,如果不是,则再判断是否为ABAP基本类型。如果不满足,则提示错误消息“FL385:类型 ABAP_BOOL 未知或不允许使用”
* case 2: real type check
call function 'DDIF_FIELDINFO_GET'
exporting
tabname = l_tabname
all_types = 'X'
importing
ddobjtype = tclass
dfies_wa = dfies_wa
lines_descr = lines_descr
tables
dfies_tab = dfies_tab
exceptions
not_found = 1
others = 2.
if sy-subrc ne 0.
* must be any of the ABAP standard types if not in DDIC
* (for now: DATE, TIME, INT, FLOAT, STRING, XSTRING, DECFLOAT)
if l_tabname ne 'D'
and l_tabname ne 'T'
and l_tabname ne 'I'
and l_tabname ne 'F'
and l_tabname ne 'STRING'
and l_tabname ne 'XSTRING'
and l_tabname ne 'DECFLOAT16' " ec Jan. 2006
and l_tabname ne 'DECFLOAT34' " ec Jan. 2006
and l_tabname ne 'INT8' " ec Apr. 2015
and l_tabname ne 'UTCLONG' " ec Apr. 2019
* Christian Fecht, 13/09/2001
* Special treatment of predefined types SY-REPID and SYST-REPID
and l_tabname ne 'SY-REPID'
and l_tabname ne 'SYST-REPID'.
message e385(fl) with tname raising not_remote_compatible.
endif.
endiF.