Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • ~ Tilde is the reserved character to indicate the private nature of an element such as ~privateLetVariable or ~PrivateCustomFunction, $~privateScriptVariable or $$~PRIVATE.GLOBAL.VARIABLE.
  • ! Exclamation mark is a reserved symbol to indicate the non-relevance of something within code. Just as in many languages where it is used to negate or present the opposite of an operator (such as != meaning 'not equals' within PHP where <> or ≠ is not equals within FileMaker) it is most often used with variable declaration which uses the Evaluate() function.

Reserved variable names

  • $checkScriptName $$ERROR or $error is a reserved variable for Script parameter custom functions$$TEMP the storage of an error result. The most common is FileMaker's own Get ( LastError ). This variable will almost always be a numerical value in order to follow the conventions outline by FileMaker's own error handling. It is, however, not limited to FileMaker's Get ( LastError ). When augmented by a complimentary variable such as $errorType, the contents of $error may not contain a FileMaker specific error code.
  • $$TEMP or $temp is a reserved name for a temporary global variable. Never This variable is NEVER used to store persistent data across multiple scripts and it can be assumed that it can be overwritten at any time.
  • $~this is a reserved prefix for internal use within custom functions. In order to avoid overwriting any script variables you should prefix variable declarations with this value. For example $~thisCounter would be used as a recursive counter within a Custom Function. To further prevent any name collision, using the name of the function itself is preferred. Such as $~thisLeftCharsCounter where the $~this is the prefix, LeftChars is the name of the Custom Function and Counter is the descriptor.
  • $checkScriptName is a reserved variable for Script parameter custom functions (deprecated)

Reserved custom function names


  • # (hash or pound) is reserved for Name/Value pair functions (primarily for script parameters)
  • Triggers is the prefix for the class of custom functions which deal with script triggers.