Regarding IN_CONTEXT.
The usage is IF IN_CONTEXT('Name of BO') = 'Yes'
The use case for this is somewhat esoteric. We have found a need for it in one of the apps we developed. In this app the same process was called from forms of different objects. These objects were naturally passed as a context for the process call. The process had only one object declared as input and it used to work assuming that only this object is in the context. So if the process was called from a form of a different object it didn't work. Of course, it was possible to create a duplicate of the process and declare a different object as the input and then another duplicate for yet another object. The objects in question, by the way, were related through some reference attribute - object B could be derived from object A as A.B etc.
But creating multiple processes with different input made the app very messy, so we ended up with the following solution - declare only one object as process input, for example A. Then the code of the process looked like this:
IF IN_CONTEXT ('B') = 'Yes' Then
FIND A WHERE A.B = B
IF IN_CONTEXT ('C') = 'Yes' Then
FIND A WHERE A.C = C
...
// Then do all the work as usual assuming that object A is context (if it wasn't the rules above made sure it was)