Hola de nuevo,<br><br>He cambiado lo que has comentado Nacho, pero me da un error. Adjunto el log, parece que en el shape de puntos no puede guardar los cambios.<br><br>Código:<br><br>    View vista = (View) PluginServices.getMDIManager().getActiveWindow();<br>
       FLayer proPoints = vista.getModel().getMapContext().getLayers().getLayer(&quot;PROFILEPOINTS&quot;);<br>        <br>        <br>        <br>        try {<br>            <br>                if (proPoints instanceof AlphanumericData) {<br>
                    AlphanumericData co = (AlphanumericData) proPoints;<br><br>                    SelectableDataSource dataSource;<br>                    dataSource = co.getRecordset();<br><br>                    SelectableDataSource sds = new SelectableDataSource(dataSource); <br>
                    EditableAdapter auxea = new EditableAdapter(); <br>                    auxea.setOriginalDataSource(sds); <br>                    <br>                    ProjectExtension ext1 = (ProjectExtension) PluginServices.getExtension(ProjectExtension.class);<br>
<br>                    ProjectTable projectTable = ext1.getProject().getTable(co);<br>                    <br>                      //PropertyChangeListener listener = null;<br>                     // projectTable.addPropertyChangeListener(listener);<br>
                      //Project project = null;<br>                      //projectTable.setProject(project, 0);<br>                      //projectTable.afterAdd();<br>                    <br>                    <br>                    EditableAdapter ea1= new EditableAdapter(); <br>
                     <br>                    ReadableVectorial rv=((FLyrVect)proPoints).getSource();<br>            //------------------------------------------------------<br>                    <br>                    <br>
                    IEditableSource ies = projectTable.getModelo ();<br>                    try {<br>                        auxea.startEdition(EditionEvent.START_EDITION);<br>                    } catch (StartWriterVisitorException e) {<br>
                        // TODO Auto-generated catch block<br>                        e.printStackTrace();<br>                    }<br>                    <br>                    <br>                    <br>                      <br>
                      if (auxea instanceof IWriteable) <br>                     { <br>                         IWriteable w = (IWriteable) auxea; <br>                         IWriter writer = w.getWriter(); <br>                         <br>
                         ITableDefinition tableDef = ies.getTableDefinition();<br>                         <br>                             tableDef=new TableDefinition(); <br>                             FieldDescription[] fieldDescriptions=new  FieldDescription[1]; <br>
                             fieldDescriptions[0].setFieldName(&quot;name1&quot;); <br>                             fieldDescriptions[0].setFieldType(Types.VARCHAR);<br>                             fieldDescriptions[0].setFieldLength(20);<br>
<br>                             tableDef.getFieldsDesc();<br>                             //tableDef.setFieldsDesc(fieldDescriptions); <br>                             try {<br>                                writer.initialize(tableDef);<br>
                            } catch (InitializeWriterException e) {<br>                                // TODO Auto-generated catch block<br>                                e.printStackTrace();<br>                            } <br>
<br>                              <br>                             try {<br>                                auxea.stopEdition(writer,EditionEvent.ALPHANUMERIC);<br>                            } catch (StopWriterVisitorException e) {<br>
                                // TODO Auto-generated catch block<br>                                e.printStackTrace();<br>                            } <br>                       <br>                                                     <br>
                   <br>                }<br>    <br>