Completing The Procedure

Check Syntax
Once all executable Components are completed and connected,  check the accuracy of your work (the syntax check validates not only the connectivity of the Components but also the accuracy of all instructions):

The Procedure can be saved (select Save menu item) at anytime even when the Procedure is incomplete (i.e. error messages are generated). This Save anyway option was introduced in order to allow developers to build Procedures in stages, if necessary.

Testing the Procedure
Once a Procedure is completed and syntactically correct, it can be tested before putting it into production.

Save the Procedure
Simply select the Save menu item - may be done before or after testing of the Procedure (upon receiving the Save command, Scribe transparently performs the syntax check. If errors exist, they will be identified and an Alert Panel will offer the option to Save anyway.

A syntactically correct saved Procedure is automatically placed "into production mode" i.e. ready to be run as a Report or Process. However, just because the syntax is correct does not guarantee that the Procedure performs as intended. Therefore, always test your Procedures.

Invalidated Procedures
Procedures can be invalidated as a result of making critical modifications to Print Templates or other Procedures (Functions, Reports or Processes) that this Procedure depends on.

Having invalidated Procedures does not necessarily mean that they are incapacitated as to their original purpose. Rather, the purpose of this feature is to force the Developer making changes to a Template to review all existing Procedures.

Invalidated Procedures are indicated in the Open Procedure window by a "broken checkmark" next to the Procedure name in addition to having the name text shown in bold. See the example in the Selector panel.

When an invalidated Procedure is loaded for editing:

Functions in other Functions and Procedures
A completed Function can be imbedded in another Function or Procedure. In order to do so,

This causes the Function component to expand and display all required Parameters and the Return value, if used. Each of the Parameter fields comes equipped with a Run-time button allowing the required values to be hard-coded or loaded at run-time (soft-coded). You may want to review the usage of the Run-time button.