Copyright Digital Equipment Corp. All rights reserved.

Callable_SCA

   The SCA Callable Interface allows you to use SCA within
   independent application programs. This allows you to integrate SCA
   into alternative user-interfaces and lets you generate specialized
   reports based on SCA information.

   The SCA Callable Interface contains two components. The first is a
   set of routines termed Callable Command Routines, which comprise
   a high-level interface which must always be used, regardless of
   the type of application. This provides a very simple callable
   interface to SCA, which will be sufficient for most applications.

   Callable Command Interface Routines

   o  SCA$ASYNCH_TERMINATE

   o  SCA$CLEANUP

   o  SCA$DO_COMMAND

   o  SCA$GET_INPUT

   o  SCA$INITIALIZE

   o  SCA$LOCK_LIBRARY

   o  SCA$PUT_OUTPUT

   o  SCA$UNLOCK_LIBRARY

   The second component is a set of routines termed Callable
   Query Routines. The Callable Query Routines comprise a lower-
   level interface to the FIND command. Using this interface, an
   application has control over the specification of queries and the
   manipulation of query results.

   Callable Query Initialization/Cleanup Routines

   o  SCA$QUERY_CLEANUP

   o  SCA$QUERY_INITIALIZE

   Callable Query Question Building Routines

   o  SCA$QUERY_PARSE

   o  SCA$QUERY_SELECT_OCCURRENCE

   o  SCA$SELECT_OCCURRENCE

   Callable Query Result Manipulation Routines

   o  SCA$GET_ATTRIBUTE

   o  SCA$GET_ATTRI_KIND_T

   o  SCA$GET_ATTRI_VALUE_T

   o  SCA$GET_OCCURRENCE

   o  SCA$QUERY_GET_ATTRIBUTE

   o  SCA$QUERY_GET_ATTRI_KIND_T

   o  SCA$QUERY_GET_ATTRI_VALUE_T

   o  SCA$QUERY_GET_OCCURRENCE

   Callable Query Miscellaneous Routines

   o  SCA$GET_CURRENT_QUERY

   o  SCA$QUERY_COPY

   o  SCA$QUERY_FIND

   o  SCA$QUERY_GET_NAME

   Message Handling

   The SCA callable interface handles all messages the same way:
   it signals them. If you want control over the display of such
   messages, you must establish a condition handler. Establishing a
   condition handler is optional.

   Rules for Calling SCA Routines

   o  Most SCA routines are not AST-reentrant; therefore, you should
      not call an SCA routine (except SCA$ASYNCH_TERMINATE) from an
      AST routine that may currently be interrupting an SCA routine.

   o  Your program must not disable ASTs.

   o  If your program uses event flags, you must use the OpenVMS RTL
      routines (LIB$RESERVE_EF, LIB$GET_EF, and LIB$FREE_EF) in order
      to coordinate the use of event flags between your program and
      SCA.

   o  Except for SCA$ASYNCH_TERMINATE, do not call SCA from within an
      SCA callback routine or from within a routine that is handling
      a condition signaled by SCA.

   o  Your program must not unwind when handling a condition signaled
      by SCA.