Cómo solucionar problemas de BigQuery Toolkit para SAP

En este documento, se muestra a los administradores de SAP, a los desarrolladores de SAP y a otras personas cómo solucionar problemas con BigQuery Toolkit para SAP.

Problemas comunes

En esta sección, se enumeran los mensajes de error comunes y su resolución específica para BigQuery Toolkit para SAP.

Si deseas obtener información para solucionar problemas del SDK de ABAP para Google Cloud en general, consulta Soluciona problemas de las ediciones locales o en cualquier edición en la nube del SDK de ABAP para Google Cloud.

/GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: Mass Transfer Key is required. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Causa: No se proporciona la clave de transferencia masiva en el parámetro IV_MASS_TR_KEY cuando se llama a la clase de carga de datos /GOOG/CL_BQTR_DATA_LOAD.

Resolución: Para resolver este problema, pasa una clave de transferencia masiva que se guarde en la transacción /GOOG/BQTR_SETTINGS. Para obtener más información, consulta Cómo llamar al método de replicación de datos.

/GOOG/BQTR: Data Source is required. Pass a dictionary object

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: Data Source is required. Pass a dictionary object.

Causa: La fuente de datos no se proporciona en el parámetro IV_DATA_SOURCE cuando se llama a la clase de carga de datos /GOOG/CL_BQTR_DATA_LOAD.

Resolución: Para resolver este problema, pasa el nombre del objeto del diccionario, como la vista o la tabla de CDS, como la fuente de datos. Para obtener más información, consulta Cómo llamar al método de replicación de datos.

/GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: Mass Transfer Key MASS_TRANSFER_KEY not found. Use Tcode /GOOG/BQTR_SETTINGS to maintain.

Causa: La clave de transferencia masiva que se pasa a la clase de carga de datos /GOOG/CL_BQTR_DATA_LOAD no se mantiene en el módulo de transferencia de datos de BigQuery.

Resolución: Para resolver este problema, mantén una clave de transferencia masiva con el código de transacción /GOOG/BQTR_SETTINGS. Para obtener más información, consulta Cómo configurar el módulo de transferencia de datos de BigQuery.

/GOOG/BQTR: DATA_SOURCE does not exist in data dictionary

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: DATA_SOURCE does not exist in data dictionary.

Causa: La fuente de datos que se pasa a la clase de carga de datos /GOOG/CL_BQTR_DATA_LOAD no es un objeto de diccionario de datos válido.

Resolución: Para resolver este problema, pasa el nombre de la fuente de datos que existe en el diccionario de datos. Solo se admiten tablas, vistas de diccionario y vistas de CDS.

/GOOG/BQTR: Nested Tables are not supported

Problema: Recibes el mensaje de error /GOOG/BQTR: Nested Tables are not supported.

Causa: El objeto de diccionario que se pasa como entrada a la clase de carga de datos /GOOG/CL_BQTR_DATA_LOAD no es una estructura plana.

Resolución: Para resolver este problema, usa un objeto de diccionario que tenga una estructura plana.

/GOOG/BQTR: Error creating target table definition

Problema: Recibes el mensaje de error /GOOG/BQTR: Error creating target table definition.

Causa: BigQuery Toolkit para SAP no puede crear la definición de la tabla de destino para la fuente de datos determinada.

Solución: Para resolver este problema, valida que la fuente de entrada sea un objeto de diccionario válido con uno o más campos.

/GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ

Problema: Recibes el mensaje de error /GOOG/BQTR: 400 - Table creation failed in BQ. Could not pull the table metadata from BQ.

Causa: Este error se genera si el módulo de transferencia de datos de BigQuery no puede obtener la definición de la tabla de BigQuery. Esto puede deberse a una sobrecarga temporal del servidor en BigQuery.

Resolución: Para resolver este problema, reinicia la operación de carga de datos de BigQuery.

/GOOG/BQTR: 400 - Scope must be provided

Problema: Recibes el mensaje de error /GOOG/BQTR: 400 - Scope must be provided.

Causa: En la configuración de la clave de cliente, el permiso de Google Cloud está vacío.

Solución: Para resolver este problema, en el campo Alcance de Google Cloud, especifica el alcance correspondiente para la configuración de la clave del cliente que usas, por ejemplo, https://www.googleapis.com/auth/cloud-platform.

/GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME

Problema: Recibes el mensaje de error /GOOG/BQTR: 400 - Schema mismatch for table TABLE_NAME. Please delete the table from BigQuery and try again.

Causa: Se ingresó uno de los siguientes cambios para una tabla de BigQuery existente:

  • Eliminación de un campo
  • Cambio de nombre de un campo
  • Cambio en el tipo de datos de un campo
  • Cambio en el tipo de partición de una tabla

Los cambios anteriores no se pueden aplicar a una tabla de BigQuery existente.

Resolución: Si necesitas cambiar cualquiera de estos atributos de campo en una tabla existente, debes borrar la tabla existente y volver a cargar los registros en una tabla nueva.

Mensajes de error relacionados con datos no válidos

Problema: En los registros de la aplicación, recibes un mensaje de error: /GOOG/BQTR/: DESCRIPTION_OF_INVALID_DATA error occurred in FIELD_NAME in record RECORD_KEYS.

Causa: Este mensaje de error es emitido por BigQuery cuando se insertan los registros con datos no válidos en la tabla de destino. Los datos pueden no ser válidos debido a uno de los siguientes motivos:

  • Los datos en el campo de un registro en particular no son compatibles con el tipo de datos en BigQuery. Por ejemplo, BigQuery genera mensajes de error cuando ocurre lo siguiente:
    • Una string se mantiene en un campo de tipo DATE, INTEGER o BOOLEAN.
    • Se mantiene una fecha no válida (00/00/0000) en un campo de tipo DATE.
  • Se mantiene un tipo de datos de destino incorrecto en las asignaciones de campos en la transacción /GOOG/BQTR_SETTINGS.

BigQuery emite un mensaje de error por cada registro que contiene un campo con datos no válidos.

Resolución: Analiza el mensaje de error, DESCRIPTION_OF_INVALID_DATA, para comprender la causa posible de los datos no válidos. Para identificar el registro con el campo que contiene los datos no válidos, usa RECORD_KEYS, que incluye el contenido de los primeros cinco campos del registro. Si la tabla tiene cinco campos o menos, el contenido de todos los campos se incluye en el RECORD_KEYS.

  • Si los datos en el campo no son compatibles con el tipo de datos en BigQuery, corrige los datos en la tabla de origen.
  • Si el error se produjo por una discrepancia entre los datos y el tipo de datos, usa la transacción /GOOG/BQTR_SETTINGS para especificar el tipo de datos adecuado.

/GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset.

Causa: Para tu carga de trabajo de SAP que se ejecuta en Google Cloud, en la tabla /GOOG/CLIENT_KEY, la cuenta de servicio especificada no tiene los permisos necesarios para acceder a la API de BigQuery.

Resolución: Para resolver este problema, realiza los siguientes pasos:

  1. En la GUI de SAP, ingresa la transacción /GOOG/BQTR_SETTINGS precedida por /n:

    /n/GOOG/BQTR_SETTINGS
  2. Para el ID de transferencia masiva que falló en la transacción LTRC, anota el valor del campo Nombre de la clave de Google Cloud.

  3. Ingresa la transacción SM30 y, luego, abre la tabla /GOOG/CLIENT_KEY.

  4. Para el valor Nombre de la clave de Google Cloud que anotaste en un paso anterior, ten en cuenta el valor especificado para el campo Nombre de la cuenta de servicio.

  5. En la consola de Google Cloud, ve a la página Cuentas de servicio de Identity and Access Management.

    Ir a Cuentas de servicio

  6. Selecciona la cuenta de servicio que anotaste en un paso anterior.

  7. Asegúrate de que la cuenta de servicio tenga los roles de IAM que BigQuery Toolkit para SAP requiere para acceder a BigQuery, como se proporciona en Configurar la autenticación.

  8. Vuelve a ejecutar la replicación.

/GOOG/BQTR: 404 - Not Found

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: 404 - Not Found.

Causa: En los destinos de RFC que usa el SDK de ABAP para Google Cloud para conectarse a las APIs de Google Cloud , el prefijo de ruta de acceso no es correcto.

Resolución: Para resolver este problema, realiza los siguientes pasos:

  1. En la GUI de SAP, ingresa la transacción /GOOG/BQTR_SETTINGS precedida por /n:

    /n/GOOG/BQTR_SETTINGS
  2. Para el ID de transferencia masiva que falló en la transacción LTRC, anota el valor del campo Nombre de la clave de Google Cloud.

  3. Ingresa la transacción SM30 y, luego, abre la tabla /GOOG/SERVIC_MAP.

  4. Para el valor Nombre de clave de Google Cloud que anotaste en un paso anterior, ten en cuenta los nombres de los destinos de RFC.

  5. Ingresa la transacción SM59 y, luego, completa los siguientes pasos:

    • Para el destino de RFC que se conecta a BigQuery, asegúrate de que el valor del campo Prefijo de ruta de acceso sea /bigquery/v2/.
    • Para el destino RFC que se conecta a IAM, asegúrate de que el valor del campo Prefijo de ruta de acceso sea /v1/.
  6. Vuelve a ejecutar la replicación.

/GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found.

Causa: En los destinos de RFC que usa el SDK de ABAP para Google Cloud para conectarse a las APIs de Google Cloud , el valor que especificaste para el campo Host de destino no coincide con ningún nombre de DNS en Cloud DNS.

Resolución: Para resolver este problema, realiza los siguientes pasos:

  1. En la GUI de SAP, ingresa el código de transacción /GOOG/BQTR_SETTINGS.

  2. Ingresa la clave de transferencia masiva para la que recibiste este error.

  3. Haz clic en el ícono Ejecutar. Anota el valor de la columna Nombre de clave de Google Cloud.

  4. Ingresa la transacción SM30 y, luego, abre la tabla /GOOG/CLIENT_KEY en modo de visualización.

  5. Busca la tabla /GOOG/SERVIC_MAP con el Nombre de clave de Google Cloud que anotaste en un paso anterior y, luego, toma nota de los nombres de destino de RFC especificados.

  6. Ingresa el código de transacción SM59.

  7. En los destinos RFC que usas para conectarte a las APIs de IAM y BigQuery, anota el valor especificado para el campo Host de destino.

  8. En la consola de Google Cloud, ve a la página Servicios de red de Cloud DNS.

    Ve a Cloud DNS

  9. Haz clic en la zona privada que contiene los registros DNS para los extremos de Private Service Connect, que creaste para permitir que BigQuery Toolkit para SAP se conecte de forma privada a las APIs de IAM y BigQuery.

  10. Asegúrate de que haya un registro DNS, con un nombre de DNS coincidente, para cada uno de los valores de host de destino que anotaste en un paso anterior.

  11. Vuelve a ejecutar la replicación.

/GOOG/BQTR: 404 - Not Found Requested entity was not found

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: 404 - Not Found Requested entity was not found.

Causa: Para tu carga de trabajo que se ejecuta en Google Cloud, la cuenta de servicio que se usa en la tabla de claves de cliente /GOOG/CLIENT_KEY no es válida.

Resolución: Para resolver este problema, realiza los siguientes pasos:

  1. En la GUI de SAP, ingresa la transacción /GOOG/BQTR_SETTINGS precedida por /n:

    /n/GOOG/BQTR_SETTINGS
  2. Ingresa la clave de transferencia masiva para la que recibiste este error.

  3. Haz clic en el ícono Ejecutar. Anota el valor de la columna Nombre de clave de Google Cloud.

  4. Ingresa la transacción SM30 y, luego, abre la tabla /GOOG/CLIENT_KEY.

  5. Para el campo Nombre de la cuenta de servicio, asegúrate de que el valor especificado sea la dirección de correo electrónico de la cuenta de servicio que se creó para BigQuery Toolkit para SAP.

  6. Vuelve a ejecutar la replicación.

/GOOG/BQTR: 413 - Request Entity Too Large

Problema: La transferencia de datos falló con el mensaje de error /GOOG/BQTR: 413 - Request Entity Too Large.

Causa: Este problema puede deberse a que el tamaño de bytes del fragmento que envió BigQuery Toolkit para SAP superó el tamaño máximo de bytes para las solicitudes HTTP que BigQuery acepta. Esto puede ocurrir cuando el tamaño de los registros de la tabla o la cantidad de datos que contienen los registros hacen que el tamaño de bytes de un fragmento supere el límite de BigQuery.

Resolución: Reduce el tamaño de los fragmentos que envía BigQuery Toolkit para SAP para tu tabla. Puedes ajustar el tamaño de fragmento para ejecutar la transacción /GOOG/BQTR_SETTINGS o habilitar el tamaño de fragmento dinámico para ajustar automáticamente el tamaño de fragmento. Para obtener más información, consulte:

/GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME

Problema: Cuando intentas validar la seguridad de Google Cloud o cargar datos en una tabla de BigQuery, recibes el mensaje /GOOG/BQTR: 404 - Not found: Dataset DATASET_NAME.

Causa: Este problema puede deberse a las siguientes circunstancias:

  • El conjunto de datos de BigQuery aún no se creó.
  • El nombre del conjunto de datos no se especificó correctamente en la configuración de transferencia masiva.
  • Se debe activar la configuración de replicación en el módulo de BigQuery Data Transfer.

Solución: Prueba las siguientes soluciones:

  • Confirma que el conjunto de datos se creó en BigQuery.
  • Verifica que el nombre del conjunto de datos en la configuración de transferencia masiva sea el mismo que el nombre del conjunto de datos en BigQuery.

/GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN

Problema: La carga o la replicación de un registro falla con el mensaje /GOOG/BQTR : Unable to interpret VALUE as a BOOLEAN.

Causa: Este problema se debe a la asignación de un campo en la tabla de origen al tipo de datos de BigQuery BOOLEAN, pero los datos en el campo de origen no se resuelven en un booleano.

Solución: Para resolver el problema, usa la transacción /GOOG/BQTR_SETTINGS para cambiar el tipo de datos al que se asigna el campo de origen o quitar la asignación de tipo de datos y aceptar el tipo de datos predeterminado.

/GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS

Problema: La carga o la replicación de un registro falla con el mensaje /GOOG/BQTR: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS.

Causa: El campo de origen contiene un valor no válido o el campo de origen se asigna a un tipo de datos de BigQuery que no es una asignación válida para los datos que contiene el campo de origen.

Solución: Para resolver el problema, usa la transacción /GOOG/BQTR_SETTINGS a fin de cambiar el tipo de datos al que se asigna el campo de origen o quitar la asignación de tipo de datos y aceptar la asignación predeterminada.

/GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK

Problema: La replicación de un fragmento falló con un mensaje de error /GOOG/BQTR: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK.

Causa: Puede tener más de una causa, incluidas Invalid JSON Payload, Quota Exceeded, Request Entity Too Large o HTTP Communication Failure. El mensaje de error del fragmento que no se pudo replicar a BigQuery se muestra con el índice de inicio y fin del fragmento.

Se muestra este mensaje de error si no configuraste la marca BREAK en la transacción /GOOG/BQTR_SETTINGS. Cuando la marca BREAK no está configurada, BigQuery Toolkit para SAP continúa enviando registros a BigQuery mediante el envío del siguiente fragmento, incluso cuando se encuentra un error.

Solución: Prueba las siguientes soluciones:

  • Para los problemas Quota Exceeded, Request Entity Too Large o HTTP Communication Failure, sigue los pasos de solución de problemas de /GOOG/BQTR: 413 - Entidad de solicitud demasiado grande.
  • Detén la carga actual, borra la tabla de destino de BigQuery y, luego, reinicia una carga nueva.
  • Para dejar de enviar datos a BigQuery y finalizar el trabajo de replicación cuando se encuentra un fragmento con un error, configura la marca BREAK, que se recomienda en entornos de producción.

Para obtener información sobre cómo configurar la marca BREAK, consulta Especifica la creación de tablas y otros atributos generales.

Obtén asistencia de la comunidad

Haz tus preguntas y analiza BigQuery Toolkit para SAP con la comunidad en Cloud Forums.

Obtenga asistencia

Google Cloud ofrece asistencia para problemas y preguntas relacionados con la instalación, configuración, operación y mantenimiento de BigQuery Toolkit para SAP. Sin embargo, la asistencia se limita al kit de herramientas en sí.

Google Cloud no admite otros componentes del entorno, como la infraestructura de red, las bases de datos, los sistemas operativos ni el software de terceros. Si tienes problemas relacionados con componentes del entorno que no sean de BigQuery Toolkit para SAP, comunícate con el proveedor o proveedor de asistencia adecuado.

Para las funciones que ofrece SAP, como el aprovisionamiento de datos operativos (ODP) y SAP Landscape Transformation (SLT), comunícate con el equipo de asistencia de SAP para obtener ayuda.

Si necesitas ayuda para resolver problemas con el kit de herramientas de BigQuery para SAP, recopila toda la información de diagnóstico disponible y comunícate con el servicio de atención al cliente de Cloud.

Si deseas obtener más información para comunicarte con el equipo de Atención al cliente de Cloud, consulta Obtén asistencia para SAP en Google Cloud.