######################################################
#Parallel processing                                 #
#From: Tiago Blauth        Date: Oct/2017            #
#email: tiagoblauth@outlook.com                      #
#Release: v1.0                                       #
######################################################

About the code: based a process request list, the system triggers multiple runti processes to acconplish all of it

How to test it (Architect instructions):
1) Open GEN_Install_Settings cube and set your environment parameters (let "Parallel Processing" as 3 for the test), close this cube
2) Open GEN_Process_List cube and press F9
3) Run "A_Test" process
4) When "A_Test" process is completed, go to GEN_Process_List cube and press F9 from time to time. The status will change from Queued to Running and then to Completed

Objects presentation in a logical order:

- Cube: GEN_Install_Settings
Description: store environment parameters
	App Scheduler Folder: folder of tm1runti.exe
	Service url and port: server name and tm1 port (express 19300 / enterprise 9510 in general)
	DM App Name: tm1 server name (express old versions CXMD)
	CAM Namespace: authentication CAM namespace (express old versions CognosExpress / enterprise check Cognos Configuration - Security > Authentication > Namespace ID)
	Process Run User: logon user
	Process Run Password: logon user password
	Parallel Processing: number of parallel processes
	
- Cube: GEN_Process_List
Description: List the processes to run
	Process Name: process name
	Process Parameter: parameter list (example parameter1="A" parameter2=9)
	Status: Queued / Running / Completed

- Process: GEN_Parallel_Request
Description: add a process to run in the GEN_Process_List cube

- Process: GEN_Parallel_Run
Description: request the parallel processing to start

- Process (internal): GEN_Batch_Run
Description: trigger a tm1runti.exe process

- Process (internal): GEN_Parallel_Trigger
Description: process execution agent, runs the processes marked as "Queued", updates the process to "Running" and "Completed"

- Processes: Parallel Process 1 to 5 
Description: dummy processes for test (takes +- 1 minute to finish)

- Processes: A_Test 
Description: dummy main process

####################################
#Objects Migraton                  #
####################################

Copy the following files to your own application 

- Folders: 
GEN_Process_List}vues
GEN_Process_Request_List}subs

- Files:
GEN_Batch_Run.pro
GEN_Install_Settings.cub
GEN_Install_Settings.dim
GEN_Install_Settings.feeders
GEN_Install_Settings.GEN_Install_Settings.blb
GEN_Install_Settings.RUX
GEN_Parallel_Request.pro
GEN_Parallel_Run.pro
GEN_Parallel_Trigger.pro
GEN_Process_List.cub
GEN_Process_List.Process Check.blb
GEN_Process_Measure.dim
GEN_Process_Request_List.dim
GEN_Settings.dim
