When trying to use a message variable in a message variable the following message comes up:
Message variables cannot cross reference each other, so it is not possible to use a message variable in a message varaible if those are defined on the same level. The variable evaluation order is undefined, that means it can happen that a variable is NULL when it is being used.
Rule variables will be evaluated in the following order:
Instead of using a message variable, use an expression variable in a message variable, because an expression is always processed before a message.
Another option is to use a message variable - defined on rule level - on the condition level. As rule level variables will be processed before condition level variables they cannot be NULL.