This chapter requires good understanding of project parameters explained in the previous chapter of this tutorial.
In EasyMorph one project can call (run) another project, which is similar to using subroutines in programming languages. It might be convenient in a number of cases:
Use the Call transformation to call another project (subproject). With this transformation you can assign parameters of the subproject (if needed). Parameters of the subproject can be assigned either as constants, or using parameters of the calling (parent) project. Note that parameters must already be created in the called project prior to their assignment in Call transformation (see the previous chapter how to do it).
The Call transformation can run in one of the two modes:
It is possible not just return datasets from subprojects, but also pass datasets from parent projects into subprojects with the help of the "Input" transformation. This transformation should be inserted in the called subproject as a starting point of calculations. When inserted the transformation returns nothing. But when the subproject is executed, the Input transformation obtains the input dataset of the Call transformation of the calling (parent) project.
With the help of "Input" transformation it is possible to arrange two more ways of calling subprojects:
To simplify development and debugging, it is possible to copy a dataset from one project and paste it into Input transformation (similarly to Sandboxes).
The ability to encapsulate a calculation logic into a subproject that can be used in many other projects enables creating reusable projects (which are effectively custom transformations). Such reusable projects can be convenient in various scenarios. For instance:
Reusable projects tend to grow into libraries of reusable projects commonly used inside an organization.