-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Clark Morris
Sent: Wednesday, October 18, 2006 6:17 PM
To: [email protected]
Subject: Re: Quick I hope COBOL question
On 9 Oct 2006 14:24:46 -0700, in bit.listserv.ibm-main you wrote:
>I know this isn't the COBOL list. I'm not a COBOL programmer, so it all
>works out. I'm writing a quick COBOL test program. I've got a PIC X(64)
>field but the actual length of the data in the field is in a separate
S9(4)
>field. I want to display the real data and not whatever garbage might
be
>beyond the real data. Is there any easy way to do this?
DISPLAY Pic-X-64-field (1 : X-64-Actual-data-length).
<SNIP>
You might try something similar to the following:
05 PIC-VAR-MOVE REDEFINES PIC-X-64-FIELD.
07 FILLER PIC X OCCURS DEPENDING ON
LENGTH-FIELD-S9.
Change the group level (05) to match the same level as the
PIC-X-64-FIELD. Then the LENGTH-FIELD-S9 becomes the name of the field
having the length in it.
Now this NEW group level, PIC-VAR-MOVE dynamically changes in size to
match the size of the table you have defined. So a MOVE using this as
the source will only move the number of bytes given by the length field.
You might also want to modify this to say "OCCURS 1 TO XX TIMES
DEPENDING ON..." to avoid an overflow condition.
Later,
Steve Thompson
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html