SAP Career Guide - A beginner’s manual on SAP careers for students and professionals

Tolles Buch - ein komplexes Thema mit den wichtigsten Punkten kurz und knackig erläutert.

C. Zollmer

Primeros pasos en SAP ABAP

Este libro permite adentrarse paso a paso en el mundo de la programación en ABAP, desde la descripción de los distintos componentes del lenguaje SAP ABAP hasta la elaboración de programas.Primeramente, se describen detalladamente los elementos d...

Leseprobe
10% Rabatt

Jetzt 10% Rabatt sichern! Melden Sie sich für unseren Newsletter an und erhalten Sie 10% Rabatt auf das Digital-Abo für unsere SAP-Lernplattform!

Inhaltsverzeichnis

  • Prólogo
  • 1 Introducción
  • 2 El diccionario de datos
  • 3 Programación en ABAP
  • 4 Conclusión
  • A Sobre los autores
  • B Aviso legal

Weitere Informationen

Autor/in:

Cyrille Debacq, Iñigo Montoya

Katgorie:

SAP-Programming

Sprache:

Spanisch

Leseprobe

2.1 Los elementos principales

2.1.1 Los dominios

Primeros-Pasos

Figura 2.2: Definición de un dominio

Como se ilustra en la Figura 2.2, un dominio permite definir:

  • El formato de un campo mediante el tipo de datos (cadena de caracteres, número entero, texto numérico, etc.), su tamaño (número de posiciones) y el número de decimales.

Lista de los tipos de datos existentes

Pulse F4 sobre el campo «Tipo de datos» para ver la lista de tipos que existen.

  • Sus propiedades: como la longitud, si se le debe añadir un signo (Signo +/-) en el caso de un número, si se permite el uso de minúsculas en el caso de una cadena de caracteres y también la configuración de una rutina de conversión entre el valor guardado en la base de datos (INPUT) y el valor mostrado en pantalla (OUTPUT).

Diferencias entre input y output

Un cliente cuyo número es 178956 se guarda en realidad en la base de datos con el valor 0000178956.

Otro ejemplo, el código de idioma se guarda en SAP usando un único carácter, pero se muestra usando dos. Por ejemplo, el código para español se muestra como ES, pero se guarda como una sola letra S.

Las unidades de cantidad, de volumen y de tiempo se almacenan igualmente utilizando un formato interno diferente del que se muestra por pantalla: la unidad «pieza» se muestra como PC, pero se guarda como ST.

  • Los valores que el campo puede tomar, mediante una lista o mediante una tabla de valores (ver Figura 2.3).

Un dominio puede utilizarse en varios elementos de datos, como se explicará en la sección 2.1.2.

Primeros-Pasos

Figura 2.3 Rango de valores de un dominio

Creación de un dominio

Vamos a crear un dominio que tenga por nombre ZSTATUS_CLIENTE, y que consista en una cadena de 50 caracteres, permitiendo mayúsculas y minúsculas. Una vez creado, le asignaremos varios valores constantes.

Este ejercicio puede comprobarse en el capítulo 2.3, Corrección de los ejercicios.

2.1.2 Los tipos de datos

Al intentar crear un tipo de datos, el sistema nos propone tres elementos diferentes, como se puede ver en la Figura 2.4:

Primeros-Pasos

Figura 2.4: Los tipos de datos

Los elementos de datos:

Un elemento de datos permite definir:

  • los distintos textos de un campo (corto, mediano, largo) como se muestra en la Figura 2.6;
  • su tipo de datos asignando, bien un tipo elemental (que puede ser un dominio o un tipo predefinido por el sistema) o bien asignando un tipo de referencia, que puede ser mismamente otro elemento de datos o un tipo predefinido (ver Figura 2.5).
  • Igualmente es posible definir otras propiedades adicionales opcionales (ver Figura 2.7). entre las que se encuentran:
    • asignar una ayuda para búsqueda por defecto (ver la sección 2.1.6);
    • la definición de un ID parámetro, que se utiliza en los programas para asignar un valor a un campo de la pantalla a partir del valor guardado en memoria.

El elemento de datos cliente

El elemento de datos KUNNR (número de cliente), asociado al dominio del mismo nombre, sirve como clave de la tabla de datos maestros de clientes (KNA1).

Primeros-Pasos

Figura 2.5: Definición del tipo de datos

Primeros-Pasos

Figura 2.6: Definición de los textos

Primeros-Pasos

Figura 2.7: Definición de las propiedades adicionales

Creación de un elemento de datos

Vamos a crear un elemento de datos al que llamaremos STATUS_CLIENTE utilizando el dominio de datos con el mismo nombre.

Este ejercicio puede comprobarse en el capítulo 2.3, Corrección de los ejercicios.

Estructura

Una estructura es un conjunto de campos definidos mediante elementos de datos, de manera similar a una tabla, pero sin una clave primaria y sin múltiples filas. Una estructura no permite guardar datos, excepto de manera temporal dentro de la ejecución de un programa.

Una estructura de datos cliente

La estructura BAPICUSTOMER_KNA1, que se muestra en la Figura 2.8, se utiliza particularmente en una función estándar (ver la sección 3.8.4) denominada «BAPI_CUSTOMER_GETDETAIL2». Esta función permite recuperar dentro de un programa diferentes datos de un cliente que están repartidos en diferentes tablas, partiendo de un número de cliente.

Primeros-Pasos

Figura 2.8: Estructura para datos de cliente

Los tipos de tablas

Un tipo de tabla sirve para definir directamente las propiedades (campos, claves, etc.) de una tabla a partir de una estructura, de un dominio o de un tipo predefinido. Al contrario que una tabla de la base de datos (que permite gestionar los datos dentro de la base), un tipo de tabla únicamente sirve para especificar un objeto que se utilizará posteriormente dentro de los programas para definir las tablas internas y trabajar con los datos.

2.1.3 Las tablas

Una tabla se representa mediante un conjunto de campos definidos a través de sus correspondientes elementos de datos. Dentro de una tabla se define la denominada clave primaria, que permite determinar de manera unívoca un registro dentro de la misma. Dicha clave puede contener uno o varios campos además del correspondiente al mandante (definido por el elemento de datos MANDT) que es indispensable.

Las características de un campo de una tabla se derivan de su elemento de datos que a su vez las hereda de las propiedades del dominio.

Existen varias categorías de datos dentro de un sistema SAP:

  • los datos de «customizing» intersistema (enlaces de secuencia entre pantallas);
  • los datos de parametrización (datos organizativos como sociedades, los tipos de pedidos, etc.);
  • los datos maestros (clientes, proveedores, etc.);
  • los datos transaccionales (pedidos, facturas, etc.).

Estos datos se almacenan en diferentes tipos de tablas entre las que se encuentran principalmente:

  • Las tablas de parametrización (Tablas de customizing): utilizadas para guardar los parámetros que impactan en el procesamiento de los programas. Deben tener el mismo contenido en todos los entornos del sistema, desde desarrollo a producción. El contenido de estas tablas se crea en el entorno de desarrollo y posteriormente se transporta al entorno productivo a través de órdenes de transporte.

La tabla de códigos de impuesto

En la Figura 2.9 se muestra la tabla T007A que contiene el Indicador de IVA. Toda transacción que utilice un indicador de IVA (Gestión de Documentos Contables, por ejemplo) solamente podrá utilizar los valores de indicador de IVA definidos dentro de esta tabla.

Primeros-Pasos

Figura 2.9: Tabla de parametrización

  • Las tablas de aplicación que contienen los datos (contabilidad, ventas, compras, etc.) propios de cada entorno. No es necesario transportarlas de desarrollo a producción.

La tabla EKKO

En la Figura 2.10 se puede ver la tabla EKKO, que contiene los datos de cabecera de los pedidos de compra.

Primeros-Pasos

Figura 2.10: Tabla de aplicación

Puede observase en la Figura 2.9 y en la Figura 2.10 que las tablas de parametrización y las tablas de aplicación están agrupadas bajo el mismo nombre de tabla transparente. Estas tablas existen al mismo tiempo y con la misma estructura en el diccionario de datos y la base de datos, exactamente con los mismos datos y campos.

  • Las tablas de textos contienen las descripciones de los códigos en los idiomas utilizados en el sistema SAP. Siempre están asociadas a una tabla principal de la que toman la clave primaria, añadiendo la clave de idioma (elemento de datos SPRAS, como puede verse en la Figura 2.12).

Acceso a la tabla de textos de los códigos de impuestos

Retomando el ejemplo de la tabla T007A, representada en la Figura 2.9, en la que la clave primaria está compuesta por el mandante y los dos campos esquema e indicador IVA. Desde la visualización de esta tabla en la transacción SE11, es posible acceder a la tabla de textos correspondiente (T007S) siguiendo las opciones del menú: Pasar a • Tabla de textos (ver Figura 2.11 y Figura 2.12).

Primeros-Pasos

Figura 2.11: Acceso a la tabla de textos

Primeros-Pasos

Figura 2.12: Tabla de textos

Obsérvese en la Figura 2.12 que las tablas de textos se denominan table pool. Se trata de tablas cuya estructura no existe en la base de datos y que deben asignarse a una agrupación de tablas (llamada pool de tablas) dentro de la cual se definen. Sus datos están clasificados dentro de una tabla común en la base de datos. Para las tablas de textos, se trata de la tabla ATAB que puede encontrarse dentro de la pestaña Entrega y actualización de la SE11.

Creación de una tabla

Vamos a crear una tabla ZZSTATUS_CLIENTE que contenga dos campos: el campo cliente (de tipo KUNNR) que será la clave primaria y el campo status (de tipo ZSTATUS_CLIENTE).

Este ejercicio puede comprobarse en el capítulo 2.3, Corrección de los ejercicios.

2.1.4 Las vistas

Una vista es un reagrupamiento de columnas de una o varias tablas enlazadas entre sí por uno o varios campos. Existen varios tipos de vistas que se eligen al crear la vista:

  • Las vistas de base de datos (o vista de BD), son accesibles únicamente en modo lectura y están formadas por una selección de columnas de varias tablas.

Vista de datos básicos y de ventas de clientes

En la Figura 2.13 puede verse la vista KNA1VV con el enlace entre las tablas KNA1 (datos básicos del Maestro de clientes) y KNVV (datos de ventas) dentro de la pestaña Tablas/cond. de conexión.

Las columnas que constituyen esta vista se encuentran en la pestaña Cpo. vista. Es posible restringir los datos en función de unos criterios que se definen en la pestaña Condiciones de selección. Se podría, por ejemplo, restringir un campo por un rango de números particular, o una sociedad concreta, etc.

Primeros-Pasos

Figura 2.13: Vista de base de datos.

  • Las vistas de proyección compuestas por una selección de columnas de una sola tabla.

Vista de proyección de la tabla MARD

En la Figura 2.14, se muestra como ejemplo la vista MARDP, que permite recuperar únicamente el centro de beneficio de un artículo guardado en un almacén.

Primeros-Pasos

Figura 2.14: Vista de proyección (supresión)

  • Las vistas de actualización se utilizan para gestionar datos de tablas de parametrización. Al igual que en las vistas de base de datos, se pueden seleccionar diferentes columnas de diversas tablas y definir restricciones.

Vista de los datos de la sociedad

En la Figura 2.15 se muestra la vista V_001_B, que enlaza ocho tablas (T001, T004, T009, T004T, T009T, T880, T014 y T014T).

La diferencia con otras vistas reside en la posibilidad de actualizar los datos a través del botón Contenido Primeros-Pasos mediante pantallas generadas automáticamente en el momento de su creación. En la Figura 2.15 se indica dicho botón con un CalloutCaption.

En la Figura 2.16 se muestra la primera pantalla de la vista V_001_B, más general, mientras que la Figura 2.17 muestra la pantalla detallada a la que se accede haciendo doble clic en una de las sociedades.

Primeros-Pasos

Figura 2.15: Vista de actualización

Primeros-Pasos

Figura 2.16: Pantalla general de actualización de datos

Primeros-Pasos

Figura 2.17: Pantalla detallada de actualización de datos

  • Las vistas de ayuda se utilizan para la selección de los valores que son posibles en un campo y pueden asignarse a una «Ayuda para búsqueda» (ver Capítulo 2.1.6).

Ayuda para búsqueda de la división de un artículo

Sirva como ejemplo la ayuda H_MARC_E que utiliza la vista de ayuda H_MARC (ver Figura 2.18).

Primeros-Pasos

Figura 2.18: Vista de ayuda

2.1.5 Los grupos de tipos (type group)

Un grupo de tipos permite definir un conjunto de elementos (sobre todo campos, estructuras y tablas) directamente utilizando código ABAP y no de forma gráfica como hemos visto hasta ahora. Los campos cuyos valores son modificables se denominan variables y los campos cuyos valores no lo son se denominan constantes. Todos ellos se pueden utilizar en diferentes programas simplemente declarando el grupo de tipos.

Grupo de tipos SLIS

El grupo de tipos SLIS se utiliza para la visualización de informes ALV (programas que permiten la visualización de listados de datos como p. ej. listados de pedidos o listados de clientes) según los criterios seleccionados por el usuario a partir de funciones suministradas dentro del catálogo de programas estándar).

2.1.6 Las ayudas para búsqueda

Las ayudas para búsqueda se muestran en pequeñas ventanas (o pop-up) que se despliegan al pulsar F4 en un campo de pantalla. Permiten mostrar la lista de los posibles valores de entrada para un campo. Generalmente, estos valores se recuperan de una tabla de valores, pero pueden igualmente ser objeto de un desarrollo que permita, por ejemplo, filtrar la lista de manera más precisa.

Una ayuda para búsqueda se puede asignar a un elemento de datos, a un campo de una tabla y también directamente a un campo de una pantalla. Se pueden crear ayudas para búsqueda agrupadas que comprendan varias diferentes y que se mostrarán como diferentes pestañas (ver la Figura 2.21), lo cual permite ejecutar la búsqueda con diferentes enfoques.

Ayuda para búsqueda de un cliente

La ayuda para búsqueda DEBI como puede verse en la Figura 2.19 permite buscar un cliente principalmente a partir de sus datos básicos o de los datos de su sociedad, como puede verse Figura 2.20, mediante diferentes filtros de búsqueda.

Primeros-Pasos

Figura 2.19: Ayuda para búsqueda de un cliente

Primeros-Pasos

Figura 2.20: Ayudas para búsqueda incluidas

Primeros-Pasos

Figura 2.21: Pop-up de la ayuda para búsqueda

Cada ayuda para búsqueda puede agrupar otras o ser simplemente una ayuda para búsqueda llamada «elemental» (ver la Figura 2.22) a la que se asigna un método de selección (tabla o vista), un tipo de diálogo (Visualización de valores inmediata o Diálogo con limitación de valores) y los parámetros de import/export a los que es posible asignar valores por defecto.

El sistema permite igualmente que se añada una función (Exit Ayuda para búsqueda) que permitiría programar reglas más específicas.

Primeros-Pasos

Figura 2.22: Ayuda para búsqueda elemental

2.1.7 Los objetos de bloqueo

Un objeto de bloqueo permite bloquear un registro de una tabla (a través de la clave primaria) para evitar que varios usuarios accedan a un mismo objeto simultáneamente, por ejemplo, por el número de cliente para la tabla de datos de cabecera de cliente.

Durante la activación de un objeto de bloqueo de una tabla, el sistema genera las funciones (ver la Figura 2.23 y la Figura 2.24) que se utilizan en los programas para bloquear (ENQUEUE) y desbloquear (DEQUEUE) los objetos.

Primeros-Pasos

Figura 2.23: Acceso a las funciones

Primeros-Pasos

Figura 2.24: Lista de las funciones

2.1.8 El concepto de clave externa

Una clave externa enlaza dos tablas T1 y T2 de manera que se garantice la integridad de los datos. Si se crea, por ejemplo, una tabla de parametrización específica ZUSER que permita configurar los parámetros correspondientes a los usuarios de una sociedad, se podría crear una clave externa para el campo Sociedad entre la tabla ZUSER y la tabla de parametrización T001 que contiene la lista de sociedades. De esta manera, cuando se añadan manualmente filas a la tabla ZUSER, no será posible incluir valores diferentes a los de las sociedades ya existentes.

Para crear el enlace entre un campo y la tabla de referencia, basta con pulsar el botón Primeros-Pasos, como se ilustra en la Figura 2.25. A menudo el sistema propone por sí mismo la asignación correcta gracias a las propiedades del dominio asociado al elemento de datos del campo. En nuestro ejemplo disponemos finalmente de una clave externa para todos los campos (ver Figura 2.26).

Primeros-Pasos

Figura 2.25: Creación de un enlace

Primeros-Pasos

Figura 2.26: Visualización de un enlace

Añadir claves externas

Vamos a añadir una clave externa a los campos Mandante y Cliente de la tabla ZZSTATUS_CLIENTE.

Este ejercicio puede comprobarse en el capítulo 2.3, Corrección de los ejercicios.

Alle Inhalte. Mehr Informationen. Jetzt entdecken.

et.training - Ihre Lernplattform für SAP-Software

  • Zugriff auf alle Lerninhalte1
  • Regelmäßige Neuerscheinungen
  • Intelligenter Suchalgorithmus
  • Innovatives Leseerlebnis
  • Maßgeschneidere Lernpfade
  • Zertifikate & QA-Tests2

Sie haben bereits ein Konto?

1 Sie erhalten Zugriff auf alle Lerninhalte. Online-Trainings, Zertifikate sind NICHT Teil der Flatrate.

2 Weitere Informationen auf Anfrage.