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

Abend Code U0260


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Thu Nov 29, 2007 3:09 pm
Reply with quote

Hi all,

I had a written a sample PL/I-IMS program which just reads a record from IMS Database...
I was able to compile and link-edit it.
But, when i made the program to run, it ended up in "Abend Code U0260".
The reasons are listed below:-
* The number of parameters in the application program call to IMS
exceeded the allowable limit of 18 or is equal to 0.

* The checkpoint call was used and one of the following applies:

- Too few parameters were specified.

- The number of user-specified areas exceeds the number specified on
the XRST call.

- The user area parameters are not paired (a length and address for
each area to be dumped).

* The application program overlaid the DL/I function code so that the
first character was not alphanumeric. This causes the field to be
treated as a count field.

I am not using any check-point ny my sample program.



Can anyone help me out in this.
I am very much new to both (PL/I & IMS).

Thanks In advance.

Thank you,
__________________
Abhilash G S
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Nov 29, 2007 3:53 pm
Reply with quote

Please post the code regarding to the DLI-call so we can help you better. Now your post only displays the possible reasons for the 0260.
Back to top
View user's profile Send private message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Thu Nov 29, 2007 4:00 pm
Reply with quote

Hi,

Thanks for your instant reply.
I am herewith posting the code i have written, hope u can help me out.

PLIIMS: PROCEDURE(IO_PTR_MAST,DB_PTR_MAST,DB_PTR_DETAIL) OPTIONS(MAIN);
DCL IO_PTR_MAST POINTER;
DCL DB_PTR_MAST POINTER;
DCL DB_PTR_DETAIL POINTER;
DCL PLITDLI ENTRY EXTERNAL;
DCL FUNC_GU CHAR(4) INIT('GU ');
DCL FUNC_GN CHAR(4) INIT('GN ');
DCL FUNC_GHU CHAR(4) INIT('GHU ');
DCL FUNC_GHN CHAR(4) INIT('GHN ');
DCL FUNC_GNP CHAR(4) INIT('GNP ');
DCL FUNC_GHNP CHAR(4) INIT('GHNP');
DCL FUNC_ISRT CHAR(4) INIT('ISRT');
DCL FUNC_REPL CHAR(4) INIT('REPL');
DCL FUNC_DLET CHAR(4) INIT('DLET');
DCL 1 DB_IO_AREA,
2 EMPL_EID CHAR(5),
2 EMPL_ENAME CHAR(25),
2 EMPL_BYYYY CHAR(04),
2 EMPL_BMM CHAR(02),
2 EMPL_BDD CHAR(02),
2 EMPL_HYYYY CHAR(04),
2 EMPL_HMM CHAR(02),
2 EMPL_HDD CHAR(02),
2 EMPL_ADDR1 CHAR(40),
2 EMPL_ADDR2 CHAR(40),
2 EMPL_CITY CHAR(15),
2 EMPL_STATE CHAR(15),
2 EMPL_PCODE CHAR(10),
2 EMPL_CNTRY CHAR(15),
2 EMPL_PHONE CHAR(12),
2 EMPL_FAX CHAR(12);
DCL 1 QUAL_SSA STATIC UNALIGNED,
2 SEG_NAME CHAR(8) INIT('EMPLOYEE'),
2 SEG_QUAL CHAR(1) INIT('('),
2 SEG_KEY_NAME CHAR(8) INIT('EMPID '),
2 SEG_OPR CHAR(2) INIT(' ='),
2 SEG_KEY_VALUE CHAR(6) INIT('48047'),
2 SEG_END_CHAR CHAR(1) INIT(')');
DCL 1 UNQUAL_SSA STATIC UNALIGNED,
2 SEG_NAME_U CHAR(8) INIT('EMPLOYEE'),
2 BLANK CHAR(1) INIT(' ');
DCL 1 IO_PCB BASED (IO_PTR_MAST),
2 FILLER CHAR(10),
2 STAT CHAR(2);
DCL 1 DB_PCB_MASK BASED (DB_PTR_MAST),
2 MAST_DB_NAME CHAR(8),
2 MAST_SEG_LEVEL CHAR(2),
2 MAST_STAT_CODE CHAR(2),
2 MAST_PROC_OPT CHAR(4),
2 FILLER FIXED BINARY (31,0),
2 MAST_SEG_NAME CHAR(8),
2 MAST_LEN_KFB FIXED BINARY (31,0),
2 MAST_NO_SENSEG FIXED BINARY (31,0),
2 MAST_KEY_FB CHAR (4);
DCL FOUR FIXED BINARY (31,0) INITIAL(4);
DISPLAY ('MAST_STAT_CODE');
CALL PLITDLI (FOUR,FUNC_GU,DB_PCB_MASK,
DB_IO_AREA,QUAL_SSA);
DISPLAY ('MAST_STAT_CODE');
RETURN;
END PLIIMS;

Waiting for your reply,
Thank you,
___________
Abhilash G S
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Nov 29, 2007 4:49 pm
Reply with quote

Could you try to modify:

Code:
DCL FUNC_GU CHAR(4) INIT('GU  ');
DCL FUNC_GN CHAR(4) INIT('GN  ');
DCL FOUR FIXED BINARY (31,0) STATIC INITIAL(4);


I will have to look further
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Nov 29, 2007 4:55 pm
Reply with quote

Is your io-area large enough to keep the entire segment?
Back to top
View user's profile Send private message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Thu Nov 29, 2007 5:02 pm
Reply with quote

hi,
yes.
I just want one occurance of segment, as i have mentioned in the ssa,
i just want to fetch all the detail of "48047" employee.(i.e, only one record).

Thank you,
_________
Abhilash G S
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Fri Nov 30, 2007 2:45 pm
Reply with quote

My guess is this has to do with static. Did you check your compile listing for overlay warnings?

Quote:
* The application program overlaid the DL/I function code so that the
first character was not alphanumeric. This causes the field to be
treated as a count field.
Back to top
View user's profile Send private message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Mon Dec 03, 2007 2:54 pm
Reply with quote

When i compile my program i am getting no warnings, infact return code is zero for compiling and link editing.
Back to top
View user's profile Send private message
donateeye
Warnings : 2

New User


Joined: 01 Jun 2007
Posts: 62
Location: chennai

PostPosted: Mon Dec 03, 2007 6:08 pm
Reply with quote

hi,

first why, char(4) for function??
second, please try the same call using unqualifies ssa. i know it will browse through all, but still lets try we get what we want
third, try using command code C, u have the key values right..??

Also, just make sure you have the big area for your IO area, cos, it seems like as if you are fetching the root, i understand you want the whole record, but do you have the IO area structure specifying all the segment fileds???

Please check... meanwhile let me think of anything else..
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Mon Dec 03, 2007 7:03 pm
Reply with quote

Quote:
first why, char(4) for function??


that's normal; init is 'GU ' and not 'GU '. IMHO boundary misses since it's all dynamic and not static.



Quote:
second, please try the same call using unqualifies ssa. i know it will browse through all, but still lets try we get what we want


just a simple'unqualified SSA won't browse the whole database; just the first root.

Quote:
Also, just make sure you have the big area for your IO area, cos, it seems like as if you are fetching the root, i understand you want the whole record, but do you have the IO area structure specifying all the segment fileds???


asked him that and he confirmed it
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Tue Dec 04, 2007 12:42 am
Reply with quote

Why is the display statement in your source?
Back to top
View user's profile Send private message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Tue Dec 04, 2007 11:02 am
Reply with quote

hi,

the display statements were put to just check the status code,
its not for any reference.

And about the command code C....i am not able to figure it out....
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Tue Dec 04, 2007 4:20 pm
Reply with quote

Display in PL/1 is for sending a message to a user. Use put skip in stead of cobol display.
Back to top
View user's profile Send private message
abhilash g s

New User


Joined: 27 Apr 2007
Posts: 37
Location: bangalore

PostPosted: Tue Dec 04, 2007 4:44 pm
Reply with quote

hi,

Thanks for your reply,
Actually, I dont wont the display, it was added later.
Do you have any sample program structure of this kind?
We are just testing this(PL/I-IMS) evironment on our system,It would be of great help.
Back to top
View user's profile Send private message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sun Mar 16, 2008 2:52 am
Reply with quote

From memory,
try change your program name from PLIIMS to DLITPLI and recompile.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Sun Mar 16, 2008 4:11 pm
Reply with quote

Mistermind wrote:
From memory,
try change your program name from PLIIMS to DLITPLI and recompile.


Why icon_question.gif
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
Search our Forums:

Back to Top