On Wed, 16 Apr 2014 14:34:28 -0500, Dan <[email protected]> wrote:

>We have our own IPCS format model which uses BLSQMDEF/BLSQMFLD.
>
>We use quite a few LONG labels. Many of these I can shorten by using the 
>PREFIX= keyword and removing the beginning of the label which is often the 
>same for all labels within the DSECT.
>The problem is with some of the labels where the matching prefix is > 8 
>characters.
>
>Let's say I have a label of LongLabel_Field_Number1.
>If I code "BLSQMFLD NAME=LongLabel_Field_Number1,DTYPE=EBCDIC" the resulting 
>label will be "LongLabe".
>If I add PREFIX=16 to remove "LongLabel_Field_" the macro produces an MNOTE 
>"INVALID VALUE SPECIFIED FOR PREFIX".
>
>Has anyone found a way around this problem?  
>Of course, the BLSQMFLD macro could ALWAYS code OFF= & LEN= which would allow 
>ANY text to be placed in NAME=.
>I'd prefer not to do that.
>
>Thanks for any suggestions.
>Dan

Hi Dan,

Sorry for the delayed response, we must have missed this.

BLSQMFLD output is somewhat built around the premise of being organized in 8 
character chunks. With the label filling 8 characters and the ouput filling a 
multiple of 8 characters.  Everything ends up aligned somewhat by 8  character 
sections.  

Longer (inline) labels might have broken that consistency.

What I often see done is the use of the SHDR option to produce labels.  ex:

BLSQMFLD SHDR=SHDRxx,VIEW=X'0200',NEWLINE       
BLSQMFLD NAME=FOO,OFF=X'00EC',LEN=4,VIEW=X'0200'
...
SHDRxx   BLSQSHDR 'zzzzzzzzzzzzzzz                     '

This will produce a label on one line followed by the field contents  on 
another line (probably without a label).    

-Nick Jones
z/OS Service Aids

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to