[SAP ABAP开发技术总结]OK_CODE

12.9.     OK_CODE

如果是回车(命令行中未输入内容时回车)时,由于FunctionCode为空,所以SYST-UCOMM SY-UCOMMOK_CODE不会被重置;如果非回车,但FunctionCode也是空时,SYST-UCOMMSY-UCOMM会被重置,OK_CODE还是不会被重置,所以OK_CODE只有在FunCode非空时才会被重置

12.9.1.           ok_code使用前需拷贝

如果一个屏幕中的某个按钮未设置Function Code时也是可以触发PAI事件时,并且由于其Function Code此时为空而不会去设置OK_CODE(但此时SYST-UCOMM SY-UCOMM还是会被重新设置为空),这样的话OK_CODE中的值还为上一次触发PAI时所设置的Function Code。所以一般情况下在使用OK_CODE之前,先将OK_CODE拷贝到SAVE_OK变量中(在后面的程序使用SAVE_OK而不是OK_CODE),并随后将OK_CODE清空,以便为下一次PAI事件所使用做准备

其实还有一种方案可能替换这种使用前拷贝方案:就是还是针对OK_CODE编程,不另外定义save_ok,而是在每个屏幕的 PBO 里将ABAP中的OK_CODE清空

原文地址:https://www.cnblogs.com/jiangzhengjun/p/4265206.html