>* InternalCall >RETURN (AT(UPPER(THIS.class)+".", PROGRAM(PROGRAM(-1)-2))=1) >>to be called from _ASSIGN methods as follows:
>* myproperty_ASSIGN >LPARAMETERS vNewVal >IF THIS.InternalCall() > THIS.myproperty = m.vNewVal >ELSE > ERROR 1533 >ELSE >ENDIF >>So basically it's an extention of your idea of distinguishing between external and internall attempts to change the value of a property.