Compartir a través de


Implementación de un método Updater

Última modificación: martes, 20 de abril de 2010

Hace referencia a: SharePoint Server 2010

En este artículo
Descripción
Sintaxis
Comentarios
Ejemplos

Descripción

Una instancia de método Updater permite actualizar una instancia de entidad existente en un sistema externo. Por ejemplo, con un objeto de negocios denominado Customer, este estereotipo puede usarse para actualizar la dirección de un cliente "Juan" en el sistema externo.

Si no se define un método Updater, los elementos no se pueden actualizar mediante el uso de las características de Servicios de conectividad empresarial para la entidad. Por ejemplo, no puede hacer clic en el botón Editar elemento en la cinta de opciones de una lista externa basada en ese tipo de contenido externo para editar un elemento de la lista.

BDC realiza una operación de lectura antes de la actualización para detectar cualquier conflicto de datos.

En un método Updater, el conjunto de campos que son necesarios para actualizar el elemento se conoce como vista Updater.

Sintaxis

A continuación aparece la firma del método típica de un método Updater:

void UpdateEntity(EntityDataType fields)
void UpdateEntity(EntityDataType fields, EntityDataType previousValuesOfFields)

Comentarios

Para calificar como un método Updater:

  • El método Updater debe tomar como entrada el identificador (o combinación de identificadores) del elemento.

  • El método Updater debe tomar todos los campos de lectura y escritura de un método SpecificFinder.

  • La vista Updater debe ser igual a la vista SpecificFinder o debe ser un subconjunto de ésta.

Nota

Se recomienda que el método de actualización sea transaccional para evitar la posible pérdida de datos.

Si hay varios buscadores específicos, la vista Updater debe ser igual a, por lo menos, una vista SpecificFinder o ser un subconjunto de ésta.

Como sucede con la vista Creator, la vista Updater debe ser igual a la vista de uno de los buscadores específicos o debe ser un subconjunto de ésta. Debe contener todos los campos del buscador específico que no son de solo lectura. Esto se debe a que los formularios generados automáticamente de Servicios de conectividad empresarial dependen de la vista SpecificFinder. De lo contrario, los campos adicionales de la vista Updater no se podrán actualizar. Al igual que sucede con la operación de creación, Servicios de conectividad empresarial busca esta dependencia y deshabilita la operación de actualización en la lista externa. Los identificadores (o la combinación de identificadores) actualizables también se pueden actualizar mediante este estereotipo, pero no son compatibles con los formularios generados automáticamente de Servicios de conectividad empresarial.

En la tabla 1 se resumen las dependencias de las vistas Creator y Update y el estado de las operaciones de creación y actualización.

Tabla 1. Dependencias de las vistas Creator y Updater y estado de las operaciones de creación y actualización

Nº escenario

Campos en la vista SpecificFinder

Campos en la vista Creator

Campos en la vista Updater

Operaciones permitidas

Notas

1.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

D

E

F

A

C

D

F

Creación: no se permite

Actualización: no se permite

Creación sin conexión: no se permite

Actualización sin conexión: no se permite

El campo F no se puede encontrar en el buscador específico. Esto hace que BCS deshabilite las operaciones de creación y actualización.

2.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

D

E

A

C

D

Creación: se permite

Actualización: se permite

Creación sin conexión: se permite

Actualización sin conexión: se permite

El usuario puede especificar los valores de los campos B y E durante la creación, pero no puede actualizarlos más adelante.

3.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

A

C

D

Creación: se permite

Actualización: se permite

Creación sin conexión: se permite

Actualización sin conexión: se permite

El usuario puede especificar el valor del campo B durante la creación, pero no puede actualizarlo más adelante.

El sistema externo asigna el valor del campo E y el usuario no puede actualizarlo más adelante.

Para la creación sin conexión, la operación de actualización se llama inmediatamente después de la creación.

4.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

A

C

Creación: se permite únicamente en formularios EL predeterminados

Actualización: no se permite

Creación sin conexión: no se permite

Actualización sin conexión: no se permite

El campo D no se puede actualizar. Esta inconsistencia hace que BCS deshabilite la operación de actualización.

La creación sin conexión está deshabilitada debido a que no hay una operación de actualización válida.

5.     

A

B (solo lectura)

C

D

E (solo lectura)

A

C

D

Sin operación de actualización definida

Creación: se permite

Actualización: no se permite

Creación sin conexión: se permite

Actualización sin conexión: no se permite

El sistema externo asigna los valores de los campos B y E.

6.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

Sin operación de actualización definida

Creación: se permite únicamente en formularios EL predeterminados

Actualización: no se permite

Creación sin conexión: no se permite

Actualización sin conexión: no se permite

El valor del campo D no se puede establecer durante la creación y no hay una operación de actualización válida definida para establecerlo más adelante. Esto hace que BCS deshabilite la operación de creación sin conexión.

Nota

Asegúrese de controlar correctamente los valores nulos. Valide si los campos son necesarios y no asigne null a los campos que no sean necesarios.

Nota de precauciónPrecaución

Los nombres de los parámetros deben coincidir con los que se definieron en el sistema externo. Los nombres de parámetros distinguen mayúsculas de minúsculas. Si estos nombres no son idénticos en todos los métodos, Microsoft SharePoint Designer 2010 los interpreta como campos distintos.

Es importante controlar las excepciones correctamente. El caso Updater tiene algunas excepciones interesantes, las cuales se muestran en la tabla 2.

Tabla 2. Excepciones

Nombre de la excepción

Use esta excepción cuando...

AccessDeniedException

El usuario no puede realizar esta operación en el sistema externo.

ConflictDetectedException

Se usa para la resolución de conflictos. El elemento se actualizó simultáneamente y fue cambiado por otro usuario.

LobBusinessErrorException

Garantiza que el mensaje de error se muestre al usuario como está (desde el sistema externo).

ObjectDeletedException

Use esta excepción si se sabe que el elemento fue eliminado.

ObjectNotFoundException

No se encuentra el elemento.

RuntimeException

Si se produce un error en la actualización, asegúrese de provocar esta excepción para alertar a los usuarios y usar las características de control de errores de Microsoft Outlook 2010 y Microsoft SharePoint Workspace 2010.

Ejemplos

Fragmento de código: implementación de un Updater

Vea también

Conceptos

Fragmento XML: Modelado de un método Updater

Fragmento de código: Ejecutar una instancia del método actualizador de un tipo de contenido externo