Here is my object definition and the command definition The command shows that the COMMAND_DETAILS is enabled.
I am trying to execute it as such, eventually passing a "caller reference" that contains the required identifiers.
Code: Select all
#avFrameworkManager.avSwitch caller(#COM_OWNER) toobjectnamed(CMG_TIME_CARDS) execute(CMG_TIME_CARD_DETAILS)
The trace output shows its trying to invoke the command
Code: Select all
47:38.8 VF_SY001O HandleVLFSwitch:ToObjectNamed(CMG_TIME_CARDS)
47:38.8 VF_SY001O HandleVLFSwitch:Execute(CMG_TIME_CARD_DETAILS)
47:38.8 VF_SY001O HandleVLFSwitch:Caller(CMGCBDC01)
EDIT
Following the examples in DF_DET54O it uses the user object name defined in the command definition not in the object's commands. So use COMMAND_DETAILS instead of CMG_TIME_CARD_DETAILS an I get the error
EDITavSwitch failed. The command named COMMAND_DETAILS associated with the object named CMG_TIME_CARDS is not currently enabled.
Further comparison with the example shows a difference between my command being an "Instance" command and the example being a "Object" command. Changing my command to be an "object" command fires up the details command, but breaks my Time Card object as its filter no longer triggers the details command.
So it looks like one has to be an instance command while the other has to be an object command.
Which means that I cannot reuse commands and I will effectively have two commands that do the exact same thing!
I can make that work and still keep my maintenance overhead low, just want to make sure that is how it is "supposed" to work.
Is that right?