11 8 Clean Up Considerations for Heavy Usage Functions

LANSA Application Design

11.8 Clean Up Considerations for Heavy Usage Functions

A function's usage may be set in one of these ways:

  • The Anticipated Usage of the process it is in.
  • It contains a FUNCTION RDML command with OPTION *HEAVYUSAGE or *LIGHTUSAGE
  • It executes the SET_FOR_HEAVYUSAGE or SET_FOR_LIGHTUSAGE Built-In Function

Note that each successive way overrides the previous ways. That is, a function may be in a LIGHT usage process but contains FUNCTION OPTIONS(... *HEAVYUSAGE ...) – it will be heavy usage. Likewise a function may contain FUNCTION OPTIONS(... *LIGHTUSAGE ...) but have executed the Built-In Function SET_FOR_HEAVYUSAGE – it will be heavy usage.

In general, the way to clean up the resources used by a heavy usage function is to call it again and have it execute the SET_FOR_LIGHT_USAGE Built-In Function. However this is not always possible, given the type of function that it may be.

  • Functions CALLed or activated via CALL_SERVER_FUNCTION Built-In Function may use this mechanism to clean up. One suggestion would be to create a field for this and only exchange it when the heavy usage function is to clean up.
  • Trigger functions could be coded to execute the SET_FOR_LIGHT_USAGE Built-In Function when called for the After Close event.
  • RDML Built-In Functions can use this mechanism in their shutdown logic.
  • The following functions cannot use this mechanism:
  • Prompting functions.
  • System Variable Evaluation functions.
  • Complex logic functions.