I would say: the READ .. INTO .. statement doesn't look at the numerical value 
in the length field, it only looks at the max possible length as defined. And 
acts accordingly. 



Best Regards
Thomas Berg
___________________________________________________________________
Thomas Berg   Specialist   zOS\RQM\IT Delivery   SWEDBANK AB (Publ)

> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of John McKown
> Sent: Wednesday, September 11, 2013 7:02 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: COBOL "problem" (not really), but sort of.
> 
> A programmer came by today with a problem. He is sometimes getting a
> S0C4-4 abend in a COBOL program. This is a subroutine. One of the
> parameters passed in is a data area, which can be of various lengths. It
> is defined with an OCCURS DEPENDING ON with a data element within the
> area. I.e. the first 05 level is PIC S9(5) COMP. The subroutine does a
> READ of a data set into this area. This is where the abend occurs. The
> reason is because the OCCURS DEPENDING ON maximum size is significantly
> larger than what the caller is passing it. And the READ to the 01 is
> trying to pad the entire possible 01 level with blanks.
> 
> The problem is how do I describe this to a COBOL programmer who just
> doesn't "get it". He expects COBOL to _not_ pad the "non existent"
> occurrences with blanks. And, if fact, to not even reference this area
> wherein they would have resided, had they existed. I'm just get "deer in
> headlights" looks. I'm not using the correct words, somehow.
> 
> --
> As of next week, passwords will be entered in Morse code.
> 
> Maranatha! <><
> John McKown
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to