SAP 开发陷阱一箩筐(08)——做表控件的时候,怎么输入的行一回车就没了

第一次做表控件的朋友应该都会遇到这样的情况:用向导生成了表控件,运行程序以后,所有东西看起来也都很正常,但是在表控件里输入了一行数据之后,一提交,数据就没了;跟踪一下,PAI里的循环居然不会执行,也就是说,屏幕上TC的数据没有会回传给程序的内表。

其实,仔细分析一下代码就可以发现,LOOP循环是对内表执行的,在PBO时,内表还没有数据,则到PAI时,内表也还是没有数据,因此循环被执行。解决方法就是让内表里有数据,这样循环也就可以执行了。所以,一般来说,我们在做带有表控件的程序时,应该在PBO事件的循环输出前向内表中追加若干行,这样在PAI里数据就能回传过来了。

 

另外,还有人觉得用向导做表控件时,生成的代码太乱,向导会向程序里添加很多个子程序,影响程序的清晰。这个问题解决起来也不难,在创建好程序之后,绘制屏幕之前,向主程序添加下列代码即可:

ContractedBlock.gif ExpandedBlockStart.gif Code
* 表控件对象定义
  TYPE
-POOLS cxtab.
* 表控件处理程序
  INCLUDE tablecontrol_forms.

其实,表控件向导在主程序里添加的子程序都在包含程序 tablecontrol_forms 中定义,如果加入上述语句,表控件向导执行时就不再向主程序添加额外代码,程序看起来就很清晰了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值