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

U0260 abend while passing data from IMS screen into pgm


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Wed Nov 18, 2009 10:23 pm
Reply with quote

Am sorry Sandy. This point is not very clear to me. I didnt get it.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Wed Nov 18, 2009 10:33 pm
Reply with quote

ok you mean to have separate variables to receive and send the maps to screen from program? that can be done but my first problem is to receive it properly. its failing.Is there a problem with attribute definition?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Nov 18, 2009 10:50 pm
Reply with quote

Please define a input working storage area for your input message - it will not contain any attribute bytes. Your output message will contain the attribute bytes. After you've checked for no-more-messages (QC), or any other awful return status code - then move your input data - field by field - into your output message area - which will contain attribute bytes. Always do full screen editing - when you find an error, then you set the attribute bytes, but keep editing all the fields.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Wed Nov 18, 2009 10:58 pm
Reply with quote

Here in my MFS I have a field with length 4 and attribute 2 bytes, hence in MFLD its total 6 bytes, so in my I/P wrkng storage how will I receive it w/o having a 6 byte variable[x(2) + 9(4)] ? or in the MID should I make it a 4 and in MOD keep it as 6 ? and correspondingly define the I/P and O/P wrkng storage ?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Wed Nov 18, 2009 11:26 pm
Reply with quote

A couple of questions - you are using procedure division USING - is this a subroutine of some calling program? If not, why are you using it? I just looked at your MFS - you have attribute bytes assigned in your MID - why? Did you copy that from someone else?
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Wed Nov 18, 2009 11:35 pm
Reply with quote

this is not a subroutine. independent screen.yes, I have referred to the existing running elements. We code attribute part in both MID and MOD. As we have to pass data from IMS screen to this pgm and IMSIOPCB is in LINKAGE section we have the USING clause.This is my understanding.

I have enhanced several screens but this is a fresh one so there might be flaws.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 12:13 am
Reply with quote

If you are not a subroutine - you should change to a real entry statement. You have attribute bytes indicated in your DFLD and added them in your output area.

This is how I always did it - I'll just do 1 field.

DAMT DFLD POS=(15,42),LTH=11,ATTR=(MOD,NUM)

in the MID
MFLD DAMT,LTH=11,JUST=R,FILL=C'0"
in the MOD
MFLD DAMT,LTH=13,ATTR=YES
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 12:24 am
Reply with quote

I just found this -

supportline.microfocus.com/Documentation/books/mx25sp1/imdbds.htm#u034
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 12:55 pm
Reply with quote

I am open to making these changes Sandy, but can you pls let me know in what way do you think using an ENTRY statement is going to help me with, what I think is a length mismatch ?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 4:25 pm
Reply with quote

Just tell me WHO or WHAT is talking to IMS? Procedure division using.... indicates that your program is not talking directly to IMS - you are a subroutine and the WHO or WHAT is talking to IMS. Do you have your very own transaction and PSB?

Add up the bytes in your working storage message and then add up the bytes in both your mid and your mod and compare them.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 4:29 pm
Reply with quote

yes Sandy, I have my own transaction and PSB. I'll verify the bytes again. What else do we need in between to connect to IMS ? I mean there might be some systems knowledge which I dont have.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 4:36 pm
Reply with quote

yes Sandy , they all are 157 [w/o the filler(1700),I have removed it] .
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 4:57 pm
Reply with quote

Take a look at your PSB - then compare that to your linkage - then your "entry" statement.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 5:01 pm
Reply with quote

The ONLY time you use "procedure division using" in IMS is when you are a subroutine of something else. Change that to the normal "entry". IMS needs to talk to your process.

Normally if your MFS and your working storage screen areas do not match - you get garbage on your screen.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 5:07 pm
Reply with quote

right..but here my program is looping again and again, it keeps running on IMS system.and transaction keeps abending continuously as soon as I restart and unlock it. so nothing comes on my screen t anytime, not even the abend message. I can see that the pgm is getting triggered when I trigger the tran so doesnt that mean that IMS and cobol are linked. Here is the PSB-
Code:
*PANTRAN-JCL=PSB                           
*PANTRAN-OP1=P1800Y0I                     
       PRINT NOGEN                         
*******************************************
**  ALTERNATE IO PCB                       
*******************************************
       PCB     TYPE=TP,                   
               LTERM=M3270,ALTRESP=YES,   
               EXPRESS=YES                 
*                                         
       PCB     TYPE=TP,                   
               MODIFY=YES,                 
               EXPRESS=YES                 
*                                         
       PSBGEN  PSBNAME=P1800Y0I,           
               LANG=COBOL                 
       END                                 
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 5:16 pm
Reply with quote

Did you copy that PSB from someone? Did you code an "entry" statement?
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 5:45 pm
Reply with quote

Sandy is this fine-
Code:
001950     PROCEDURE DIVISION.                             
001960               ENTRY 'DLITCBL' USING I-O-LTERM-PCB   
001970                                     ALT-LTERM-PCB-MTO
001980                                     ALT-LTERM-PCB-1 
001990          .                                                                               
Yes PSB is copied.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 5:58 pm
Reply with quote

Looks fine. Do you perform a "get messages" loop until end-of-messages? What comes after your entry statement?
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 6:28 pm
Reply with quote

After Entry-
Code:
002030      MAINLINE-PROCESS.                                   
002040                                                           
002050           PERFORM 0100-INITIALIZATION                     
002060                                                           
002070           PERFORM 0110-GET-INPUT-MSG UNTIL               
002080               I-O-LTERM-STATUS NOT =   SPACES             


Has anything to be added ? When am using entry my PCB is coming as invalid. PSB needs any changes?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 6:41 pm
Reply with quote

PERFORM 0110-GET-INPUT-MSG UNTIL
I-O-LTERM-STATUS NOT = SPACES


You need to determine whether you have no more messages or something terrible happened. You always need to check for what you EXPECT to happen - like QC - or something awful in the system - like anything other than spaces or QC.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 6:45 pm
Reply with quote

yes Sandy, QC was there. I just skipped that condition, anyways I have to put it later. but if it abends at CBLTDLI call only then I dont even get a chance to check the status.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 6:55 pm
Reply with quote

Hello Sandy. I just gt it solved. The problem was with the function-codes include. It was placed in the linkage section. Should be in Working storage. When I went to debug it showed me that Function-GU itself is invalid...! Am thankful and sorry as well as I feel that this was time wasted over a stupid miss.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 6:58 pm
Reply with quote

If you learned something - no time was wasted! The best way to learn is problem solving.
Back to top
View user's profile Send private message
t5590ag

Active User


Joined: 21 May 2009
Posts: 139
Location: United States

PostPosted: Thu Nov 19, 2009 7:06 pm
Reply with quote

right Sandy. But I still have that doubt with entry statement. why at that time was my PCB not read ? Though I'll check that again with the running code now and get back to you.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Nov 19, 2009 7:09 pm
Reply with quote

Can you scan your COBOL libraries and look for anything that has the "entry" statement? Then scan again looking for "procedure division using". If you are NOT a subroutine - you need the entry statement.
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 -> IMS DB/DC Goto page 1, 2, 3  Next

 


Similar Topics
Topic Forum Replies
No new posts How to save SYSLOG as text data via P... All Other Mainframe Topics 1
No new posts Store the data for fixed length COBOL Programming 1
No new posts Data set Rec-Cnt and Byte-Cnt Testing & Performance 2
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts SCOPE PENDING option -check data DB2 2
Search our Forums:

Back to Top