This is actually not really a COBOL question but since we use COBOL and Language Environment I believe that the principles should be tha same (except for the HLASM macro stuff).
The background is that we use Fault Analyzer to register application problems (call IDISNAP) instead of doing a "traditional" user abend. In on-line we then do a ROLLBACK and in batch wew do a ABEND without dump. The result of this is that we will get one entry in Fault Analyzer with almost alway enough information ti analyze and solve the problem and indepenedent of environment backout of databases and failure indication.
When LE enabling the HLASM entry module containing the ABEND macro (e.g. ABEND 3500) there will still be a system abend produced so each execution in batch will give two entries in Fault Analyzer. This is not desirable since it will shorten the time till the Fault Analyzer history datasets will be filled-up and generally just clutter up the panels.
There is a possibility to change the ABEND macro into a call to LE callable service CEE3ABD, this is where the COBOL might come in since this is a LE callable service) but unfortunately there is no way to via the call suppress the abend.
There is a possibility to use the parameter TERMTHDACT to finetune the behaviour but that woul affect all possible (unplanned) abends not just this one.
So, the question is: Is there a way to do an old-fashioned user ABEND with no dump when running in LE?