Abap 创建对象
下面是创建对象的代码段Abap 创建对象,abap,Abap,下面是创建对象的代码段 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'. inc
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.
我是从文件上查到的
出于性能方面的考虑,对于userexits,应填写参数“main_prog”和“exit_form”,这些参数的执行通常与“SAPMV45A”中的“user_field_modification”类似,每个屏幕字段都会调用这些参数
1) 调用create object/bks/exitmanager之后到底发生了什么?为对象分配的内存等
2) 出于性能原因,为什么需要填写create object的导出参数?我不是100%确定,但这里是我的最佳猜测:
我不是百分之百确定,但这里是我最好的猜测:
这将有助于了解/bks/exit_manager实际上是什么,并简要说明您试图实现的目标 扩展IronGoofy所写的内容: 数据:/bks/exitmanager类型ref to/bks/exit_manager 这将在程序的ABAP内存中创建一个引用指针,非常类似于字段符号。而且它必须已经被删除。如果它在包含中,则需要移动包含 创建对象/bks/exitmanager 正在导出主程序='SAPMV45A' exit\u form='USEREXIT\u SAVE\u DOCUMENT\u PREPARE'。 这将基于声明的类创建一个对象实例,并将其分配给引用指针。它通过首先调用构造函数方法来实现这一点。
只有通过检查/bks/exit_manager,您才能确切地了解您需要导出的内容。了解/bks/exit_manager的实际内容以及您试图完成的任务的简要说明将有所帮助 扩展IronGoofy所写的内容: 数据:/bks/exitmanager类型ref to/bks/exit_manager 这将在程序的ABAP内存中创建一个引用指针,非常类似于字段符号。而且它必须已经被删除。如果它在包含中,则需要移动包含 创建对象/bks/exitmanager 正在导出主程序='SAPMV45A' exit\u form='USEREXIT\u SAVE\u DOCUMENT\u PREPARE'。 这将基于声明的类创建一个对象实例,并将其分配给引用指针。它通过首先调用构造函数方法来实现这一点。
只有通过检查/bks/exit_管理器,您才能准确地找到需要导出的内容。如果不查看/bks/exit_管理器的构造函数,就无法知道发生了什么以及为什么要传递参数。不过,保留设置缓冲区是一种常见的模式(设想一个静态哈希表,其中键是参数,值包含获取复杂和耗时的内容)。在这种情况下,我希望有一个无法直接访问的受保护构造函数,但是,只有使用静态工厂方法,即使用哈希表来保留退出处理程序本身的引用—最好使用弱引用…如果不查看/BKS/exit\u MANAGER的构造函数,就无法判断发生了什么以及为什么要传递参数。不过,保留设置缓冲区是一种常见的模式(设想一个静态哈希表,其中键是参数,值包含获取复杂和耗时的内容)。在这种情况下,我希望有一个不能直接访问的受保护构造函数,但只能使用静态工厂方法,该方法使用哈希表来保留退出处理程序本身的引用—最好使用弱引用