Jump to content
Sign in to follow this  
yliqueur

Field ES_Echanges is missing ... error 102

Recommended Posts

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 ?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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...

 

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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...

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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. 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

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