下面是创建对象的代码片段。
Form userexit_save_document_prepare.
data: /bks/exitmanager type ref to /bks/exit_manager.
create object /bks/exitmanager
exporting main_prog = 'SAPMV45A'
exit_form = 'USEREXIT_SAVE_DOCUMENT_PREPARE'.
include /bks/exitman.
ENDFORM.我是从文件里得到的
出于性能考虑,应该填充参数"main_prog“和"exit_form”,对于用户出口,这些参数通常像"SAPMV45A“中的"user_field_modification”那样执行,而“SAPMV45A”中的“user_field_modification”是每个屏幕字段都需要的。
1)当调用create /bks/exitmanager时,后面到底发生了什么?为对象分配的内存等等?
2)为什么出于性能原因,需要填充create对象的导出参数?
发布于 2009-12-10 07:34:16
我不是百分之百确定,但我最好的猜测是:
所述)。
发布于 2009-12-10 13:38:14
它将有助于了解什么是/bks/exit_manager,并简要解释一下您想要完成的任务。
扩展IronGoofy所写的内容:
数据: /bks/exitmanager类型ref to /bks/exit_manager --这将在程序的ABAP内存中创建一个引用指针,非常类似于字段符号。而且,它必须已经被剥夺了。如果它在包含中,则需要移动包含。
创建对象/bks/exitmanager导出main_prog = 'SAPMV45A‘exit_form =’USEREXIT_SAVE_DOCUMENT_exit_form‘。这将根据声明的类创建对象实例,并将其分配给引用指针。它首先通过调用构造函数方法来做到这一点。只有通过检查/bks/exit_manager,您才能准确地找到需要导出的内容。
发布于 2009-12-12 19:51:30
如果不查看/BKS/EXIT_MANAGER的构造函数,就不可能知道发生了什么以及为什么要传递参数。不过,保持设置缓冲区是一种常见的模式(考虑一个静态散列表,其中的键是参数和值,保存任何复杂且耗时的参数和值)。在这种情况下,我希望得到一个不能直接访问的受保护构造函数,但只使用一个静态工厂方法,该方法使用散列表来保留退出处理程序本身的引用--最好地使用弱引用.
https://stackoverflow.com/questions/1879211
复制相似问题