SlideShare una empresa de Scribd logo
1 de 493
Descargar para leer sin conexión
TAW10_2
Fundamentos de Workbench
ABAP
SAP NetWeaver
Fecha
Centro de formación
Instructores
Página Web de
formación
Manual del instructor
Versión del curso: 63
Duración del curso: 10 día(s)
Número de material: 50089085
Responsable: Christian Braun (D035329)
An SAP Compass course - use it to learn, reference it for work
Copyright
Copyright © 2009 SAP AG. Reservados todos los derechos.
Esta publicación no puede ser reproducida o trasmitida, total o parcialmente, de ninguna forma ni
para ningún propósito sin el permiso expreso de SAP AG. La información aquí contenida puede ser
modificada sin previo aviso.
Algunos productos de software distribuidos por SAP AG y sus distribuidores contienen componentes
de software que pertenecen a otros proveedores de software.
Marcas registradas
• Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® y SQL Server® son
marcas registradas certificadas de Microsoft Corporation.
• IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®,
S/390®, AS/400®, OS/390® y OS/400® son marcas registradas certificadas de IBM
Corporation.
• ORACLE® es una marca registrada certificada de ORACLE Corporation.
• INFORMIX®-OnLine para SAP y INFORMIX® Dynamic ServerTM son marcas registradas
certificadas de Informix Software Incorporated.
• UNIX®, X/Open®, OSF/1® y Motif® son marcas registradas certificadas de Open Group.
• Citrix®, Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®,
VideoFrame®, MultiWin® y otros nombres de productos Citrix referidos aquí son marcas
registradas de Citrix Systems, Inc.
• HTML, DHTML, XML, XHTML son marcas registradas o marcas registradas certificadas de
W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
• JAVA® es una marca registrada certificada de Sun Microsystems, Inc.
• JAVASCRIPT® es una marca registrada certificada de Sun Microsystems, Inc., utilizada bajo
licencia para tecnología desarrollada e implementada por Netscape.
• SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP
EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo y mySAP.com son
marcas registradas o marcas registradas certificadas de SAP AG en Alemania y en otros países
en todo el mundo. Todos los otros productos mencionados son marcas registradas o marcas
registradas certificadas de sus respectivas empresas.
Declaración de renuncia
SAP DISTRIBUYE ESTE MATERIAL SOBRE UNA BASE "AS IS" Y NO SE HACE
RESPONSABLE EXPRESAMENTE, DE FORMA DIRECTA NI INDIRECTA, INCLUYENDO
SIN RESTRICCIÓN LAS GARANTÍAS DE COMERCIABILIDAD E IDONEIDAD PARA UN
OBJETIVO PARTICULAR, EN LO QUE CONCIERNE A ESTE MATERIAL Y AL SERVICIO,
LA INFORMACIÓN, EL TEXTO, GRÁFICOS, LINKS O CUALQUIER OTRO MATERIAL Y
PRODUCTOS AQUÍ CONTENIDOS. EN NINGÚN CASO SAP SE RESPONSABILIZARÁ DE
CUALQUIER DAÑO DIRECTO, INDIRECTO, ESPECIAL, SECUNDARIO, CONSIGUIENTE,
O PUNITIVO DE CUALQUIER CLASE, INCLUIDOS SIN LIMITACIÓN INGRESOS O
GANANCIAS PÉRDIDAS, QUE PUEDAN SER RESULTADO DEL EMPLEO DE ESTOS
MATERIALES O COMPONENTES DE SOFTWARE INCLUIDOS.
g20091222113158
Sobre este manual
La función de este manual es complementar la presentación del instructor de
este curso y servir como fuente de referencia. Este manual no está pensado para
el estudio autodidacta.
Convenciones tipográficas
En esta guía se utilizan las siguientes convenciones tipográficas.
Estilo de tipo Descripción
Texto de ejemplo Palabras o carácteres que aparecen en la pantalla.
Aquí se incluyen nombres de campos, títulos de
pantallas, pulsadores así como nombres de menús,
vías de acceso y opciones.
También se usan como referencia a otra documentación
tanto interna como externa.
Texto de ejemplo Palabras o frases acentuadas en textos principales,
títulos de gráficos y tablas
TEXTO DE EJEMPLO Nombres de elementos en el sistema. Aquí se incluyen
nombres de informes, nombres de programas, códigos
de transacciones, nombres de tablas y algunas palabras
claves de un lenguaje de programación cuando se
encuentran en el texto principal, por ejemplo SELECT
e INCLUDE.
Texto de ejemplo Salida en pantalla. Aquí se incluyen nombres de
archivos y directorios y sus vías de acceso, mensajes,
nombres de variables y parámetros y párrafos del
texto fuente de un programa.
Texto de
ejemplo
Entrada exacta de usuario. Son palabras y carácteres
que se introducen en en el sistema exactamente como
aparecen en la documentación.
<Texto de
ejemplo>
Entrada variable de usuario. Las entradas entre
corchetes indican que se deben sustituir estas palabras
y carácteres con entradas apropiadas.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. iii
Sobre este manual TAW10_2
Iconos en el texto principal
En este manual se utilizan los siguientes iconos.
Icono Significado
Para más información, sugerencias o detalles
Nota o más explicaciones sobre el punto anterior
Excepción o precaución
Procedimientos
Indica que el objeto está visualizado en la presentación
del instructor.
iv © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
Contenido
Resumen del curso ...................................................... vii
Metas del curso ........................................................vii
Objetivos del curso..................................................... ix
Capítulo 1: Introducción a la programación de imágenes ....... 1
Aspectos generales.....................................................3
Principios de la programación de imágenes ...................... 13
Modificación y secuencia de imágenes ............................ 29
Capítulo 2: La interfase del programa .............................. 55
Interfaz de usuario .................................................... 56
Status GUI ............................................................. 67
Capítulo 3: Elementos de pantalla para salida ................... 85
Campos de texto, iconos de status y marcos de grupo.......... 86
Capítulo 4: Elementos de pantalla para entrada/salida ........ 99
Resumen de campos de entrada/salida .........................101
Casillas de selección, grupos de botones de selección y
pulsadores ........................................................130
Capítulo 5: Elementos de pantalla: Subscreens y controles de
fichas ......................................................................153
Subscreens ...........................................................155
Controles de ficha....................................................178
Capítulo 6: Introducción al Dictionary .............................203
Resumen de las funciones de Dictionary ABAP .................204
Capítulo 7: Objetos de datos en el Dictionary ABAP...........215
Tipos de datos básicos..............................................217
Tablas en el Dictionary ABAP ......................................252
Tablas SAP especiales..............................................280
Capítulo 8: Rendimiento al acceder a tablas .....................289
Rendimiento durante el acceso a una tabla .....................290
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. v
Contenido TAW10_2
Capítulo 9: Verificaciones de entrada..............................321
Consistencia gracias a las verificaciones de entrada ...........322
Capítulo 10: Dependencias de objeto..............................355
Dependencias de objeto ............................................356
Capítulo 11: Cambio de tablas.......................................371
Modificaciones de tablas............................................372
Capítulo 12: Vistas y diálogos de actualización .................403
Vistas ..................................................................404
Vistas de actualización..............................................424
Capítulo 13: Ayuda para búsqueda.................................445
Ayudas para búsqueda..............................................446
Índice.......................................................................481
vi © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
Resumen del curso
Este curso de formación de dos semanas de duración brinda una introducción
integral y detallada de los conceptos básicos de programación de ABAP o
programación orientada al objeto de ABAP y las herramientas de Workbench
ABAP. Este curso también lo preparará para obtener la certificación como
Asociado de desarrollo certificado de SAP - ABAP - SAP Netweaver 7.0.
Grupo destino
Este curso está dirigido a los siguientes grupos destino:
• Consultores de desarrollo y desarrolladores responsables de adaptar y
desarrollar ABAP/programas objetos ABAP.
Prerrequisitos para el curso
Conocimientos necesarios
• Conocimiento básico y sólido de EDP
• Buena experiencia de programación en un lenguaje de programación
diferente
Detalles de la duración del curso
Capítulo 1: Introducción a la programación de imágenes
Aspectos generales 30 Minutos
Principios de la programación de imágenes 50 Minutos
Modificación y secuencia de imágenes 45 Minutos
Ejercicio 1: Creación de pantallas 45 Minutos
Capítulo 2: La interfase del programa
Interfaz de usuario 25 Minutos
Status GUI 35 Minutos
Ejercicio 2: Creación de status GUI 40 Minutos
Capítulo 3: Elementos de pantalla para salida
Campos de texto, iconos de status y marcos de
grupo 20 Minutos
Capítulo 4: Elementos de pantalla para entrada/salida
Resumen de campos de entrada/salida 60 Minutos
Ejercicio 3: Verificaciones de entrada y ayuda para
entradas 35 Minutos
Casillas de selección, grupos de botones de
selección y pulsadores 40 Minutos
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. vii
Resumen del curso TAW10_2
Ejercicio 4: Botones de selección y verificaciones
de entrada 75 Minutos
Capítulo 5: Elementos de pantalla: Subscreens y controles de fichas
Subscreens 45 Minutos
Ejercicio 5: Subscreens 50 Minutos
Controles de ficha 30 Minutos
Ejercicio 6: Creación de controles de fichas 45 Minutos
Capítulo 6: Introducción al Dictionary
Resumen de las funciones de Dictionary ABAP 60 Minutos
Capítulo 7: Objetos de datos en el Dictionary ABAP
Tipos de datos básicos 120 Minutos
Ejercicio 7: Tipos de datos básicos 30 Minutos
Ejercicio 8: Estructuras simples y anidadas 30 Minutos
Ejercicio 9: Tipos de tabla (tablas internas/ITAB) 30 Minutos
Ejercicio 10: Estructuras profundas 30 Minutos
Tablas en el Dictionary ABAP 60 Minutos
Ejercicio 11: Tablas en el Dictionary ABAP 60 Minutos
Tablas SAP especiales 30 Minutos
Capítulo 8: Rendimiento al acceder a tablas
Rendimiento durante el acceso a una tabla 120 Minutos
Ejercicio 12: Aspectos relacionados con el
rendimiento durante el acceso a una tabla 30 Minutos
Capítulo 9: Verificaciones de entrada
Consistencia gracias a las verificaciones de entrada 120 Minutos
Ejercicio 13: Consistencia gracias a las
verificaciones de entrada 30 Minutos
Capítulo 10: Dependencias de objeto
Dependencias de objeto 60 Minutos
Ejercicio 14: Dependencias respecto a objetos de
Dictionary ABAP 30 Minutos
Capítulo 11: Cambio de tablas
Modificaciones de tablas 100 Minutos
Ejercicio 15: Modificaciones de tablas de base de
datos 30 Minutos
Ejercicio 16: Utilidad de base de datos (SE14) para
solucionar problemas (opcional) 45 Minutos
Capítulo 12: Vistas y diálogos de actualización
Vistas 120 Minutos
Ejercicio 17: Vistas 20 Minutos
Vistas de actualización 100 Minutos
Ejercicio 18: Vistas de actualización 60 Minutos
Capítulo 13: Ayuda para búsqueda
viii © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Resumen del curso
Ayudas para búsqueda 120 Minutos
Ejercicio 19: Ayudas para búsqueda 60 Minutos
Metas del curso
Este curso le permitirá:
• Trabajar con las herramientas de Workbench ABAP
• Escribir sus propios programas simples ABAP
• Realizar accesos de lectura a la base de datos
• Desarrollar componentes de reutilización simples (subrutinas, módulos de
funciones y métodos) y usarlos en programas
• Programar procesamientos de imagen dinámicos
• Programar diálogos de usuario con los distintos elementos de pantalla en
el sistema SAP
• Describir la función del Dictionary ABAP en el sistema SAP
• Definir objetos de base de datos y usarlos
• Crear y administrar tipos de datos definidos por el usuario
• Usar los servicios del Dictionary ABAP
• Comprender cómo está vinculado el Dictionary ABAP a los entornos de
desarrollo y tiempo de ejecución
Objetivos del curso
Al finalizar este curso podrá:
• Describir la estructura de datos de los sistemas SAP
• Usar las herramientas Workbench ABAP
• Crear y llamar subrutinas, módulos de funciones y métodos
• Escribir programas de diálogo de fácil manejo
• Utilizar y procesar elementos de pantalla en el sistema SAP
• Crear una interfase de usuario para un programa
• Usar y describir el Dictionary ABAP y sus servicios
• Modelar y leer datos usando SQL de la base de datos
• Programar de manera sensible al rendimiento
• Usar el Code Inspector
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. ix
Resumen del curso TAW10_2
x © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
Capítulo 1
1 Introducción a la programación de
imágenes
This unit lays the foundation for the next topics of the course. The participants
should understand the basic terms in screen programming. Basic techniques have
to be known by the participants in principle. They will be applied later on in
various exercises. Screen types and general screen attributes are discussed. Screen
sequencing as well as the introduction of screen levels using the CALL SCREEN
statement are discussed. Moreover, the participants learn how to navigate between
screens using functions from the programming interface.
Resumen del capítulo
En esta unidad se describen los principios de la programación de imágenes.
Aprenderá a crear imágenes y a añadir elementos de pantalla del Dictionary
ABAP. La unidad también presenta información detallada sobre cómo modificar
atributos de forma dinámica, inicializar la tabla del sistema SCREEN e insertar
secuencias de imágenes para transacciones complejas.
Objetivos del capítulo
Al finalizar este capítulo podrá:
• Describir el modelo de implementación de transacción única
• Organizar el código fuente de su programa con Includes
• Crear y procesar imágenes
• Añadir elementos de pantalla de Dictionary ABAP
• Explicar el procesamiento PBO y PAI
• Realizar modificaciones dinámicas de imagen
• Insertar secuencias de imágenes
Contenido del capítulo
Lección: Aspectos generales.....................................................3
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 1
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Lección: Principios de la programación de imágenes ...................... 13
Demostración: Demonstration of SAPMBC410DIAD_A_SIM-
PLE_TRANS ................................................................. 19
Lección: Modificación y secuencia de imágenes ............................ 29
Demostración: Demonstration of SAPMBC410DIAD_B_MOD-
IFY_SCREEN ................................................................ 35
Demostración: Demonstration of SAPMBC410DIAD_B_MOD-
IFY_SCREEN ................................................................ 41
Demostración: Demonstration of SAPBC410DIAD_C_DYN-
PRO_PRE .................................................................... 42
Ejercicio 1: Creación de pantallas ........................................ 43
2 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Aspectos generales
Lección:
2
Aspectos generales
Duración de la lección: 30 Minutos
Resumen de la lección
En la presente lección se familiarizará con el término "diálogo de usuario",
descubrirá que el modelo de implementación SAP actual es la transacción de
imagen única, verá las clases de programa que existen y aprenderá a organizar su
programa con Includes.
Objetivos de la lección
Al finalizar esta lección podrá:
• Describir el modelo de implementación de transacción única
• Organizar el código fuente de su programa con Includes
Ejemplo empresarial
Desea programar diálogos de usuario para el SAP GUI.
Gráfico 1: Diálogos de usuario
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 3
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Se considera diálogo de usuario a cualquier forma de interacción entre el
usuario y el programa. Por ejemplo:
• Registro de datos
• Selección de una opción del menú
• Hacer clic en un botón
• Hacer clic o doble clic en una entrada de lista
Gráfico 2: Modelo de implementación SAP
El objetivo del modelo de implementación actual de SAP es sustituir secuencias
largas y anidadas de imágenes por transacciones de imagen única.
La principal ventaja de esto es que mejora la utilidad del sistema SAP. Las
transacciones resultan mucho más fáciles de utilizar para los usuarios.
Las imágenes de entrada y de datos se combinan en una sola ventana. De tal modo
que se ahorra al usuario una navegación innecesaria y se asegura un contexto
empresarial correcto.
Las transacciones de imagen única proponen al usuario la sesión de programa
que mejor se ajusta a sus autorizaciones, permiten que el usuario pueda acceder
directamente a los objetos que se vayan a tratar, y se limita el área de selección
mediante un filtro, una estructura de árbol o, por ejemplo, el último objeto que
se ha tratado.
Una vez se han grabado los datos en la base de datos, el usuario puede volver a
visualizar el objeto tratado para verificar las modificaciones que le ha introducido.
4 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Aspectos generales
Gráfico 3: Ejemplo de formato de pantalla: Transacción FB60
La transacción FB60 se ha rediseñado conforme al nuevo modelo de
implementación.
La pantalla se divide en cuatro partes, cada una de ellas con funciones distintas:
• Selección de objetos: Puede seleccionar el objeto que desea tratar en una
estructura de árbol.
• ID de objeto: Puede tratar los datos y atributos clave de todo el objeto.
• Detalles del objeto: Puede seleccionar objetos parciales para tratarlos.
• Funciones de aplicación: Como resultado de las nuevas transacciones de
imagen única, en la barra de pulsadores sólo hay unas cuantas funciones
disponibles. Entre ellas: opciones de visualización, como mostrar y ocultar
ámbitos de imagen, crear objetos nuevos a partir de modelos, o conmutar
entre distintas sesiones de un programa.
The easiest demo would be transaction SE80.
A lo largo de esta lección, creará un programa acorde con el paradigma de la
transacción de imagen única. Más concretamente, utilizará elementos como
botones de selección y fichas.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 5
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 4: Ejercicio: Programación de pantallas
You might want to execute the final solution, module pool
SAPMBC410ACONS_CONTEXTMENU.
ABAP dispone de diversas clases de programa. Dos de ellas representan
programas completos: Las clases 1 y M se pueden ejecutar. El resto de clases
están incompletas, es decir, se pueden utilizar dentro de otros programas, pero no
por sí solas.
6 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Aspectos generales
Gráfico 5: Clases de programas ABAP
Programa ejecutable (tipo 1)
Los programas ejecutables se pueden ejecutar mediante Sistema → Servicios →
Reportingo directamente desde el editor ABAP. Siguiendo un orden predefinido, se
implementan un conjunto de bloques de procesamiento. Puede utilizar una imagen
de selección estándar. Por lo general, los programas de tipo 1 crean y visualizan
listas. No obstante, en los informes modernos se aplica el SAP List Viewer (ALV).
Modulpool (tipo M)
Para que un programa M sea ejecutable, debe crear al menos un código de
transacción en el que se especifique una imagen inicial. Puede controlar la
secuencia de imágenes posterior tanto de forma estática en los atributos de imagen
como dinámica en el código de programa.
Los siguientes tipos de programas no se pueden ejecutar directamente. Sirven
de contenedor para las unidades de modularización que se llaman desde otros
programas. Cuando cargue una de estas unidades de modularización, el sistema
carga todo su programa principal en la sesión interna del programa de llamada.
Grupo de funciones (tipo F)
Un grupo de funciones puede contener módulos de funciones, declaraciones de
datos locales e imágenes.
Programa de Include (tipo 1)
Un programa de Include puede contener cualquier sentencia ABAP.
Pool de interfases (tipo J)
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 7
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Un pool de interfases puede contener interfases globales y declaraciones de datos
locales.
Pool de clases (tipo K)
Un pool de clases puede contener clases globales y declaraciones de datos locales.
Gráfico 6: Organización de programas
En el más sencillo de los casos, el programa consiste en una fuente única que
contiene todos los bloques de procesamiento necesarios. No obstante, para que
el código de programa sea más fácil de comprender y poder reutilizar algunas
partes del mismo en otros programas, por ejemplo, para declaraciones de datos,
debería utilizar programas de Include.
Cuando cree un programa desde el Object Navigator, el sistema propone que
sea Con Include TOP. Seleccionando esta opción, podrá crear programas con
una estructura clara.
Cuando cree bloques de procesamiento, el sistema solicita automáticamente el
programa de Include en el que debe insertarse el código fuente correspondiente.
Si se especifica un programa de Include que todavía no existe, el sistema lo crea e
inserta una declaración INCLUDE correspondiente en el programa principal.
8 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Aspectos generales
Gráfico 7: Tablas del modelo de datos del vuelo (BC410)
Los campos de tabla más importantes que se utilizan en este curso y su significado:
SPFLI
CARRID Cia.aérea
CONNID Código de conexión
AIRPFROM, AIRPTO Aeropuerto de salida, aeropuerto de
llegada
CITYTO, CITYFROM Ciudad de llegada, ciudad de salida
SFLIGHT
CARRID, CONNID Véase SPFLI.
FLDATE Fecha de vuelo
SEATSMAX, SEATSOCC Capacidad máxima, asientos ocupados
(clase turista)
PRICE Precio del vuelo básico
CURRENCY Moneda
SBOOK
CARRID, CONNID, FLDATE Véase SFLIGHT.
BOOKID Número de reserva
CUSTOMID Número de cliente
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 9
Capítulo 1: Introducción a la programación de imágenes TAW10_2
SAPLANE
PLANETYPE Tipo de avión
SEATSMAX Capacidad máxima
10 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Aspectos generales
Discusión con moderador
Discuss open questions.
Preguntas para la discusión
Utilice las siguientes preguntas para que los participantes del curso tomen parte en
la discusión. También puede utilizar sus propias preguntas.
What other programming models are there in SAP software?
What other GUIs are there in SAP software?
What are the advantages of organizing your program with includes?
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 11
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Resumen de la lección
Ahora podrá:
• Describir el modelo de implementación de transacción única
• Organizar el código fuente de su programa con Includes
12 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Lección:
11
Principios de la programación de imágenes
Duración de la lección: 50 Minutos
Resumen de la lección
Esta lección le ayudará a comprender los principios de la programación de
imágenes. Asimismo, aprenderá a crear imágenes y a añadir elementos de pantalla
del Dictionary ABAP. Por último, conocerá los procesamientos PBO y PAI.
Objetivos de la lección
Al finalizar esta lección podrá:
• Crear y procesar imágenes
• Añadir elementos de pantalla de Dictionary ABAP
• Explicar el procesamiento PBO y PAI
Explain the principles of screen programming. Also, discuss how to create screens
using examples. You also need to describe how to add ABAP Dictionary screen
elements. Finally, explain how PBO and PAI processing are performed in screen
programming.
Strengths of Screens
Emphasize the advantages of the screen programming. Compare with lists and
selection screens.
Screens in Dialog Programs
Use this slide to give an overview. Do not go too deep into details. Compare
with list programming.
Attributes of Screen Elements (Key)
Describe the legend.
Screen Programs: Screen Processing
Emphasize the MODIFY SCREEN statement. Recall the advantages of using
the field SCREEN-ACTIVE.
Screens
Define the term.
Defining and Managing Screens
Denote all the screen elements to ensure that participants can refer to it for later
considerations.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 13
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Screen: Attributes
Concentrate on important attributes. This slide is mainly for reference.
Creating Screens
The four parts of a screen leads to the corresponding steps for creating a screen.
Creating Screens: Screen Attributes
Enforce the use of the Object Navigator for creating program objects.
Creating Screens: Layout
Refer to the demo.
Creating Screens: Element List
Refer to the demo.
Creating Screens: Flow Logic
Refer to the demo
Data Visibility
Mention the two software processors DYNP and APAP. Explain that they use
different sets of fields and where they come from. Note that the main principle
for data exchange is that the fields possess identical names. Underline and give
reasons for using an extra screen structure. Use the TABLES statement only for
the data exchange structure.
Data Exchange: Screens - ABAP Program
Explain the moments of data transfer. Underline and give reasons for using an
extra ABAP working area. This will ensure that unchecked data can never be
written to the database.
Ejemplo empresarial
Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus
clientes utilizando las pantallas de la aplicación. Supongamos que forma parte de
la dirección de dicha agencia. Debe realizar las tareas siguientes.
14 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Presentación de pantallas
Gráfico 8: Pantallas
Las pantallas son objetos de libre definición que se pueden utilizar para visualizar
o introducir información a través de unos campos de entrada y de salida, listas, etc.
Las pantallas son una forma de diálogo entre el usuario y el programa ABAP.
Gráfico 9: Puntos fuertes de las pantallas
Las pantallas permiten introducir y visualizar datos.
Las pantallas se pueden utilizar junto con el Dictionary ABAP para verificar la
consistencia de los datos que ha indicado el usuario.
Las pantallas permiten crear diálogos de fácil manejo con pulsadores, controles de
ficha, controles de tabla y otros elementos gráficos.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 15
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 10: pantallas en programas de diálogo
Centrémonos en un programa de diálogo sencillo compuesto por una imagen de
selección como imagen inicial y una imagen para visualizar la información de un
registro de datos seleccionado.
Cuando se inicia el programa, el sistema carga su contexto de programa y prepara
espacio de memoria para los objetos de datos del mismo. Se muestra la imagen
de selección.
El usuario introduce datos en la imagen de selección y elige Ejecutar.
En un bloque de proceso, el programa lee los datos de la base de datos. Para ello,
transfiere información de los datos que ha solicitado el usuario a la base de datos.
La base de datos cumplimenta una estructura con el registro de datos indicado.
Así, la lógica de proceso llama una pantalla. De este modo se desencadena un
bloque de proceso que pertenece a la pantalla y que se denomina Proceso antes de
salida (PBO). Una vez se procesa el PBO, los datos se transfieren a la estructura
que sirve de interface a la pantalla. A continuación, se transfiere a la pantalla y
se visualiza.
Cualquier acción del usuario en la pantalla, como la entrada de datos, la elección
de una opción de menú o la selección de un pulsador, devuelve el control al sistema
de tiempo de ejecución. A continuación, los campos de dynpro se transportan a
la estructura que actúa de interface entre la pantalla y el programa. El sistema
de tiempo de ejecución desencadena otro bloque de proceso que pertenece a la
pantalla y que se denomina Proceso después de la entrada (PAI) y que siempre se
ejecuta tras una interacción con el usuario.
16 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Gráfico 11: Atributos de elementos de pantalla (clave)
Los elementos de pantalla como campo de texto, campo de entrada/salida, icono
de status, marco de grupo, botón de selección, casilla de selección, y pulsador
disponen de atributos generales, de Dictionary, de programa y de visualización.
Los elementos subscreen, control de fichas y control de tablas disponen de
atributos generales y especiales relacionados con sus correspondientes clases.
Los atributos de un elemento se pueden dividir en:
• Atributos de definición estática que no se pueden modificar de forma
dinámica
• Atributos de definición estática que se pueden modificar de forma
dinámica
• Atributos que sólo se pueden fijar de forma dinámica
Si desea disponer de documentación exhaustiva relativa a los atributos de
elementos de pantalla, vea la documentación online (Biblioteca SAP →
Componentes SAP NetWeaver → Workbench ABAP → Herramientas de
Workbench ABAP → Screen Painter → Definición de los atributos de elemento).
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 17
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 12: Pantallas: Atributos
Cada pantalla tiene un conjunto de atributos de administración que especifican el
tipo, el tamaño y la pantalla posterior. También cuenta con parametrizaciones que
afectan a otras propiedades de la pantalla y sus componentes.
Los atributos de administración Programa y Número de dynpro identifican la
pantalla por su número y por el programa al que pertenece.
Los números de pantalla mayores que 9.000 se reservan para los clientes del
sistema SAP. Los números de pantalla del 1.000 al 1.010 se reservan para las
pantallas de actualización de las tablas de Dictionary ABAP y las pantallas de
selección estándar de los programas ejecutables.
El tipo de pantalla identifica la finalidad de la misma. Otros atributos especiales de
pantalla y sus componentes dependen del tipo de pantalla.
El atributo Dynpro siguiente permite especificar la pantalla que se debería procesar
tras la actual en una secuencia definida.
Si desea disponer de una lista completa de los atributos de pantalla, consulte la
documentación online (Biblioteca SAP → Componentes SAP NetWeaver →
Workbench ABAP → Herramientas de Workbench ABAP → Screen Painter →
Creación de pantallas).
18 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Gráfico 13: Definición y gestión de pantallas
Una pantalla se compone de una imagen y de su lógica de proceso. La lógica
de proceso es un programa que controla cómo se procesa la pantalla. Si desea
información sobre la programación de la lógica de proceso de pantallas, consulte
la Guía del usuario de ABAP.
Las pantallas están formadas por cuatro componentes: la máscara de imagen en
pantalla, los atributos de imagen, la lista de elementos y la lógica de proceso. La
lógica de proceso contiene el código de la misma y no las sentencias ABAP.
Las pantallas son contenedores de otros elementos de pantalla
Demostración: Demonstration of
SAPMBC410DIAD_A_SIMPLE_TRANS
Objetivo
To demonstrate SAPMBC410DIAD_A_SIMPLE_TRANS
Datos del sistema
Sistema:
Mandante:
ID de usuario:
Clave de acceso:
Parametrizaciones del sistema:
1. Show the field checks and the input help.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 19
Capítulo 1: Introducción a la programación de imágenes TAW10_2
2. Review the main steps with respect to the last slide.
Creación de pantallas
Gráfico 14: Creación de pantallas
Cuando se crea una pantalla, se debe:
• Fijar los atributos generales de dynpro en la imagen de atributos.
• Diseñar el formato de imagen en el editor de layout.
• Fijar los atributos de campo en la lista de campos.
• Escribir la lógica de proceso en el editor de la lógica de proceso.
20 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Gráfico 15: Creación de pantallas: Atributos de imagen
Para crear una pantalla desde la lista de objetos en el Object Navigator, cree un
objeto de desarrollo nuevo con la clase Pantalla. Sitúe el cursor sobre pantallas y
haga clic con el botón derecho.
El Object Navigator abre automáticamente el Screen Painter.
Cuando se crea una pantalla, en primer lugar se deben indicar sus atributos:
Indique un número de pantalla, un texto breve y un tipo de pantalla. Por lo
general, se aplicará el tipo de pantallaNormal. Se puede especificar el número de
la pantalla siguiente en el campo Dynpro siguiente.
Si se indica 0 o ningún valor para el dynpro siguiente, el sistema reanuda el
procesamiento en el mismo punto en que se llama la pantalla una vez termina
de procesarla.
También se puede crear una pantalla insertando una sentencia CALL SCREEN en
el editor ABAP y haciendo luego doble clic en el número de pantalla.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 21
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 16: Creación de pantallas: Layout
Los elementos de pantalla se definen adoptando las descripciones de campo
pertinentes del Dictionary ABAP. Sin embargo, también puede utilizar
descripciones de campo que el usuario haya definido en su programa. Para ello,
primero deberá generar el programa.
Se pueden usar los textos y modelos de palabras clave tanto juntos como por
separado.
El editor de layout gráfico constituye una forma sencilla de definir diversos
elementos de pantalla, como pueden ser los campos de entrada/salida, los textos
de palabra clave y las casillas. Basta con marcar el elemento deseado y situarlo
sobre la pantalla con el ratón.
Para eliminar un elemento de pantalla, selecciónelo y marque Borrar.
Puede mover elementos de la pantalla arrastrándolos y soltándolos con el ratón.
Nota: El editor de layout gráfico se encuentra en UNIX y en Windows
NT, Windows 95 o versiones superiores de Windows.
Si emplea un sistema operativo distinto, deberá utilizar el Screen Painter
alfanumérico.
22 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Gráfico 17: Creación de pantallas: La lista de elementos
Para que pueda fijar los atributos de todos los elementos de pantalla, el Screen
Painter contiene una lista de elementos con seis vistas. También puede visualizar
todos los atributos de un único elemento de cualquiera de las listas, Atributos.
Asimismo, puede actualizar los atributos de un elemento desde el editor de layout
mediante la función Atributos.
En el Screen Painter, se trabaja con clases de datos externos. Éstos corresponden
a las clases de datos que constan en el Dictionary ABAP. En el caso de campos
que haya elegido el usuario y que estén definidos en el Dictionary ABAP, el
sistema muestra la clase de datos externos en la columna Formato. En el caso de
elementos o modelos que no tengan una referencia Dictionary ABAP, el propio
usuario deberá indicar la clase de datos externos.
Al fin de encontrar la clase de datos externos equivalente a una clase de datos
internos, clase de datos ABAP, consulte la documentación de descriptor de la
sentencia ABAP SELECT: Reglas de asignación para columnas individuales.
Por ejemplo:
Clase de datos del Dictionary ABAP Clase de datos ABAP
CHAR C
NUMC N
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 23
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 18: Creación de pantallas: Lógica de proceso
Las pantallas poseen su propio conjunto de descriptores que se emplean en los
eventos PBO y PAI de la lógica de proceso. Consulte la documentación online.
Desde el Screen Painter, inicie la ayuda (Ctrl.-F8), y luego marque Resumen
de descriptores.
En la lógica de proceso, escriba las llamadas de MÓDULO. Los módulos son
componentes del mismo programa ABAP. Contienen las sentencias ABAP que el
usuario quiere ejecutar.
Se puede crear un módulo haciendo doble clic sobre el nombre del mismo en el
editor de la lógica de proceso.
Para crear un módulo desde la lista de objetos del Object Navigator, marque el
módulo de desarrollo Módulo PBO o Módulo PAI.
Puede llamar el mismo módulo desde más de una pantalla. Si el procesamiento
depende del número de pantalla, puede recuperar el número de la pantalla actual
en el campo SY-DYNNR.
Fíjese en que los módulos que se llaman en el bloque de procesamiento PBO se
deben definir con la sentencia MODULE... SALIDA; los módulos que se crean
con la sentencia MODULE... ENTRADA sólo se pueden llamar en el evento PAI.
24 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Gráfico 19: Visibilidad de los datos
Existen dos procesadores de software distintos que participan en el procesamiento
de pantallas del programa. El procesador ABAP controla la ejecución del
programa dentro de un módulo. El procesador DYNP controla la lógica de proceso
y prepara los datos que se visualizarán en la pantalla.
Durante este proceso, se muestran dos conjuntos de datos. El usuario trabaja con
los campos globales de su programa dentro del módulo. Los campos globales
se crean en el Include TOP con sentencias declarativas, por ejemplo, TABLES
o DATA.
Los campos que el sistema reconoce en la lista de elementos se utilizan para
recuperar datos y visualizarlos en la pantalla, y también para transportar los datos
que ha modificado el usuario. Esto ocurre de forma automática, cuando se reciben
campos del Dictionary ABAP o del programa del editor de layout.
Es preciso copiar los datos porque existen distintos conjuntos de campos de
datos. Un programa del sistema se encarga de ejecutar el proceso de copiado. A
instancias definidas durante el proceso, se comparan los campos con designaciones
idénticas en DYNP y ABAP.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 25
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 20: Intercambio de datos: pantallas: Programas ABAP
Para que una pantalla y su programa ABAP se puedan comunicar, los campos de
la pantalla y sus equivalentes en el programa deben tener nombres idénticos.
Después de que el sistema haya procesado todos los módulos del bloque de
procesamiento PBO, el sistema copia el contenido de los campos del área de
trabajo ABAP en sus campos equivalentes del área de trabajo de imagen.
Antes de que el sistema procese el primer módulo del bloque de procesamiento
PAI, el sistema copia el contenido de los campos del área de trabajo de pantalla en
sus campos equivalentes del área de trabajo ABAP.
El usuario debería utilizar sus propias estructuras, como por ejemplo
SDYN_CONN, para transportar datos entre la pantalla y el programa ABAP. De
este modo se garantiza que los datos que se transportan de la pantalla al programa,
y viceversa, son exactamente los datos que desea el usuario.
26 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Principios de la programación de imágenes
Discusión con moderador
Preguntas para la discusión
Utilice las siguientes preguntas para que los participantes del curso tomen parte en
la discusión. También puede utilizar sus propias preguntas.
Discuss the process of creating screens.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 27
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Resumen de la lección
Ahora podrá:
• Crear y procesar imágenes
• Añadir elementos de pantalla de Dictionary ABAP
• Explicar el procesamiento PBO y PAI
28 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Lección:
24
Modificación y secuencia de imágenes
Duración de la lección: 45 Minutos
Resumen de la lección
En esta unidad aprenderá a modificar atributos de forma dinámica. Aprenderá a
inicializar la tabla de sistema SCREEN. Asimismo, aprenderá a insertar secuencias
de imagen para transacciones complejas cuando necesite utilizar imágenes
múltiples.
Objetivos de la lección
Al finalizar esta lección podrá:
• Realizar modificaciones dinámicas de imagen
• Insertar secuencias de imágenes
Screen sequencing as well as the introduction of screen levels using the CALL
SCREEN statement are discussed. Moreover, the participants learn how to
navigate between screens using functions from the programming interface.
Dynamically Modifiable Static Attributes
How is it possible to modify statically defined attributes? Explain the
system-defined structure SCREEN.
Modifying Attributes Dynamically: Example
Ask which attribute and hence which SCREEN field has been changed.
The SCREEN System Table
Introduce the terminology system table SCREEN. Emphasize that this is no
internal table but there are some statements that looks like statements for internal
tables. For instance, the READ TABLE statement does not work.
Initializing the System Table SCREEN
Point out that dynamical screen modifications are temporary, since the system
table SCREEN will be copied at the very beginning of every PBO from the
statically defined attributes of the screen elements.
Determining the Next Screen
Underline the necessity of determining the next screen based on user inputs.
Static Screen Sequence
Show the attribute next screen within the demo.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 29
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Setting the Next Screen Dynamically
Explain the technique. Emphasize that the changing of the attributes is temporary.
Inserting Screen Sequences
Distinguish inserting screen sequences from setting the next screen dynamically.
Explain the screen stack.
Inserting a Sequence of Screens Dynamically
Explain the technique.
Window Coordinates
Explain the coordinates and the special cases, e.g. upper_row = 0.
Setting the Cursor Position Dynamically
Give examples for the OFFSET addition.
Exercise for creating a screen and using it in an executable program
The exercise is quite simple but the participants have to copy the template. Give a
hint such that they do not forget to copy the corresponding include programs.
Ejemplo empresarial
Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus
clientes utilizando las pantallas de la aplicación. Estas imágenes le deberían
permitir modificar atributos de forma dinámica. En el caso de transacciones
complejas para las que requiera el uso de imágenes múltiples, como la
visualización de reservas de vuelos y de datos de vuelo, necesitará saber cómo se
insertan secuencias de imágenes.
Modificaciones de imagen dinámicas
Las modificaciones dinámicas de los atributos de elementos de pantalla son
temporales.
Cuando utilice esta técnica para modificar los atributos de un elemento de pantalla,
puede sustituir secuencias largas de imágenes independientes, que son mucho más
costosas en términos de tiempo de programación y de ejecución. Por ejemplo, con
esta técnica, puede modificar el atributo de un elemento de pantalla para decidir si
un campo de entrada/salida está listo para la entrada.
30 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Gráfico 21: Modificación dinámica de atributos: Ejemplo
Gráfico 22: Atributos estáticos que admiten una modificación dinámica
Al inicio del PBO, el sistema de tiempo de ejecución lee los atributos de creación
estática y que admiten una modificación dinámica de todos los elementos de
pantalla actual que se reflejan en una tabla del sistema con la clase de línea
SCREEN.
SCREEN-NAME es el identificador único de un elemento en una pantalla. Existe
una excepción a esta norma: un elemento de texto puede recibir el mismo nombre
que el elemento de entrada al que describe.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 31
Capítulo 1: Introducción a la programación de imágenes TAW10_2
SCREEN-REQUIRED puede tener tres valores: 0 significa que no se requiere, 1
significa que se requiere y 2 (que se introdujo en el SAP Web Application Server
6.10) significa recomendado.
Si desea una definición completa de la estructura SCREEN, consulte la
documentación de Ayuda en LOOP AT SCREEN en el editor ABAP.
El gráfico muestra la asignación de los campos en la tabla de sistema SCREEN a
los nombres de los atributos de creación estática de los elementos de pantalla.
Gráfico 23: La tabla de sistema SCREEN
La tabla de sistema con la clase de línea SCREEN se denomina tabla de sistema
SCREEN en la unidad siguiente.
Cuando se procesa una pantalla, la tabla de sistema SCREEN contiene una entrada
para cada uno de los elementos que se han creado en el Screen Painter para esa
pantalla.
32 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Gráfico 24: Inicialización de la tabla de sistema SCREEN
La tabla de sistema SCREEN se inicializa al comienzo del evento PBO de la
imagen actual. Para ello, un programa de sistema copia los atributos de definición
estática de los elementos de pantalla individual en la tabla.
Luego el usuario puede modificar los atributos que admiten modificaciones
dinámicas de los elementos en pantalla en un módulo de PBO con las sentencias
siguientes:
LOOP AT SCREEN.
...
MODIFY SCREEN.
ENDLOOP.
Para ello, se utiliza la estructura SCREEN, que crea el sistema automáticamente y
que se cumplimenta con los valores de todas las líneas sucesivas de la tabla del
sistema en el loop. Los atributos fijados tienen el valor "1" y los atributos que
no están fijados tienen el valor "0". Para modificar la tabla del sistema, utilice
MODIFY SCREEN en el loop.
Para encontrar el elemento cuyos atributos desea modificar, puede emplear
un LOOP en la tabla SCREEN y consultar uno de los campos siguientes:
SCREEN-NAME o SCREEN-GROUP1 a SCREEN-GROUP4.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 33
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 25: La modificación de un atributo de grupo
Se pueden modificar los atributos de diversos elementos de pantalla a la vez en
tiempo de ejecución, incluyéndolos en un grupo de modificación del Screen
Painter. Asigne todos los elementos que se modificarán en un único paso de
procesamiento a un grupo del Screen Painter. Para ello, indique un nombre de
grupo para cada uno de los elementos relevantes en uno de los campos GROUP1
a GROUP4.
Cada elemento se puede incluir en un máximo de cuatro grupos de modificación.
El nombre de grupo puede ser una secuencia cualquiera de tres caracteres. Se
pueden asignar elementos a un grupo de modificación tanto en la lista de elementos
como en el editor de layout del Screen Painter.
Gráfico 26: Modificación dinámica de atributos: Programa
34 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Las modificaciones de imagen se tienen que programar en un módulo que se
procesa durante el bloque de proceso PROCESO ANTES DE SALIDA.
Con la tabla SCREEN se utiliza un loop para modificar los atributos de un
elemento o de un grupo de elementos. LOOP AT SCREEN WHERE . . . y READ
TABLE SCREEN no se soportan.
Para activar y desactivar atributos, asigne el valor 1 (activo) o 0 (inactivo), y
guarde los cambios con la sentencia MODIFY SCREEN.
Fíjese en que los elementos que ha definido de forma estática como invisibles
en el Screen Painter no se pueden volver a activar con SCREEN-ACTIVE = 1.
Utilice la sentencia SCREEN-INVISIBLE = 0. Sin embargo, los elementos
que se han definido estáticamente como visibles en el Screen Painter se pueden
hacer invisibles de forma dinámica con SCREEN-ACTIVE = 0. Esta sentencia
tiene la misma influencia que las tres sentencias SCREEN-INVISIBLE = 1,
SCREEN-INPUT = 0, SCREEN-OUTPUT = 0.
Demostración: Demonstration of
SAPMBC410DIAD_B_MODIFY_SCREEN
Objetivo
To demonstrate SAPMBC410DIAD_B_MODIFY_SCREEN
Datos del sistema
Sistema:
Mandante:
ID de usuario:
Clave de acceso:
Parametrizaciones del sistema:
1. Show the function. Which property has changed? Give reasons for using
SCREEN-ACTIVE instead of SCREEN-INVISIBLE. Remark that obviously
the activity of groups of fields has been changed.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 35
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Secuencia de imágenes
Gráfico 27: Determinación del Dynpro siguiente
En el caso de las transacciones complejas, puede ser necesario emplear muchas
imágenes. La imagen inicial se determina cuando se crea el código de transacción.
Las pantallas determinan el dynpro siguiente en función de las entradas del usuario.
El dynpro siguiente se introduce de forma estática en los atributos de imagen. En
el tiempo de ejecución, se puede sustituir de forma temporal el dynpro siguiente
estático con la sentencia SET SCREEN.
Gráfico 28: Secuencias de imágenes estáticas
36 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Se puede definir una secuencia estática de imágenes indicando un valor en el
campo Dynpro siguiente de los atributos de imagen.
Si se indica 0 o ningún valor para el dynpro siguiente, el sistema reanuda el
procesamiento en el mismo punto en que se inicia la pantalla una vez termina
de procesarla.
Gráfico 29: Configuración dinámica de Dynpro siguiente
La sentencia SET SCREEN sustituye temporalmente el atributo de Dynpro
siguiente.
La pantalla debe pertenecer al mismo programa.
El dynpro siguiente se procesa o bien cuando termina el procesamiento de
imágenes en curso o bien cuando se cancela mediante la sentencia LEAVE
SCREEN.
Para especificar el dynpro siguiente y abandonar la imagen actual en un mismo
paso, utilice la sentencia LEAVE TO SCREEN.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 37
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 30: Inserción de secuencias de imágenes
Se puede insertar una secuencia de imágenes. Al hacerlo, se añade una nueva
capa a una pila.
Una secuencia de imágenes se inserta con la sentencia CALL SCREEN.
Nota: Los niveles creados así se deben eliminar luego. Puede hacerlo,
configurando el dynpro siguiente de forma estática o dinámica en el valor
inicial (0) al final de la secuencia de imágenes insertada.
Gráfico 31: Inserción dinámica de una secuencia de imágenes
38 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Para interrumpir el procesamiento de la imagen actual y pasar a una nueva imagen
o secuencia de imágenes, utilice la sentencia CALL SCREEN. La pantalla debe
pertenecer al mismo programa.
El sistema construye una pila dentro del programa.
Para volver a la sentencia que sigue a la sentencia CALL SCREEN, puede utilizar
o bien SET SCREEN 0, LEAVE SCREEN o LEAVE TO SCREEN 0. Acto
seguido, la pantalla que llamaba la otra pantalla se sigue procesando.
Si utiliza la sentencia anterior fuera del marco de una cadena de llamadas, el
programa se cancela y el control vuelve al punto en el que fue llamado. Un
programa también se puede cancelar con la sentencia ABAP LEAVE PROGRAM.
Gráfico 32: Llamada dinámica de una ventana de diálogo
En la sentencia CALL SCREEN, se pueden utilizar los suplementos STARTING
AT y ENDING AT para especificar la posición y el tamaño de la pantalla que
se está llamando. La pantalla de la sentencia CALL SCREEN se debe definir
como una ventana de diálogo modal que satisfaga los estándares ergonómicos
del sistema SAP.
Si se omite la sentencia ENDING AT, el tamaño de la ventana de diálogo se
especifica con Tamaño utilizado en sus atributos de imagen. A continuación, el
sistema determina el tamaño de la ventana de diálogo con el atributo de imagen
Tamaño ocupado.
Si emplea el suplemento ENDING AT, el sistema muestra aquella parte de la
ventana de diálogo que cabrá en el espacio de que se dispone. Si no hay suficiente
espacio como para ver toda la ventana de diálogo, aparecerán una barras de
desplazamiento.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 39
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Gráfico 33: Cooedenadas de ventana
La posición inicial de cualquier ventana del sistema SAP es la esquina superior
izquierda.
Los valores que se aplican para las variables left_col, upper_row, right_col y
lower_row en la sentencia siguiente hacen referencia a la ventana SAP desde
la que se visualiza la segunda pantalla con CALL SCREEN, pantalla 100 en el
ejemplo tal como se ve en el gráfico.
CALL SCREEN <nnnn>
STARTING AT left_col upper_row
ENDING AT right_col lower_row.
40 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Gráfico 34: Configuración dinámica de la posición del cursor
Cuando el sistema muestra una pantalla, sitúa el cursor en el primer campo de
entrada automáticamente. Si, en cambio, desea que el cursor aparezca cada vez en
un campo distinto, puede introducir el correspondiente nombre de elemento en el
campo Posición del cursor de los atributos de imagen.
También puede decir al sistema en el evento PBO que sitúe el cursor en un campo
en concreto. De esta forma, la aplicación será más fácil de usar.
Se puede definir el campo en que debería aparecer el cursor en el programa con la
sentencia ABAP:
SET CURSOR FIELD <object_name> OFFSET <position>.
<field_name> puede ser un nombre único entre comillas, o una variable que
contenga el nombre del objeto. Para situar el cursor en una posición determinada
dentro de un campo, emplee el parámetro OFFSET especificando la posición
requerida en <position>.
A continuación, el sistema sitúa el cursor en la posición inicial correspondiente
empezando a contar al comienzo del campo.
Demostración: Demonstration of
SAPMBC410DIAD_B_MODIFY_SCREEN
Objetivo
To demonstrate SAPMBC410DIAD_B_MODIFY_SCREEN
Datos del sistema
Sistema:
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 41
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Mandante:
ID de usuario:
Clave de acceso:
Parametrizaciones del sistema:
1. Show the coding.
Demostración: Demonstration of
SAPBC410DIAD_C_DYNPRO_PRE
Objetivo
To demonstrate SAPBC410DIAD_C_DYNPRO_PRE
Datos del sistema
Sistema:
Mandante:
ID de usuario:
Clave de acceso:
Parametrizaciones del sistema:
1. Copy SAPBC410DIAD_C_DYNPRO_PRE. Show the parts of screen 100.
Create screen 200. Insert the input/output field. Create the set_status module.
2. Create and call screen 300. Do this within an extra module that will be called
to PAI of screen 200.
3. Implement the command field processing.
42 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
37 Ejercicio 1: Creación de pantallas
Duración del ejercicio: 45 Minutos
Objetivos de los ejercicios
Al finalizar este ejercicio podrá:
• Crear pantallas y utilizarlas en sus aplicaciones
Ejemplo empresarial
Crear un programa con una pantalla que incluya campos de entrada y de salida, y
leer datos de la base de datos. Crear una transacción adecuada para su programa.
Tarea:
Crear un programa con una pantalla que incluya campos de entrada y de salida, y
leer datos de la base de datos. Crear una transacción adecuada para su programa.
1. Crear un programa.
Cree el paquete ZBC410_## (donde ## es su número de grupo) y asígnelo a
la solicitud de modificación que le ha proporcionado el instructor.
En este paquete, cree el programa SAPMZ##BC410_SOLUTION con
un Include TOP (tipo: modulpool). Accepte el nombre que propone
el sistema para el Include TOP. Puede emplear la solución de modelo
SAPMBC410ADIAS_DYNPRO como orientación.
2. Cree el objeto de programa siguiente:
Pantalla 0100 Descripción: Imagen de actualización
Tipo: Normal
Dynpro siguiente: 0100
3. En el paquete, cree una transacción (tipo: transacción de diálogo)
Z##SOLUTION para su programa y verifíquela. Nota: Puesto que todavía
no ha programado ninguna navegación para su programa, el intento de
verificarlo generará temporalmente un bucle infinito, lo que significa que
deberá reiniciar el workbench.
4. Cree los campos siguientes en la pantalla. Utilice la opción de uso de campos
de Dictionary ABAP.
Continúa en la página siguiente
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 43
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Pantalla 100
Campos E/S, campos
de texto
SDYN_CONN
• CARRID
• CONNID
• FLDATE
Atributos de cada campo:
Entrada: on
Salida: on
Entradas obligatorias: on
Campos E/S, campos
de texto
SDYN_CONN
• PRICE
• CURRENCY
• PLANETYPE
• SEATSMAX
• SEATSOCC
• PAYMENTSUM
Atributos de cada campo:
Entrada: off
Salida: on
5. En el evento PAI para la pantalla 100, cree un módulo CHECK_SFLIGHT.
Para ello utilice la navegación hacia adelante y poder crear, de este modo, un
módulo en un Include nuevo. Acepte el nombre que propone el sistema. Lea
los campos de la tabla de base de datos SFLIGHT donde los datos son los de
la compañía aérea, el número de vuelo y la fecha de vuelo.
Tiene dos opciones:
Puede leer directamente en la estructura SDYN_CONN. O puede utilizar la
estructura interna de igualdad, wa_sflight, que se crea en el Include TOP
para leer de la base de datos. En este caso, necesita asegurarse de que los
campos de la estructura de ayuda se copian en los campos de dynpro. Para
ello, necesita un módulo PBO nuevo. La mejor forma de hacerlo es utilizar
la navegación hacia adelante.
Si no se pueden leer datos para las entradas de la pantalla, visualice el
mensaje 007 de la clase de mensajes BC410 como mensaje de información e
inicialice los campos de dynpro. (Nota: los campos CARRID y CONNID se
verifican de forma automática. Sólo se verifica la combinación de CARRID,
CONNID y FLDATE).
Continúa en la página siguiente
44 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
6. Aún no nos hemos centrado en la navegación normal (con un botón Atrás,
etc.). No obstante, recurra a los conocimientos que ya tiene para crear una
forma sencilla de salir del programa (en la siguiente unidad adquirirá un
mejor dominio de este aspecto).
Cree un campo de un carácter en la pantalla. Si el usuario indica X en este
campo, él o ella debería volver al punto en que se llamó el pograma.
Programe una consulta adecuada en un módulo PAI nuevo,
USER_COMMAND_0100.
Consejo: La forma más sencilla de hacerlo es crear primero el
campo de un carácter en ABAP (Include TOP) y activar el programa.
Luego podrá incluir fácilmente el campo en la pantalla en Screen
Painter con el botón de color naranja.
7. Opcional: Visualice la hora en una ventana de diálogo.
Si el usuario introduce T en el campo, aparecerá una ventana de diálogo
donde se verá la hora y se reinicializará el campo de comandos.
Para ello, cree una pantalla nueva y llámela en un módulo PAI
USER_COMMAND_0100:
Pantalla 0150 Descripción: Hora
Tipo: Ventana de diálogo modal
Dynpro siguiente: 0
Visualice el campo UZEIT de la estructura Dictionary SYST en la pantalla.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 45
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Solución 1: Creación de pantallas
Tarea:
Crear un programa con una pantalla que incluya campos de entrada y de salida, y
leer datos de la base de datos. Crear una transacción adecuada para su programa.
1. Crear un programa.
Cree el paquete ZBC410_## (donde ## es su número de grupo) y asígnelo a
la solicitud de modificación que le ha proporcionado el instructor.
En este paquete, cree el programa SAPMZ##BC410_SOLUTION con
un Include TOP (tipo: modulpool). Accepte el nombre que propone
el sistema para el Include TOP. Puede emplear la solución de modelo
SAPMBC410ADIAS_DYNPRO como orientación.
a) Consulte la solución modelo.
2. Cree el objeto de programa siguiente:
Pantalla 0100 Descripción: Imagen de actualización
Tipo: Normal
Dynpro siguiente: 0100
a) Consulte la solución modelo.
3. En el paquete, cree una transacción (tipo: transacción de diálogo)
Z##SOLUTION para su programa y verifíquela. Nota: Puesto que todavía
no ha programado ninguna navegación para su programa, el intento de
verificarlo generará temporalmente un bucle infinito, lo que significa que
deberá reiniciar el workbench.
a) Consulte la solución modelo.
4. Cree los campos siguientes en la pantalla. Utilice la opción de uso de campos
de Dictionary ABAP.
Continúa en la página siguiente
46 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Pantalla 100
Campos E/S, campos
de texto
SDYN_CONN
• CARRID
• CONNID
• FLDATE
Atributos de cada campo:
Entrada: on
Salida: on
Entradas obligatorias: on
Campos E/S, campos
de texto
SDYN_CONN
• PRICE
• CURRENCY
• PLANETYPE
• SEATSMAX
• SEATSOCC
• PAYMENTSUM
Atributos de cada campo:
Entrada: off
Salida: on
a) Consulte la solución modelo.
5. En el evento PAI para la pantalla 100, cree un módulo CHECK_SFLIGHT.
Para ello utilice la navegación hacia adelante y poder crear, de este modo, un
módulo en un Include nuevo. Acepte el nombre que propone el sistema. Lea
los campos de la tabla de base de datos SFLIGHT donde los datos son los de
la compañía aérea, el número de vuelo y la fecha de vuelo.
Tiene dos opciones:
Puede leer directamente en la estructura SDYN_CONN. O puede utilizar la
estructura interna de igualdad, wa_sflight, que se crea en el Include TOP
para leer de la base de datos. En este caso, necesita asegurarse de que los
campos de la estructura de ayuda se copian en los campos de dynpro. Para
ello, necesita un módulo PBO nuevo. La mejor forma de hacerlo es utilizar
la navegación hacia adelante.
Continúa en la página siguiente
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 47
Capítulo 1: Introducción a la programación de imágenes TAW10_2
Si no se pueden leer datos para las entradas de la pantalla, visualice el
mensaje 007 de la clase de mensajes BC410 como mensaje de información e
inicialice los campos de dynpro. (Nota: los campos CARRID y CONNID se
verifican de forma automática. Sólo se verifica la combinación de CARRID,
CONNID y FLDATE).
a) Consulte la solución modelo.
6. Aún no nos hemos centrado en la navegación normal (con un botón Atrás,
etc.). No obstante, recurra a los conocimientos que ya tiene para crear una
forma sencilla de salir del programa (en la siguiente unidad adquirirá un
mejor dominio de este aspecto).
Cree un campo de un carácter en la pantalla. Si el usuario indica X en este
campo, él o ella debería volver al punto en que se llamó el pograma.
Programe una consulta adecuada en un módulo PAI nuevo,
USER_COMMAND_0100.
Consejo: La forma más sencilla de hacerlo es crear primero el
campo de un carácter en ABAP (Include TOP) y activar el programa.
Luego podrá incluir fácilmente el campo en la pantalla en Screen
Painter con el botón de color naranja.
a) Consulte la solución modelo.
7. Opcional: Visualice la hora en una ventana de diálogo.
Si el usuario introduce T en el campo, aparecerá una ventana de diálogo
donde se verá la hora y se reinicializará el campo de comandos.
Para ello, cree una pantalla nueva y llámela en un módulo PAI
USER_COMMAND_0100:
Pantalla 0150 Descripción: Hora
Tipo: Ventana de diálogo modal
Dynpro siguiente: 0
Visualice el campo UZEIT de la estructura Dictionary SYST en la pantalla.
a) Consulte la solución modelo.
Resultado
Solución del modelo SAPMBC410ADIAS_DYNPRO
Programa principal
Continúa en la página siguiente
48 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
INCLUDE MBC410ADIAS_DYNPROTOP.
INCLUDE MBC410ADIAS_DYNPROI01.
INCLUDE MBC410ADIAS_DYNPROOI01.
Pantalla de lógica de proceso 100
PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*
MODULE move_to_dynp.
PROCESS AFTER INPUT.
MODULE user_command_0100.
MODULE check_sflight.
Include TOP
PROGRAM sapmbc410adias_dynpro.
TABLES: sdyn_conn.
DATA:
wa_sflight TYPE sflight,
io_command.
Include de módulo PBO
MODULE move_to_dynp OUTPUT.
MOVE-CORRESPONDING wa_sflight TO sdyn_conn.
ENDMODULE. " move_to_dynp OUTPUT
Include de módulo PAI
MODULE check_sflight INPUT.
SELECT SINGLE *
FROM sflight
* INTO CORRESPONDING FIELDS OF sdyn_conn " direct read
INTO wa_sflight " Read into internal structure
WHERE carrid = sdyn_conn-carrid AND
connid = sdyn_conn-connid AND
fldate = sdyn_conn-fldate.
CHECK sy-subrc <> 0.
CLEAR wa_sflight.
MESSAGE i007(bc410).
ENDMODULE. " check_sflight INPUT
Continúa en la página siguiente
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 49
Capítulo 1: Introducción a la programación de imágenes TAW10_2
MODULE user_command_0100 INPUT.
CASE io_command.
WHEN 'X'.
LEAVE TO SCREEN 0.
WHEN 'T'.
CALL SCREEN 150
STARTING AT 10 10
ENDING AT 50 20.
CLEAR io_command.
ENDCASE.
ENDMODULE. " user_command_0100 INPUT
50 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Modificación y secuencia de imágenes
Resumen de la lección
Ahora podrá:
• Realizar modificaciones dinámicas de imagen
• Insertar secuencias de imágenes
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 51
Resumen del capítulo TAW10_2
Resumen del capítulo
Ahora podrá:
• Describir el modelo de implementación de transacción única
• Organizar el código fuente de su programa con Includes
• Crear y procesar imágenes
• Añadir elementos de pantalla de Dictionary ABAP
• Explicar el procesamiento PBO y PAI
• Realizar modificaciones dinámicas de imagen
• Insertar secuencias de imágenes
52 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Examine sus conocimientos
47
Examine sus conocimientos
1. Cuando se crea una pantalla, se debe:
a. Diseñar el formato de imagen en el editor de layout.
b. Fijar los atributos generales de imagen en la imagen de atributos.
c. Escribir la lógica de proceso en el editor de la lógica de proceso.
d. Fijar los atributos de campo en la lista de campos.
Seleccione el orden correcto:
Seleccione la(s) respuesta(s) correcta(s).
□ A a, b, c, d
□ B c, d, b, a
□ C b, a, d, c
□ D d, b, a, c
2. Tras procesar , se transfieren los datos a la pantalla y se visualizan.
Rellene los espacios en blanco para completar las frases.
3. Para que pueda fijar los atributos de todos los elementos de pantalla, el
Screen Painter contiene una lista de elementos con cuatro vistas.
Diga si estas afirmaciones son correctas o falsas.
□ Correcto
□ Falso
4. Para interrumpir el procesamiento de la imagen actual y pasar a una nueva
imagen o secuencia de imágenes, utilice la sentencia siguiente:
Seleccione la(s) respuesta(s) correcta(s).
□ A CALL SCREEN <nnnn>
□ B SET SCREEN <nnnn>
□ C LEAVE SCREEN
□ D LEAVE TO SCREEN <nnnn>
5. Las modificaciones de imagen se tienen que programar en
un módulo que se procesa durante el bloque de proceso
.
Rellene los espacios en blanco para completar las frases.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 53
Examine sus conocimientos TAW10_2
48
Respuestas
1. Cuando se crea una pantalla, se debe:
a. Diseñar el formato de imagen en el editor de layout.
b. Fijar los atributos generales de imagen en la imagen de atributos.
c. Escribir la lógica de proceso en el editor de la lógica de proceso.
d. Fijar los atributos de campo en la lista de campos.
Seleccione el orden correcto:
Respuesta: C
El orden correcto es fijar los atributos generales de imagen en la imagen
de atributos, diseñar el formato de imagen en el editor de layout, fijar los
atributos de campo en la lista de campos y escribir la lógica de proceso en el
editor de lógica de proceso.
2. Tras procesar PBO, se transfieren los datos a la pantalla y se visualizan.
Respuesta: PBO
3. Para que pueda fijar los atributos de todos los elementos de pantalla, el
Screen Painter contiene una lista de elementos con cuatro vistas.
Respuesta: Falso
Para que pueda fijar los atributos de todos los elementos de pantalla, el
Screen Painter contiene una lista de elementos con seis vistas.
4. Para interrumpir el procesamiento de la imagen actual y pasar a una nueva
imagen o secuencia de imágenes, utilice la sentencia siguiente:
Respuesta: A
Para interrumpir el procesamiento de la imagen actual y pasar a una nueva
imagen o secuencia de imágenes, utilice la sentencia CALL SCREEN
<nnnn>.
5. Las modificaciones de imagen se tienen que programar en un módulo que se
procesa durante el bloque de proceso PROCESO ANTES DE SALIDA.
Respuesta: PROCESO ANTES DE SALIDA
54 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
Capítulo 2
49 La interfase del programa
The program interface is the most important interface between the user and the
program. So, the development of dialogs has to consider the building of the
program interface as an outstanding theme. Developers have to spend time to
layout the program interface. Put the participants to a deeper understanding of
using functions from the program interface. Also, motivate them to spend explicit
time of the development process to layout the program interface. Finally, teach
how to create and use the program interface.
Resumen del capítulo
Esta unida explica que el título y el status GUI forman parte de la interfase de
usuario. Describe el procedimiento para crear un título GUI y un status GUI.
Se aborda la necesidad de reutilizar barras de menú, barras de pulsadores y
definiciones de teclas existentes. Por último, se explica cómo utilizar el status GUI.
Objetivos del capítulo
Al finalizar este capítulo podrá:
• Crear un título GUI
• Identificar las teclas de función
• Crear un status GUI
• Procesar el código de función
Contenido del capítulo
Lección: Interfaz de usuario .................................................... 56
Lección: Status GUI ............................................................. 67
Demostración: Demonstration of SAPBC410GUID_A_GUI_PRE .... 73
Ejercicio 2: Creación de status GUI....................................... 75
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 55
Capítulo 2: La interfase del programa TAW10_2
Lección:
50
Interfaz de usuario
Duración de la lección: 25 Minutos
Resumen de la lección
Este módulo le ayudará a comprender cómo el título GUI y el status forman parte
de la interface de usuario. Aprenderá a crear un título GUI de tres formas distintas:
a partir de la lista de objetos del Object Navigator, a partir de Menu Painter, o
con la navegación hacia adelante a partir del editor ABAP. Además, verá que,
desde un punto de vista técnico, un status es una referencia a una barra de menú, a
ciertas definiciones de tecla y a una barra de pulsadores. Por último, se explican
configuraciones de teclas de función, menús y barras de menús.
Objetivos de la lección
Al finalizar esta lección podrá:
• Crear un título GUI
• Identificar las teclas de función
Explain how GUI title and status are part of user interface. Also, describe status
from the technical point of view.
Overview: Interface
Define the user interface as a set of GUI titles and GUI status, where a GUI status
and a GUI title describe the state of the program interface for the current screen.
The GUI status itself consists of a menu bar, a standard toolbar, an application
toolbar, and a number of function key settings.
GUI Title
Explain creating and using of GUI titles.
Status: Technical View (1)
Explain the reference technique. Emphasize the advantages of this technique for a
consistent user interface. Show any status within the Menu Painter.
Status: Technical View (2)
Give reasons for using the BOTTOM UP technique to the participants. Formulate
guidelines for the layout of a GUI status.
Functions
Show and explain the attributes of a function. Emphasize the function code as key
in the function list. Show the function list for any status.
Function Key Setting
56 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Interfaz de usuario
Discuss reserved, recommended, and freely assigned function key settings. Show
the application toolbar of any status.
Menus and Menu Bars
Discuss that all accessible functions should be reachable by a menu entry.
Formulate guidelines for the layout of menus. Show the menus and menu lists
of any status.
Creating a GUI Status
Explain and demonstrate how to create a status by forward navigation. Remark
other possible accesses to the Menu Painter. Note that since release 4.6, the status
type describes the technical properties of the status.
Function Key Assignment
Emphasize the BOTTOM-UP-technique. Lead the focus of the participants to the
fact that there are two types of functions, static texts and dynamic texts. Give
application samples for both.
Standard Toolbar: Automatic Assignments
Emphasize the advantages of standardization for the usability of the ERP-system.
This slide gives an overview of standard functions key assignments.
Ejemplo empresarial
Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus
clientes utilizando imágenes en la aplicación. Para dichas imágenes, necesita crear
una interface de usuario. Esta interface debería incluir un título GUI y un status.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 57
Capítulo 2: La interfase del programa TAW10_2
Resumen: Interface
Gráfico 35: Resumen: Interface
Un status GUI consiste en una barra de menús, una barra de herramientas, una
barra de pulsadores y la configuración de teclas de función. Cada pantalla puede
tener uno o más status GUI. Por ejemplo, un programa editor puede tener dos
status: uno para el modo de visualización y uno para el modo de modificación.
Los elementos de un status GUI permiten que los usuarios puedan elegir las
funciones con el ratón.
Los menús son elementos de control que permiten al usuario elegir qué funciones
procesará un programa de aplicación. Los menús también pueden contener
submenús. Los menús de sistema y de ayuda están presentes en todas las pantallas
del sistema SAP. Siempre tienen las mismas funciones y no se pueden ni modificar
ni ocultar.
La barra de pulsadores contiene iconos de las funciones de uso frecuente. La barra
de herramientas, que siempre es la misma en todas las imágenes del sistema SAP,
contiene una serie de iconos en la que cada uno de ellos tiene una asignación fija a
una tecla de función. Si una función de la barra de herramientas no está disponible
en la imagen actual, el icono correspondiente se muestra en gris.
La barra de pulsadores permite al usuario elegir funciones de uso frecuente
haciendo clic sobre el botón en cuestión.
Las configuraciones de las teclas de función se emplean para asignar funciones
como Buscar, Sustituir o Cortar a las teclas de función.
Los títulos y status GUI de un programa se pueden agrupar para formar su
interface de usuario. Cada vez que se añade un título o status nuevo, se debe
volver a generar la interface de usuario.
58 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Interfaz de usuario
Gráfico 36: Título GUI
Un título se puede crear de tres formas distintas: a partir de la lista de objetos del
Object Navigator, a partir de Menu Painter, o con la navegación hacia adelante a
partir del editor ABAP.
El nombre de un título puede tener una longitud de hasta 20 caracteres.
Debería definir un título adecuado para cada una de las imágenes de su aplicación.
Puede emplear variables en los títulos que se configuran de forma dinámica en
tiempo de ejecución insertando el signo & como reserva-espacio. En el tiempo de
ejecución, el signo & se sustituye por el valor que especifique. Se pueden definir
hasta nueve variables añadiendo dígitos tras el signo &.
Para definir un título que contenga variables, utilice la sentencia:
SET TITLEBAR WITH <&1> ... <&9>.
Una barra de título permanece en su sitio hasta que se configura otra. En tiempo
de ejecución, la variable de sistema SY-TITLE contiene el título actual. Las barras
de título también se conocen como títulos GUI.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 59
Capítulo 2: La interfase del programa TAW10_2
Gráfico 37: Status: Vista técnica (1)
Desde un punto de vista técnico, un status es una referencia a una barra de menús,
a ciertas definiciones de tecla y a una barra de pulsadores.
Un componente único, como puede ser una barra de menús, puede ser utilizado
por más de un status GUI.
Los status GUI son objetos de programa ABAP que se pueden visualizar en
imágenes y listas.
Debería definir un status para cada una de las imágenes de su aplicación.
Gráfico 38: Status: Vista técnica (2)
Una barra de menús se compone de menús individuales.
60 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Interfaz de usuario
Las definiciones de tecla y barras de pulsadores son objetos inferiores de la
configuración de teclas de función.
Puede crear un conjunto de barras de pulsadores para una sola configuración de
tecla siguiendo el acceso vía menús Pasar a→ objetos de interface; Configuración
de teclas de función → <name> → Configuración de pulsadores; Interface de
usuario → Objeto inferior → Crear en el Menu Painter. Antes de poder asignar
una tecla de función a un pulsador, ésta debe tener asignada una función. Cada
status contiene una única barra de pulsadores.
Todos los menús de programa y definiciones de teclas hacen referencia a un
conjunto de funciones de interface (lista de funciones). Dichas funciones se
pueden alcanzar con la ayuda para entradas. La barra de pulsadores hace referencia
a las funciones de forma indirecta mediante las configuraciones estándar.
Una función puede estar tanto activa como inactiva dentro de un status.
Funciones
Gráfico 39: Funciones
Las funciones se identifican por sus códigos de función.
El atributo tipo de función determina la finalidad prevista de una función. Utilice
las clases de función " " (espacio), E y P. Las clases de función S y H están
reservadas para uso interno del sistema SAP. El tipo de función T indica un código
de transacción. Cuando se lanza una función de esta clase, el sistema sale del
programa de llamada y llama el programa nuevo.
Las funciones se pueden crear con textos estáticos o dinámicos.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 61
Capítulo 2: La interfase del programa TAW10_2
Si una función tiene un texto estático, le puede asignar un icono (atributo del
Nombre de icono). Si la función ya está asignada a un pulsador, se mostrará un
icono en el lugar del texto estático. El texto estático se utiliza cuando se asigna la
función a una entrada de menú. El texto de función que pertenece a la función se
utiliza como texto quick info. El contenido del atributo Texto info aparece en la
barra de status de la pantalla cuando el usuario elige la función. Si desea visualizar
el texto además del icono, introduzca el texto en el atributo Texto de icono.
Puede utilizar el atributo de Acceso directo para especificar las letras que permiten
elegir una función de la barra de menús sin tener que utilizar el ratón.
Una función se puede vincular a un flag. Si el flag está activado, se puede definir
la reacción. Así, se visualiza la función si antes no se mostraba o se oculta si
antes se veía.
Si desea disponer de más información, consulte la documentación online
Biblioteca SAP → Componentes SAP NetWeaver → Workbench ABAP →
Herramientas de Workbench ABAP → Menu Painter → Funciones.
Para obtener más información relativa a flags, consulte la Documentación de
palabras clave ABAP → Modificaciones ABAP por release → Modificaciones en
el release 7.0 → Switch Framework.
Gráfico 40: Definición de teclas de función
Las funciones se pueden asignar a teclas de función individuales o a botones.
Las configuraciones de teclas de función consisten en una definición de tecla y un
pulsador dentro de una barra.
62 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Interfaz de usuario
La clase de las configuraciones de tecla de función (pantalla y ventana de diálogo)
determina la finalidad técnica exclusiva de la configuración de la tecla de función.
Además, se pueden especificar opciones para la implementación de menús
contextuales y la ayuda para entradas en listas.
Las definiciones de teclas consisten en teclas de función reservadas, teclas de
función recomendadas y teclas de función de asignación libre. Las teclas de
función reservadas son teclas de función cuyos valores asignados no se pueden
modificar en el sistema SAP. Sus funciones se pueden activar y desactivar, pero no
se pueden modificar ni los iconos ni los textos que tienen asignados. Las teclas
de función reservadas aparecen en la barra de herramientas en pantallas y listas.
Las teclas de función recomendadas contienen propuestas que satisfacen los
estándares ergonómicos del sistema SAP.
Las funciones que se asignan a las teclas de función también se pueden asignar a
los botones de la barra de pulsadores.
Una barra de pulsadores puede contener hasta 35 botones. Se pueden insertar
separadores verticales en la barra de botones a fin de agruparlos visualmente.
Se puede controlar la visualización de las funciones inactivas en la barra de
pulsadores marcando Pasar a → Atributos → Configuración de pulsadores.
Gráfico 41: Menús y barras de menús
Un menú puede contener hasta 15 entradas.
Algunas entradas posibles son funciones, separadores y menús (menús en cascada).
Los menús pueden tener hasta tres niveles de profundidad. El tercer nivel sólo
puede contener funciones y separadores.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 63
Capítulo 2: La interfase del programa TAW10_2
Los menús se pueden crear con texto estático o dinámico. Si desea utilizar un
texto dinámico, deberá asignar un campo al menú. El contenido de este campo se
visualizará como texto del menú.
La clase de menú Include permite hacer referencia a menús de otros programas.
Al hacerlo, se debe especificar el nombre del programa y el status desde el que
incluir el texto de menú en el campo Documentación breve.
Sólo se puede acceder a los menús de Include con la barra de menús.
Una barra de menús puede contener hasta ocho menús diferentes. Hasta seis
de estos menús se pueden asignar de forma totalmente libre. El sistema añade
automáticamente tanto el menú de sistema como el menú de ayuda a todas las
barras de menú.
64 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Interfaz de usuario
Discusión con moderador
Preguntas para la discusión
Utilice las siguientes preguntas para que los participantes del curso tomen parte en
la discusión. También puede utilizar sus propias preguntas.
• There are three ways to create a title. Discuss.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 65
Capítulo 2: La interfase del programa TAW10_2
Resumen de la lección
Ahora podrá:
• Crear un título GUI
• Identificar las teclas de función
66 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Status GUI
Lección:
58
Status GUI
Duración de la lección: 35 Minutos
Resumen de la lección
En este módulo aprenderá a crear un status GUI con las definiciones de tecla de
función, una barra de pulsadores y una barra de menús. Además, comprenderá
la necesidad de reutilizar las barras de menús, las barras de pulsadores y las
configuraciones de teclas existentes. Por último, aprenderá a utilizar un status GUI.
Objetivos de la lección
Al finalizar esta lección podrá:
• Crear un status GUI
• Procesar el código de función
Discuss how to create a GUI status in three ways, using function key assignments,
an application toolbar, and a menu bar. Also, explain the need to reuse existing
menu bars, application toolbars, and key settings.
Creating a GUI Status: Application Toolbar
Use the F4 help to make the entries easy. This is an advantage of the
BOTTOM-UP-technique.
Creating a GUI Status: Menu Bar
Use the F4 help to make the entries easy. This is an advantage of the
BOTTOM-UP-technique.
Display Standards
Show the path to the SAP Style Guide.
Including Existing Elements
The participants should be aware of how easy it is to refer to the same status
objects in order to get a consistent program interface.
Processing the Function Code
Explain the user_command module and the need to name the command field.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 67
Capítulo 2: La interfase del programa TAW10_2
Ejemplo empresarial
Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus
clientes utilizando pantallas en la aplicación. En una pantalla, necesita crear un
status GUI que sea una referencia a una barra de menús, a ciertas definiciones
de tecla y a una barra de pulsadores. Debería poder crear el status GUI o bien
definiendo enlaces a componentes ya existentes o bien un status en blanco.
Creación de un status GUI
Gráfico 42: Creación de un status GUI
La clase de status indica los atributos técnicos del mismo. Puede elegir entre
un status para una pantalla normal (pantalla completa), un status de ventana de
diálogo (para emplear con ventanas de diálogo modales) y un status de menú
contextual. Los menús contextuales son agrupaciones especiales de funciones que
se pueden visualizar haciendo clic con el botón derecho.
Un status se puede crear generando enlaces a componentes existentes o creando
un nuevo status en blanco. También puede combinar ambas técnicas. Si desea
crear un status totalmente nuevo, deberá definir sus propias barras de menús,
funciones de menú y otros elementos. Las modificaciones de un status afectan
únicamente a dicho status.
Cuando se utiliza la técnica de referencia, se crean barras de menús, barras de
pulsadores y definiciones de teclas de función como elementos independientes.
Así luego puede crear un status propio y hacer referencia a la barra de menús,
barra de pulsadores y la definición de tecla de función que desee. El Menu Painter
almacena y actualiza estas referencias, de tal modo que las modificaciones que
68 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Status GUI
se realicen en la barra de menús, barra de pulsadores o definiciones de tecla de
función tienen efecto de modo automático en todos los status que hacen referencia
a ellos.
La técnica de referencia resulta especialmente eficaz para garantizar la consistencia
en aplicaciones muy grandes en las que se emplean diversos status. Los enlaces
garantizan que el usuario pueda acceder a las funciones del mismo modo con
independencia del status que haya fijado.
Gráfico 43: Creación de un status GUI: Definición de teclas de función
En una configuración de teclas, se asignan funciones individuales a teclas de
función y pulsadores. Las configuraciones de teclas de función consisten en una
definición de tecla y una serie de barras de pulsadores.
Las configuraciones de teclas pueden ser de distintas clases: pantalla, ventana de
diálogo, lista y lista dentro de una ventana de diálogo.
Se pueden anexar funciones a teclas de función reservadas, teclas de función
recomendadas y teclas de función de asignación libre. Asegúrese de que se ajustan
a los estándares ergonómicos de SAP que se encuentran en el menú Entorno del
Menu Painter.
Las teclas de función reservadas aparecen en la barra de herramientas del SAP
GUI.
En caso de que haya una función importante y de que ya la haya asignado a una
tecla de función, también la puede asignar a un pulsador de la barra. La barra de
pulsadores puede contener hasta 35 botones.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 69
Capítulo 2: La interfase del programa TAW10_2
Gráfico 44: Barra de herramientas: Definiciones automáticas
Cuando se asigna una función a la barra de herramientas, ésta se asigna
automáticamente a la tecla de función reservada.
Para ver a qué teclas de función están asignadas estas funciones en el status actual,
seleccione Información en el Menu Painter.
Si desea obtener más información sobre el modo en que combinaciones de teclas
como, por ejemplo, Ctrl-P, se convierten en números de teclas de función internos
para, por ejemplo, batch input, siga el acceso vía menús Utilidades → Textos de
ayuda → Números de tecla internos en el Menu Painter.
Gráfico 45: Creación de un status GUI: Barra de pulsadores
No se puede utilizar una función de la barra de pulsadores, hasta que ésta esté
asignada a una tecla de función.
70 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Status GUI
Utilice la ayuda para entradas para seleccionar funciones.
Si asigna un icono a una función con un texto estático, atributo Nombre de icono,
el sistema visualiza el icono en vez del texto estático en la barra de pulsadores.
El texto de función que pertenece a la función se utiliza como quick info (texto
quick info). El contenido del atributo Texto info aparece en la barra de status de la
pantalla cuando el usuario elige la función. Si desea visualizar el texto adicional
con un icono, debería introducirlo en el atributo Texto de icono.
Para insertar un separador en la barra de pulsadores, utilice el menú Insertar en
el Menu Painter.
Gráfico 46: Creación de un status GUI: Barra de menús
Una entrada de menú puede ser una función, un separador, otro menú o un menú
en cascada.
Para añadir una función a un menú, indique su código de función en la columna de
la izquierda. Si la función ya existe en la lista de funciones y tiene asignado un
texto, éste se inserta automáticamente en el campo de texto. Si no, haga doble clic
en el campo de la derecha para introducir un texto.
Para insertar un separador, utilice el menú Insertar, rellene el campo de texto
de la función con signos negativos en la posición correspondiente o utilice el
Menú contextual.
Par crear un submenú, basta con introducir su nombre en el campo derecho de la
entrada de menú.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 71
Capítulo 2: La interfase del programa TAW10_2
Gráfico 47: Normas de visualización
A fin de asegurar la consistencia, debería reutilizar las barras de menús, las
barras de pulsadores y las configuraciones de teclas existentes. El Menu Painter
administra los enlaces que se definen entre estos objetos para que todos los
cambios se apliquen a todos los demás status que los utilizan. También puede
emplear una serie de entradas de menú estándar a modo de modelo y modificarlas.
Cuando asigne funciones a las teclas de función reservadas de la barra de
herramientas, debería ceñirse a las normas SAP. De esta forma, el programa resulta
mucho más manejable para los usuarios y, a la vez, resulta más fácil actualizar.
Gráfico 48: Inclusión de elementos existentes
72 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Status GUI
Con el Menu Painter puede incluir en un status configuraciones de teclas, barras
de pulsadores o barras de menús que ya haya definido en otra parte. Si utiliza el
Menu Painter, trabaje de abajo a arriba. Si hay más de una barra de pulsadores
definida para su configuración de teclas, puede seleccionar la pertinente.
Al comienzo, todas las funciones están inactivas. Active únicamente las funciones
que son relevantes en el status actual.
Cuando cree una función nueva, puede decidir si también deberían modificarse
todos los status que hacen referencia al mismo objeto. Al comienzo, todas las
funciones están inactivas.
Demostración: Demonstration of
SAPBC410GUID_A_GUI_PRE
Objetivo
To demonstrate SAPBC410GUID_A_GUI_PRE
Datos del sistema
Sistema:
Mandante:
ID de usuario:
Clave de acceso:
Parametrizaciones del sistema:
1. Put in the titles for the basic and the detail list.
2. Use parameters for the title of the detail list.
3. Show how to create titles by forward navigation.
4. Test the program.
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 73
Capítulo 2: La interfase del programa TAW10_2
Uso del status GUI
Gráfico 49: Procesamiento del código de función
Cuando el usuario desencadena una función de la clase " " (espacio) con un
botón, entrada de menú o tecla de función, el sistema sitúa el código de función
correspondiente en el campo OK_CODE de la pantalla.
Para que pueda procesar este campo en el evento PAI, debe asignar un nombre
al campo y luego indicarlo en la lista de elementos en el Screen Painter. A
continuación deberá crear un campo en su programa ABAP con el mismo nombre.
Durante el transporte automático de campos que se da al inicio del evento PAI, el
código de función pasa de la pantalla al campo correspondiente del programa.
A fin de evitar que el código de función desemboque en pasos de proceso
imprevistos en el dynpro siguiente (pulsar la tecla Intro no suele modificar el
campo de comandos), debería inicializar el campo ABAP que recibe exactamente
el mismo nombre.
La forma más fácil de hacerlo es escribir un módulo PBO con la línea siguiente
(siempre que haya especificado el campo de comandos de usuario ok_code en
la lista de elementos):
CLEAR ok_code.
74 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
TAW10_2 Lección: Status GUI
67 Ejercicio 2: Creación de status GUI
Duración del ejercicio: 40 Minutos
Objetivos de los ejercicios
Al finalizar este ejercicio podrá:
• Crear status de diálogo y utilizarlos en las aplicaciones propias
Ejemplo empresarial
Tras crear los programas para crear y modificar pantallas, necesita crear títulos
GUI y asignar funciones a teclas de función o botones. Utilice el Menu Painter
para crear un status GUI y defina el Título GUI como datos de vuelo. Además,
implemente el procesamiento de campo.
Tarea:
Utilice el Menu Painter para crear un status GUI y un título GUI y evalúe la
entrada del usuario.
1. Amplíe el programa SAPMZ##BC410_SOLUTION del ejercicio anterior o
copie la solución modelo SAPMBC410ADIAS_DYNPRO. Puede emplear la
solución de modelo SAPMBC410ADIAS_GUI como orientación.
2. En el evento PBO para la pantalla 100, llame el módulo STATUS_100.
Utilice la navegación hacia adelante para crear el módulo en un Include
nuevo. Acepte el nombre que propone el sistema.
Una vez allí, fije el status GUI STATUS_100 y créelo utilizando la navegación
hacia adelante. Elija el Status de diálogo como clase de diálogo e Imagen
de actualización como texto breve. Active la función estándar BACK (F3)
con el tipo de función " ".
También debería fijar el título GUI TITLE_100. Debería ser posible modificar
el contenido del título con un parámetro: “Datos del vuelo (&1)”. En este
ejercicio, cumplimente el parámetro &1 con “Vista”. Utilice un símbolo de
texto para el parámetro a fin de asegurarse de que se pueda traducir.
3. Asigne el nombre ok_code al campo de comandos de su pantalla, y cree una
variable correspondiente en el Include TOP de su programa.
4. Implemente el procesamiento de campos de comando. En lugar de controlar
el dynpro siguiente con el campo de carácter de imagen como había
ocurrido hasta ahora, el ok_code debería evaluarse ahora con el módulo PAI
USER_COMMAND_0100: Asegúrese de que el usuario de la pantalla 100
vuelve al punto en que se llamó la pantalla si él o ella elige BACK (F3).
Continúa en la página siguiente
22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 75
Capítulo 2: La interfase del programa TAW10_2
5. A fin de evitar una navegación no deseada, inicialice el campo de comandos
en un módulo en el evento PBO de la pantalla.
6. Opcional: Sustituya totalmente el campo de caracteres de la pantalla 100
que se ha empleado hasta ahora para el diálogo de usuario, de tal modo que la
hora se pueda visualizar con el status sin tener que volver a introducir una T.
Para ello, amplíe su status STATUS_100 con la función TIME y amplíe su
módulo PAI USER_COMMAND_0100.
7. Opcional: disponga una barra de título y un status independientes para la
ventana de diálogo donde se muestre la hora. Cree ambos objetos en un
módulo PBO STATUS_150 mediante la navegación hacia adelante.
76 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es
119167629 taw10-02-es

Más contenido relacionado

La actualidad más candente (20)

Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANA
 
157 bpp es_co
157 bpp es_co157 bpp es_co
157 bpp es_co
 
Integracion LUMIRA-FIORI
Integracion LUMIRA-FIORIIntegracion LUMIRA-FIORI
Integracion LUMIRA-FIORI
 
Curso sap
Curso sapCurso sap
Curso sap
 
Manual sap
Manual sapManual sap
Manual sap
 
293 bpp es_co
293 bpp es_co293 bpp es_co
293 bpp es_co
 
Curso controlling by_mundosap
Curso controlling by_mundosapCurso controlling by_mundosap
Curso controlling by_mundosap
 
SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7SAP Business Intelligence - Autorizaciones SAP BW 7
SAP Business Intelligence - Autorizaciones SAP BW 7
 
Introducción a SAP
Introducción a SAPIntroducción a SAP
Introducción a SAP
 
Implantacion de SAP R/3
Implantacion de SAP R/3Implantacion de SAP R/3
Implantacion de SAP R/3
 
Bpp fi informes contabilidad
Bpp fi informes contabilidadBpp fi informes contabilidad
Bpp fi informes contabilidad
 
Presentación sap b1 v 9 0
Presentación sap b1 v 9 0Presentación sap b1 v 9 0
Presentación sap b1 v 9 0
 
SAP HCP - El motor de la transformación digital
SAP HCP - El motor de la transformación digitalSAP HCP - El motor de la transformación digital
SAP HCP - El motor de la transformación digital
 
150 bpp es_ve
150 bpp es_ve150 bpp es_ve
150 bpp es_ve
 
Manual SAP
Manual SAPManual SAP
Manual SAP
 
Presentación FIORI
Presentación FIORIPresentación FIORI
Presentación FIORI
 
SAP S/4 1610
SAP S/4 1610SAP S/4 1610
SAP S/4 1610
 
curso SAP
curso SAPcurso SAP
curso SAP
 
Sistema sap
Sistema sapSistema sap
Sistema sap
 
FAQ, SAP Business Suite basado en SAP HANA
FAQ, SAP Business Suite basado en SAP HANAFAQ, SAP Business Suite basado en SAP HANA
FAQ, SAP Business Suite basado en SAP HANA
 

Similar a 119167629 taw10-02-es

Bpp fi activos fijos roles y t x funcionales
Bpp fi activos fijos roles y t x funcionalesBpp fi activos fijos roles y t x funcionales
Bpp fi activos fijos roles y t x funcionalesJamy Rufino Dominguez
 
Introduccion programacion-sap-abap-paso
Introduccion programacion-sap-abap-pasoIntroduccion programacion-sap-abap-paso
Introduccion programacion-sap-abap-pasoHumbertoCortez5
 
SAP Best Practices
SAP Best PracticesSAP Best Practices
SAP Best Practicesgabrielsyst
 
155 bpp 27_es_ve
155 bpp 27_es_ve155 bpp 27_es_ve
155 bpp 27_es_veSara Ruiz
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRAPALESTRA
 
Manual formación técnico sap bi sap
Manual formación técnico sap bi sapManual formación técnico sap bi sap
Manual formación técnico sap bi sapYarileth Calatayud
 
Unidad # 1 FIREWORKS 8
Unidad # 1 FIREWORKS 8Unidad # 1 FIREWORKS 8
Unidad # 1 FIREWORKS 8Detsyta Jadan
 
Manual del usuario web
Manual del usuario webManual del usuario web
Manual del usuario webAngel Almada
 
Informe general de proyecto imes
Informe general de proyecto imesInforme general de proyecto imes
Informe general de proyecto imesimes2011
 
Open ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Finanzas
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad softwareAlejandro Leon
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWAREAlejandro Leon
 
Manual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de HistoriasManual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de HistoriasLPI ONG
 

Similar a 119167629 taw10-02-es (20)

Bpp fi activos fijos roles y t x funcionales
Bpp fi activos fijos roles y t x funcionalesBpp fi activos fijos roles y t x funcionales
Bpp fi activos fijos roles y t x funcionales
 
Introduccion programacion-sap-abap-paso
Introduccion programacion-sap-abap-pasoIntroduccion programacion-sap-abap-paso
Introduccion programacion-sap-abap-paso
 
SAP Best Practices
SAP Best PracticesSAP Best Practices
SAP Best Practices
 
155 bpp 27_es_ve
155 bpp 27_es_ve155 bpp 27_es_ve
155 bpp 27_es_ve
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRA
 
Manual formación técnico sap bi sap
Manual formación técnico sap bi sapManual formación técnico sap bi sap
Manual formación técnico sap bi sap
 
Unidad # 1 FIREWORKS 8
Unidad # 1 FIREWORKS 8Unidad # 1 FIREWORKS 8
Unidad # 1 FIREWORKS 8
 
Manual del usuario web
Manual del usuario webManual del usuario web
Manual del usuario web
 
Informe general de proyecto imes
Informe general de proyecto imesInforme general de proyecto imes
Informe general de proyecto imes
 
DocOpenERP - Open erp tutorial_basico
DocOpenERP - Open erp tutorial_basicoDocOpenERP - Open erp tutorial_basico
DocOpenERP - Open erp tutorial_basico
 
Open ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basico
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad software
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWARE
 
GENEX
GENEXGENEX
GENEX
 
programcion karel
programcion karelprogramcion karel
programcion karel
 
Manual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de HistoriasManual SAP Analytics Cloud Diseño de Historias
Manual SAP Analytics Cloud Diseño de Historias
 
Software factory
Software factory Software factory
Software factory
 
Software Factory
Software FactorySoftware Factory
Software Factory
 
Watch, lps
Watch, lpsWatch, lps
Watch, lps
 

Último

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 

Último (20)

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 

119167629 taw10-02-es

  • 1. TAW10_2 Fundamentos de Workbench ABAP SAP NetWeaver Fecha Centro de formación Instructores Página Web de formación Manual del instructor Versión del curso: 63 Duración del curso: 10 día(s) Número de material: 50089085 Responsable: Christian Braun (D035329) An SAP Compass course - use it to learn, reference it for work
  • 2. Copyright Copyright © 2009 SAP AG. Reservados todos los derechos. Esta publicación no puede ser reproducida o trasmitida, total o parcialmente, de ninguna forma ni para ningún propósito sin el permiso expreso de SAP AG. La información aquí contenida puede ser modificada sin previo aviso. Algunos productos de software distribuidos por SAP AG y sus distribuidores contienen componentes de software que pertenecen a otros proveedores de software. Marcas registradas • Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® y SQL Server® son marcas registradas certificadas de Microsoft Corporation. • IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®, AS/400®, OS/390® y OS/400® son marcas registradas certificadas de IBM Corporation. • ORACLE® es una marca registrada certificada de ORACLE Corporation. • INFORMIX®-OnLine para SAP y INFORMIX® Dynamic ServerTM son marcas registradas certificadas de Informix Software Incorporated. • UNIX®, X/Open®, OSF/1® y Motif® son marcas registradas certificadas de Open Group. • Citrix®, Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® y otros nombres de productos Citrix referidos aquí son marcas registradas de Citrix Systems, Inc. • HTML, DHTML, XML, XHTML son marcas registradas o marcas registradas certificadas de W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. • JAVA® es una marca registrada certificada de Sun Microsystems, Inc. • JAVASCRIPT® es una marca registrada certificada de Sun Microsystems, Inc., utilizada bajo licencia para tecnología desarrollada e implementada por Netscape. • SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo y mySAP.com son marcas registradas o marcas registradas certificadas de SAP AG en Alemania y en otros países en todo el mundo. Todos los otros productos mencionados son marcas registradas o marcas registradas certificadas de sus respectivas empresas. Declaración de renuncia SAP DISTRIBUYE ESTE MATERIAL SOBRE UNA BASE "AS IS" Y NO SE HACE RESPONSABLE EXPRESAMENTE, DE FORMA DIRECTA NI INDIRECTA, INCLUYENDO SIN RESTRICCIÓN LAS GARANTÍAS DE COMERCIABILIDAD E IDONEIDAD PARA UN OBJETIVO PARTICULAR, EN LO QUE CONCIERNE A ESTE MATERIAL Y AL SERVICIO, LA INFORMACIÓN, EL TEXTO, GRÁFICOS, LINKS O CUALQUIER OTRO MATERIAL Y PRODUCTOS AQUÍ CONTENIDOS. EN NINGÚN CASO SAP SE RESPONSABILIZARÁ DE CUALQUIER DAÑO DIRECTO, INDIRECTO, ESPECIAL, SECUNDARIO, CONSIGUIENTE, O PUNITIVO DE CUALQUIER CLASE, INCLUIDOS SIN LIMITACIÓN INGRESOS O GANANCIAS PÉRDIDAS, QUE PUEDAN SER RESULTADO DEL EMPLEO DE ESTOS MATERIALES O COMPONENTES DE SOFTWARE INCLUIDOS. g20091222113158
  • 3. Sobre este manual La función de este manual es complementar la presentación del instructor de este curso y servir como fuente de referencia. Este manual no está pensado para el estudio autodidacta. Convenciones tipográficas En esta guía se utilizan las siguientes convenciones tipográficas. Estilo de tipo Descripción Texto de ejemplo Palabras o carácteres que aparecen en la pantalla. Aquí se incluyen nombres de campos, títulos de pantallas, pulsadores así como nombres de menús, vías de acceso y opciones. También se usan como referencia a otra documentación tanto interna como externa. Texto de ejemplo Palabras o frases acentuadas en textos principales, títulos de gráficos y tablas TEXTO DE EJEMPLO Nombres de elementos en el sistema. Aquí se incluyen nombres de informes, nombres de programas, códigos de transacciones, nombres de tablas y algunas palabras claves de un lenguaje de programación cuando se encuentran en el texto principal, por ejemplo SELECT e INCLUDE. Texto de ejemplo Salida en pantalla. Aquí se incluyen nombres de archivos y directorios y sus vías de acceso, mensajes, nombres de variables y parámetros y párrafos del texto fuente de un programa. Texto de ejemplo Entrada exacta de usuario. Son palabras y carácteres que se introducen en en el sistema exactamente como aparecen en la documentación. <Texto de ejemplo> Entrada variable de usuario. Las entradas entre corchetes indican que se deben sustituir estas palabras y carácteres con entradas apropiadas. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. iii
  • 4. Sobre este manual TAW10_2 Iconos en el texto principal En este manual se utilizan los siguientes iconos. Icono Significado Para más información, sugerencias o detalles Nota o más explicaciones sobre el punto anterior Excepción o precaución Procedimientos Indica que el objeto está visualizado en la presentación del instructor. iv © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 5. Contenido Resumen del curso ...................................................... vii Metas del curso ........................................................vii Objetivos del curso..................................................... ix Capítulo 1: Introducción a la programación de imágenes ....... 1 Aspectos generales.....................................................3 Principios de la programación de imágenes ...................... 13 Modificación y secuencia de imágenes ............................ 29 Capítulo 2: La interfase del programa .............................. 55 Interfaz de usuario .................................................... 56 Status GUI ............................................................. 67 Capítulo 3: Elementos de pantalla para salida ................... 85 Campos de texto, iconos de status y marcos de grupo.......... 86 Capítulo 4: Elementos de pantalla para entrada/salida ........ 99 Resumen de campos de entrada/salida .........................101 Casillas de selección, grupos de botones de selección y pulsadores ........................................................130 Capítulo 5: Elementos de pantalla: Subscreens y controles de fichas ......................................................................153 Subscreens ...........................................................155 Controles de ficha....................................................178 Capítulo 6: Introducción al Dictionary .............................203 Resumen de las funciones de Dictionary ABAP .................204 Capítulo 7: Objetos de datos en el Dictionary ABAP...........215 Tipos de datos básicos..............................................217 Tablas en el Dictionary ABAP ......................................252 Tablas SAP especiales..............................................280 Capítulo 8: Rendimiento al acceder a tablas .....................289 Rendimiento durante el acceso a una tabla .....................290 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. v
  • 6. Contenido TAW10_2 Capítulo 9: Verificaciones de entrada..............................321 Consistencia gracias a las verificaciones de entrada ...........322 Capítulo 10: Dependencias de objeto..............................355 Dependencias de objeto ............................................356 Capítulo 11: Cambio de tablas.......................................371 Modificaciones de tablas............................................372 Capítulo 12: Vistas y diálogos de actualización .................403 Vistas ..................................................................404 Vistas de actualización..............................................424 Capítulo 13: Ayuda para búsqueda.................................445 Ayudas para búsqueda..............................................446 Índice.......................................................................481 vi © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 7. Resumen del curso Este curso de formación de dos semanas de duración brinda una introducción integral y detallada de los conceptos básicos de programación de ABAP o programación orientada al objeto de ABAP y las herramientas de Workbench ABAP. Este curso también lo preparará para obtener la certificación como Asociado de desarrollo certificado de SAP - ABAP - SAP Netweaver 7.0. Grupo destino Este curso está dirigido a los siguientes grupos destino: • Consultores de desarrollo y desarrolladores responsables de adaptar y desarrollar ABAP/programas objetos ABAP. Prerrequisitos para el curso Conocimientos necesarios • Conocimiento básico y sólido de EDP • Buena experiencia de programación en un lenguaje de programación diferente Detalles de la duración del curso Capítulo 1: Introducción a la programación de imágenes Aspectos generales 30 Minutos Principios de la programación de imágenes 50 Minutos Modificación y secuencia de imágenes 45 Minutos Ejercicio 1: Creación de pantallas 45 Minutos Capítulo 2: La interfase del programa Interfaz de usuario 25 Minutos Status GUI 35 Minutos Ejercicio 2: Creación de status GUI 40 Minutos Capítulo 3: Elementos de pantalla para salida Campos de texto, iconos de status y marcos de grupo 20 Minutos Capítulo 4: Elementos de pantalla para entrada/salida Resumen de campos de entrada/salida 60 Minutos Ejercicio 3: Verificaciones de entrada y ayuda para entradas 35 Minutos Casillas de selección, grupos de botones de selección y pulsadores 40 Minutos 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. vii
  • 8. Resumen del curso TAW10_2 Ejercicio 4: Botones de selección y verificaciones de entrada 75 Minutos Capítulo 5: Elementos de pantalla: Subscreens y controles de fichas Subscreens 45 Minutos Ejercicio 5: Subscreens 50 Minutos Controles de ficha 30 Minutos Ejercicio 6: Creación de controles de fichas 45 Minutos Capítulo 6: Introducción al Dictionary Resumen de las funciones de Dictionary ABAP 60 Minutos Capítulo 7: Objetos de datos en el Dictionary ABAP Tipos de datos básicos 120 Minutos Ejercicio 7: Tipos de datos básicos 30 Minutos Ejercicio 8: Estructuras simples y anidadas 30 Minutos Ejercicio 9: Tipos de tabla (tablas internas/ITAB) 30 Minutos Ejercicio 10: Estructuras profundas 30 Minutos Tablas en el Dictionary ABAP 60 Minutos Ejercicio 11: Tablas en el Dictionary ABAP 60 Minutos Tablas SAP especiales 30 Minutos Capítulo 8: Rendimiento al acceder a tablas Rendimiento durante el acceso a una tabla 120 Minutos Ejercicio 12: Aspectos relacionados con el rendimiento durante el acceso a una tabla 30 Minutos Capítulo 9: Verificaciones de entrada Consistencia gracias a las verificaciones de entrada 120 Minutos Ejercicio 13: Consistencia gracias a las verificaciones de entrada 30 Minutos Capítulo 10: Dependencias de objeto Dependencias de objeto 60 Minutos Ejercicio 14: Dependencias respecto a objetos de Dictionary ABAP 30 Minutos Capítulo 11: Cambio de tablas Modificaciones de tablas 100 Minutos Ejercicio 15: Modificaciones de tablas de base de datos 30 Minutos Ejercicio 16: Utilidad de base de datos (SE14) para solucionar problemas (opcional) 45 Minutos Capítulo 12: Vistas y diálogos de actualización Vistas 120 Minutos Ejercicio 17: Vistas 20 Minutos Vistas de actualización 100 Minutos Ejercicio 18: Vistas de actualización 60 Minutos Capítulo 13: Ayuda para búsqueda viii © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 9. TAW10_2 Resumen del curso Ayudas para búsqueda 120 Minutos Ejercicio 19: Ayudas para búsqueda 60 Minutos Metas del curso Este curso le permitirá: • Trabajar con las herramientas de Workbench ABAP • Escribir sus propios programas simples ABAP • Realizar accesos de lectura a la base de datos • Desarrollar componentes de reutilización simples (subrutinas, módulos de funciones y métodos) y usarlos en programas • Programar procesamientos de imagen dinámicos • Programar diálogos de usuario con los distintos elementos de pantalla en el sistema SAP • Describir la función del Dictionary ABAP en el sistema SAP • Definir objetos de base de datos y usarlos • Crear y administrar tipos de datos definidos por el usuario • Usar los servicios del Dictionary ABAP • Comprender cómo está vinculado el Dictionary ABAP a los entornos de desarrollo y tiempo de ejecución Objetivos del curso Al finalizar este curso podrá: • Describir la estructura de datos de los sistemas SAP • Usar las herramientas Workbench ABAP • Crear y llamar subrutinas, módulos de funciones y métodos • Escribir programas de diálogo de fácil manejo • Utilizar y procesar elementos de pantalla en el sistema SAP • Crear una interfase de usuario para un programa • Usar y describir el Dictionary ABAP y sus servicios • Modelar y leer datos usando SQL de la base de datos • Programar de manera sensible al rendimiento • Usar el Code Inspector 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. ix
  • 10. Resumen del curso TAW10_2 x © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 11. Capítulo 1 1 Introducción a la programación de imágenes This unit lays the foundation for the next topics of the course. The participants should understand the basic terms in screen programming. Basic techniques have to be known by the participants in principle. They will be applied later on in various exercises. Screen types and general screen attributes are discussed. Screen sequencing as well as the introduction of screen levels using the CALL SCREEN statement are discussed. Moreover, the participants learn how to navigate between screens using functions from the programming interface. Resumen del capítulo En esta unidad se describen los principios de la programación de imágenes. Aprenderá a crear imágenes y a añadir elementos de pantalla del Dictionary ABAP. La unidad también presenta información detallada sobre cómo modificar atributos de forma dinámica, inicializar la tabla del sistema SCREEN e insertar secuencias de imágenes para transacciones complejas. Objetivos del capítulo Al finalizar este capítulo podrá: • Describir el modelo de implementación de transacción única • Organizar el código fuente de su programa con Includes • Crear y procesar imágenes • Añadir elementos de pantalla de Dictionary ABAP • Explicar el procesamiento PBO y PAI • Realizar modificaciones dinámicas de imagen • Insertar secuencias de imágenes Contenido del capítulo Lección: Aspectos generales.....................................................3 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 1
  • 12. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Lección: Principios de la programación de imágenes ...................... 13 Demostración: Demonstration of SAPMBC410DIAD_A_SIM- PLE_TRANS ................................................................. 19 Lección: Modificación y secuencia de imágenes ............................ 29 Demostración: Demonstration of SAPMBC410DIAD_B_MOD- IFY_SCREEN ................................................................ 35 Demostración: Demonstration of SAPMBC410DIAD_B_MOD- IFY_SCREEN ................................................................ 41 Demostración: Demonstration of SAPBC410DIAD_C_DYN- PRO_PRE .................................................................... 42 Ejercicio 1: Creación de pantallas ........................................ 43 2 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 13. TAW10_2 Lección: Aspectos generales Lección: 2 Aspectos generales Duración de la lección: 30 Minutos Resumen de la lección En la presente lección se familiarizará con el término "diálogo de usuario", descubrirá que el modelo de implementación SAP actual es la transacción de imagen única, verá las clases de programa que existen y aprenderá a organizar su programa con Includes. Objetivos de la lección Al finalizar esta lección podrá: • Describir el modelo de implementación de transacción única • Organizar el código fuente de su programa con Includes Ejemplo empresarial Desea programar diálogos de usuario para el SAP GUI. Gráfico 1: Diálogos de usuario 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 3
  • 14. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Se considera diálogo de usuario a cualquier forma de interacción entre el usuario y el programa. Por ejemplo: • Registro de datos • Selección de una opción del menú • Hacer clic en un botón • Hacer clic o doble clic en una entrada de lista Gráfico 2: Modelo de implementación SAP El objetivo del modelo de implementación actual de SAP es sustituir secuencias largas y anidadas de imágenes por transacciones de imagen única. La principal ventaja de esto es que mejora la utilidad del sistema SAP. Las transacciones resultan mucho más fáciles de utilizar para los usuarios. Las imágenes de entrada y de datos se combinan en una sola ventana. De tal modo que se ahorra al usuario una navegación innecesaria y se asegura un contexto empresarial correcto. Las transacciones de imagen única proponen al usuario la sesión de programa que mejor se ajusta a sus autorizaciones, permiten que el usuario pueda acceder directamente a los objetos que se vayan a tratar, y se limita el área de selección mediante un filtro, una estructura de árbol o, por ejemplo, el último objeto que se ha tratado. Una vez se han grabado los datos en la base de datos, el usuario puede volver a visualizar el objeto tratado para verificar las modificaciones que le ha introducido. 4 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 15. TAW10_2 Lección: Aspectos generales Gráfico 3: Ejemplo de formato de pantalla: Transacción FB60 La transacción FB60 se ha rediseñado conforme al nuevo modelo de implementación. La pantalla se divide en cuatro partes, cada una de ellas con funciones distintas: • Selección de objetos: Puede seleccionar el objeto que desea tratar en una estructura de árbol. • ID de objeto: Puede tratar los datos y atributos clave de todo el objeto. • Detalles del objeto: Puede seleccionar objetos parciales para tratarlos. • Funciones de aplicación: Como resultado de las nuevas transacciones de imagen única, en la barra de pulsadores sólo hay unas cuantas funciones disponibles. Entre ellas: opciones de visualización, como mostrar y ocultar ámbitos de imagen, crear objetos nuevos a partir de modelos, o conmutar entre distintas sesiones de un programa. The easiest demo would be transaction SE80. A lo largo de esta lección, creará un programa acorde con el paradigma de la transacción de imagen única. Más concretamente, utilizará elementos como botones de selección y fichas. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 5
  • 16. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 4: Ejercicio: Programación de pantallas You might want to execute the final solution, module pool SAPMBC410ACONS_CONTEXTMENU. ABAP dispone de diversas clases de programa. Dos de ellas representan programas completos: Las clases 1 y M se pueden ejecutar. El resto de clases están incompletas, es decir, se pueden utilizar dentro de otros programas, pero no por sí solas. 6 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 17. TAW10_2 Lección: Aspectos generales Gráfico 5: Clases de programas ABAP Programa ejecutable (tipo 1) Los programas ejecutables se pueden ejecutar mediante Sistema → Servicios → Reportingo directamente desde el editor ABAP. Siguiendo un orden predefinido, se implementan un conjunto de bloques de procesamiento. Puede utilizar una imagen de selección estándar. Por lo general, los programas de tipo 1 crean y visualizan listas. No obstante, en los informes modernos se aplica el SAP List Viewer (ALV). Modulpool (tipo M) Para que un programa M sea ejecutable, debe crear al menos un código de transacción en el que se especifique una imagen inicial. Puede controlar la secuencia de imágenes posterior tanto de forma estática en los atributos de imagen como dinámica en el código de programa. Los siguientes tipos de programas no se pueden ejecutar directamente. Sirven de contenedor para las unidades de modularización que se llaman desde otros programas. Cuando cargue una de estas unidades de modularización, el sistema carga todo su programa principal en la sesión interna del programa de llamada. Grupo de funciones (tipo F) Un grupo de funciones puede contener módulos de funciones, declaraciones de datos locales e imágenes. Programa de Include (tipo 1) Un programa de Include puede contener cualquier sentencia ABAP. Pool de interfases (tipo J) 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 7
  • 18. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Un pool de interfases puede contener interfases globales y declaraciones de datos locales. Pool de clases (tipo K) Un pool de clases puede contener clases globales y declaraciones de datos locales. Gráfico 6: Organización de programas En el más sencillo de los casos, el programa consiste en una fuente única que contiene todos los bloques de procesamiento necesarios. No obstante, para que el código de programa sea más fácil de comprender y poder reutilizar algunas partes del mismo en otros programas, por ejemplo, para declaraciones de datos, debería utilizar programas de Include. Cuando cree un programa desde el Object Navigator, el sistema propone que sea Con Include TOP. Seleccionando esta opción, podrá crear programas con una estructura clara. Cuando cree bloques de procesamiento, el sistema solicita automáticamente el programa de Include en el que debe insertarse el código fuente correspondiente. Si se especifica un programa de Include que todavía no existe, el sistema lo crea e inserta una declaración INCLUDE correspondiente en el programa principal. 8 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 19. TAW10_2 Lección: Aspectos generales Gráfico 7: Tablas del modelo de datos del vuelo (BC410) Los campos de tabla más importantes que se utilizan en este curso y su significado: SPFLI CARRID Cia.aérea CONNID Código de conexión AIRPFROM, AIRPTO Aeropuerto de salida, aeropuerto de llegada CITYTO, CITYFROM Ciudad de llegada, ciudad de salida SFLIGHT CARRID, CONNID Véase SPFLI. FLDATE Fecha de vuelo SEATSMAX, SEATSOCC Capacidad máxima, asientos ocupados (clase turista) PRICE Precio del vuelo básico CURRENCY Moneda SBOOK CARRID, CONNID, FLDATE Véase SFLIGHT. BOOKID Número de reserva CUSTOMID Número de cliente 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 9
  • 20. Capítulo 1: Introducción a la programación de imágenes TAW10_2 SAPLANE PLANETYPE Tipo de avión SEATSMAX Capacidad máxima 10 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 21. TAW10_2 Lección: Aspectos generales Discusión con moderador Discuss open questions. Preguntas para la discusión Utilice las siguientes preguntas para que los participantes del curso tomen parte en la discusión. También puede utilizar sus propias preguntas. What other programming models are there in SAP software? What other GUIs are there in SAP software? What are the advantages of organizing your program with includes? 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 11
  • 22. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Resumen de la lección Ahora podrá: • Describir el modelo de implementación de transacción única • Organizar el código fuente de su programa con Includes 12 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 23. TAW10_2 Lección: Principios de la programación de imágenes Lección: 11 Principios de la programación de imágenes Duración de la lección: 50 Minutos Resumen de la lección Esta lección le ayudará a comprender los principios de la programación de imágenes. Asimismo, aprenderá a crear imágenes y a añadir elementos de pantalla del Dictionary ABAP. Por último, conocerá los procesamientos PBO y PAI. Objetivos de la lección Al finalizar esta lección podrá: • Crear y procesar imágenes • Añadir elementos de pantalla de Dictionary ABAP • Explicar el procesamiento PBO y PAI Explain the principles of screen programming. Also, discuss how to create screens using examples. You also need to describe how to add ABAP Dictionary screen elements. Finally, explain how PBO and PAI processing are performed in screen programming. Strengths of Screens Emphasize the advantages of the screen programming. Compare with lists and selection screens. Screens in Dialog Programs Use this slide to give an overview. Do not go too deep into details. Compare with list programming. Attributes of Screen Elements (Key) Describe the legend. Screen Programs: Screen Processing Emphasize the MODIFY SCREEN statement. Recall the advantages of using the field SCREEN-ACTIVE. Screens Define the term. Defining and Managing Screens Denote all the screen elements to ensure that participants can refer to it for later considerations. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 13
  • 24. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Screen: Attributes Concentrate on important attributes. This slide is mainly for reference. Creating Screens The four parts of a screen leads to the corresponding steps for creating a screen. Creating Screens: Screen Attributes Enforce the use of the Object Navigator for creating program objects. Creating Screens: Layout Refer to the demo. Creating Screens: Element List Refer to the demo. Creating Screens: Flow Logic Refer to the demo Data Visibility Mention the two software processors DYNP and APAP. Explain that they use different sets of fields and where they come from. Note that the main principle for data exchange is that the fields possess identical names. Underline and give reasons for using an extra screen structure. Use the TABLES statement only for the data exchange structure. Data Exchange: Screens - ABAP Program Explain the moments of data transfer. Underline and give reasons for using an extra ABAP working area. This will ensure that unchecked data can never be written to the database. Ejemplo empresarial Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus clientes utilizando las pantallas de la aplicación. Supongamos que forma parte de la dirección de dicha agencia. Debe realizar las tareas siguientes. 14 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 25. TAW10_2 Lección: Principios de la programación de imágenes Presentación de pantallas Gráfico 8: Pantallas Las pantallas son objetos de libre definición que se pueden utilizar para visualizar o introducir información a través de unos campos de entrada y de salida, listas, etc. Las pantallas son una forma de diálogo entre el usuario y el programa ABAP. Gráfico 9: Puntos fuertes de las pantallas Las pantallas permiten introducir y visualizar datos. Las pantallas se pueden utilizar junto con el Dictionary ABAP para verificar la consistencia de los datos que ha indicado el usuario. Las pantallas permiten crear diálogos de fácil manejo con pulsadores, controles de ficha, controles de tabla y otros elementos gráficos. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 15
  • 26. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 10: pantallas en programas de diálogo Centrémonos en un programa de diálogo sencillo compuesto por una imagen de selección como imagen inicial y una imagen para visualizar la información de un registro de datos seleccionado. Cuando se inicia el programa, el sistema carga su contexto de programa y prepara espacio de memoria para los objetos de datos del mismo. Se muestra la imagen de selección. El usuario introduce datos en la imagen de selección y elige Ejecutar. En un bloque de proceso, el programa lee los datos de la base de datos. Para ello, transfiere información de los datos que ha solicitado el usuario a la base de datos. La base de datos cumplimenta una estructura con el registro de datos indicado. Así, la lógica de proceso llama una pantalla. De este modo se desencadena un bloque de proceso que pertenece a la pantalla y que se denomina Proceso antes de salida (PBO). Una vez se procesa el PBO, los datos se transfieren a la estructura que sirve de interface a la pantalla. A continuación, se transfiere a la pantalla y se visualiza. Cualquier acción del usuario en la pantalla, como la entrada de datos, la elección de una opción de menú o la selección de un pulsador, devuelve el control al sistema de tiempo de ejecución. A continuación, los campos de dynpro se transportan a la estructura que actúa de interface entre la pantalla y el programa. El sistema de tiempo de ejecución desencadena otro bloque de proceso que pertenece a la pantalla y que se denomina Proceso después de la entrada (PAI) y que siempre se ejecuta tras una interacción con el usuario. 16 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 27. TAW10_2 Lección: Principios de la programación de imágenes Gráfico 11: Atributos de elementos de pantalla (clave) Los elementos de pantalla como campo de texto, campo de entrada/salida, icono de status, marco de grupo, botón de selección, casilla de selección, y pulsador disponen de atributos generales, de Dictionary, de programa y de visualización. Los elementos subscreen, control de fichas y control de tablas disponen de atributos generales y especiales relacionados con sus correspondientes clases. Los atributos de un elemento se pueden dividir en: • Atributos de definición estática que no se pueden modificar de forma dinámica • Atributos de definición estática que se pueden modificar de forma dinámica • Atributos que sólo se pueden fijar de forma dinámica Si desea disponer de documentación exhaustiva relativa a los atributos de elementos de pantalla, vea la documentación online (Biblioteca SAP → Componentes SAP NetWeaver → Workbench ABAP → Herramientas de Workbench ABAP → Screen Painter → Definición de los atributos de elemento). 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 17
  • 28. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 12: Pantallas: Atributos Cada pantalla tiene un conjunto de atributos de administración que especifican el tipo, el tamaño y la pantalla posterior. También cuenta con parametrizaciones que afectan a otras propiedades de la pantalla y sus componentes. Los atributos de administración Programa y Número de dynpro identifican la pantalla por su número y por el programa al que pertenece. Los números de pantalla mayores que 9.000 se reservan para los clientes del sistema SAP. Los números de pantalla del 1.000 al 1.010 se reservan para las pantallas de actualización de las tablas de Dictionary ABAP y las pantallas de selección estándar de los programas ejecutables. El tipo de pantalla identifica la finalidad de la misma. Otros atributos especiales de pantalla y sus componentes dependen del tipo de pantalla. El atributo Dynpro siguiente permite especificar la pantalla que se debería procesar tras la actual en una secuencia definida. Si desea disponer de una lista completa de los atributos de pantalla, consulte la documentación online (Biblioteca SAP → Componentes SAP NetWeaver → Workbench ABAP → Herramientas de Workbench ABAP → Screen Painter → Creación de pantallas). 18 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 29. TAW10_2 Lección: Principios de la programación de imágenes Gráfico 13: Definición y gestión de pantallas Una pantalla se compone de una imagen y de su lógica de proceso. La lógica de proceso es un programa que controla cómo se procesa la pantalla. Si desea información sobre la programación de la lógica de proceso de pantallas, consulte la Guía del usuario de ABAP. Las pantallas están formadas por cuatro componentes: la máscara de imagen en pantalla, los atributos de imagen, la lista de elementos y la lógica de proceso. La lógica de proceso contiene el código de la misma y no las sentencias ABAP. Las pantallas son contenedores de otros elementos de pantalla Demostración: Demonstration of SAPMBC410DIAD_A_SIMPLE_TRANS Objetivo To demonstrate SAPMBC410DIAD_A_SIMPLE_TRANS Datos del sistema Sistema: Mandante: ID de usuario: Clave de acceso: Parametrizaciones del sistema: 1. Show the field checks and the input help. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 19
  • 30. Capítulo 1: Introducción a la programación de imágenes TAW10_2 2. Review the main steps with respect to the last slide. Creación de pantallas Gráfico 14: Creación de pantallas Cuando se crea una pantalla, se debe: • Fijar los atributos generales de dynpro en la imagen de atributos. • Diseñar el formato de imagen en el editor de layout. • Fijar los atributos de campo en la lista de campos. • Escribir la lógica de proceso en el editor de la lógica de proceso. 20 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 31. TAW10_2 Lección: Principios de la programación de imágenes Gráfico 15: Creación de pantallas: Atributos de imagen Para crear una pantalla desde la lista de objetos en el Object Navigator, cree un objeto de desarrollo nuevo con la clase Pantalla. Sitúe el cursor sobre pantallas y haga clic con el botón derecho. El Object Navigator abre automáticamente el Screen Painter. Cuando se crea una pantalla, en primer lugar se deben indicar sus atributos: Indique un número de pantalla, un texto breve y un tipo de pantalla. Por lo general, se aplicará el tipo de pantallaNormal. Se puede especificar el número de la pantalla siguiente en el campo Dynpro siguiente. Si se indica 0 o ningún valor para el dynpro siguiente, el sistema reanuda el procesamiento en el mismo punto en que se llama la pantalla una vez termina de procesarla. También se puede crear una pantalla insertando una sentencia CALL SCREEN en el editor ABAP y haciendo luego doble clic en el número de pantalla. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 21
  • 32. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 16: Creación de pantallas: Layout Los elementos de pantalla se definen adoptando las descripciones de campo pertinentes del Dictionary ABAP. Sin embargo, también puede utilizar descripciones de campo que el usuario haya definido en su programa. Para ello, primero deberá generar el programa. Se pueden usar los textos y modelos de palabras clave tanto juntos como por separado. El editor de layout gráfico constituye una forma sencilla de definir diversos elementos de pantalla, como pueden ser los campos de entrada/salida, los textos de palabra clave y las casillas. Basta con marcar el elemento deseado y situarlo sobre la pantalla con el ratón. Para eliminar un elemento de pantalla, selecciónelo y marque Borrar. Puede mover elementos de la pantalla arrastrándolos y soltándolos con el ratón. Nota: El editor de layout gráfico se encuentra en UNIX y en Windows NT, Windows 95 o versiones superiores de Windows. Si emplea un sistema operativo distinto, deberá utilizar el Screen Painter alfanumérico. 22 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 33. TAW10_2 Lección: Principios de la programación de imágenes Gráfico 17: Creación de pantallas: La lista de elementos Para que pueda fijar los atributos de todos los elementos de pantalla, el Screen Painter contiene una lista de elementos con seis vistas. También puede visualizar todos los atributos de un único elemento de cualquiera de las listas, Atributos. Asimismo, puede actualizar los atributos de un elemento desde el editor de layout mediante la función Atributos. En el Screen Painter, se trabaja con clases de datos externos. Éstos corresponden a las clases de datos que constan en el Dictionary ABAP. En el caso de campos que haya elegido el usuario y que estén definidos en el Dictionary ABAP, el sistema muestra la clase de datos externos en la columna Formato. En el caso de elementos o modelos que no tengan una referencia Dictionary ABAP, el propio usuario deberá indicar la clase de datos externos. Al fin de encontrar la clase de datos externos equivalente a una clase de datos internos, clase de datos ABAP, consulte la documentación de descriptor de la sentencia ABAP SELECT: Reglas de asignación para columnas individuales. Por ejemplo: Clase de datos del Dictionary ABAP Clase de datos ABAP CHAR C NUMC N 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 23
  • 34. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 18: Creación de pantallas: Lógica de proceso Las pantallas poseen su propio conjunto de descriptores que se emplean en los eventos PBO y PAI de la lógica de proceso. Consulte la documentación online. Desde el Screen Painter, inicie la ayuda (Ctrl.-F8), y luego marque Resumen de descriptores. En la lógica de proceso, escriba las llamadas de MÓDULO. Los módulos son componentes del mismo programa ABAP. Contienen las sentencias ABAP que el usuario quiere ejecutar. Se puede crear un módulo haciendo doble clic sobre el nombre del mismo en el editor de la lógica de proceso. Para crear un módulo desde la lista de objetos del Object Navigator, marque el módulo de desarrollo Módulo PBO o Módulo PAI. Puede llamar el mismo módulo desde más de una pantalla. Si el procesamiento depende del número de pantalla, puede recuperar el número de la pantalla actual en el campo SY-DYNNR. Fíjese en que los módulos que se llaman en el bloque de procesamiento PBO se deben definir con la sentencia MODULE... SALIDA; los módulos que se crean con la sentencia MODULE... ENTRADA sólo se pueden llamar en el evento PAI. 24 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 35. TAW10_2 Lección: Principios de la programación de imágenes Gráfico 19: Visibilidad de los datos Existen dos procesadores de software distintos que participan en el procesamiento de pantallas del programa. El procesador ABAP controla la ejecución del programa dentro de un módulo. El procesador DYNP controla la lógica de proceso y prepara los datos que se visualizarán en la pantalla. Durante este proceso, se muestran dos conjuntos de datos. El usuario trabaja con los campos globales de su programa dentro del módulo. Los campos globales se crean en el Include TOP con sentencias declarativas, por ejemplo, TABLES o DATA. Los campos que el sistema reconoce en la lista de elementos se utilizan para recuperar datos y visualizarlos en la pantalla, y también para transportar los datos que ha modificado el usuario. Esto ocurre de forma automática, cuando se reciben campos del Dictionary ABAP o del programa del editor de layout. Es preciso copiar los datos porque existen distintos conjuntos de campos de datos. Un programa del sistema se encarga de ejecutar el proceso de copiado. A instancias definidas durante el proceso, se comparan los campos con designaciones idénticas en DYNP y ABAP. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 25
  • 36. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 20: Intercambio de datos: pantallas: Programas ABAP Para que una pantalla y su programa ABAP se puedan comunicar, los campos de la pantalla y sus equivalentes en el programa deben tener nombres idénticos. Después de que el sistema haya procesado todos los módulos del bloque de procesamiento PBO, el sistema copia el contenido de los campos del área de trabajo ABAP en sus campos equivalentes del área de trabajo de imagen. Antes de que el sistema procese el primer módulo del bloque de procesamiento PAI, el sistema copia el contenido de los campos del área de trabajo de pantalla en sus campos equivalentes del área de trabajo ABAP. El usuario debería utilizar sus propias estructuras, como por ejemplo SDYN_CONN, para transportar datos entre la pantalla y el programa ABAP. De este modo se garantiza que los datos que se transportan de la pantalla al programa, y viceversa, son exactamente los datos que desea el usuario. 26 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 37. TAW10_2 Lección: Principios de la programación de imágenes Discusión con moderador Preguntas para la discusión Utilice las siguientes preguntas para que los participantes del curso tomen parte en la discusión. También puede utilizar sus propias preguntas. Discuss the process of creating screens. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 27
  • 38. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Resumen de la lección Ahora podrá: • Crear y procesar imágenes • Añadir elementos de pantalla de Dictionary ABAP • Explicar el procesamiento PBO y PAI 28 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 39. TAW10_2 Lección: Modificación y secuencia de imágenes Lección: 24 Modificación y secuencia de imágenes Duración de la lección: 45 Minutos Resumen de la lección En esta unidad aprenderá a modificar atributos de forma dinámica. Aprenderá a inicializar la tabla de sistema SCREEN. Asimismo, aprenderá a insertar secuencias de imagen para transacciones complejas cuando necesite utilizar imágenes múltiples. Objetivos de la lección Al finalizar esta lección podrá: • Realizar modificaciones dinámicas de imagen • Insertar secuencias de imágenes Screen sequencing as well as the introduction of screen levels using the CALL SCREEN statement are discussed. Moreover, the participants learn how to navigate between screens using functions from the programming interface. Dynamically Modifiable Static Attributes How is it possible to modify statically defined attributes? Explain the system-defined structure SCREEN. Modifying Attributes Dynamically: Example Ask which attribute and hence which SCREEN field has been changed. The SCREEN System Table Introduce the terminology system table SCREEN. Emphasize that this is no internal table but there are some statements that looks like statements for internal tables. For instance, the READ TABLE statement does not work. Initializing the System Table SCREEN Point out that dynamical screen modifications are temporary, since the system table SCREEN will be copied at the very beginning of every PBO from the statically defined attributes of the screen elements. Determining the Next Screen Underline the necessity of determining the next screen based on user inputs. Static Screen Sequence Show the attribute next screen within the demo. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 29
  • 40. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Setting the Next Screen Dynamically Explain the technique. Emphasize that the changing of the attributes is temporary. Inserting Screen Sequences Distinguish inserting screen sequences from setting the next screen dynamically. Explain the screen stack. Inserting a Sequence of Screens Dynamically Explain the technique. Window Coordinates Explain the coordinates and the special cases, e.g. upper_row = 0. Setting the Cursor Position Dynamically Give examples for the OFFSET addition. Exercise for creating a screen and using it in an executable program The exercise is quite simple but the participants have to copy the template. Give a hint such that they do not forget to copy the corresponding include programs. Ejemplo empresarial Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus clientes utilizando las pantallas de la aplicación. Estas imágenes le deberían permitir modificar atributos de forma dinámica. En el caso de transacciones complejas para las que requiera el uso de imágenes múltiples, como la visualización de reservas de vuelos y de datos de vuelo, necesitará saber cómo se insertan secuencias de imágenes. Modificaciones de imagen dinámicas Las modificaciones dinámicas de los atributos de elementos de pantalla son temporales. Cuando utilice esta técnica para modificar los atributos de un elemento de pantalla, puede sustituir secuencias largas de imágenes independientes, que son mucho más costosas en términos de tiempo de programación y de ejecución. Por ejemplo, con esta técnica, puede modificar el atributo de un elemento de pantalla para decidir si un campo de entrada/salida está listo para la entrada. 30 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 41. TAW10_2 Lección: Modificación y secuencia de imágenes Gráfico 21: Modificación dinámica de atributos: Ejemplo Gráfico 22: Atributos estáticos que admiten una modificación dinámica Al inicio del PBO, el sistema de tiempo de ejecución lee los atributos de creación estática y que admiten una modificación dinámica de todos los elementos de pantalla actual que se reflejan en una tabla del sistema con la clase de línea SCREEN. SCREEN-NAME es el identificador único de un elemento en una pantalla. Existe una excepción a esta norma: un elemento de texto puede recibir el mismo nombre que el elemento de entrada al que describe. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 31
  • 42. Capítulo 1: Introducción a la programación de imágenes TAW10_2 SCREEN-REQUIRED puede tener tres valores: 0 significa que no se requiere, 1 significa que se requiere y 2 (que se introdujo en el SAP Web Application Server 6.10) significa recomendado. Si desea una definición completa de la estructura SCREEN, consulte la documentación de Ayuda en LOOP AT SCREEN en el editor ABAP. El gráfico muestra la asignación de los campos en la tabla de sistema SCREEN a los nombres de los atributos de creación estática de los elementos de pantalla. Gráfico 23: La tabla de sistema SCREEN La tabla de sistema con la clase de línea SCREEN se denomina tabla de sistema SCREEN en la unidad siguiente. Cuando se procesa una pantalla, la tabla de sistema SCREEN contiene una entrada para cada uno de los elementos que se han creado en el Screen Painter para esa pantalla. 32 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 43. TAW10_2 Lección: Modificación y secuencia de imágenes Gráfico 24: Inicialización de la tabla de sistema SCREEN La tabla de sistema SCREEN se inicializa al comienzo del evento PBO de la imagen actual. Para ello, un programa de sistema copia los atributos de definición estática de los elementos de pantalla individual en la tabla. Luego el usuario puede modificar los atributos que admiten modificaciones dinámicas de los elementos en pantalla en un módulo de PBO con las sentencias siguientes: LOOP AT SCREEN. ... MODIFY SCREEN. ENDLOOP. Para ello, se utiliza la estructura SCREEN, que crea el sistema automáticamente y que se cumplimenta con los valores de todas las líneas sucesivas de la tabla del sistema en el loop. Los atributos fijados tienen el valor "1" y los atributos que no están fijados tienen el valor "0". Para modificar la tabla del sistema, utilice MODIFY SCREEN en el loop. Para encontrar el elemento cuyos atributos desea modificar, puede emplear un LOOP en la tabla SCREEN y consultar uno de los campos siguientes: SCREEN-NAME o SCREEN-GROUP1 a SCREEN-GROUP4. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 33
  • 44. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 25: La modificación de un atributo de grupo Se pueden modificar los atributos de diversos elementos de pantalla a la vez en tiempo de ejecución, incluyéndolos en un grupo de modificación del Screen Painter. Asigne todos los elementos que se modificarán en un único paso de procesamiento a un grupo del Screen Painter. Para ello, indique un nombre de grupo para cada uno de los elementos relevantes en uno de los campos GROUP1 a GROUP4. Cada elemento se puede incluir en un máximo de cuatro grupos de modificación. El nombre de grupo puede ser una secuencia cualquiera de tres caracteres. Se pueden asignar elementos a un grupo de modificación tanto en la lista de elementos como en el editor de layout del Screen Painter. Gráfico 26: Modificación dinámica de atributos: Programa 34 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 45. TAW10_2 Lección: Modificación y secuencia de imágenes Las modificaciones de imagen se tienen que programar en un módulo que se procesa durante el bloque de proceso PROCESO ANTES DE SALIDA. Con la tabla SCREEN se utiliza un loop para modificar los atributos de un elemento o de un grupo de elementos. LOOP AT SCREEN WHERE . . . y READ TABLE SCREEN no se soportan. Para activar y desactivar atributos, asigne el valor 1 (activo) o 0 (inactivo), y guarde los cambios con la sentencia MODIFY SCREEN. Fíjese en que los elementos que ha definido de forma estática como invisibles en el Screen Painter no se pueden volver a activar con SCREEN-ACTIVE = 1. Utilice la sentencia SCREEN-INVISIBLE = 0. Sin embargo, los elementos que se han definido estáticamente como visibles en el Screen Painter se pueden hacer invisibles de forma dinámica con SCREEN-ACTIVE = 0. Esta sentencia tiene la misma influencia que las tres sentencias SCREEN-INVISIBLE = 1, SCREEN-INPUT = 0, SCREEN-OUTPUT = 0. Demostración: Demonstration of SAPMBC410DIAD_B_MODIFY_SCREEN Objetivo To demonstrate SAPMBC410DIAD_B_MODIFY_SCREEN Datos del sistema Sistema: Mandante: ID de usuario: Clave de acceso: Parametrizaciones del sistema: 1. Show the function. Which property has changed? Give reasons for using SCREEN-ACTIVE instead of SCREEN-INVISIBLE. Remark that obviously the activity of groups of fields has been changed. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 35
  • 46. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Secuencia de imágenes Gráfico 27: Determinación del Dynpro siguiente En el caso de las transacciones complejas, puede ser necesario emplear muchas imágenes. La imagen inicial se determina cuando se crea el código de transacción. Las pantallas determinan el dynpro siguiente en función de las entradas del usuario. El dynpro siguiente se introduce de forma estática en los atributos de imagen. En el tiempo de ejecución, se puede sustituir de forma temporal el dynpro siguiente estático con la sentencia SET SCREEN. Gráfico 28: Secuencias de imágenes estáticas 36 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 47. TAW10_2 Lección: Modificación y secuencia de imágenes Se puede definir una secuencia estática de imágenes indicando un valor en el campo Dynpro siguiente de los atributos de imagen. Si se indica 0 o ningún valor para el dynpro siguiente, el sistema reanuda el procesamiento en el mismo punto en que se inicia la pantalla una vez termina de procesarla. Gráfico 29: Configuración dinámica de Dynpro siguiente La sentencia SET SCREEN sustituye temporalmente el atributo de Dynpro siguiente. La pantalla debe pertenecer al mismo programa. El dynpro siguiente se procesa o bien cuando termina el procesamiento de imágenes en curso o bien cuando se cancela mediante la sentencia LEAVE SCREEN. Para especificar el dynpro siguiente y abandonar la imagen actual en un mismo paso, utilice la sentencia LEAVE TO SCREEN. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 37
  • 48. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 30: Inserción de secuencias de imágenes Se puede insertar una secuencia de imágenes. Al hacerlo, se añade una nueva capa a una pila. Una secuencia de imágenes se inserta con la sentencia CALL SCREEN. Nota: Los niveles creados así se deben eliminar luego. Puede hacerlo, configurando el dynpro siguiente de forma estática o dinámica en el valor inicial (0) al final de la secuencia de imágenes insertada. Gráfico 31: Inserción dinámica de una secuencia de imágenes 38 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 49. TAW10_2 Lección: Modificación y secuencia de imágenes Para interrumpir el procesamiento de la imagen actual y pasar a una nueva imagen o secuencia de imágenes, utilice la sentencia CALL SCREEN. La pantalla debe pertenecer al mismo programa. El sistema construye una pila dentro del programa. Para volver a la sentencia que sigue a la sentencia CALL SCREEN, puede utilizar o bien SET SCREEN 0, LEAVE SCREEN o LEAVE TO SCREEN 0. Acto seguido, la pantalla que llamaba la otra pantalla se sigue procesando. Si utiliza la sentencia anterior fuera del marco de una cadena de llamadas, el programa se cancela y el control vuelve al punto en el que fue llamado. Un programa también se puede cancelar con la sentencia ABAP LEAVE PROGRAM. Gráfico 32: Llamada dinámica de una ventana de diálogo En la sentencia CALL SCREEN, se pueden utilizar los suplementos STARTING AT y ENDING AT para especificar la posición y el tamaño de la pantalla que se está llamando. La pantalla de la sentencia CALL SCREEN se debe definir como una ventana de diálogo modal que satisfaga los estándares ergonómicos del sistema SAP. Si se omite la sentencia ENDING AT, el tamaño de la ventana de diálogo se especifica con Tamaño utilizado en sus atributos de imagen. A continuación, el sistema determina el tamaño de la ventana de diálogo con el atributo de imagen Tamaño ocupado. Si emplea el suplemento ENDING AT, el sistema muestra aquella parte de la ventana de diálogo que cabrá en el espacio de que se dispone. Si no hay suficiente espacio como para ver toda la ventana de diálogo, aparecerán una barras de desplazamiento. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 39
  • 50. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Gráfico 33: Cooedenadas de ventana La posición inicial de cualquier ventana del sistema SAP es la esquina superior izquierda. Los valores que se aplican para las variables left_col, upper_row, right_col y lower_row en la sentencia siguiente hacen referencia a la ventana SAP desde la que se visualiza la segunda pantalla con CALL SCREEN, pantalla 100 en el ejemplo tal como se ve en el gráfico. CALL SCREEN <nnnn> STARTING AT left_col upper_row ENDING AT right_col lower_row. 40 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 51. TAW10_2 Lección: Modificación y secuencia de imágenes Gráfico 34: Configuración dinámica de la posición del cursor Cuando el sistema muestra una pantalla, sitúa el cursor en el primer campo de entrada automáticamente. Si, en cambio, desea que el cursor aparezca cada vez en un campo distinto, puede introducir el correspondiente nombre de elemento en el campo Posición del cursor de los atributos de imagen. También puede decir al sistema en el evento PBO que sitúe el cursor en un campo en concreto. De esta forma, la aplicación será más fácil de usar. Se puede definir el campo en que debería aparecer el cursor en el programa con la sentencia ABAP: SET CURSOR FIELD <object_name> OFFSET <position>. <field_name> puede ser un nombre único entre comillas, o una variable que contenga el nombre del objeto. Para situar el cursor en una posición determinada dentro de un campo, emplee el parámetro OFFSET especificando la posición requerida en <position>. A continuación, el sistema sitúa el cursor en la posición inicial correspondiente empezando a contar al comienzo del campo. Demostración: Demonstration of SAPMBC410DIAD_B_MODIFY_SCREEN Objetivo To demonstrate SAPMBC410DIAD_B_MODIFY_SCREEN Datos del sistema Sistema: 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 41
  • 52. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Mandante: ID de usuario: Clave de acceso: Parametrizaciones del sistema: 1. Show the coding. Demostración: Demonstration of SAPBC410DIAD_C_DYNPRO_PRE Objetivo To demonstrate SAPBC410DIAD_C_DYNPRO_PRE Datos del sistema Sistema: Mandante: ID de usuario: Clave de acceso: Parametrizaciones del sistema: 1. Copy SAPBC410DIAD_C_DYNPRO_PRE. Show the parts of screen 100. Create screen 200. Insert the input/output field. Create the set_status module. 2. Create and call screen 300. Do this within an extra module that will be called to PAI of screen 200. 3. Implement the command field processing. 42 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 53. TAW10_2 Lección: Modificación y secuencia de imágenes 37 Ejercicio 1: Creación de pantallas Duración del ejercicio: 45 Minutos Objetivos de los ejercicios Al finalizar este ejercicio podrá: • Crear pantallas y utilizarlas en sus aplicaciones Ejemplo empresarial Crear un programa con una pantalla que incluya campos de entrada y de salida, y leer datos de la base de datos. Crear una transacción adecuada para su programa. Tarea: Crear un programa con una pantalla que incluya campos de entrada y de salida, y leer datos de la base de datos. Crear una transacción adecuada para su programa. 1. Crear un programa. Cree el paquete ZBC410_## (donde ## es su número de grupo) y asígnelo a la solicitud de modificación que le ha proporcionado el instructor. En este paquete, cree el programa SAPMZ##BC410_SOLUTION con un Include TOP (tipo: modulpool). Accepte el nombre que propone el sistema para el Include TOP. Puede emplear la solución de modelo SAPMBC410ADIAS_DYNPRO como orientación. 2. Cree el objeto de programa siguiente: Pantalla 0100 Descripción: Imagen de actualización Tipo: Normal Dynpro siguiente: 0100 3. En el paquete, cree una transacción (tipo: transacción de diálogo) Z##SOLUTION para su programa y verifíquela. Nota: Puesto que todavía no ha programado ninguna navegación para su programa, el intento de verificarlo generará temporalmente un bucle infinito, lo que significa que deberá reiniciar el workbench. 4. Cree los campos siguientes en la pantalla. Utilice la opción de uso de campos de Dictionary ABAP. Continúa en la página siguiente 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 43
  • 54. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Pantalla 100 Campos E/S, campos de texto SDYN_CONN • CARRID • CONNID • FLDATE Atributos de cada campo: Entrada: on Salida: on Entradas obligatorias: on Campos E/S, campos de texto SDYN_CONN • PRICE • CURRENCY • PLANETYPE • SEATSMAX • SEATSOCC • PAYMENTSUM Atributos de cada campo: Entrada: off Salida: on 5. En el evento PAI para la pantalla 100, cree un módulo CHECK_SFLIGHT. Para ello utilice la navegación hacia adelante y poder crear, de este modo, un módulo en un Include nuevo. Acepte el nombre que propone el sistema. Lea los campos de la tabla de base de datos SFLIGHT donde los datos son los de la compañía aérea, el número de vuelo y la fecha de vuelo. Tiene dos opciones: Puede leer directamente en la estructura SDYN_CONN. O puede utilizar la estructura interna de igualdad, wa_sflight, que se crea en el Include TOP para leer de la base de datos. En este caso, necesita asegurarse de que los campos de la estructura de ayuda se copian en los campos de dynpro. Para ello, necesita un módulo PBO nuevo. La mejor forma de hacerlo es utilizar la navegación hacia adelante. Si no se pueden leer datos para las entradas de la pantalla, visualice el mensaje 007 de la clase de mensajes BC410 como mensaje de información e inicialice los campos de dynpro. (Nota: los campos CARRID y CONNID se verifican de forma automática. Sólo se verifica la combinación de CARRID, CONNID y FLDATE). Continúa en la página siguiente 44 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 55. TAW10_2 Lección: Modificación y secuencia de imágenes 6. Aún no nos hemos centrado en la navegación normal (con un botón Atrás, etc.). No obstante, recurra a los conocimientos que ya tiene para crear una forma sencilla de salir del programa (en la siguiente unidad adquirirá un mejor dominio de este aspecto). Cree un campo de un carácter en la pantalla. Si el usuario indica X en este campo, él o ella debería volver al punto en que se llamó el pograma. Programe una consulta adecuada en un módulo PAI nuevo, USER_COMMAND_0100. Consejo: La forma más sencilla de hacerlo es crear primero el campo de un carácter en ABAP (Include TOP) y activar el programa. Luego podrá incluir fácilmente el campo en la pantalla en Screen Painter con el botón de color naranja. 7. Opcional: Visualice la hora en una ventana de diálogo. Si el usuario introduce T en el campo, aparecerá una ventana de diálogo donde se verá la hora y se reinicializará el campo de comandos. Para ello, cree una pantalla nueva y llámela en un módulo PAI USER_COMMAND_0100: Pantalla 0150 Descripción: Hora Tipo: Ventana de diálogo modal Dynpro siguiente: 0 Visualice el campo UZEIT de la estructura Dictionary SYST en la pantalla. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 45
  • 56. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Solución 1: Creación de pantallas Tarea: Crear un programa con una pantalla que incluya campos de entrada y de salida, y leer datos de la base de datos. Crear una transacción adecuada para su programa. 1. Crear un programa. Cree el paquete ZBC410_## (donde ## es su número de grupo) y asígnelo a la solicitud de modificación que le ha proporcionado el instructor. En este paquete, cree el programa SAPMZ##BC410_SOLUTION con un Include TOP (tipo: modulpool). Accepte el nombre que propone el sistema para el Include TOP. Puede emplear la solución de modelo SAPMBC410ADIAS_DYNPRO como orientación. a) Consulte la solución modelo. 2. Cree el objeto de programa siguiente: Pantalla 0100 Descripción: Imagen de actualización Tipo: Normal Dynpro siguiente: 0100 a) Consulte la solución modelo. 3. En el paquete, cree una transacción (tipo: transacción de diálogo) Z##SOLUTION para su programa y verifíquela. Nota: Puesto que todavía no ha programado ninguna navegación para su programa, el intento de verificarlo generará temporalmente un bucle infinito, lo que significa que deberá reiniciar el workbench. a) Consulte la solución modelo. 4. Cree los campos siguientes en la pantalla. Utilice la opción de uso de campos de Dictionary ABAP. Continúa en la página siguiente 46 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 57. TAW10_2 Lección: Modificación y secuencia de imágenes Pantalla 100 Campos E/S, campos de texto SDYN_CONN • CARRID • CONNID • FLDATE Atributos de cada campo: Entrada: on Salida: on Entradas obligatorias: on Campos E/S, campos de texto SDYN_CONN • PRICE • CURRENCY • PLANETYPE • SEATSMAX • SEATSOCC • PAYMENTSUM Atributos de cada campo: Entrada: off Salida: on a) Consulte la solución modelo. 5. En el evento PAI para la pantalla 100, cree un módulo CHECK_SFLIGHT. Para ello utilice la navegación hacia adelante y poder crear, de este modo, un módulo en un Include nuevo. Acepte el nombre que propone el sistema. Lea los campos de la tabla de base de datos SFLIGHT donde los datos son los de la compañía aérea, el número de vuelo y la fecha de vuelo. Tiene dos opciones: Puede leer directamente en la estructura SDYN_CONN. O puede utilizar la estructura interna de igualdad, wa_sflight, que se crea en el Include TOP para leer de la base de datos. En este caso, necesita asegurarse de que los campos de la estructura de ayuda se copian en los campos de dynpro. Para ello, necesita un módulo PBO nuevo. La mejor forma de hacerlo es utilizar la navegación hacia adelante. Continúa en la página siguiente 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 47
  • 58. Capítulo 1: Introducción a la programación de imágenes TAW10_2 Si no se pueden leer datos para las entradas de la pantalla, visualice el mensaje 007 de la clase de mensajes BC410 como mensaje de información e inicialice los campos de dynpro. (Nota: los campos CARRID y CONNID se verifican de forma automática. Sólo se verifica la combinación de CARRID, CONNID y FLDATE). a) Consulte la solución modelo. 6. Aún no nos hemos centrado en la navegación normal (con un botón Atrás, etc.). No obstante, recurra a los conocimientos que ya tiene para crear una forma sencilla de salir del programa (en la siguiente unidad adquirirá un mejor dominio de este aspecto). Cree un campo de un carácter en la pantalla. Si el usuario indica X en este campo, él o ella debería volver al punto en que se llamó el pograma. Programe una consulta adecuada en un módulo PAI nuevo, USER_COMMAND_0100. Consejo: La forma más sencilla de hacerlo es crear primero el campo de un carácter en ABAP (Include TOP) y activar el programa. Luego podrá incluir fácilmente el campo en la pantalla en Screen Painter con el botón de color naranja. a) Consulte la solución modelo. 7. Opcional: Visualice la hora en una ventana de diálogo. Si el usuario introduce T en el campo, aparecerá una ventana de diálogo donde se verá la hora y se reinicializará el campo de comandos. Para ello, cree una pantalla nueva y llámela en un módulo PAI USER_COMMAND_0100: Pantalla 0150 Descripción: Hora Tipo: Ventana de diálogo modal Dynpro siguiente: 0 Visualice el campo UZEIT de la estructura Dictionary SYST en la pantalla. a) Consulte la solución modelo. Resultado Solución del modelo SAPMBC410ADIAS_DYNPRO Programa principal Continúa en la página siguiente 48 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 59. TAW10_2 Lección: Modificación y secuencia de imágenes INCLUDE MBC410ADIAS_DYNPROTOP. INCLUDE MBC410ADIAS_DYNPROI01. INCLUDE MBC410ADIAS_DYNPROOI01. Pantalla de lógica de proceso 100 PROCESS BEFORE OUTPUT. * MODULE STATUS_0100. * MODULE move_to_dynp. PROCESS AFTER INPUT. MODULE user_command_0100. MODULE check_sflight. Include TOP PROGRAM sapmbc410adias_dynpro. TABLES: sdyn_conn. DATA: wa_sflight TYPE sflight, io_command. Include de módulo PBO MODULE move_to_dynp OUTPUT. MOVE-CORRESPONDING wa_sflight TO sdyn_conn. ENDMODULE. " move_to_dynp OUTPUT Include de módulo PAI MODULE check_sflight INPUT. SELECT SINGLE * FROM sflight * INTO CORRESPONDING FIELDS OF sdyn_conn " direct read INTO wa_sflight " Read into internal structure WHERE carrid = sdyn_conn-carrid AND connid = sdyn_conn-connid AND fldate = sdyn_conn-fldate. CHECK sy-subrc <> 0. CLEAR wa_sflight. MESSAGE i007(bc410). ENDMODULE. " check_sflight INPUT Continúa en la página siguiente 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 49
  • 60. Capítulo 1: Introducción a la programación de imágenes TAW10_2 MODULE user_command_0100 INPUT. CASE io_command. WHEN 'X'. LEAVE TO SCREEN 0. WHEN 'T'. CALL SCREEN 150 STARTING AT 10 10 ENDING AT 50 20. CLEAR io_command. ENDCASE. ENDMODULE. " user_command_0100 INPUT 50 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 61. TAW10_2 Lección: Modificación y secuencia de imágenes Resumen de la lección Ahora podrá: • Realizar modificaciones dinámicas de imagen • Insertar secuencias de imágenes 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 51
  • 62. Resumen del capítulo TAW10_2 Resumen del capítulo Ahora podrá: • Describir el modelo de implementación de transacción única • Organizar el código fuente de su programa con Includes • Crear y procesar imágenes • Añadir elementos de pantalla de Dictionary ABAP • Explicar el procesamiento PBO y PAI • Realizar modificaciones dinámicas de imagen • Insertar secuencias de imágenes 52 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 63. TAW10_2 Examine sus conocimientos 47 Examine sus conocimientos 1. Cuando se crea una pantalla, se debe: a. Diseñar el formato de imagen en el editor de layout. b. Fijar los atributos generales de imagen en la imagen de atributos. c. Escribir la lógica de proceso en el editor de la lógica de proceso. d. Fijar los atributos de campo en la lista de campos. Seleccione el orden correcto: Seleccione la(s) respuesta(s) correcta(s). □ A a, b, c, d □ B c, d, b, a □ C b, a, d, c □ D d, b, a, c 2. Tras procesar , se transfieren los datos a la pantalla y se visualizan. Rellene los espacios en blanco para completar las frases. 3. Para que pueda fijar los atributos de todos los elementos de pantalla, el Screen Painter contiene una lista de elementos con cuatro vistas. Diga si estas afirmaciones son correctas o falsas. □ Correcto □ Falso 4. Para interrumpir el procesamiento de la imagen actual y pasar a una nueva imagen o secuencia de imágenes, utilice la sentencia siguiente: Seleccione la(s) respuesta(s) correcta(s). □ A CALL SCREEN <nnnn> □ B SET SCREEN <nnnn> □ C LEAVE SCREEN □ D LEAVE TO SCREEN <nnnn> 5. Las modificaciones de imagen se tienen que programar en un módulo que se procesa durante el bloque de proceso . Rellene los espacios en blanco para completar las frases. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 53
  • 64. Examine sus conocimientos TAW10_2 48 Respuestas 1. Cuando se crea una pantalla, se debe: a. Diseñar el formato de imagen en el editor de layout. b. Fijar los atributos generales de imagen en la imagen de atributos. c. Escribir la lógica de proceso en el editor de la lógica de proceso. d. Fijar los atributos de campo en la lista de campos. Seleccione el orden correcto: Respuesta: C El orden correcto es fijar los atributos generales de imagen en la imagen de atributos, diseñar el formato de imagen en el editor de layout, fijar los atributos de campo en la lista de campos y escribir la lógica de proceso en el editor de lógica de proceso. 2. Tras procesar PBO, se transfieren los datos a la pantalla y se visualizan. Respuesta: PBO 3. Para que pueda fijar los atributos de todos los elementos de pantalla, el Screen Painter contiene una lista de elementos con cuatro vistas. Respuesta: Falso Para que pueda fijar los atributos de todos los elementos de pantalla, el Screen Painter contiene una lista de elementos con seis vistas. 4. Para interrumpir el procesamiento de la imagen actual y pasar a una nueva imagen o secuencia de imágenes, utilice la sentencia siguiente: Respuesta: A Para interrumpir el procesamiento de la imagen actual y pasar a una nueva imagen o secuencia de imágenes, utilice la sentencia CALL SCREEN <nnnn>. 5. Las modificaciones de imagen se tienen que programar en un módulo que se procesa durante el bloque de proceso PROCESO ANTES DE SALIDA. Respuesta: PROCESO ANTES DE SALIDA 54 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 65. Capítulo 2 49 La interfase del programa The program interface is the most important interface between the user and the program. So, the development of dialogs has to consider the building of the program interface as an outstanding theme. Developers have to spend time to layout the program interface. Put the participants to a deeper understanding of using functions from the program interface. Also, motivate them to spend explicit time of the development process to layout the program interface. Finally, teach how to create and use the program interface. Resumen del capítulo Esta unida explica que el título y el status GUI forman parte de la interfase de usuario. Describe el procedimiento para crear un título GUI y un status GUI. Se aborda la necesidad de reutilizar barras de menú, barras de pulsadores y definiciones de teclas existentes. Por último, se explica cómo utilizar el status GUI. Objetivos del capítulo Al finalizar este capítulo podrá: • Crear un título GUI • Identificar las teclas de función • Crear un status GUI • Procesar el código de función Contenido del capítulo Lección: Interfaz de usuario .................................................... 56 Lección: Status GUI ............................................................. 67 Demostración: Demonstration of SAPBC410GUID_A_GUI_PRE .... 73 Ejercicio 2: Creación de status GUI....................................... 75 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 55
  • 66. Capítulo 2: La interfase del programa TAW10_2 Lección: 50 Interfaz de usuario Duración de la lección: 25 Minutos Resumen de la lección Este módulo le ayudará a comprender cómo el título GUI y el status forman parte de la interface de usuario. Aprenderá a crear un título GUI de tres formas distintas: a partir de la lista de objetos del Object Navigator, a partir de Menu Painter, o con la navegación hacia adelante a partir del editor ABAP. Además, verá que, desde un punto de vista técnico, un status es una referencia a una barra de menú, a ciertas definiciones de tecla y a una barra de pulsadores. Por último, se explican configuraciones de teclas de función, menús y barras de menús. Objetivos de la lección Al finalizar esta lección podrá: • Crear un título GUI • Identificar las teclas de función Explain how GUI title and status are part of user interface. Also, describe status from the technical point of view. Overview: Interface Define the user interface as a set of GUI titles and GUI status, where a GUI status and a GUI title describe the state of the program interface for the current screen. The GUI status itself consists of a menu bar, a standard toolbar, an application toolbar, and a number of function key settings. GUI Title Explain creating and using of GUI titles. Status: Technical View (1) Explain the reference technique. Emphasize the advantages of this technique for a consistent user interface. Show any status within the Menu Painter. Status: Technical View (2) Give reasons for using the BOTTOM UP technique to the participants. Formulate guidelines for the layout of a GUI status. Functions Show and explain the attributes of a function. Emphasize the function code as key in the function list. Show the function list for any status. Function Key Setting 56 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 67. TAW10_2 Lección: Interfaz de usuario Discuss reserved, recommended, and freely assigned function key settings. Show the application toolbar of any status. Menus and Menu Bars Discuss that all accessible functions should be reachable by a menu entry. Formulate guidelines for the layout of menus. Show the menus and menu lists of any status. Creating a GUI Status Explain and demonstrate how to create a status by forward navigation. Remark other possible accesses to the Menu Painter. Note that since release 4.6, the status type describes the technical properties of the status. Function Key Assignment Emphasize the BOTTOM-UP-technique. Lead the focus of the participants to the fact that there are two types of functions, static texts and dynamic texts. Give application samples for both. Standard Toolbar: Automatic Assignments Emphasize the advantages of standardization for the usability of the ERP-system. This slide gives an overview of standard functions key assignments. Ejemplo empresarial Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus clientes utilizando imágenes en la aplicación. Para dichas imágenes, necesita crear una interface de usuario. Esta interface debería incluir un título GUI y un status. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 57
  • 68. Capítulo 2: La interfase del programa TAW10_2 Resumen: Interface Gráfico 35: Resumen: Interface Un status GUI consiste en una barra de menús, una barra de herramientas, una barra de pulsadores y la configuración de teclas de función. Cada pantalla puede tener uno o más status GUI. Por ejemplo, un programa editor puede tener dos status: uno para el modo de visualización y uno para el modo de modificación. Los elementos de un status GUI permiten que los usuarios puedan elegir las funciones con el ratón. Los menús son elementos de control que permiten al usuario elegir qué funciones procesará un programa de aplicación. Los menús también pueden contener submenús. Los menús de sistema y de ayuda están presentes en todas las pantallas del sistema SAP. Siempre tienen las mismas funciones y no se pueden ni modificar ni ocultar. La barra de pulsadores contiene iconos de las funciones de uso frecuente. La barra de herramientas, que siempre es la misma en todas las imágenes del sistema SAP, contiene una serie de iconos en la que cada uno de ellos tiene una asignación fija a una tecla de función. Si una función de la barra de herramientas no está disponible en la imagen actual, el icono correspondiente se muestra en gris. La barra de pulsadores permite al usuario elegir funciones de uso frecuente haciendo clic sobre el botón en cuestión. Las configuraciones de las teclas de función se emplean para asignar funciones como Buscar, Sustituir o Cortar a las teclas de función. Los títulos y status GUI de un programa se pueden agrupar para formar su interface de usuario. Cada vez que se añade un título o status nuevo, se debe volver a generar la interface de usuario. 58 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 69. TAW10_2 Lección: Interfaz de usuario Gráfico 36: Título GUI Un título se puede crear de tres formas distintas: a partir de la lista de objetos del Object Navigator, a partir de Menu Painter, o con la navegación hacia adelante a partir del editor ABAP. El nombre de un título puede tener una longitud de hasta 20 caracteres. Debería definir un título adecuado para cada una de las imágenes de su aplicación. Puede emplear variables en los títulos que se configuran de forma dinámica en tiempo de ejecución insertando el signo & como reserva-espacio. En el tiempo de ejecución, el signo & se sustituye por el valor que especifique. Se pueden definir hasta nueve variables añadiendo dígitos tras el signo &. Para definir un título que contenga variables, utilice la sentencia: SET TITLEBAR WITH <&1> ... <&9>. Una barra de título permanece en su sitio hasta que se configura otra. En tiempo de ejecución, la variable de sistema SY-TITLE contiene el título actual. Las barras de título también se conocen como títulos GUI. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 59
  • 70. Capítulo 2: La interfase del programa TAW10_2 Gráfico 37: Status: Vista técnica (1) Desde un punto de vista técnico, un status es una referencia a una barra de menús, a ciertas definiciones de tecla y a una barra de pulsadores. Un componente único, como puede ser una barra de menús, puede ser utilizado por más de un status GUI. Los status GUI son objetos de programa ABAP que se pueden visualizar en imágenes y listas. Debería definir un status para cada una de las imágenes de su aplicación. Gráfico 38: Status: Vista técnica (2) Una barra de menús se compone de menús individuales. 60 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 71. TAW10_2 Lección: Interfaz de usuario Las definiciones de tecla y barras de pulsadores son objetos inferiores de la configuración de teclas de función. Puede crear un conjunto de barras de pulsadores para una sola configuración de tecla siguiendo el acceso vía menús Pasar a→ objetos de interface; Configuración de teclas de función → <name> → Configuración de pulsadores; Interface de usuario → Objeto inferior → Crear en el Menu Painter. Antes de poder asignar una tecla de función a un pulsador, ésta debe tener asignada una función. Cada status contiene una única barra de pulsadores. Todos los menús de programa y definiciones de teclas hacen referencia a un conjunto de funciones de interface (lista de funciones). Dichas funciones se pueden alcanzar con la ayuda para entradas. La barra de pulsadores hace referencia a las funciones de forma indirecta mediante las configuraciones estándar. Una función puede estar tanto activa como inactiva dentro de un status. Funciones Gráfico 39: Funciones Las funciones se identifican por sus códigos de función. El atributo tipo de función determina la finalidad prevista de una función. Utilice las clases de función " " (espacio), E y P. Las clases de función S y H están reservadas para uso interno del sistema SAP. El tipo de función T indica un código de transacción. Cuando se lanza una función de esta clase, el sistema sale del programa de llamada y llama el programa nuevo. Las funciones se pueden crear con textos estáticos o dinámicos. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 61
  • 72. Capítulo 2: La interfase del programa TAW10_2 Si una función tiene un texto estático, le puede asignar un icono (atributo del Nombre de icono). Si la función ya está asignada a un pulsador, se mostrará un icono en el lugar del texto estático. El texto estático se utiliza cuando se asigna la función a una entrada de menú. El texto de función que pertenece a la función se utiliza como texto quick info. El contenido del atributo Texto info aparece en la barra de status de la pantalla cuando el usuario elige la función. Si desea visualizar el texto además del icono, introduzca el texto en el atributo Texto de icono. Puede utilizar el atributo de Acceso directo para especificar las letras que permiten elegir una función de la barra de menús sin tener que utilizar el ratón. Una función se puede vincular a un flag. Si el flag está activado, se puede definir la reacción. Así, se visualiza la función si antes no se mostraba o se oculta si antes se veía. Si desea disponer de más información, consulte la documentación online Biblioteca SAP → Componentes SAP NetWeaver → Workbench ABAP → Herramientas de Workbench ABAP → Menu Painter → Funciones. Para obtener más información relativa a flags, consulte la Documentación de palabras clave ABAP → Modificaciones ABAP por release → Modificaciones en el release 7.0 → Switch Framework. Gráfico 40: Definición de teclas de función Las funciones se pueden asignar a teclas de función individuales o a botones. Las configuraciones de teclas de función consisten en una definición de tecla y un pulsador dentro de una barra. 62 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 73. TAW10_2 Lección: Interfaz de usuario La clase de las configuraciones de tecla de función (pantalla y ventana de diálogo) determina la finalidad técnica exclusiva de la configuración de la tecla de función. Además, se pueden especificar opciones para la implementación de menús contextuales y la ayuda para entradas en listas. Las definiciones de teclas consisten en teclas de función reservadas, teclas de función recomendadas y teclas de función de asignación libre. Las teclas de función reservadas son teclas de función cuyos valores asignados no se pueden modificar en el sistema SAP. Sus funciones se pueden activar y desactivar, pero no se pueden modificar ni los iconos ni los textos que tienen asignados. Las teclas de función reservadas aparecen en la barra de herramientas en pantallas y listas. Las teclas de función recomendadas contienen propuestas que satisfacen los estándares ergonómicos del sistema SAP. Las funciones que se asignan a las teclas de función también se pueden asignar a los botones de la barra de pulsadores. Una barra de pulsadores puede contener hasta 35 botones. Se pueden insertar separadores verticales en la barra de botones a fin de agruparlos visualmente. Se puede controlar la visualización de las funciones inactivas en la barra de pulsadores marcando Pasar a → Atributos → Configuración de pulsadores. Gráfico 41: Menús y barras de menús Un menú puede contener hasta 15 entradas. Algunas entradas posibles son funciones, separadores y menús (menús en cascada). Los menús pueden tener hasta tres niveles de profundidad. El tercer nivel sólo puede contener funciones y separadores. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 63
  • 74. Capítulo 2: La interfase del programa TAW10_2 Los menús se pueden crear con texto estático o dinámico. Si desea utilizar un texto dinámico, deberá asignar un campo al menú. El contenido de este campo se visualizará como texto del menú. La clase de menú Include permite hacer referencia a menús de otros programas. Al hacerlo, se debe especificar el nombre del programa y el status desde el que incluir el texto de menú en el campo Documentación breve. Sólo se puede acceder a los menús de Include con la barra de menús. Una barra de menús puede contener hasta ocho menús diferentes. Hasta seis de estos menús se pueden asignar de forma totalmente libre. El sistema añade automáticamente tanto el menú de sistema como el menú de ayuda a todas las barras de menú. 64 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 75. TAW10_2 Lección: Interfaz de usuario Discusión con moderador Preguntas para la discusión Utilice las siguientes preguntas para que los participantes del curso tomen parte en la discusión. También puede utilizar sus propias preguntas. • There are three ways to create a title. Discuss. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 65
  • 76. Capítulo 2: La interfase del programa TAW10_2 Resumen de la lección Ahora podrá: • Crear un título GUI • Identificar las teclas de función 66 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 77. TAW10_2 Lección: Status GUI Lección: 58 Status GUI Duración de la lección: 35 Minutos Resumen de la lección En este módulo aprenderá a crear un status GUI con las definiciones de tecla de función, una barra de pulsadores y una barra de menús. Además, comprenderá la necesidad de reutilizar las barras de menús, las barras de pulsadores y las configuraciones de teclas existentes. Por último, aprenderá a utilizar un status GUI. Objetivos de la lección Al finalizar esta lección podrá: • Crear un status GUI • Procesar el código de función Discuss how to create a GUI status in three ways, using function key assignments, an application toolbar, and a menu bar. Also, explain the need to reuse existing menu bars, application toolbars, and key settings. Creating a GUI Status: Application Toolbar Use the F4 help to make the entries easy. This is an advantage of the BOTTOM-UP-technique. Creating a GUI Status: Menu Bar Use the F4 help to make the entries easy. This is an advantage of the BOTTOM-UP-technique. Display Standards Show the path to the SAP Style Guide. Including Existing Elements The participants should be aware of how easy it is to refer to the same status objects in order to get a consistent program interface. Processing the Function Code Explain the user_command module and the need to name the command field. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 67
  • 78. Capítulo 2: La interfase del programa TAW10_2 Ejemplo empresarial Una agencia de viajes necesita actualizar los datos de reserva de vuelos para sus clientes utilizando pantallas en la aplicación. En una pantalla, necesita crear un status GUI que sea una referencia a una barra de menús, a ciertas definiciones de tecla y a una barra de pulsadores. Debería poder crear el status GUI o bien definiendo enlaces a componentes ya existentes o bien un status en blanco. Creación de un status GUI Gráfico 42: Creación de un status GUI La clase de status indica los atributos técnicos del mismo. Puede elegir entre un status para una pantalla normal (pantalla completa), un status de ventana de diálogo (para emplear con ventanas de diálogo modales) y un status de menú contextual. Los menús contextuales son agrupaciones especiales de funciones que se pueden visualizar haciendo clic con el botón derecho. Un status se puede crear generando enlaces a componentes existentes o creando un nuevo status en blanco. También puede combinar ambas técnicas. Si desea crear un status totalmente nuevo, deberá definir sus propias barras de menús, funciones de menú y otros elementos. Las modificaciones de un status afectan únicamente a dicho status. Cuando se utiliza la técnica de referencia, se crean barras de menús, barras de pulsadores y definiciones de teclas de función como elementos independientes. Así luego puede crear un status propio y hacer referencia a la barra de menús, barra de pulsadores y la definición de tecla de función que desee. El Menu Painter almacena y actualiza estas referencias, de tal modo que las modificaciones que 68 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 79. TAW10_2 Lección: Status GUI se realicen en la barra de menús, barra de pulsadores o definiciones de tecla de función tienen efecto de modo automático en todos los status que hacen referencia a ellos. La técnica de referencia resulta especialmente eficaz para garantizar la consistencia en aplicaciones muy grandes en las que se emplean diversos status. Los enlaces garantizan que el usuario pueda acceder a las funciones del mismo modo con independencia del status que haya fijado. Gráfico 43: Creación de un status GUI: Definición de teclas de función En una configuración de teclas, se asignan funciones individuales a teclas de función y pulsadores. Las configuraciones de teclas de función consisten en una definición de tecla y una serie de barras de pulsadores. Las configuraciones de teclas pueden ser de distintas clases: pantalla, ventana de diálogo, lista y lista dentro de una ventana de diálogo. Se pueden anexar funciones a teclas de función reservadas, teclas de función recomendadas y teclas de función de asignación libre. Asegúrese de que se ajustan a los estándares ergonómicos de SAP que se encuentran en el menú Entorno del Menu Painter. Las teclas de función reservadas aparecen en la barra de herramientas del SAP GUI. En caso de que haya una función importante y de que ya la haya asignado a una tecla de función, también la puede asignar a un pulsador de la barra. La barra de pulsadores puede contener hasta 35 botones. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 69
  • 80. Capítulo 2: La interfase del programa TAW10_2 Gráfico 44: Barra de herramientas: Definiciones automáticas Cuando se asigna una función a la barra de herramientas, ésta se asigna automáticamente a la tecla de función reservada. Para ver a qué teclas de función están asignadas estas funciones en el status actual, seleccione Información en el Menu Painter. Si desea obtener más información sobre el modo en que combinaciones de teclas como, por ejemplo, Ctrl-P, se convierten en números de teclas de función internos para, por ejemplo, batch input, siga el acceso vía menús Utilidades → Textos de ayuda → Números de tecla internos en el Menu Painter. Gráfico 45: Creación de un status GUI: Barra de pulsadores No se puede utilizar una función de la barra de pulsadores, hasta que ésta esté asignada a una tecla de función. 70 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 81. TAW10_2 Lección: Status GUI Utilice la ayuda para entradas para seleccionar funciones. Si asigna un icono a una función con un texto estático, atributo Nombre de icono, el sistema visualiza el icono en vez del texto estático en la barra de pulsadores. El texto de función que pertenece a la función se utiliza como quick info (texto quick info). El contenido del atributo Texto info aparece en la barra de status de la pantalla cuando el usuario elige la función. Si desea visualizar el texto adicional con un icono, debería introducirlo en el atributo Texto de icono. Para insertar un separador en la barra de pulsadores, utilice el menú Insertar en el Menu Painter. Gráfico 46: Creación de un status GUI: Barra de menús Una entrada de menú puede ser una función, un separador, otro menú o un menú en cascada. Para añadir una función a un menú, indique su código de función en la columna de la izquierda. Si la función ya existe en la lista de funciones y tiene asignado un texto, éste se inserta automáticamente en el campo de texto. Si no, haga doble clic en el campo de la derecha para introducir un texto. Para insertar un separador, utilice el menú Insertar, rellene el campo de texto de la función con signos negativos en la posición correspondiente o utilice el Menú contextual. Par crear un submenú, basta con introducir su nombre en el campo derecho de la entrada de menú. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 71
  • 82. Capítulo 2: La interfase del programa TAW10_2 Gráfico 47: Normas de visualización A fin de asegurar la consistencia, debería reutilizar las barras de menús, las barras de pulsadores y las configuraciones de teclas existentes. El Menu Painter administra los enlaces que se definen entre estos objetos para que todos los cambios se apliquen a todos los demás status que los utilizan. También puede emplear una serie de entradas de menú estándar a modo de modelo y modificarlas. Cuando asigne funciones a las teclas de función reservadas de la barra de herramientas, debería ceñirse a las normas SAP. De esta forma, el programa resulta mucho más manejable para los usuarios y, a la vez, resulta más fácil actualizar. Gráfico 48: Inclusión de elementos existentes 72 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 83. TAW10_2 Lección: Status GUI Con el Menu Painter puede incluir en un status configuraciones de teclas, barras de pulsadores o barras de menús que ya haya definido en otra parte. Si utiliza el Menu Painter, trabaje de abajo a arriba. Si hay más de una barra de pulsadores definida para su configuración de teclas, puede seleccionar la pertinente. Al comienzo, todas las funciones están inactivas. Active únicamente las funciones que son relevantes en el status actual. Cuando cree una función nueva, puede decidir si también deberían modificarse todos los status que hacen referencia al mismo objeto. Al comienzo, todas las funciones están inactivas. Demostración: Demonstration of SAPBC410GUID_A_GUI_PRE Objetivo To demonstrate SAPBC410GUID_A_GUI_PRE Datos del sistema Sistema: Mandante: ID de usuario: Clave de acceso: Parametrizaciones del sistema: 1. Put in the titles for the basic and the detail list. 2. Use parameters for the title of the detail list. 3. Show how to create titles by forward navigation. 4. Test the program. 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 73
  • 84. Capítulo 2: La interfase del programa TAW10_2 Uso del status GUI Gráfico 49: Procesamiento del código de función Cuando el usuario desencadena una función de la clase " " (espacio) con un botón, entrada de menú o tecla de función, el sistema sitúa el código de función correspondiente en el campo OK_CODE de la pantalla. Para que pueda procesar este campo en el evento PAI, debe asignar un nombre al campo y luego indicarlo en la lista de elementos en el Screen Painter. A continuación deberá crear un campo en su programa ABAP con el mismo nombre. Durante el transporte automático de campos que se da al inicio del evento PAI, el código de función pasa de la pantalla al campo correspondiente del programa. A fin de evitar que el código de función desemboque en pasos de proceso imprevistos en el dynpro siguiente (pulsar la tecla Intro no suele modificar el campo de comandos), debería inicializar el campo ABAP que recibe exactamente el mismo nombre. La forma más fácil de hacerlo es escribir un módulo PBO con la línea siguiente (siempre que haya especificado el campo de comandos de usuario ok_code en la lista de elementos): CLEAR ok_code. 74 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009
  • 85. TAW10_2 Lección: Status GUI 67 Ejercicio 2: Creación de status GUI Duración del ejercicio: 40 Minutos Objetivos de los ejercicios Al finalizar este ejercicio podrá: • Crear status de diálogo y utilizarlos en las aplicaciones propias Ejemplo empresarial Tras crear los programas para crear y modificar pantallas, necesita crear títulos GUI y asignar funciones a teclas de función o botones. Utilice el Menu Painter para crear un status GUI y defina el Título GUI como datos de vuelo. Además, implemente el procesamiento de campo. Tarea: Utilice el Menu Painter para crear un status GUI y un título GUI y evalúe la entrada del usuario. 1. Amplíe el programa SAPMZ##BC410_SOLUTION del ejercicio anterior o copie la solución modelo SAPMBC410ADIAS_DYNPRO. Puede emplear la solución de modelo SAPMBC410ADIAS_GUI como orientación. 2. En el evento PBO para la pantalla 100, llame el módulo STATUS_100. Utilice la navegación hacia adelante para crear el módulo en un Include nuevo. Acepte el nombre que propone el sistema. Una vez allí, fije el status GUI STATUS_100 y créelo utilizando la navegación hacia adelante. Elija el Status de diálogo como clase de diálogo e Imagen de actualización como texto breve. Active la función estándar BACK (F3) con el tipo de función " ". También debería fijar el título GUI TITLE_100. Debería ser posible modificar el contenido del título con un parámetro: “Datos del vuelo (&1)”. En este ejercicio, cumplimente el parámetro &1 con “Vista”. Utilice un símbolo de texto para el parámetro a fin de asegurarse de que se pueda traducir. 3. Asigne el nombre ok_code al campo de comandos de su pantalla, y cree una variable correspondiente en el Include TOP de su programa. 4. Implemente el procesamiento de campos de comando. En lugar de controlar el dynpro siguiente con el campo de carácter de imagen como había ocurrido hasta ahora, el ok_code debería evaluarse ahora con el módulo PAI USER_COMMAND_0100: Asegúrese de que el usuario de la pantalla 100 vuelve al punto en que se llamó la pantalla si él o ella elige BACK (F3). Continúa en la página siguiente 22-12-2009 © 2009 SAP AG. Reservados todos los derechos. 75
  • 86. Capítulo 2: La interfase del programa TAW10_2 5. A fin de evitar una navegación no deseada, inicialice el campo de comandos en un módulo en el evento PBO de la pantalla. 6. Opcional: Sustituya totalmente el campo de caracteres de la pantalla 100 que se ha empleado hasta ahora para el diálogo de usuario, de tal modo que la hora se pueda visualizar con el status sin tener que volver a introducir una T. Para ello, amplíe su status STATUS_100 con la función TIME y amplíe su módulo PAI USER_COMMAND_0100. 7. Opcional: disponga una barra de título y un status independientes para la ventana de diálogo donde se muestre la hora. Cree ambos objetos en un módulo PBO STATUS_150 mediante la navegación hacia adelante. 76 © 2009 SAP AG. Reservados todos los derechos. 22-12-2009