Existiert ein UC4 Objekt?

Existiert ein UC4 Objekt in einem Mandanten?

Bisweilen ist es erforderlich zu prüfen, ob es in einem UC4 Mandanten ein bestimmtes UC4 Objekt gibt, weil ohne dieses Kenntnis die Abläufe unkontrolliert abbrächen. Es gibt verschiedene Möglichkeiten, dies zu verifzieren.

1. über export:

Beispiel:
:set &object# = sys_act_me_name()
:set &rc# = export(&object#, "/dev/null")
:if &rc# = 0
! Objekt ist vorhanden
:else
! Objekt ist nicht vorhanden
:endif

2. über get_OH_IDNR():

Beispiel:
:set &client# = sys_act_client()
:set &object# = sys_act_me_name()
:set &id# = get_OH_IDNR(&object#, &client#)
:if &rc# > 0
! Objekt ist vorhanden
:else
! Objekt ist nicht vorhanden
:endif

Hinweis: seit UC4 V11 ist der Parameter für den Client in get_oh_idnr() weggefallen. Lustigerweise kann diese Form des Aufrufes aber auch in Versionen vor UC4 V11 verwendet werden - obwohl die Dokumentation in diesen Versionen noch den Parameter für den Client mit anführt.

Hinweis 2: und ebenfalls lustigerweise kann - zumindest in der Version UC4 V11 - der Client im Aufruf immer noch mitgegeben werden. Rätsel über Rätsel ...