next up previous
Next: Temporary NDFs
Up: CONNECTING WITH THE DATA SYSTEM
Previous: NDF Placeholders

Creating NDFs via Placeholders  

The only valid thing that can be done with an NDF placeholder is to pass it to a routine which creates an NDF. Thus, to create a new simple NDF by this means, the routine NDF_NEW might be used along with NDF_PLACE, as follows:

      CALL NDF_PLACE( LOC, 'NEW_NDF', PLACE, STATUS )
      CALL NDF_NEW( '_INTEGER', NDIM, LBND, UBND, PLACE, INDF, STATUS )

The call to NDF_NEW will create the required new simple NDF (in this case with a type of `_INTEGER') in place of the placeholder PLACE; i.e. in component NEW_NDF of the HDS structure with locator LOC. This act of creation automatically annuls the placeholder, whose value is reset to NDF__NOPL (this value is defined in the include file NDF_PAR and is reserved for indicating that a variable is not a valid placeholder).

A similar routine NDF_NEWP also exists by analogy with NDF_CREP (see §[*]) to create a primitive NDF via a placeholder in exactly the same way.

Note that placeholders are only intended 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 a routine which creates an NDF, where they are effectively exchanged for an NDF identifier. Since this is the only valid fate for a placeholder, there is no routine for annulling them explicitly. However, the routine NDF_END will annul any which are left outstanding as part of the ``cleaning up'' role it performs at the end of an NDF context (see §[*]).



next up previous
Next: Temporary NDFs
Up: CONNECTING WITH THE DATA SYSTEM
Previous: NDF Placeholders


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils