You are on page 1of 73

TAW11 Detalles ABAP

Parte 1 Unicode
Acerca de este mdulo
En este mdulo, nos fijamos en Unicode en ABAP desde una perspectiva de
programacin. Nos concentramos en el procesamiento de cadenas compatible
con Unicode desde el punto de vista ABAP.
Objetivos del mdulo

Describir el tema de Unicode en ABAP desde una perspectiva de


programacin.
Describir el procedimiento de comprobacin que determina si un programa
ABAP puede ejecutarse en un sistema SAP Unicode y discutir los requisitos
especiales para el procesamiento de cadenas en un sistema SAP Unicode.

Contenido del modulo


Procesamiento de cadenas compatible con Unicode en ABAP
Acerca del tema procesamiento de cadenas compatibles con Unicode
en ABAP
En este tema, vamos a ver el procedimiento para identificar si un programa
ABAP se puede ejecutar en el sistema SAP Unicode. El tema no contiene
ninguna demostracin, pero hay una serie de preguntas que le sern tiles.
Tiempo estimado para completar este tema: 2 horas
Qu hay en ella para m?

Describe el procedimiento de comprobacin que determina si un programa


ABAP puede ejecutar en un sistema SAP Unicode.
Analiza los requisitos especiales para el procesamiento de cadenas en un
sistema SAP Unicode.

Tabla de conjunto de caracteres Unicode

Los sistemas de software utilizan secuencias de bits de longitud fija para la


representacin interna de caracteres Esta longitud especfica el nmero de
caracteres que se pueden mostrar en total y se utiliza una tabla de conjunto de
caracteres para que coincida con la asignacin entre caracteres y secuencia de
bits. Por ejemplo, el conjunto de caracteres ASCII, que tiene 8 bits de longitud,
consta de 256 caracteres.
Si se utiliza el conjunto de caracteres ASCII y quera otros caracteres para ser
procesados, tendra que cargar una tabla de conjunto de caracteres diferente.
Por lo tanto, el trabajo extra cuando se trata de diferentes usuarios que utilizan
conjuntos de caracteres diferentes y se requiere el procesamiento de texto
paralelo. El intercambio de datos entre estos tambin no es tan fcil.
La tabla de conjunto de caracteres Unicode se ha definido para este propsito y
es lo suficientemente grande para contener todos los conjuntos de caracteres
actuales. Tiene una longitud de secuencia de 16 bits, que se traduce en 65.536
cdigos posibles. SAP soporta el conjunto de caracteres Unicode desde SAP
Web Application Servidor 6.10.

STRING / Procesamiento secuencia Byte

Los tipos de datos predefinidos en los programas Unicode incluyen el tipo de


carcter: C, N, D, T y STRING. Los tipos de estructura que contienen
componentes de estos tipos tambin formaran una parte del tipo carcter.
En los sistemas que no son Unicode, un carcter de este tipo es un byte.
En los sistemas de Unicode, que es tan larga como un carcter en la plataforma
respectiva. Las variables X y tipo STRING se describen como de tipo byte.
Antes todo se trataba como tipo carcter, pero desde SAP Web Application
server 6.10, hay una distincin entre el tipo carcter y argumentos de tipo
byte.
Por razones de compatibilidad, los comandos de cadenas de caracteres en su
forma estndar siempre esperan argumentos de tipo carcter. Las
declaraciones se convierten luego por el sistema, carcter por carcter.
Las variantes correspondientes de estas declaraciones para el procesamiento
de secuencia de bytes son reconocibles por la adicin IN BYTE MODE. Con esta
adicin, las declaraciones esperan argumentos de tipo byte y los convierte byte
a byte.

Longitudes y comparaciones

La funcin STRLEN siempre espera las variables de tipo carcter y devuelve su


longitud en caracteres. Con las variables de tipo C, slo la longitud ocupada es
relevante y blancos de cola no se cuentan.
La funcin XSTRLEN devuelve la longitud de las secuencias de bytes. Siempre
espera por variables de tipo byte y devuelve la longitud actual para el tipo
XSTRING y la longitud se define en bytes para el tipo X.
La imagen en la pantalla se muestra el cdigo de ejemplo para estas dos
funciones.
Adems de los operadores de comparacin que se muestran a la izquierda de
la imagen, te dars cuenta de seis nuevos operadores que se han definido y
que estn identificados por el prefijo de BYTE. El uso de este tambin se
muestra en el cdigo de ejemplo en la pantalla.

Conversin entre estructuras Flat (Planas)

Dependiendo de la plataforma, algunos tipos de datos requieren una alineacin


especfica que deben cumplir. Por ejemplo, puede haber un requisito para
comenzar en una direccin de memoria especfica. Dentro de una estructura,
durante el tiempo de ejecucin, la "alineacin" de bytes se insertara en el
sistema, ya sea antes o despus del componente con los detalles de la
alineacin.
El sistema crea primero un fragmento de vista Unicode para comprobar si dicha
conversin es posible. Los grupos de vista junto con los componentes
adyacentes y brechas de alineacin.
Este punto de vista se puede ver en el depurador clsico. Un ejemplo se
muestra en la pantalla como referencia.
Si los fragmentos de las estructuras de origen y de destino coinciden con el
tipo y longitud con la longitud de la estructura ms corta, se permite la
conversin. En otro caso se produce un error en la comprobacin de Unicode.
Si la estructura de destino es ms larga que la estructura de la fuente, los
componentes de tipo carcter del resto se llenan con caracteres de espacio.
Todos los dems componentes en el resto se rellenan con los valores iniciales
de tipo especfico. La alineacin de brechas est llenas de bytes nulos. Los

componentes de otros tipos, como P, F, String y XString no se consideran, pero


son tratados individualmente.

La conversin entre las estructuras y objetos de datos


elementales

Continuando con las reglas para la conversin, ahora vamos a ver algunas
reglas para la conversin de las estructuras de los objetos de datos
elementales.

Si una estructura slo contiene datos de tipo carcter, la misma es como


un objeto de datos de tipo C durante la conversin.
Si la estructura no es completamente tipo carcter, el campo solo debe
ser de tipo C y la estructura debe comenzar con un fragmento de tipo de
carcter que es al menos tan largo como el campo individual
.

Si el campo de destino es una estructura, los fragmentos de tipo carcter


restantes se rellenan con caracteres de espacio y todos los otros componentes
con el valor inicial de tipo especfico.

Acceso con informacin de desplazamiento y longitud


para los objetos de datos elementales

Desde nuestro aprendizaje al principio de este curso, se le recuerda que para


las variables de tipo carcter, el desplazamiento y la longitud estn
interpretados por caracteres y tipos X e XSTRING, los valores para el
desplazamiento y la longitud se interpretan byte a byte.

Acceso con Especificaciones


longitud para Estructuras

de

desplazamiento

Para las estructuras el acceso de desplazamiento y longitud slo se permiten


en los programas de Unicode si la estructura es plana y las especificaciones de

desplazamiento y longitud slo contiene campos de tipo carcter a partir del


inicio de la estructura.

Unicode Checks

ABAP permite conjuntos de caracteres Unicode desde SAP Web Application


Servidor 6.10. Sin embargo, hay que tener cuidado para asegurar que la
informacin sobre la longitud interior de sus caracteres no se desborde en su
programa.
Mientras que el ABAP Workbench soporta cuando se trabaja con cdigo
existente, es posible que tenga que hacer algunos ajustes. La comprobacin de
sintaxis se ha ampliado para incluir la compatibilidad Unicode tambin.
Para ejecutar las comprobaciones de sintaxis pertinentes, debe establecer el
atributo de Unicode Check active en el programa (o clase). Este es el ajuste
estndar en los sistemas Unicode.
Si el indicador de Unicode se establece en un programa (o una clase), la
comprobacin de sintaxis y el programa se ejecutan de acuerdo con las reglas
descritas en la ayuda en lnea Unicode. (Esto es independiente de si el sistema
es un Unicode o un sistema no Unicode).
Si el indicador de Unicode no est establecido, el programa slo se puede
ejecutar en un sistema no-Unicode. Para este tipo de programas, los cambios
de sintaxis de la especificacin Unicode no se aplican. Sin embargo, puede
utilizar todas las mejoras del lenguaje introducidas en relacin con la
conversin a Unicode.
El parmetro abap / unicode_check controla la ejecucin de la inspeccin
Unicode durante la comprobacin de sintaxis y al programa ABAP en tiempo de
ejecucin en un sistema no-Unicode.
El parmetro puede tomar los siguientes valores:
On: La inspeccin Unicode se realiza para cada programa ABAP. El sistema se
comporta como si el atributo de programa Unicode Check active se

estableciera para todos los programas ABAP. Esta opcin se utiliza


normalmente para la preparacin de una conversin a Unicode.
Off: La inspeccin Unicode slo se realiza en los programas para los cuales el
atributo de programa Unicode Check active se ha establecido.
A partir de SAP Web Application Server 6.10, puede utilizar la transaccin
UCCHECK para comprobar varios objetos de repositorio para la compatibilidad
con Unicode al mismo tiempo. La transaccin siempre comprueba la versin
del programa activo. Tambin se puede utilizar para aplicar el atributo Unicode
Check active a varios programas (que deben ser programas originales en el
sistema). Sin embargo, slo debe hacer esto con los programas que estn
realmente preparados para Unicode, de lo contrario el programa termina
cuando se ejecuta.

Resumen
Ahora llegamos a la final del
compatibilidad Unicode en ABAP.

tema

procesamiento

de

cadenas

con

Resumen del mdulo


Ahora debera ser capaz de discutir sobre Unicode en ABAP desde una
perspectiva de programacin.

Utilice siempre las ltimas variantes para declaraciones obsoletas. Ayuda en


lnea le apoya aqu.
Programar de forma segura - por ejemplo acceso a componente de
estructuras por componente y evitar acceso por desplazamiento y longitud
a estructuras completas.

Programar en general de una manera compatible con Unicode; lo que significa


que el indicador Unicode Check active se debe poner siempre. Esto ayuda si
cambia su sistema para Unicode ms tarde, sus programas no requieren ms
inspeccin o ajustes.

Parte 3 Control ALV Grid para Web Application Server


6.20 y anteriores.
Acerca de este mdulo
En este mdulo vamos a discutir los pasos para la creacin de un Control ALV
Grid; explicar el propsito del catlogo de campos; describir cmo se
desencadenan los eventos y cmo pueden ser manejados; desarrollar mtodos
adecuados para una tarea e implementar una llamada a un mtodo en un
programa ALV.

Objetivos del mdulo

Creacin de un Control ALV Grid.


Explicar el propsito del catlogo de campos.
Describir cmo se desencadenan los eventos y cmo pueden ser
manejados.
Desarrollar mtodos adecuados para una tarea e implementar una llamada
a un mtodo en un programa ALV.

Contenido del modulo

Control
Control
Control
Control

AVL
AVL
AVL
AVL

Grid:
Grid:
Grid:
Grid:

Creacin.
Catalogo de campos.
Eventos.
Otros Mtodos.

Sobre el tema Control ALV Grid: Creacin


Este tema se esbozar las medidas para la creacin de un control ALV GRID.
Qu hay en ella para m?

Explicar el framework de control de SAP para EnjoyControl; analizar la


generacin y vinculacin de objetos y mostrar los datos en el control ALV
Grid.

Arquitectura del framework de control: Informacin


general

La interfaz grfica de usuario en el sistema SAP se basa en ventanas SAPGUI.


Los cuadros de dilogo del sistema se implementan utilizando dynpros de
programas de aplicacin. Durante el tiempo de ejecucin, se comunican
usando los servicios del sistema de ejecucin.
Tambin puede utilizar los distintos elementos de pantalla previstos en el
Screen Painter en ventanas SAPGUI. Estos elementos de la pantalla adicionales
se conocen como controles que son componentes de software independientes
binarios reutilizables.

A partir de SAP R/3 4.6A, se lleva a cabo la comunicacin para todos los
controles utilizando el framework de Control o CFW.
El framework de control se implementa mediante servicios especiales en el SAP
GUI y el sistema de ejecucin de la aplicacin.

Controles y Dynpros

Para crear una instancia independiente de control, tendr una pantalla y un


control especial EnjoySAP. El control EnjoySAP est conectado a la Dynpro
usando un contenedor de control:

El Dynpro por lo general contiene un rea reservada para el contenedor.


En su programa, se asigna una instancia de la clase de control de
contenedores, a la zona reservada en la pantalla.
La instancia del contendor de control se le asigna la instancia del control
EnjoySAP actual.

Cada control de servidor de presentacin tiene una instancia de representacin


en el Programa ABAP.

Ilustracin grfica de los objetos

Su pantalla es una ilustracin grfica de lo que acabamos de ver. La conexin


de un control EnjoySAP a un Dynpro es un "intercalado" de las zonas en
cuestin:

Un espacio est reservado en la pantalla para mostrar un control.


Un contenedor de control se visualiza en esta rea.
El rea del propio contenedor de control acta como la base para la
visualizacin de un control EnjoySAP, tal como un control ALV Grid.

Creando
el
elemento
personalizado

de

pantalla

de

control

Veamos ahora cmo el screen painter se puede utilizar para crear el rea
reservada para el control EnjoySAP.
Una barra de herramientas similar a la que se muestra aqu ser visible en su
sistema.
Seleccione el icono de control de texto personalizado y utilcelo para
seleccionar esa rea en su pantalla en la que le gustara tener a su rea
reservada.
Usted puede hacer esto mediante la eleccin de las coordenadas de la parte
superior izquierda en la pantalla moviendo el ratn ah, manteniendo
presionado el clic del ratn y arrastrando hacia abajo en diagonal derecha
hasta que su rea est definida. Ahora puede elegir un nombre para esta rea.
Cambiar el tamao siempre es posible.

Creacin de una instancia del contenedor de control:


Flujo del proceso

A continuacin, vamos a ver cmo generar una instancia del contenedor de


control. Hacer esto en su programa en un punto antes de la pantalla en la que
el control EnjoySAP tiene que aparecer. Para ser capaz de crear una instancia
de contenedor de control, tambin se necesita una variable de referencia para
la instancia.
Para hacer que su programa sea ms fcil de seguir, coloque toda la
programacin de control en un mdulo independiente.
Veamos ahora a los pasos individuales.

Sintaxis: Definir una variable de referencia

Veamos ahora alguna sintaxis. Comenzamos con la sintaxis para definir una
variable de referencia. Se requiere una variable de referencia cuando su
programa ABAP utiliza instancias de clases. Los punteros a estas instancias se
generan y se administran en la memoria principal de SAP Web AS system. La
pantalla muestra ejemplo de cdigo. Se genera la variable usando
la
declaracin DATA y la asignacin de un nombre. La adicin TYPE REF TO
significa que el campo puede incluir un puntero a una instancia. Esto es
seguido por el nombre de la clase que puede ser o bien local o se global.

Sintaxis: Crear instancias

Una vez definida la variable de referencia, vamos a ver ahora cmo crear la
instancia.
La declaracin CREATE OBJECT se utiliza para crear una instancia de la clase.
Si esta clase tiene un mtodo con el nombre CONSTRUCTOR, este mtodo se
ejecuta automticamente cuando se genera la instancia.
El mtodo CONSTRUCTOR slo puede tener parmetros IMPORTING y
excepciones como una interfaz.

La interfaz tambin se debe especificar en la declaracin CREATE OBJECT. Al


hacerlo, es necesario asignar valores a todos los parmetros IMPORTING
obligatorios, que no tienen ningn valor por defecto.
El cdigo de ejemplo en la pantalla ilustra esto.

Ejemplo: Creacin de una instancia de contenedor de


control.

A continuacin, vamos a ver cmo crear una instancia de contenedor de


control.
Para crear una variable de referencia para la instancia del contenedor de
control, usar DATA para crear una variable que se especifica utilizando TYPE
REF TO.
Para generar una instancia del contenedor de control en el servidor de
presentacin, utilice la sentencia ABAP CREATE OBJECT. Esto genera una
instancia de la clase como un objeto representativo.
Al utilizar el parmetro IMPORTING, puede transferir el nombre de la zona
reservada para el control, en la pantalla.

Insercin CREATE OBJECT por Pattern

A continuacin, vamos a ver cmo crear un objeto por el patrn.


En la pantalla inicial Insertar Declaracin, elija la opcin ABAP Objects
Patterns.
En la siguiente pantalla, seleccione la opcin Crear objeto.
Ahora, especifique la variable de referencia para el objeto que se crear en
Instancia, y la clase del objeto que se crear en la clase.

Insercin CREATE OBJECT por Drag and Drop

La actividad que acabamos de ver se puede tambin hacer con la funcin de


drag and drop de Workbench ABAP.
Se puede visualizar la clase global en el rea de navegacin y la transferencia
a la zona de edicin utilizando drag and drop.
La declaracin ABAP CREATE OBJECT, incluyendo los parmetros de la interfaz
y excepciones, se insertar en la posicin actual del cursor en el cdigo fuente
del programa.

Evitar la generacin mltiple de los controles

Si empaqueta el procesamiento especfico de control en un mdulo PBO, es


necesario asegurarse de que una instancia nica se genera la primera vez que
el Dynpro se llama. De lo contrario existe el peligro de que un nuevo objeto se
genere cada vez que se procesa la Dynpro:

El contenedor de pantalla por lo general tiene de forma esttica la


siguiente pantalla.
Cada accin en la pantalla que desencadena un PAI (por ejemplo,
ENTER) significa que el Dynpro se procesa de nuevo despus de que un
PAI ha sido procesado.
Usted puede detener instancias no deseadas que se creen mediante la
solicitud de los contenidos iniciales para el contenedor de referencia.

Crear una instancia del control EnjoySAP: Flujo del


proceso

Para generar una instancia del control ALV Grid,, usted sigue un procedimiento
similar al utilizado para la instancia del contenedor de control. La instancia del
control ALV Grid debe crearse despus de la instancia del contenedor de
control, pero antes de que la ventana de SAPGUI se enva al servidor de
presentacin.

Creacin de una instancia ALV Grid

Una variable de referencia tiene que ser declarada para crear una instancia del
Control ALV Grid. La imagen de la pantalla muestra un cdigo de ejemplo para
esto y tambin la posicin en la que el cdigo entra en juego.
Como se puede ver la instancia del Control ALV Grid est conectado al
contenedor y, por tanto, al contenedor de pantalla utilizando la referencia de
objeto pasado en la interfaz.

Resultado: Pantalla, Contenedor y Control ALV Grid

Si ha completado todos los procesos definidos en las diapositivas anteriores,


entonces usted ha creado con xito un control AVL GRID como un elemento de
la pantalla.
Actualmente, slo el marco es visible en la ventana de SAPGUI cuando los
controles no muestran nada. Para los datos que se mostrarn, usted tiene que
proporcionar los controles de servidor de presentacin con datos.

Liberar instancias de control

Los recursos que ocupa el control en el servidor de presentacin se liberan


automticamente al final del programa por defecto. Sin embargo, tambin
puede liberar explcitamente los recursos, mediante una llamada de la
instancia del mtodo free. El ejemplo del curso muestra en la pantalla cmo
hacer esto. Se recomienda que usted libere recursos no deseados para que se
liberen de la memoria de trabajo cuando el recolector de basura se ejecuta.

La instancia del proxy del Control ALV Grid

En el servidor de presentacin, una instancia representativa de la clase,


empaqueta los detalles tcnicos de la comunicacin con la instancia del Control
ALV Grid.
La instancia representativa tambin se comunica con otros dos socios:
Los programas ABAP como usuario.
El sistema spool o de impresin para enviar los datos como una lista de
impresin ABAP.
La comunicacin entre el programa ABAP - instancia representativa Control
ALV Grid en el servidor de presentacin, se lleva a cabo de forma interactiva en
tiempo de ejecucin.
Las funciones estndar interactivas que se ofrecen para la salida de la pantalla
y la generacin de la lista de impresin ABAP tambin se implementan en la
clase.
Por otra parte, cualquier informacin que no es parte de la instancia
representativa deber ser proporcionada por el programa de llamada como
objetos especiales de datos.

Retencin de datos para la lista

Veamos ahora cunto tiempo van a ser retenidos los datos.


Los datos que usted desea que se muestren, se debe pasar al objeto
representativo como una tabla interna.
Despus de eso, la instancia representativa no tiene una copia de los datos,
sino que maneja slo una referencia a lo pasado a tabla interna. De ah que las
acciones de la instancia en el servidor de presentaciones son realizadas por la
instancia representativa de la tabla interna en el programa de llamada.
Esto significa que, el periodo de retencin de la tabla interna que contiene los
datos de la lista, debe ser al menos tan largo como el perodo de retencin de
la instancia representativa.

Informacin adicional en detalle

Los tipos de datos globales especificados pueden ser utilizados para definir los
objetos de datos en el programa de llamada. De esta manera, la informacin
adicional se puede pasar a la instancia representativa.
Puede pasar la configuracin de pantalla para el rea de datos utilizando
una estructura. Tambin puede utilizar una tabla interna para ocultar
funciones de la barra de herramientas de la aplicacin.
Puede controlar las propiedades de salida de la lista de impresin
mediante una estructura.
Puede usar las tablas internas para pasar informacin sobre los criterios
de ordenacin y las opciones de filtro.
Por lo general, los filtros y criterios de ordenacin no se crean de forma manual
ya que estos se pueden cambiar de forma interactiva por el usuario. La
instancia representativa cambia automticamente las tablas de control interno
asociados a las interacciones del usuario. Ordenar y filtrar los criterios son
generalmente tramitadas como elementos de variantes de visualizacin.

Pasando lista de datos e informacin adicional

Ahora vamos a ver la forma de pasar lista de datos e informacin adicional.


El mtodo set_table_for_first_display puede ser utilizado para pasar los datos
de la lista, el catlogo de campos, y otra informacin adicional a la instancia
representativa.
Puede pasar los datos de la lista que se mostrarn mediante el parmetro
it_outtab.
Si pasa el nombre de un tipo de estructura global para el parmetro
i_structure_name, la instancia representativa genera automticamente el
catlogo campo correspondiente.
Los parmetros is_variants y i_save se utilizan para establecer las opciones de
configuracin de las variantes de visualizacin para el usuario. Usted puede
utilizar el parmetro i_default establecer una variante de visualizacin
existente como la variante inicial. Puede pasar valores por defecto para el
control y la lista de impresin de salida utilizando los parmetros is_layout y
is_print. Los nombres de los grupos de campos definidos en el catlogo de
campos se transmiten utilizando el parmetro it_special_groups. Puede utilizar
el parmetro it_toolbar_excluding para pasar los nombres de las funciones
estndar de la barra de herramientas de aplicaciones que se van a ocultar. Si
desea cambiar el catlogo de campo creado automticamente o crear

completamente uno nuevo, tiene que pasar una tabla interna correspondiente
al parmetro it_fieldcatalog. Puede pasar configuracin predeterminada para
filtrar y ordenar los datos que se mostrarn mediante los parmetros it_filter y
it_sort.

Prestacin mnima

Puede utilizar varios parmetros para pasar la informacin para el formato. La


variante ms simple es vincular el parmetro i_structure_nam a una estructura
del Diccionario del mismo tipo. El parmetro it_outtab para la tabla interna que
contiene los datos de visualizacin es obligatorio.

Insercin CALL METHOD por Pattern

Usted puede utilizar la funcin de drag and drop o el ABAP Objects pattern para
implementar una llamada a un mtodo de una clase global. El mtodo para
crear la declaracin CALL METHOD con el ABAP Objects pattern se describe a
continuacin:
En la pantalla inicial Insertar Declaracin, elija la opcin Objetos ABAP Pattern.
En la siguiente pantalla, seleccione la opcin Call Method. Especificar:
Por ejemplo: la variable de referencia para el objeto para el que el
mtodo se va a utilizar.
Para la clase / interfaz: la clase del objeto (en este ejemplo,
cl_gui_alv_grid).
Para el mtodo: los nombres de los mtodos (en este ejemplo,
set_table_for_first_display).
La declaracin CALL METHOD, incluyendo todos los parmetros y excepciones,
se inserta entonces en la posicin del cursor en el cdigo fuente de ABAP. Los
parmetros opcionales y excepciones se insertan como comentarios.

Insercin de CALL METHOD con Drag and Drop

Se puede visualizar la clase global en el rea de navegacin del Workbench


ABAP utilizando drag & drop; y arrastre el mtodo en el rea de edicin
manteniendo pulsado el botn izquierdo del ratn.
La sentencia ABAP CALL METHOD, incluyendo los parmetros de la interfaz y
excepciones, se insertar en la posicin actual del cursor en el cdigo fuente
del programa. Los parmetros opcionales y excepciones se insertan como
comentarios.

La actualizacin de la pantalla

Con el fin de actualizar la pantalla, puede utilizar el mtodo


refresh_table_display para impulsar la instancia representativa para enviar los
datos de la lista y, si es necesario, tambin la informacin adicional a la
instancia en el servidor de presentacin de nuevo.
Usted puede utilizar el parmetro i_soft_refresh para especificar que slo el
contenido de datos se han de pasar otra vez, manteniendo el filtro actual y
ordenando criterios puede utilizar la fila y columna de una estructura del tipo
de datos global lvc_s_stbl para especificar que las posibles posiciones de
desplazamiento con lo que respecta a las filas o columnas se conservan al
actualizar. Aprobar la estructura llena correspondiente al parmetro is_stable.
Pero tenga en cuenta que si se cambia la estructura de fila de la tabla de
datos, es necesario llamar al mtodo set_table_for_first_display de nuevo, ya
que el catlogo de campos debe ser creado de nuevo.

Resumen
Ahora llegamos a la final del tema Control ALV Grid: Creacin.

Sobre el tema Control ALV Grid: Catlogo Campo

El catlogo de campos es una descripcin de formato del rea de visualizacin


para los datos. Este tema le explicar el propsito del catlogo de campos y
cmo agregar columnas al Control ALV Grid, o cambiar columnas de la ALV.

Qu hay en ella para m?


Explica el propsito del catlogo de campos.
Describe cmo agregar columnas al Control ALV Grid, o cambiar columnas de la
ALV.

Control ALV Grid: Catlogo Campo

El catlogo de campos es una descripcin de formato del rea de visualizacin


para los datos. Esto es especialmente til cuando se necesita actualizar el ALV
con informacin fresca. El catlogo de campo permite la visualizacin de los
datos actualizados, ya sea en pantalla o en una lista de impresin.

Funcin del Catlogo de Campo

La tabla interna puede tener un tipo de fila de libre eleccin. Por los datos que
se muestran ya sea en pantalla o en una lista de impresin, se requiere un
catlogo de campos. Este contiene informacin correspondiente a cada fila de
la tabla.
El Catlogo de campo puede ser generado automticamente por la instancia
representativa. Cuando los tipos de fila se han definido en el diccionario ABAP,
slo tiene que pasar los nombres respectivos de la instancia representativa.
Tambin se puede pasar esta informacin de la pantalla en la instancia
representativa mediante el uso de una tabla interna adicional. Esta tabla
adicional es el catlogo de campos. El tipo de datos global de esta tabla interna
es LVC_T_FCAT. Su tipo de fila se llama LVC_S_FCAT.
Cada columna de la tabla de datos que no ha sido definida en el diccionario
ABAP, o tiene una estructura de forma diferente que se define en el diccionario,
necesita una fila en el catlogo de campos. Esta fila debe contener las
propiedades tcnicas y otra informacin de formato para la columna.

Opciones para la Creacin de un Grid

Dependiendo del tipo de fila utilizado para la tabla de datos, el catlogos de


campo se generan de manera diferente. Pueden ocurrir tres tipos de
situaciones:
Caso 1: Usted puede tener el catlogo Campo generado automticamente por
la instancia representativa pasando el nombre del tipo de estructura global. No
se muestran las columnas de la tabla de datos que no estn definidos en el tipo
de estructura global.
Caso 2: A pesar de que todos los campos de una estructura global se presentan
en la tabla de datos con los mismos nombres, se pueden requerir realizar
ajustes. Como por ejemplo, a las especificaciones del Diccionario ABAP o
columnas adicionales que van a salir, o ambos. En este caso, es necesario
crear filas en el catlogo de campos para las columnas que van a cambiar o
aadir.
Caso 3: El tipo de fila de la tabla de datos no contiene ninguna referencia al
Diccionario ABAP, o slo a campos de estructura global individuales o
elementos de datos. En este caso, el catlogo de campos necesita ser
completamente creado por el programa de llamada.

Descripcin general de la estructura del Catlogo de


Campo

La situacin que se muestra aqu es pertinente para los casos dos y tres que
acabamos de discutir.
En primer lugar, se crea un catlogo de campos en el programa de llamada. A
continuacin, asigne el nombre de una columna de la tabla de datos para el
nombre del campo. Este campo asigna una fila en el catlogo de campos a una
columna de la tabla de datos.
Los otros campos del catlogo de campos se pueden dividir en dos grupos con
respecto a su uso en la creacin de un catlogo de campo:
Las referencias a los tipos globales (es decir, campos de la estructura en
el Diccionario ABAP) se crean usando los campos ref_field y ref_table.
Todos los dems campos del catlogo de campos contienen valores para
las propiedades de las columnas.

Si asigna valores a los campos ref_table y, si es necesario, ref_field, todas las


definiciones de tipos se transfieren desde los campos de estructura
especificados en el Diccionario ABAP. Se puede escribir sobre ellos mediante la
asignacin de valores a los campos individuales de este ltimo grupo.

Asignacin de
Diccionario

tipos

de

columnas

con

referencias

La columna de nombre de campo en el catlogo contiene el nombre de


columna de la tabla de datos. Como se puede ver en el ejemplo de la pantalla,
cada columna de la tabla de datos para el que desea controlar el formato debe
tener una fila en el catlogo de campos.
Si desea hacer referencia a un campo de una estructura global con el mismo
nombre, asigne el nombre de la estructura a la ref_table campo.
Pero, si el nombre de columna de la tabla de datos y el nombre del campo de la
estructura son diferentes, es necesario agregar el nombre del campo al campo
ref_field.

Ejemplo: Agregar y cambiar las columnas (1)

La tabla de datos se compone de campos (columnas) de la SBOOK tipo y otros


dos campos. Es necesario describir estos en el catlogo de campos, junto a la
columna que puede ser escondida.

Ejemplo: Agregar y cambiar las columnas (2)

En este ejemplo se muestra una descripcin de campo semi-automtica. Parte


de la descripcin del campo proviene de la estructura de diccionario (SBOOK),
mientras que otra parte se define explcitamente en el catlogo de campos
(it_fieldcat).
El catlogo de campos (cuadro interior) se llena en el programa y se transmite
junto con el nombre de la estructura de diccionario durante la llamada al
mtodo. La informacin se combina en consecuencia en el mtodo
set_table_for_first_display. Tenga en cuenta que los campos de la tabla de datos
it_sbook que no se pueden leer de la tabla SBOOK tambin tienen que ser
llenado de manera significativa.
Siempre revise la consistencia si est construyendo el catlogo de campos
semi-automtica o manualmente.

Asignar un tipo a una columna sin referencia a una


estructura del Dictionary

Si usted no ha llenado ya sea el campo ref_field o la ref_table, no hay una


referencia adecuada para el Diccionario ABAP. En este caso, los campos que se
muestran aqu le permiten formatear las columnas pertinentes para la salida.
Usando rollname, puede especificar el elemento de datos que se utiliza para la
ayuda F1 y el texto de los encabezados de las columnas, pantallas de seleccin
y texto quick info (si no est ya establecido explcitamente).

Formateando
Unidades

Cantidades

apropiadamente

para

las

Si el contenido de una columna debe tener el formato de acuerdo con las


opciones de formato de una unidad monetaria que se especifica en otra
columna de la tabla de datos, especifique el nombre de esta columna en
el campo cfieldname.
Si todos los valores de una columna deben tener el formato de acuerdo
con una determinada moneda, especifique la abreviatura de moneda
correspondiente en la columna de la moneda.
Si el campo de moneda tiene un valor, se ignoran las entradas en la
cfieldname.
Si el contenido de una columna debe tener el formato de acuerdo con las
opciones de formato de una unidad que se especifica en otra columna de
la tabla de datos, especifique el nombre de esta columna en el campo
qfieldname. Este es el formato en trminos de cantidad.
Si todos los valores de una columna deben tener el formato de acuerdo
con una unidad en particular, especificar la abreviatura unidad
correspondiente en la columna de la cantidad.
Si el campo de cantidad tiene un valor, se ignoran las entradas en la
qfieldname.

Ejemplo: El formato adecuado para las columnas de


moneda

En la pantalla se puede ver que la tabla de datos contiene las dos columnas: la
de los precios, por ejemplo, el costo de un asiento de vuelo); y la moneda en la
que se realice el pago. Al hacer el registro "CURRENCY" en el campo
cfieldname para la columna de precio, a determinar que sus contenidos han de
ser formateado de acuerdo con la moneda especificada en la columna de la
moneda.

Propiedades de salida de una columna

Para calcular la posicin de la columna, las columnas ocultas necesitan ser


tomadas en cuenta, pero no las excepciones. Sin posicionamiento explcito, los
campos que se agregan manualmente al catlogo de campo se colocan delante
de los otros campos de la tabla de datos.
Las excepciones siempre se muestran en la primera columna.
Para poner de relieve con un color predeterminado, establezca el campo
EMPHASIZE en "X". De otro modo puede definir el color usted mismo pasando
un cdigo numrico de cuatro dgitos, de acuerdo con la convencin.
El campo "no output" se oculta en la lista (pantalla o impresin), pero aparece
en los cuadros de dilogo de seleccin de campos de las funciones estndar
(ordenar, filtrar, y as sucesivamente).

Formateando Propiedades del Contenido de Columna

Similar a las opciones de formato para campos de moneda, puede utilizar los
dos campos, decmlfield y decimals_o, para definir el nmero de decimales para
el contenido numrico.
Adems, si desea la salida de una columna como un icono, establezca el
campo icono de la estructura layout a "X".
Si desea la salida de una columna como un smbolo, establezca el campo
smbolo de la estructura layout a "X".

Textos

Si una columna no tiene ninguna referencia al Diccionario ABAP, o si se quiere


definir de manera explcita o anular un texto, a continuacin, puede realizar
entradas en los campos enumerados aqu.
Usted puede utilizar el valor asignado al campo colddictxt para determinar cul
de los cuatro datos textos de elementos son para ser utilizado como la
cabecera de la columna. Estos textos se encuentran en los campos, scrtext_s
scrtext_l scrtext_m y reptext. Si colddictxt tiene un valor inicial, el texto del
campo coltext se establece como el encabezado de la columna.
Si coltext tambin tiene un valor inicial, un texto apropiado se utiliza
automticamente a partir de los cuatro textos de elementos de datos,
dependiendo de la anchura de la columna.
En las pantallas de seleccin, los textos tienen cierta prioridad. La entrada en
el campo seltext tiene la mxima prioridad. Si no lo tiene, se utiliza el ms
largo de los cuatro textos de elementos de datos. Si no existe ninguno de estos
cuatro textos, se utiliza el contenido de la descripcin de campo, o finalmente,

el propio nombre de campo. En tooltip, establezca el texto que se muestra


cuando se pasa el cursor del ratn sobre la cabecera de la columna.

Otras propiedades de una columna

Adems de las propiedades que hemos visto hasta ahora, hay otras
propiedades que se pueden atribuir a una columna.
Utilice el campo sp_group para combinar varios campos en un grupo mediante
una tecla de grupo. Esto es til cuando se desea mostrar todas las columnas o
slo los de un grupo especfico.

Resumen

Ahora llegamos a la final del tema ALV cuadrcula del control: Catlogo de
Campo.

Sobre el tema Control ALV Grid: Eventos


En este tema se describen cmo se desencadenan los eventos y como se
manejan. Asimismo, describe estos eventos y los mtodos de control de
eventos, para los posibles eventos que pueden ocurrir.
Qu hay en ella para m?
Describe cmo los eventos se desencadenan y cmo pueden ser manejados;
enumera los eventos adecuados para una determinada tarea; explica cmo
crear y registrar un mtodo de control de eventos; discute la adicin de
funciones de clientes a la barra de herramientas; y define un mtodo de
controlador de eventos de la lista de impresin, como TOP-OF-PAGE.

Arquitectura Framework de control: Recapitulacin

En el Sistema R/3 de SAP, la interfaz grfica de usuario se basa en las ventanas


de SAP GUI. Cada dilogo de usuario en el sistema se implementa utilizando

Dynpros de programas de aplicacin. La comunicacin entre el programa de


aplicacin y la Dynpro en tiempo de ejecucin se lleva a cabo utilizando los
distintos servicios del sistema de ejecucin como el procesador y el procesador
Dynpro ABAP.
Desde SAP R/3 4.5, tambin puede utilizar los distintos elementos de pantalla
previstos en el Screen Painter en ventanas GUI de SAP. Estos elementos de la
pantalla adicionales, conocidos como controles, son componentes de software
binarios independientes que son reutilizables.

Controles y objetos ABAP

Cada control EnjoySAP, con el que un programa de aplicacin se comunica,


representa un objeto en el servidor de presentacin. Por lo tanto, la
comunicacin con las instancias es a travs de las llamadas y los eventos de
los objetos a mtodos.
Hay clases representativas o clases de proxy en la biblioteca de clases, para
todos los controles EnjoySAP que acceden al framework de control. Estos se
conocen como control Wrappers.
Cuando se utiliza un control EnjoySAP en un programa ABAP, en realidad hay
dos objetos involucrados: un ejemplo en el programa ABAP, y una instancia del
control en el servidor de presentacin.
El programa ABAP siempre se comunica slo con el objeto representativo. El
objeto representativo realiza las operaciones asociadas a las instancias del

servidor de presentacin, utilizando el CFW. Las acciones que vienen del


control de servidor de presentacin se envan al objeto representativo
mediante el CFW. El objeto representativo pondr en comunicacin con el
programa ABAP.

Eventos del control: Introduccin

En esta diapositiva se le da una visin general de cmo se desencadena y


manejado un evento.
Cuando un evento se pasa a un control de servidor de presentacin, una gama
de niveles asociados estn involucrados:
SAP GUI / Automation Controller: El evento activado por el control de servidor
de presentacin es recibida por el controlador de automatizacin en el SAP GUI.
El controlador de automatizacin reenva la informacin sobre un evento para
la base de Servicios del sistema de tiempo de ejecucin como un cdigo de
funcin especial. Los servicios bsicos reenva la informacin al objeto de
representacin en el programa ABAP. El objeto de representacin en el
programa ABAP entonces activa un evento como ABAP Objects, informando as
a los componentes registrados para el evento. Estos componentes luego
controlan el evento con un mtodo de control apropiado.

Procesamiento de Eventos de Objetos ABAP

Vamos a ver cmo se procesan los eventos de objeto ABAP.


Un objeto puede anunciar que su estado ha cambiado mediante la activacin
de un evento, o puede contener mtodos de controlador que se ejecutan
cuando se produce el evento.
Para los mtodos de controlador de las instancias que se ejecutan, estos casos
tienen que ser introducidos en una lista de los objetos que pueden
desencadenar el evento.
En el momento en que se activa el evento, un Basis Service y luego se asegura
de que los mtodos registrados se ejecutan.
A diferencia de las llamadas a mtodos explcitos en que la persona que llama
tiene el control y sabe el mtodo de llamada, el disparador del evento no se
sabe quin va a controlar el evento en este caso. Esto se aplica tanto cuando el
evento se define y cuando el evento se produce en tiempo de ejecucin.

Eventos del Control ALV Grid

El

Control ALV Grid tiene un gran nmero de eventos:


El evento se dispara despus de un doble clic.
Estos eventos se desencadenan con la salida de la lista de impresin.
Este evento se desencadena en los cdigos de funcin auto-definidas como
sus propios botones en la barra de herramientas o el men de contexto.
Esto le permite implementar sus propias funciones.

Sintaxis: Mtodo controlador para un evento

Cualquier clase puede contener mtodos de controlador de eventos de otras


clases.
Mtodos de control de eventos requieren la adicin FOR EVENT <event_name>
OF <class_name> en la parte de definicin. Especifica que este mtodo puede
reaccionar a eventos <event_name> de instancias de la clase <class_name>.
La interfaz de un mtodo de control de eventos slo puede contener
parmetros formales que se definieron cuando se define el evento
correspondiente. Las propiedades de los parmetros tambin se toman del
evento. Sin embargo, el mtodo de control de eventos no tiene que aceptar
todos los parmetros pasados en la declaracin RAISE EVENT.
Los eventos siempre tienen un parmetro implcito denominado sender, que
tambin puede recibir listando en la adicin IMPORTING. Este parmetro
permite manejadores de instancia de eventos, para acceder al trigger.

Eventos Control ALV Grid a travs de operaciones del


mouse

Veamos ahora algunos sucesos de operacin del mouse.


Si el usuario hace "doble clic" de la zona de datos del rea de datos, el evento
DOUBLE_CLICK se activa en el programa de llamada. Los parmetros de
exportacin es_row_no y e_column contienen informacin acerca de la tabla de
datos. Usted puede encontrar el nmero de la fila de la tabla interna a la que
se le dio "doble clic" en el rea de datos, campo row_id. En nombre de campo,
se puede encontrar el nombre de la columna de la tabla interna a la que se le
dio "doble clic" en el rea de datos.
Si una columna se ha identificado como un punto de acceso, el evento
hotspot_click se activa en el programa de llamada cuando un usuario hace clic
con el mouse en el rea de datos.

Sintaxis Ejemplo: Handler como clase mtodo

Un mtodo de control puede ser un mtodo esttico de una clase local o un


mtodo de instancia de un objeto. La diferencia significativa es que, en el
mtodo de instancia, no es necesario crear una instancia de un objeto de la
clase local para utilizar el mtodo.
Para crear un objeto de controlador para un evento, es primero necesario
definir una clase local. Despus de definir la clase, tiene que implementarlo.
Puede almacenar el cdigo fuente que se va a ejecutar cuando se activa el
evento, dentro de la ejecucin del mtodo de controlador.
El mtodo, recibe la informacin proporcionada por el evento acerca de la
posicin del ratn en el doble clic, y genera un mensaje de informacin.

Sintaxis Ejemplo: Handler como Mtodos de instancia

Un mtodo de control puede ser un mtodo de clase (mtodo esttico de una


clase local) o un mtodo de instancia de un objeto.
Para generar un mtodo de instancia, utilice la sentencia MTODOS al definir la
clase.
Implementar el mtodo exactamente de la misma manera que el mtodo de la
clase.
Crear una variable de referencia con respecto a la clase local.
Y por ltimo, generar un objeto correspondiente.

Vincular la instancia representativa y el mtodo de


control

Para un mtodo de control de eventos reaccione ante un evento provocado,


debe definir en tiempo de ejecucin el trigger a la que se debe reaccionar. La
sentencia SET HANDLER une una lista de mtodos de controlador con los
activadores de eventos.
En el ejemplo anterior, la esttica (cross-instance) mtodo on_double_click de
la clase lcl_event_handler se va a llamar si la instancia a la que la referencia de
objeto ALV se refiere desencadena evento DOUBLE_CLICK. Este es un mtodo
esttico para la manipulacin.

Evento en la Creacin de la barra de herramientas de


aplicaciones

Antes de que la barra de herramientas estndar este integrada en el Control


ALV Grid, la instancia representativa desencadena el evento de la barra de
herramientas. Durante el tiempo de vida de la instancia representativa, puede
dar lugar a una activacin adicional de este evento mediante una llamada al
mtodo set_toolbar_interactive.

La extensin de la barra de herramientas estndar

El evento barra de herramientas tiene un puntero a una instancia de la clase


cl_alv_event_tool-bar_set como parmetro de exportacin. Esta instancia de
una barra de herramientas contiene, a su vez, el atributo pblico mt_toolbar.
Esta es una tabla interna con el tipo de fila stb_button. Por lo tanto, tiene que
llenar esta tabla interna en el mtodo de control para aadir botones
adicionales u otros elementos.
Si el usuario elige un elemento del tipo "1" o "2", la instancia representativa
desencadena el evento menu_button con el parmetro e_object de la clase
cl_ctmenu. Por lo tanto, para agregar un men a la barra de herramientas,
tambin es necesario implementar un mtodo de control en el que se crea el
men de la misma manera como un men contextual. Se puede diferenciar
entre varios mens mediante la consulta del cdigo de funcin.

Manejo de una funcin

Si el usuario elige un elemento de la funcin que se ha aadido a la barra de


herramientas estndar, la instancia representativa desencadena el evento
user_command. Este contiene el cdigo de funcin que el parmetro de
exportacin e_ucomm.
Para manejar la funcin adicional, es necesario implementar un mtodo
controlador de este evento. Se puede diferenciar entre los elementos de
funcin mediante la consulta del cdigo de funcin.

Layout: Los botones de la Lnea de lista

Hay dos formas de mostrar un campo en la ALV Grid como un botn:


Este atributo se especifica para una columna completa en el catlogo de
campos (utilizando el estilo de parmetro).
Especifique para los campos individuales. Para ello, agregue una tabla
interna del tipo lvc_t_styl a la estructura de datos, en el que se defina para
cada registro de datos que los campos del registro de datos se van a
mostrar como un botn.
En el ejemplo anterior, un campo independiente (display_bookings) ha sido
definido por la estructura wa_sflight, en la que aparece un botn o no se
muestra, en funcin de otros datos. (Usted puede, sin embargo, tambin
utilizar los campos existentes de la estructura de datos, siempre y cuando no
tengan F4 ayuda.)
Una entrada para cada campo que se representa como un botn se crea en la
tabla interna del tipo lvc_t_styl (en este ejemplo: ct). El nombre del campo de
salida se especifica con fieldname, la clase constante cl_gui_alv_grid ->
mc_style_button se especifica con estilo.
Por ltimo, el nombre de la tabla interna del tipo lvc_t_styl que contiene la
informacin acerca de los botones se especifica en la estructuracin diseo.

Controlar el evento Button_Click

Si un usuario pulsa un botn en una celda, esto desencadena el evento


button_click. El evento devuelve la fila y la columna del clic de botn. Un
mtodo de control asociado podra ser, por ejemplo, implementar una pantalla
de detalles dependiente del contexto como una reaccin.

Evento Lista de Impresin

La lista de impresin generada automticamente por la instancia


representativa puede ser prorrogada por el programa de llamada. Usar los
eventos anteriores para hacer esto. Mediante el uso de estos eventos, se
puede implementar los mismos pasos del proceso lgico que son familiares del
layout lista ABAP "clsico". As, en los mtodos de control de eventos que se
implementarn, puede utilizar las declaraciones habituales de lista de salida
ABAP, as como sus muchas adiciones (write, skip, uline, entre otros). Tambin
puede utilizar el evento subtotal_text para definir textos adicionales para los
subtotales travs de las columnas, cuya produccin ha sido suprimida. Para
obtener ms informacin, consulte la documentacin en lnea.

Lista de impresin: Salto de pgina para Cambio de


Grupo (1)

Para tener un salto de pgina en un cambio de nivel de control en la lista de


impresin, primero deber configurar un indicador en la estructura de
impresin que el usuario puede formatear el cambio de nivel de control en la
lista de impresin. Esto es controlado por el campo grpchgedit del parmetro
de transferencia is_print (estructura de tipo lvc_s_prnt). Esta es la tarea del
programador. El usuario programa el orden en el ALV Grid o en la lista de
impresin por los campos para los que l o ella quieren procesamiento grupal.

Lista de impresin: Salto de pgina para Cambio de


Grupo (2)

En la lista de impresin (visualizacin de la lista), el usuario llama al cuadro de


dilogo "Definir Orden de Clasificacin". Esto se hace seleccionando el botn
Ordenar sin seleccionar primero una columna. Los criterios en el campo de CB
se pueden establecer para salto de pgina, subrayado, o sin formato.
La solucin que se presenta slo funciona en modo interactivo, no en el
proceso de fondo. Para el procesamiento de fondo, es necesario especificar la
configuracin de un orden y de formato de nivel de control en el parmetro
it_sort del mtodo et_table_for_first_display. Para ello, asigne * o UL al campo
GRUPO en it_sort.

Mostrar la informacin durante la lista de impresin

La imagen en la pantalla muestra la estructura de tipo global que se utiliza


para hacer ajustes a la lista de impresin.
Los ajustes incluyen
Visualizacin en la pantalla antes de imprimir. Si se asigna el valor "X" en
el campo de impresin, puede utilizar el control ALV Grid para imprimir
sin mostrar primero la lista en la pantalla.
Nmero de filas para el pie de pgina.
Formato de cambio de nivel de control.
Informacin de la lista de impresin. Si se asigna el valor de X, la
informacin sobre el orden de clasificacin, los totales y los filtros
definidos se imprimen, junto con estadsticas de los datos, en el inicio de
la lista.
Tiempo de impresin como ttulo. Especifica la hora a la que el ttulo del
Grid se va a imprimir y sin optimizacin de columna. Si X, ocurre una
optimizacin sin ancho de columna.

Resumen
Ahora llegamos a la final del tema Control ALV Grid: Eventos.

Sobre el tema Control ALV Grid: Otros Mtodos


En este tema, aprender cmo desarrollar mtodos adecuados para una tarea
y tambin implementar una llamada al mtodo en un programa de ALV.
Qu hay en ella para m?
Explica el desarrollo de mtodos adecuados para una tarea
implementacin de una llamada a un mtodo en un programa de ALV.

la

Informacin sobre Mtodos

Hay varios mtodos con los que se implementa una tarea. Ya se han discutido
los mtodos constructor, set_table_for_first_display y refresh_table_display. El
mtodo set_toolbar_interactive activa el evento barra de herramientas. Si
desea ampliar la barra de herramientas para incluir sus propias funciones,
utilice este mtodo para la construccin de la barra de herramientas de nuevo.
El mtodo set_user_command te da la oportunidad de reemplazar las funciones
estndar del Control ALV Grid con funciones propias. Para ello, debe consultar
el cdigo de la funcin actual durante el evento before_user_command y
cambiarlo usando set_user_command.
Determinar por s mismo qu mtodos estn disponibles para la solucin
de un problema.
Familiarizarse con la interfaz del mtodo seleccionado.
Aadir la llamada al mtodo mediante drag & drop o utilizando ABAP
Objects Pattern.

Ejemplo de programacin: Celda actual

En este ejemplo vemos que, para aplicar una funcin de auto-definido, es


necesario determinar la celda actual

Ejemplo de programacin: El reemplazo de funciones


estndar

En este ejemplo se ve cmo una funcin estndar de la ALV Grid est sustituida
por la funcin definida por el usuario.

Resumen
Ahora llegamos a la final del tema Control ALV Grid: Otros Mtodos.

Resumen del mdulo


Despus de haber completado este mdulo, ahora debera ser capaz de
discutir los pasos para la creacin de un Control ALV Grid; explicar el propsito
del catlogo de campos; describen cmo se desencadenan los eventos y cmo
pueden ser manejados; desarrollar mtodos adecuados para una tarea y poner
en prctica una llamada a un mtodo en un programa de ALV.

You might also like