MODUL POOL. Definición. Objetos que lo integran y Metodología de tratamiento.

1. INTRODUCCION. Definimos el Workbench como un entorno gráfico de programación, que contiene todas las herramientas necesarias para crear y probar objetos de desarrollo. El propósito de este manual es presentar aquellas que tienen una función específica en el proceso de desarrollo de una transacción, 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 selección 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 más flexibles que los reports, y también un nivel de programación mucho más complejo. Pueden contener cualquier número de pantallas, y la secuencia de pantallas puede cambiarse dinámicamente en tiempo de ejecución. En cada pantalla, podemos tener campos input, campos output, botones y más de una área de scroll.

1.1.2.1 MODULE POOL. (Definición)

Es un término que describe el conjunto de entidades ABAP/4 que subyacen en una transacción. .

2. COMO CREAR UN MODULE POOL. La creación 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 desempeña una función específica en la construcción de una transacción.
2.1 WORKBENCH.

Biblioteca de funciones: Es un repositorio de rutinas. Dictionary: Almacena una amplia definición de los datos del sistema. y permite generar. . Object Browser: Dado que un programa se compone de diferentes elementos y que a menudo no es fácil ver las relaciones existentes entre ellos. todos los objetos de desarrollo que componen nuestra aplicación y las relaciones existentes entre ellos. Cuando se crea una nueva definición. Grafical User Interface) para nuestro programa. pulsadores y otros elementos de pantalla. Screen painter y Menu painter: Útiles para diseñar los intefaces gráficos de usuario (GUI. la Biblioteca de funciones es quien realiza todos los procesos necesarios para crearla. ejecutar y debugar nuestros programas.1. Verifica la sintaxis. el Diccionario realiza todos los procesos necesarios para que ello sea posible. El Screen painter sirve para añadir campos. el Object Browser es una magnífica herramienta para ver de una forma rápida y sencilla. Cuando creamos una rutina nueva. El Menu painter es útil para crear menus que rodean la pantalla. Editor ABAP/4: Se utiliza para crear código o modificar uno ya existente.2.1 HERRAMIENTAS.

2 TECNICA RECOMENDADA.1 ACCIONES A REALIZAR. podemos ver en todo momento qué estamos construyendo.1 CLASE DE DESARROLLO.2. (Object Browser). porque de este modo.2. Elegir la clase de desarrollo donde queremos crear nuestro programa y pulsar el botón Visualizar. Podemos crear una aplicación entera utilizando el Object Browser sin necesidad de llamar directamente otras herramientas. Nota: En este manual. De hecho. todos los objetos se crearán en la clase $TMP. Pulsando el botón Object Browser.2. aparece la siguiente pantalla: 2. Aparece la siguiente pantalla: .1. el método recomendado para crear una aplicación es desde el Object Browser. 2.

.2.1 CONVENCIONES DE NOMENCLATURA.2. Aparecerá la siguiente pantalla de diálogo: Hay que asegurarse de que el nombre de programa es correcto y que el flag Include TOP está activado.2.2. 2.1.2 PROGRAMAS. Marcar el tipo de objeto Programas y pulsar el icono Crear.1.

El quinto carácter debe ser Y o Z. donde xxx son los tres últimos caracteres del nombre del programa. Coma Blancos () Paréntesis ‘ Comilla “ Doble comilla = Signo Igual * Asterisco _ Subrayado % Tanto por ciento Ää Öö Üü Letras con dièresis Descripción 2. Lista de caracteres no permitidos. SAP reserva las letras de la A a la X para sus propios programas.2 INCLUDE TOP. . El nombre del include será por convención : MYxxxTOP o MZxxxTOP.2. Los tres últimos caracteres deben ser caracteres válidos. Se recomienda que los siguientes 3 caracteres sean un identificador del programa.La longitud de los nombre de programas debe oscilar entre 2 y 8 caracteres.2. tales como las iniciales del programador. o inicial del nombre del proyecto e iniciales del módulo funcional. y debe empezar por Y o Z. que es donde se guardarán las declaraciones de todos los datos globales del sistema ( Tablas de diccionario. el nombre de un module pool será SAPMYxxx o SAPMZxxx. Mientras que el nombre de un report será Yxxxxxxx / Zxxxxxxxx.1. constantes…). Carácter . El sistema genera por defecto el include TOP. se distingue un module pool de un report . En nuestro ejemplo. El segungo carácter Y o Z. dependerá del quinto carácter elegido en el nombre del programa. siguen una convención particular: Los cuatro primeros caracteres deben ser SAPM. tablas internas. variables. Punto . Así. Los programas de diálogo o module pool. Ej: YRREIN01. para el programa SAPMY001 el include TOP se llamará MY001TOP.

.2. pulsar F4 sobre el campo Aplicación. se ha elegido Y (Datos cliente central).1. Para ver los demás posibles valores. 2. se displayará automáticamente la pantalla de atributos del programa.2.Al pulsar Intro. Tipo: M (Module Pool) Aplicación: En nuestro caso.3 ATRIBUTOS DEL PROGRAMA. Atributos obligatorios: Título: Descripción breve del programa.

coma fija activado. y haciendo doble click. visualizar Programas. sólo tenemos el tipo de objeto Include donde aparece el include Top generado. . Sólo puede desactivarlo el propio creador del programa.Atributos opcionales: Son los demás campos de la pantalla. y ver que aparece nuestro programa en la lista.Editor es útil si queremos que el fuente no sea modificado. En este momento. sobre todo si en el programa se realizan operaciones de cálculo. que el proceso ha concluído con éxito. El atributo Bloc. Para verificar. Una vez hemos comprobado que el programa aparece en la lista. aparecerá una pantalla donde veremos la lista de objetos del programa. se recomienda utilizar el Object Browser. Se recomienda tener el flag Calc. situamos el cursor sobre el mismo. el sistema genera automáticamente el programa y el include Top. Al grabar los atributos.

será muy fácil identificar y localizar un determinado proceso.4 OTROS INCLUDES. pues desde el Object Browser. desde esta misma pantalla. sí es altamente recomendable. En un Module Pool. Para crearlos. en includes independientes.2.2. las pantallas o dynpros tienen un papel primordial.2. procesos que se ejecutan antes de presentar una pantalla) y los procesos After Input ( PAI. Aparecerá la siguiente pantalla: . Módulos PAI. Forms o rutinas). Aunque no es obligatorio proceder de este modo. ( Módulos PBO.1. procesos que se ejecutan una vez se ha presentado la pantalla). Asimismo también se aconseja crear un include que contenga todos los forms o subrutinas que intervengan en el programa. Como se verá más adelante. es recomendable agrupar los procesos Before Output ( PBO. marcar Includes y pulsar el icono Crear.

Xxx serán los tres últimos caracteres que figuren en el nombre del programa. dependiendo del quinto carácter utilizado en el nombre del programa. aparece la pantalla de atributos que ya conocemos. dependiendo del quinto carácter utilizado en el nombre del programa.2. Al pulsar Intro. Include Forms: .1 CONVENCIONES DE NOMENCLATURA.2. Xxx serán los tres últimos caracteres que figuren en el nombre del programa. Include Módulos PAI: El nombre del include será : MYxxxI01 o MZxxxI01. aparece la pantalla de atributos que ya conocemos.4. Seguidamente O01 identifica con la O de output. especificando que el tipo de programa es I (Include). En nuestro ejemplo el nombre del include será : MY001O01. Include Módulos PBO: El nombre del include será : MYxxxO01 o MZxxxO01. que el include agrupará todos los procesos PBO. Al pulsar Intro.2.1. En nuestro ejemplo el nombre del include será : MY001I01. que el include agrupará todos los procesos PAI. Seguidamente I01 identifica con la I de input. especificando que el tipo de programa es I (Include).

2. Verificar que aparecen en la lista. o la lógica de proceso de una pantalla. Xxx serán los tres últimos caracteres que figuren en el nombre del programa.1. visualizar cada uno de ellos para ver el código de un determinado proceso. De este modo. el sistema crea automáticamente los procesos que intervienen. En nuestro ejemplo el nombre del include será : MY001F01. es recomendable crear esta estructura porque así. en el programa principal sólo aparecen los includes creados. Tal como se ha explicado anteriormente.2.5 VENTAJAS DE LA MODULARIZACION. un proceso PBO o un proceso PAI. aparece la pantalla de atributos que ya conocemos. 2. Seguidamente F01 identifica con la F de forms.El nombre del include será : MYxxxF01 o MZxxxF01. en el include que corresponda. dependiendo del quinto carácter utilizado en el nombre del programa. ya sea un form. . es más fácil localizar un proceso en un programa y asociarlo inmediatamente a una funcionalidad determinada. siendo necesario. Para verificar que la acción ha sido correcta. Al pulsar Intro. volver al Object Browser y desplegar el tipo de objetos Include de nuestro programa. Al editar el programa. que el include agrupará todos los forms que aparecen en el programa. especificando que el tipo de programa es I (Include).

2.1. Pueden ser de nueva creación o includes ya existentes en otros programas. 2. . “ Include de forms del programa SAPMY002.1. Un dynpro (dynamic process) es el conjunto de una pantalla más su lógica de proceso.1 PANTALLA. Sólo así funcionará la modularización. Una pantalla es la organización de los elementos gráficos que aparecen en una ventana. Ver que sólo aparece operativo el creado automáticamente por el sistema.Atención: Este código del programa principal se ha generado automáticamente sólo por el hecho de haber creado los includes. Ejemplo: INCLUDE MY002F01. desasteriscar los que acabamos de crear.3 DYNPROS. Tener la precaución de.3.2. Nota: Podemos incluir en el fuente del programa principal tantas líneas Include como includes utilice el programa. 2. llegados a este punto.

2. Marcar desde el Object Browser Tipos de objetos de programa y pulsar el icono Crear. En este capítulo.3. (Módulos PBO.1.2. El diseño de la pantalla y el desarrollo de la lógica de proceso se explicarán detalladamente en un capítulo posterior.1. Módulos PAI). Es el conjunto de procesos que gobiernan el comportamiento del programa. Aparecerá la siguiente ventana de diálogo: .4 COMO CREAR UN DYNPRO. antes y después de la presentación de la pantalla.2.2. sólo se describirá el proceso de creación propiamente dicho.2 LOGICA DE PROCESO.

Normalmente. Se suele utilizar la convención 100 para el dynpro de selección y 200 para el de tratamiento. 2.2.Ver que el dynpro que se va a crear. se asocia a nuestro programa SAPMY001. 200…etc. los dynpro de programas standard se identifican por 9*.1 CONVENCIONES DE NOMENCLATURA.1. . Normalmente. Los dynpro se identifican con tres dígitos numéricos distintos de 000. un module pool consta de dos dynpro (el primero de selección y el segundo. es decir 900.4. 910… Los dynpro de programas desarrollados a medida normalmente se identifican por 100. para el tratamiento de los datos). aunque puede tener más.

e. Al pulsar el icono Crear aparecerá la pantalla de atributos: Por defecto aparece cumplimentado el campo Dynpro siguiente con el mismo número de dynpro que estamos creando.2.2.1. Para verificar que el dynpro ha sido creado correctamente. Si queremos que el control pase automáticamente al dynpro siguiente sin tener que programarlo. La siguiente acción a realizar es Grabar y Generar.2 ATRIBUTOS DEL DYNPRO.4. Esto puede ser útil si queremos gobernar desde el programa el comportamiento del dynpro al pulsar return una vez presentada la pantalla. podemos indicar en este campo 200 p. ver si aparece en la lista de objetos de nuestro programa: .

En la barra de menús se definen las funciones disponibles para el usuario. listas de menú. desde el Object Browser. Del mismo modo.2. marcar Tipos de Objetos del programa y pulsar el icono Crear.1.1 COMO CREAR UN STATUS. una aplicación puede tener dos status : Visualización / Actualización. pero ahora habrá que especificar que el objeto que se desea crear es un Status. 2. 2. El Status define la combinación de barras de menú.2. En la lista de menú se especifican las acciones de un menú específico. teclas de función y funciones válidas en un interface.5. que en el caso de creación de dynpros.1.Se repetirá el proceso tantas veces como dynpros queramos utilizar. . Aparece la misma ventana de diálogo que en el caso de creación de pantallas. Por ejemplo.5 GUI STATUS.

Al pulsar el icono Crear. aparece la siguiente pantalla de diálogo: .

sino que es un objeto del programa. Un título es la descripción que aparece en la parte superior del dynpro.1. Normalmente. Análogamente a la creación de los objetos antes definidos. aparecerá la siguiente pantalla: Como siempre.2. consultamos el Object Browser.6.6 TITULOS.2.1 COMO CREAR UN TITULO. Aparece la ventana de diálogo donde especificamos que queremos crear un Título. Nota: Ver que un Status no es un objeto de una pantalla. para que el sistema genere por defecto las características propias de un status de pantalla. para verificar que el título se ha creado correctamente.5. es aconsejable nombrar el Status con el mismo nombre de la pantalla a la que se va a asociar. 2. . sino que es un objeto de un programa. desde el Object Browser marcamos Objetos del Programa y pulsamos el icono Crear.1.2 CONVENCIONES DE NOMENCLATURA.1. y al pulsar Intro.Especificamos que el Status se asociará a un dynpro. Sin embargo. no hay ninguna convención establecida. 2.2. En principio. se asocia el título a un status. Las siguientes acciones a realizar son Grabar y Generar. 2. a pesar de que un título no es un objeto del status.

se especifica el nombre del programa que queremos que se ejecute cuando se lanza la transacción.7. y al pulsar Intro.2. la transacción Y001 ejecutará el programa SAPMY001 presentando el dynpro 100 de dicho programa. En nuestro ejemplo.7 TRANSACCIONES. Una vez hecho esto: Es en esta pantalla.1 COMO CREAR UNA TRANSACCION. En el campo Dynpro. desde el Object Browser marcamos Objetos del Programa y pulsamos el icono Crear. donde se define el comportamiento de la transacción. Análogamente a la creación de los objetos antes definidos.2. Aparece la ventana de diálogo donde especificamos que queremos crear una Transacción.2. .1. aparecerá una ventana donde habrá que especificar que el tipo de transacción ha de ser de diálogo.1. En el campo Programa. 2. Normalmente un module pool puede ser llamado desde una o varias transacciones. especificamos cuál es la pantalla del programa que queremos que se presente.

2. Zxx4 2. Los códigos de transacción constan de cuatro caracteres y deben empezar por Y o Z. Zxx1 Yxx2. En general. con todos los objetos necesarios para su funcionamiento. Zxx3 Yxx4. ya hemos construído el esqueleto de un module pool.2 CONVENCIONES DE NOMENCLATURA. Zxx2 Yxx3. De este modo. El Object Browser nos lo muestra: I-Y001 .7.1.2. se recomienda la siguiente convención: Acción Alta Modificación Borrado Visualización Codificación Yxx1.3 SUMARIO.

........2.................................5 GUI STATUS......1.............. .... .........1..............1 COMO CREAR UNA TRANSACCION....2..............2............................2 ATRIBUTOS DEL DYNPRO....................................................................................7 TRANSACCIONES........2.............................. 12 2.. 13 2...................................2..........1. ............3 SUMARIO...... 14 2........................................2.......................................2............................................................. .....1 REPORTS.......1....1......2 TECNICA RECOMENDADA....6...1........2.................................................................................... 9 2......2.................................2..........................1............. 18 2.................................. 7 2................................. 1 1....... 4 2.....1 PANTALLA...............................1 CONVENCIONES DE NOMENCLATURA.1...... 10 2................ ...1..................... 20 ............................. ........... 1 1............2.......2 LOGICA DE PROCESO............................................. 18 2......... Módulos PAI......7...............................1 COMO CREAR UN STATUS...1 CONVENCIONES DE NOMENCLATURA. ..................... 20 2...2...1 ACCIONES A REALIZAR.2.... ...........1 CONVENCIONES DE NOMENCLATURA..................................................................2............................................. 18 2...........1.... ...............................................2....................1..........2........ .5........................................ 1............1................................................... ......................7.........2................................................................................1..2.....1...............2.........................................3 DYNPROS............................. Definición... 5 2. COMO CREAR UN MODULE POOL................... 4 2............... .................2..................................................3..........................2....................... 2 2.................................. 1 1.............4 COMO CREAR UN DYNPRO..............................................2............ 4 2....................................................................... 19 2........ 1 1........... ................................. 19 2............................ ...2............ 5 2.....1 COMO CREAR UN TITULO.....................2 PROGRAMAS.............................................2.................3................................ (Definición).. 2 2......1.............................1.....6 TITULOS.................. ..................2.......................................... 1 2.........................1 HERRAMIENTAS................1.................................5....... 6 2.......................4...... INTRODUCCION...................2 TRANSACCIONES....2 CONVENCIONES DE NOMENCLATURA............................1 MODULE POOL................. 15 2.....................1 CLASE DE DESARROLLO.MODUL POOL.. 3 2................................................................ Forms o rutinas)................ (OBJECT BROWSER)....................1................2....................................................................................................... 16 2..............4 OTROS INCLUDES..................2.........................3 ATRIBUTOS DEL PROGRAMA.....................1............. Objetos que lo integran y Metodología de tratamiento............................................................................1........... ...1.................................................... 11 2........2...........................1 WORKBENCH.........................................................5 VENTAJAS DE LA MODULARIZACION.......................................1...................2.........1................ ( Módulos PBO..................... 12 2.........................................................................2 CONVENCIONES DE NOMENCLATURA..................................................................... ...........1......................4......2 INCLUDE TOP............................... 13 2.....................................................2...............4............ ..................... 16 2..1...........................................................................................................................................1 TIPOS DE PROGRAMAS..........1.....

Sign up to vote on this title
UsefulNot useful