docs: public int moveControlInput(String strSuffix)
          throws DBException
      {
          int iDefaultParamsFound = DBConstants.NO_PARAMS_FOUND;
          if ((((GridScreen)this.getScreenField()).getEditing())
              && (this.getTask() instanceof ServletTask))
          {
              // First, go through all the params and find out which rows have been submitted.
              Record record = this.getMainRecord();
              Record recCurrent = null;
              ServletTask task = (ServletTask)this.getTask();
              Map<String,Object> ht = task.getRequestProperties(task.getServletRequest(), false);
              for (String strParamName : ht.keySet())
              {
                  try   {
                      strParamName = URLDecoder.decode(strParamName, DBConstants.URL_ENCODING);
                  } catch (java.io.UnsupportedEncodingException ex) {
                      ex.printStackTrace();
                  }
                  int iAtPosition = strParamName.indexOf('@');
                  if (iAtPosition != -1)
                  {
  //                    String strFieldName = strParamName.substring(0, iAtPosition);
                      String strObjectID = strParamName.substring(iAtPosition + 1);
                      if (ht.get(strObjectID) == null)
                          ht.put(strObjectID, strObjectID);   // Add this unique row
                  }
              }
              // Now go through each record; read the record, update the fields, and update the record (if changed).
              for (String strObjectID : ht.keySet())
              {
                  int iRawDBType = (record.getDatabaseType() & DBConstants.TABLE_TYPE_MASK);
                  if ((iRawDBType == DBConstants.LOCAL)
                          || (iRawDBType == DBConstants.REMOTE)
                              || (iRawDBType == DBConstants.TABLE))
                      recCurrent = record.setHandle(strObjectID, DBConstants.OBJECT_ID_HANDLE);
                  else
                  {
                      recCurrent = record.setHandle(strObjectID, DBConstants.BOOKMARK_HANDLE);    // Non-persistent
                  }
                  if (recCurrent != null)
                      if (recCurrent.getEditMode() == DBConstants.EDIT_CURRENT)
                  {
                      recCurrent.edit();      // HACK - Change to lock on mod
                      iDefaultParamsFound = super.moveControlInput('@' + strObjectID);
                      if (recCurrent.isModified())
                      {
                          recCurrent.set();
                      }
                  }
              }
          }
          int iParamsFound = super.moveControlInput(strSuffix);
          if (iParamsFound == DBConstants.NORMAL_RETURN)
              iDefaultParamsFound = DBConstants.NORMAL_RETURN;
          return iDefaultParamsFound;
      }