Vous êtes sur la page 1sur 21

MODUL POOL. Definicin. Objetos que lo integran y Metodologa de tratamiento.

1. INTRODUCCION. Definimos el Workbench como un entorno grfico de programacin, que contiene todas las herramientas necesarias para crear y probar objetos de desarrollo. El propsito de este manual es presentar aquellas que tienen una funcin especfica en el proceso de desarrollo de una transaccin, as como explicar el concepto y funcionalidad de todos los objetos que intervienen en ella.
1.1 TIPOS DE PROGRAMAS.

1.1.1 REPORTS.

Desarrollo de listados, informes u otro tipo de aplicativos que no precisen respuesta inmediata del usuario. La finalidad de un report es leer datos de la base de datos y listarlos en una pantalla. Consta solamente de dos pantallas: La primera pantalla, selection screen, contiene campos input que permiten al usuario entrar criterios de seleccin para el report. Es opcional. La segunda, contiene la lista de datos.
1.1.2 TRANSACCIONES.

Desarrollo de aplicaciones interactivas con pantallas on line. Son ms flexibles que los reports, y tambin un nivel de programacin mucho ms complejo. Pueden contener cualquier nmero de pantallas, y la secuencia de pantallas puede cambiarse dinmicamente en tiempo de ejecucin. En cada pantalla, podemos tener campos input, campos output, botones y ms de una rea de scroll.

1.1.2.1 MODULE POOL. (Definicin)

Es un trmino que describe el conjunto de entidades ABAP/4 que subyacen en una transaccin. .

2. COMO CREAR UN MODULE POOL. La creacin de un module pool es un proceso complejo, dado que, como ya se ha mencionado anteriormente, consta de varios objetos. Para ello es necesario un estudio exhaustivo de las herramientas del Workbench, ya que cada una de ellas desempea una funcin especfica en la construccin de una transaccin.
2.1 WORKBENCH.

2.1.1 HERRAMIENTAS.

Dictionary: Almacena una amplia definicin de los datos del sistema. Cuando se crea una nueva definicin, el Diccionario realiza todos los procesos necesarios para que ello sea posible. Editor ABAP/4: Se utiliza para crear cdigo o modificar uno ya existente. Verifica la sintaxis, y permite generar, ejecutar y debugar nuestros programas. Biblioteca de funciones: Es un repositorio de rutinas. Cuando creamos una rutina nueva, la Biblioteca de funciones es quien realiza todos los procesos necesarios para crearla. Screen painter y Menu painter: tiles para disear los intefaces grficos de usuario (GUI, Grafical User Interface) para nuestro programa. El Screen painter sirve para aadir campos, pulsadores y otros elementos de pantalla. El Menu painter es til para crear menus que rodean la pantalla. Object Browser: Dado que un programa se compone de diferentes elementos y que a menudo no es fcil ver las relaciones existentes entre ellos, el Object Browser es una magnfica herramienta para ver de una forma rpida y sencilla, todos los objetos de desarrollo que componen nuestra aplicacin y las relaciones existentes entre ellos.

2.2 TECNICA RECOMENDADA. (Object Browser).

Podemos crear una aplicacin entera utilizando el Object Browser sin necesidad de llamar directamente otras herramientas. De hecho, el mtodo recomendado para crear una aplicacin es desde el Object Browser, porque de este modo, podemos ver en todo momento qu estamos construyendo. Pulsando el botn Object Browser, aparece la siguiente pantalla:

2.2.1 ACCIONES A REALIZAR.

2.2.1.1 CLASE DE DESARROLLO.

Elegir la clase de desarrollo donde queremos crear nuestro programa y pulsar el botn Visualizar. Nota: En este manual, todos los objetos se crearn en la clase $TMP.

Aparece la siguiente pantalla:

2.2.1.2 PROGRAMAS.

Marcar el tipo de objeto Programas y pulsar el icono Crear. Aparecer la siguiente pantalla de dilogo:

Hay que asegurarse de que el nombre de programa es correcto y que el flag Include TOP est activado.
2.2.1.2.1 CONVENCIONES DE NOMENCLATURA.

La longitud de los nombre de programas debe oscilar entre 2 y 8 caracteres, y debe empezar por Y o Z. SAP reserva las letras de la A a la X para sus propios programas. Se recomienda que los siguientes 3 caracteres sean un identificador del programa, tales como las iniciales del programador, o inicial del nombre del proyecto e iniciales del mdulo funcional. Ej: YRREIN01. Los programas de dilogo o module pool, siguen una convencin particular: Los cuatro primeros caracteres deben ser SAPM. El quinto carcter debe ser Y o Z. Los tres ltimos caracteres deben ser caracteres vlidos. As, se distingue un module pool de un report . Mientras que el nombre de un report ser Yxxxxxxx / Zxxxxxxxx, el nombre de un module pool ser SAPMYxxx o SAPMZxxx. Lista de caracteres no permitidos. Carcter . Punto , Coma Blancos () Parntesis Comilla Doble comilla = Signo Igual * Asterisco _ Subrayado % Tanto por ciento Letras con diresis

Descripcin

2.2.1.2.2 INCLUDE TOP.

El sistema genera por defecto el include TOP, que es donde se guardarn las declaraciones de todos los datos globales del sistema ( Tablas de diccionario, tablas internas, variables, constantes). El nombre del include ser por convencin : MYxxxTOP o MZxxxTOP, donde xxx son los tres ltimos caracteres del nombre del programa. El segungo carcter Y o Z, depender del quinto carcter elegido en el nombre del programa. En nuestro ejemplo, para el programa SAPMY001 el include TOP se llamar MY001TOP.

Al pulsar Intro, se displayar automticamente la pantalla de atributos del programa.


2.2.1.2.3 ATRIBUTOS DEL PROGRAMA.

Atributos obligatorios: Ttulo: Descripcin breve del programa. Tipo: M (Module Pool) Aplicacin: En nuestro caso, se ha elegido Y (Datos cliente central). Para ver los dems posibles valores, pulsar F4 sobre el campo Aplicacin.

Atributos opcionales: Son los dems campos de la pantalla. Se recomienda tener el flag Calc.coma fija activado, sobre todo si en el programa se realizan operaciones de clculo. El atributo Bloc.Editor es til si queremos que el fuente no sea modificado. Slo puede desactivarlo el propio creador del programa.

Al grabar los atributos, el sistema genera automticamente el programa y el include Top. Para verificar, que el proceso ha concludo con xito, se recomienda utilizar el Object Browser, visualizar Programas, y ver que aparece nuestro programa en la lista.

Una vez hemos comprobado que el programa aparece en la lista, situamos el cursor sobre el mismo, y haciendo doble click, aparecer una pantalla donde veremos la lista de objetos del programa. En este momento, slo tenemos el tipo de objeto Include donde aparece el include Top generado.

2.2.1.2.4 OTROS INCLUDES. ( Mdulos PBO, Mdulos PAI, Forms o rutinas).

En un Module Pool, las pantallas o dynpros tienen un papel primordial. Como se ver ms adelante, es recomendable agrupar los procesos Before Output ( PBO, procesos que se ejecutan antes de presentar una pantalla) y los procesos After Input ( PAI, procesos que se ejecutan una vez se ha presentado la pantalla), en includes independientes. Asimismo tambin se aconseja crear un include que contenga todos los forms o subrutinas que intervengan en el programa. Aunque no es obligatorio proceder de este modo, s es altamente recomendable, pues desde el Object Browser, ser muy fcil identificar y localizar un determinado proceso. Para crearlos, desde esta misma pantalla, marcar Includes y pulsar el icono Crear. Aparecer la siguiente pantalla:

2.2.1.2.4.1 CONVENCIONES DE NOMENCLATURA.

Include Mdulos PBO: El nombre del include ser : MYxxxO01 o MZxxxO01, dependiendo del quinto carcter utilizado en el nombre del programa. Xxx sern los tres ltimos caracteres que figuren en el nombre del programa. Seguidamente O01 identifica con la O de output, que el include agrupar todos los procesos PBO. En nuestro ejemplo el nombre del include ser : MY001O01. Al pulsar Intro, aparece la pantalla de atributos que ya conocemos, especificando que el tipo de programa es I (Include). Include Mdulos PAI: El nombre del include ser : MYxxxI01 o MZxxxI01, dependiendo del quinto carcter utilizado en el nombre del programa. Xxx sern los tres ltimos caracteres que figuren en el nombre del programa. Seguidamente I01 identifica con la I de input, que el include agrupar todos los procesos PAI. En nuestro ejemplo el nombre del include ser : MY001I01. Al pulsar Intro, aparece la pantalla de atributos que ya conocemos, especificando que el tipo de programa es I (Include). Include Forms:

El nombre del include ser : MYxxxF01 o MZxxxF01, dependiendo del quinto carcter utilizado en el nombre del programa. Xxx sern los tres ltimos caracteres que figuren en el nombre del programa. Seguidamente F01 identifica con la F de forms, que el include agrupar todos los forms que aparecen en el programa. En nuestro ejemplo el nombre del include ser : MY001F01. Al pulsar Intro, aparece la pantalla de atributos que ya conocemos, especificando que el tipo de programa es I (Include). Para verificar que la accin ha sido correcta, volver al Object Browser y desplegar el tipo de objetos Include de nuestro programa. Verificar que aparecen en la lista.

2.2.1.2.5 VENTAJAS DE LA MODULARIZACION.

Tal como se ha explicado anteriormente, es recomendable crear esta estructura porque as, es ms fcil localizar un proceso en un programa y asociarlo inmediatamente a una funcionalidad determinada. Al editar el programa, o la lgica de proceso de una pantalla, el sistema crea automticamente los procesos que intervienen, en el include que corresponda, ya sea un form, un proceso PBO o un proceso PAI. De este modo, en el programa principal slo aparecen los includes creados, siendo necesario, visualizar cada uno de ellos para ver el cdigo de un determinado proceso.

Atencin: Este cdigo del programa principal se ha generado automticamente slo por el hecho de haber creado los includes. Ver que slo aparece operativo el creado automticamente por el sistema. Tener la precaucin de, llegados a este punto, desasteriscar los que acabamos de crear. Slo as funcionar la modularizacin. Nota: Podemos incluir en el fuente del programa principal tantas lneas Include como includes utilice el programa. Pueden ser de nueva creacin o includes ya existentes en otros programas. Ejemplo: INCLUDE MY002F01.
2.2.1.3 DYNPROS.

Include de forms del programa SAPMY002.

Un dynpro (dynamic process) es el conjunto de una pantalla ms su lgica de proceso.


2.2.1.3.1 PANTALLA.

Una pantalla es la organizacin de los elementos grficos que aparecen en una ventana.

2.2.1.3.2 LOGICA DE PROCESO.

Es el conjunto de procesos que gobiernan el comportamiento del programa, antes y despus de la presentacin de la pantalla. (Mdulos PBO, Mdulos PAI).
2.2.1.4 COMO CREAR UN DYNPRO.

En este captulo, slo se describir el proceso de creacin propiamente dicho. El diseo de la pantalla y el desarrollo de la lgica de proceso se explicarn detalladamente en un captulo posterior.

Marcar desde el Object Browser Tipos de objetos de programa y pulsar el icono Crear. Aparecer la siguiente ventana de dilogo:

Ver que el dynpro que se va a crear, se asocia a nuestro programa SAPMY001.


2.2.1.4.1 CONVENCIONES DE NOMENCLATURA.

Los dynpro se identifican con tres dgitos numricos distintos de 000. Normalmente, los dynpro de programas standard se identifican por 9*, es decir 900, 910 Los dynpro de programas desarrollados a medida normalmente se identifican por 100, 200etc. Normalmente, un module pool consta de dos dynpro (el primero de seleccin y el segundo, para el tratamiento de los datos), aunque puede tener ms. Se suele utilizar la convencin 100 para el dynpro de seleccin y 200 para el de tratamiento.

2.2.1.4.2 ATRIBUTOS DEL DYNPRO.

Al pulsar el icono Crear aparecer la pantalla de atributos:

Por defecto aparece cumplimentado el campo Dynpro siguiente con el mismo nmero de dynpro que estamos creando. Esto puede ser til si queremos gobernar desde el programa el comportamiento del dynpro al pulsar return una vez presentada la pantalla. Si queremos que el control pase automticamente al dynpro siguiente sin tener que programarlo, podemos indicar en este campo 200 p.e. La siguiente accin a realizar es Grabar y Generar. Para verificar que el dynpro ha sido creado correctamente, ver si aparece en la lista de objetos de nuestro programa:

Se repetir el proceso tantas veces como dynpros queramos utilizar.


2.2.1.5 GUI STATUS.

El Status define la combinacin de barras de men, listas de men, teclas de funcin y funciones vlidas en un interface. Por ejemplo, una aplicacin puede tener dos status : Visualizacin / Actualizacin. En la barra de mens se definen las funciones disponibles para el usuario. En la lista de men se especifican las acciones de un men especfico.
2.2.1.5.1 COMO CREAR UN STATUS.

Del mismo modo, que en el caso de creacin de dynpros, desde el Object Browser, marcar Tipos de Objetos del programa y pulsar el icono Crear. Aparece la misma ventana de dilogo que en el caso de creacin de pantallas, pero ahora habr que especificar que el objeto que se desea crear es un Status.

Al pulsar el icono Crear, aparece la siguiente pantalla de dilogo:

Especificamos que el Status se asociar a un dynpro, para que el sistema genere por defecto las caractersticas propias de un status de pantalla. Las siguientes acciones a realizar son Grabar y Generar.
2.2.1.5.2 CONVENCIONES DE NOMENCLATURA.

En principio, no hay ninguna convencin establecida. Sin embargo, es aconsejable nombrar el Status con el mismo nombre de la pantalla a la que se va a asociar. Nota: Ver que un Status no es un objeto de una pantalla, sino que es un objeto de un programa.
2.2.1.6 TITULOS.

Un ttulo es la descripcin que aparece en la parte superior del dynpro. Normalmente, se asocia el ttulo a un status, a pesar de que un ttulo no es un objeto del status, sino que es un objeto del programa.
2.2.1.6.1 COMO CREAR UN TITULO.

Anlogamente a la creacin de los objetos antes definidos, desde el Object Browser marcamos Objetos del Programa y pulsamos el icono Crear. Aparece la ventana de dilogo donde especificamos que queremos crear un Ttulo, y al pulsar Intro, aparecer la siguiente pantalla:

Como siempre, para verificar que el ttulo se ha creado correctamente, consultamos el Object Browser.

2.2.1.7 TRANSACCIONES.

Normalmente un module pool puede ser llamado desde una o varias transacciones.
2.2.1.7.1 COMO CREAR UNA TRANSACCION.

Anlogamente a la creacin de los objetos antes definidos, desde el Object Browser marcamos Objetos del Programa y pulsamos el icono Crear. Aparece la ventana de dilogo donde especificamos que queremos crear una Transaccin, y al pulsar Intro, aparecer una ventana donde habr que especificar que el tipo de transaccin ha de ser de dilogo. Una vez hecho esto:

Es en esta pantalla, donde se define el comportamiento de la transaccin. En el campo Programa, se especifica el nombre del programa que queremos que se ejecute cuando se lanza la transaccin. En el campo Dynpro, especificamos cul es la pantalla del programa que queremos que se presente. En nuestro ejemplo, la transaccin Y001 ejecutar el programa SAPMY001 presentando el dynpro 100 de dicho programa.

2.2.1.7.2 CONVENCIONES DE NOMENCLATURA.

Los cdigos de transaccin constan de cuatro caracteres y deben empezar por Y o Z. En general, se recomienda la siguiente convencin: Accin Alta Modificacin Borrado Visualizacin Codificacin Yxx1, Zxx1 Yxx2, Zxx2 Yxx3, Zxx3 Yxx4, Zxx4

2.3 SUMARIO.

De este modo, ya hemos construdo el esqueleto de un module pool, con todos los objetos necesarios para su funcionamiento. El Object Browser nos lo muestra:

I-Y001

MODUL POOL. Definicin. Objetos que lo integran y Metodologa de tratamiento.


1. INTRODUCCION.................................................................................................................................. 1 1.1 TIPOS DE PROGRAMAS................................................................................................................ 1 1.1.1 REPORTS. ................................................................................................................................. 1 1.1.2 TRANSACCIONES..................................................................................................................... 1
1.1.2.1 MODULE POOL. (Definicin).......................................................................................................... 1

2. COMO CREAR UN MODULE POOL................................................................................................ 2 2.1 WORKBENCH. ................................................................................................................................ 2 2.1.1 HERRAMIENTAS. ..................................................................................................................... 3 2.2 TECNICA RECOMENDADA. (OBJECT BROWSER). ....................................................................... 4 2.2.1 ACCIONES A REALIZAR.......................................................................................................... 4
2.2.1.1 CLASE DE DESARROLLO.............................................................................................................. 4 2.2.1.2 PROGRAMAS. .................................................................................................................................. 5 2.2.1.2.1 CONVENCIONES DE NOMENCLATURA. ........................................................................... 5 2.2.1.2.2 INCLUDE TOP.......................................................................................................................... 6 2.2.1.2.3 ATRIBUTOS DEL PROGRAMA. ............................................................................................ 7 2.2.1.2.4 OTROS INCLUDES. ( Mdulos PBO, Mdulos PAI, Forms o rutinas). ................................. 9 2.2.1.2.4.1 CONVENCIONES DE NOMENCLATURA. ................................................................. 10 2.2.1.2.5 VENTAJAS DE LA MODULARIZACION............................................................................ 11 2.2.1.3 DYNPROS. ...................................................................................................................................... 12 2.2.1.3.1 PANTALLA. ........................................................................................................................... 12 2.2.1.3.2 LOGICA DE PROCESO. ........................................................................................................ 13 2.2.1.4 COMO CREAR UN DYNPRO........................................................................................................ 13 2.2.1.4.1 CONVENCIONES DE NOMENCLATURA. ......................................................................... 14 2.2.1.4.2 ATRIBUTOS DEL DYNPRO. ................................................................................................ 15 2.2.1.5 GUI STATUS.................................................................................................................................. 16 2.2.1.5.1 COMO CREAR UN STATUS................................................................................................. 16 2.2.1.5.2 CONVENCIONES DE NOMENCLATURA. ......................................................................... 18 2.2.1.6 TITULOS. ........................................................................................................................................ 18 2.2.1.6.1 COMO CREAR UN TITULO. ................................................................................................ 18 2.2.1.7 TRANSACCIONES......................................................................................................................... 19 2.2.1.7.1 COMO CREAR UNA TRANSACCION................................................................................. 19 2.2.1.7.2 CONVENCIONES DE NOMENCLATURA. ......................................................................... 20

2.3 SUMARIO....................................................................................................................................... 20

Vous aimerez peut-être aussi