Compatibilidad con Cortex Framework v6

El contenido de compatibilidad con v6 proporciona una capa compatible con el esquema para las cargas de trabajo de Cortex Framework v6 dentro de la arquitectura de Cortex Framework v7. Esto te permite migrar a Cortex Framework v7 sin interrumpir los recursos de estadísticas existentes, como los paneles de Looker o los modelos semánticos de LookML.

Fuentes de datos compatibles

El framework proporciona contenido de compatibilidad con v6 para las fuentes de datos de SAP ECC y SAP S/4HANA.

Cómo funciona

El contenido de compatibilidad con v6 actúa como un adaptador entre los modelos de datos de v7 y tus recursos de informes heredados:

  • Vistas compatibles con el esquema: Exponen los nombres, las columnas y las mayúsculas y minúsculas de las vistas de informes exactamente como aparecían en Cortex Framework (v6).
  • Aislamiento de destino: Aísla las vistas de compatibilidad de las tablas principales de Cortex Framework implementándolas dentro de un espacio de nombres independiente (cortex_v6_compatibility) y un conjunto de datos de destino de BigQuery dedicado.

Implementa el contenido de compatibilidad

Para implementar el contenido de compatibilidad con Cortex Framework v6, completa los siguientes pasos:

  • Configura un conjunto de datos de destino de BigQuery dedicado.
  • Habilita los módulos de compatibilidad con v6 en el archivo config.yaml.
  • Ejecuta las secuencias de comandos de compilación e implementación de Google Cloud Cortex Framework.
  • Ejecuta las canalizaciones de Dataform.

Conjunto de datos de destino dedicado

Debes implementar el contenido de compatibilidad con v6 en un conjunto de datos de BigQuery independiente. Esto evita el ocultamiento del espacio de nombres y las colisiones de tablas físicas, ya que muchas tablas que usa el contenido de compatibilidad comparten nombres físicos idénticos (como cost_centers, profit_centers, billing y deliveries) con las tablas principales de Cortex Framework v7.

Para crear el conjunto de datos de BigQuery dedicado, agrega cortex_v6_compatibility_target a tu archivo config.yaml:

data:
  datasets:
    - id: product_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_dataproducts # Core v7 tables
    - id: cortex_v6_compatibility_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_cortex6 # Compatibility v6 tables

Configura Cortex Framework

Para registrar y activar la capa de compatibilidad en tu archivo config.yaml, debes completar las siguientes tareas:

  • Configura el conjunto de datos de destino dedicado.
  • Registra el espacio de nombres de compatibilidad.
  • Configura el atributo habilitado como true para todos los siguientes módulos de compatibilidad con Cortex Framework v6:

  • sap_cortex_v6_compatibility_master_data

  • sap_cortex_v6_compatibility_accounts_payable

  • sap_cortex_v6_compatibility_finance

  • sap_cortex_v6_compatibility_inventory

  • sap_cortex_v6_compatibility_purchasing

  • sap_cortex_v6_compatibility_sales

En el siguiente ejemplo, se muestran los cambios de configuración necesarios para habilitar sap_cortex_v6_compatibility_inventory:

data:
  datasets:
    - id: cortex_v6_compatibility_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_cortex6

  namespaces:
    - name: cortex_v6_compatibility
      path: ../src/data_modules/cortex_v6_compatibility

  modules:
    products:
      - moduleId: sap_cortex_v6_compatibility_inventory
        modulePath: cortex_v6_compatibility.sap.products.inventory
        enabled: true # If using configuration file based on config.yaml.example, ensure the `enabled` flag is set to `true`
        syncToKc: false
        dependencyBindings:
          sapModule: erp
          sapMasterData: sap_cortex_v6_compatibility_master_data
          sapSales: sap_cortex_v6_compatibility_sales
        dataTargetId: cortex_v6_compatibility_target
        moduleSettings:
          targetCurrencies: ['USD']
          rateType: 'M'
          languages: ['E']

#    You must ensure the `enabled` flag is set to `true` for all of the listed dependent modules. In this example:
#   `sap_cortex_v6_compatibility_master_data`
#   `sap_cortex_v6_compatibility_sales`

Requisitos operativos

Te recomendamos que habilites todos los módulos de compatibilidad con Cortex Framework v6 al mismo tiempo. El contenido de compatibilidad contiene dependencias entre módulos (por ejemplo, las vistas de facturación dependen de las tablas de datos maestros y las vistas de instantáneas de inventario dependen de las dimensiones de calendario). Habilitarlos juntos evita errores de dependencia en Dataform.

Instantáneas de inventario

Debes configurar y ejecutar las tablas de instantáneas de inventario (stock_weekly_snapshots y stock_monthly_snapshots) como tablas incrementales. En Cortex Framework v6, las instantáneas de inventario calculan un total acumulativo continuo de cantidades y valores de stock:

  1. Ejecución inicial: Las tablas procesan todo el historial de transacciones de movimiento para establecer los niveles de stock iniciales.
  2. Ejecuciones posteriores: Dataform procesa solo los movimientos publicados desde la última ejecución de instantánea y los agrega a los totales acumulativos del período anterior.

Si ejecutas estas tablas en modo de actualización completa (no incremental), vuelven a calcular todo el historial de movimientos desde cero en cada ejecución. Este enfoque es muy ineficiente, costoso y puede causar cálculos acumulativos incorrectos si las tablas de origen contienen brechas de fechas. Mantén el tipo de materialización de estas tablas configurado como incremental (la configuración predeterminada).

Crea e implementa el contenido de compatibilidad

Para crear e implementar el contenido de compatibilidad, sigue las instrucciones de la documentación de Implementación y posterior a la implementación.