以编程方式创建子对象,而不是在SLG0中创建子对象

时间:2018-01-26 16:24:18

标签: abap

创建新的日志对象时,如果尚未存在,则希望动态创建子对象。
这就是我现在所拥有的:

ls_log-object     = mc_log_object.
ls_log-subobject  = mv_log_subobject.

CALL FUNCTION 'BAL_LOG_CREATE'
  EXPORTING
    i_s_log      = ls_log
  IMPORTING
    e_log_handle = mv_log_handle.

为了避免错误,我在此之前检查对象和子对象:

CALL FUNCTION 'BAL_OBJECT_SUBOBJECT_CHECK'
  EXPORTING
    i_object            = mc_log_object
    i_subobject         = mv_log_subobject
  EXCEPTIONS
    object_not_found    = 1
    subobject_not_found = 2
    subobject_necessary = 3
    OTHERS              = 4.

CASE sy-subrc.
  WHEN 2.
    mv_log_subobject = ''.
ENDCASE.

但我不想这样做,我想创建一个新的子对象,如果它还没有存在!
是否有一些秘密函数调用可以做到这一点? :d

1 个答案:

答案 0 :(得分:1)

没有秘密函数调用或类似的东西。事实上,SLG0只不过是查看集群维护调用(SM34)。但是我也想知道你为什么需要这个?如果您需要更多或动态区分日志,可以使用字段" extnumber"您可以在结构中设置ls_log。

您可以在SLG1中选择此字段,也可以通过log api。