I am defining a file without nulls supression in Predict. This field is part of a superdescriptors
This field before was null supression = N. I change it to F. When I generate it, i receive message dic2367 and a remark ‘invalid definition on field’.
If I define this file with supression N, the generation process is ok.
What am I doing wrong?
what type is the field you are trying to change here ?
I copy below the Predict definition of the field and superdescriptor implied
Ty L Field ID F Cs Length Occ D U DB S
*- - -------------------------------- *- * -------- ----- * * – *
1 XXXX-XX N 6,0 AA N
Ty L Field name F Cs Length Occ D U DB N NAT-l
SP 1 ZZZZZ-ZZZ N 10,0 D U FZ N
Source field name * F Length Start End DB
1 XXXX-XX N 6,0 AA
2 YYYY N 4,0 AG
If I change column S from N to F , and I generate FDT , an error DIC2637 occurs.
Could be necessary to change the superdescriptor definition compression from N to something?
Many thanks for your attention.
no, you can’t change that, the SP definition doesn’t have any influence here,
FI simply is not valid for ‘N’ fields, or, more precisely, for their equivalent Adabas
field type ‘U’ (GEN AF will create a FNDEF with format U), please refer to
thanks for your input. The reason I was trying to do that is:
A register with null values at this field must be retrieved with Read file by superdescriptor.
Please, what I must do??
just leave it as is, format U fields do not need to have the FI attribute,
a SP descriptor entry will be created even when ‘AA’ is 0
Thanks for the info, Wolfgang!!! I got it!!!
Just to elaborate a bit…format U fields can have the Null Suppression compression attribute set (represented in Predict with comppression attribute value “N”), which will suppress the superdescriptor entry when the value is 0. Default compression (represented in Predict with a blank in the compression attribute) will enable the superdescriptor entry to be created even when the value is 0.
Begoña indicates that the field is null suppressed and this appears in the Predict snippet enclosed. Hence the superdescriptor entry will not be created when the source field is null valued (zero). To change the compression attribute will require the file to be unloaded and reloaded with the new FDT definition using default compression.
Null suppression for a superdescriptor is not defined, it is derived from its source elements. If any of the source fields are null suppressed, then the superdescriptor will be null suppressed also when the null suppressed source field(s) are null.
Thank you very much for the explanation, Douglas!!!