docs: public Object doMoveOne(int iRelPosition) throws DBException, RemoteException
      {
          try   {
              synchronized (this.getTask())
              {
                  FieldList record = this.getMainRecord().move(iRelPosition);
                  int iRecordStatus = DBConstants.RECORD_NORMAL;
                  if (record == null)
                  {
                      if (iRelPosition >= 0)
                          iRecordStatus = DBConstants.RECORD_AT_EOF;
                      else
                          iRecordStatus = DBConstants.RECORD_AT_BOF;
                  }
                  if (iRecordStatus == DBConstants.NORMAL_RETURN)
                  {
                      Record recordBase = this.getMainRecord();
                      int iFieldTypes = this.getFieldTypes(recordBase);
                      BaseBuffer buffer = new VectorBuffer(null, iFieldTypes);
                      if (!(recordBase instanceof QueryRecord))
                      {
                          Record recordTarget = recordBase.getTable().getCurrentTable().getRecord();
                          if (recordTarget != recordBase)
                              if (!recordTarget.getTableNames(false).equalsIgnoreCase(recordBase.getTableNames(false)))
                              {
                                  buffer.addHeader(DBParams.RECORD);  // Since header count is not passed this specifies multitable
                                  buffer.addHeader(recordTarget.getTableNames(false));
                              }
                          recordBase = recordTarget;
                      }
                      buffer.fieldsToBuffer(recordBase, iFieldTypes);
                      return buffer.getPhysicalData();
                  }
                  else
                  {
                      return new Integer(iRecordStatus);
                  }
              }
          } catch (DBException ex)    {
              throw ex;
          } catch (Exception ex)  {
              ex.printStackTrace();
              throw new DBException(ex.getMessage());
          }
      }