ABAP form using问题

在修改代码时发现Perform调用的参数与Form定义的参数数量不一致,原本多一个参数却能正常运行,而改变参数数量或类型会导致错误。通过调试发现参数p3的值会影响内表l4。将p3类型调整后,激活成功。

今天改祖传代码的时候发现一个很神奇的事情,
Perform 的参数和 Form 的参数不一致。(Perform传参多一个值)

代码如下:
在这里插入图片描述

可见,F01中,有p3 和p2 俩参数
perform 传入的l4 和 A ,类型也是匹配的。
但是,
激活却报错了

在这里插入图片描述

这里说的是,形式参数数量4?
我就有点不理解,为什么形式参数是4。

原来的代码里,多给了一个参数而已,如下:
在这里插入图片描述
在这里插入图片描述

相当于有一个 ‘X’ 是没用的,但是不传就会报错。
然后我多加一个参数进去
在这里插入图片描述
依旧报错,(按字面意思,理应4个参数才对,但是我不理解为什么祖传代码多一个参数就行)
于是,我把参数改成跟祖传代码的一致。
在这里插入图片描述
然后就激活成功了????????
在这里插入图片描述

(百度过,没找到解释,等后面有时间再去研究)

如果把form的参数p3的类型换一下,如下:
在这里插入图片描述

就激活成功了

此处我调试了一下,发现传入的参数,不管用type table 还是 like ,
最终参数p3的值会直接影响到 l4(传入的内表)的值。
(测试中,增加了空白行,p3增加后,同时 l4 也会增加对应行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值