Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

ASRA abend in CICS Xpeditor

Status
Not open for further replies.

MikeMcKeown

Programmer
Apr 1, 2003
69
0
0
GB
Hello,

The program i'm writing keeps getting an ASRA abend when I'm trying to test it using CICS Xpeditor.

It always abends on the same line...when I'm trying to initialize an output copybook. i.e.

LINKAGE SECTION.

COPY MLCEOFFI REPLACING ==:TAG:== BY ==CEOFFI==.
COPY MLCEOFFO REPLACING ==:TAG:== BY ==CEOFFO==.

PROCEDURE DIVISION USING CEOFFI-INPUT-PARAMETERS
CEOFFO-OUTPUT-PARAMETERS.


PROGRAM-CONTROL SECTION.
PERFORM A-INITIALIZE
PERFORM B-PROCESS-INPUT-DATA
PERFORM C-FINALIZE.


A-INITIALIZE SECTION.

INITIALIZE CEOFFO-OUTPUT-PARAMETERS.

It crashes with an ASRA abend when I try to run the initialise line.

Are there any problems associated with initialising data in the linkage section etc that would cause any problems?

There is nothing strange in the copybook, just pic x and pic s9 fields.

For info this is a cobol II/DB2/CICS program.

Any suggestions / workarounds would be much appreciated.

Thanks in advance,

Mike McKeown



 
Mike,

can you post the expanded Linkage and also the invoking code from the program invoking you.

Just want to check everything is lined up.

Thanks
Greg
 
Hi Greg,

At the moment I haven't written a calling program, I'm just trying to test this in isolation within CICS Xpeditor. Is that a problem? It is definitely the initialise statement that the abend is happening, I've tried putting other statements before the initialise (just in case it was something to do with it being the first statement).

Heres the definition of the copybook anyway.

All I'm trying to do is do initialise the output parameters - i.e. all the fields.

01 :TAG:-OUTPUT-PARAMETERS.
05 :TAG:-OBJECT-STATUS PIC X(01).
05 :TAG:-INPUT-FIELDS.
10 :TAG:pRODUCT-CODE-IND PIC X(01).
10 :TAG:pRODUCT-CODE PIC X(03).
10 :TAG:-JOINT-MONTHLY-NET-IND PIC X(01).
10 :TAG:-JOINT-MONTHLY-NET PIC 9(08).
10 :TAG:-MONTHLY-CRED-COMMS-IND PIC X(01).
10 :TAG:-MONTHLY-CRED-COMMS PIC 9(08).
10 :TAG:-MONTHLY-REPAY-VEH-IND PIC X(01).
10 :TAG:-MONTHLY-REPAY-VEH PIC 9(08).
10 :TAG:-AMOUNT-REPAY-VEH-IND PIC X(01).
10 :TAG:-AMOUNT-REPAY-VEH PIC 9(08).
10 :TAG:-ORIGINAL-TERM-IND PIC X(01).
10 :TAG:-ORIGINAL-TERM PIC 9(04).
10 :TAG:pROPERTY-VALUE-IND PIC X(01).
10 :TAG:pROPERTY-VALUE PIC 9(08).
10 :TAG:-LTV-PERCENT-IND PIC X(01).
10 :TAG:-LTV-PERCENT PIC 9(04).
10 :TAG:-REQUESTED-LOAN-AMT-IND PIC X(01).
10 :TAG:-REQUESTED-LOAN-AMT PIC 9(08).
10 :TAG:-COST-OF-LIVING-MIN-IND PIC X(01).
10 :TAG:-COST-OF-LIVING-MIN PIC 9(08).
10 :TAG:-COST-OF-LIVING-PER-IND PIC X(01).
10 :TAG:-COST-OF-LIVING-PER PIC 9(03)V9(2).
10 :TAG:-ANNUAL-BUFF-INT-IND PIC X(01).
10 :TAG:-ANNUAL-BUFF-INT PIC 9(03)V9(2).
10 :TAG:-HIGHEST-LOAN-AMT-IND PIC X(01).
10 :TAG:-HIGHEST-LOAN-AMT PIC 9(08).
10 :TAG:-LOWEST-LOAN-AMT-IND PIC X(01).
10 :TAG:-LOWEST-LOAN-AMT PIC 9(08).
10 :TAG:-CAPPING-PERCENT-IND PIC X(01).
10 :TAG:-CAPPING-PERCENT PIC 9(04)V9(2).
10 :TAG:-CAPPING-AMT-IND PIC X(01).
10 :TAG:-CAPPING-AMT PIC 9(08).
10 :TAG:-AFFORDABILITY-OFFER-IND PIC X(01).
10 :TAG:-AFFORDABILITY-OFFER PIC 9(08).
10 :TAG:-MAX-MORTGAGE-AMT-IND PIC X(01).
10 :TAG:-MAX-MORTGAGE-AMT PIC 9(08).
10 :TAG:-MIN-MORTGAGE-AMT-IND PIC X(01).
10 :TAG:-MIN-MORTGAGE-AMT PIC 9(08).
05 :TAG:-OUTPUT-FIELDS.
10 :TAG:-OFFER-AMT-IND PIC X(01).
10 :TAG:-OFFER-AMT PIC 9(08).
10 :TAG:-OFFER-TYPE-IND PIC X(01).
10 :TAG:-OFFER-TYPE PIC X(01).
05 :TAG:-REASON-CODE PIC 9(05).
88 :TAG:-REASON-SUCCESS VALUE 00000.
88 :TAG:-REASON-FATAL-ERROR VALUE 00001.
88 :TAG:-REASON-NDI-NEGATIVE VALUE 00002.

Thanks,

Mike McKeown
 
You cannot access anything in the LINKAGE SECTION if the program is not called. The area is not defined to the program until the pointers are set up either through being called or some other method.
 
Mike,

ig you don't wish to use a test harness to call the program then you do have another temporary option. Whilst testing remove your linkage section and have the variables you are using moved into Working Storage as opposed to Linkage.

Personally I'd go for a test harness program. All it needs is a CALL statement.

Greg



 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top