我尝试使用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.
是功能性的。
您无法那么容易地检查"对象集是否为空"。对象集可以是离散的对象集(就像传输的内容一样),也可以是一组选择标准。后者可能会在执行选择时生成对象列表,也可能不会生成对象列表——因此,即使对象集不是,生成的对象列表也可能是空的。