Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Problem with the EXEC CICS SEND

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
jagadeeshkumar

New User


Joined: 17 May 2007
Posts: 11
Location: Chennai, India

PostPosted: Tue Jul 08, 2008 12:41 am    Post subject: Problem with the EXEC CICS SEND
Reply with quote

Hi,

I am converting a cobol program from OS/VS to enterprise cobol. The program had the following piece of code.

EXEC CICS SEND
MAP ('PCXEI01')
MAPSET ('PCXEI00')
SET (ADDRESS OF TIOA-PTR)
END-EXEC.

where TIOA-PTR is a BLL-CELLS pointer.

I changed this to

EXEC CICS SEND
MAP ('PCXEI01')
MAPSET ('PCXEI00')
SET (ADDRESS OF RET-PAGE)
END-EXEC.

where RET-PAGE is the data structure pointed by the TIOA-PTR. I commented all the BLL-CELLS pointers.

When I execute this program, the address which is set to RET-PAGE is not valid. CICS says it could not determine the address.

Is there any ways to fix this??
Back to top
View user's profile Send private message

Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Tue Jul 08, 2008 1:42 am    Post subject:
Reply with quote

based on your limited description.

Why not move the mapset area to the COBOLworking storage area
and quit using the linkage section.
Back to top
View user's profile Send private message
jagadeeshkumar

New User


Joined: 17 May 2007
Posts: 11
Location: Chennai, India

PostPosted: Tue Jul 08, 2008 1:55 am    Post subject: Reply to: Problem with the EXEC CICS SEND
Reply with quote

Hi,

The MAPSET PCXEI01 is defined in the working storage section. The data structure RET-PAGE is in the linkage section. The program looks like


WORKING-STORAGE SECTION.

01 PCXEI01O.
02 FILLER PIC X(12).
02 FILLER PICTURE X(2).

. . . .


LINKAGE SECTION.

COPY DLIUIB.
01 RET-PAGE.
05 TIOA-ADDR PIC S9(8) COMP.


PROCEDURE DIVISION.


. . . . .

EXEC CICS SEND
MAP ('PCXEI01')
MAPSET ('PCXEI00')
SET (ADDRESS OF RET-PAGE)
END-EXEC.
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 992
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Tue Jul 08, 2008 12:53 pm    Post subject:
Reply with quote

Quote:
EXEC CICS SEND
MAP ('PCXEI01')
MAPSET ('PCXEI00')
SET (ADDRESS OF TIOA-PTR)
END-EXEC.


My reading of the APRM fails to show SET parameter as an option on EXEC CICS SEND MAP .

Garry.
Back to top
View user's profile Send private message
rpuhlman

New User


Joined: 11 Jun 2007
Posts: 80
Location: Columbus, Ohio

PostPosted: Tue Jul 08, 2008 3:42 pm    Post subject:
Reply with quote

Actually, SET is a valid option of the SEND command:

Quote:
SET(ptr-ref)
specifies the pointer to be set to the address of the input or output data.
The SET option specifies that completed pages are to be returned to the application program. The pointer is set to the address of a list of completed pages. See the description of the SET option in the section on full BMS in Standard BMS the CICS Application Programming Guide for more guidance about using the SET option.

The application program regains control either immediately following the SEND MAP command (if the current page is not yet completed), or at the label specified in a HANDLE CONDITION RETPAGE command, if the page has been completed.

If TIOAPFX=YES is specified in the map definition, the pointer returned contains the address of the TIOA prefix. The user data starts at offset X'0C' from the start of the TIOA prefix.


Quoted from the CICS TS/zOS Language Reference. In Jagadeesh's case, SET is now being used out of context. Jagadeesh, remove the SET option from the SEND command and the RET-PAGE pointer in your linkage section. If you are still having issues with the SEND command, please let us know what the response code is along with any other diagnostic info.

Rick
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Tue Jul 08, 2008 7:28 pm    Post subject:
Reply with quote

You say mapset is defined in working storage ,

then

rpuhlman has it correct
remove the set command
Back to top
View user's profile Send private message
jagadeeshkumar

New User


Joined: 17 May 2007
Posts: 11
Location: Chennai, India

PostPosted: Tue Jul 08, 2008 9:26 pm    Post subject: Reply to: Problem with the EXEC CICS SEND
Reply with quote

Hi,

I cannot remove the SET option because the program uses the address which is set here. Basically, this program reads a database , populates a map and sends the data to printer. In procedure division, i have


EXEC CICS SEND
MAP ('PCXEI01')
MAPSET ('PCXEI00')
SET (ADDRESS OF RET-PAGE) --> Get the address to RET-PAGE
END-EXEC.

After this it assigns this address to a data structure TIOA-DATA in Linkage-Section.

EXEC CICS INQUIRE TERMINAL(EIBTRMID)
PRINTER(PCIASDPR) --> Get the address of Printer
END-EXEC.

EXEC CICS WRITEQ TD --> send information from linkage section to printer.
QUEUE (PCIASDPR)
FROM (TIOA-DATA)
LENGTH (TIOA-LENGTH)
END-EXEC.

So, If I remove the SET boption , I cannot get the address of the output map and use it in the WRITEQ command :-(
Back to top
View user's profile Send private message
rpuhlman

New User


Joined: 11 Jun 2007
Posts: 80
Location: Columbus, Ohio

PostPosted: Tue Jul 08, 2008 10:26 pm    Post subject:
Reply with quote

Jagadeesh,

This is info you should have provided from the beginning of your post. I'm extremely busy with work right now, but I will look into this later on tonight. Without looking at your code, there are too many questions remaining. I recommend that you speak with your SYSPROG in the meantime. Earl if you can jump in here, go for it. I will check back later on.

Rick
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Wed Jul 09, 2008 1:48 am    Post subject:
Reply with quote

HUH ? THIS IS BASIC CICS PROGRAMMING STUFF.

JUST CHANGE WHERE YOU SENDING DATA FROM FOR THE TDQ WRITE.

SOMETHING LIKE THIS:

MOVE LENGTH OF PCEX101O TO WS-MAP-LENGTH.
EXEC CICS WRITEQ TD
QUEUE(PCIASDPR)
FROM (PCEX101O)
LENGTH (WS-MAP-LENGTH)
END-EXEC.

AS RPUHLMAN SUGGESTED,

TALK TO YOUR CICS SYSTEMS PROGRAMMER


BY THE WAY
EXEC CICS INQUIRE TERMINAL(EIBTRMID)
PRINTER(PCIASDPR) --> Get the address of Printer
END-EXEC.


THIS DOES NOT GET THE ADDRESS OF PRINTER, IT ACQUIRES
THE 4 CHARACTER ASSOCIATED PRINTER ID.
Back to top
View user's profile Send private message
jagadeeshkumar

New User


Joined: 17 May 2007
Posts: 11
Location: Chennai, India

PostPosted: Wed Jul 09, 2008 7:54 am    Post subject: Reply to: Problem with the EXEC CICS SEND
Reply with quote

Thank you very much for the suggestions. I ll try this first up tomorrow and see what happens. I spoke to my system programmers and they are also working on it.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Date and time format in CICS Chandru3183 CICS 2 Sat Mar 18, 2017 12:46 pm
No new posts Problem reading GTF trace output danik56 ABENDS & Debugging 7 Thu Mar 16, 2017 1:02 pm
No new posts Asynchronous CICS Processing Question moezbud CICS 0 Mon Mar 06, 2017 6:13 pm
No new posts CICS Question RE: Browse, Readnext an... moezbud CICS 7 Sun Mar 05, 2017 5:45 am
No new posts how to send just 10 rows in a CICS sc... Megha Gupta CICS 5 Thu Feb 23, 2017 6:57 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us