The error message occurs if the length operand value is not yet
defined.  Even if the statement that defines it occurs before
the reference, if the statement has not yet been resolved, the
defined value is not yet available.

Processing of statements such as EQU and DC can be deferred and
retried after the first pass is complete, allowing forward
references, including the first operand to EQU and length or
duplication expressions on DC.  However, the length operand for
EQU must be already defined.

The message explanation could probably be improved to clarify
this point, so we will look into updating it.

In this case, the value of either LPMED_LEN or the duplication
factor on the DC has not yet been resolved, so if the DC is
included the length cannot be evaluated until later.

Apart from unresolved duplication factors or lengths within the
area whose length is being taken, another common reason for
lengths not being resolved is that the alignment of an item
within the area is stronger than the alignment of the start of
the area, and the alignment of the start is unknown because of a
previous unresolved definition.  This problem can be avoided by
specifying DS 0D or similar before the start for alignment.

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to