Modelo de datos virtual (VDM)
El modelo de datos virtual (VDM) es el conjunto de vistas ABAP CDS organizado en capas que SAP incluye en SAP S/4HANA y que convierte las tablas de base de datos en entidades orientadas al negocio: basic y composite interface views para la reutilización, y consumption views para aplicaciones y consultas concretas. El modelo de datos virtual es el fundamento de datos común para las aplicaciones SAP Fiori, el análisis integrado y las API.
Datos clave
- Tipo
- Modelo de datos en capas de vistas ABAP CDS
- Capa
- Lógica de negocio y modelo de datos
- Tipos de vista
- Basic y composite interface views, consumption views, restricted reuse views
- Nomenclatura
- I_ (interface), C_ (consumption), R_ (restricted reuse), A_ (API remota)
- Se explora con
- App View Browser (F2170), ABAP Development Tools
- Quién trabaja con ello
- Desarrolladores ABAP y de análisis, key users, arquitectos de integración
- Se aplica a
- SAP S/4HANA (todas las opciones de implementación)
Capa: Lógica de negocio y modelo de datosDónde se ubica ▾
Capa: Lógica de negocio y modelo de datos
Abrir el mapa de arquitectura →¿Cómo está estructurado el modelo de datos virtual?
El modelo de datos virtual apila vistas CDS sobre las tablas de base de datos, y cada capa solo puede leer de la capa inferior:
- Las basic interface views se apoyan directamente en las tablas y son las únicas vistas del VDM que las leen. Renombran los campos crípticos de las tablas con términos de negocio y añaden anotaciones y asociaciones. Anotación:
@VDM.viewType: #BASIC. - Las composite interface views combinan basic views u otras composite views en nuevas entidades semánticas, por ejemplo un cubo para análisis. Anotación:
@VDM.viewType: #COMPOSITE. - Las consumption views sirven a un único propósito, como una aplicación transaccional o analítica concreta. Son el único tipo de vista del VDM que puede actuar como consulta analítica. Anotación:
@VDM.viewType: #CONSUMPTION.
Las basic y composite views forman la capa de reutilización; una vista de reutilización representa normalmente un nodo de business object, como I_SalesOrder. Las restricted reuse views son parecidas, pero están pensadas solo para la reutilización interna de SAP. El modelo de datos virtual es, por tanto, un contrato entre capas, no solo una colección de vistas.
¿Cómo se reconocen las vistas del VDM por su nombre?
La convención de nomenclatura de SAP indica el tipo de vista en un prefijo, seguido de un nombre semántico y de sufijos opcionales:
| Prefijo | Tipo de vista |
|---|---|
| I_ | Basic o composite interface view |
| C_ | Consumption view |
| R_ | Restricted reuse view |
| P_ | Private view |
| A_ | Remote API view |
| X_ / E_ | View extend / extension include view |
Los sufijos precisan la finalidad: Query para las consultas analíticas, Cube para las vistas de cubo, TP para las vistas de procesamiento transaccional y Text para las vistas de textos. Un número de versión como _2 identifica una vista sucesora.
Una trampa: en la guía de nomenclatura de SAP para el desarrollo RAP personalizado, R_ identifica la base view entity de un business object, mientras que en el modelo de datos virtual de SAP S/4HANA R_ identifica las restricted reuse views. El prefijo de una vista del VDM le indica su función prevista antes de abrirla.
¿Sobre qué vistas del VDM pueden construir los clientes?
Visibilidad no es permiso. Solo es seguro reutilizar las vistas que SAP ha liberado bajo el contrato de estabilidad C1, y SAP solo las libera para determinados tipos de vista:
- Pueden liberarse para los clientes: basic y composite interface views, consumption views de tipo consulta analítica y funciones de derivación.
- Normalmente internas de SAP: restricted reuse views, remote API views, private views y abstract entities.
La liberación puede ser para la extensibilidad key user, usada en aplicaciones como Custom CDS Views, o para el desarrollo en la nube en ABAP Cloud. Las vistas no liberadas pueden cambiar en cualquier actualización. Para comprobar una vista, ábrala en la app View Browser o consulte su estado de API en ABAP Development Tools. En el modelo de datos virtual, es el estado de liberación, no la existencia, lo que decide de qué puede depender una extensión personalizada.
¿Para qué se usa el modelo de datos virtual?
- Aplicaciones SAP Fiori: las vistas de procesamiento transaccional forman business objects RAP, y las consumption views alimentan las aplicaciones SAP Fiori elements a través de servicios OData.
- Análisis integrado: las composite views con forma de cubos y dimensiones, coronadas por consumption views de consulta analítica, alimentan las aplicaciones analíticas sin replicar datos.
- API: las remote API views constituyen la base de las API externas publicadas en el SAP Business Accelerator Hub.
- Extensiones: los key users construyen vistas CDS personalizadas sobre interface views liberadas, por ejemplo una vista de pedidos de compra abiertos por proveedor para Alder Manufacturing, en lugar de leer tablas.
- Extracción de datos: la anotación Analytics.dataExtraction.enabled marca las vistas como aptas para la replicación de datos, por ejemplo hacia SAP BW/4HANA.
El modelo de datos virtual ofrece a las aplicaciones, al análisis y a las integraciones un vocabulario de negocio compartido en lugar de lectores de tablas independientes.
¿Cuáles son los errores comunes con el modelo de datos virtual?
- Construir sobre una vista no liberada. Funciona hasta que la siguiente actualización la modifica. Compruebe primero el estado de liberación.
- Reutilizar consumption views como componentes. Las consumption views sirven a una sola aplicación; construya en su lugar sobre interface views.
- Leer tablas junto al VDM. El código personalizado que evita las basic views pierde los nombres de campo de negocio, las asociaciones y los controles de acceso.
- Interpretar mal R_. Las restricted reuse views no son para la reutilización por parte de los clientes, diga lo que diga una convención de nomenclatura personalizada.
La mayoría de los problemas con el modelo de datos virtual provienen de ignorar las reglas de capas y de liberación que mantienen estable el modelo.
Modelo de datos virtual frente a vistas ABAP CDS: ¿cuál es la diferencia?
| Vistas ABAP CDS | Modelo de datos virtual | |
|---|---|---|
| Qué es | Una tecnología de modelado de la plataforma ABAP | El conjunto organizado de vistas CDS de SAP para SAP S/4HANA |
| Quién lo crea | Cualquiera que desarrolle en ABAP | SAP, con vistas de cliente construidas sobre partes liberadas |
| Estructura | Cualquier vista, con cualquier fuente de datos | Capas fijas: basic, composite, consumption |
| Reglas | Reglas del lenguaje CDS | Capas, prefijos de nomenclatura y contratos de liberación |
Las vistas ABAP CDS son la tecnología; el modelo de datos virtual es el uso gobernado que SAP hace de esa tecnología para SAP S/4HANA.
Preguntas frecuentes
¿Qué significan los prefijos I_ y C_ en las vistas CDS de SAP?
En el modelo de datos virtual de SAP S/4HANA, I_ identifica las interface views, que son vistas de reutilización basic o composite, y C_ identifica las consumption views construidas para una aplicación o una consulta analítica concreta. Otros prefijos son R_ para las restricted reuse views y A_ para las remote API views.
¿Puedo usar cualquier vista del VDM en mis propios desarrollos?
No. Solo es seguro construir sobre las vistas liberadas por SAP bajo el contrato de estabilidad C1, ya sea para la extensibilidad key user o para el desarrollo en la nube. Las vistas no liberadas son visibles en el sistema, pero pueden cambiar en cualquier actualización sin previo aviso.
¿El modelo de datos virtual está disponible en SAP ECC?
No. El modelo de datos virtual forma parte de SAP S/4HANA y está documentado para sus ediciones cloud y on-premise, no para SAP ERP (ECC). Las vistas CDS personalizadas pueden ser técnicamente posibles en ECC, pero no le aportan las capas del VDM de SAP.
¿Cómo encuentro la vista del VDM adecuada para un business object?
Busque por el nombre del business object en la app View Browser o en ABAP Development Tools, dé preferencia a las vistas I_ liberadas para la reutilización y compruebe las anotaciones y el estado de liberación de la vista. Las interface views suelen seguir los nombres de los business objects, como I_SalesOrder.
Fuentes
- SAP Help Portal: VDM Layers and View Types (SAP S/4HANA)
- SAP Help Portal: Naming Conventions in the Virtual Data Model (SAP S/4HANA)
- SAP Help Portal: VDM.viewType annotation (ABAP CDS)
- SAP Help Portal: Naming Conventions for Development Objects (RAP)
- SAP Fiori Apps Reference Library: View Browser (F2170)
- Se aplica a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition
- Última revisión