I am using SC since version 4 but I still do not understand the semantic of global variables in SC.
- Variable type: IN and OUT global variable
What is the real difference ?
According to the documentation IN variables are passed to a given application from other applications where OUT variables are created within the given application.
To me you can pass a variable V from A to B declaring V in A , regardless is IN or OUT in B .
Morover when I create a link from A to B I am asked to set the values for all variable in B regardless they are IN or OUT, which makes the difference between IN and OUT even more difficult to understand.
The only difference I have understood so far is that if you create an IN variable in B and you run B standalone , then the browser asks to set all value for the INs and dont ask to set the OUTs
Variable with Optional flag set to on
What is the purpose of this flag for an OUT variable ?
If an OUT variable is supposed to be created within the application and NOT passed to the application what is reason for being an optional parameter ?
What is an optional OUT variable ?
Again, if an OUT varibale is not an input parameter why should I care if it is passed via GET or POST ? It should never passed becasue it is of type OUT and not type IN
Morover to me, all global variables regardless they are IN or OUT are all saved in SESSION and are globally availabe in all apps even if they are not declared as SESSION.
So what is the purpose of the SESSION scope ?
Arent all global variable eventually saved in the SESSION even if the SESSION scope is not flagged ?