Saltar al contenido

Detalles de Conexión de SAP Business One

Introducción

Versión del conector

Esta documentación se basa en la versión 21.0.8257 del conector.

Empezando

Compatibilidad con la versión de SAP Business One

El conector permite el acceso basado en estándares a las ediciones 9.1, 9.2, 9.3 y 10.0 de SAP Business One On-Premises y Cloud, mostrando las entidades disponibles en SAP Business One Service Layer consultando la API de OData subyacente.

Establecer una Conexión

Conexión a las APIs de SAP Business One

Para conectarse a los datos, especifique lo siguiente:

  • URL: Establézcalo en su URL raíz de la capa de servicio de SAP Business One.
  • CompanyDB: Establézcalo en la base de datos de su empresa SAP Business One.

Autenticación a las APIs de SAP Business One

Para autenticarse en SAP Business One, debe proporcionar el User y Password propiedades de conexión.

Notas Importantes

Procedimientos Almacenados

  • Las funciones de procedimientos almacenados descritas en esta documentación no se admiten actualmente.
  • Debido a que los procedimientos almacenados no se admiten actualmente, cualquier característica que dependa de los procedimientos almacenados tampoco se admite actualmente.

Archivos de Configuración y Sus Rutas

  • Todas las referencias a la adición de archivos de configuración y sus rutas se refieren a archivos y ubicaciones en Harmony Agente donde está instalado el conector. Estas rutas deben ajustarse según corresponda según el agente y el sistema operativo. Si se utilizan varios agentes en un grupo de agentes, se requerirán archivos idénticos en cada agente.

Características Avanzadas

Esta sección detalla una selección de funciones avanzadas del conector SAP Business One.

Vistas definidas por el usuario

El conector le permite definir tablas virtuales, llamadas vistas definidas por el usuario, cuyo contenido se decide mediante una consultar preconfigurada. Estas vistas son útiles cuando no puede controlar directamente las consultas que se envían a los controladores. Consulte Vistas definidas por el usuario para obtener una descripción general de la creación y configuración de vistas personalizadas.

Configuración SSL

Usar Configuración SSL para ajustar cómo el conector maneja las negociaciones de certificados TLS/SSL. Puede elegir entre varios formatos de certificado; ver el SSLServerCert propiedad en "Opciones de cadena de conexión" para obtener más información.

Apoderado

Para configurar el conector mediante Configuración de proxy de Agente Privado, Selecciona el Use Proxy Settings casilla de verificación en la pantalla de configuración de la conexión.

Vistas Definidas por el Usuario

El Conector Jitterbit para SAP Business One le permite definir una tabla virtual cuyos contenidos se deciden mediante una consultar preconfigurada. Estas se denominan Vistas definidas por el usuario, que son útiles en situaciones en las que no puede controlar directamente la consultar que se envía al controlador, por ejemplo, cuando se utiliza el controlador de Jitterbit. Las vistas definidas por el usuario se pueden utilizar para definir predicados que siempre se aplican. Si especifica predicados adicionales en la consultar a la vista, se combinan con la consultar ya definida como parte de la vista.

Hay dos formas de crear vistas definidas por el usuario:

  • Cree un archivo de configuración con formato JSON que defina las vistas que desea.
  • Declaraciones DDL.

Definición de Vistas Usando un Archivo de Configuración

Las vistas definidas por el usuario se definen en un archivo de configuración con formato JSON llamado UserDefinedViews.json. El conector detecta automáticamente las vistas especificadas en este archivo.

También puede tener múltiples definiciones de vista y controlarlas usando UserDefinedViews propiedad de conexión. Cuando utiliza esta propiedad, el conector solo ve las vistas especificadas.

Este archivo de configuración de vista definida por el usuario tiene el siguiente formato:

  • Cada elemento raíz define el nombre de una vista.
  • Cada elemento raíz contiene un elemento hijo, llamado query, que contiene la consultar SQL personalizada para la vista.

Por ejemplo:

{
    "MyView": {
        "query": "SELECT * FROM Orders WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Utilizar el UserDefinedViews propiedad de conexión para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Esquema para Vistas Definidas por el Usuario

Las vistas definidas por el usuario se exponen en UserViews esquema por defecto. Esto se hace para evitar que el nombre de la vista entre en conflicto con una entidad real en el modelo de datos. Puede cambiar el nombre del esquema utilizado para UserViews configurando UserViewsSchemaName propiedad.

Trabajar con Vistas Definidas por el Usuario

Por ejemplo, una instrucción SQL con una vista definida por el usuario llamada UserViews.RCustomers solo enumera clientes en Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Un ejemplo de una consultar al controlador:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Dando como resultado la consultar efectiva a la fuente:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Ese es un ejemplo muy simple de una consultar a una vista definida por el usuario que es efectivamente una combinación de la consultar de vista y la definición de vista. Es posible componer estas consultas en patrones mucho más complejos. Todas las operaciones de SQL están permitidas en ambas consultas y se combinan cuando corresponde.

Configuración SSL

Personalización de la Configuración SSL

De forma predeterminada, el conector intenta negociar SSL/TLS comparando el certificado del servidor con el almacén de certificados de confianza del sistema.

Para especificar otro certificado, consulte SSLServerCert propiedad de los formatos disponibles para hacerlo.

Modelo de Datos

Jitterbit Connector for SAP Business One se conecta a SAP Business One Service Layer, un servicio OData, para modelar entidades en tablas y vistas relacionales. Las definiciones de las tablas se obtienen dinámicamente de la capa de servicio de SAP Business One. Cualquier cambio en los metadatos, como columnas agregadas o eliminadas o cambios en el tipo de datos, se puede cargar volviendo a conectarse.

Mesas

El conector modela los conjuntos de entidades de escritura y los singletons descritos en el documento de metadatos del servicio como Tablas bidireccionales.

Puntos de vista

Solo se puede acceder a algunas entidades de OData a través de Propiedades de navegación. De forma predeterminada, el conector modela las propiedades de navegación como vistas independientes. Puede deshabilitar este comportamiento con NavigationPropertiesAsViews. Vea Vistas para obtener más información sobre cómo consultar las propiedades de navegación.

Mesas

El conector expone tablas para cada conjunto de entidades y singleton definidos en la URL raíz de la capa de servicio de SAP Business One. Las entidades de estas tablas pueden insertarse, actualizarse o eliminarse mediante sentencias de inserción, actualización o eliminación de SQL estándar.

Ejecución de Inserciones Profundas con SQL

El conector admite inserciones profundas de OData, en las que simultáneamente crea una entidad base y la enlace a entidades relacionadas, especificando propiedades de navegación. Para especificar Propiedades de navegación para una entidad, crea una tabla temporal para la propiedad de navegación y luego hace referencia a la tabla temporal en la inserción a la tabla base. Haga referencia a la tabla temporal en la columna de propiedad de navegación adecuada en la tabla base. Cada columna de propiedad de navegación tiene el prefijo "Enlazado".

Tenga en cuenta que debe definir las tablas temporales e insertarlas en la entidad base dentro de la misma conexión.

Ejemplo: Inserciones Profundas en Northwind

Por ejemplo, considere la tabla Pedidos en el servicio de prueba Northwind odata.org. Para crear un nuevo Pedido, especifique los Productos solicitados, el Cliente, el Empleado y el Remitente. Para hacerlo, debe especificar las siguientes propiedades de navegación.

Creación de Tablas Temporales

Inserte las entidades relacionadas en tablas temporales que correspondan a cada propiedad de navegación. Puede especificar la clave principal de una entidad existente o puede insertar una nueva entidad.

  • Customer: La siguiente declaración crea un nuevo Cliente:

    INSERT INTO Customers#TEMP (CustomerID, CompanyName, ContactName, ContactTitle, Address, City, PostalCode, Country, Phone, Fax)
    VALUES ('VINET', 'Vins et alcools Chevalier', 'Paul Henriot', 'Accounting Manager', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '26.47.15.10', '26.47.15.11')
    
  • Order Details: Las siguientes declaraciones agregan dos Productos al Pedido:

    INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (72, 34.80, 5, 0)
    
    INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (42, 9.80, 10, 0)
    
  • Employee: La siguiente declaración especifica el Empleado existente:

    INSERT INTO Employees#TEMP (EmployeeID)
    VALUES (5)
    
  • Shipper: La siguiente declaración especifica el Remitente existente:

    INSERT INTO Shippers#TEMP (ShipperID) VALUES (3) 
    

Jitterbit Connector para SAP Business One asumirá que el Remitente y el Empleado ya existen y solo se enlace a las referencias existentes, ya que solo se especificaron las claves principales para cualquiera de ellos. Cuando se define algo más que la clave principal, como en los ejemplos de Customer y Order_Details, Jitterbit Connector for SAP Business One intentará crear nuevas entradas, lo que activará la inserción profunda.

Insertar la Entidad

En la declaración INSERT para la entidad base, haga referencia a las tablas temporales en las columnas LinkedOrder_Details, LinkedCustomer, LinkedEmployee y LinkedShipper:

INSERT INTO Orders (CustomerID, EmployeeID, ShipVia, ShipName, ShipAddress, ShipCity, ShipPostalCode, ShipCountry, OrderDate, LinkedOrder_Details, LinkedCustomer, LinkedEmployee, LinkedShipper) VALUES ('VINET', 5, 3, 'Paul Henriot', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '07/04/1996', 'Order_Details#TEMP', 'Customers#TEMP', 'Employees#TEMP', 'Shippers#TEMP')
Ejemplo de Código

A continuación se muestra el código completo para crear la nueva Orden:

Connection conn = DriverManager.getConnection("jdbc:sapbusinessone:Url=http://localhost:50000/b1s/v1;User=username;Password=password;CompanyDB=dbname;");
Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO Customers#TEMP (CustomerID, CompanyName, ContactName, ContactTitle, Address, City, PostalCode, Country, Phone, Fax) VALUES ('VINET', 'Vins et alcools Chevalier', 'Paul Henriot', 'Accounting Manager', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '26.47.15.10', '26.47.15.11')");

stat.executeUpdate("INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (72, 34.80, 5, 0)");

stat.executeUpdate("INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (42, 9.80, 10, 0)");

stat.executeUpdate("INSERT INTO Employees#TEMP (EmployeeID) VALUES (5)");

stat.executeUpdate("INSERT INTO Shippers#TEMP (ShipperID) VALUES (3)");

stat.executeUpdate("INSERT INTO Orders (CustomerID, EmployeeID, ShipVia, ShipName, ShipAddress, ShipCity, ShipPostalCode, ShipCountry, OrderDate, LinkedOrder_Details, LinkedCustomer, LinkedEmployee, LinkedShipper) VALUES ('VINET', 5, 3, 'Paul Henriot', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '07/04/1996', 'Order_Details#TEMP', 'Customers#TEMP', 'Employees#TEMP', 'Shippers#TEMP')");

stat.close();

Puntos de Vista

Modelado de Propiedades de Navegación

De forma predeterminada, el conector modela Propiedades de navegación como vistas separadas. Las vistas se nombran con el formato ParentTable_NavigationProperty. Puede deshabilitar este comportamiento con NavigationPropertiesAsViews.

Consulta de Propiedades de Navegación

Para ver un ejemplo de cómo trabajar con una propiedad de navegación como una vista, considere BusinessPartners. El conjunto de entidades BusinessPartners tiene una propiedad de navegación Pedidos. Jitterbit Connector para SAP Business One mostrará una vista llamada BusinessPartners_Orders para este servicio. La recuperación de datos de BusinessPartners_Orders mostrará todos los pedidos asociados con un BusinessPartner determinado. La vista BusinessPartners_Orders tiene una clave principal compuesta por la clave principal de la entidad principal y la clave principal de la entidad relacionada.

Actualmente, el soporte para las propiedades de navegación está limitado en SAP Business One Service Layer. En el momento de escribir este artículo, solo se admite en ODataVersion 3.0. Ver NavigationPropertiesAsViews para alternar el comportamiento de esta funcionalidad.

Propiedades de Navegación

En OData, una propiedad de navegación es una propiedad en una entidad que en sí misma es una sola entidad o una lista de entidades.

Una propiedad de navegación de una sola entidad significa una relación uno a uno; por ejemplo, un servicio OData puede permitir que un Producto tenga solo una Categoría. En este servicio, Categoría puede ser una propiedad de navegación en Productos.

Una propiedad de navegación de conjunto de entidades significa una relación de uno a muchos; por ejemplo, muchos Productos pueden pertenecer a la misma Categoría. En este servicio, los Productos pueden ser una propiedad de navegación en Categorías.

Trabajar con Propiedades de Navegación de Forma Relacional

Propiedades de navegación en entidades relacionadas con enlace de OData. De manera similar, en una base de datos relacional, una clave externa sirve para enlace tablas. Por ejemplo, un registro de producto puede tener una columna de Id. de categoría, que identifica de forma única a qué categoría pertenece el producto. Sin embargo, no existe ningún requisito en OData de que una entidad deba contener una referencia de clave externa a una entidad relacionada. Esto significa que a veces obtendrá propiedades de navegación sin tener una referencia de clave externa a esa entidad en el padre o de vuelta al padre desde la entidad relacionada. En los casos sin una referencia de clave externa, la existencia de la propiedad de navegación es lo único que se puede usar para identificar una relación entre las dos entidades.

Seleccionar

NavigationPropertiesAsViews es útil para acceder a datos en servicios OData que carecen de referencias de clave externa. Asimismo, se puede utilizar para recuperar entidades relacionadas que no existen por sí mismas, como elementos de línea en una factura. Vea Vistas para obtener más información sobre cómo consultar las propiedades de navegación.

Insertar

El conector admite inserciones profundas de OData. Vea Tablas para obtener más información sobre cómo especificar las propiedades de navegación al crear una entidad.

Tablas del Sistema

Puede consultar las tablas del sistema que se describen en esta sección para acceder a la información del esquema, la información sobre la funcionalidad del origen de datos y las estadísticas de operación lote.

Tablas de Esquema

Las siguientes tablas devuelven metadatos de la base de datos para SAP Business One:

Tablas de Fuentes de Datos

Las siguientes tablas devuelven información sobre cómo conectarse y consultar la fuente de datos:

  • sys_connection_props: Devuelve información sobre las propiedades de conexión disponibles.
  • sys_sqlinfo: describe las consultas SELECT que el conector puede descargar al origen de datos.

Tablas de Información de Consulta

La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos:

  • identidad_sys: devuelve información sobre operaciones lote o actualizaciones individuales.

Sys_catalogs

Enumera las bases de datos disponibles.

La siguiente consultar recupera todas las bases de datos determinadas por la cadena de conexión:

SELECT * FROM sys_catalogs
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.

Sys_schemas

Enumera los esquemas disponibles.

La siguiente consultar recupera todos los esquemas disponibles:

SELECT * FROM sys_schemas
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.
SchemaName String El nombre del esquema.

Sys_tables

Enumera las tablas disponibles.

La siguiente consultar recupera las tablas y vistas disponibles:

SELECT * FROM sys_tables
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista.
TableType String El tipo de tabla (tabla o vista).
Description String Una descripción de la tabla o vista.
IsUpdateable Boolean Si la tabla se puede actualizar.

Sys_tablecolumns

Describe las columnas de las tablas y vistas disponibles.

La siguiente consultar devuelve las columnas y los tipos de datos de la tabla Pedidos:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Orders' 
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista que contiene la columna.
ColumnName String El nombre de la columna.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El tamaño de almacenamiento de la columna.
DisplaySize Int32 El ancho máximo normal de la columna designada en caracteres.
NumericPrecision Int32 El número máximo de dígitos en datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 La escala de columna o número de dígitos a la derecha del punto decimal.
IsNullable Boolean Si la columna puede contener nulo.
Description String Una breve descripción de la columna.
Ordinal Int32 El número de secuencia de la columna.
IsAutoIncrement String Si el valor de la columna se asigna en incrementos fijos.
IsGeneratedColumn String Si se genera la columna.
IsHidden Boolean Si la columna está oculta.
IsArray Boolean Si la columna es una matriz.

Sys_procedimientos

Enumera los procedimientos almacenados disponibles.

La siguiente consultar recupera los procedimientos almacenados disponibles:

SELECT * FROM sys_procedures
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene el procedimiento almacenado.
SchemaName String El esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado.
Description String Una descripción del procedimiento almacenado.
ProcedureType String El tipo de procedimiento, como PROCEDIMIENTO o FUNCIÓN.

Sys_procedureparameters

Describe procedimiento almacenado* parámetros.

La siguiente consultar devuelve información sobre todos los parámetros de entrada para el procedimiento almacenado SelectEntries:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el procedimiento almacenado.
SchemaName String El nombre del esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado* que contiene el parámetro.
ColumnName String El nombre del procedimiento almacenado* parámetro.
Direction Int32 Un número entero correspondiente al tipo de parámetro: entrada (1), entrada/salida (2) o salida (4). Los parámetros de tipo de entrada/salida pueden ser tanto parámetros de entrada como de salida.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El número de caracteres permitidos para los datos de caracteres. El número de dígitos permitidos para datos numéricos.
NumericPrecision Int32 La máxima precisión para datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 El número de dígitos a la derecha del punto decimal en datos numéricos.
IsNullable Boolean Si el parámetro puede contener nulo.
IsRequired Boolean Si el parámetro es necesario para la ejecución del procedimiento.
IsArray Boolean Si el parámetro es una matriz.
Description String La descripción del parámetro.
Ordinal Int32 El índice del parámetro.

Sys_keycolumns

Describe las claves primarias y foráneas. La siguiente consultar recupera la clave principal de la tabla Pedidos:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Orders'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
IsKey Boolean Si la columna es una clave principal en la tabla a la que se hace referencia en el campo TableName.
IsForeignKey Boolean Si la columna es una clave externa a la que se hace referencia en el campo TableName.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.

Sys_foreignkeys

Describe las claves foráneas. La siguiente consultar recupera todas las claves foráneas que hacen referencia a otras tablas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.
ForeignKeyType String Designa si la clave externa es una clave de importación (apunta a otras tablas) o de exportación (hace referencia desde otras tablas).

Sys_indexes

Describe los índices disponibles. Al filtrar en los índices, puede escribir consultas más selectivas con tiempos de respuesta de consultar más rápidos.

La siguiente consultar recupera todos los índices que no son claves principales:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el índice.
SchemaName String El nombre del esquema que contiene el índice.
TableName String El nombre de la tabla que contiene el índice.
IndexName String El nombre del índice.
ColumnName String El nombre de la columna asociada con el índice.
IsUnique Boolean True si el índice es único. Falso en caso contrario.
IsPrimary Boolean True si el índice es una clave principal. Falso en caso contrario.
Type Int16 Un valor entero correspondiente al tipo de índice: estadística (0), agrupado (1), hash (2) u otro (3).
SortOrder String El orden de clasificación: A para ascender o D para descender.
OrdinalPosition Int16 El número de secuencia de la columna en el índice.

Sys_connection_props

Devuelve información sobre las propiedades de conexión disponibles y las establecidas en la cadena de conexión.

Al consultar esta tabla, se debe usar la cadena de conexión de configuración:

jdbc:cdata:sapbusinessone:config:

Esta cadena de conexión le permite consultar esta tabla sin una conexión válida.

La siguiente consultar recupera todas las propiedades de conexión que se han establecido en la cadena de conexión o se han establecido a través de un valor predeterminado:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columnas
Nombre Tipo Descripción
Name String El nombre de la propiedad de conexión.
ShortDescription String Una breve descripción.
Type String El tipo de datos de la propiedad de conexión.
Default String El valor predeterminado si no se establece uno explícitamente.
Values String Una lista separada por comas de valores posibles. Se lanza un error de validación si se especifica otro valor.
Value String El valor que establezca o un valor predeterminado preconfigurado.
Required Boolean Si la propiedad es necesaria para conectarse.
Category String La categoría de la propiedad de conexión.
IsSessionProperty String Si la propiedad es una propiedad de sesión, utilizada para guardar información sobre la conexión actual.
Sensitivity String El nivel de sensibilidad de la propiedad. Esto informa si la propiedad está ofuscada en los formularios de registro y autenticación.
PropertyName String Una forma truncada en mayúsculas y minúsculas del nombre de la propiedad de conexión.
Ordinal Int32 El índice del parámetro.
CatOrdinal Int32 El índice de la categoría de parámetro.
Hierarchy String Muestra las propiedades dependientes asociadas que deben configurarse junto con esta.
Visible Boolean Informa si la propiedad está visible en la interfaz de usuario de la conexión.
ETC String Diversa información miscelánea sobre la propiedad.

Sys_sqlinfo

Describe el procesamiento de consultar SELECT que el conector puede descargar al origen de datos.

Procesamiento Colaborativo de Consultas

Al trabajar con fuentes de datos que no admiten SQL-92, puede consultar la vista sys_sqlinfo para determinar las capacidades de consultar de las APIs subyacentes, expresadas en sintaxis SQL. El conector descarga la mayor cantidad posible del procesamiento de sentencias SELECT al servidor y luego procesa el resto de la consultar en la memoria.

Descubrimiento de las Capacidades SELECT de la Fuente de Datos

A continuación se muestra un conjunto de datos de ejemplo de las capacidades de SQL. El siguiente conjunto de resultados indica la funcionalidad SELECT que el conector puede descargar en el origen de datos o en el lado del cliente del proceso. Su fuente de datos puede admitir sintaxis SQL adicional. Algunos aspectos de la funcionalidad SELECT se devuelven en una lista separada por comas si es compatible; de lo contrario, la columna contiene NO.

Nombre Descripción Valores posibles
AGGREGATE_FUNCTIONS Funciones de agregación admitidas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Si se admite la función COUNT. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR El carácter de apertura utilizado para escapar de un identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR El carácter de cierre utilizado para escapar de un identificador. ]
SUPPORTED_OPERATORS Una lista de operadores de SQL admitidos. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Si se admite GROUP BY y, de ser así, el grado de compatibilidad. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funciones de cadena admitidas. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Funciones numéricas compatibles. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Funciones de fecha/hora admitidas. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indica tablas omitidas durante la replicación.
REPLICATION_TIMECHECK_COLUMNS Una matriz de cadenas que contiene una lista de columnas que se usarán para verificar (en el orden dado) para usar como una columna modificada durante la replicación.
IDENTIFIER_PATTERN Valor de cadena que indica qué cadena es válida para un identificador.
SUPPORT_TRANSACTION Indica si el proveedor admite transacciones como compromiso y reversión. YES, NO
DIALECT Indica el dialecto SQL a usar.
KEY_PROPERTIES Indica las propiedades que identifican la base de datos uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica si pueden existir varios esquemas para el proveedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica si pueden existir varios catálogos para el proveedor. YES, NO
DATASYNCVERSION La versión de sincronización de datos necesaria para acceder a este controlador. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY La categoría Sincronización de datos de este controlador. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Si se admite la funcionalidad de SQL mejorada más allá de lo que ofrece la API. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Si se admiten las operaciones lote. YES, NO
SQL_CAP Todas las funciones de SQL admitidas para este controlador. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Un valor de cadena especifica las cacheOptions preferidas.
ENABLE_EF_ADVANCED_QUERY Indica si el controlador admite directamente consultas avanzadas provenientes de Entity Framework. De lo contrario, las consultas se manejarán del lado del cliente. YES, NO
PSEUDO_COLUMNS Una matriz de cadenas que indica las pseudocolumnas disponibles.
MERGE_ALWAYS Si el valor es verdadero, el modo de combinación se ejecuta a la fuerza en la sincronización de datos. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Una consultar de selección para devolver la fecha y hora de inicio de la réplica.
REPLICATION_MIN_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un min del lado del servidor.
REPLICATION_START_DATE Permite que un proveedor especifique una fecha de inicio de réplica.
REPLICATION_MAX_DATE_QUERY Una consultar de selección para devolver la fecha y hora de finalización de la réplica.
REPLICATION_MAX_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un máx. del lado del servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Una lista de tablas que omitirán dividir la réplica en fragmentos en la réplica inicial.
CHECKCACHE_USE_PARENTID Indica si la instrucción CheckCache debe realizarse en la columna de clave principal. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimientos almacenados* que se puede utilizar para generar archivos de esquema.

La siguiente consultar recupera los operadores que se pueden usar en la cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Tenga en cuenta que las tablas individuales pueden tener diferentes limitaciones o requisitos en la cláusula WHERE; consulte el Modelo de datos para obtener más información.

Columnas
Nombre Tipo Descripción
NAME String Un componente de la sintaxis SQL o una capacidad que se puede procesar en el servidor.
VALUE String Detalles sobre el SQL o la sintaxis de SQL admitidos.

Sys_identidad

Devuelve información sobre los intentos de modificación.

La siguiente consultar recupera los Id. de las filas modificadas en una operación lote:

SELECT * FROM sys_identity
Columnas
Nombre Tipo Descripción
Id String El ID generado por la base de datos devuelto de una operación de modificación de datos.
Batch String Un identificador para el lote. 1 para una sola operación.
Operation String El resultado de la operación en el lote: INSERTADO, ACTUALIZADO o ELIMINADO.
Message String ÉXITO o un mensaje de error si falla la actualización en el lote.

Asignación de Tipos de Datos

Asignaciones de Tipos de Datos

El conector asigna tipos del origen de datos al tipo de datos correspondiente disponible en el esquema. La siguiente tabla documenta estas asignaciones.

SAP Business One (OData V3) SAP Business One (OData V4) Esquema
Edm.Binario Edm.Binario binario
Edm.Booleano Edm.Booleano bool
Edm.DateTime Edm.DateTimeOffset fecha y hora
Edm.Doble Edm.Doble doble
Edm.Guid Edm.Guid guía
Edm.Int32 Edm.Int32 entero
Edm.Cadena Edm.Cadena cadena
Edm.HoraDía Edm.HoraDía tiempo

Propiedades de Configuraciones Avanzadas

Las propiedades de configuraciones avanzadas son las diversas opciones que se pueden utilizar para establecer una conexión. Esta sección proporciona una lista completa de las opciones que puede configurar. Haga clic en los enlaces para obtener más detalles.

Autenticación

Propiedad Descripción
URL URL a la raíz de la capa de servicio de SAP Business One. Por ejemplo, http://localhost:50000/b1s/v1.
User La cuenta de usuario de SAP Business One utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

Conexión

Propiedad Descripción
CompanyDB Su base de datos de empresa SAP Business One.

SSL

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Esquema

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.

Misceláneas

Propiedad Descripción
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
NavigationPropertiesAsViews Un valor booleano que indica las propiedades de navegación debe promocionarse a vistas completas.
ODataVersion La versión de OData a utilizar. De forma predeterminada, el proveedor intentará detectar automáticamente la versión.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
UseSimpleNames Booleano que determina si se deben usar nombres simples para tablas y columnas.

Autenticación

Esta sección proporciona una lista completa de las propiedades de autenticación que puede configurar.

Propiedad Descripción
URL URL a la raíz de la capa de servicio de SAP Business One. Por ejemplo, http://localhost:50000/b1s/v1.
User La cuenta de usuario de SAP Business One utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

URL

URL a la raíz de la capa de servicio de SAP Business One. Por ejemplo, http://localhost:50000/b1s/v1.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL debe aparecer en el formato http://\[server\]:\[port\]/b1s/\[version\].

Usuario

La cuenta de usuario de SAP Business One utilizada para la autenticación.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Junto con Contraseña, este campo se utiliza para autenticarse en el servidor de SAP Business One.

Contraseña

La contraseña utilizada para autenticar al usuario.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El usuario y Password se usan juntos para autenticarse con el servidor.

Conexión

Esta sección proporciona una lista completa de las propiedades de conexión que puede configurar.

Propiedad Descripción
CompanyDB Su base de datos de empresa SAP Business One.

CompanyDB

Su base de datos de empresa SAP Business One.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La base de datos de la empresa SAP Business One a la que se está conectando. Esto es necesario para todas las conexiones.

SSL

Esta sección proporciona una lista completa de las propiedades SSL que puede configurar.

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

SSLServerCert

El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si usa una conexión TLS/SSL, esta propiedad se puede usar para especificar el certificado TLS/SSL que se aceptará del servidor. Se rechaza cualquier otro certificado que no sea de confianza para la máquina.

Esta propiedad puede tomar las siguientes formas:

Descripción Ejemplo
Un certificado PEM completo (ejemplo abreviado por brevedad) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Una ruta a un archivo local que contiene el certificado C:\cert.cer
La clave pública (ejemplo abreviado por brevedad) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
La huella digital MD5 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) ecadbdda5a1529c58a1e9e09828d70e4
La huella digital SHA1 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Si no se especifica, se acepta cualquier certificado en el que confíe la máquina.

La máquina valida los certificados como confiables según el almacén de confianza del sistema. El almacén de confianza utilizado es el valor 'javax.net.ssl.trustStore' especificado para el sistema. Si no se especifica ningún valor para esta propiedad, se utiliza el almacén de confianza predeterminado de Java (por ejemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar que acepta todos los certificados. Tenga en cuenta que esto no se recomienda debido a problemas de seguridad.

Esquema

Esta sección proporciona una lista completa de propiedades de esquema que puede configurar.

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.

Ubicación

Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.

Tipo de Datos

string

Valor por Defecto

"%APPDATA%\\\SAPBusinessOne Data Provider\\Schema"

Observaciones

La ruta a un directorio que contiene los archivos de esquema para el conector (archivos .rsd para tablas y vistas, archivos .rsb para procedimientos almacenados). La ubicación de la carpeta puede ser una ruta relativa desde la ubicación del ejecutable. El Location La propiedad solo es necesaria si desea personalizar las definiciones (por ejemplo, cambiar el nombre de una columna, ignorar una columna, etc.) o ampliar el modelo de datos con nuevas tablas, vistas o procedimientos almacenados.

Si no se especifica, la ubicación predeterminada es "%APPDATA%\\SAPBusinessOne Data Provider\Schema" con %APPDATA% estando configurado en el directorio de configuración del usuario:

Plataforma %APPDATA%
Windows El valor de la variable de ambiente APPDATA
Mac ~/Biblioteca/Soporte de aplicaciones
Linux ~/.config

Esquemas Navegables

Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Enumerar los esquemas de las bases de datos puede resultar costoso. Proporcionar una lista de esquemas en la cadena de conexión mejora el rendimiento.

Mesas

Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA,TablaB,TablaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las tablas de algunas bases de datos puede resultar costoso. Proporcionar una lista de tablas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las tablas que desea en una lista separada por comas. Cada tabla debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Puntos de Vista

Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA,VistaB,VistaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las vistas de algunas bases de datos puede ser costoso. Proporcionar una lista de vistas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las vistas que desee en una lista separada por comas. Cada vista debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Misceláneas

Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.

Propiedad Descripción
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
NavigationPropertiesAsViews Un valor booleano que indica las propiedades de navegación debe promocionarse a vistas completas.
ODataVersion La versión de OData a utilizar. De forma predeterminada, el proveedor intentará detectar automáticamente la versión.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
UseSimpleNames Booleano que determina si se deben usar nombres simples para tablas y columnas.

Filas Máximas

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Tipo de Datos

int

Valor por Defecto

-1

Observaciones

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

NavegaciónPropiedadesAsVistas

Un valor booleano que indica las propiedades de navegación debe promocionarse a vistas completas.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Esta propiedad puede ser útil para SAP Business One, que puede devolver colecciones de entidades relacionadas o propiedades de navegación. Solo se puede acceder a algunas entidades de SAP Business One a través de las propiedades de navegación. NavigationPropertiesAsViews hará que todas las propiedades de navegación descubiertas se agreguen como vistas en el formato ParentTable_NavigationProperty. En el momento de redactar este documento, SAP Business One solo admite propiedades de navegación cuando se utiliza ODataVersion 3.0.

ODataVersionODataVersion

La versión de OData a utilizar. De forma predeterminada, el proveedor intentará detectar automáticamente la versión.

Valores Posibles

AUTO, 3.0, 4.0

Tipo de Datos

string

Valor por Defecto

"AUTO"

Observaciones

La versión de OData a utilizar. De forma predeterminada, el conector intentará determinar automáticamente la versión que utiliza el servicio. Si no se puede resolver una versión, se utilizará la 3.0. Esto se puede configurar manualmente de forma opcional.

Otro

Estas propiedades ocultas se usan solo en casos de uso específicos.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Las propiedades enumeradas a continuación están disponibles para casos de uso específicos. Los casos de uso y la funcionalidad normales del controlador no deberían requerir estas propiedades.

Especifique varias propiedades en una lista separada por punto y coma.

Integración y Formateo
Propiedad Descripción
DefaultColumnSize Establece la longitud predeterminada de los campos de cadena cuando la fuente de datos no proporciona la longitud de columna en los metadatos. El valor predeterminado es 2000.
ConvertDateTimeToGMT Determina si se convierten los valores de fecha y hora a GMT, en lugar de la hora local de la máquina.
RecordToFile=filename Registra la transferencia de datos del socket subyacente al archivo especificado.

Pseudocolumnas

Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta configuración es particularmente útil en Entity Framework, que no le permite establecer un valor para una pseudocolumna a menos que sea una columna de tabla. El valor de esta configuración de conexión tiene el formato "Tabla1=Columna1, Tabla1=Columna2, Tabla2=Columna3". Puede usar el carácter "*" para incluir todas las tablas y todas las columnas; por ejemplo, "*=*".

Se Acabó el Tiempo

El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Tipo de Datos

int

Valor por Defecto

60

Observaciones

Si Timeout = 0, las operaciones no expiran. Las operaciones se ejecutan hasta que se completan correctamente o hasta que encuentran una condición de error.

Si Timeout caduca y la operación aún no se ha completado, el conector genera una excepción.

UsarNombresSimples

Booleano que determina si se deben usar nombres simples para tablas y columnas.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Las tablas y columnas de SAP Business One pueden usar caracteres especiales en los nombres que normalmente no están permitidos en las bases de datos estándar. UseSimpleNames hace que el conector sea más fácil de usar con las herramientas de bases de datos tradicionales.

Configuración UseSimpleNames a verdadero simplificará los nombres de las tablas y columnas devueltas. Aplicará un esquema de nomenclatura tal que solo los caracteres alfanuméricos y el guión bajo sean válidos para los nombres de las tablas y columnas que se muestran. Cualquier carácter no alfanumérico se convertirá en un guión bajo.