The Question is:
Consider following situation:
In a business environment you have 4 separate data environments. The fdl's to
create/convert files are shared in all four data environments, but are only
tuned for one environment (the production environment). The other 3
environments are test environment
s containing a reduced data set of the production environment. When using the
same FDL's for these test environments, you end up with files that are far too
big for those environments. You could end up creating four different fdl's for
the same file layou
t, tuned for each environment, but than you have to maintain four times the
amount of fdl's you have now. Isn't their an easy way to change the allocation
and extension values in an fdl depending on the environment in which you are
using the fdl?
The Answer is :
For the purposes of this discussion, the OpenVMS Wizard will
reference an FDL file that contains the structure definitions,
and an FDL that contains record counts and file allocation
and related considerations. In your case, you want the former
but you do not necessarily want the latter -- you want the
structure, but you do not necessarily want the file size or
the other results of a file analysis.
You could very easily edit the contents of the FDL file to
create the appropriate file -- pre-processing the same FDL
file, for instance, to generate the required output.
Alternatively, the EDIT/FDL tool can accept the traditional
input, but it can also simultaneously accept a second FDL
file, a file containing analysis data -- the analysis data
is generally acquired using ANALYZE/RMS command targeting
the data file. The traditional FDL input to the command
would contain the file structure, while the analysis data
would vary by the target file context.
The following shows how to use EDIT/FDL and two FDL files
(STRUCTURE.FDL and ANALYSIS.FDL) to generate a third
(AGGREGATE.FDL) FDL file:
A sample analysis FDL file follows:
IDENT "MYDATA analysis FDL file for BIG enviironments"
FILE; CLUSTER_SIZE 12
ANALYSIS_OF_KEY 0; MEAN_DATA_LENGTH 123
Another approach to customizing the behaviour of FDL is
to use the FDL callable interface, and specifically to use
a small tool to generate the FDL dynamically. In place of
static FDL files, a tool generates the file at run-time,
using the fdl$create call. Based on the target context
or user input or other considerations, the tool simply
selects the appropriate FDL text string(s) to pass into
the fdl$create routine.