CDS DEFINE TYPE “simple_type”

CDS DEFINE TYPE “simple_type”

CDS DEFINE TYPE – En el mundo de SAP ABAP Core Data Services (CDS), es fundamental comprender el concepto de CDS simple types en el Type Definition Language (TDL). En este artículo, explicaremos de manera sencilla qué es DEFINE TYPE simple_type, sus usos y te proporcionaremos un ejemplo práctico para que puedas aplicarlo en tus propios desarrollos.

¿Qué es CDS DEFINE TYPE "simple_type” en CDS TDL?

El comando DEFINE TYPE simple_type permite definir un tipo de dato simple en ABAP CDS. Es una forma nativa de establecer un tipo de dato elemental que puede ser utilizado en diversas entidades de CDS y en ABAP.

Algunas características clave de un CDS simple type incluyen:

  • Puede basarse en un tipo de datos incorporado de ABAP Dictionary (dtype).
  • Puede derivarse de un data element (elemento de datos).
  • Puede basarse en otro simple type ya existente (hasta un máximo de 5 niveles de anidación).
  • Puede incluir anotaciones opcionales que añadan metadatos.

¿Dónde se pueden usar los CDS DEFINE TYPE ?

Estos tipos de datos se pueden utilizar en diversos contextos dentro de CDS, tales como:

  • La definición de otros CDS simple types.
  • Expresiones cast en CDS view entities y CDS projection views.
  • Tipos de elementos en CDS custom entities y CDS abstract entities.
  • Tipos de parámetros en entidades CDS.
  • Tipos de CDS virtual elements en proyecciones CDS.
  • Definición de parámetros en funciones escalares basadas en SQL.

Es importante tener en cuenta que los CDS simple types no pueden usarse en CDS basados en DDIC views (obsoletos), ni en objetos DDIC como tipos de datos DDIC o vistas DDIC.

Paso a Paso: ¿Dónde y Cómo Crear un CDS DEFINE TYPE ?

Para definir un CDS simple type, sigue estos pasos:

1. Abre tu entorno de desarrollo ADT (ABAP Development Tools):

  • Accede a Eclipse con el plugin ADT instalado.
  • Conéctate a tu sistema SAP.

2. Crea un Nuevo Objeto CDS DEFINE TYPE:

  • En el Explorador de Proyectos, haz clic derecho en tu paquete de desarrollo.
  • Selecciona NuevoOtro.
  • Busca y selecciona Core Data Services (CDS) – Type.
  • Asigna un nombre a tu archivo, por ejemplo: ZDEMO_SIMPLE_TYPE.
CDS DEFINE TYPE

3. Define el CDS DEFINE TYPE simple_type dentro del archivo CDS:

@EndUserText.label: 'Tipo de datos para identificadores de clientes'
define type customer_id_type : abap.char(10);

5. Uso del CDS DEFINE TYPE simple_type en una CDS View Entity:

@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Vista de clientes con tipo personalizado'
define view entity ZCUSTOMER_VIEW
  with parameters
    p_customer_id : customer_id_type
  as select from zcustomers
{
  key id as CustomerID,
      name as CustomerName,
      $parameters.p_customer_id as InputCustomerID
}

Explicación del Ejemplo CDS DEFINE TYPE:

  1. Se crea un simple type customer_id_type basado en abap.char(10), lo que significa que almacena cadenas de hasta 10 caracteres.
  2. Se define una CDS view entity llamada ZCUSTOMER_VIEW.
  3. En la vista, se declara un parámetro p_customer_id que utiliza el simple type creado.
  4. Se seleccionan los campos id y name de la tabla zcustomers, permitiendo trabajar con customer_id_type como un tipo reutilizable.

Conclusión CDS DEFINE TYPE

Los CDS simple types son una herramienta poderosa en el desarrollo de ABAP CDS, permitiendo definir tipos reutilizables y fáciles de manejar dentro del entorno SAP. Su flexibilidad y compatibilidad con expresiones cast, parámetros y vistas CDS los convierten en una opción ideal para estandarizar el manejo de datos.

Si estás iniciando en CDS, comienza por definir y utilizar simple types en tus vistas y entidades. Experimenta con distintas anotaciones y tipos de datos para optimizar tu desarrollo en SAP ABAP.

Documentación Oficial sobre CDS DEFINE TYPE en SAP ABAP

Visita la documentación oficial de este tema en el siguiente enlace.