code: public int doRecordChange(FieldInfo field, int iChangeType, boolean bDisplayOption)
      { // Read a valid record
          int iErrorCode = super.doRecordChange(field, iChangeType, bDisplayOption);      // Initialize the record
          if (iErrorCode != DBConstants.NORMAL_RETURN)
              return iErrorCode;
          if (((iChangeType == DBConstants.SELECT_TYPE) && (m_bMoveOnSelect))
              || ((iChangeType == DBConstants.AFTER_ADD_TYPE) && (m_bMoveOnAdd))
              || ((iChangeType == DBConstants.AFTER_UPDATE_TYPE) && (m_bMoveOnUpdate)))
                  this.moveTheData(bDisplayOption, DBConstants.SCREEN_MOVE);  // Do trigger a record change.
          return iErrorCode;
      }
docs: Called when a change is the record status is about to happen/has happened.
  If this file is selected (opened) move the field.
  @param field If this file change is due to a field, this is the field.
  @param iChangeType The type of change that occurred.
  @param bDisplayOption If true, display any changes.
  @return an error code.