3/10/2015
Crear Cr ear Dynpros para crear, modificar y visualizar visualizar datos en una base de datos. ~ Aprender ABAP
Si quieres, puedes.
HOME
INDEX
Home » Dynpros » Crear Dynpros para crear, modificar modi ficar y visualizar datos visualizar datos en en una base de datos.
Search
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. martes, diciembre diciembre 10, 2013
No comments
Datos previos: Base de datos ZBIBLIO_SOCIO ZBIBLIO_SOCIOS S (Ver aquí ) Objetivo: Una Dynpro 9000 9000 con tres botones (Crear, Modificar Mod ificar y Visualizar). Visualiza r). Una Dynpro 9001 para añadir datos a la base de datos. Una Dynpro 9002 como ventana de diálogo modal, para introducir el código de socio. Una Dynpro 9003, como ventana de diálogo modal, para Modificar o Visualizar un socio de la base de datos.
Popular
Ta gs gs
B lo log A rc rc hi hiv es es
Esquema de las cuatro dynpros: En esta entrada se va a explicar cómo instalar MiniSAP. Se recomienda instalarlo en una máquina virtual, ya que se crean cuentas de usuarios...
Datos previos: Base de datos ZBIBLIO_SOCIOS ZBIBLIO_SOCIO S ( Ver aquí ) Objetivo: Una Dynpro 9000 con tres botones (Crear, Modificar y Visualiza...
Esquema de los dynpros.
El primer paso es crear un Module Pool en la SE38:
En la transacción SE80, visualizamos el programa SAPLKKBL. Visualizamos Visualizam os el programa SAPLKKBL. Navegamos en el árbol hasta la pestaña... Objetivos: Crear un Tabstrip, y en una pestaña mostrar los socios en una tabla de control Seleccionar los socios a modificar con un chec...
Crear un Module Pool en la SE38
Para poder mostrar un ALV Report de una tabla interna se necesitará como mínimo una tabla interna llamada it_fieldcat. En dicha tabla intern...
Añadir una Dynpro (Screen) al Module Pool creado pulsando el botón derecho: Objetivo: Imprimir un Smartform en un Report. La variable CARRID será un parámetro de entrada del Smartform. Se mostrará el código de b... http://apr ender abap.bl ogspot.pe/2013/12/cr ear - dynpr os- par a- cr ear - modi fi car - y.htm l
1/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Para ver el listado de iconos SAP con sus códigos, ir a la SE38 y buscar el programa ADITES26. Ejecutarlo y se mostrará el listado. Busc...
En algunos casos, se exige que unos determinados usuarios no puedan utilizar unos campos específicos en la pantalla de selección. En este ej...
En este ejercicio va a existir un RADIOBUTTON en el que si indica búsqueda básica, se mostrarán los tres primeros campos de búsqueda
Añadir una Dynpro al Module Pool creado.
del SE...
Crear las siguientes tablas: 1. Tabla: ZBIBLIO_SOCIOS Campo Tipo Código de socio NUMC-4 DNI CHAR-9 Nomb...
Indicar el número de pantalla (se recomienda a partir de 9000).
Crear el elemento tipo OK de la pantalla 9000.
Descomentar los módulos PBO y PAI, y crear ambos objetos pinchando dos veces en el nombre.
En nuestro programa principal se nos habrán creado los objetos PBO y PAI en el código del programa.
Objetos PBO y PAI en el programa.
Como se puede apreciar, en el PBO se añade un Status y un Título, y en el PAI la salida del programa cuando el usuario pulsa el botón Cancel. http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
2/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Para crear el STATUS y el título se pincha dos veces en el nombre:
Descripción del Status
Activación del botón Cancel cómo mínimo para salir del programa.
Descripción del título del programa.
Pinchamos dos veces al Dynpro 9000 y vamos al Layout para editar la pantalla. Se introducirán los botones de crear, modificar y visualizar:
Ir al Layout para editar la pantalla.
Escribir el código de función del botón.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
3/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Botones creados en el Dynpro 9000.
Para poder ejecutar la pantalla creada, es necesario crear una transacción. Hay dos formas: 1. En la SE93 2. Directamente en el programa
Crear la transacción en la SE93.
Crear la transacción directamente en el programa.
Se indicará la descripción, el nombre del Module Pool y la pantalla.
Descripción de la transacción.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
4/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Module Pool y Dynpro para que la transacción lo ejecute.
Creamos la Dynpro (Screen) 9001 tal y como creamos la 9000. Las únicas diferencias son: 1. Añadimos el botón BACK para volver al screen 9000 en el STATUS_9001. 2. El campo de entrada/salida se nombra con el nombre de la tabla ZBIBLIO_SOCIOS para referenciar sus características.
Añadimos el botón Back.
Nombras el campo de entrada/salida con el mismo nombre para referenciar.
Dynpro 9001 resultante.
Se necesita comprobar que el nuevo código de socio no existe en la base de datos. Para ello recurrimos al Process After Input (PAI) para comprobar si el valor introducido existe en la base de datos. Se indica el campo con un CHAIN y el módulo correspondiente a ejecutar (ver código resultante al final).
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
5/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
PROCESS BEFORE OUTPUT . MODULE status_9001. * PROCESS AFTER INPUT . CHAIN. FIELD zbiblio_socios-cod_socio. MODULE existe_socio. ENDCHAIN. MODULE user_command_9001.
A continuación creamos la Dynpro 9002 con sus correspondientes campos como ventana de diálogo modal. En este caso, el Status tiene que ser del mismo tipo:
Status 9002 como diálogo modal.
Añadimos el código para cuando el usuario pulsa X para salir.
En este caso, dependiendo del botón pulsado en la Dynpro 9000, el b otón tendrá como texto Modificar o Visualizarse, por tanto es necesario indicar el botón como campo de salida.
Botón como campo output en el Dynpro 9002.
Finalmente creamos la Dynpro 9003 como ventana de diálogo modal.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
6/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Dynpro 9003 como ventana de diálogo modal.
Esta misma Dynpro se va a utilizar para la acción de modificar o visualizar. Las diferencias con respecto a la 9001 son: 1. El campo del código de socio es solo output (El usuario ya ha sido introducido en la Dynpro 9002). 2. Todos los campos de entrada/salida, salvo el primero, tendrán un identificador de Grupo1 llamado ID1. Si se da al b otón de visualizar, ningún campo es editable, por lo tanto identificamos con ID1 los campos a modificar esa opción. 3. El botón será un campo de salida, tal y como en el Dynpro 9002.
El campo input del código de socio es solo output.
Identificador de grupo ID1 en todos los campos de entrada/salida salvo en código de socio.
Botón como campo de salida.
Los códigos son los siguientes: http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
7/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Dynpro 9000 PROCESS BEFORE OUTPUT . MODULE STATUS_9000. * PROCESS AFTER INPUT . MODULE USER_COMMAND_9000.
Dynpro 9001 PROCESS BEFORE OUTPUT . MODULE status_9001. * PROCESS AFTER INPUT . CHAIN. FIELD zbiblio_socios-cod_socio. MODULE existe_socio. ENDCHAIN. MODULE user_command_9001.
Dynpro 9002 PROCESS BEFORE OUTPUT . MODULE status_9002. MODULE inicial_9002. * PROCESS AFTER INPUT . CHAIN. FIELD zbiblio_socios-cod_socio. MODULE existe_socio. ENDCHAIN. MODULE user_command_9002.
Dynpro 9003 PROCESS BEFORE OUTPUT . MODULE status_9003. MODULE inicial_9003. * PROCESS AFTER INPUT . MODULE user_command_9003.
Module Pool *&---------------------------------------------------------------------* *& Module Pool ZBIBLIO_CREAR_MODIF_VISUAL *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* PROGRAM zbiblio_crear_modif_visual. TABLES: zbiblio_socios. DATA: g_st_socios TYPE zbiblio_socios. DATA:
ok_code_9000 ok_code_9001 ok_code_9002 ok_code_9003
TYPE sy-ucomm, TYPE sy-ucomm, TYPE sy-ucomm, TYPE sy-ucomm.
DATA: b_9002_boton(20) TYPE c, "Texto de los botones output b_9003_boton(20) TYPE c. DATA: g_wa_existe_socio TYPE c, "Búsqueda en dynpro 9002 g_wa_vuelta TYPE i. "Al iniciar PBO del dynpro 9003 *&---------------------------------------------------------------------* *& Module STATUS_9000 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_9000 OUTPUT.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
8/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
SET PF-STATUS 'STATUS_9000' . SET TITLEBAR 'TITLE_9000' . ENDMODULE . " STATUS_9000 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_9000 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_9000 INPUT. CASE ok_code_9000. WHEN 'CANCEL'. LEAVE PROGRAM. WHEN 'CREAR'. CALL SCREEN 9001. WHEN 'MODIFICAR' . CALL SCREEN 9002 STARTING AT 10 10. WHEN 'VISUALIZAR' . CALL SCREEN 9002 STARTING AT 10 10. ENDCASE. ENDMODULE . " USER_COMMAND_9000 INPUT *&---------------------------------------------------------------------* *& Module STATUS_9001 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_9001 OUTPUT. SET PF-STATUS 'STATUS_9001' . SET TITLEBAR 'TITLE_9001' . ENDMODULE . " STATUS_9001 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_9001 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_9001 INPUT. CASE ok_code_9001. WHEN 'BACK'. CALL SCREEN 9000. WHEN 'CANCEL'. LEAVE PROGRAM. WHEN 'CREAR'. INSERT zbiblio_socios. MESSAGE 'Usuario creado' type 'I'. ENDCASE. ENDMODULE . " USER_COMMAND_9001 INPUT *&---------------------------------------------------------------------* *& Module STATUS_9002 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_9002 OUTPUT. SET PF-STATUS 'STATUS_9002' . SET TITLEBAR 'TITLE_9002' . ENDMODULE . " STATUS_9002 OUTPUT *&---------------------------------------------------------------------* *& Module MODIFICAR_VISUALIZAR OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE inicial_9002 OUTPUT. PERFORM f_inicial. ENDMODULE . " MODIFICAR_VISUALIZAR OUTPUT *&---------------------------------------------------------------------* *& Module VALIDA_SOCIO INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE existe_socio INPUT.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
9/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
PERFORM f_existe_socio. IF ok_code_9000 = 'CREAR' AND g_wa_existe_socio = 'X'. MESSAGE 'El usuario ya existe' TYPE 'E'. ELSEIF ( ok_code_9000 = 'MODIFICAR' OR ok_code_9000 = 'VISUALIZAR' ) AND g_wa_existe_socio <> 'X'. MESSAGE 'El usuario no existe' TYPE 'E'. ENDIF. ENDMODULE . " EXISTE_SOCIO INPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_9002 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_9002 INPUT. CASE ok_code_9002. WHEN 'BACK'. CALL SCREEN 9000. WHEN 'CANCEL'. LEAVE PROGRAM. CLEAR: g_st_socios, g_wa_existe_socio. WHEN 'ACCION'. IF g_wa_existe_socio = 'X'. g_wa_vuelta = 1. CALL SCREEN 9003 STARTING AT 10 10. ENDIF. ENDCASE. ENDMODULE . " USER_COMMAND_9002 INPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_9003 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_9003 INPUT. CASE ok_code_9003. WHEN 'BACK'. CALL SCREEN 9000. WHEN 'CANCEL'. LEAVE PROGRAM. WHEN 'ACCION'. IF ok_code_9000 = 'MODIFICAR' . PERFORM f_modificar. ENDIF. ENDCASE. ENDMODULE . " USER_COMMAND_9003 INPUT *&---------------------------------------------------------------------* *& Module STATUS_9003 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_9003 OUTPUT. SET PF-STATUS 'STATUS_9003' . IF ok_code_9000 = 'MODIFICAR' . SET TITLEBAR 'TITLE_9003_1' . ELSEIF ok_code_9000 = 'VISUALIZAR' . SET TITLEBAR 'TITLE_9003_2' . ENDIF. ENDMODULE . " STATUS_9002 OUTPUT *&---------------------------------------------------------------------* *& Module INICIAL_9003 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE inicial_9003 OUTPUT. PERFORM f_inicial. IF g_wa_vuelta = 1. PERFORM f_ver_socio. g_wa_vuelta = g_wa_vuelta + 1.
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
10/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
ENDIF. ENDMODULE . " INICIAL_9003 OUTPUT *&---------------------------------------------------------------------* *& Form F_INICIAL *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM f_inicial. * Cambiar el texto del botón IF ok_code_9000 = 'MODIFICAR' . b_9002_boton = 'Modificar' . b_9003_boton = 'Modificar' . ELSEIF ok_code_9000 = 'VISUALIZAR' . b_9002_boton = 'Visualizar' . b_9003_boton = 'Visualizar' . *
No editable cuando es visualización LOOP AT SCREEN . IF screen-group1 = 'ID1'. screen-input = 0. MODIFY SCREEN . ENDIF. ENDLOOP. ENDIF.
ENDFORM. " F_INICIAL *&---------------------------------------------------------------------* *& Form F_EXISTE_SOCIO *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM f_existe_socio . DATA: l_st_socios TYPE zbiblio_socios. IF zbiblio_socios-cod_socio IS NOT INITIAL. SELECT SINGLE * FROM zbiblio_socios INTO l_st_socios WHERE cod_socio = zbiblio_socios-cod_socio. IF sy-subrc = 0. g_wa_existe_socio = 'X'. ELSEIF sy-subrc <> 0. CLEAR g_wa_existe_socio. ENDIF. ENDIF. ENDFORM. " F_EXISTE_SOCIO *&---------------------------------------------------------------------* *& Form F_MODIFICAR_9002 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM f_modificar. * Los datos del input se actualizan a la base datos (mismo nombre) UPDATE zbiblio_socios. MESSAGE 'Usuario modificado' TYPE 'I'. ENDFORM. " F_MODIFICAR *&---------------------------------------------------------------------* *& Form F_VER_SOCIO *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM f_ver_socio .
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
11/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
DATA l_st_socio TYPE zbiblio_socios. SELECT SINGLE * FROM zbiblio_socios INTO l_st_socio WHERE cod_socio = zbiblio_socios-cod_socio. zbiblio_socios = l_st_socio. ENDFORM.
" F_VER_SOCIO Recomendar esto en Google
Objetivos: Crear un Tabstrip, y en una pestaña mostrar los socios en una tabla de control Seleccionar los socios a modificar con un checkbox Ejecutar con un Batch Input la modificación de cada uno de los socios seleccionado… Read More
Objetivo: Modificar el texto de un botón una vez que que se haya introducido el texto en un campo input/output. Creamos una dynpro con un campo texto, un input/output y un botón. Las características más importantes son:… Read More
Datos previos: Base de d atos ZBIBLIO_SOCIOS (Ver aquí) Objetivo: Una Dynpro 9000 con tres botones (Crear, Modificar y Visualizar). Una Dynpro 9001 para añadir datos a la base de datos. Una Dynpro 9002 como ventana de … Read More
← Entrada más reciente
Página principal
Entrada antigua →
Introduce tu comentario...
Comentar como:
Publicar
Cuenta de Go
Vista previa
Venta de Calaminas Todas las medidas al mejor precio. Galvanizadas y metálicas ¡Consulte!
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
12/13
3/10/2015
Crear Dynpros para crear, modificar y visualizar datos en una base de datos. ~ Aprender ABAP
Copyright © 2015 Aprender ABAP | Powered by Blogger
http://aprenderabap.blogspot.pe/2013/12/crear-dynpros-para-crear-modificar-y.html
Design by NewWpThemes | Blogger Theme by Lasantha - PremiumBloggerTemplates.com NewBloggerThemes.com
13/13