Set Variable
Sets a local or global variable to a specified value.
Options
- Name is the name of the variable you want to create. Prefix the name with $ for a local variable or $$ for a global variable. If no prefix is added, $ is automatically added to the beginning of the name.
- Value is the value the variable is set to. You can enter text or specify a calculation.
- Repetition is the repetition (index) number of the variable you want to create. If no repetition is specified, the default is 1.
Compatibility
Product | Supported |
FileMaker Pro | Yes |
FileMaker Go | Yes |
FileMaker WebDirect | Yes |
FileMaker Server | Yes |
FileMaker Cloud | Yes |
FileMaker Data API | Yes |
Custom Web Publishing | Yes |
Originated in version
8.0
Description
If a variable doesn’t exist, this script step will create one. See Using variables.
Example 1
Creates a related record by using a local variable to copy information into a match field.
Copy
Set Variable [$CURRENT_CUSTOMER_ID; Value: Customers::Customer ID]
Go to Layout ["Invoice Details"]
New Record/Request
Set Field [Invoices::Customer ID; $CURRENT_CUSTOMER_ID]
Example 2
Uses a local variable to save records as Excel or PDF files in the Documents folder.
Copy
Show Custom Dialog ["Save the current record as Excel or PDF?"]
If [Get ( LastMessageChoice ) = 1]
Set Variable [$PATH; Value: Get ( DocumentsPath ) & "Invoice " & Invoice::Invoice Number & ".xlsx"]
Save Records as Excel [Restore; With dialog: Off; "$PATH"; Current record ; Create folders: Off]
Else
Set Variable [$PATH; Value: Get ( DocumentsPath ) & "Invoice " & Invoice::Invoice Number & ".pdf"]
Save Records as PDF [Restore; With dialog: Off; "$PATH";
Current record ; Create folders: Off]
End If
Example 3
Uses global variable as a toggle to stop a script from being triggered.
Script: Go to Selected Invoice for iPad
Copy
Set Variable [$$SCRIPT_TRIGGER; Value: "Off"]
Go to Layout ["Invoice Details iPad"]
Script: Trigger Entering Invoice Details
Copy
If [$$SCRIPT_TRIGGER = "Off"]
Set Variable [$$SCRIPT_TRIGGER; Value: "On"]
Exit Script [Text Result: ]
End If
Find Matching Records [Replace; Invoices::Customer Name]
Go to Record/Request/Page [First]