View previous topic :: View next topic
|
Author |
Message |
cgk_106
New User
Joined: 22 Dec 2006 Posts: 21 Location: chennai
|
|
|
|
Hi,
Could we use more than 1000 characters in the input output segment .While running my program some numeric values randomly populated in the IO-LL and IO-ZZ field hence i am getting IO-PCB-status as 'XC'. Kindly clarify my doubt |
|
Back to top |
|
|
Devzee
Active Member
Joined: 20 Jan 2007 Posts: 684 Location: Hollywood
|
|
|
|
IO LL and IO ZZ are reserved for IMS.
Make sure your program is not writing into this fields. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
In addition to what Devzee explained: the IO-LL for outputmessages is filled by the application when the format is of type 3 in which case one also finishes the message with X'3F' for speed. The LL-field you leave in peace like Devzee told indeed. |
|
Back to top |
|
|
cgk_106
New User
Joined: 22 Dec 2006 Posts: 21 Location: chennai
|
|
|
|
Hi Devzee and Bitneuker,
I am still not able to solve my problem.let me explain it in more detail. I have declared io-LL and io-ZZ field as s9(03) comp value zeroes in the layout and i am not at all moving any values into the fields throughout my program but my output segment is nearly contains say 1400(more than thousand characters) charcters because of this i am getting error. i run the same program with less than thousand its working properly.
how i can use more than thousand characters. can we have io-zz and io-ll fields as s9(04) comp value zeroes.
Kindly clarify my doubt. |
|
Back to top |
|
|
Karthi-acp
New User
Joined: 21 Apr 2007 Posts: 5 Location: India
|
|
|
|
Gopal,
When you get the status code XC means the ZZ field is not populated with zeroes. Just before giving a call to ims please this field. It will be non zero.. This programmer error please check you logic |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
You do realize that you cannot move 1400 to a s9(3) comp-3 field and expect it to work. That field will hold up to 999 and no more. That is not an IMS issue, but the way COBOL is designed to work. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Right: I will give you an example in PL/I. Watch the LL and ZZ fields and the length of the based message; it's 1924 characters so your 1400 should be no problem. You should have no problem. I will even later on post the format of the message for you. In PL/I the statement: MID_EO = '' means all fields in the structure are initiated so ZZ is set to binary zeroes AND LEFT ALONE. ZZ is a fixed field so you can't lengthen it up because it's owned by IMS. For more info follow the firs link in my signature and search for MESSAGE.
Code: |
DCL 1 IOAREA CHAR(1924);
DCL 1 MID_E0 UNAL BASED(ADDR(IOAREA)),
3 LL BIN FIXED(31),
3 ZZ BIT(16),
3 TC CHAR(09),
3 PFX CHAR(08),
3 CURSOR CHAR(04),
3 PAWO CHAR(08),
3 SYSSPA,
5 SPLITKZ CHAR(1),
5 SECOK CHAR(1),
5 MODUS CHAR(8),
5 PAGE# CHAR(3),
5 MASKE CHAR(5),
5 TCOK CHAR(1),
3 SPA CHAR(50),
3 FEHLER CHAR(79),
3 MASKE1 CHAR(05),
3 MASKE2 CHAR(05),
3 FMASKE CHAR(05),
3 FFUNKT CHAR(01),
3 DATA CHAR(1725);
MID_E0 = '';
LL = 294; |
If your ZZ-field doesn't contains binary zoroes you may have a wrong redefine or unprotected index causing the message to be overwritten. |
|
Back to top |
|
|
|