Daniel, from my reading of the MVS JCL Reference, there is no abend-disposition available, neither for the DISP nor for the PATHDISP parameter. Instead, one may code an abnormal termination disposition. But as the introduction to the DISP parameter reads, the behaviour in case of an abend relies on ESTAE or ESPIE processing. And so even after an abend occurs, the normal termination disposition may be choosen. What I mean is: an abend is raised for various reasons. There is a passage in "MVS Assembler Services Guide" about "Understanding Errors in MVS" which may give you an impression of these reasons. When the abend has occurred, the Recovery Termination Manager (RTM, a component of MVS) is given control. When there is one or more ESTAE known for the task (i.e. you or the software developer has embedded one in the user program), the RTM gives control to them and they may try to solve the abend condition and decide whether to run on, terminate normally or terminate abnormally. Forcing an abend from a program is easily achieved by calling the ABEND macro. Not so easy to achieve is the correct ESTAE coding. I think, this is very similar to what is known as exception handling in Java, like "try ... catch" constructions in the Java source. And therefore as usual it really depends on a programmer's skill if it is a tidy or dirty implementation. However, I still do not see what this has to do with disposition in your JCL. When you want to run certain steps for rolling back GDG etc. depending on the condition codes of a previously run Java program....why not just doing so as usual with COND parameter, IF THEN ELSE or in OPC/TWS application logic?
Cheers Michael Daniel Erdmann <daniel.erdman...@googlemail.com> Gesendet von: IBM Mainframe Discussion List <IBM-MAIN@BAMA.UA.EDU> 15.09.2009 11:50 Bitte antworten an IBM Mainframe Discussion List <IBM-MAIN@BAMA.UA.EDU> An IBM-MAIN@BAMA.UA.EDU Kopie Thema Java Batch und JCL (DSN Disposition) Hello, we have some discussions in our shop about how to handle Java batch jobs in JCL. You have to know that our operating decided some decades ago that they want to use the abend-disposition for cleaning up if the executed COBOL program gets an error. This means they force an abend within the COBOL program code if the program detects some error. So instead of evaluating the RC within the JCL and executing the necessary steps for cleaning up they just rely on the abend-disposition for a rollback of GDGs etc.. This seems to work fine. I'm working for some months only at this company, but everybody from the operating says that they're pretty happy with this kind of cleanup procedure. I'm relatively new to the mainframe system programming (coming from the Unix world), but from my point of view this is 'untidy/dirty', and want to know if this practice is common to you. The conrete problem is that now we get some Java programs, means they're executed by the JVM which isn't so easy to force to abend. Of course we can do it by including some COBOL code or similar via JNI but at all I'm quite unsatisfied going this way because I think the correct way is to evaluate the RCs (which of course requires some additional work for our operating as they can't use anymore the easy to use abend-disposition for cleanup). However, I'm interrested in your opinions/experience. Thanks & Regards Daniel Erdmann ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html