首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式从BW检索BAdI。多么?

以编程方式从BW检索BAdI。多么?
EN

Stack Overflow用户
提问于 2012-11-13 06:49:15
回答 2查看 576关注 0票数 2

我想以编程方式检索使用BW生成的ABAP程序的源代码。

我想有一个ABAP程序,可以检索BADIs源使用其名称作为参数,然后保存在本地磁盘上的源保存每个BADI在一个文件中与该程序的名称。

EN

回答 2

Stack Overflow用户

发布于 2012-11-13 17:19:47

如果您知道实现的名称,则必须查找实现类的名称。根据BAdI类型(经典或快速内核),您必须使用不同的例程来读取类名(尝试使用函数模块SXO_IMPL_FOR_BADI_READ并阅读类CL_ENH_BADI_RUNTIME_FUNCTIONS方法GET_BADI_SHORTTEXT的代码,以了解如何使用各种BAdI类型)。然后,看一下名为SEO*的函数模块--你会发现阅读一个类的结构,它的超类和它的方法所需要的所有东西(仅仅导出源代码是不够的,对吧?)

票数 1
EN

Stack Overflow用户

发布于 2019-08-09 06:35:56

您可以通过以下方式实现此目的:

代码语言:javascript
复制
SELECT class_name
  INTO TABLE @DATA(lt_badi)
  FROM badi_impl
 WHERE badi_name = 'value'. " <- your badi name

LOOP AT lt_badi ASSIGNING FIELD-SYMBOL(<badi_class>).

  DATA(lo_instance) =  cl_oo_factory=>create_instance( ).
  DATA(lo_source) = lo_instance->create_clif_source( clif_name = CONV string( <badi_class> )
                                                     version   = 'A' ).
  lo_source->get_source( IMPORTING source = DATA(rt_source) ).

ENDLOOP.

将带有源代码的内部表保存到文件中非常简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13352889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档