CommonGround Softworks Inc.


October 18, 1998 - Osmosis Technical Note 1


Subject: Error message, “Stop on Error Encountered”.


From time to time, Osmosis designers may see the error, “Stop on Error Encountered”. This is a Helix® error that indicates the submitted data could not be entered. The most likely cause is a field type mismatch.
For example, a Helix field is formatted as a date, but the submitted data is, “10/30a/98. Helix will reject this entry and report to Osmosis, “Stop on Error Encountered”.

The actual behavior of Helix (and the consequent reported error message) is governed by the selection in the load dialog box for the entry view. There are three options: Stop Load, Ignore Record and Ignore Field. Only the first selection will result in an error being reported by Osmosis. The second option will result in no entry and no error message. The third option will enter the record, but ignore invalid fields.

One alternative is to use text fields for entry views, then convert the values to what is needed. For example, a date is submitted to a text field. Within Helix, the text field is converted to a date field. This construction will reduce of likelihood of entry errors as well as allow the user to test for or ignore invalid entries.
When data is submitted to Helix, Osmosis first gets the field and record separators from the view’s load specification dialog box. The data is then submitted along with these delimiters. In most cases, the designer does not have to worry about this behavior, but there are three exceptions:.

1. If a submitted HTML form contains the input type, “TEXTAREA”, a user can (and often does) type tabs or carriage returns. If the entry view load specification uses tabs or carriage returns, then data will either not be entered properly or Osmosis will report, “Stop on Error Encountered”. An easy way to resolve this is to change both the field and record delimiters (in the load specification dialog box) to any other characters which cannot be typed.

2. Consider a Helix entry view consisting of four fields: Text, Number, Flag, Date. The corresponding HTML input types are as follows: UserEntry0, UserEntry1 and UserEntry2. Note that a fourth field is available, but not used. The HTML submittal of user data is as follows: UserEntry0=Name, UserEntry1=100 and UserEntry2=No. The data formats appear correct, but upon submittal, Osmosis reports the error, “Stop on Error Encountered”. Why? The actual data submitted was: UserEntry0=Name, UserEntry1=100, UserEntry2=No {CR}. The trailing {CR}, was submitted as the record delimiter and Helix reported a field mismatch. In this context, a {CR} is not a date. You can submit a ‘dummy’ UserEntry value (as a placeholder), use the same number of UserEntry data submittals for the number of fields on an entry view, or use text formatted fields.

3. During data transfer, the source collection (Transfer From) will export the record delimiter. If the target collection (Transfer To) does not anticipate this ‘extra character’, the transfer will fail. Although Osmosis will not report any error to the user, the Osmosis log will indicate that a “Stop on Error Encounter” occurred and the record could not be entered. The recommended workaround is to place a text formatted inert field as the last field for views used for both dumping (Transfer From) and loading (Transfer To) of data.


CommonGround Softworks Inc. can be E mailed at : info@CommonGrnd.com

 

webmaster@CommonGrnd.com