About EasyMorph Tutorials & Examples Web-help

Configure Projects (Variables, Filenames ...) from Outside


#1

Hi,

i am “Eymorph Rookie” but worked with several ETL-Tools in past (e.g. QV …)
The plan is to configure parameters, file names, variables etc. from outside (csv, SQL-DB, XLS …) without changing Project.morph.

For Example in Testsystem Smalldatafile will be loaded, in Prodsystem Bigdatafile will be loaded.

Step 1
Read File SystemConfig.csv.
SystemConfig

Step 2
Read File VariablesAndParameters.xlsx (Filter GLOBAL + ProjectName=LoadTestOrProd.morph)
VariablesAndParameters

Step 3
LoadFilenamesVariablesAndParameters.xlsx
Configurte Parameters and Variables (DBConnections, Filenames…)

I hope this is understandable. See also Atachement
LoadTestOrProd.zip (11.1 KB)


#2

Hi Adrian,

It is possible to use external files for configuring project parameters in EasyMorph. The approach is as follows:

  1. Load configuration values into EasyMorph using appropriate import action.
  2. Produce a 1-row table where each column corresponds to a parameter. See example below.
    image
  3. Use the “Iterate” action to run another project which parameters are assigned with values from this table. Because the table has only one row, iterating it once is basically equivalent to using the “Call” action to run another project only once. As we need to assign parameters of the called project using previously loaded dataset we can’t use “Call” here as “Call” can’t use a dataset for parameter assignment. Instead, we use “Iterate”.

As a result, you will have 2 projects: one project loads configuration data and then calls (runs) the other project with its parameters assigned using the configuration data.

If you’re new to the concept of calling/iterating see these tutorial articles:

I’ve reworked your example - see the updated version below:

LoadTestOrProd.zip (11.8 KB)

**** moved to #uncategorized


#3

:star_struck:Great. Thank you so much! Now, i have to understand, what you did :thinking: but it seems to be intuitive :grinning: