24 March 2014

Creación de registros Maestro-Detalle

Crear registros maestro detalle usando los BC de ADF es bastante sencillo, en el modelo de la imagen se ha registrado un VO llamado RegionsView y otro RegionsCountriesView (maestro y detalle), ambos basados en Entity Object y enlazados por un ViewLink.


El siguiente snippet crea primero el registro en la tabla Region y luego en la tabla Country, pero en esta última no se informa el id de la región a la que pertenece, esto se debe a que hay un enlace entre estos dos objetos que settea de forma transparente el id de la region (pero antes que el enlace funcione con el registro maestro recien creado, hay que settearlo como fila actual).

ViewObjectImpl voRegion = this.getRegionsView();
RegionsViewRowImpl newRegion = (RegionsViewRowImpl)voRegion.createRow();
newRegion.setRegionId(regionId);
newRegion.setRegionName(regionName);
voRegion.insertRow(newRegion);
voRegion.setCurrentRow(newRegion);

ViewObjectImpl voCountry = this.getRegionsCountriesView();
CountriesViewRowImpl newCountry = (CountriesViewRowImpl)voCountry.createRow();
newCountry.setCountryId(countryId);
newCountry.setCountryName(countryName);
voCountry.insertRow(newCountry);

this.getDBTransaction().commit();


- FIN -

No comments: