docs: public void zeroKeyFields(int iAreaDesc)
      {   // Set up the initial key
          boolean bForceUniqueKey = true;
          int iKeyFieldCount = this.getKeyFields(bForceUniqueKey, false);
          for (int iKeyFieldSeq = DBConstants.MAIN_KEY_FIELD; iKeyFieldSeq < iKeyFieldCount; iKeyFieldSeq++)
          {
              KeyField keyField = this.getKeyField(iKeyFieldSeq, bForceUniqueKey);
              BaseField thisField = keyField.getField(DBConstants.FILE_KEY_AREA);
              int limitDesc = iAreaDesc;
              if (keyField.getKeyOrder() == DBConstants.DESCENDING)
              {   // If Descending, set to opposite
                  if (iAreaDesc == DBConstants.START_SELECT_KEY)
                      limitDesc = DBConstants.END_SELECT_KEY;
                  else
                      limitDesc = DBConstants.START_SELECT_KEY;
              }
              thisField.setToLimit(limitDesc);    // Set this field to largest/smallest value possible
              thisField.setModified(false);   // So you can sense a change
              // Match the param fields to the start/end value.
              keyField.getField(iAreaDesc).moveFieldToThis(thisField, false, DBConstants.INIT_MOVE);
              keyField.getField(iAreaDesc).setModified(false);
          }
      }