Saltar al contenido

Crear ABAP de vista CDAP simple en ADT

El CDS es una extensión del Diccionario ABAP que le permite definir modelos de datos semánticamente ricos en la base de datos y usar esos modelos de datos en sus programas ABAP. CDS es una parte integral para habilitar la inserción de código en aplicaciones ABAP.

Puede encontrar más información sobre CDS en el Documentación de palabras clave ABAP y el Pobal SAP.

Durante este tutorial, el nombre del objeto incluye el sufijo XXX. Reemplace siempre esto con su número de grupo o sus iniciales.


Paso 1: crear una vista de CDS

  1. En el menú contextual, seleccione su paquete Nuevo y luego seleccione Otro propósito del repositorio ABAP.

  2. Escoger Definición de datos, luego seleccione Hacia adelante.

    Imagen que muestra step2-DataDef

  3. Ingrese los siguientes valores, luego seleccione Hacia adelante:

    • Nombre Z_INVOICE_ITEMS_XXX
    • Descripción artículos de factura

    Imagen que muestra step3-enterValues

  4. Acepte la solicitud de transporte predeterminada (local) simplemente seleccionando Hacia adelante otra vez.

    Imagen que muestra el paso 4: AcceptTransportRequest

  5. Seleccione la entrada Definir visual, luego seleccione Finalizar

    Imagen que muestra step5-defineView

Hecho

Inicie sesión para responder la pregunta

Paso 2: ingrese la fuente de datos

La nueva escena aparece en un editor. Ignore el error a partir de ahora. En este editor, ingrese los siguientes valores:

  1. Ingresar Z_ITEMS_XXX como nombre de vista SQL.

  2. Entrar en la vista CDS sepm_sddl_so_invoice_item como fuente de datos para su opinión. Puede obtener propuestas para la fuente de datos ingresando algunos caracteres y luego usando la finalización de código (método abreviado de teclado CTRL + ESPACIO).

    Imagen que muestra el paso 6-enterDataSourceEtcImagen que muestra la fuente de datos step6b-auto-complete-data

El nombre de la vista SQL es el nombre interno / técnico de la vista que se creará en la base de datos. Z_Invoice_Items es un nombre para la vista CDS que proporciona capacidades mejoradas para construir ABAP. Siempre debe utilizar el nombre visual de CDS en sus aplicaciones ABAP.

Hecho

Inicie sesión para responder la pregunta

Paso 3: Edite la instrucción SELECT

Ahora ingresarás a los campos currency_code y gross_amount en la lista SELECT de la siguiente manera:

  1. Complete un código de activación en la lista SELECT (haciendo clic en la lista SELECT y usando un atajo de teclado CTRL + ESPACIO), luego haga doble clic en la entrada Ingrese todas las características – plantilla. Todos los elementos (campos y asociaciones) de la fuente de datos original se agregan a la lista SELECT.

  2. Elimine todos los elementos de la lista SELECT enviada para completar el código en su lugar currency_code y gross_amount. Recuerde separar los elementos de la instrucción SELECT con una coma.

    Imagen que muestra el paso 7A-InsertAll-cropImagen que muestra step7-Select1

Hecho

Inicie sesión para responder la pregunta

Paso 4: use una asociación de CDS existente

Ahora modelará las relaciones entre las fuentes de datos utilizando algunas asociaciones de CDS existentes. Puede utilizar asociaciones en expresiones de ruta para acceder a elementos (campos y asociaciones) en fuentes de datos relacionadas sin especificar Condiciones. Ahora puede mostrar la información del elemento colocando el cursor sobre el nombre de la fuente de datos sepm_sddl_so_invoice_item y eligiendo F2.

Para ver las fuentes de datos relacionadas a las que se puede acceder a través de asociaciones, desplácese hacia abajo.
Para ver detalles sobre la fuente de datos del encabezado de la asociación, seleccione el hipervínculo sepm_sddl_so_invoice_header.

Imagen que muestra step8-CdsAssociations

Hecho

Inicie sesión para responder la pregunta

Paso 5: agregue campos de asociaciones existentes

Ahora agregará campos de fuentes de datos relacionadas a la lista SELECT de Z_Invoice_Items, usando las asociaciones en expresiones de ruta. Cada elemento de la expresión de la ruta debe estar separado por un punto.

  1. Agregar la asociación header a su lista de selección, y comente si es posible, agregando el siguiente código. no olvides agregar una coma después del artículo anterior, gross_amount:

    Imagen que muestra la asociación step5

  2. Obtendrá un error, «Se debe incluir un encabezado de campo en la lista de selección junto con un campo SEPM_SDDL_SO_INVOICE_ITEM.SALES_ORDER_INVOICE_KEY”. Resuelve esto agregando el campo sepm_sddl_so_invoice_item.sales_order_invoice_key con la instrucción Select.

  3. Pon el company_name del socio comercial en la lista SELECT utilizando las asociaciones encabezamiento y comprador en expresión de camino

  4. Pon el payment_status desde el encabezado de la factura a la lista SELECT cuando se usa la asociación encabezamiento

    Imagen que muestra step9-AddRelatedFields

Hecho

Inicie sesión para responder la pregunta

Paso 6: adjunte una declaración CASE

Si la factura ha sido pagada, desea que el payment_status a X (verdadero). Haga esto aplicando una expresión SIP y asignando el alias payment_status con la expresión CASE.

Eliminar declaración existente, header.payment_status, y reemplácelo con el siguiente código. No te olvides de separar payment_status y header con una coma.

case header.payment_status
    when 'P' then 'X'
    else ' '
end as payment_status,

Imagen que muestra el paso Declaración de 10 casos

Puede verificar su código a continuación.

Hecho

Inicie sesión para responder la pregunta

Paso 7: agregue una cláusula PLACE

Ahora filtrará los resultados para que solo se agreguen los elementos de la factura currency_code = 'USD' para recuperar.

  1. Agregar cláusula PLACE:


    WHERE currency_code = 'USD'

    Imagen que muestra el paso 12-LUGAR

  2. Guarde y active la definición de datos seleccionando Salvar (Ctrl+S) y Activar (Ctrl+F3).

    Imagen que muestra el paso 14: guardar y activar

Hecho

Inicie sesión para responder la pregunta

Paso 8: verifique su código y observe sus cambios

Su código de vista de CDS debería verse así:


@AbapCatalog.sqlViewName: 'ZITEMS_XXX' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS View for "Use-cds-view" tutorial' define view Z_Invoice_Items_2 as select from sepm_sddl_so_invoice_item { header.buyer.company_name, sepm_sddl_so_invoice_item.sales_order_invoice_key, sepm_sddl_so_invoice_item.currency_code, sepm_sddl_so_invoice_item.gross_amount, case header.payment_status when 'P' then 'X' else ' ' end as payment_status, //* Associations *// header } where currency_code = 'USD'

Abra la vista CDS en la vista previa de datos seleccionando F8. Su vista de CDS debería verse así:

Imagen que muestra la vista previa de datos del paso 15

Hecho

Inicie sesión para responder la pregunta