Perform Script
Purpose
Performs a script that is defined in the current file or in another FileMaker Pro file.
See also
Format
Perform Script ["<script name>"; Parameter: <parameter>]
Options
•<script name> specifies the script you want to perform.
•Optional script parameter specifies a script parameter for the specified script.
Compatibility
Where the script step runs | Supported |
FileMaker Pro | Yes |
FileMaker Server | Yes |
FileMaker Go | Yes |
Custom Web Publishing | Yes |
FileMaker WebDirect | Yes |
Runtime solution | Partial |
Originated in
FileMaker Pro 6.0 or earlier
Description
There is no need to open an external file when using a script in it—FileMaker Pro opens it for you.
You can use separate scripts to break complex tasks into smaller segments, which are often easier to troubleshoot. You can also save time by putting common tasks like printing or exporting records into separate scripts, which can then be accessed by more than one script. For example, you might want to use the same page setup and printing options in several scripts. By defining those steps once and saving them in separate scripts, you make it easy to access those steps many times.
Use script parameters to pass text or numbers into a script. When a parameter is specified, that parameter may be accessed within a script or passed to other script steps using the
Get(ScriptParameter) function.
Script parameters:
•exist within the parent script only unless explicitly passed to the
sub-script. If your script calls another script, parameters in the called script are independent of parameters in the parent script.
•exist only for the duration of the script. Script parameters are reset each time a script is performed.
•can be used (but not modified) within a script and can be passed along to sub-scripts by using the Get(ScriptParameter) function as the parameter for the sub-script. You can also specify different parameters each time the sub-script is called using Perform Script. Changing the parameters passed to a sub-script does not modify the value of the parameters returned from Get(ScriptParameter) in the parent script.
Tip If you've performed an
external script and you want to return to the original file, add an Enter Browse Mode step or Go to Layout step right after the Perform Script step in the original file, so that the script returns to the original file.
Notes
•A runtime solution can perform an external script only if the external file is bound to the solution.
Example 1
Runs the "Print Invoice Report" script with no parameters.
Go to Layout ["Invoice Report"]
Perform Script ["Print Invoice Report"]
Example 2
Uses a field value, Customer Name, as the parameter. Invoices for the current customer are returned in a new window with the Invoice Report layout.
Main script: Current Customer Invoices
Find Matching Records [Replace; Invoices::Customer ID]
#Calls the "View Customer Invoices" sub-script defined below
Perform Script ["View Customer Invoices"; Parameter: Invoices::Customer Name]
Sub-script: View Customer Invoices
New Window [Style: Document; Name: "Customer: " & Get ( ScriptParameter ); Using layout: "Invoice Report" (Invoices)]
Sort Records [Restore; With dialog: Off]
Related topics