code: public Object add(Object data, int iOpenMode) throws DBException, RemoteException
      {
          Object bookmarkLast = null;
          Record record = this.getMainRecord();
          int iOldOpenMode = record.getOpenMode();
          try   {
              Utility.getLogger().info("EJB Add");
              synchronized (this.getTask())
              {
                  record.setOpenMode((iOldOpenMode & ~DBConstants.LOCK_TYPE_MASK) | (iOpenMode & DBConstants.LOCK_TYPE_MASK));  // Use client's lock data
                  record.addNew();
                  Record recordBase = record.getTable().getCurrentTable().getRecord();
                  int iFieldTypes = this.getFieldTypes(recordBase);
  
                  int iErrorCode = this.moveBufferToFields(data, iFieldTypes, recordBase);  // Screen move... need to validate!
                  if (iErrorCode != DBConstants.NORMAL_RETURN)
                  {
                      throw new DatabaseException(iErrorCode);
                  }
                  if (DBConstants.TRUE.equals(record.getTable().getProperty(DBParams.SUPRESSREMOTEDBMESSAGES)))
                      record.setSupressRemoteMessages(true);
                  record.add();
                  bookmarkLast = record.getLastModified(DBConstants.BOOKMARK_HANDLE);
              }
          } catch (DBException ex)    {
              throw ex;
          } catch (Exception ex)  {
              ex.printStackTrace();
              throw new DBException(ex.getMessage());
          } finally   {
              record.setSupressRemoteMessages(false);
              this.getMainRecord().setOpenMode(iOldOpenMode);
          }
          return bookmarkLast;
      }
docs: Add add this data to the file.
  @param data A vector object containing the raw data for the record.
  @exception DBException File exception.