English

Bug: When using ArcSDE for Informix with the ArcIMS HTML Viewer, full field names are used instead of field alias names

Description

When using ArcSDE for Informix with ArcIMS, the ArcIMS HTML Viewer does not properly parse field names. No errors are returned, but field alias names are not recognized when attribute data is returned to the client, so the fully qualified field name is used instead of the alias.

Cause

In the ArcIMSParams.js file, the fieldAliasList array uses a colon (:) as a delimiter between the field name and its alias. Field names from ArcSDE for Informix are returned from the server with the database name prepended to the user/layer information. For example, "sde_test:gsherman.mylayer.myfield" where sde_test is the name of the database. This causes the parsing of fieldname/alias to fail in the setLayerFields function of aimsLayers.js.

Workaround

Ultimately, the field delimiter must be chaged from a colon to a circumflex accent (^). Use the following steps to accomplish this:

  1. In ArcIMSParams.js:

    Use the circumflex to delimit field names and aliases.

    For example:

    Code:
    fieldAliasList[9]="database:User.TableName.record^Record Number|database:User.TableName.area^Area in Acres";

  2. In aimsLayer.js:

    Change:

    Code:
    var tempPair = fieldAliasList[layerIndex].split(":");


    -to-

    Code:
    var tempPair = fieldAliasList layerIndex].split("^");


  3. In aimsLayer.js:

    Change:

    Code:
    var tempPair = tempList[i].split(":");


    -to-

    Code:
    var tempPair = tempList[i].split("^");


  4. In query.htm:

    Change:

    Code:
    var start=t_query.fieldAliasList[t_query.ActiveLayerIndex].indexOf(t_query.LayerFields[i]+':');


    -to-

    Code:
    var start=t_query.fieldAliasList[t_query.ActiveLayerIndex].indexOf(t_query.LayerFields[i]+'^');


  5. Save all changes and reload the HTML Viewer application in a browser.