问题描述
在开发过程中,经常会在定义变量时限定长度, 比如银行 IBAN 信息不同国家会有不同长度,如果定义了 iban(30)
,然后通过系统函数调用的时候会出现如下的运行时错误: CALL_FUNCTION_CONFLICT_TYPE
,通过在传递给 I_IBAN
参数的类型错误,内部系统的长度已经到了 34 位。
问题出现的环境背景及自己尝试过哪些方法
环境背景:SAP 7.50
尝试修改 IBAN 为内部类型 iban TYPE iban
,问题得到修复。
相关代码
粘贴代码文本(请勿用截图)
CALL FUNCTION 'CONVERT_IBAN_2_BANK_ACCOUNT'
EXPORTING
i_iban = gs_alv-iban
IMPORTING
e_bank_account = lv_bank_account
e_bank_control_key = lv_control_key
e_bank_country = lv_bank_country
e_bank_number = lv_bank_number.
你期待的结果是什么?实际看到的错误信息又是什么?
实际错误:
The function module interface was defined in such a way that only
fields of a particular type can be specified under "I_IBAN". Field
"GS_ALV-IBAN"
specified here has a different field type however.
field type
期望错误:将 IBAN 转化为正确的银行账户和银行编号