Creación de tablas de bases de datos

Objectives

After completing this lesson, you will be able to:
  • Cree una definición de tabla.
  • Editar la lista de campos de una tabla de base de datos.
  • Actualizar propiedades de tabla adicionales.
  • Definir y utilizar estructuras Include.

Creación de definición de tabla

Al crear una definición de tabla de base de datos, el editor empieza a partir de un modelo que ilustra la disposición básica del código fuente. Consta de las tres partes siguientes:

Atributos de tabla semántica

Las líneas de código que empiezan con el signo @ se denominan anotaciones y definen atributos de tabla semántica. Los atributos semánticos están predefinidos en los valores más comunes. Los analizaremos más adelante en este curso.

Definir sentencia de tabla

La sentencia define table va seguida del nombre de la tabla de base de datos. Este nombre se especifica al crear el objeto de desarrollo. Si lo modifica en el código fuente, se producirá un error de sintaxis.

Lista de campos

El par de paréntesis después del nombre de la tabla contiene la lista de campos de la tabla. Cada definición de campo termina con un punto y coma ( ; ), y se compone de un nombre de campo y un tipo de campo separados por dos puntos ( : ). El modelo para definiciones de tabla de base de datos sugiere un primer campo de tabla con nombre cliente y tipo abap.clnt. Mantenga este campo para asegurarse de que su tabla sigue siendo dependiente del mandante.

Cómo crear una nueva definición de tabla

Reproduzca el vídeo para ver cómo crear una nueva definición de tabla.

Tratamiento de lista de campos

Al editar la lista de campos de una tabla de base de datos, se recomienda utilizar elementos de datos. Si el elemento de datos ya existe, puede empezar a escribir su nombre después del signo de dos puntos y, a continuación, pulsar Ctrl + Intro para ver una lista de elementos de datos coincidentes. Desplácese hacia arriba y hacia abajo en la lista para visualizar detalles de los elementos de datos, por ejemplo, el tipo base, la descripción y los textos de etiqueta de campo.

Si no hay ningún elemento de datos que desee utilizar, puede crear uno directamente utilizando una corrección rápida. Cuando introduce un nombre de tipo que no corresponde a un elemento de datos, se visualiza un mensaje de error. Este mensaje de error viene con una solución rápida. Haga clic en el icono de error a la izquierda de esta línea de código o coloque el cursor en el nombre del tipo y pulse Ctrl + 1 para invocar la corrección rápida.

Nota

El mensaje de error dice: Campo <nombre de campo>: El tipo de componente o el dominio utilizado no está activo o no existe. No dejes que esto te confunda. No es posible utilizar dominios directamente en la lista de campos de las tablas de base de datos.

Cada tabla de base de datos necesita una clave primaria. La clave primaria es una identificación unívoca para una fila de tabla. Consiste en un subconjunto de campos de tabla llamados campos clave. El índice primario se crea para la clave primaria de la tabla. Este índice proporciona acceso clave optimizado a las filas de la tabla cuando se especifican valores para los campos clave.

En la definición de tabla de base de datos, marque un campo como campo clave especificando una clave adicional delante de un nombre de campo de tabla. Al menos un campo de tabla debe estar marcado como campo clave y puede haber un máximo de 16 campos clave en cada tabla. Los campos clave de una tabla deben estar ubicados juntos al principio de la tabla, lo que significa que no se permiten campos no clave entre dos campos clave.

Un valor nulo es un valor especial devuelto por una base de datos para indicar un valor o resultado no definido. Los valores nulos no se corresponden con ningún contenido de objetos de datos en ABAP. Si la base de datos devuelve un valor nulo, se sustituye por el valor inicial específico de tipo en ABAP.

Originalmente, la adición NOT NULL se utilizó para forzar el valor inicial específico del tipo en la base de datos para evitar la confusión entre los valores iniciales y los valores nulos. Al añadir NOT NULL a un campo de tabla, el desarrollador se ha asegurado de que la columna de tabla no pueda contener valores nulos. Esto era particularmente importante para las claves primarias. Por lo tanto, el suplemento NOT NULL se ha convertido en obligatorio para los campos clave.

Hoy en día, la adición NOT NULL sigue siendo obligatoria para los campos clave, pero ya no tiene efecto. La herramienta de diccionario impone el valor inicial específico de tipo para casi todos los campos, independientemente de si añade NOT NULL o no.

La única excepción son los campos de determinados tipos, es decir, aquellos para los que no existe ningún valor inicial. Para estos campos, técnicamente no es posible forzar valores iniciales. Como consecuencia, el editor no le permite añadir NOT NULL a esos campos. En el ejemplo, el elemento de datos /DMO/email_address se basa en el tipo predefinido STRG. El tipo STRG es uno de los tipos predefinidos para los que no existe ningún valor inicial. Cuando agrega NOT NULL al campo email_address, el editor emite un error de sintaxis.

Nota

No tiene que añadir manualmente NOT NULL a los campos clave. Si durante la activación falta el indicador NOT NULL para un campo clave, el editor lo añade automáticamente.

Los campos de importe son campos basados en el tipo predefinido CURR. Los campos de importe en las definiciones de tabla de base de datos requieren una referencia a un campo de código de moneda. Los campos de código de moneda se basan en el tipo predefinido CUKY. En el ejemplo, el campo PRICE es un campo de importe y el campo CURRENCY_CODE es un campo de código de moneda. La referencia se define con la anotación @Semantics.amount.currencyCode antes del campo de importe. El argumento de la anotación contiene el nombre de la tabla más el nombre del campo de código de moneda separado por un signo de punto (.).

Nota

Normalmente, el campo de código de importe y moneda se encuentra en la misma tabla de base de datos, como en nuestro ejemplo. Sin embargo, también es posible hacer referencia a un campo de código de moneda en otra tabla de base de datos.

Del mismo modo, los campos de cantidad, basados en el tipo predefinido QUAN, requieren una referencia a un campo de unidad, basado en el tipo predefinido UNIT. La anotación correspondiente para los campos de cantidad es @Semantics.quantity ty.unitOfMeasure.

Nota

Los frameworks de IU clásicos se crearon directamente sobre los objetos del diccionario. Evaluaron los campos referenciados para ajustar la visualización de importes y cantidades en función del código de moneda o la unidad. Más adelante veremos que para las IU modernas que se basan en las vistas CDS, hay anotaciones similares disponibles para los campos de importe y cantidad en las vistas CDS.

Correcciones rápidas para los campos Importe y Cantidad

Reproduzca el vídeo para obtener información sobre las correcciones rápidas de los campos Importe y Cantidad.

Cómo editar la lista de campos

Reproduzca el vídeo para ver cómo editar la lista de campos de una nueva tabla de base de datos creada.

Propiedades de tabla adicionales

La lista de campos es una parte muy importante de una definición de tabla de base de datos. Pero debe proporcionar más información para definir una tabla de base de datos. Las propiedades de tabla se definen con las siguientes técnicas:

Anotaciones

Las anotaciones son líneas de código que empiezan con el signo @. Las anotaciones forman parte de la propia definición de tabla y definen propiedades técnicas y semánticas.

Opciones técnicas de tabla

Las opciones técnicas de la tabla constituyen un objeto de desarrollo independiente y se pueden activar y transportar por separado de la tabla. Definen propiedades de la tabla de base de datos física e influyen en el acceso mediante ABAP SQL.

Nota

Al crear una nueva tabla de base de datos, el editor establece las propiedades de la tabla en los valores más comunes. Esto le permite activar la tabla sin editar las propiedades de la tabla. Sin embargo, siempre debe asegurarse de que los valores predeterminados sean adecuados para su tabla y modificarlos si es necesario.

Anotaciones de tabla

Reproduzca el vídeo para obtener información sobre las anotaciones de tabla.

Algunas propiedades de tabla no se actualizan mediante anotaciones, sino con un editor dedicado basado en formularios. Para abrir este editor de opciones de tabla técnica, haga clic con el botón derecho en cualquier lugar de la definición de la tabla de base de datos y seleccione Abrir otras→opciones técnicas.

Consejo

Las opciones técnicas de la tabla también se visualizan en el Explorador de proyectos, como subelemento de la tabla de base de datos.

El diálogo Opciones de tabla técnica consta de las tres secciones siguientes:

Opciones generales

El objetivo principal de las opciones generales es influir en la forma en que se crea la tabla en la base de datos. Si una opción determinada se transfiere a la base de datos o no, depende del sistema de base de datos. La clase de datos, por ejemplo, ya no tiene efecto con SAP HANA como sistema de base de datos. Sin embargo, siempre es obligatorio proporcionar un valor.

Grabación en memoria intermedia

Con las opciones de grabación en memoria intermedia se define cómo y si se permite la grabación en memoria intermedia de una tabla de base de datos Dictionary en la memoria intermedia de tabla de una instancia del servidor de aplicación. Cuando se accede a las tablas con grabación en memoria intermedia activa mediante ABAP SQL, la memoria intermedia de tabla se utiliza implícitamente.

Modificaciones de datos

Si la grabación en log está activada en esta sección, cualquier modificación en las entradas de tabla realizada en ABAP SQL se grabará en log en la tabla de log DBTABLOG. Existen varios requisitos previos y restricciones. Encontrará más detalles en la documentación ABAP.

Este mecanismo de grabación en log debería restringirse a tablas de base de datos muy importantes que solo se modifican raramente. Debido a que las modificaciones de datos de todas las tablas con este indicador se graban en log en la misma tabla de base de datos, pueden producirse situaciones de bloqueo para la tabla de log. En general, la grabación en log debería realizarse mediante la lógica de aplicación.

Las opciones generales se pueden utilizar para influir en la forma en que se crea la tabla en la base de datos. Pero no todas las opciones tienen influencia. Depende del sistema de base de datos si una determinada configuración técnica se transfiere realmente a la base de datos o no.

Existen las siguientes opciones generales:

Clase de datos

La clase de datos sólo tiene efecto en las bases de datos de Oracle. Todas las demás bases de datos lo ignoran, especialmente SAP HANA. Sigue siendo obligatorio, pero solo como medio de documentación. Las clases de datos más importantes para los datos de aplicación son:

  • APPL0 (datos maestros): datos que rara vez se modifican. Un ejemplo de datos maestros son los datos de una tabla de direcciones, como nombres, direcciones postales y números de teléfono.
  • APPL1 (datos de movimiento): datos que se modifican con frecuencia. Un ejemplo de datos de transacción es el stock en almacén que cambia cada vez que se realiza un pedido.
  • APPL2 (datos organizativos): datos de Customizing especificados cuando el sistema está configurado y, a continuación, modificado raramente. Un ejemplo es la tabla T005 que contiene los códigos de país.

Existen otras clases de datos para tablas de sistema utilizadas internamente por frameworks de tiempo de ejecución, como DDIC para tablas de Dictionary ABAP.

Categoría de tamaño

La categoría de tamaño afecta al tamaño del área de memoria inicial reservada para la tabla en la base de datos. Se pueden especificar valores entre 0 y 9, y se asignan intervalos de filas esperadas a estos valores. Los límites de intervalo asignados a cada categoría de tamaño dependen de la estructura de la tabla de base de datos. Si se supera el espacio inicial reservado, se añadirá implícitamente una nueva área de memoria según la categoría de tamaño seleccionada.

Consejo

Se debe seleccionar una categoría de tamaño adecuada para evitar demasiadas áreas de memoria pequeñas o un área de memoria demasiado grande.

Tipo de almacén

El tipo de almacenamiento solo tiene efecto si la base de datos actual es una base de datos SAP HANA. Se pueden definir las siguientes opciones para la base de datos SAP HANA:

  • Almacén de columnas: esta opción se debe utilizar en los siguientes casos:

    • La tabla de base de datos DDIC está diseñada para datos de aplicación analizados en SAP HANA.
    • La tabla de base de datos DDIC contiene una gran cantidad de filas, ya que el tipo de almacenamiento Almacén de columnas proporciona una mejor compresión.
    • La tabla de base de datos DDIC contiene campos de tabla con tipos de datos SAP HANA que solo son compatibles con el almacenamiento en columnas del tipo de almacenamiento.
  • Almacenamiento en filas: esta opción solo se debe utilizar en bases de datos SAP HANA si la tabla de base de datos se utiliza principalmente para accesos frecuentes a filas individuales.

Consejo

Para obtener más información sobre las diferencias entre el almacenamiento en filas y el almacenamiento en columnas en la base de datos de SAP HANA, consulte la documentación de SAP HANA.

Unidad de carga

La unidad de carga solo tiene efecto si la base de datos actual es una base de datos SAP HANA. La unidad de carga de una tabla especifica cómo se cargan los datos de la tabla en la memoria principal de la base de datos SAP HANA. La base de datos SAP HANA ofrece las siguientes opciones:

  • Columna cargable: la tabla completa se considera en memoria. Los datos de tabla se cargan al inicio del sistema en un formato orientado a columnas en la memoria principal de la base de datos SAP HANA. Este es el comportamiento predeterminado.
  • Página cargable: al utilizar una función de la base de datos de SAP HANA llamada Native Storage Extension (NSE), los datos de tabla se almacenan en disco en páginas en lugar de en columnas. Estas páginas solo se cargan a petición en una memoria intermedia especial en la memoria principal de SAP HANA. Los datos no utilizados en la memoria intermedia pueden paginarse.

Normalmente, la página cargable se utiliza para tablas grandes con accesos menos frecuentes.

En el diccionario, puede forzar una determinada configuración de unidad de carga o simplemente establecerla como preferida, lo que permite una configuración diferente en la base de datos.

Consejo

Para obtener más información sobre la ampliación de almacenamiento nativo en la base de datos de SAP HANA, consulte la documentación de SAP HANA.

Cómo actualizar las opciones técnicas de la tabla

Reproduzca el vídeo para ver cómo actualizar las opciones técnicas de tabla de una definición de tabla de base de datos.

Tablas de base de datos con estructuras Include

Las estructuras Include son una técnica en la que puede añadir un subconjunto completo de campos a la lista de campos de una tabla de base de datos. Primero defina un objeto de desarrollo del tipo Estructura con los campos que desea añadir a la tabla de base de datos. Este objeto de desarrollo no define un objeto de base de datos en sí. Pero cuando se hace referencia a ella en la lista de campos mediante la sentencia INCLUDE, la tabla de la base de datos tendrá los campos definidos en la estructura en la posición de la sentencia INCLUDE.

En el ejemplo, la estructura define tres campos. La definición de tabla define cuatro campos con una sentencia Include entre el segundo y el tercer campo. La tabla de la base de datos tiene siete columnas por completo.

Un caso de uso común para esta técnica es un modelo de datos, donde desea asegurarse de que varias tablas de base de datos contengan el mismo subconjunto de campos con tipos idénticos.

En los siguientes ejemplos, utilizaremos una estructura Include para añadir campos administrativos para usuarios y cronomarcadores a una tabla de base de datos.

Nota

Estos campos administrativos desempeñan un papel importante en el modelo de programación de aplicaciones ABAP RESTful.

Esta es la definición de una estructura con cinco campos, dos para nombres de usuario y tres para diferentes cronomarcadores.

Como puede ver, la definición de estructura es muy similar a una definición de tabla de base de datos. La principal diferencia es la palabra clave define structure en lugar de define table, y la falta de muchas anotaciones que eran obligatorias para una tabla de base de datos.

Los cinco campos de la estructura se añaden a la lista de campos de la tabla de base de datos con la palabra clave INCLUDE, seguida del nombre de la estructura.

Consejo

Utilice la funcionalidad de finalización automática del editor (Ctrl + Espacio) para elegir entre las estructuras existentes.

Tenga en cuenta que los campos no se copian. La definición de la tabla de base de datos hace referencia a los campos de la estructura. Esto significa que cuando más tarde edite la lista de campos de la estructura, la lista de campos de la tabla de base de datos se actualizará inmediatamente.

Una forma conveniente de verificar el resultado es la visualización de quick info para la tabla de base de datos. Sitúe el cursor sobre el nombre de la tabla de base de datos y pulse la tecla F2. Como puede ver, la lista de campos de la tabla de base de datos contiene los cinco campos de la estructura Include.

Cómo definir y utilizar una estructura de Include

Reproduzca el vídeo para ver cómo definir y utilizar una estructura de Include.

Crear una definición de tabla de base de datos

Desea crear su propio modelo de datos. En este ejercicio, definirá una tabla de base de datos para los datos del empleado.

Modelo:

  • n.a.

Solución:

  • /LRN/EMPLOY (Definición de tabla de base de datos)
  • /LRN/BIRTH_DATE (elemento de datos)
  • /LRN/ENTRY_DATE (elemento de datos)

Tarea 1: Definir una tabla de base de datos

Cree una nueva definición de tabla de base de datos Z##EMPLOY, donde ## es su número de grupo.

Además del campo de cliente, añada los siguientes campos:

Nombre de campoElemento de datos
employee_idZ##_EMPLOYEE_ID (creado en el ejercicio anterior)
primer_nombre/DMO/FIRST_NAME
apellido/DMO/LAST_NAME
fecha_nacimientoZ##_BIRTH_DATE (nuevo, basado en el dominio /DMO/DATE)
fecha_entradaZ##_ENTRY_DATE ((nuevo, basado en el dominio /DMO/DATE)
salario_anualZ##_ANNUAL_SALARY (creado en el ejercicio anterior)
código_monedaWAERS

Consejo

Si no ha completado el ejercicio anterior, puede utilizar los elementos de datos /LRN/EMPLOYEE_ID y /LRN/ANNUAL_SALARY en lugar de sus propios elementos de datos.

Pasos

  1. Cree un nuevo objeto de desarrollo del tipo Tabla de base de datos (nombre sugerido: Z##EMPLOY).

    1. En el Explorador de proyectos, despliegue el paquete y abra el menú contextual en el subnodo Diccionario.

    2. Seleccione Nueva→tabla de base de datos.

    3. Confirme el paquete, introduzca el nombre Z##EMPLOY y la descripción Empleado y, a continuación, seleccione Siguiente.

    4. Asigne el nuevo objeto a una orden de transporte y seleccione Finalizar.

    5. El código de la definición de la tabla de base de datos debería tener el siguiente aspecto:

      Code Snippet
      123456789101112
      @EndUserText.label : 'Employee' @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE @AbapCatalog.tableCategory : #TRANSPARENT @AbapCatalog.deliveryClass : #A @AbapCatalog.dataMaintenance : #RESTRICTED define table z##employ { key client : abap.clnt not null; }
  2. Después del campo de cliente, añada un segundo campo clave employee_id y escríbalo con el elemento de datos Z##_EMPLOYEE_ID. Utilice la compleción de código para insertar el nombre del elemento de datos.

    Nota

    Si no ha completado el ejercicio anterior, utilice el elemento de datos /LRN/EMPLOYEE_ID en su lugar.
    1. Ajuste el código de la siguiente manera:

      Code Snippet
      12345678
      define table z##employ { key client : abap.clnt not null; key employee_id : z##_employee_id; }
  3. Añada los siguientes campos no clave. Utilice la compleción de código para insertar los nombres de los elementos de datos existentes.

    Nombre de campoElemento de datos
    primer_nombre/DMO/FIRST_NAME
    apellido/DMO/LAST_NAME
    1. Ajuste el código de la siguiente manera:

      Code Snippet
      12345678910
      define table z##employ { key client : abap.clnt not null; key employee_id : z##_employee_id; first_name : /dmo/first_name; last_name : /dmo/last_name; }
  4. Añada los siguientes campos y utilice una corrección rápida para crear los nuevos elementos de datos:

    Nombre de campoElemento de datos
    fecha_nacimientoZ##_BIRTH_DATE
    fecha_entradaZ##_ENTRY_DATE

    Para ambos elementos de datos, utilice el dominio existente /DMO/DATE como tipo de datos.

    1. Al final de la lista de elementos, añada birth_date : z##_birth_date; (siendo ## su número de grupo).

    2. Abra la vista Problemas. Debería ver un error Campo BIRTH_DATE: El tipo de componente o el dominio utilizado no está activo o no existe.

    3. sitúe el cursor enz##_birth_date y pulse Ctrl + 1 para abrir el menú de corrección rápida.

    4. Desde el menú de corrección rápida, haga doble clic en Crear elemento de datos ....

    5. Confirme el paquete y el nombre, introduzca una descripción, por ejemplo, Fecha de nacimiento y seleccione Siguiente.

    6. Asigne el nuevo objeto a una orden de transporte y seleccione Finalizar.

    7. En Nombre de tipo, introduzca /DMO/DATE e introduzca las siguientes etiquetas de campo:

      CampoValor
      BreveNacido
      MedioNacido el
      LargoFecha de nacimiento
      CabeceraFecha de nacimiento
    8. Active el nuevo elemento de datos y vuelva a la tabla de base de datos Z##EMPLOY.

    9. En una nueva línea de código, añadaentry_date : z##_entry_date; y utilice la corrección rápida de nuevo para crear el elemento de datos Z##_ENTRY_DATE utilizando el mismo dominio, pero con las siguientes etiquetas de campo:

      CampoValor
      BreveFecha de entrada
      MedioFecha de entrada de la empresa
      LargoTrabaja para la empresa desde
      CabeceraTrabaja para la empresa desde
  5. Añada los siguientes campos de código de importe y moneda y utilice una corrección rápida para añadir la anotación @Semantics.amount.currencyCode: para la referencia al campo de código de moneda.

    Nombre de campoElemento de datos
    salario_anualZ##_ANNUAL_SALARY
    código_monedaWAERS
    1. Ajuste el código de la siguiente manera:

      Code Snippet
      12345678910111213
      define table z##employ { key client : abap.clnt not null; key employee_id : z##_employee_id; first_name : /dmo/first_name; last_name : /dmo/last_name; birth_date : z##_birth_date; entry_date : z##_entry_date; annual_salary : z##_annual_salary; currency_code : waers; }
    2. Coloque el cursor sobre el icono de error junto a annual_salary para ver el mensaje de error Falta la anotación con referencia al código de moneda para el campo ANNUAL_SALARY.

    3. Seleccione el icono de error para abrir el menú de corrección rápida.

    4. Seleccione Asignar referencia de código de moneda al campo currency_code.

    5. Asegúrese de que la corrección rápida haya ajustado el código de la siguiente manera:

      Code Snippet
      12345678910111213
      define table z##employ { key client : abap.clnt not null; key employee_id : z##_employee_id; first_name : /dmo/first_name; last_name : /dmo/last_name; birth_date : z##_birth_date; entry_date : z##_entry_date; @Semantics.amount.currencyCode : 'z##_employ.currency_code' annual_salary : z##_annual_salary; currency_code : waers; }
  6. Actualice las opciones técnicas de la tabla. Utilice la ayuda para entradas para seleccionar los valores adecuados para la clase de datos y la categoría de tamaño.

    Nota

    Esperamos que la tabla contenga entre 50 mil y 60 mil conjuntos de datos.
    1. Haga clic con el botón derecho en cualquier lugar del editor y seleccione Abrir Otros→Opciones técnicas.

    2. Sitúe el cursor al principio del campo Clase de datos y pulse Ctrl + Espacio para visualizar la ayuda para entradas.

    3. Seleccione APPL0 Datos maestros, tabla transparente.

    4. Repita con el campo Categoría de tamaño y seleccione 3 Registros previstos 43.000 - 170.000.

  7. Active las opciones técnicas de tabla y la definición de tabla de base de datos.

    1. Mientras aún está en el diálogo Opciones de tabla técnica, pulse Ctrl + F3 para activar las opciones técnicas de la tabla.

    2. Vuelva al editor con el código fuente de la definición de tabla de base de datos y pulse Ctrl + F3 para activar la definición de tabla de base de datos.

Tarea 2: Incluir una estructura

Analice la estructura de diccionario /LRN/S_ADMIN e inclúyala en la lista de campos de su definición de tabla de base de datos.

Consejo

Los campos administrativos de esta estructura desempeñan un papel importante en el modelo de programación de aplicaciones ABAP RESTful. Consulte la unidad correspondiente del curso Programación ABAP básica para obtener más información.

Pasos

  1. Abra la definición del tipo de estructura /LRN/S_ADMIN.

    1. En la barra de herramientas de eclipse, seleccione Abrir objeto de desarrollo ABAP. Como alternativa, pulse Ctrl + Mayús + A.

    2. Introduzca /LRN/S_ADMIN y pulse Intro.

  2. Analice la lista de componentes de la estructura y los tipos de datos referenciados.

    1. En la fila que empieza por define structure, sitúe el cursor en /lrn/s_admin y pulse F2 para visualizar la Información de elemento de código.

  3. Trate la lista de campos en la definición de tabla de base de datos Z##_EMPLOYEE. Utilice la compleción de código para incluir la estructura /LRN/S_ADMIN al final de la lista de campos.

    1. Antes del corchete de cierre, introduzca y pulse Ctrl + Espacio para invocar la finalización del código.

    2. En la lista de sugerencias, seleccione la plantilla includeStructure - Include Structure.

    3. Sustituya la reserva-espacio other_structure_name por Z##S y pulse Ctrl + Espacio.

    4. En la lista de sugerencias, seleccione Z##S_ADMIN.

    5. Asegúrese de que el código ahora tenga este aspecto:

      Code Snippet
      12345
      currency_code : waers; include /lrn/s_admin; }
  4. Visualice la información del elemento de código para su tabla de base de datos y analice la lista de campos.

    1. En la línea de código que empieza por define table, sitúe el cursor en el nombre de la tabla y pulse F2.

    2. Confirme que los cinco componentes de la estructura /LRN/S_ADMIN ahora son campos de su tabla de base de datos.

  5. Active todos los objetos de desarrollo inactivos.

    1. En la barra de herramientas de eclipse, seleccione Activar objetos de desarrollo ABAP inactivos. Como alternativa, pulse Ctrl + Mayús + F3.

    2. Seleccione Seleccionar todo y Activar.

Tarea 3: Rellenar la tabla

Rellene la nueva tabla de base de datos con algunos datos de ejemplo. Para ello, cree una copia de la clase ABAP /LRN/CL_S4D430_CHECK_AND_FILL (nombre sugerido: ZCL_##_CHECK_AND_FILL, donde ## es su número de grupo), ajuste el valor de la constante c_employ_table y ejecute la clase como aplicación de consola.

Pasos

  1. Cree una copia de la clase ABAP /LRN/CL_S4D430_CHECK_AND_FILL, denomínela Z##_S4D430_CHECK_AND_FILL y colóquela en el paquete ZS4D430_##.

    1. En la vista Explorador de proyectos, localice la clase /LRN/CL_S4D430_CHECK_AND_FILL en el paquete /LRN/S4D430_EXERCISE y haga clic con el botón derecho para abrir el menú contextual.

    2. En el menú contextual, seleccione Duplicar.

    3. Introduzca el nombre del paquete, el nombre de la copia y una descripción. A continuación, seleccione Siguiente.

    4. Asigne el nuevo objeto a una orden de transporte y seleccione Finalizar.

  2. Cambie el valor de la constante c_employ_table por el nombre de su tabla de base de datos.

    1. Desplácese hacia abajo hasta la fila de código que empieza por CONSTANTS c_employ_table.

    2. En el literal después de VALUE, sustituya ## por su número de grupo.

  3. Active la clase ABAP y ejecútela como una aplicación de consola. Si la salida de la consola contiene errores, ajuste la definición de la tabla de base de datos hasta que sea compatible con la definición de tabla de base de datos /LRN/EMPLOY.

    1. Pulse Ctrl + F3 para activar el objeto de desarrollo.

    2. Pulse F9 para ejecutar la clase ABAP como aplicación de consola.

    3. Asegúrese de que la salida de la consola contiene el texto Tabla rellenada ... para su tabla de base de datos.