Obj-Open is a general-purpose method for opening an object instance based on its class key/Primary key. It’s the safer and more common choice in most cases.
Obj-Open-By-Handle uses an internal, system-generated pzInsKey to open an instance. This pzInsKey is unique and permanent, unlike the class key which can be shared by multiple instances. Use Obj-Open-By-Handle only when:
If we know the exact pzInsKey of the specific instance you want to open.
Performance is critical: Obj-Open-By-Handle can be slightly faster than Obj-Open in some situations.
In summary:
Use Obj-Open for most cases.
Use Obj-Open-By-Handle only when needed for specific reasons.
You can have another case type of another class where the prefix is W, so the pyID can be W-1001 too. But the combination of class and pyID wont be unique, so pzInsKey is always unique.