Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Reading ESDS files in CICS

808 views
Skip to first unread message

Bob Paul

unread,
Feb 10, 2009, 3:12:23 PM2/10/09
to

HI,

  I need to process an ESDS file in CICS. I found an example in the archives but can’t get it to work. With KSDS I would do a startbr and then readnext,

 

but ESDS don’t seem to work that way.

 

Thanks,

Bob Paul

Kevin Corkery

unread,
Feb 10, 2009, 3:29:33 PM2/10/09
to
You can start a browse except the "key" value is a fullword binary item which represents the RBA of the record.  To start at the beginning of the file the RBA is binary zeros.  To start at other positions in the file it's a bit problematic but each readnext does return the RBA of the record read in the RIDFLD so it can be saved off to restart at the last read, then skip to the next record. 


From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Tuesday, February 10, 2009 3:12 PM
To: VSE Discussion List
Subject: Reading ESDS files in CICS

Mohammed Imam

unread,
Feb 10, 2009, 3:59:58 PM2/10/09
to

Bob,

Use the keyword RBA & RRN for reading and ESDS & RRDS files respectively.

MI.

 

 

From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Tuesday, February 10, 2009 3:12 PM
To: VSE Discussion List
Subject: Reading ESDS files in CICS

 

HI,

Dodds, Jim

unread,
Feb 10, 2009, 4:30:31 PM2/10/09
to

An ESDS is a sequential file not a keyed file so I don’t think those commands are valid.

 

Jim Dodds

Systems Programmer

Kentucky State University

400 East Main Street

Frankfort, Ky 40601

502 597 6114

 


From: owner-vs...@Lehigh.EDU [mailto:owner-vs...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Tuesday, February 10, 2009 3:12 PM
To: VSE Discussion List
Subject: Reading ESDS files in CICS

 

HI,

Dodds, Jim

unread,
Feb 10, 2009, 4:33:34 PM2/10/09
to

An ESDS is a sequential file not a keyed file so I don’t think those commands are valid unless use the special pointers associated with ESDS files

 

Jim Dodds

Systems Programmer

Kentucky State University

400 East Main Street

Frankfort, Ky 40601

502 597 6114

 


From: owner-vs...@Lehigh.EDU [mailto:owner-vs...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Tuesday, February 10, 2009 3:12 PM
To: VSE Discussion List
Subject: Reading ESDS files in CICS

 

HI,

Kevin Corkery

unread,
Feb 10, 2009, 5:25:33 PM2/10/09
to
Here's a sample of code that does this ....
 
 B0000-BROWSE-ESDS.                                               
**>> START THE BROWSE ON THE ESDS DATASET                         
     IF (CICS-CURRENT LESS THAN CICS-POINTER)                     
         MOVE CICS-POINTER TO CICS-CURRENT                        
         EXEC CICS STARTBR                                        
                   FILE('OEFAXIN')                                
                   RIDFLD(CICS-CURRENT)                           
                   RBA GTEQ                                       
                   RESP(CICS-RESPONSE)                            
         END-EXEC                                                 
         IF (CICS-RESPONSE EQUAL DFHRESP(NOTFND))                 
             COMPUTE CICS-CURRENT = CICS-HIGHEST + CICS-INLENGTH  
             GO TO B9999-EXIT                                     
         ELSE                                                     
             IF (CICS-RESPONSE NOT EQUAL DFHRESP(NORMAL))         
                 MOVE CICS-RESPONSE      TO MESSAGE66-RESP        
                 MOVE 'STARTBR'          TO MESSAGE66-CMD         
                 MOVE MESSAGE66          TO MESSAGE-INIT          
                 PERFORM S0000-SEND-MESSAGE THRU S9999-EXIT       
                 GO TO Y0000-ISSUE-ERROR.                         
**>> READ THE NEXT RECORD FROM THE ESDS FILE                      
     EXEC CICS READNEXT RBA                                       
               FILE('OEFAXIN')                                    
               RIDFLD(CICS-CURRENT)                               
               LENGTH(CICS-INLENGTH)                              
               INTO(FAXIN-RECORD)                                 
               RESP(CICS-RESPONSE)                                
     END-EXEC.                                                    
     IF (CICS-RESPONSE EQUAL DFHRESP(ENDFILE))                    
         COMPUTE CICS-CURRENT = CICS-HIGHEST + CICS-INLENGTH      
         GO TO B9999-EXIT.                                        


From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Dodds, Jim
Sent: Tuesday, February 10, 2009 4:33 PM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

Bob Paul

unread,
Feb 11, 2009, 9:12:36 AM2/11/09
to

 

Hi Mohammed,

  I get an INVREQ when I do the startbr.  The code I am using is below. I used the code from Terry Ambrosius as an example.

Bob

 

 

01  ESDS-RBA            PIC S9(8)       VALUE +0   COMP. 

 

 

 

   EXEC CICS STARTBR DATASET('JURYSEL')             <<<< this give me an invalid request

                     RIDFLD(ESDS-RBA)          

                     EQUAL                                                                                        

                     RBA                       

                     END-EXEC.                 

Boltax, Mark

unread,
Feb 11, 2009, 9:20:19 AM2/11/09
to
Are you sure that the file is defined with the ability to "browse".
 

Mark D. Boltax
Standard Motor Products, Inc.


The content of this e-mail (including any attached files) is confidential and may be privileged and protected by law. It is intended solely for the purpose of the person to whom it is addressed. If you are not the intended recipient of this message, please notify the sender immediately and delete the message (inclusive of any attached files). In addition, if you are not the intended recipient of this message, any disclosure, copying, distribution or taking any action in reliance of the contents of this email is strictly prohibited.

Bob Paul

unread,
Feb 11, 2009, 9:29:14 AM2/11/09
to

AHH !! THANKS A BUNCH !

 It did not have browse – will change and try.

Thanks,

Bob

Bob Paul

unread,
Feb 11, 2009, 9:45:36 AM2/11/09
to

Well that didn’t work. I added Browse to the file with ceda and then installed the group. Still getting INVREQ. ??

Thanks,

Bob

Wakser, David

unread,
Feb 11, 2009, 9:51:54 AM2/11/09
to
I see you have EQUAL specified - check the file with DITTO and make certain that there is, indeed, a record at the RBA that you are specifying in ESDS-RBA.
 
Also, you could have changed the BROWSE attribute from CEMT - please check again in CEMT to make certain that the BROWSE is now on.
 
David Wakser


From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Wednesday, February 11, 2009 9:45 AM

Confidentiality Note: This e-mail, including any attachment to it, may contain material that is confidential, proprietary, privileged and/or "Protected Health Information," within the meaning of the regulations under the Health Insurance Portability & Accountability Act as amended. If it is not clear that you are the intended recipient, you are hereby notified that you have received this transmittal in error, and any review, dissemination, distribution or copying of this e-mail, including any attachment to it, is strictly prohibited. If you have received this e-mail in error, please immediately return it to the sender and delete it from your system. Thank you.

Mohammed Imam

unread,
Feb 11, 2009, 9:56:39 AM2/11/09
to

Bob,

Try full-word and not double.

01  ESDS-RBA            PIC S9(4)       VALUE +0   COMP. 

 

From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul


Sent: Wednesday, February 11, 2009 9:13 AM

Boltax, Mark

unread,
Feb 11, 2009, 9:57:02 AM2/11/09
to
That was the only item that would result in a INVREQ for your request.
 
Also, check the RBA. Should be x'00' to read the first record.
 
Mark D. Boltax
Standard Motor Products, Inc.
-----Original Message-----
From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Wakser, David
Sent: Wednesday, February 11, 2009 9:49 AM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

I see you have EQUAL specified - check the file with DITTO and make certain that there is, indeed, a record at the RBA that you are specifying in ESDS-RBA.
 
Also, you could have changed the BROWSE attribute from CEMT - please check again in CEMT to make certain that the BROWSE is now on.
 
David Wakser

From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Wednesday, February 11, 2009 9:45 AM

To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

Well that didn’t work. I added Browse to the file with ceda and then installed the group. Still getting INVREQ. ??

Thanks,

Bob

 

From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Wednesday, February 11, 2009 9:29 AM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

 

AHH !! THANKS A BUNCH !

 It did not have browse – will change and try.

Thanks,

Bob

 

From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Boltax, Mark
Sent: Wednesday, February 11, 2009 9:19 AM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

 

Are you sure that the file is defined with the ability to "browse".

 

Mark D. Boltax
Standard Motor Products, Inc.

The content of this e-mail (including any attached files) is confidential and may be privileged and protected by law. It is intended solely for the purpose of the person to whom it is addressed. If you are not the intended recipient of this message, please notify the sender immediately and delete the message (inclusive of any attached files). In addition, if you are not the intended recipient of this message, any disclosure, copying, distribution or taking any action in reliance of the contents of this email is strictly prohibited.

Confidentiality Note: This e-mail, including any attachment to it, may contain material that is confidential, proprietary, privileged and/or "Protected Health Information," within the meaning of the regulations under the Health Insurance Portability & Accountability Act as amended. If it is not clear that you are the intended recipient, you are hereby notified that you have received this transmittal in error, and any review, dissemination, distribution or copying of this e-mail, including any attachment to it, is strictly prohibited. If you have received this e-mail in error, please immediately return it to the sender and delete it from your system. Thank you.

Phil Lunder

unread,
Feb 11, 2009, 10:01:35 AM2/11/09
to
I want to be able to "assemble" an IOCDS in z/VSE 4.2 on a z/10 processor. The only IOCP program I find in 4.2 is IYPIOCP. I copied the working IOCDS from the HMC and brought it into VSE. The opening ID statement looks like this:
 
              ID MSG1='RSIOCP2  2098-E10 Model B01                 ',       *
                    SYSTEM=(2098,1)       
 
During the assembly, the ID statement gets flagged with this message:                                 
                                                                            
IYP150I INVALID SYSTEM PARAMETER     
 
so obviously this is not the correct program or program level for a z/10.
 
Can anyone direct me to the appropriate IOCP program that runs under z/VSE 4.2 and supports the z/10, which is machine type 2098?                                       

Bob Paul

unread,
Feb 11, 2009, 10:06:34 AM2/11/09
to

I checked with cedf and the file did not have browse even after adding browse with ceda and installing the group. I added it with cedf and

It is working now.

Many thanks to everyone !!

Bob

indust...@winwholesale.com

unread,
Feb 11, 2009, 10:27:28 AM2/11/09
to

owner...@Lehigh.EDU wrote on 02/11/2009 09:55:28 AM:
> Try full-word and not double.

>
> 01  ESDS-RBA            PIC S9(4)       VALUE +0   COMP. 


        Sorry, but that is not full-word except for a PC.  For the mainframe, that is half-word.  S9(9) BINARY is full-word and S9(18) is double-word.

Sincerely,

Dave Clark

WinWholesale Group Services
3110 Kettering Boulevard
Dayton, Ohio  45439  USA
(937) 294-5331


This email message and any attachments is for use only by the named addressee(s) and may contain confidential, privileged and/or proprietary information. If you have received this message in error, please immediately notify the sender and delete and destroy the message and all copies. All unauthorized direct or indirect use or disclosure of this message is strictly prohibited. No right to confidentiality or privilege is waived or lost by any error in transmission.

Kevin Corkery

unread,
Feb 11, 2009, 10:32:57 AM2/11/09
to
The below is a half-word, a full word in COBOL is S9(8) COMP.


From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of Mohammed Imam
Sent: Wednesday, February 11, 2009 9:55 AM

To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

Mark Pace

unread,
Feb 11, 2009, 10:38:26 AM2/11/09
to
I would look at the PSP bucket for a z10.  It should point out what PTFs are required to make your IOCP work with a z10.
--
Mark Pace
Mainline Information Systems
1700 Summit Lake Drive
Tallahassee, FL. 32317

Mark Pace

unread,
Feb 11, 2009, 10:42:07 AM2/11/09
to
Maybe this will help.

2098device
APAR DY46867     (IOCP z/VSE 3.1)
APAR DY46868 (IOCP z/VSE 4.1, z/VSE 4.2)
APAR PK58463 (HLASM)

Phil Lunder

unread,
Feb 11, 2009, 10:50:50 AM2/11/09
to
Thanks, Mark, I'll give this a go.
 

Phil Lunder
z/VSE Services
440-255-7186
440-708-6009 (cell)
phil_...@ameritech.net

Ron Ashley

unread,
Feb 11, 2009, 11:18:32 AM2/11/09
to

You have to do CLO  (close) first on the file using CEMT inq FIL(xxxxx). Key in clo and hit enter key in OPE over the CLO  and then key in BRO  after the ADD statement   (or if the other stuff is not there they should be in OPE ENA REA UPD ADD BRO DEL and it has to be in the right place or it looks like it works but it doesn’t.  

 


From: owner-vs...@Lehigh.EDU [mailto:owner-vs...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Wednesday, February 11, 2009 8:45 AM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

 

Well that didn’t work. I added Browse to the file with ceda and then installed the group. Still getting INVREQ. ??

Thanks,

Bob

 

From: owner-vs...@Lehigh.EDU [mailto:owner-vs...@Lehigh.EDU] On Behalf Of Bob Paul
Sent: Wednesday, February 11, 2009 9:29 AM
To: VSE Discussion List
Subject: RE: Reading ESDS files in CICS

 

AHH !! THANKS A BUNCH !

 It did not have browse – will change and try.

Thanks,

Bob

 

Tony Thigpen

unread,
Feb 11, 2009, 11:36:11 AM2/11/09
to
Actually, a full word in cobol should be S9(9) COMP. :-)

Tony Thigpen


-----Original Message -----
From: Kevin Corkery
Sent: 02/11/2009 10:32 AM
> The below is a half-word, a full word in COBOL is S9(8) COMP.
>

> ------------------------------------------------------------------------
> *From:* owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] *On
> Behalf Of *Mohammed Imam
> *Sent:* Wednesday, February 11, 2009 9:55 AM
> *To:* VSE Discussion List
> *Subject:* RE: Reading ESDS files in CICS

Martin Truebner

unread,
Feb 11, 2009, 11:43:54 AM2/11/09
to
> Actually, a full word in cobol should be S9(9) COMP. :-)

Kids, pleeeeaase play nice.

I don't want to read the fine manual- but my guess/bet is that it says
that anything between 5 and 9 defined as BINARY (or COMP) will result in
storage allocation of 4 bytes ( full word).
--
Martin
--
XML2PDF - create PDFs from within z/VSE or z/OS; more at
http://www.pi-sysprog.de

indust...@winwholesale.com

unread,
Feb 11, 2009, 12:00:39 PM2/11/09
to
owner...@Lehigh.EDU wrote on 02/11/2009 11:43:50 AM:
> > Actually, a full word in cobol should be S9(9) COMP.  :-)
> I don't want to read the fine manual- but my guess/bet is that it
> says that anything between 5 and 9 defined as BINARY (or COMP) will
> result in storage allocation of 4 bytes ( full word).

        Yes, but your results will vary, depending upon options, because COBOL will truncate high-order digits if you specify 5, 6, 7, or 8 digits.

Kevin Corkery

unread,
Feb 11, 2009, 12:07:53 PM2/11/09
to
In reality it's anything S9(5) thru S9(9). By my personal convention I have
always expressed it a double the half-word, i.e. S9(8). Indeed, the eight
positions are sufficient to express the highest allowable RBA in an ESDS
file. I guess in retrospect it may be more prudent to always express to the
maximum precision required although at times even that can be problematic,
for instance, using S9(4) to describe a half-word record length can
misrepresent the length of a record that's more than 9999 bytes. Of course,
this can be mitigated with the proper compiler options.

-----Original Message-----
From: owner...@Lehigh.EDU [mailto:owner...@Lehigh.EDU] On Behalf Of

Tony Thigpen
Sent: Wednesday, February 11, 2009 11:52 AM
To: VSE Discussion List

Martin Truebner

unread,
Feb 11, 2009, 12:09:11 PM2/11/09
to
> Yes, but your results will vary, depending upon options, because
> COBOL will truncate high-order digits if you specify 5, 6, 7, or 8 digits.

In the context we had here (moving zero to it and then maintaining
whatever CICS returns) nothing will happen, regardless of TRUNC -option.

Tony Thigpen

unread,
Feb 11, 2009, 1:19:33 PM2/11/09
to
Actually, the context was not the RBA discussion. It was the 'what is a
fullword' conversation that I responded to. Cobol goes to a lot of
trouble to truncate the results based on the length specified. If moving
to or adding to an S9(8) COMP field, Cobol will use a completely
different set of instructions just to make sure the field never exceeds
the specified length unless you use just the right compiler option.

Tony Thigpen

Mohammed Imam

unread,
Feb 11, 2009, 2:35:14 PM2/11/09
to
COBOL representation on Binary fields is below:

Storage Occupied Digits in picture clause
---------------- ------------------------
2 bytes (halfword) 1 through 4
4 bytes (fullword) 5 through 9
8 bytes (doubleword) 10 through 18

Mohammed Imam
County of Cumberland, NC.

0 new messages