You are on page 1of 33

MODULPOOL.

Programacin con Dynpros

1-33

Leccin 1 Estructura de la programacin de dilogo

Para crear una pantalla se deben seguir los siguientes pasos: Definir las caractersticas bsicas de una pantalla (atributos de pantalla) Disear el formato de pantalla (en el editor fullscreen) Definir los atributos de campos (lista de campos) Escribir el flujo de pantalla (lgica de flujo)

Los componentes ms importantes del programa ABAP/4 se encuentran en los siguientes objetos: Datos globales o estructuras de Diccionario en el programa "Top Include" (declaraciones de datos) Mdulo PBO (Proceso antes de presentar pantalla) Mdulo PAI (Proceso despus de entrada de datos) Subrutinas (solo s son requeridas).
2-33

MODULPOOL. Programacin con Dynpros

Leccin 2 Componentes de la programacin de dilogo

El Screen Painter y el Menu Painter se utilizan para crear y disear plantillas de pantalla y programas de pantalla. El procesamiento lgico de las pantallas se define en un programa ABAP/4 (conocido como module pool). Para crear una transaccin, ser necesaria la generacin de una serie de objetos de desarrollo. Cada transaccin puede dividirse en varias pantallas, cada una de las cuales puede utilizar distintos mens y todo ello controlado por un programa en ABAP/4 denominado Module Pool, que controla el flujo de la transaccin y realiza las acciones necesarias para cumplir la funcionalidad de la transaccin. Por lo tanto los pasos a seguir para el desarrollo de transacciones ser:

1 2

Crear el programa ABAP/4 (Module Pool). Definir las pantallas que intervienen en la transaccin con el Screen Painter.

Especificar los datos que aparecen en pantalla y de que forma, y especificar adems una lgica de proceso para cada pantalla.

MODULPOOL. Programacin con Dynpros

3-33

4 5

Definir los mens con el Men Painter. Especificar el contenido de los mens Pop-up, las teclas de funcin y los botones de comandos que se pueden utilizar.

6 7

Definir el Flujo de pantallas en el Module Pool. Programar, en el Module Pool, los mdulos de cada pantalla, es decir lo que debe hacer cada pantalla. Las acciones se han de programar en el PBO (Process Before Output), antes de que aparezcan los datos de la pantalla y en el PAI (Process After Input), despus de que se hayan introducido los datos en los campos de entrada.

Crear el cdigo de transaccin.

Segundo botn del ratn Create Transaction

MODULPOOL. Programacin con Dynpros

4-33

Hay que indicar: el tipo de transaccin, la descripcin de la transaccin, el nombre del programa ABAP/4 (Module Pool), el nmero de la primera pantalla, y opcionalmente un objeto de verificacin para ejecutar la transaccin.

Las estructuras de datos estn definidas en el Diccionario ABAP/4. los campos de pantallas. El procesador de dilogo controla el flujo de un programa de dilogo.

Desde el

programa ABAP/4 se pueden acceder a estas estructuras y utilizarlas para definir

La programacin de dilogo necesita tcnicas especiales de codificacin en ABAP/4, adems de herramientas especficas, como son un editor de pantallas (Screen Painter) y un editor de superficies (Men Painter).

MODULPOOL. Programacin con Dynpros

5-33

Leccin 3 Screen painter


Para crear una screen painter hemos de ir desde el men desplegable de la izquierda y con el botn derecho del ratn acceder al submen y elegir create screen. Elegir su nmero de pantalla (0100) en este caso.

Y aparecer la pantalla de atributos de la screen, en donde lo ms destacable es:

MODULPOOL. Programacin con Dynpros

6-33

Short Description:

Descripcin de la pantalla (es obligatorio) este nombre aparecer a la derecha del nmero de pantalla.

Screen type Normal Subscreen Modal Dialog Box Genera una screen normal (o principal) Genera una screen que se ubicar dentro de otra Muy usada para hacer pop-ups.

Una vez rellenados los datos necesarios, en la pestaa Flow Logic aparece el cdigo base para los mdulos del PBO y PAI.

Presionando sobre el botn Layout se abre otra ventana con el modo grfico para poder editar la pantalla.

MODULPOOL. Programacin con Dynpros

7-33

3.1 Botones

Los botones ms destacables son:

Guarda los cambios efectuados en la pantalla (no activa) Abre una ventana para insertar en la pantalla campos tanto internos como del data D. Dictionary. Abre un pop-up con las propiedades de los elementos insertados en la screen.

MODULPOOL. Programacin con Dynpros

8-33

Cambia entre el modo edicin y el de visualizar . Cambia de screen. Activa y guarda la screen. Ejecuta la screen. Vuelve la pestaa Flow logic del modo no grfico. Vuelve a la pestaa Attributes del modo no grfico. Vuelve a la pestaa Element List del modo no grfico.

Name: Text: Lg: H: L: Cl:

Nombre del elemento. Texto que se muestra en la pantalla. Longitud del elemento. Altura del elemento. Lnea en la que est situado el elemento. Posicin

Resetea la seleccin. Si se selecciona algn elemento de la botonera por error se pulsar este botn para resetear la seleccin. Genera campos de texto Genera un campo Input/output

MODULPOOL. Programacin con Dynpros

9-33

Genera un checkbox Genera un Radiobutton Genera un Pushbutton. Genera un marco para pestaas. Genera un custom area, muy usado para, por ejemplo aadir un ALV.

3.2 Screen Attributes

Cada elemento dispone de unos atributos, dependiendo de cada tipo tendr ms o menos atributos. Los ms importantes son: Name: Nombre del atributo
10-33

MODULPOOL. Programacin con Dynpros

Text: With Icon: Line:

Texto del atributo Indica si el elemento llevar o no icono Indica en que lnea se encuentra el elemento (coincide con el valor L de la cabecera).

Def.Lengt: Column:

Longitud por defecto del elemento. Columna en la que est situado el elemento, (coincide con el valor CL de la cabecera).

Vis.Length: Longitud visible, indica que longitud ocupa en la pantalla el campo (coincide con el valor Lg de la cabecera). Groups: Nombre indicativo para el grupo al que pertenece. Este nombre se utiliza dentro de la sentencia loop at screen. FctCode: Function Code cdigo que adoptar la sy-ucomm cuando se presione en el botn. Atributos:

Format: From Dict.:

Formato de salida Indica si el elemento coge las propiedades del Data D.Dictionary

Input:

Indica si un elemento es de entrada.

Output field: Indica si un elemento es de salida de datos Invisible: Indica si un elemento es visible o no en la pantalla.

MODULPOOL. Programacin con Dynpros

11-33

Push button: Crear un Push button es relativamente fcil pero necesita un cierto conocimiento de sus atributos. Propiedades. Tipos: <none> No precisa ningn tipo, el programador ser quien lo personalice. E Exit Command, Sirve cuando asociamos un botn para salir de una pantalla. Se salta las comprobaciones posteriores de SAP. Esta funcin por si sola no se ejecuta, hay que poner una orden para que salga. T Transaction, Es una forma de llamar a una transaccin a travs de un botn. Si se quisiera llamar a la transaccin SU01, en Function Code escribiramos SU01 y en Fctype T. H S P Help function System functions Tabscript code.

Icon Name: Permite asociar un icono al elemento. Si se pulsa el icono que est a la derecha del campo, saldr una lista de los iconos de los que SAP dispone. Si se activa en el campo Quick info aparece la descripcin del icono (se puede cambiar). From Dict.: Asocia el objeto a un campo de una tabla del D.Dictionary. El nombre del objeto ha de ser el mismo que el del campo (tabla-campo). Output field Indica si el objeto va a visualizar datos o no.

3.3 Campo de entrada/salida (Input/output field).

Este objeto permite la introduccin de datos por teclado.


MODULPOOL. Programacin con Dynpros 12-33

Icon Name: Permite asociar un icono al elemento. Si se pulsa el icono que est a la derecha del campo, saldr una lista de los iconos de los que SAP dispone. Si se activa en el campo Quick info aparece la descripcin del icono (se puede cambiar).

From Dict.: Asocia el objeto a un campo de una tabla del D.Dictionary. El nombre del objeto ha de ser el mismo que el del campo (tabla-campo).

Invisible:

Indica si este campo se muestra por pantalla o no. Esto se puede modificar dinmicamente en el programa.

3.4 RADIO BUTTON.

Los radio button se utilizan para que el usuario pueda escoger entre varias posibilidades pero slo una de ellas. Pasos a seguir: Paso 1 (crear un box). Un box es un recuadro donde podemos introducir cualquier objeto. Primero se hace el box lo suficientemente grande para que entren los tres radio buttons y se le asigna el nombre y el ttulo (que aparecer en la pantalla). Este paso es opcional.

MODULPOOL. Programacin con Dynpros

13-33

Paso 2. Poner los radio button. Una vez creado el box, se aaden tantos radio buttons como se desee, lgicamente ms de uno ya que sino en lugar de un radio button estaramos necesitando un checkbox. A cada radio button hay que ponerle un nombre distinto (a diferencia de otros lenguajes).

Paso 3. Seleccionar y unir los radio buttons. Hasta ahora tenamos tres radio button pero no estaban unidos entre si, es decir, que no hacan exclusin en la seleccin. Para conseguir que slo uno de ellos se seleccione, hay que definir un grupo. Los grupos se consiguen seleccionando los radio buttons y presionando el botn derecho del ratn para que despliegue el men Radio button group Define.

Una vez definido el grupo, un rectngulo con lnea discontinua indica que estn enlazados.

MODULPOOL. Programacin con Dynpros

14-33

Paso 4. Definicin en el programa. En este punto, a los radio buttons no se les puede asociar un function code. En el programa o modul-pool al que estn asociados se declaran tantas variables como radio buttons con el mismo nombre que se le ha declarado en el layout. DATA: OPC1 TYPE C, OPC2 TYPE C, OPC3 TYPE C. Para saber qu opcin puls el usuario, se pregunta si el valor de la variable es igual a X mayscula (est seleccionada) o si est initial (no se ha seleccionado).

Propiedades del Radio button. From Dict.: Asocia el objeto a un campo de una tabla del D.Dictionary. El nombre del objeto ha de ser el mismo que el del campo (tabla-campo). Invisible: Indica si este campo se muestra por pantalla o no. Esto se puede modificar dinmicamente en el programa. Output field: Indica si el objeto puede ser pulsado o no (Enable/Disable).

3.5 Check box.

Los check box son parecidos a los radio buttons pero la diferencia reside en que, se puede seleccionar ms de uno a la vez. Para utilizarlos hay que arrastrar un checkbox a la pantalla, ponerle los atributos que se deseen y, dentro del programa generar tantas variables como checkbox se hayan insertado en la screen. El valor que toman al estar seleccionadas es, al igual que en los radio buttons X (mayscula). Propiedades del check box. From Dict.: Asocia el objeto a un campo de una tabla del D.Dictionary. El nombre del objeto ha de ser el mismo que el del campo (tabla-campo).
MODULPOOL. Programacin con Dynpros 15-33

Invisible:

Indica si este campo se muestra por pantalla o no. Esto se puede modificar dinmicamente en el programa.

Output field: Indica si el objeto puede ser pulsado o no (Enable/Disable).

3.6 Grupos de objetos.

En una SCREEN PAINTER se pueden agrupar objetos e incluso un objeto puede pertenecer a cuatro grupos diferentes. Tienen una gran utilidad y potencia para poder customizar las pantallas prcticamente sin tocar nada ya que se puede hacer que, por ejemplo, los objetos se oculten, estn en enable o no... y todo de forma dinmica. Para crear los grupos hay que rellenar el nombre de los mismos y el tipo de grupo en los atributos del elemento.

De tal forma que, el grupo 1 es el que est ms a la izquierda y el 4 es el que est ms a la derecha. Para saber en qu grupo se est dentro del loop at screen se ha de preguntar directamente por l, es decir, LOOP AT SCREEN. IF SCREEN-GROUP1 EQ DIS. ENDIF. ENDLOOP.

MODULPOOL. Programacin con Dynpros

16-33

Leccin 4 Men painter

Con el Menu Painter se disean las superficies GUI, (Grafical User Interface), sobre las que corrern las transacciones SAP. Una GUI contiene todos los mens, teclas de funcin, pushbuttons, etc disponibles para el usuario, durante la ejecucin de una transaccin. Podremos indicar el status que utilizaremos en una pantalla o el titulo en un mdulo PBO de la pantalla con las instrucciones: SET PF-STATUS <cod_status>. SET TITLEBAR <cod_ttulo>. Indicaremos las diferentes interfaces GUI de una transaccin mediante los status. Una transaccin tendr muchos status diferentes. No ser necesario redefinir todos los objetos de los status, ya que muchos objetos definidos en un status podrn ser utilizados en otro. Por ejemplo es posible crear una barra de mens igual para toda una transaccin. Para iniciar el Men Painter, se puede usar cualquiera de los siguientes caminos:

MODULPOOL. Programacin con Dynpros

17-33

Seleccionar: Tools -> ABAP/4 Workbench -> Desarrollo -> Men Painter.

Con la transaccin SE41. Dentro del editor de ABAP/4, posicionar el cursor en el nombre del status en el estatus SET PFSTATUS <status> dando doble clic y/o presionar F2.

Es posible mantener tanto un estatus de un determinado programa, como los diferentes objetos de un GUI que forman parte de los status (Barras de Mens, teclas de funcin, ttulos de men).

4.1 Teclas de Funcin (Functions keys).

Como es recomendable que todas las teclas de funcin que se definan, estn incluidas en la barra de mens si se desea que aparezca en la barra de aplicacin, se comienza por definir estas teclas de funcin. Para definir las teclas de funcin se utiliza el espacio destinado para ello. Hay que indicar el cdigo de la funcin en la lnea correspondiente a la tecla que se desea

MODULPOOL. Programacin con Dynpros

18-33

utilizar. El texto de la tecla de funcin aparecer automticamente, pero podr ser modificada en caso de desearlo. SAP no recomienda definir nuevas teclas de funcin en el espacio reservado para teclas de funcin estndar.

4.2 Los Pushbuttons.

Los pushbuttons son botones tridimensionales que aparecen debajo de la barra de herramientas estndar (barra de aplicacin). Previo a definir un botn ser necesario definir la funcin deseada como una tecla de funcin. Una vez situados sobre un espacio en blanco de los que se nos ofrece, hay que indicar el cdigo de la funcin que se desee que tenga el botn de la barra de herramientas de aplicacin.

MODULPOOL. Programacin con Dynpros

19-33

Se puede especificar si se quiere que aparezca un texto corto o nicamente un icono que identifique la funcin.

No es necesario definir las funciones de la barra de herramientas estndar, Standard Toolbar. Para definir iconos para visualizarlos en la barra de herramientas de aplicacin es necesario indicar el nombre del icono en el apartado icon name.

4.3 La Barra de Mens.

Para definir un men, hay que poner el nombre en espacio disponible. Se pueden incluir ha sta 6 mens en la barra de mens. Adems de los mens del usuario, el sistema aadir automticamente System y Help.

MODULPOOL. Programacin con Dynpros

20-33

Cada men puede tener hasta 15 entradas. Cada una de las cuales puede ser otro men en cascada o una funcin. Para abrir un men o submen, hay que hacer un Doble Clic en el nombre. Cada entrada est compuesta de un cdigo de funcin y un texto de funcin o un texto de men. Se puede anidar hasta 4 niveles de submens. En el caso de las funciones bastar con indicar el cdigo de la funcin para que el texto de sta aparezca automticamente, si sta ya existe previamente. Se puede definir los atributos de una funcin nueva con Doble Clic sobre la nueva funcin definida. En el caso de un men en cascada, no es necesario indicar el cdigo, y con Doble Clic se puede desarrollar las opciones del submen.

4.4 Otras utilidades del Men Painter.


Activacin de Funciones. Se puede hacer que las funciones de la barra de mens estn en modo activo o inactivo. En caso de estar inactivas, se visualizarn en la barra de mens en baja intensidad y su seleccin no implicar efecto alguno, en cambio las funciones activas sern completamente ejecutables. Para activar o desactivar funciones se ha de seleccionar Function Activation.

Ttulos de Menu. Es posible mantener distintos ttulos para un men. Goto -> Title List. Cada ttulo se identificar con un cdigo de ttulo de 3 dgitos. Se introduce el texto del ttulo, pudiendo utilizar variables de la misma forma que se hace con los mensajes en ABAP/4, es decir utilizando el smbolo &. Posteriormente ser en el programa ABAP/4 donde se le indique que ttulo se va a utilizar con la instruccin: SET TITLEBAR <cod_ttulo> WITH <var1> <var2>

MODULPOOL. Programacin con Dynpros

21-33

En tiempo de ejecucin el ttulo del men se guardar en la variable del sistema SY-TITLE. Prueba, Chequeo y Generacin de Status. Se puede probar el status simulando la ejecucin de la interface con: User Interface -> Test Status, e introducir los datos: Nmero de pantalla, y Cdigo del ttulo. Antes de usar la interfase se puede comprobar que se ha definido correctamente, realizando un proceso de chequeo con: User Interface -> Check Syntax. Posteriormente se realizar un proceso de generacin de la interface que incluye el chequeo y la grabacin de la misma.

MODULPOOL. Programacin con Dynpros

22-33

Leccin 5 Modulpool
El flujo lgico de pantalla est dividido en dos eventos para cada pantalla: El evento "Process Before Output" (PBO) se ejecuta antes de que la pantalla sea mostrada. El evento Process After Input (PAI) se ejecuta despus de que el usuario ha presionado la tecla Enter. El sistema procesa los mdulos de un evento en forma secuencial. En cada mdulo el control pasa del procesador de dilogo al procesador ABAP/4. Despus del procesamiento el control es regresado al procesador de dilogo. Cuando todos los mdulos de PBO han sido procesados, el contenido de los campos del rea de trabajo ABAP/4 son copiados al campo con nombre idntico en el rea de trabajo de pantalla. Antes de que el mdulo PAI sea procesado, el contenido de los campos del rea de trabajo de pantalla es copiado a los campos nombrados idnticamente en el rea de trabajo de ABAP/4. Creacin de Programas Para crear un programa (ABAP/4 module pool) se usa el ABAP/4 Development Workbench. Un programa de dilogo del cliente debe tener el formato SAPMZxxx SAPMYxxx. Inicialmente, el programa incluido TOP contiene solo la instruccin PROGRAM. Se puede entonces agregar todas las declaraciones de datos e instrucciones de tablas (datos globales) necesarias. Si se usan programas incluidos, el sistema propone los nombres de acuerdo a la siguiente regla: Los primeros 5 caracteres son los ltimos 5 caracteres del nombre del programa.

MODULPOOL. Programacin con Dynpros

23-33

El sexto caracter identifica el contenido del incluido-por ejem. O para mdulos PBO, F para rutinas FORM (subrutinas).

El sptimo y el octavo caracter son iguales a 01, excepto el programa Top Include.

Ejemplos: El programa Top Include para el module pool SAPMTALA sera MTALATOP; El programa incluido para los mdulos PAI del mismo programa debera ser MTALAI01, y para los mdulos PBO sera MTALAO01:

MODULPOOL. Programacin con Dynpros

24-33

Leccin 6 Dynpros
6.1 Introduccin

Desde una transaccin se puede controlar el flujo de pantallas de la misma, o llamar a otras transacciones o reportes.

MODULPOOL. Programacin con Dynpros

25-33

6.2 Configuracin dinmica de la siguiente pantalla

Por defecto, cuando terminan los mdulos del evento PAI, el sistema saltar a la pantalla que indique el atributo Next Screen de la pantalla en ejecucin. Es posible modificar el atributo de la prxima pantalla con la instruccin SET. SET SCREEN <no._pantalla>. La instruccin SET SCREEN nnnn reescribe temporalmente la siguiente pantalla a procesar. La pantalla nnnn debe ser una pantalla del mismo "module pool". La pantalla siguiente es procesada despus de procesar la pantalla actual, a menos que se termine la ejecucin de la pantalla actual con la instruccin LEAVE SCREEN. Al encontrar esta instruccin, se ejecuta la pantalla siguiente en forma inmediata. Si se desea terminar el proceso de la pantalla actual e ir directamente a la pantalla siguiente en una sola instruccin, se puede usar la instruccin LEAVE TO SCREEN nnn.

MODULPOOL. Programacin con Dynpros

26-33

6.3 Insercin de una o ms pantallas

La instruccin CALL SCREEN nnnn interrumpe el proceso de la pantalla actual para procesar la pantalla nnnn y las pantallas subsecuentes. La pantalla llamada con esta instruccin deber ser una pantalla del mismo "module pool". Cualquiera de las instrucciones: SCREEN nnnn. Si se usa cualquiera de estas instrucciones cuando no se esta en el modo de llamada, el programa termina. programa fue llamado. Usando las adiciones STARTING AT y ENDING AT en la instruccin CALL SCREEN, se puede especificar la posicin y el tamao de la pantalla a llamar. En estos casos, los estndares ergonmicos de SAP establecen que la pantalla debe estar definida como de dilogo tipo modal. Se puede usar la adicin STARTING AT sin la adicin ENDING AT. Aqu, el sistema determina el tamao de la pantalla de dilogo segn el tamao definido en el atributo de pantalla conocido como "Used size". El punto de comienzo de esta pantalla ser la esquina superior izquierda. Si tambin se usa ENDING AT, el sistema incluye lo ms posible de la pantalla de dilogo dentro del rea definida por las coordenadas, iniciando en la esquina superior izquierda. Por ejemplo el regresar al lugar donde este SET SCREEN 0, LEAVE SCREEN, LEAVE TO

SCREEN 0, regresa el control a la locacin donde fue ejecutada la instruccin CALL

MODULPOOL. Programacin con Dynpros

27-33

Si la pantalla aparece incompleta, se incluye en la misma una barra de desplazamiento.

6.4 Ejecucin condicionada de mdulos

Si se especifica la adicin ON INPUT despus de MODULE en una instruccin FIELD, el mdulo es ejecutado solamente si el campo relevante contiene un valor diferente al valor inicial. En una estructura CHAIN se debe usar la instruccin ON CHAIN-INPUT cuando, el mdulo concerniente es procesado solamente si al menos uno de los campos de pantalla de la estructura CHAIN contiene un valor diferente al valor inicial. Se puede usar la adicin ON INPUT solamente si la instruccin MODULE es especificada dentro de una instruccin FIELD. Si se especifica la adicin ON REQUEST despus de MODULE en una instruccin FIELD, el mdulo es ejecutado nicamente si el campo relevante tiene una nueva entrada. En una estructura CHAIN, se debe usar la instruccin ON CHAIN-REQUEST cuando el mdulo concerniente es procesado solamente si al menos uno de los campos de pantalla del estatuto CHAIN tiene una nueva entrada.

MODULPOOL. Programacin con Dynpros

28-33

Se puede usar la adicin ON REQUEST solamente si la instruccin MODULE es especificada dentro de una instruccin FIELD.

Es posible que en alguna ocasin el usuario quiera salir de la pantalla sin necesidad de pasar las validaciones automticas (Por ejemplo utilizando las funciones estndares BACK, EXIT o CANCEL). En este caso utilizaremos la clusula AT EXIT COMMAND de la instruccin MODULE. MODULE <mdulo_ABAP> AT EXIT-COMMAND.

MODULPOOL. Programacin con Dynpros

29-33

Leccin 7 Control de proceso de dilogo


La validacin de los datos de entrada.

Una de las funciones ms importantes de Process After Input, es la de validar los datos de entrada de la pantalla antes de ser usados. Existen dos tipos de validacin de los datos de entrada: Un chequeo automtico realizado por el sistema y un chequeo manual programado con el comando FIELD de la lgica de proceso de Dynpros. Verificacin automtica El sistema realiza automticamente una serie de chequeos de los datos de entrada, antes de procesar el evento PAI. Verificacin de formato El procesador de dilogo valida las entradas de acuerdo a los atributos de cada campo. Si el sistema detecta un valor incorrecto, despliega un mensaje de error y vuelve a mostrar los campos para su nueva entrada. Verificacin de campos obligatorios Cuando algn campo de la pantalla se le asigna el atributo obligatorio, el procesador de dilogo no contina con el proceso, al menos que todos los campos obligatorios tengan algn valor. Verificacin de llaves forneas Una verificacin de clave fornea es procesada solo si un campo de pantalla se refiere a un campo del Diccionario para el cual se ha definido una tabla de verificacin. Al mismo tiempo, la funcionalidad de la tecla F4 es activada. Esto significa que las posibles entradas para un campo son desplegadas.

MODULPOOL. Programacin con Dynpros

30-33

Verificacin de valores fijos En el Diccionario ABAP/4, se pueden definir los valores fijos para los dominios. Si se define un campo de pantalla con referencia a un dominio con valores fijos, ocurre lo siguiente: Los valores fijos son desplegados si el usuario presiona la tecla F4 para ver los posibles valores para el campo de entrada. El procesador de dilogo verifica los valores introducidos en el campo contra el conjunto de valores fijos del Dominio correspondiente. Verificacin manual en Module Pool. Adems del chequeo automtico es posible realizar una validacin ms extensa de los valores de entrada a los campos valores de entrada a los campos con las instrucciones FIELD y CHAIN de la lgica de proceso del Screen Painter. Con FIELD podemos validar individualmente cada campo de forma que en caso de error, la siguiente entrada de datos slo permitir introducir el campo errneo sobre el que estamos utilizando la instruccin FIELD. Dependiendo del tipo de sentencia FIELD que utilicemos, el mecanismo de chequeo se realizar en la lgica de proceso del Screen Painter o en un mdulo ABAP/4. Es posible realizar distintas validaciones de un campo de entrada dependiendo de la fuente con la que contrastamos los valores posibles. As podemos chequear el contenido de un campo comparndolo con una tabla de la base de datos, con una lista de valores, o realizando la validacin en un mdulo del Module Pool.Para chequear un campo contra la base de datos utilizamos:

FIELD <campo_pantalla> SELECT FROM <tabla> WHERE <campo_tabla> = <entrada_campo_pantalla>. Si no se encuentran registros en el Diccionario de Datos el sistema emite un mensaje de error estndar. Existe una versin ampliada de la instruccin anterior que permite enviar mensajes o warnings en caso de que encuentre o no registros:

FIELD <campo_pantalla> SELECT * FROM <tabla>


MODULPOOL. Programacin con Dynpros 31-33

WHERE <condicin> WHENEVER (NOT) FOUND SEND ERRORMESSAGE / WARNING <nmero> WITH <campo-texto>. Para chequear un campo respecto a una lista de valores utilizamos: FIELD <campo_pantalla> VALUES (<lista_valores>). Donde <lista_valores> puede ser: (<valor>) (not<valor>) (<valor 1>,<valor 2>,NOT<valor n>) (BETWEEN <valor 1> AND <valor 2>) (NOT BETWEEN <valor 1> AND <valor 2>) Si el valor entrado por el usuario no corresponde a ningn valor de la lista, el sistema emite un mensaje de error. Para chequear un campo en un mdulo de ABAP/4 utilizamos: FIELD <campo_pantalla> MODULE <mdulo_ABAP/4>. Si el mdulo resulta con un error (E) o un mensaje de advertencia (W), la pantalla es desplegada nuevamente pero sin procesar los mdulos PBO. El texto del mensaje es mostrado, y solo el campo que ocasion el error estar disponible para introducir datos nuevamente. La instruccin CHAINENDCHAIN encierra un conjunto de instrucciones FIELD, en caso de error en la entrada de alguno de ellos, todos los campos del CHAIN se podrn modificar, mientras que los que no pertenezcan al CHAIN estarn bloqueados para la entrada de datos. CHAIN. FIELD <campo 1>, <campo 2>, <campo 3>. MODULE <mod1>. MODULE <mod2>.
MODULPOOL. Programacin con Dynpros 32-33

ENDCHAIN.

CHAIN. FIELD <campo 1>,<campo 2>. MODULE <mod1>. FIELD <campo 3> MODULE <mod2> ON CHAIN INPUT. ENDCHAIN.

MODULPOOL. Programacin con Dynpros

33-33

You might also like