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

U4093 abend in COB calling ASM


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rabiswas

New User


Joined: 15 Oct 2008
Posts: 11
Location: India

PostPosted: Fri Aug 10, 2012 7:23 pm
Reply with quote

Hello,

Im facing some issues in a COBOL-ASM LE env that Ive tried to explain here.

I have a COB code(MNPROPDA) with CALL statements to ASM1 code(OUPHPIOC). The CALLs are actually to different labels inside ASM1. ASM1 has LOAD macro statements for ASM2(OUPIRPD). ASM2 has further calls to other ASMnn codes in-turn.

Now, the initial runtime error while running the COB code, was U4093 REASON CODE=000003EC. The COB prog is being upgraded to Enterprise Cobol via a LE upgrade project.
The AMODE/RMODE for the prod loadmod of the COB code is 24/24. I did some lookup and decided to pass 31/ANY to the COB code in link-edit & then run it again. On this run, it gave a U4087, REASON CODE=0000000A error. It seemed an issue with missing components from ASM2, which looks misleading.

A similar setup of these ASM codes with a PL1 code is working fine for the same LE env.

Im attaching the 3 main codes & some compile n runjob dumps. Hopefully they will be useful.

Requesting your help to resolve this issue. Please let me know if I can provide any more relevant info.

Regards,
RB
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Aug 10, 2012 7:37 pm
Reply with quote

while the effort is commendable
You should not really expect people to go thru all the sources You posted to help You.

forum reply and answer are usually of the quick and dirty type,
You should not expect people to proceed thru a full session of problem determination
what about getting Your support/project leader involved ???

also it looks like the material posted contains sensitive data,
and You should remember that most of the people helping cannot doenload attachments

the attachment has been deleted.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Aug 10, 2012 8:04 pm
Reply with quote

Hello,

Suggest you create a new tiny test calling program and similar asm program and work thru the issue with these.

Once you find the problem, make whatever change(s) are needed to the original code.

If you have some very small bits of test code, you can post them here using copy/paste and the code tag along with the basic diagnostic information. Often when a 40xx is raised, there is some descriptive information generated as well.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


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

PostPosted: Fri Aug 10, 2012 10:50 pm
Reply with quote

I've just gone through this with a customer, where they "had to" compile the Enterprise caller using DATA(24) and AMODE/RMODE 24.

I had asked the programmers why and of course, they didn't know and were just following the lemmings as they leaped off the cliff.

Unless any of the Assembler sub-programs contain DCB's or anything else which would require RMODE 24 or can handle 31-Bit addresses (AMODE 31), then they can be Assembled/Linked as AMODE 31 / RMODE ANY and the Enterpise caller can be compiled with DATA(31) and Linked as AMODE 31 / RMODE ANY.

Assembler programs with DCB's which have the ability to handle 31-Bit addresses, can be Linked as AMODE 31 / RMODE 24.

Previous example of re-entrant code to allow DCB's to execute in an AMODE 31 / RMODE ANY Assembler program -

ibmmainframes.com/viewtopic.php?p=297382&highlight=#297382
Back to top
View user's profile Send private message
rabiswas

New User


Joined: 15 Oct 2008
Posts: 11
Location: India

PostPosted: Mon Aug 13, 2012 4:17 pm
Reply with quote

hello all..

thanks for all your responses.. i could however find the below for U4093 (X'FFD') in a runtime error manual --

==========
X'3E8'-X'4E7' (1000-1255)
Unable to load event handler for a high-level language. The last 3 digits of the decimal reason code indicate the facility ID of the component that did not load correctly.

The name of the event handler for which the load was attempted is constructed as follows:
CEEEVxxx for non-XPLINK event handlers.
CELHVxxx for XPLINK event handlers.

In both cases, xxx is the 3 digits described above.

For example, CEEEV003 is the non-XPLINK C/C++ event handle, and CELHV003 is the XPLINK C/C++ event handler. If either of these cannot be loaded, the reason code will be X'3EB' (1003).

The load may have failed because the correct data set containing the event handler was not found in the search concatenation. For example, CELHV003 is contained in the Language Environment SCEERUN2 data set, which typically is part of your STEPLIB or LINKLST.

... etc

Programmer Response: Set the XPLINK keyword of the CEELRR macro to YES when initializing the LRR environment.
System Action: Enclave terminated

====================

My error x'3EC' == 1004. My runjcl steplib has 2 pds among the usual loadlibs.. namely SYS1.SCEERUN & SYS1.SCEERUN2. Neither of them contain any event handler CEEEV004 or CELHV004 loadmod. There is however CEEEV003 in both of them. Can this be a logical reason for U4093 (X'3EC') error ?
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Calling DFSORT from Cobol, using OUTF... DFSORT/ICETOOL 5
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
No new posts Calling an Open C library function in... CICS 1
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
Search our Forums:

Back to Top