Specifies how to insert data directly into the database when data is received. If you give an empty filename parameter, the direct insert is canceled.
Serial_SetDirectInsert ( switches ; portname ; filename ; tablename ; fieldname ; matchstring )
|switches||modifies how this function behaves|
|portname||the name of the serial port to be coupled to this direct insert setting|
|filename||the name of the file where the data needs to be inserted into|
|tablename||the name of the table occurrence where the data needs to be inserted into|
|fieldname||the name of the field where the data needs to be inserted into|
|matchstring||(optional) wait for a match string before inserting the data|
switches can be one of this:
|-GetLastMatch||the last string of text that matches the match string will be inserted|
|-ConvertBytesToNumbers||converts all received bytes to their numeric value, with space as separator|
Data type returned
The returned result is an error code. An error always starts with 2 dollars, followed by the error code. You should always check for errors. Returned error codes can be:
|0||no error||DirectInsert was set|
|$$-50||paramErr||there was an error with the parameters|
Other errors may be returned.
Troi Serial Plug-in 5.5
FileMaker Pro 16 to FileMaker Pro 2023
If the filename parameter is empty, the plug-in will no longer insert data directly into the database.
The switch -ConvertBytesToNumbers was added in version 7.0.
Set Variable [ $ErrorCode ; Serial_SetDirectInsert ( "-Unused" ; "port1" ; Get ( FileName ) ; "IncomingData" ; "dataField" ; "OK" ) ]
This will set the Direct Insert for port1. Incoming data will be inserted into field “dataField” of table “IncomingData” of the current file. The data will not be inserted before the string “OK” is found.
Set Variable [ $ErrorCode ; Serial_SetDirectInsert ( "-Unused" ; "COM2" ; Get ( FileName ) ; "IncomingData" ; "dataField" ; "¶" ]
This will set the DirectInsert for the COM2 port. Data will be directly inserted into field “dataField” of table “IncomingData” of the current file when a return is found in the incoming data.
Set Field [ gErrorCode ; Serial_SetDirectInsert ( "-Unused" ; "COM2" ; "" ) ]
This will reset the DirectInsert. Although the incoming data is still buffered, no action is taken when data is received. You can still get the data out by calling the Serial_Receive( ) function.
Used in example file
Related script steps
|Set Serial Direct Insert|
|Set Serial Trigger Script|