Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Hi

I have a strange error when I try to sync from my iPad to my Server if I create a new record in a specific table 'Echanges' at the next sync I got this error...

"Field ES_Echanges is missing. FileMaker Error Code 102..."

The thing is ES_Echanges, is the name of the relationship in the easysync context, none of my fields are named close to that...

I have triple checked my fields and the relationships - no clues

Any idea ?

Are you sure you don't have a field with that name in the Server file? Which script throws the error?

  • Author

Hi..

off course I'm sure I don't have this field... I have triple checked everything ;-)

It's not my first Easy Sync implementation, I keep the 5 ES_fields for the process, EXCL_fileds for exclusion, and regular one I want to process...

the script that returns the error is "Process Payload from Client" on the Host - looks like I have an error when it tries to write the new record on the EasySync_Payload_Details table in the EasySync_Payloads layout...

I have several other tables working fines...

 

I figured it was the Process Payload from Client. Check the relationship in the EasySync TOG on the server. Maybe you forget the allow create?

  • Author

it's not that /  I have checked it's correct

when I turn off the PSoS in settings, and run the debugger,

around line 265, on Process Payload from Client I have

set field by name [$table_name & "::" & $field_name;$field_value]

and in the data viewer I have :

$table_name = ES_Echanges that's good

$field_name = ES_Echanges that's wrong  this field doesn't even exists

The payload sent from the iPad is propably wrong... and I still don't understand...

 

Edited by yliqueur

  • Author

I try to debug

in the Process Payload from Client script - around line 230

"We skip the first value because it is really the table name that the record is from."

and a variable $f set to a value 2...

this $f variable is deleted between L264 and L267 when the script is running

so at line 304 [$f = $f+1] , $f = 1 again and look for the first value in the list ... the name of the table ES_Echange...

 

I am not seeing $f deleted btw L264 and L267.

  • Author

when I run the script, in my data viewer, between 264 -267 $f deseapear...

second guess, same script around 196 "assume we are going to update a record"

seems to treat the record as an update and not a new record...

 

seems like that in line 206

$ES_UTC_Time_Host : Evaluation ( $table_name & "::ES_UTC_Time" ) returns nothing,

so $update_record = 1

the new record is treated as an update

102 is the field missing error. It is being triggered. If your table_name is ES_Echanges then look at it. Print out the field list for both ES_Echanges tables and compare them. 

  • Author

both the host and the client have the exactly same fields list, same attribute (text=text, number=number...)...

problem is not there, apparently a new record in this table is look like an update because the script can't evaluate the UTC time  for the same table on the host

 

  • Author

I fixed the problem for now - need more test - by replacing the $f variable by a $$f variable between lines 231 and the end of the loop line 312 in the Process Payload from Client script

Edited by yliqueur

I think that you should step through the script (don't use PSOS) and check out the payload sent. I would assume that there is nothing wrong with the Tim's script (we all use it as shipped and have not had issues). So, imho, it's a data issue and since $table is needed, perhaps that's why the UTC isn't evaluating.

It's mind-numbing, but with proper break points, you can see what's broken.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.