You are on page 1of 7

Crear programa de mantenimiento con

opciones mltiples en modalidad de


ventana de opciones emergente en
SAP.

Pantalla inicial de la transaccin de mantenimiento.


Imagen Vista de mantenimiento #1.
Imagen Vista de mantenimiento #2.
Cdigo Fuente
*&--------------------------------------------------------------
-------*
*& Report ZBI_MANTENIMIENTO_JERCTAS
*& Autor: Brayhan E.C.R
*& Fecha: 20.04.2017
*& Descripcin: Se muestran los mantenimientos relativos a las j
erar-
*& quas de Grupos de Cuentas, tanto los necesarios para crear y
*& modificar jerarquas como los necesarios para asignar Grupos
de cuen-
*& tas a estas jerarquas.
*&--------------------------------------------------------------
-------*
*&
*&
*&--------------------------------------------------------------
-------*

REPORT zbi_mantenimiento_jerctas.

TABLES sscrfields.

*---------------------------------------------------------------
-----*
* PANTALLAS
*---------------------------------------------------------------
-----*
SELECTION-SCREEN:
BEGIN OF SCREEN 100 AS WINDOW TITLE titulo,
BEGIN OF LINE,
PUSHBUTTON 2(31) btn_act USER-COMMAND mnt1,
END OF LINE,
BEGIN OF LINE,
PUSHBUTTON 2(31) btn_aact USER-COMMAND mnt2,
END OF LINE,
END OF SCREEN 100.
AT SELECTION-SCREEN.
CASE sscrfields.
WHEN 'MNT1'.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'S'
view_name = 'ZBI_AGRU_GRPCTA'.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

WHEN 'MNT2'.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = 'S'
view_name = 'ZBI_ARBOL_GRPCTA'.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
WHEN OTHERS.
ENDCASE.

START-OF-SELECTION.
titulo = 'Mantenimientos de Jerarquas de cuentas: BI'.
btn_act = 'Mant. Jerarquas Grp.Ctas.'.
btn_aact = 'Asignacin Jerarquas Grp.Ctas.'.

CALL SELECTION-SCREEN 100 STARTING AT 15 10.


Pasos a seguir
1. Se crea un selection-screen con nmero de dynpro seguido de la
sentencia AS WINDOW.
2. Se definen los botones en sus correspondientes lneas con el uso de
las sentencias BEGIN OF LINE, END OF LINE,. Cabe notar
que esto no es obligatorio pero de no utilizarse los botones estaran
contiguos y habra que modificar las posiciones establecidas para
cada botn ya que estaran localizados en la misma lnea lo que
resultara en un error al activar el programa.
3. Se llama la pantalla como es costumbre en el evento START-OF-
SELECTION.
4. Evaluamos las acciones de usuario en el evento
AT SELECTION-SCREEN definido anteriormente y mediante el
uso del mdulo de funciones 'VIEW_MAINTENANCE_CALL' llamamos
la vista de mantenimiento para las tablas de base de datos a las que
se les haya generado una, de esta forma no es necesario la creacin
de una transaccin para la vista de mantenimiento a no ser que
queramos una para llamar estas vistas directamente.
Los parmetros necesarios para invocar esta funcin correctamente
son los siguientes:
action
El cual puede tener los siguientes valores:
S > Visualizar/Modificar
R > Slo lectura
T > Transportar
U > Actualizar campos no clave

view_name
Este recibe el nombre de la tabla de base de datos a la cual le
hemos creado el mantenimiento mediante la transaccin SE11.