Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Parameter of ILBOABN0 routine

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming
View previous topic :: :: View next topic  
Author Message
pawasthi

New User


Joined: 08 Mar 2010
Posts: 15
Location: India

PostPosted: Wed Jun 05, 2013 4:32 pm    Post subject: Parameter of ILBOABN0 routine
Reply with quote

Hi All,

What are the parameter used for the ILBOABN0 abend routine,can anyone help me on this.
I have search it in google but not able to found.
Back to top
View user's profile Send private message

Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7904
Location: Bellevue, IA

PostPosted: Wed Jun 05, 2013 4:57 pm    Post subject:
Reply with quote

The parameter is the return code you want set. This paraemter is a half-word binary value (PIC S9(04) COMP-5 in COBOL)

ILBOABN0 has been replaced by the LE program CEE3ABD and you should be using the LE program instead.
Back to top
View user's profile Send private message
Ranjithkumar

New User


Joined: 10 Sep 2008
Posts: 94
Location: India

PostPosted: Wed Jun 05, 2013 4:58 pm    Post subject: Reply to: Parameter of ILBOABN0 routine
Reply with quote

CALL 'ILBOABN0' USING WS-ABEND-CODE

Move the user abend code to WS-ABEND-CODE before calling.
Back to top
View user's profile Send private message
pawasthi

New User


Joined: 08 Mar 2010
Posts: 15
Location: India

PostPosted: Wed Jun 05, 2013 5:56 pm    Post subject: Reply to: Parameter of ILBOABN0 routine
Reply with quote

Thanks..Robert and Ranjith
I was looking for the same..:-)
Back to top
View user's profile Send private message
Gary McDowell

Active User


Joined: 15 Oct 2012
Posts: 139
Location: USA

PostPosted: Wed Jun 05, 2013 5:58 pm    Post subject:
Reply with quote

Example code...
Code:
   01   WS-USER-ABEND-CODE      PIC S9(04)   COMP.      

      *--- EDIT PARM ---
           IF  LS-MONTH-VALUES
               CONTINUE
           ELSE
               DISPLAY ' '
               DISPLAY '*************************************'
               DISPLAY '***   <program> INVALID PARM      ***'
               DISPLAY '***                               ***'
               DISPLAY '*** PARM MONTH (MUST BE 01 - 12).....'
                        LS-MONTH
               DISPLAY '***                               ***'
               DISPLAY '*************************************'
               MOVE +40                TO WS-USER-ABEND-CODE
               CALL 'ILBOABN0'      USING WS-USER-ABEND-CODE
           END-IF.

Notes: The above code will stop the program with a user abend code of 40 {U0040}.
Make all user abend codes unique in program so that it is easy to identify exactly where the abend occurred. Do NOT use codes greater that 4095 (system ignores - I think).
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7223

PostPosted: Wed Jun 05, 2013 11:26 pm    Post subject: Reply to: Parameter of ILBOABN0 routine
Reply with quote

As Robert has pointed out, IBM has recommended the CEE programs over ILBOABN0 since the inception of Language Environment.

CEE3ABD and CEE3AB2 are z/OS-specific modules.

CEE3DMP produces a dump, but no abend.

CEEABND is the LE-module for non-z/OS environments.

If moving (finally) from ILBO to CEE, be aware of the changed parameter lengths.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Wed Jun 05, 2013 11:37 pm    Post subject: Reply to: Parameter of ILBOABN0 routine
Reply with quote

IIRC, "ILBOABN0" is AMODE 24. So, dynamically calling it from an AMODE 31 program (compiled using the default DATA(31) option) will raise a S0C4. The only way around this is the Caller must be compiled using the DATA(24) option, which allocates below-the-line storage, unless of course, it is statically-linked. Then, it would take on the Caller's characteristics.

Or, the Caller can CALL an Assembler sub-program which obtains 24-Bit storage via a z/OS GETMAIN (LOC=24) and returns the address to the Caller in a fword-parm. You would need a COBOL DSECT in LINKAGE for addressability.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7904
Location: Bellevue, IA

PostPosted: Wed Jun 05, 2013 11:51 pm    Post subject:
Reply with quote

Quote:
Do NOT use codes greater that 4095 (system ignores - I think).
Gary -- actually, the system does not ignore them. JES interprets the code modulo 4096 so the value is always between 0 and 4095. This becomes relevant when using batch FTP, as the FTP return code (if passed to the JCL) can be something like 27500 (27 means PUT, 500 means syntax error in command) which becomes step return code 2924 when 27500 is divided by 4096, or 16550 (16 means GET, 550 means file not found) becomes step return code 0166 when 16550 is divided by 4096.
Back to top
View user's profile Send private message
Gary McDowell

Active User


Joined: 15 Oct 2012
Posts: 139
Location: USA

PostPosted: Thu Jun 06, 2013 12:09 am    Post subject:
Reply with quote

Thanks Robert.
Back to top
View user's profile Send private message
pawasthi

New User


Joined: 08 Mar 2010
Posts: 15
Location: India

PostPosted: Fri Jun 07, 2013 2:27 pm    Post subject: Reply to: Parameter of ILBOABN0 routine
Reply with quote

Thanks to All...:-)
Respect...!!!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts TOT & DATE parameter in ICEMAN hemanthj642 DFSORT/ICETOOL 4 Mon Nov 14, 2016 5:19 am
No new posts How to display value of an exit param... lind sh CICS 2 Sun Oct 09, 2016 12:28 pm
No new posts SORT - E15 and E35 using same user ex... Abhi Nature DFSORT/ICETOOL 12 Mon Oct 03, 2016 4:33 pm
No new posts Send parameter for macro STIMERM from... Daniel Teolotitla PL/I & Assembler 13 Tue Jul 05, 2016 9:23 pm
No new posts COND parameter vs IF THEN ELSE Alks JCL & VSAM 11 Fri Jun 17, 2016 5:28 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us