Sap Code Inspector如何使用cl_ci_objectset类

时间:2013-07-11 09:15:06

标签: sap abap

我尝试使用cl_ci_objectset类来引用一组对象以便之后运行检查:

  data: lr_ci_objectset type ref to cl_ci_objectset.

  CALL METHOD cl_ci_objectset=>get_ref
    EXPORTING
     P_OBJSNAM                = 'ZTEST'
  RECEIVING
    p_ref                     = lr_ci_objectset
  EXCEPTIONS
  ... exception list ...
  IF sy-subrc <> 0.
    MESSAGE i005(zsci).
*   Fehler beim Ermitteln der Objektmenge
    RAISE cancel.
  ENDIF.


* Prüfen, ob es überhaupt Objekte in der SCI Objektmenge gibt
  IF lr_ci_objectset->iobjlst-objects[] IS INITIAL.
    write 'Object Menge leer'.
*   in diesem Fall kann auch nichts geprüft werden
    RETURN.
  ENDIF.

   write 'Object Menge nicht leer'.

集合'ZTEST'在系统中作为公共对象集存在。

经过更多测试后,我找到了解决方案。

IF lr_ci_objectset->iobjlst-objects[] IS INITIAL.

是objset的错误数组,因此被使用。

IF lr_ci_objectset->OBJECTSINF IS INITIAL.

是有效的。

1 个答案:

答案 0 :(得分:0)

您无法轻易检查“对象集是否为空”。对象集可以是离散的对象集(就像传输的内容一样)或一组选择标准。后者在执行选择时可能会或可能不会产生对象列表 - 因此生成的对象列表可能为空,即使对象集不是。