Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
IMS Status code XC when using ISRT call

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC
View previous topic :: :: View next topic  
Author Message
nithusi

New User


Joined: 12 Apr 2006
Posts: 30

PostPosted: Tue Jan 30, 2007 6:01 pm    Post subject: IMS Status code XC when using ISRT call
Reply with quote

Can anybody tell me what does the IMS status code 'XC' means. I am trying to throw a screen using ISRT call (COBOL- IMS/DC is the environment). The status code i am getting is XC.
This is the code used for the ISRT call

MOVE 'ET120ZU1' TO WS-MOD-NAME
CALL 'CBLTDLI' USING WS-DLI-ISRT
WL-IO-PCB
WS-SOM-OUTPUT-MSSG-AREA
WS-MOD-NAME
END-CALL

Also please give me some link where in I can find all the status and error codes for IMS calls.

Thanks,
Nithya
Back to top
View user's profile Send private message

Bitneuker

CICS Moderator


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

PostPosted: Tue Jan 30, 2007 7:24 pm    Post subject:
Reply with quote

Stay off the IMS reserved fields in the message:

Quote:
XC
Explanation:
The program inserted a message that has some bits in the Z1 field set. The Z1 field is reserved for IMS.

Programmer Response:
Correct the program to prevent it from setting those bits.



For all status codes and their meaning follow the link in my signature and search for "status code".
Back to top
View user's profile Send private message
nithusi

New User


Joined: 12 Apr 2006
Posts: 30

PostPosted: Tue Jan 30, 2007 7:40 pm    Post subject:
Reply with quote

Hi George,
thanks once again ... but is this tampering of IMS reserved area happening from within the code. As we are not doing anything but initializing the MID MOD areas with the INITIALIZE verb. Do we need to take care of anything specific before the ISRT call. Please have a look at my MID MOD areas as well and advise if anything wrong in this.

*** MID VARIABLES FOR SECONDARY OPTION SELECTION SCREEN ***
*
01 WS-SOM-INPUT-MSSG-AREA.
03 WS-SOM-IN-MSG-LENGTH PIC S9(04) COMP.
03 WS-SOM-IN-RESERVED PIC X(02).
03 WS-SOM-IN-ACTIOZ PIC X(01).
03 WS-SOM-IN-SELECZ PIC X(02).
03 WS-SOM-IN-KEYIDZ PIC X(50).
*** MOD VARIABLES FOR SECONDARY OPTION SELECTION SCREEN ***
*
01 WS-SOM-OUTPUT-MSSG-AREA.
03 WS-SOM-OUT-MSG-LENGTH PIC S9(04) COMP.
03 WS-SOM-OUT-RESERVED PIC X(02).
03 WS-SOM-OUT-PAGENZ PIC X(02).
03 WS-SOM-OUT-TERMNZ PIC X(04).
03 WS-SOM-OUT-ACTIOZ PIC X(01).
03 WS-SOM-OUT-MODEDZ PIC X(08).
03 WS-SOM-OUT-SELECZ PIC X(02).
03 WS-SOM-OUT-KEYIDZ PIC X(50).
03 WS-SOM-OUT-SYSMSZ PIC X(50).
*

Thanks,
Nithya Iyer.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


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

PostPosted: Tue Jan 30, 2007 8:48 pm    Post subject:
Reply with quote

Sample of an ISRTed message in PL/1:

Code:
BTS0031I MODNAME: QNSMODH                                                       
****  MSG CALL- FUNC=ISRT, PCB=ABTS1   , STATUS=  , MESSAGE NUMBER=000001       
             ----.----1----.----2----.----3----.----4----.----5----.----6----.--
      IOAREA=          NS     1                                                 
             0504444300DE40000F0000000000000000000000000000000000000000000000000
             0200000F04520050710000000000000000000000000000000000000000000000000
****  MSG CALL- FUNC=ISRT, PCB=ABTS1   , STATUS=  , MESSAGE NUMBER=000001       
PAGE 0095                B A T C H   T E R M I N A L   S I M U L A T O R   ' B T
             ----.----1----.----2----.----3----.----4----.----5----.----6----.--
      IOAREA=    EILKE EN GEORGE VAN BLOKLAND       PRANGELAAR 55               
             0500CCDDC4CD4CCDDCC4ECD4CDDDDCDC4444444DDCDCCDCCD4FF444444444444444
             4800593250550756975051502362315400000007915753119055000000000000000
                                             1  100-312707 1A                   
             44444444444444444444444444444444F44FFF6FFFFFF4FC4444444444444444444
             0000000000000000000000000000000010010003127070110000000000000000000
               3  100-312711 1A                   4  100-312712 1A             
             44F44FFF6FFFFFF4FC4444444444444444444F44FFF6FFFFFF4FC44444444444444
             0030010003127110110000000000000000000400100031271201100000000000000
                    6  100-312714 1A                   7  100-312717 1A         
             4444444F44FFF6FFFFFF4FC4444444444444444444F44FFF6FFFFFF4FC444444444
             0000000600100031271401100000000000000000007001000312717011000000000
                                000000                             000000       
             4444444444444434444FFFFFF44444444444444444444444434444FFFFFF4444444
             00000000000000F0000000000000000000000000000000000F00000000000000000
                                     000000                             000000 
             444444444444444444434444FFFFFF44444444444444444444444434444FFFFFF44
             0000000000000000000F0000000000000000000000000000000000F000000000000
                                          000000                             000


What does your message contain if you display it or run under BTS?
Back to top
View user's profile Send private message
nithusi

New User


Joined: 12 Apr 2006
Posts: 30

PostPosted: Tue Jan 30, 2007 8:56 pm    Post subject:
Reply with quote

here is the screen dump of the BTS

0BTS0006I TRANSACTION STARTED: ET120Z .
0MBR=ET120Z PSB=ET120Z EDIT= SPA=0 PLC=1 LANG=CBL TYPE=MSG
-**** MSG CALL- FUNC=GU , PCB=IOPCB , STATUS= , MESSAGE NUMBER=000001
- ----.----1----.----2----.----3----.----4----.----5----.----6----.-
0 IOAREA= . ET120Z
0400CEFFFE44444444444444444444444444444444444444444444444444444444
0B0053120900000000000000000000000000000000000000000000000000000000
-**** MSG CALL- FUNC=ISRT, PCB=IOPCB , STATUS=XC, MESSAGE NUMBER=000001
- ----.----1----.----2----.----3----.----4----.----5----.----6----.-
0 IOAREA=
4444
0000
-**** MSG CALL- FUNC=GU , PCB=IOPCB , STATUS=QC, MESSAGE NUMBER=000001
-BTS0020I STATISTICS REPORT FOR TRANSACTION:ET120Z .
Back to top
View user's profile Send private message
nithusi

New User


Joined: 12 Apr 2006
Posts: 30

PostPosted: Tue Jan 30, 2007 8:57 pm    Post subject:
Reply with quote

Hi george,
Do i need to change anything in the Input and output area variable declaration?

Thanks,
nithya.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


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

PostPosted: Tue Jan 30, 2007 9:08 pm    Post subject:
Reply with quote

First I'd like to ask to to use the Code option. It then will show clearer. Your outputmessage shows blanks which is not allowed imho. This is what the manual said:
Quote:
Segment Format
|Each |output segment has a 4-byte prefix that defines the length of the segment |and, if required, specifies whether the segment is the first segment of an |LPAGE series. Option 3 output messages must contain an additional two bytes |identifying the relative segment number within the LPAGE series. Table 72 illustrates the format of an output segment.

| || Table 72. Format of an Output Segment | | | LL | Z1 | Z2 | SN | FIELDS |
| |
Where:

LL
This is a 2-byte binary field representing the total length of the message segment, including LL, Z1, and Z2 and if present, SN. The value of LL equals the number of bytes in text (all segment fields) plus 4 (6 if option 3). The application program must fill in this count. If a size limit was defined for output segments of a transaction being processed, LL must not exceed the defined limit.
|Restriction: The segment length must be less than the message queue buffer data size (buffer size?prefix size) specified at IMS system definition. The segment length can be less than the length defined to the MFS Language utility. If a segment is inserted that is larger than the segment defined to the MFS utility, the segment is truncated. No error messages are issued. Fields truncated or omitted are padded as requested in the format definition to the MFS Language utility.

When PL/I is used, the LL field must be defined as a binary fullword. The value provided by the PL/I application program must represent the actual segment length minus two bytes. For example, if an output message segment is 16 bytes, LL=14 and is the sum of: the length of LL (4 bytes - 2 bytes) + Z1 (1 byte) + Z2 (1 byte) + TEXT (10 bytes).

Z1
This is a 1-byte field containing binary zeros and is reserved for IMS.
Z2
This is a 1-byte field that can be used by the application program for control of various output device functions.
You may find it following my link and search for 'Z1'.

I'm pleased you finally got BTS up-and-running; what was the matter?
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


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

PostPosted: Tue Jan 30, 2007 9:11 pm    Post subject:
Reply with quote

You also failed to put the total lenght of the message in the LL.

Edit: In fact how should your messages look like, what options did you use in your IO-PCB? `Single-segment message, multiple-segment message, fixed layout of only typed fields (option 3) and 'X3F' usage?
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


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

PostPosted: Tue Jan 30, 2007 9:29 pm    Post subject:
Reply with quote

some more about Z1 and Z2
Back to top
View user's profile Send private message
nithusi

New User


Joined: 12 Apr 2006
Posts: 30

PostPosted: Wed Jan 31, 2007 6:25 pm    Post subject: Re: IMS Status code XC when using ISRT call
Reply with quote

Hi george,
The environment here was not setup properly. It was not ready for COBOL-IMS. it was set up for PLI-IMS. So finally we changed the link modules and we could run BTS. Thanks for your suggestions and help.
The call is also working now properly.

Thanks,
Nithya.
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 -> IMS DB/DC All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts IEW2456E error when link-editing a C ... Senthilraj JCL & VSAM 0 Fri Oct 13, 2017 3:12 pm
No new posts Speed-up/reduce CPU use of code prino PL/I & Assembler 0 Tue Sep 26, 2017 12:05 am
This topic is locked: you cannot edit posts or make replies. how to code for GDG in Rexx cvnlynn CLIST & REXX 13 Wed Aug 09, 2017 9:13 pm
This topic is locked: you cannot edit posts or make replies. rexx code to create a ps file Bharath Vikraman CLIST & REXX 4 Mon Aug 07, 2017 10:30 am
No new posts I want to retire TRX and use only Rex... Abhinav Sharma CLIST & REXX 6 Sat Jul 29, 2017 2:53 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us