6 Replies Latest reply on Jul 8, 2016 2:18 PM by TSGal

    German DDR calculation tokenizer mis-parses "<Feld nicht vorhanden>" (<Field Missing>) in FileMaker 15

    designdb

      Product and version FileMaker Pro Advanced 15.0.1.119 (untested with earlier versions).

      OS and version 10.11.5

      Browser and version (for WebDirect only)

      Hardware 27" iMac

      Description

      In all supported languages (except German), the DDR for a calculation field that references a missing field looks like the following (English):

      <Field id="2" dataType="Number" fieldType="Calculated" name="FieldUsingDeletedTO">
        <Calculation table=""><![CDATA[<Field Missing>]]></Calculation>
        <DisplayCalculation>
             <Chunk type="NoRef">&lt;Field Missing&gt;</Chunk>
        </DisplayCalculation>
        <Comment/>
        <AutoEnter alwaysEvaluate="False"/>
        <Storage storeCalculationResults="True" autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1"/>
        </Field>
      

      In German, it looks like this:

      <Field id="2" dataType="Number" fieldType="Calculated" name="FieldUsingDeletedTO">
        <Calculation table=""><![CDATA[<Feld nicht vorhanden>]]></Calculation>
        <DisplayCalculation>
             <Chunk type="NoRef">&lt;Feld </Chunk>
             <Chunk type="FunctionRef">NICHT</Chunk>
             <Chunk type="NoRef"> vorhanden&gt;</Chunk>
        </DisplayCalculation>
        <Comment/>
        <AutoEnter alwaysEvaluate="False"/>
        <Storage storeCalculationResults="True" autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1"/>
        </Field>
      

      The issue is in the Field/DisplayCalculation/Chunk arrangement.  In German, the word NICHT is being tokenized as a function call, not as a word of a longer static string.  German is the only supported language that takes more than a single chunk to express the error message.

      How to replicate Export a German DDR with a <Field Missing> message

      Workaround None?