Function procedures are subsets of Report procedures. They too are organized as flowcharts of executable components, but lack the ability to send data to Print Templates for reporting, produce charts, export data in the file etc. The primary purpose of Functions is to serve as "black boxes" that encapsulate some commonly-used functionality to be used in multiple contexts.
In addition to this, Functions can be custom-written in Java and incorporated into the list of user-defined functions maintained by Scribe. These custom-made plug-ins are presented to the user as draggable function components similar to the System Functions or User-defined functions built by assembling executable components in to a flowchart. See System Documentation for info on how to write a Scribe Function in Java.