Each application opens a temporary HDS container with the name ADF_nnn.sdf, where nnn is the process id of the application. This should provide enough scope to avoid name clashes, and if not, the name of the calling application can be added to further decrease this possibility.
The subroutine to open this file is called indirectly from AST_INIT, where the following line is added,
* Initialize ADF_CMN CALL ADF_INIT()
The subroutine ADF_INIT does two things, first it calls ADF_OPEN and second it resets the internal object pointer. A trace of the initial tempory file is,
HTRACE Version 2.2-0 ADF_OBJ <ADF_OBJ> {structure} ADF_LOC <ADF_LOC> {structure}
The file is used for storing ADF objects, these objects are indexed from ADF pointers (stored as integers) using the look-up table stored in the ADF locator structure. The HDS locators of these two structures are kept in common blocks as defined in the include file ADF_CMN.