IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Call an hlasm from REXX in batch and getting S0C4 Abend


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
MJDeChirico

New User


Joined: 14 Dec 2023
Posts: 3
Location: USA

PostPosted: Tue Jun 18, 2024 2:06 am
Reply with quote

Hi,

This is my first post so please forgive me if I have not followed the proper procedures to post this question.

I have a rexx exec that came from an external source, of course it was not documented well for people who don't use rexx.

I have attached the rexx exec and hlasm pgm that its trying to call along with the jcl.

When I try to run the rexx exec, I get a s0c4 abend in some rexx code and there is not much information available regarding the abend.

The problem area in CSICODEV.TXT is at label: LISTDD

If anyone can show me what I am doing wrong I sure would appreciate it.

Thanks

Joe DeChirico
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 720
Location: Denmark

PostPosted: Tue Jun 18, 2024 12:16 pm
Reply with quote

As it is an abend, the problem would be in the ZVRFJFCB program. Looking at the messages in the log, you should hopefully be told at what offset the abend occurs.
The text at LISTDD says 'call ZVRFJFCB passing the var dd as the ddname input and returning the dsns and vols as output'. I can suggest the following alternative, just to get on with it:
Code:
 cc=BpxWdyn('info dd('dd') inrtdsn(dsn)')
 cc=Listdsi("'"dsn"'")                   
 vol=sysvolume         
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2081
Location: USA

PostPosted: Tue Jun 18, 2024 7:58 pm
Reply with quote

This process is called "code debugging".
It is a mandatory part of any developer's job.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2569
Location: Silicon Valley

PostPosted: Wed Jun 19, 2024 9:54 am
Reply with quote

Add a //SYSUDUMP statement to your JCL and run the job again. After the abend, it should contain additional debugging information to help with assembler debugging.

Also, when you assemble the program, keep the assembler listing so that you match the binary dump information the program source code.

See more:
www.ibm.com/docs/en/zos/2.5.0?topic=statements-sysabend-sysmdump-sysudump-dd

Though, Willy's suggestion to bypass your assembler program is more useful.
Back to top
View user's profile Send private message
MJDeChirico

New User


Joined: 14 Dec 2023
Posts: 3
Location: USA

PostPosted: Wed Jun 19, 2024 10:44 pm
Reply with quote

Thanks for all the suggestions.

I have a SYSUDUMP and the assembly listing of the assembler routine.

The abend was occurring about x'250' into a REXX module on an instruction that was trying to store a value at some displacement off of reg 2 (which was all x'00').

I asked this question because I don't have access to the IBM support center and can't really debug this failure on my own.

I have since gotten the Rexx clist to work, producing the desired results.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 alphabets in a REXX and fin... CLIST & REXX 2
No new posts What is the most complex abend you've... Mainframe Interview Questions 8
No new posts SPOOL to Mainframe dataset in batch mode JCL & VSAM 7
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Running REXX through JOB CLIST & REXX 13
Search our Forums:

Back to Top