  dbms_output.put_line(' map DesignElementAccessions to existing genes: ' || TO_CHAR(sysdate, 'HH24:MI:SS'));
 
  --add accessions for non-existing genes
- Insert into tmp_DesignElementMap(designelementaccession,GeneID,GeneIdentifier)
+ Insert /*+ _parallel(tmp_DesignElementMap, 12) append */ into tmp_DesignElementMap(designelementaccession,GeneID,GeneIdentifier)
  select Accession, null, EntryValue
  from (
  select t.Accession, EntryValue, RowNum r 

  set e.Description = A2_EXPERIMENTSET.description
  ,e.Performer = A2_EXPERIMENTSET.performer
  ,e.Lab = A2_EXPERIMENTSET.lab
  where e.accession = A2_EXPERIMENTSET.Accession;
  
  dbms_output.put_line('updated ' || sql%rowcount || ' rows' );
  
  if ( sql%rowcount = 0 )
  then
     insert into a2_Experiment(Accession,Description,Performer,Lab)
     values (A2_EXPERIMENTSET.Accession,A2_EXPERIMENTSET.Description,A2_EXPERIMENTSET.Performer,A2_EXPERIMENTSET.Lab);
     
     dbms_output.put_line('inserted');
  else

 dbms_output.put_line(' update propertyvalues: ' || TO_CHAR(sysdate, 'HH24:MI:SS'));
 
 --map DesignElementAccessions to existing genes
 Insert /*+ _parallel(tmp_DesignElementMap, 12) append */ into tmp_DesignElementMap(DesignElementAccession,GeneID,GeneIdentifier)
 select t.Accession, min(GeneID), null
 from table(CAST(LowerCaseDesignElements as DesignElementTable)) t
 join vwGeneIDs IDs on ids.name = t.EntryName and ids.value = t.EntryValue
