A part solution to making this sort of thing dynamic is to use control variables in the proc that does the data copy (CALC_PROC). Then use a calling proc (CALLING_PROC) to:
- set the control variables
- copy the CALC_PROC to a second proc (EXECUTE_PROC) using the resolve keyword. This translates the control variable to its value
- compile the EXECUTE_PROC
- execute the EXECUTE_PROC
If you set this up correctly a new KPI requires only a new line(s) in CALLING_PROC to andle the new call of the EXCUTE_PROC