On Nov 17, 2007, at 11:05 PM, Joel C. Ewing wrote:

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.



Joel,

Interesting. I guess that works in your environment. In the environments I have worked in there is too much political stuff going on and the finger pointing gets rather well pointed. (sorry about the pun).

I have always worked in environments that the production control is separate and distinct from support. No programmers (unless they got paid for OT) wants to be called at 0000 to handle space abends and the like so production support is always there to handle mundane issues. As a side issue most of the time that I have seen the day to day issues are really better handled by production control people. There are some exceptions of course but most of the time the documentation turned over at turnover time is really gone through with a fine tooth comb and acceptance only occurs when the people who will be handling the jobstream are comfortable with it. That is NOT to say they are right 100 percent of the time but pretty close and the few percent they aren't is because of either a rare fluke or the doc was in error (most likely cause).

Point taken on the DB2 issue (or other DB issues) there probably isn't a schedular package in the world that can handle those.

Also, I have never worked in an environment where (except for extremely minor programs) TS has written essentially application code. The one exception I can think of was 30+ years ago where there was a database and a program was written so that the applications people could call the code for read/write access to the database. There was (I think) never any issue of issues because it was extremely simple interface and handled errors quite well. In the several years I was there I don't recall a error ever happening in that code. I wrote a few utility type programs but those were more of conversion type programs where applications types never saw the code. The operators were in a sense my end users for those programs.

I have written exits and such where the application types doesn't invoke them per se but is on the receiving end of their submissions. So I supported them but in a semi passive way. AFAIK none of my code has ever broken. The exits may have had to be recompiled or changed because IBM does change parameter lists or macros change or JES changes.

None of the places I have ever worked do not allow products to be put in a production jobstream unless there is 24x7 support from the vendor PERIOD and only then under a really stringent set of "ifs".

I have worked on both sides of the Atlantic and programmers in the states are somewhat more accepting of midnight calls (exceptions exist), so it may well be the area you are from that make exceptions to the normals.

Ed

----------------------------------------------------------------------
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