In developer studio when we have used @DynamicComponentDependency XXX in a .projection or .client file, from where does it finds out that the given component is installed or not.
In .plsvc and .plsql files, when you have @DynamicComponentDependency XXX it adds the condition $IF Component_XXX_SYS.INSTALLED $THEN to the code.
But how does this work for .client and .projection file? Does the Developer Studio looks at somewhere like solutionSet.yaml and decide whether to add that code during the Code Generation step? Or does it look up somewhere else?
My understanding: Within the FNDBAS folder is the SolutionSet.Yaml. Then there is the deploy.ini in each component folder that sets up either STATIC or DYNAMIC relations to other components.
If its fully set up in there, it might still be good to have the call outs. The components are deployed in a certain order, and items withing the dynamic dependency are pulled out and redeployed after everything else has been done.
Hi 
Solution Set is a concept introduced in IFS Cloud being a simple configuration which defines what components should be enabled or disabled from the whole IFS component suite. Any active Solution Set configuration will simply act as a filter and, show and/or Code Generate the enabled components and remove and/or not Code Generate the disabled components
The whole impact of a Solution Set definition is seen first when we start to code generate IFS Cloud. Components that are disabled (false) will not be shown in the Projects Navigator and therefore not being possible to code generate. For components that are enabled (true), there will also be a noticeable change during the code generation as the model files containing items marked with the DynamicComponentDependency attribute will check the component availability using the Solution Set definition. If the dependent component is disabled (or not listed in the SolutionSet), the result will be same as if the mentioned component was not physically available on disk. That means that the entire section below each DynamicComponentDependency annotation will be removed, not being part of the code generation.
Whereas the Deploy.ini file is used to specify dependencies among components. These dependencies can be either static or dynamic.
Static Dependency¶
When there is a Static Dependency between two components
Example: Component 1 has a Static Dependency with Component 2.
Then Component 1 cannot function without the purchasing / installation of Component 2.
Dynamic Dependency¶
When there is a Dynamic Dependency between two components
Please refer to the following links to get more understanding on the connection between DynamicDependency and SolutionSets
Thank you Harshini for the comprehensive explanation. This solves my issue! :)
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
