我尝试使用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.
是有效的。
答案 0 :(得分:0)
您无法轻易检查“对象集是否为空”。对象集可以是离散的对象集(就像传输的内容一样)或一组选择标准。后者在执行选择时可能会或可能不会产生对象列表 - 因此生成的对象列表可能为空,即使对象集不是。