Cron job throws an error when running IBM Sterling Connect:Express for Unix "2912"
When running a cron job the following error is being displayed
Your "cron" job on <server_name>
produced the following output:
It is an Internal Error Code : (see CXUX15_UserGuide.pdf page 5-5) page 77
/* Internal Error Return Code */
#define ERROR_BAD_FUNC 2900
#define ERROR_CRE_QUEUE 2901
#define ERROR_PB_SEND 2902
#define ERROR_PB_RECV 2903
#define ERROR_TIME_OUT 2904
#define ERROR_NOTOM 2912
#define ERROR_OTHER 2999
To execute transfer requests using the p1b8preq utility two conditions are necessary:
1) the variable $TOM_DIR must exist for the user who launches p1b8preq
2) the monitor tom_mon must be started
If one of the two conditions is not true, the error is thrown
2912 -> ERROR_NOTOM
IBM Sterling Connect:Express for Unix version 1.5.0
Diagnosing the problem
Check the crontab output job for any problems, check that tom is running and that environment variables are set on the cron job.
Resolving the problem
By default cron jobs run under the default shell of whoever's crontab it is. Also, a cron job only inherits /etc/environment, not /etc/profile or ~/.profile. Make sure you code the shell you want on the crontab entry and be sure that it exists. Use full (absolute) pathnames for all the commands you want to run. Explicitly set all the environment variables you want to use or rely on.