code: public int doEdit() throws DBException
      {
          try   {
              int iErrorCode = m_pTable.edit(this);
              if (iErrorCode == DBConstants.NORMAL_RETURN)
                  if (this.lockOnDBTrxType(null, DBConstants.LOCK_TYPE, true))
                      iErrorCode = this.lockCurrentRecord();		// Lock the record using the lock manager
              return iErrorCode;
          } catch (DBException ex)    {
              throw DatabaseException.toDatabaseException(ex);
          }
      }
docs: Lock the current record.
  This method responds differently depending on what open mode the record is in:
  OPEN_DONT_LOCK - A physical lock is not done. This is usually where deadlocks are possible
  (such as screens) and where transactions are in use (and locks are not needed).
  OPEN_LOCK_ON_EDIT - Holds a lock until an update or close. (Update crucial data, or hold records for processing)
  Returns false is someone already has a lock on this record.
  OPEN_WAIT_FOR_LOCK - Don't return from edit until you get a lock. (ie., Add to the total).
  Returns false if someone has a hard lock or time runs out.
  @return true if successful, false is lock failed.
  @exception DBException FILE_NOT_OPEN
  @exception DBException INVALID_RECORD - Record not current.