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]