Leseprobe
2.1 Los elementos principales
2.1.1 Los dominios
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.
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:
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).
Figura 2.5: Definición del tipo de datos
Figura 2.6: Definición de los textos
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.
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.
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.
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).
Figura 2.11: Acceso a la tabla de textos
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.
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.
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 mediante pantallas generadas automáticamente en el momento de su creación. En la Figura 2.15 se indica dicho botón con un .
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.
Figura 2.15: Vista de actualización
Figura 2.16: Pantalla general de actualización de datos
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).
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.
Figura 2.19: Ayuda para búsqueda de un cliente
Figura 2.20: Ayudas para búsqueda incluidas
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.
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.
Figura 2.23: Acceso a las funciones
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 , 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).
Figura 2.25: Creación de un enlace
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
1 Sie erhalten Zugriff auf alle Lerninhalte. Online-Trainings, Zertifikate sind NICHT Teil der Flatrate.
2 Weitere Informationen auf Anfrage.