La anotación VDM – Virtual Data Model permite la clasificación de vistas CDS por el modelo de datos en términos de sus opciones de reutilización admisibles y contenido aprovisionado. VDM está destinado a ser interpretado por los navegadores de visualización y otras funcionalidades que se basan en el modelo de datos virtual. Esta clasificación se usa solo para la estructuración e interpretación interna de SAP de las vistas de CDS. La liberación de vistas de CDS para clientes y socios se controla mediante una clasificación interna adicional de las vistas.
Anotación VDM:
- @VDM.viewType:
- Significado: define el tipo de una vista VDM.
- Alcance: #TABLE FUNCTION, #VIEW
- Valores:
- #BASIC – Vistas BÁSICAS que forman la base de datos básicas, sin redundancias de datos.
- COMPOSITE – Vistas INTERMEDIAS que proporcionan datos derivados y / o compuestos, a partir de las vistas BÁSICAS.
- CONSUMPTION – Vistas de consumo que sirven para fines específicos de la aplicación y se pueden definir en función de las vistas de la interfaz pública (por ejemplo, BASIC y COMPOSITE).
Las vistas de interfaz privada (por ejemplo, BÁSICO y COMPUESTO) representan vistas de ayuda técnica que solo se pueden usar por sus responsables de definición.
Alcance: #TABLE FUNCTION, #VIEW
Ejemplo de vista con la anotación VDM:
@VDM.viewType: #BASIC
define view ZB_VENTA … {
key SalesOrder,
…
}
Caso práctico
Para esta lección creamos primero una vista CDS básica con el nombre ZB_08_GVALER y el nombre ZVB_08_GVALER en la anotación @AbapCatalog.sqlViewName de la vista del diccionario de datos. Como fuente de datos utilizamos las tablas de base de datos estándar MARA. El CDS debe publicar como elementos las siguientes columnas:
- MATNR (elemento clave)
- ERSDA
- ERNAM
- LAEDA
- MAINS
- BRGEW
- NTGEW
- GEWEI
- VOLUM
- VOLEH
A continuación, creamos el CDS con el nombre ZB_09_GVALER y el nombre ZVB_09_GVALER en la anotación @AbapCatalog.sqlViewName de la vista del diccionario de datos. Esta entidad es una vista intermedia (#COMPOSITE) que utiliza como fuente de datos la tabla estándar MARC y una asociación con el CDS anteriormente creado ZB_08_GVALER. El CDS publica los siguientes elementos con los nombres alias y características semánticas:
Fuente | Nombre columna | Nombre alias | Característica semántica |
_Asociación | MATNR (clave) | Material | |
MARC | WERKS (clave) | Plant | |
_Asociación | ERSDA | CreatedOn | businessDate.createdAt: true |
_Asociación | ERNAM | PersonNameCreated | name.fullName: true |
_Asociación | LAEDA | LastChangeDate | businessDate.lastChangedAt: true |
_Asociación | MAINS | BaseUnit | quantity.unitOfMeasure: ‘WeightUnit’ |
_Asociación | BRGEW | GrossWeight | quantity.unitOfMeasure: ‘WeightUnit’ |
_Asociación | NTGEW | NetWeight | quantity.unitOfMeasure: ‘WeightUnit’ |
_Asociación | GEWEI | WeightUnit | unitOfMeasure: true |
_Asociación | VOLUM | Volume | quantity.unitOfMeasure: ‘VolumeUnit’ |
_Asociación | VOLEH | VolumeUnit | unitOfMeasure: true |
Procedimiento:
- Creamos el CDS – Vista básica
- CDS – Vista intermedia
No entendí nada