Placeholders are intended only for local use within an application and only a limited number of them are available simultaneously. They are always annulled as soon as they are passed to another routine to create a new NDF, where they are effectively exchanged for an NDF identifier.
The value given for the NAME argument may be an HDS path name, consisting of several fields
’, so that an NDF can be created in a sub-component (or a sub-sub-component...) of the
structure identified by the locator LOC. Array subscripts may also be used in this component name.
Thus a string such as
’ could be used as a valid NAME
Normally, this routine will be used as the basis for creating a completely new NDF data structure.
However, if the LOC and NAME arguments refer to a pre-existing object, then this structure will be
used as the basis for the new NDF. An object which is to be used in this way must be an empty scalar
structure with an HDS type of
A new NDF can be created within an explicitly named container file by supplying the symbolic value DAT__ROOT for the LOC argument, and specifying the container file within the value supplied for the NAME argument. If the object is the top level object within a container file, then a new container file is created. If it is not a top level object, then the container file and all structures lying above the object should already exist.
If a blank value is given for the NAME argument, then the new NDF will be the object identified
directly by the locator LOC. This must be an empty scalar structure of type
If this routine is called with STATUS set, then a value of NDF__NOPL will be returned for the PLACE argument, although no further processing will occur. The same value will also be returned if the routine should fail for any reason.
The NDF__NOPL constant is defined in the include file NDF_PAR. The DAT__ROOT constant is defined in the include file DAT_PAR (see SUN/92).