MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ASRA Abend when returning from a calling program

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
pkarthik@email.com
Beginner


Joined: 29 Mar 2005
Posts: 34
Topics: 18
Location: Canada

PostPosted: Thu Apr 06, 2006 8:53 am    Post subject: ASRA Abend when returning from a calling program Reply with quote

Hi,
My Program calls this program AMS3094 by using the bellow statement

CALL 'AMS3094' USING
WS-AMSPX094-PARM-LIST
AMSTWACB-TRANSACTION-WORK-AREA

My screen abended with ASRA ABEND

When i changed the code to
CALL 'AMS3094' USING
DFHEIBLK
DFHCOMMAREA

WS-AMSPX094-PARM-LIST
AMSTWACB-TRANSACTION-WORK-AREA

My Program worked fine.

Called Program
******************************************************************
LINKAGE SECTION.
*======= COBOL 2 REQUIRES THE EIB & COMMAREA IN CALLS
COPY DFHEIBLK.
01 DFHCOMMAREA.
05 FILLER OCCURS 1 TO 4095 DEPENDING ON EIBCALEN PIC X.

01 LS-PARAMETER-LIST.
COPY AMSPZ094.
EJECT
01 LS-TRANSACTION-WORK-AREA.
COPY AMSTWACB.

EJECT
******************************************************************
*======= COBOL 2 REQUIRES THE EIB & COMMAREA IN CALLS
PROCEDURE DIVISION USING
EIBLK
DFHCOMMAREA
LS-PARAMETER-LIST
LS-TRANSACTION-WORK-AREA.

MOVE +0 TO AMSPZ094-NUM-EDIT-RETURN-CODE.

This code exists for a long period of time

We experienced this error When we made an attempt to convert normal cobol to Enterprise cobol this both the programs.
Can any one please tell me the significance of this EIBLK and why i received this abend when this two parameters are not available.
_________________
For any type of complex problems there will be multiple easiest solutions
Back to top
View user's profile Send private message Send e-mail
sureshjebakani
Beginner


Joined: 03 Apr 2006
Posts: 2
Topics: 1

PostPosted: Thu Apr 06, 2006 1:56 pm    Post subject: Reply with quote

Pkarthik,

When you call a subroutine which is having CICS commands from a CICS program you need to have DFHCOMMARE and DFHEIBLKcoded in using clause along with the other variables. DFHEIBLK is the linkage area for Exec Interface Block variables which will be poppulated after each CICS command execution.

It should be DFHEIBLK instead of EIBLK. Hope this helps.

Thanks,
Suresh Kumar
_________________
Thanks,
Suresh
Back to top
View user's profile Send private message
PaulPeplinski
Beginner


Joined: 17 Feb 2006
Posts: 11
Topics: 3

PostPosted: Fri Apr 07, 2006 9:03 am    Post subject: Reply with quote

The proper format depends on the type of program AMS3094 is. If it is a CICS program (contains EXEC CICS commands) the latter (CALL USING DFHEIBLK DFHCOMMAREA) is correct but the following two parameters are not passed.

If the program is not a CICS program then the other is proper and the wrong compile and link PROC is being used (the translator step inserts the linkage section EIB and DFHCOMMAREA).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group