Called when a valid record is read from the table/query.
@param bDisplayOption Display the fields?
778906
public void doValidRecord(boolean bDisplayOption) // init this field override for other value
    {
        Object bookmark = null;
        try   {
            bookmark = this.getOwner().getHandle(m_iHandleType);
        } catch (DBException ex)    {
            ex.printStackTrace();
        }
        this.addBookmarkFilter(bookmark);
        super.doValidRecord(bDisplayOption);
    }
1153167
public boolean getDisplayFieldDesc(ScreenField sField)
    {
        if (sField == this)
            return false; // Panels generally do not have descriptions
        if (sField instanceof SButtonBox)
            if (((SButtonBox)sField).getImageButtonName() != null)
                return false;    // Buttons don't need their field descriptions (if there is a icon) in base screens
        return true;    // But the controls in them generally do.
    }
1000108
public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
    {
        int iErrorCode = super.doRecordChange(field, iChangeType, bDisplayOption);
        if (iErrorCode != DBConstants.NORMAL_RETURN)
            return iErrorCode;
        if (iChangeType == DBConstants.UPDATE_TYPE)
        {   // Special case - Even though the record can't be used, GridTable needs a snapshot of the merged record
            Record recMain = this.getNextTable().getRecord();
            Record recAlt = this.getAltRecord();
            this.syncRecords(recAlt, recMain);  // NOTE: Although I put the wrong fields into the main record, modified = false! (so they don't update)
        }
        return iErrorCode;
    }
1180883
public int moveSourceToDest(boolean bDisplayOption, int iMoveMode)
    {
        String string = this.getSourceField().getString();        // Get this string
        int i = string.lastIndexOf(' ');
        if (i != -1)
            string = string.substring(i+1);
        return m_fldDest.setData(string, bDisplayOption, iMoveMode);
    }
480254
public String getSFieldValue(boolean bDisplayFormat, boolean bRawData)
    {
        Convert converter = this.getConverter();
        if (converter == null)
            return Constant.BLANK;
        if (bRawData)
        {
            converter = converter.getField();
            if (converter == null)
                return Constant.BLANK;
        }
        return converter.getString();
    }
812747
public int fieldChanged(boolean bDisplayOption, int moveMode)
    {
        String source = this.getOwner().getString();
        String soundex = this.soundex(source.substring(0, Math.min(4, source.length())));
        if (soundex == null)
            return DBConstants.NORMAL_RETURN;
        short hashValue = this.hashSound(soundex);
        BaseField field = this.getOwner().getRecord().getField(m_iFieldSeq);
        return field.setValue(hashValue, bDisplayOption, moveMode);   // Move even if no change
    }
1345143
public int fieldChanged(boolean bDisplayOption, int iMoveMode)
    {
        int iErrorCode = super.fieldChanged(bDisplayOption, iMoveMode);
        if (iErrorCode != DBConstants.NORMAL_RETURN)
            return iErrorCode;
        if (iMoveMode == DBConstants.INIT_MOVE)
            this.retrieveValue();
        if (iMoveMode == DBConstants.SCREEN_MOVE)
            this.saveValue();
        return iErrorCode;
    }
265172
public void printDisplayControl(PrintWriter out)
    {
        Convert converter = this.getScreenField().getConverter();
        if (m_vDisplays == null)
        {
            String strField = null;
            if (converter != null) if (converter.getField() != null)
                strField = converter.getField().getString();
            this.scanTableItems();
            if (converter != null) if (converter.getField() != null)
                converter.getField().setString(strField);
        }
        String string = DBConstants.BLANK;
        int iIndex = 0;
        if (converter != null)
        {   // This is required for the display or popup fields because displayField() is never called to get the value.
            iIndex = converter.convertFieldToIndex();
            if (iIndex == -1)
            {
                super.printDisplayControl(out);
                return;
            }
            try {
                string = (String)m_vDisplays.get(iIndex);
            } catch (ArrayIndexOutOfBoundsException ex) {
                string = "&nbsp;";
            }
        }
        out.println("<td>" + string + "</td>");
    }
1099358
function checkDisplay () {
      var myPermissions = self.allProperties[resizeListenerId] // JSON.parse(el.dataset.responsives)
      var curWidth = window.innerWidth
      var initial = el.dataset.initialDisplay ? el.dataset.initialDisplay : ''
      var parameters = self._rPermissions[binding.arg]
      for (let i in parameters) {
        if (curWidth >= parameters[i].min && curWidth <= parameters[i].max) {
          if (myPermissions.lastBp !== i) {
            if (self.allProperties[resizeListenerId].useClass) {
              el.classList.add(myPermissions.bpSet + '-' + i)
              el.classList.remove(myPermissions.bpSet + '-' + myPermissions.lastBp)
            } else {
              el.style.display = myPermissions[i] ? initial : 'none'
            }

            self.allProperties[resizeListenerId].lastBp = i
          }
          break
        }
      }
    }
30669
public void initRecord(boolean bDisplay) throws DBException
    {
        int iFieldCount = this.getFieldCount();      // Number of fields to read in
        for (int iFieldSeq = Constants.MAIN_FIELD; iFieldSeq < iFieldCount + Constants.MAIN_FIELD; iFieldSeq++)
        {
            FieldInfo field = this.getField(iFieldSeq);
            field.initField(bDisplay);
        }
        this.setEditMode(Constants.EDIT_NONE);
    }
858669
public void doNewRecord(boolean bDisplayOption)
    {
        super.doNewRecord(bDisplayOption);
        if (this.getOwner().isOpen())   // Don't do first time!
        {
            String strUserID = ((BaseApplication)this.getOwner().getRecordOwner().getTask().getApplication()).getUserID();
            int iUserID = -1;
            if ((strUserID != null) && (strUserID.length() > 0))
                iUserID = Integer.parseInt(strUserID);
            this.getOwner().getField(UserInfo.ID).setValue(iUserID);
            String strOldKey = this.getOwner().getKeyName();
            try   {
                this.getOwner().setKeyArea(UserInfo.ID_KEY);
                if (!this.getOwner().seek("="))
                {
                    this.getOwner().addNew(); // Make a new one
                }
            } catch (DBException ex)    {
                ex.printStackTrace();
            } finally   {
                this.getOwner().setKeyArea(strOldKey);
            }
        }
    }
214851
public int setUserID(int iChangeType, boolean bDisplayOption)
    {
        int iErrorCode = DBConstants.NORMAL_RETURN;
        int iUserID = -1;
        if (this.getOwner().getRecordOwner() != null)
            if (((BaseApplication)this.getOwner().getRecordOwner().getTask().getApplication()) != null)
            if (((BaseApplication)this.getOwner().getRecordOwner().getTask().getApplication()).getUserID() != null)
            if (((BaseApplication)this.getOwner().getRecordOwner().getTask().getApplication()).getUserID().length() > 0)
                iUserID = Integer.parseInt(((BaseApplication)this.getOwner().getRecordOwner().getTask().getApplication()).getUserID());
        boolean bOldModified = this.getOwner().getField(userIdFieldName).isModified();
        boolean[] rgbEnabled = null; 
        if (iChangeType == DBConstants.INIT_MOVE)
            rgbEnabled = this.getOwner().getField(userIdFieldName).setEnableListeners(false);
        iErrorCode = this.getOwner().getField(userIdFieldName).setValue(iUserID, bDisplayOption, iChangeType);
        if (iChangeType == DBConstants.INIT_MOVE)
        {   // Don't change the record on an init
            this.getOwner().getField(userIdFieldName).setEnableListeners(rgbEnabled);
            this.getOwner().getField(userIdFieldName).setModified(bOldModified);
        }
        return iErrorCode;
    }
1115979
public int setValue(double value, boolean bDisplayOption, int iMoveMode)
    {           // Set this field's value
        java.util.Date dateTemp = new java.util.Date((long)value);
        int iErrorCode = this.setData(dateTemp, bDisplayOption, iMoveMode);
        return iErrorCode;
    }
710423
public void doValidRecord(boolean bDisplayOption)
    {
        String strClass = this.getOwner().getField(FieldData.FIELD_CLASS).toString();
        String strType = null;
        if (strClass.indexOf("Field") != -1)
        {
            strType = strClass.substring(0, strClass.indexOf("Field"));
            if ("Short Integer Double Float Currencys Percent Real Boolean String DateTime".indexOf(strType) == -1)
                strType = null;
            if (strType != null) if ((strType.equals("DateTime")) || (strType.equals("Time")))
                strType = "Date";
            if (strType != null) if ((strType.equals("Currencys")) || (strType.equals("Real")))
                strType = "Double";
            if (strType != null) if (strType.equals("Percent"))
                strType = "Float";
        }
        if (strType != null)
            this.getOwner().getField(FieldData.DATA_CLASS).setString(strType);
        super.doValidRecord(bDisplayOption);
    }
262654
public int convertIndexToField(int index, boolean bDisplayOption, int iMoveMode)
    {
        String tempString = this.convertIndexToString(index);
        return this.setString(tempString, bDisplayOption, iMoveMode); // Move value to this field
    }
196514
public int fieldChanged(boolean bDisplayOption, int iMoveMode)
    { // Read a valid record
        if (this.getOwner().getRecord().getField(m_iMainFilesFieldSeq) instanceof DateTimeField)
        {
            DateTimeField thisField = ((DateTimeField)this.getOwner().getRecord().getField(m_iMainFilesFieldSeq));
            double dDate = 0;
            if (m_bMoveCurrentTime)
                dDate = DateField.currentTime();
            else
                dDate = DateField.todaysDate();
            int iErrorCode = thisField.setValue(dDate, bDisplayOption, iMoveMode);        // File written or updated, set the update date
            if (iMoveMode == DBConstants.INIT_MOVE)
                thisField.setModified(false);   // Don't make this record modified just because I set this field.
            return iErrorCode;
        }
        return DBConstants.NORMAL_RETURN;
    }
944449
public int fieldChanged(boolean bDisplayOption, int iMoveMode)
    {
        int iErrorCode = this.setupGridOrder();
        if (iErrorCode != DBConstants.NORMAL_RETURN)
            return iErrorCode;
        return super.fieldChanged(bDisplayOption, iMoveMode);
    }