Hi there,
does anybody have any experience how to synchronize global variables between z/OS and Unix? Of course, the naming conventions differ, but sometimes there is a need to interchange values if you control a multi-platform environment. I do have some ideas, but they require scripting on both side and raise security issues. So if somebody have working solution it would help a lot.
Many thanks in advance,
Vince
Synchronize global variables between z/OS and open systems
Vince,
I agree with you, in all cases it's necessary to deploy scripting home made (based on usage of LIBEMSYM, FTP, Filewatcher, ctmcontb,JCL, Rexx...)
In the past we have implemented a similar issue with the Mainframe (V5.14) and the DS (Control-M 2.2.5 & ECS 2.2.5)
In all cases i think it's expensive to implement.
Perhaps in future version(s) this wish and another like 'Global Ressource' will be available ?
Question: Your both Control-M (z-OS and Unix) are connected to the same Control-M/EM ?
PS: One similar approach has been discussed in this post
I agree with you, in all cases it's necessary to deploy scripting home made (based on usage of LIBEMSYM, FTP, Filewatcher, ctmcontb,JCL, Rexx...)
In the past we have implemented a similar issue with the Mainframe (V5.14) and the DS (Control-M 2.2.5 & ECS 2.2.5)
In all cases i think it's expensive to implement.
Perhaps in future version(s) this wish and another like 'Global Ressource' will be available ?
Question: Your both Control-M (z-OS and Unix) are connected to the same Control-M/EM ?
PS: One similar approach has been discussed in this post
Best regards
Walty
Walty
Hi,
The setup for this kind of functionality would be simplified if you were to consider using a ssh client to invoke a script calling the appropriate utilities on your CTM/EM host from the z/OS data centres and vice versa.
See:
http://www-03.ibm.com/systems/z/os/zos/ ... tools.html
and/or
http://www.dovetail.com/products/coz.html
I've played around with it to get a MF job forced OK from a script invoked on the CTM/EM host.
Paul
The setup for this kind of functionality would be simplified if you were to consider using a ssh client to invoke a script calling the appropriate utilities on your CTM/EM host from the z/OS data centres and vice versa.
See:
http://www-03.ibm.com/systems/z/os/zos/ ... tools.html
and/or
http://www.dovetail.com/products/coz.html
I've played around with it to get a MF job forced OK from a script invoked on the CTM/EM host.
Paul
Hi, finally we have worked out a solution. The key elements are:
- a table in z/OS with two jobs, JSEND and JREC
- JSEND is scheduled on synch point 1, when the vars are to be sent to Unix
- JSEND has two steps: the first reads the global vars, the second written in REXX opens an SSH to Unixt and sets the vars over there (don't forget that the var names need conversion!)
- now the Unix jobstream starts due to in-condition JSEND_OK
- the last step of the Unix stream is synch point 2
- this job is a Pearl script named JBUILD which reads the vars on Unix and actually writes the JREC job into a PDS
- JREC has two in-conditions: JSEND_OK and JBUILD_OK
- Control-M reads JREC at this point and sets the vars on z/OS
Much complicated but works. The disadvantage is that either z/OS or Unix jobs may run between synch points. This limitation is of course for jobs using globals, all other stuff may run parallel.
Best regards,
Vince
- a table in z/OS with two jobs, JSEND and JREC
- JSEND is scheduled on synch point 1, when the vars are to be sent to Unix
- JSEND has two steps: the first reads the global vars, the second written in REXX opens an SSH to Unixt and sets the vars over there (don't forget that the var names need conversion!)
- now the Unix jobstream starts due to in-condition JSEND_OK
- the last step of the Unix stream is synch point 2
- this job is a Pearl script named JBUILD which reads the vars on Unix and actually writes the JREC job into a PDS
- JREC has two in-conditions: JSEND_OK and JBUILD_OK
- Control-M reads JREC at this point and sets the vars on z/OS
Much complicated but works. The disadvantage is that either z/OS or Unix jobs may run between synch points. This limitation is of course for jobs using globals, all other stuff may run parallel.
Best regards,
Vince
I use the LIBMEMSYM for setting variables from MVS to OPEN,
ancd viceversa a similar method based on a library files with variables definition on it.
So the job that pass the variable is a FTP job.
In this manner i use global variables but also local variables or group variables. So is less the number of global variables, and I can use the same name many times with different values in different files...
Examples:
Date calculation, file names with TimeStamp, parameters of execution that must be passed to unix or to MVS; user parameters passed from open (web pages) to MVS executions ...
Have a good day
ancd viceversa a similar method based on a library files with variables definition on it.
So the job that pass the variable is a FTP job.
In this manner i use global variables but also local variables or group variables. So is less the number of global variables, and I can use the same name many times with different values in different files...
Examples:
Date calculation, file names with TimeStamp, parameters of execution that must be passed to unix or to MVS; user parameters passed from open (web pages) to MVS executions ...
Have a good day