Saltar al contenido

Detalles de Conexión de SAP Business ByDesign

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 ByDesign

El conector aprovecha las APIs de SAPByDesign para habilitar el acceso bidireccional a SAPByDesign.

Establecer una Conexión

Esta sección documenta cómo proporcionar autenticación para su cuenta y tipo de servicio y luego conectarse.

Autenticar una Cuenta SAPByDesign

Establezca las siguientes propiedades de conexión para conectarse a SAP ByDesign.

Conéctese a un Servicio Analítico
  • URL: establezca esto en la URL de su sitio SAP ByDesign. Por ejemplo, https://test.sapbydesign.com.

  • ServiceType: Si desea recuperar los informes de un servicio analítico, especifique ServiceType=Servicio de análisis;.

  • ServiceName: El nombre del servicio del que desea recuperar datos. Solo se debe especificar ninguno o un servicio. Si desea especificar una lista de servicios, consulte BrowsableSchemas.

    Si no está seguro de qué servicio especificar, siempre puede consultar sys_schemas para obtener una lista de los servicios disponibles.

  • User: establezca esto en el nombre de usuario de su cuenta.

  • Password: Establézcalo en la contraseña de su cuenta.

Ejemplo de cadena de conexión de servicio analítico:

Url=https://test.sapbydesign.com;ServiceType=AnalyticsService;ServiceName=cc_home_analytics.svc;User=Test;Password=test;
Conectarse a un Servicio Personalizado
  • URL: establezca esto en la URL de su sitio SAP ByDesign. Por ejemplo, https://test.sapbydesign.com.

  • ServiceType: si tiene un servicio personalizado del que desea recuperar datos, especifique ServiceType=ServicioPersonalizado;.

  • ServiceName: El nombre del servicio del que desea recuperar datos. Solo se debe especificar ninguno o un servicio. Si desea especificar una lista de servicios, consulte BrowsableSchemas.

    Si no está seguro de qué servicio especificar, siempre puede consultar sys_schemas para obtener una lista de los servicios disponibles.

  • User: establezca esto en el nombre de usuario de su cuenta.

  • Password: Establézcalo en la contraseña de su cuenta.

Ejemplo de cadena de conexión de servicio personalizado:

Url=https://test.sapbydesign.com;ServiceType=CustomService;ServiceName=khsalesorder;User=Test;Password=test;
Conéctese a la API de ODataDataSource
  • URL: establezca esto en la URL de su sitio SAP ByDesign. Por ejemplo, https://test.sapbydesign.com.

  • ServiceType: si desea consultar la API de origen de datos de OData (odata/analytics/ds), especifique ServiceType=ODataDataSource.

  • ServiceName: El nombre del servicio del que desea recuperar datos. Solo se debe especificar ninguno o un servicio. Si desea especificar una lista de servicios, consulte BrowsableSchemas.

    Si no está seguro de qué servicio especificar, siempre puede consultar sys_schemas para obtener una lista de los servicios disponibles.

  • User: establezca esto en el nombre de usuario de su cuenta.

  • Password: Establézcalo en la contraseña de su cuenta.

Ejemplo de cadena de conexión ODataDataSource:

Url=https://test.sapbydesign.com;ServiceType=ODataDataSource;ServiceName=Customer.svc;User=Test;Password=test;

Agregar un Nuevo Servicio ODATA Personalizado

  • En la vista del centro de trabajo de SAP ByDesign, haga clic en "Gestión de aplicaciones y usuarios".
  • Seleccione "Servicios OData ".
  • En la lista desplegable, seleccione "Servicios OData personalizados".
  • Ahora debería ver una lista de sus servicios personalizados actuales. Para agregar uno nuevo, haga clic en "Nuevo".

Ajuste Fino del Acceso a los Datos

Las propiedades de navegación son propiedades de una entidad que en sí misma es una sola entidad relacionada o una lista de entidades relacionadas.
De forma predeterminada, se exponen como vistas, aunque se pueden ocultar configurando NavigationPropertiesAsViews a falso.
Esta propiedad solo tendrá efecto cuando se trabaje con ServiceType=CustomService ya que no hay propiedades de navegación cuando se trata de otros servicios.

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 ByDesign.

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

Jitterbit Connector for SAP ByDesign 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 Utilizando 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 Account 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

Descripción general

Esta sección muestra los objetos API disponibles y brinda más información sobre cómo ejecutar SQL para las APIs de SAP ByDesign.

Características clave

  • El conector modela SAP ByDesign Analytics Services como vistas relacionales. Las entidades definidas en un servicio personalizado se modelan mediante una combinación de tablas y vistas, lo que le permite escribir SQL para consultar los datos de SAP ByDesign.
  • La conectividad en vivo con estos objetos significa que cualquier cambio en su cuenta de SAP ByDesign se refleja de inmediato al usar el conector.

Mesas

Las tablas son entidades definidas dinámicamente disponibles en ServiceType=ServicioPersonalizado.

Puntos de vista

Las vistas se definen dinámicamente desde las propiedades de navegación de un ServiceType=CustomService, o de las consultas en un ServiceType=Servicio de análisis, ServiceType=ODataDataSource.

Servicios de análisis

Para recuperar informes de un servicio de análisis, debe especificar el URL ServiceType=propiedad de AnalyticsService. Por ejemplo: Url=https://my999999.sapbydesign.com;ServiceType=AnalyticsService;ServiceName=cc_home_analytics.svc;. Todos los informes se exponen como vistas. Tenga en cuenta que el filtrado del lado del cliente se deshabilitará si se intenta realizar un filtro no admitido por la API de SAP ByDesign en una dimensión y al mismo tiempo no incluye esa dimensión en la cláusula SELECT. Si desea utilizar el filtrado del lado del cliente (ejecutar filtros que no son compatibles con la API de SAP ByDesign), debe incluir la dimensión en la cláusula SELECT.

Además, si la consultar es una consultar con estrella y el número de dimensiones es superior a 15, el controlador utilizará solo la dimensión predeterminada e ignorará las demás. Esto se hace porque es muy difícil dar sentido a un conjunto de resultados con demasiadas dimensiones. Este caso de uso es común cuando el controlador se usa en varias herramientas. La dimensión predeterminada es elegida dinámicamente al azar por el controlador.

Mesas

El conector expone tablas para cada conjunto de entidades y singleton definidos en la URL raíz de SAP ByDesign. 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

Por ejemplo, considere una tabla, Pedidos. 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 for SAP ByDesign supondrá 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 ByDesign 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:sapbydesign:URL=https://my999999.sapbydesign.com;User=username;Password=password;ServiceType=AnalyticsService;ServiceName=servicename;");
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();

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.

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.

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. Consulte las tablas 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.

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 for SAP ByDesign 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 dado. 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.

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 ByDesign:

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 Cuenta:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Account' 
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_keycolumns

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

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Account'
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:sapbydesign: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.

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 al nombre de alojar de su sistema.
User La cuenta de usuario de SAP ByDesign utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

Conexión

Propiedad Descripción
ServiceType Especifique el tipo de servicio del que obtener informes.
ServiceName Especifique el nombre del servicio SAP ByDesign para conectarse.

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.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
UseDisplayNames Booleano que determina si usar o no etiquetas SAP.

Autenticación

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

Propiedad Descripción
URL URL al nombre de alojar de su sistema.
User La cuenta de usuario de SAP ByDesign utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

URL

URL al nombre de alojar de su sistema.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

URL al nombre de alojar de su sistema.

Usuario

La cuenta de usuario de SAP ByDesign 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 SAP ByDesign.

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
ServiceType Especifique el tipo de servicio del que obtener informes.
ServiceName Especifique el nombre del servicio SAP ByDesign para conectarse.

Tipo de Servicio

Especifique el tipo de servicio del que obtener informes.

Valores Posibles

AnalyticsService, CustomService, ODataDataSource

Tipo de Datos

string

Valor por Defecto

""

Observaciones
  • AnalyticsService: si la propiedad de conexión de URL se establece en la URL base del servicio analítico del que desea recuperar informes.
  • CustomService: si la propiedad de conexión de Url se establece en la URL base del servicio personalizado que configuró en la interfaz de usuario y del que desea recuperar datos.
  • ODataDataSource: si desea consultar los orígenes de datos ( API de origen de datos de OData -> odata/analytics/ds).

Nombre del Servicio

Especifique el nombre del servicio SAP ByDesign para conectarse.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Especifique el nombre del servicio SAP ByDesign para conectarse. Deje esto vacío para recuperar todos los servicios.

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%\\\SAPByDesign 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%\\SAPByDesign 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.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
UseDisplayNames Booleano que determina si usar o no etiquetas SAP.

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 ByDesign, que puede devolver colecciones de entidades relacionadas o propiedades de navegación. Solo se puede acceder a algunas entidades de SAP ByDesign 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.

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.

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.

UseDisplayNames

Booleano que determina si usar o no etiquetas SAP.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Booleano que determina si usar o no etiquetas SAP.

Si se establece en verdadero, las etiquetas que ha configurado en su cuenta para las propiedades de OData servirán como nombres de columna. De lo contrario, el nombre de la propiedad será el nombre de la columna.