Desea aprender a definir objetos en Dictionary ABAP y ABAP Core Data Services. En el primer paso, prepare el entorno de desarrollo ABAP, cree un nuevo paquete y analice algunos objetos existentes.
Prerrequisitos
Si desea realizar los ejercicios como se describe en este recorrido de aprendizaje, necesita acceso a un sistema de práctica dedicado. Si ya ha reservado un sistema para una de las otras partes del recorrido de aprendizaje, puede seguir utilizando este sistema para la tercera parte. Si aún no ha reservado un sistema de práctica, siga este enlace para obtener más detalles: https://learning.sap.com/practice-systems/data-modelling-in-abap-dictionary-and-abap-core-data-services
Además del URL de instancia de servicio ABAP, que recibirá durante el proceso de reserva, necesita una instalación local del IDE de Eclipse con el plug-in Herramientas de desarrollo ABAP instalado en la parte superior. Siga este enlace para obtener instrucciones paso a paso https://developers.sap.com/tutorials/abap-install-adt.html.
Tarea 1: Preparar el proyecto
En Eclipse, cree un proyecto ABAP Cloud y añada el paquete /LRN/S4D430_EXERCISE a la lista de paquetes favoritos. En el proyecto ABAP Cloud, cree un nuevo paquete en el paquete superior ZLOCAL (nombre sugerido: ZS4D430_##, donde ## es su número de grupo) y añádalo también a los paquetes favoritos.
Pasos
Abra Eclipse, cambie a la perspectiva ABAP y cree un proyecto ABAP Cloud.
Nota
Si acaba de finalizar el curso Profundizar en su conocimiento de programación ABAP y ya tiene abierto su proyecto ABAP Cloud en Eclipse, puede omitir este paso.
Abra Eclipse.
Seleccione Ventana→Perspectiva→Abrir perspectiva→Otros...
En la ventana de diálogo, haga doble clic en ABAP.
Seleccione Archivo→Nuevo→Proyecto ABAP Cloud.
Proceda de la siguiente manera en el diálogo Nuevo proyecto en la nube ABAP que aparece:
Si se le ha proporcionado el URL de instancia de servicio ABAP:
- Copie y pegue esta URL en el campo correspondiente del diálogo.
- Seleccione Siguiente.
Si se le ha asignado un archivo que contiene la clave de servicio:
- Seleccione el enlace Extraer en el diálogo.
- Seleccione Importar... y seleccione el archivo con la clave de servicio.
- Después de importar, haga clic en Copiar en el portapapeles para copiar el URL de instancia de servicio.
- Seleccione Cerrar.
- En la parte superior del cuadro emergente del campo URL de instancia de servicio ABAP:*, pegue el URL de instancia de servicio ABAP con la combinación de teclas Ctrl + V.
- Seleccione Siguiente.
Seleccione Abrir página de inicio de sesión en navegador.
Se le pedirá que inicie sesión en el sistema.
Introduzca el usuario y la contraseña que utilizó para registrarse en SAP Learning Hub.
Cuando vea el mensaje, Ha iniciado sesión correctamente, cierre la ventana del navegador y vuelva a Eclipse.
Para finalizar la creación del proyecto, seleccione Finalizar.
Añada el paquete /LRN/S4D430_EXERCISE a la lista de paquetes favoritos.
En el Explorador de proyectos de la izquierda, despliegue su proyecto en la nube ABAP y, a continuación, subnodo Paquetes favoritos.
Haga clic con el botón derecho en Paquetes favoritos y seleccione Añadir paquete ....
En el campo de búsqueda, introduzca /LRN/S4D430.
En la lista de posiciones coincidentes, seleccione /LRN/S4D430_EXERCISE y, a continuación, OK.
En su proyecto de ABAP Cloud, cree un paquete con los atributos enumerados en la tabla. Cuando se le solicite un transporte, seleccione la orden de transporte en la que está implicado. Si no se enumera ninguna orden de transporte, cree una orden nueva.
| Campo | Valor |
|---|
| Nombre | ZS4D430_##, donde ## es su número de grupo |
| Descripción | Modelado en ABAP |
| Añadir a paquetes favoritos | Verificado |
| Paquete superior | ZLOCAL |
| Tipo de paquete | Desarrollo |
| Versión del componente | ZLOCAL |
| Componente de aplicación | Deje este campo en blanco |
| Capa de transporte | Deje este campo en blanco |
En el Explorador de proyectos, haga clic con el botón derecho en su proyecto en la nube ABAP y seleccione Nuevo→Paquete ABAP.
Introduzca el nombre del paquete ZS4D430_## donde ## es su número de grupo.
Introduzca la descripción Modelado en ABAP.
Marque la casilla de selección Añadir a paquetes favoritos
Introduzca el paquete superior ZLOCAL.
Asegúrese de que el Tipo de paquete esté fijado en Desarrollo.
Seleccione Siguiente.
Asegúrese de que el componente de software esté fijado en ZLOCAL.
Asegúrese de que el componente de aplicación esté vacío.
Asegúrese de que la capa de transporte esté vacía.
Seleccione Siguiente.
Verifique si existe una orden de transporte en la opción Seleccionar de las órdenes en las que estoy implicado. Si este es el caso, seleccione esta opción. Si la lista está vacía, seleccione la opción Crear una solicitud nueva e introduzca una descripción de la solicitud, por ejemplo, Ejercicios ABAP.
Seleccione Finalizar.
Tarea 2: Analizar objetos
Analice el contenido del paquete /LRN/S4D430_INTRO.
Nota
El paquete /LRN/S4D430_INTRO es un subpaquete del paquete /LRN/S4D430_EXERCISE.
Pasos
En la vista Explorador de proyectos, despliegue el diccionario→/LRN/S4D430_EXERCISE→/LRN/S4D430_INTRO y analice el contenido.
De forma similar, despliegue /LRN/S4D430_EXERCISE→/LRN/S4D430_INTRO→Core Data Services y analice el contenido.
Tarea 3: Explorar uso en ABAP
Cree una clase ABAP que implemente la interfaz IF_OO_ADT_CLASSRUN (nombre sugerido: ZCL_##_INTRO, donde ## representa su número de grupo). Utilice la compleción de código para explorar qué objetos del paquete /LRN/S4D430_INTRO puede utilizar como tipos de datos y como fuente de datos en una sentencia SELECT.
Pasos
En su paquete, cree una nueva clase ABAP (nombre sugerido: ZCL_##_INTRO, donde ## representa su número de grupo).
En la vista Explorador de proyectos, haga clic con el botón derecho en el paquete Z##_S4D430 para abrir el menú contextual.
En el menú contextual, seleccione Nueva→clase ABAP.
Confirme que el campo Paquete contiene el nombre del paquete. Introduzca el nombre de la nueva clase en el campo Nombre y Analizar diccionario y CDS en el campo Descripción.
Seleccione Añadir....
En la ventana de diálogo, introduzca IF_OO_ADT_CLASSRUN y seleccione OK.
De nuevo en la ventana anterior, seleccione Siguiente.
Confirme la orden de transporte y seleccione Finalizar.
En el método IF_OO_ADT_CLASSRUN~MAIN, declare una variable del tipo string (nombre sugerido: var).
Ajuste el código de la siguiente manera:
1234567
METHOD if_oo_adt_classrun~main.
DATA var TYPE string.
ENDMETHOD.
Sustituya el tipo string por un objeto del paquete /LRN/S4D430_INTRO. Utilice la finalización de código para averiguar qué objetos puede utilizar como tipos de datos.
Nota
Todos los objetos del paquete /LRN/S4D430_INTRO tienen un nombre que empieza por /LRN/S4D430_IND.
Elimine string.
Introduzca /LRN/S4D430_IND y pulse Ctrl + Espacio para llamar la finalización de código.
Implemente una sentencia SELECT que lea de la tabla de base de datos /LRN/S4D430_IND.
Consejo
Para mantenerlo simple, lea todos los campos (FIELDS *), todas las filas (sin cláusula WHERE) y utilice una declaración en línea en la cláusula INTO TABLE.
Añada el código siguiente:
12345
SELECT FROM /lrn/s4d430_ind
FIELDS *
INTO TABLE @DATA(result).
Sustituya /lrn/S4D430_ind en la cláusula FROM por otro objeto del paquete /LRN/S4D430_INTRO. Use la finalización de código para averiguar qué objetos puede usar como origen de datos.
Nota
Todos los objetos del paquete /LRN/S4D430_INTRO tienen un nombre que empieza por /LRN/S4D430_IND.
En la cláusula FROM, coloque el cursor inmediatamente después de /LRN/S4D430_IND.
Presione Ctrl + Espacio para invocar la finalización del código.