Ayuda sobre productos BOLD:

Estructura de un documento XML en formato BOLDXML

Página:
< Volver

Formato general

La estructura de cualquier documento de importación/exportación de entidades de WorkPlanner es la siguiente:

<?xml version="1.0" encoding="ISO-8859-1"?>
<IntContainerVector>
<UpdateFields UpdateOnly="0" COLNAME0="nombre_de_campo_0_a_actualizar" .COLNAME1=" nombre_de_campo_1_a_actualizar " …/>
<CustomParams MergeCustomProperties="1" />
<NombreEntidad>
	… campos específicos de la entidad …
</NombreEntidad >
</IntContainerVector>

Paramétros de configuración

Estos parámetros determinan el tratamiento que se hará en el servidor del documento.

IntContainerVector: este nodo indica el inicio de un documento de importación de WorkPlanner y es el mismo con independencia de la entidad a tratar.

UpdateFields: este nodo es opcional y se utiliza para indicar los campos que se actualizarán en el caso de que la entidad que se esté importando ya existiera en WorkPlanner. Por ejemplo, si la profesional con código “12345” ya existe, si el proceso de importación se la encuentra sólo trataría de actualizar los campos que aquí se indicaran, ignorando el resto de ellos.

UpdateOnly: este atributo booleano es opcional. Indica si el único objetivo del documento de importación es la actualización de los datos (1-true) o bien tanto la creación como la actualización (0-false). Este último es el valor por defecto.

COLNAMEi: para el caso de una actualización indica si el valor de este campo se tendrá en cuenta o no.

UpdateAll: este atributo booleano indica si, cuando el objeto ya exista, se han de actualizar todos sus atributos según los nuevos valores del documento XML actual o no. Por defecto es “0” o false. Sólo se actualizan los que se especifiquen exactamente.

DebugLevel: regula el número de mensajes que genera una operación de importación de objetos. Si es 0 tan sólo salen los errores. Si es 1 aparecen mensajes informativos. Superior a 1 todo tipo de información adicional.

Opciones de configuración dentro del nodo CustomParams

Este nodo es opcional y se utiliza para pasar parámetros adicionales al servidor. Las propiedades específicas adicionales dependen de la entidad a sincronizar. De forma general existen las siguientes:

  • MergeCustomProperties: boolean. Cuando se sincronizan propiedades auxiliares (ver CustomProperties) indica si se respetarán las propiedades auxiliares ya existentes en las entidades a actualizar –valor 1- o bien se reemplazarán totalmente por las que se definan en el documento de importación –valor 0- (no confundir con las propiedades definidas como CustomProps que definen una estructura más rígida)
  • UseIDAsKeyField: boolean. Indica que los objetos a actualizar dentro de BOLD se identificarán en función del campo ID que se proporcione en el documento de carga.
  • UseExtCodeAsKeyField: boolean. Indica que los objetos a actualizar se identificarán en función del campo ExtCode que se proporcione en el documento de carga.
  • TotalImport: boolean. 0 Indica que la importación es incremental. Es el valor por defecto. 1 Indica que la importación es total. Una importación total lo que hace es borrar primero todo lo que hay en la base de datos que no aparece en el documento XML de entrada para esa clase de objetos (CUIDADO!).
  • MaxPercentToDelete: integer. Si no se indica este valor por defecto se toma un valor del 40%. Como TotalImport es una opción muy peligrosa, se abortará la importación si se intenta borrar una cantidad de datos superior a MaxPercentToDelete. Por defecto este valor es del 40%.
  • GlobalTransaction: boolean. 0 Indica que la importación se hará con transacciones objeto por objeto. Es el valor por defecto. 1 Indica que la importación se ejecuta con una transacción global.

Nota: en algunas entidades es posible identificar el objeto o entidad a actualizar utilizando otros atributos diferentes de los anteriores (ID, Name o ExtCode), dependiendo de la versión de la aplicación. Por ejemplo, en el caso de la entidad ContractWorker, es posible identificar el contrato a actualizar utilizando los campos código de empleado/a y una fecha cualquiera (Worker y ContractStart): el módulo de importación tratará de localizar en el sistema un contrato vigente de esa profesional durante la fecha indicada y ese será el que se actualizará según lo nuevos datos del documento de importación. Para más detalles ver la sección correspondiente.

Entidad a importar: nodo NombreEntidad

Cada entidad a importar debe encerrar su definición dentro de este nodo. En un mismo documento de importación todos los nodos NombreEntidad deben corresponder a la misma entidad. Es decir: no se admitiría que en un mismo documento coexistieran, por ejemplo, una entidad horario (Schedule) junto a un/a empleado/a (Worker).

Para ver el detalle del formato de cada tipo de objetos XML disponible ver Categoría:Esquema XML.

Otros parámetros menos frecuentes

  • NoExactIdentify: boolean. Esta opción sirve solo para la importación de las clasificaciones ( WP_Clasificaciones) . Si este modo está activo, la importación intentará hacer un matching lo más fiel posible entre el fichero XML que se importa y lo que ya existe en la base de datos. Este modo sirve para pasar de un sistema de clasificación no fechado a un sistema de clasificación fechado. Por defecto vale 0.
  • SearchValidPath: boolean. Cuando en el documento de importación no llega información suficiente para identificar el path completo donde va colgado un objeto, se ha definido este modo. En este caso el programa de importación identifica los nodos a partir del nombre y las fechas. Por defecto vale 0.
  • TotalImporByNeed: boolean. Si está activo indica que se importarán en un modo especial las necesidades. Este modo borrará todas las necesidades cuyo código externo aparezca en el documento de entrada excepto aquellas que estén en el documento. Es decir:

Llega un documento con 3 needs.

Need A1. Código externo A
Need A2. Código externo A
Need A3. Código externo A

En la BD existen las siguientes Needs:

Need A1. Código externo A
Need A2. Código externo A
Need A3. Código externo A
Need A4. Código externo A
Need A5. Código externo A

Need B1. Código externo B
Need B2. Código externo B
Need C4. Código externo C

Lo que se ha de hacer es, de aquellos códigos externos que vienen en el documento, borramos todas menos las que están en el documento. En el documento se habla de needs con código externo A. Por tanto, borramos A4, A5 (son las únicas con código externo mencionado en el documento, y que a la vez, no vienen en el mismo) Las necesidades B1, B2 y C4 se dejan tal cual pues sus códigos externos no figuran en el documento.

Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?
Tags:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido