#INMODULE

#INMODULE( module, attribute );

moduleA previously defined user-defined symbol containing the name of an ECL source module.
attributeA previously defined user-defined symbol containing the name of an Attribute that may or may not be in the module.

The #INMODULE statement returns a Boolean TRUE or FALSE as to whether the attribute exists in the specified module.

Example:

  #DECLARE (mod)
  #DECLARE (attr)
  #DECLARE (stg)
  
  #SET(mod, 'default')
  #SET(attr, 'YearOf')
  
  #IF( #INMODULE(%mod%, %attr%) )
     #SET(stg, %'attr'% + ' Exists In Module ' + %'mod'%);
  #ELSE
     #SET(stg, %'attr'% + ' Does Not Exist In Module ' + %'mod'%);
  #END
  
  export res := %'stg'%;
  res;
  
  // Output: (For 'default.YearOf')
  // stg = 'YearOf Exists In Module default'
  //
  // Output: (For 'default.Fred')
  // stg = 'Fred Does Not Exist In Module default'