Hai,
I am getting the following error while creating a job using the CTMDEFINE utility.
"-GROUP and -TABLE should be the same for the job that belongs to the group entity."
Can someone help me on this please....
Also I need to have the environment variable embedded in the Command line like
"$JobsFolder/job1.ksh"
Currently it is substituting the environment variable when use the CTMDEFINE utility
Thanks and regards,
Amirths
-GROUP and -TABLE should be the same for the job that belong
- nicolas_mulot
- Nouveau
- Posts: 149
- Joined: 07 Jan 2010 12:00
Largonir,
You are right, in the former versions (640, 630 and probably older ones), the ctmgrpdef did not accept the –TABLE parameter, then the subsequent ctmdefine do not recognise the jobs as belonging to the previously created scheduling group,
As a consequence, and this is a bug in the design of ctmgrpdef/ctmdefine , the table name is set implicitely to the –GROUP value and you finally got 2 tables: one named after the GROUP parameter, which contains only the group entity, the other, named after the -TABLE parm of the ctmdefine, which contains all your jobs, but which is NOT a group scheduling table.
This is easily reproduceable as follows.
First create a SG with its jobs under control-m/Desktop. Make sure the group name is different from the table name.
Then, upload your table to CTM/server.
Finally, under the ctm server account, export your entire table using the ctmexdef utility (-action DEFINE).
In the resulting file, you will see a sequence of one ctmgrpdef, followed by as many ctmdefine as jobs in your table, which is theoritically correct.
If you try to execute this file, you will get the error.
This bug, which does not affect the EM equivalent of ctmdefine, which is deftable, has been fixed as from version 7.0.0 of ctm/Server.
Regarding your environment variable, just remember the ctmdefine is defined as a script which is to be executed. As a consequence, the nested variables will be resolved during execution of ctmdefine, unless you escape them with the OS dependant escape character (probably “\” in your case).
Cheers
Nicolas Mulot
You are right, in the former versions (640, 630 and probably older ones), the ctmgrpdef did not accept the –TABLE parameter, then the subsequent ctmdefine do not recognise the jobs as belonging to the previously created scheduling group,
As a consequence, and this is a bug in the design of ctmgrpdef/ctmdefine , the table name is set implicitely to the –GROUP value and you finally got 2 tables: one named after the GROUP parameter, which contains only the group entity, the other, named after the -TABLE parm of the ctmdefine, which contains all your jobs, but which is NOT a group scheduling table.
This is easily reproduceable as follows.
First create a SG with its jobs under control-m/Desktop. Make sure the group name is different from the table name.
Then, upload your table to CTM/server.
Finally, under the ctm server account, export your entire table using the ctmexdef utility (-action DEFINE).
In the resulting file, you will see a sequence of one ctmgrpdef, followed by as many ctmdefine as jobs in your table, which is theoritically correct.
If you try to execute this file, you will get the error.
This bug, which does not affect the EM equivalent of ctmdefine, which is deftable, has been fixed as from version 7.0.0 of ctm/Server.
Regarding your environment variable, just remember the ctmdefine is defined as a script which is to be executed. As a consequence, the nested variables will be resolved during execution of ctmdefine, unless you escape them with the OS dependant escape character (probably “\” in your case).
Cheers
Nicolas Mulot