×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

CICS called COBOL module fails with Program Interrupt

CICS called COBOL module fails with Program Interrupt

CICS called COBOL module fails with Program Interrupt

(OP)
Hi. I have an MQ I-O routine that I want to be callable from a batch or CICS program. So I have coded my first CICS calling module as such:

CODE --> COBOL

CALL MQ-API-PROGRAM USING MQ-DATA-AREA.

The LINKAGE SECTION and PROCEDURE DIVISION header of the called MQ module are coded as such:

CODE --> COBOL

LINKAGE SECTION. *.---------------------------------------------------------------. *| L I N K A G E S E C T I O N *'---------------------------------------------------------------' 01 MQ-DATA-AREA. COPY MQMS. EJECT PROCEDURE DIVISION USING MQ-DATA-AREA.

The 'program interrupt' error I'm getting (CEE3200S error) occurs when the called module moves zeroes to one of the linkage section's data fields. This is the exact line of code where the program interrupt occurs:

CODE --> cobol

MOVE ZEROS TO MQ-RETURN-CODE.

My question is: why is this happening? I've done some research on the web and the closest thing I can find appears to be with the compiler options. I have both modules compiled with the RENT option, AMODE(31), RMODE(ANY). So I'm not sure what else to check to resolve this. Any assistance would be greatly appreciated!

Thanks!
Scott

RE: CICS called COBOL module fails with Program Interrupt

Did you use the CICS pre-compiler for these programs?

RE: CICS called COBOL module fails with Program Interrupt

(OP)
Yes, it was used for both.

Thanks!
Scott

RE: CICS called COBOL module fails with Program Interrupt

What was the interrupt code (from the ceedump)?

What might have corrupted the address of the linkage section?

What else does the code do to fields immediately before the linkage section?

RE: CICS called COBOL module fails with Program Interrupt

(OP)
papadba:

interruption code is 0010.

I have no idea what could have corrupted the address of the linkage section. The MOVE statement where the interrupt occurs is the third statement executed in the procedure division. The first two statements are a PERFORM and a DISPLAY. So no other DATA DIVISION fields are updated before the MOVE statement is executed and the program interrupt occurs.

Thanks!
Scott

RE: CICS called COBOL module fails with Program Interrupt

What is done in the PERFORM?

What happens if some "stub" is called? Replace the MQ program with a small bit of code that will only be entered and exited with no MQ (or any other) work done. Use the same name as the MQ program so the calling program needs no changes. Use the same linkage section as the MQ program uses.

If the stub works correctly, then add the MOVE that currently fails and see what happens.

RE: CICS called COBOL module fails with Program Interrupt

(OP)
papadba, I resolved this. I had used the CICS pre-compiler with the CALLED program, which replaced my PROCEDURE DIVISION statement in the program with "PROCEDURE DIVISION USING DFHCOMMAREA", so my linkage was not addressable because it didn't exist!

Thanks for all the feedback. Lesson learned!

Thanks!
Scott

RE: CICS called COBOL module fails with Program Interrupt

Good to hear it is working - thank you for posting your solutionpipe

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login


Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close