Description
The Call command allows FreeFlyer to access pre-defined Procedures and Macros and to pass data between FreeFlyer and MATLAB® or Database Management Systems (DBMS).
Syntax
Calling FreeFlyer Procedures and Macros
Call myProcedure(mySpacecraft, myVariable, myArray);
Call myMacro(mySpacecraft, myVariable, myArray);
|
Calling MatlabInterfaces
Call myMatlabInterface.myMFile(myArray, myMatrix, myString, myStringArray, myVariable);
|
For more information, see the MATLAB Guide.
Calling DataBases - Generic Syntax Options
Call myDatabaseObject "SQLStatement";
Call myDatabaseObject [SQLStatement];
Call myDatabaseObject Next "SQLStatement"
BindCol(myVariable1, myVariable2);
Call myDatabaseObject All "SQLStatement"
BindCol(myArray1, myArray2);
Call myDatabaseObject Next "SQLStatement"
BindParam (myVariable, myArray[0], mySpacecraft.A, ...)
BindCol (myVariable, myArray[0], mySpacecraft.A, ...)
ReturnCount myVariable1
ResultsPending myVariable2
RowCount myVariable3;
Call myDatabaseObject All "SQLStatement"
BindParam(myVariable, myArray[0], mySpacecraft.A, ...)
BindCol(myArray1, myArray2, myArray3, ...)
ReturnCount myVariable1
RowCount myVariable2;
|
For more information, including specific syntax examples, see the Databases Guide.
Where:
•myProcedure is a FreeFlyer Procedure
•myMacro is a FreeFlyer Macro
•myMFile is a MATLAB M-file script |
Details
Procedures
•Any FreeFlyer object type can be passed between FreeFlyer and a Procedure.
•An unlimited number of objects can be specified.
•The Procedure must be previously defined, and the argument list specified by Define Procedure must match that specified by the Call command.
•For more information, see the Using Procedures Guide. |
Macros
•Any identifier can be passed between FreeFlyer and a Macro.
•An unlimited number of identifiers can be specified.
•Macros must be previously defined, and the argument list specified by the Call command must have at least as many arguments as the Define Macro statement.
•For more information, see the Using Macros Guide. |
MatlabInterfaces
•Only Matrix, Array, String, StringArray, and Variable objects can be passed between FreeFlyer and MATLAB.
•An unlimited number of objects can be specified.
•The Call command must be used on a previously defined MatlabInterface object, which has been initialized via the Open command.
•For more information, see the MATLAB Guide. |
DataBases
The FreeFlyer DataBase object enables connectivity to Database Management Systems (DBMS). The Open Database Connectivity (ODBC) application program interface (API) is used as the connection mechanism. User-supplied Structured Query Language (SQL) statements specify the DBMS actions to be performed. Exact syntax supported for SQL statements is determined by the DBMS in use.
•To get started with a database, you must first set up its "Data Source Name" (DSN) under ODBC and associate a driver and database location with that name. Specific drivers may require additional parameters. Your specific database driver documentation should be referenced for the database's specific setup. For more information, see the Databases Guide.
•Variables, Arrays, Array elements, or any FreeFlyer object property can be passed between FreeFlyer and a database.
•The Call command must be used on a previously defined DataBase object, which has been initialized via the Open command.
•Multiple DataBase objects can be used, each forming a connection to a different DBMS or a different user account within the same DBMS. |
Optional Clauses:
•All: Processes all the rows in the specified database. This clause is used when the bound output columns are Arrays.
•Next: Processes only the next row in the specified database. This clause is used when the bound output columns are Variables.
•BindParam: Binds a parameter to the user-specified property. Unlimited properties may be specified. This clause sends data from a FreeFlyer object to the DataBase. The All and Next clauses are not used with this clause.
•BindCol: Maps the elements of the last row of the result set to individual variables or to the elements of an array. If the number of rows is greater than the array length, the array is incrementally resized. This clause retrieves data from the DataBase and binds it to a FreeFlyer Variable or Array. You must specify All or Next when using this clause.
•ReturnCount: Returns the row number that was fetched, starting at 1. "0" is returned when an empty results set is generated.
•ResultsPending: Returns "0" if all rows have been processed and "1" if more rows are available.
•RowCount: Returns the number of rows affected by SQL statements such as UPDATE, INSERT, or DELETE. If the information is unavailable, "-1" is returned. |
Much more information, including many examples with screenshots, can be found in the Databases Guide.
Command Editor
Object to Call
FreeFlyer Function (Procedure or Macro)
Procedure or Macro
•Specifies the name of the Procedure or Macro that you would like to Call
•This Procedure or Macro must be Defined or Included in the Mission Plan prior to this Call statement |
Arguments
|
MatlabInterface
Function
•Determines the MATLAB .mfile that will be executed |
Arguments
•Specifies the objects that will pass information to and receive information from MATLAB |
|
DataBase
None/All/Next
•None: Leaves field blank
•All: Processes all the rows in the specified database. This clause is used when the bound output columns are Arrays.
•Next: Processes only the next row in the specified database. This clause is used when the bound output columns are Variables. |
SQL Text
•Specifies the desired SQL code |
BindParam
•Binds a parameter to the user-specified property. Unlimited properties may be specified. This clause sends data from a FreeFlyer object to the DataBase. The All and Next clauses are not used with this clause. |
BindCol
•Maps the elements of the last row of the result set to individual variables or to the elements of an array. If the number of rows is greater than the array length, the array is incrementally resized. This clause retrieves data from the DataBase and binds it to a FreeFlyer Variable or Array. You must specify All or Next when using this clause. |
ReturnCount
•Returns the row number that was fetched, starting at 1. "0" is returned when an empty results set is generated. |
ResultsPending
•Returns "0" if all rows have been processed and "1" if more rows are available. |
RowCount
•Returns the number of rows affected by SQL statements such as UPDATE, INSERT, or DELETE. If the information is unavailable, "-1" is returned. |
|
|
"More" button
•Adds an additional argument field |
"Delete" button
•Removes the argument field directly to the left of the "Delete" button |
Script
•Displays the FreeFlyer Script that is generated by the editor |
Description
•Displays descriptions of the editor and its fields
•Description text changes as the mouse pointer moves over the different fields within the editor |
See Also
•Close Command
•Open Command
•Define Procedure and Define Macro
•Using Procedures and Using Macros Script References
•Structs Script Reference
•MATLAB and Databases Guides
•DataBase Properties and Methods
|