We don't turn REXX or batch TMP loose as a general tool for Applications development to write code for production batch, but batch REXX, including batch REXX that runs in batch TSO or batch ISPF environments, has been frequently used by Technical Services to quickly implement a number of simple utilities needed by Applications Development. These utilities are documented and made available to application programming for use in production batch, and if they break, Tech Services does the debugging. We have not found any significant problems in using batch TMP in this way, as properly disciplined REXX code can be restartable, can check for internal failures and reflect failures back to the step completion code if necessary, and issues with a job scheduler or job restart software can be avoided. In many cases these utilities that run under TMP may actually do a better job of providing meaningful diagnostic messages than if implemented in some other way - it seems to take much less effort to provide meaningful text diagnostic messages in REXX, so it's more likely they will be implemented.

Before programmers started using the DB2 Call Attach Facility (CAF) to handle the connect to the appropriate DB2 subsystem, the only way to execute a program using DB2 in batch was to run it under the TSO DSN Command processor under TMP in batch TSO. As long as the application program was implemented in a high level language with a runtime environment that provides reasonable debugging information, the fact that the runtime environment is under TMP really did not have any significant impact on difficulty of problem resolution.

One thing which may make this practical in our environment which I gather may not be true in yours - our production support people are the same people who do application development. We find receiving 0300 problem calls provides strong incentive to Applications Development (and to Technical Services) to design things for reasonable diagnostics and restartability, and to promptly resolve any deficiencies in those areas.

Ed Gould wrote:
On Nov 17, 2007, at 12:15 AM, Joel C. Ewing wrote:

I've always assumed there was slightly less overhead in running batch REXX without the TSO TMP, provided you didn't need any TSO commands or ISPF services - but I suspect this overhead is minimal. I believe you also avoid the need for several DDs, which in a bizarre case might make a difference.

We regularly run batch TSO (batch TMP), batch REXX, and batch ISPF from production batch jobs, which all run under userids with no TSO access (No TSO Segment and not in SYSUADS).

I can't conceive of any rational reason why a sysadmin or auditor would want to restrict batch TMP usage. It buys you no power or data access that could not be derived by other means, except perhaps for the somewhat dubious ability to execute CLISTs - but everything a CLIST can do can be better done by REXX.

Joel:

Interesting idea about not restricting TMP usage in batch. One reason (amongst others) is that debugging is hard (if not impossible) to do after an issue. Of course its one thing in a testing environment but in a production environment? I just can't see production support people supporting such an environment. Their job is difficult enough with JCL and typical abends but to throw in TMP (non abends usually) issue is just an environment that most support people would run away from and refuse to have any responsibility over. While it might be possible, I have seen most support people say "NO" to TMP issues (bugs whatever). Trying to get a scheduling package to handle issues in that environment would probably be almost impossible.

Ed
...


--
Joel C. Ewing, Fort Smith, AR        [EMAIL PROTECTED]

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to