E-SAP UNITED STATES

. ÁREA RECURSOS SAP - RECURSOS TÉCNICOS ABAP

 E-SAP

CAPACITACION
PROFESIONALES EGRESADOS
INGRESO ALUMNOS
CAPACITACION EMPRESAS
MODELO DE CAPACITACION
PREGUNTAS FRECUENTES

CARRERAS
:: CONSULTOR EN SAP ABAP
PROGRAMADOR ABAP INICIAL
PROGRAMADOR ABAP AVANZ.
:: CONSULTOR EN SAP PORTAL
WEBDYNPRO JAVA INICIAL
WEBDYNPRO JAVA AVANZADO
:: ANALISTA EN SAP BI / BW
DESARROLLADOR BI INICIAL
DESARROLLADOR BI AVANZ.
:: ADMIN. EN SAP NETWEAVER
CONSULTOR BASIS INICIAL
CONSULTOR BASIS AVANZADO
:: CONSULTOR FUNCIONAL SD
CONSULTOR SD INICIAL
CONSULTOR SD AVANZADO
:: CONSULTOR FUNCIONAL MM
CONSULTOR MM INICIAL
CONSULTOR MM AVANZADO
:: CONSULTOR FUNCIONAL FI
CONSULTOR FI INICIAL
CONSULTOR FI AVANZADO
CURSOS
INTRODUCCION A SAP R/3
ABAP ORIENTADO a OBJETOS.

RECURSOS
SERVICIOS CONSULTORIA SAP
BOLETIN DE NOTICIAS SAP
RECURSOS SAP FREE
REDES SOCIALES
RECURSOS HUMANOS

 :: RECURSOS TECNICOS ABAP

ESAP - CENTRO DE CAPACITACION CAPACITACION SAP ESAP - CENTRO DE CAPACITACIÓN PROFESIONAL SAP

    PROGRAMACIÓN DE DIÁLOGO - MODULE POOL


En esta sección se analizan diferentes aspectos sobre la programación de Dialogo Module Pool de ABAP.

También se analizan los eventos y procesos intervinientes en las mismas.

La carrera "Programador Abap Nivel Avanzado" contempla de manera completa la programación de dialogo en abap tratando el tema con la profundidad qu el mismo merece.

recursos programacion SAP ABAP


Capacitación SAP - ABAP P. PRECONFIGURACIONES
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAPP.1 Llamada a una dynpro y traspaso de valores

Capacitación SAP - ABAP 1. EVENTO PBO (Procesamiento ANTES de mostrar la pantalla)
--------------------------------------------------------------------

CURSO ABAP - CAPACITACION SAP1.1 INTRODUCCCION
CURSO ABAP - CAPACITACION SAP1.2 DECLARACION

CURSO ABAP - CAPACITACION SAP1.3 DEFINICION DEL MENU ESTATUS - "STATUS GUI"
CURSO ABAP - CAPACITACION SAP1.3.1 DECLARACION
CURSO ABAP - CAPACITACION SAP1.3.2 RUTINA DE EJEMPLO
CURSO ABAP - CAPACITACION SAP1.3.3 EXCLUIR BOTONES DE UN STATUS

CURSO ABAP - CAPACITACION SAP1.4 MODIFICACIÓN DE LOS ATRIBUTOS DE LOS CAMPOS DE LA DINPRO
    (Habilitación / Deshabilitación) de campos

CURSO ABAP - CAPACITACION SAP1.5 RECUPERACION DE DATOS.

CURSO ABAP - CAPACITACION SAP1.6 SET CURSOR - FIELD


Capacitación SAP - ABAP 2. EVENTO PAI (Procesamiento LUEGO de la entrada de datos)
--------------------------------------------------------------------
CURSO ABAP - CAPACITACION SAP2.1 PAI INTRODUCCION
CURSO ABAP - CAPACITACION SAP2.2 DECLARACIÓN

CURSO ABAP - CAPACITACION SAP2.3 MODULOS
CURSO ABAP - CAPACITACION SAP2.3.1 DECLARACIÓN Y EJECUCIÓN CONDICIONADA DE MODULOS
CURSO ABAP - CAPACITACION SAP2.3.1.1 RUTINA DE EJEMPLO
CURSO ABAP - CAPACITACION SAP2.3.2 AT EXIT-COMMAND / funcion tipo E - EXIT
CURSO ABAP - CAPACITACION SAP2.3.3 ON CHAIN-REQUEST
CURSO ABAP - CAPACITACION SAP2.3.4 ON INPUT / Se Ejecuta si el campo NO está vacío
CURSO ABAP - CAPACITACION SAP2.3.5 ON * INPUT / Se ejecuta si el usuario colocó un asterisco en el campo
CURSO ABAP - CAPACITACION SAP2.3.6 ON REQUEST / Si el campo posee nueva entrada
CURSO ABAP - CAPACITACION SAP2.3.7 ON CHAIN-INPUT / Se Ejecuta si el campo NO está vacío y es diferente al inicial
CURSO ABAP - CAPACITACION SAP2.3.8 ON CHAIN-REQUEST / Detección de cambios en campo
CURSO ABAP - CAPACITACION SAP2.3.9 AT CURSOR-SELECTION
CURSO ABAP - CAPACITACION SAP2.3.10 INPUT / Declaracion por defecto de módulo en PAI
CURSO ABAP - CAPACITACION SAP2.3.11 OUTPUT / Declaración por defecto de módulo en PBO

CURSO ABAP - CAPACITACION SAP2.4 FIELD - Checheo de un campo de entrada
CURSO ABAP - CAPACITACION SAP2.4.1 - CHECKEAR UN CAMPO CONTRA BASE DE DATOS
CURSO ABAP - CAPACITACION SAP2.4.2 - CHECKEAR UN CAMPO CONTRA LISTA DE VALORES

CURSO ABAP - CAPACITACION SAP2.5 CHAIN ENDCHAIN - COMPORTAMIENTO
CURSO ABAP - CAPACITACION SAP2.5.1 - CHAIN ENDCHAIN - CODIFICACION
CURSO ABAP - CAPACITACION SAP2.5.2 - ON CHAIN-INPUT / Si almenos unn campo posse valor

CURSO ABAP - CAPACITACION SAP2.6 MODULE XXXX
CURSO ABAP - CAPACITACION SAP2.6.1 - DETECCION DE CAMBIOS EN CAMPOS -> ON CHAIN-REQUEST

CURSO ABAP - CAPACITACION SAP2.7 DETECCIÓN DE EVENTOS EJECUTADOS

CURSO ABAP - CAPACITACION SAP2.E.1 Ejemplo con Validacion de un solo campo
CURSO ABAP - CAPACITACION SAP2.E.2 Ejemplo con Validacion de 2 campos


Capacitación SAP - ABAP 3. EVENTO PROCESS ON VALUE-REQUEST (Definicion de ayudas de busqueda - F4).
-----------------------------------------------------------------------------------------
CURSO ABAP - CAPACITACION SAP3.1 INTRODUCCIÓN
CURSO ABAP - CAPACITACION SAP3.2 DECLARACION

CURSO ABAP - CAPACITACION SAP3.E.1 Ejemplo de CREACIÓN DE UNA AYUDA DE BUSQUEDA EN POPUP.

Capacitación SAP - ABAP 4. EVENTO PROCESS ON HELP-REQUEST. (Se ejecuta cuando al pulsar ayuda - F1 ).
------------------------------------------------------------------------------------------
CURSO ABAP - CAPACITACION SAP4.1 INTRODUCCIÓN


Capacitación SAP - ABAP 5. SCREEN PAINTER (Editor de pantallas)
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP5.0 NOMENCLATURAS
CURSO ABAP - CAPACITACION SAP5.1 ELEMENTOS DINPROS


Capacitación SAP - ABAP 6. OBJETO TABSTRIP.
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAP6.1 INTRODUCCIÓN
CURSO ABAP - CAPACITACION SAP6.2 DECLARACIÓN

Capacitación SAP - ABAP STATUS GUI
-----------------------------------------------------------
CURSO ABAP - CAPACITACION SAPS.1 INTRODUCCIÓN
CURSO ABAP - CAPACITACION SAPS.2 DEFINICIÓN DE BOTÓN TIPO EXIT




 
Inscríbete a nuestro Exclusivo Boletín de Noticias SAP, para recibir mensualmente las mejores notas y recursos técnicos gratuitos directamente en tu casilla de correos.
>> Inscribirte
ESAP - CURSOS SAP  ABAP
 


*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*


------------------------------------------------------------------------
Capacitación SAP - ABAP P. PRECONFIGURACIONES
========================================================

P.1
::> LLAMADA A UNA DYNPRO Y TRASPASO DE VALORES
---------------------------------------------------------

Antes de llamar a una dinpro es posible pasarle valores a los campos
de la misma

* Muevo los campos de la tabla a los de la dynpro
MOVE-CORRESPONDING tg_equi TO equi.
MOVE tg_equi-eqktx TO eqkt-eqktx.

CALL SCREEN '0100'.


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*


------------------------------------------------------------------------
Capacitación SAP - ABAP 1. EVENTO ->PBO - Process BEFORE (ANTES) OUTPUT
========================================================

Recuperacion de datos útiles para la pantalla

1.1
::> INTRODUCCION
---------------------

El PBO Se ejecuta Antes de mostrarse la dinpro.

El PAI se ejecuta cuando el usuario interactúa con la pantalla, luego
de que la misma sea presentada.

La secuencia normal de procesamiento consta de:
- Definicion de los menus estatus - ( "STATUS GUI" ).
- Recuperacion de datos de las tablas, contantes, etc para el despliegue de la dimpro.
- Inicializacion de campos y valores.


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


1.2
::> DECLARACION
--------------------
PROCESS BEFORE OUTPUT.

* MODULE STATUS_0201.


 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


1.3
::> DEFINICIÓN DEL STATUS BAR
-----------------------------------


El estatus bar debe ser la primer llamada que posee el PBO, en ella se
define el menú estatus que posee cada dynpro y el titulo de la misma

 


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



1.3.1
::> DECLARACION
-------------------
PROCESS BEFORE OUTPUT.
MODULE status_0100.


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


1.3.2
::> RUTINA EJEMPLO.
-----------------------

*&---------------------------------------------------------------------*
*& Module status_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

SET PF-STATUS '0100'.
SET TITLEBAR '0100'.

ENDMODULE. " status_0100 OUTPUT

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 




1.3.3
::> EXCLUIR BOTONES DE UN STATUS
------------------------------------------


1º Declarar la tabla de exclución como global
DATA: tg_excl TYPE TABLE OF sy-ucomm.

2º En el PBO del LOG del proceso declaramos el status .
* Grisado de los campos del status.
MODULE mpnt_at_status.


3º Declaración de Rutina:

*El status '0100' posse 3 botones, de los cuales excluimos 2 para esta dympro.

*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

SET PF-STATUS '0100'.
SET TITLEBAR '0100'.

* Exluir los campos seleccionados de la dinpro
APPEND 'VISUALIZAR' TO tg_excl.
APPEND 'MODIFICAR' TO tg_excl.
SET PF-STATUS '0100' EXCLUDING tg_excl.

ENDMODULE. " STATUS_0100 OUTPUT

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 




1.4
::> MODIFICACIÓN DE LOS ATRIBUTOS DE LOS CAMPOS DE LA DINPRO
-----------------------------------------------------------------------

Mediante esta rutina se lleva a cabo la Habilitación / Deshabilitación
de campos


DECLARACION
--------------

* Modifico los atributos de los campos de la dynpro
MODULE mpnt_at_0100.


RUTINA
--------

*&---------------------------------------------------------------------*
*& Module mat_layout_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE mpnt_at_0100 OUTPUT.

* Griso el campo EQUI-EQUNR
LOOP AT SCREEN.

IF screen-name = 'EQUI-EQUNR'.
screen-input = 0.
ENDIF.

IF screen-name = 'EQUI-TYPBZ'.
IF NOT equi-herst IS INITIAL.
* Si el campo Fabricante esta informado => griso la descripcion
* del fabricante
screen-input = 0.
ELSE.
* Si el campo Fabricante NO esta informado => habilito la
* descripcion del fabricante
screen-input = 1.
ENDIF.

ENDIF.
MODIFY SCREEN.

ENDLOOP.

ENDMODULE. " mpnt_at_0100 OUTPUT



                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 




1.5
::> RECUPERACION DE DATOS.
---------------------------------

* Ejemplo de declaración para la recuperación de datos:


MODULE mabd_co_descripciones_0100.
* Nomenclatura:
M: MODULE
ABD_CO: Abreviatura de Acceso a base de datos con operación de consulta
"descripciones": Texto libre descriptivo
_100: Indicador del número de dinpro


RUTINA Ejemplo:
---------------

*&---------------------------------------------------------------------*
*& Module mabd_co_descripciones_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE mabd_co_descripciones_0100 OUTPUT.

CLEAR t370u.

IF NOT equi-eqtyp IS INITIAL.
SELECT SINGLE typtx INTO t370u-typtx
FROM t370u
WHERE eqtyp = equi-eqtyp
AND spras = sy-langu.
ENDIF.

ENDMODULE. " mabd_co_descripciones_0100 OUTPUT


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 



1.6
::> SET CURSOR - FIELD.
---------------------------

Posiciona el cursor sobre un campo de una dinpro.

SET CURSOR <nombre_campo>.


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: La mejor capacitación en SAP está a tu alcance. ::
  ESAP Posee el más avanzado y efectivo sistema de Capacitación SAP. Conocelo!



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 



------------------------------------------------------------------------
Capacitación SAP - ABAP 2. EVENTO -> PAI - Process AFTER (DESPUES) INTPUT
========================================================

Tratamiento de la entrada de datos

2.1
::> PAI - Introduccion
------------------------

El PAI se ejecuta cuando el usuario interactúa con la pantalla, luego
de que la misma sea presentada.

La secuencia normal de procesamiento consta de:

- Verificar si el usuario pulso alguna tecla de salida ("AT EXIT-COMMAND")
- Validar entradas ingresadas.
- Procesar las acciones y botones ejecutados (USER_COMMAND)


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP




2.2
::> DECLARACIÓN
-------------------

El PAI se ejecuta cuando el usuario interactúa con la pantalla pudiendo:
- Acceder a algun punto del menú.
- Usar alguna tecla del sistema.
- Presionar "ENTER".

El PAI tiene como funciones:
- Validaciones de entradas.
- Procesar los eventos que genera el usuario.
- Almacenamiento de datos

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP




2.3
::> MODULOS.
----------------

Podemos detectar los eventos desatados por el usuario ya sea mediante acciones
en el menú, teclas de funcion o tecla ENTER.

Para ello podemos evaluar el valor de la variable SY-UCOMM o tambien se estila
usar la variable OK_CODE definida como un campo del tipo OK de 4 posiciones

El module que maneja este código normalmente es declarado luego de las verificaciones
de los campos.

DECLARACIÓN Y EJECUCIÓN CONDICIONADA DE MODULOS :
----------------------------------------------------------

:: Declaracion:

PROCESS AFTER INPUT.
MODULE exit_0100.

:: Tipos de condicionales:

MODULE nombre_módulo[ AT EXIT-COMMAND ] [ ON INPUT ] [ ON * INPUT ][ ON REQUEST ]
[ ON CHAIN-INPUT ] [ ON CHAIN-REQUEST ][ AT CURSOR-SELECTION ] [ INPUT ] [ OUTPUT ].

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 



2.3.1
::> RUTINA EJEMPLO:
-----------------------

*&---------------------------------------------------------------------*
*& Module exit_0100 INPUT
*&---------------------------------------------------------------------*
MODULE exit_0100 INPUT.
*Los siguientes botones han sido definidos del tipo "E" en la status gui

CASE ok_code.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
CLEAR ok_code.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.

ENDMODULE. " exit_0100 INPUT


 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.2
::> MODULE nombre_modulo AT EXIT-COMMAND.
-----------------------------------------
---------
Al presionar un botón definido del tipo 'E' ( EXIT ), se ectiva esta rutina.

-> Declaración:
MODULE exit_0200 AT EXIT-COMMAND.

-> RUNTINA EJEMPLO

*&---------------------------------------------------------------------*
*& Module exit_0200 INPUT
*&---------------------------------------------------------------------*
MODULE exit_0200 INPUT.
CASE ok_code.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
CLEAR ok_code.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.
ENDMODULE. " exit_0200 INPUT


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.3
::> MODULE nombre_modulo ON CHAIN-REQUEST.
-----------------------------------------------------

En construccion..

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.4
::> MODULE nombre_modulo ON INPUT.
------------------------------------------

Se Ejecuta si el campo NO está vacío
El módulo debe declararse dentro de un FIELD.

-> Declaración:
FIELD xxx MODULE abc ON INPUT.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.5
::> MODULE nombre_modulo ON * INPUT.
-------------------------------------------

Se ejecuta si el usuario colocó un asterisco en el campo

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.6
::> MODULE nombre_modulo ON REQUEST.
-----------------------------------------
----
Se ejecuta si el usuario cambia el/los valor del campo.
El módulo debe declararse dentro de un FIELD.

-> DECLARACIÓN:
FIELD xxx MODULE abc ON REQUEST.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.3.7
::> MODULE nombre_modulo ON CHAIN-INPUT.
--------------------------------------------
Se Ejecuta si el campo NO está vacío y es diferente al inicial


-> Declaración:

FIELD xxx MODULE abc ON INPUT.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

2.3.8
::> MODULE nombre_modulo ON CHAIN-REQUEST.
-----------------------------------------------------

En construccion

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


2.3.9
::> MODULE nombre_modulo AT CURSOR-SELECTION.
-------------------------------------------------------

En construccion

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 

2.3.10
::> MODULE nombre_modulo INPUT.
---------------------------------------

Pasa siempre
El funcionamiento de de los eventos desatados por el usuario, lo podemos
ver claramente en el siguiente module


MODULE user_command_2000 INPUT.

CASE sy-ucomm. " tambien podemos preguntar por el campo OK_CODE si está definido
WHEN 'BACK' OR 'CANC' OR 'EXIT'.
LEAVE PROGRAM.
WHEN 'EJECUTAR'.
* Recupera los pedidos para el informe
PERFORM ftti_cg_pedidos.
WHEN OTHERS.
* LEAVE TO SCREEN 2000.
ENDCASE.
ENDMODULE. " USER_COMMAND_2000 INPUT

 


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 

*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: Capacitate en SAP con especialistas en el área ::
  No dejes tu carrera en manos impovisadas, ESAP es tu mejor elección.



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

 

2.3.11
::> MODULE nombre_modulo OUTPUT.
----------------------------------------

En construccion

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


2.4
::> FIELD
-----------

Field lleva a cabo la validacion de UN CAMPO en una dimpro.
Ante caso de error será el único campo que se muestre activo en la dimpro.
Se pueden desplegar mensajes de ERROR o mensajes de WARNING.


Ante un WARNING, el flow-control se comporta:
- Muestra el mensaje de error (se debe aceptar con un enter)
- Continua con la ejecución del PAI.

Ante un ERROR, el flow-control se comporta:
- Detiene la ejecución del programa (termina el PAI y NO ejecuta el PBO).
- Muestra el mensaje de error.
- La DYNPRO, se muestra con TODOS sus campos deshabilitados.
(salvo que exista definido un bloque chain-endchain)
- El programa termina su ejecucion.
(salvo que exista definido un bloque chain-endchain)


DECLARACION:
---------------

> FIELD: "nombre_del_campo" MODULE mval_tipo_equipo.
Siempre se ejecuta la rutina mval_tipo_equipo, ante un error es la unica habilitada.

> FIELD viqmel-zzlicense_num MODULE mval_xx_mat_vehi ON CHAIN-REQUEST.
Solamente se ejecuta el modul si se detectaron cambios en el campo mencionado.


RUTINA:
--------

*&---------------------------------------------------------------------*
*& Module mval_xx_mat_vehi INPUT
*&---------------------------------------------------------------------*
* Validación del campo "Matricula vehiculo"
*----------------------------------------------------------------------*
MODULE mval_xx_mat_vehi INPUT.

DATA: vl_license_num LIKE fleet-license_num. " Matrícula vehículo


* Validaremos que la matricula ingresada exista en la tabla FLEET.

IF NOT viqmel-zzlicense_num IS INITIAL.

SELECT SINGLE license_num INTO vl_license_num
FROM fleet
WHERE license_num = viqmel-zzlicense_num.

IF sy-subrc <> 0.
* Mensaje "La matrícula ingresada no existe"
MESSAGE e043(zrpm) WITH viqmel-zzlicense_num.
ENDIF.

ENDIF.


ENDMODULE. " mval_xx_mat_vehi INPUT

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 

2.4.1
::> CHECKEAR UN CAMPO CONTRA BASE DE DATOS
--------------------------------------------------
---

Si no se encuentra el registro se emite un mensaje de error o warning.

Si ERROR -> Se para la ejecucion, se muestra el mensaje y se deja
solamente activo ese campo.

Si WARNING -> Continua la ejecución, muestra el mensaje de warning por pantalla.


>> METODO 1 - Segun ayuda F1 Sap:

SELECT * FROM table name
WHERE table-keyfield = inputfield
and ....
INTO fieldname
WHENEVER NOT FOUND (or FOUND)
SEND ERRORMESSAGE (or WARNING)
messagenumber
WITH fieldname ...


>> METODO 2 - Con mensaje de ERROR estandar:

FIELD campo_pantalla SELECT FROM tabla_nombre
WHERE campo_tabla = entrada_campo_pantalla.

>> METODO 3 - Mensaje de WARNING - ERROR seleccionable.
FIELD campo_pantalla SELECT FROM tabla_nombre
WHERE condiciones
WHENEVER NOT FOUND (or FOUND)
SEND ERRORMESSAGE (or WARNING)
messagenumber
WITH campo_texto
.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 


2.4.2
::> CHECKEAR UN CAMPO CONTRA LISTA DE VALORES
--------------------------------------------------------

FIELD field_name VALUES (list of values)


La lista de valores puede contener un valor simple o bien ser un listado con el siguiente formato:

('value') -> Valor valido simple
(NOT 'value') -> valor inválido simple
(BETWEEN 'value' AND 'value') -> intervalo de valores válidos
(NOT BETWEEN 'value' AND 'value') -> Intervalo de valores inválidos

Si el valor no se encuentra se genera un MENSAJE DE ERROR ESTÁNDAR.

Ej.:
FIELD sbook-carrid VALUES (‘AA’, ‘LH’, ‘VS’).

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 

2.5
::> CHAIN ENDCHAIN - COMPORTAMIENTO
-----------------------------------
--------

La instruccion "CHAIN - ENDCHAIN" encierra un conjunto de instrucciones "FIELDS".
En caso de producirse un error de validacion en la logica del programa, SOLAMENTE estos campos "FIELDS"
estarán activos en la dimpro.

Ante un ERROR (MESSAGE EXXX whit "texto"), el flow-control se comporta:
- Detiene la ejecución del programa (termina el PAI y NO ejecuta el PBO).
- Muestra el mensaje de error.
- La DYNPRO, se muestra con SOLAMENTE los campos encerrados entre el chain - endchain activos.
- El programa queda activo, a la espera de que se reinserten valores en los mismos.

Ante un WARNING (MESSAGE WXXX whit "texto"), el flow-control se comporta:
- Suspende la ejecución del programa (el procesamiento del programa queda pausado).
- En la dimpro TODOS los campos se encuentran ACTIVOS.
- Se muestra el mensaje de informacion por pantala.
- El usuario, solo puede aceptar el mensaje presionando "ENTER".
- El programa continúa su ejecucion a partir de donde quedó detenido.

Ante un ABEND - Finalización ANORMAL (MESSAGE AXXX whit "texto"), el flow-control se comporta:
- Suspende la ejecución del programa (el procesamiento del programa queda pausado).
- Muestra el mensaje de error, con la posibilidad de ampliar la data del mismo.
- El usuario, solo puede aceptar el mensaje presionando "ENTER".
- La DYNPRO, se muestra con SOLAMENTE los campos encerrados entre el chain - endchain activos.
- El programa queda activo, a la espera de que se reinserten valores en los mismos.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 


2.5.1
::> CHAIN ENDCHAIN - CODIFICACION
----------------------------------------

Ej 1:
CHAIN.
FIELD p_posnr.
MODULE mval_ve_valida_posnr.
ENDCHAIN.


Ej 2:
CHAIN.
FIELD: p_posnr,
p_aufnr.
MODULE fval_ve_validar_campos.
ENDCHAIN.

MODULE mval_ve_valida_posnr INPUT.
IF p_posnr <> ' '.
PERFORM fval_ve_gestor_obra.
ENDIF.
ENDMODULE. " mval_ve_valida_posnr INPUT


Ej 3:
* El primer FIELD se ejecuta con el primer module.
* El segundo FIELD se ejecuta con el segundo module.


CHAIN.
FIELD: p_campo1.
FIELD: p_campo2.

MODULE fval_ve_validar_campo1.
MODULE fval_ve_validar_campo2.

ENDCHAIN.

MODULE fval_ve_validar_campos INPUT.

IF p_campo1 <> ' ' AND p_campo2 <> ' '.
MESSAGE e001(zsig).
ENDIF.
IF p_campo1 = ' ' AND p_campo2 = ' '.
* Debe introducir una Obra o Trabajo
MESSAGE e005(zsig).
ENDIF.

ENDMODULE. " fval_ve_validar_campos INPUT

 


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 


2.5.2
::> DETECCION DE CAMBIOS EN CAMPOS -> ON CHAIN-REQUEST
------------------------------------------------------------------

Esta validacion solo será ejecutada es el valor de los FIELDS han cambiado.

CHAIN.
FIELD tg_ord_sin_asig-check
MODULE modificar_tg_ord_sin_asig ON CHAIN-REQUEST.
ENDCHAIN.

 


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: La mejor capacitación en SAP está a tu alcance. ::
  ESAP Posee el más avanzado y efectivo sistema de Capacitación SAP. Conocelo!



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 


2.7
::> DETECCION DE EVENTOS EJECUTADOS
--------------------------------------------

DECLARACIÓN:
------------
---
En el LOG - PAI colocamos:
MODULE user_command_0200.

RUTINA:
---------

*&---------------------------------------------------------------------*
*& Module user_command_0200 INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0200 INPUT.

CASE ok_code.
WHEN 'VERIFICAR'.
PERFORM fval_ve_opc_verificar.
ENDCASE.

ENDMODULE. " user_command_0200 INPUT

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


2.E.1
::> Validacion de un solo campo
---------------------------------

>> DECLARACIÓN EN EL LOG DE PROCESO

* Validación del campo "Matricula vehiculo"
field viqmel-zzlicense_num module mval_xx_mat_vehi on chain-request.

>> CODIFICACION DEL MODULO

*&---------------------------------------------------------------------*
*& Module mval_xx_mat_vehi INPUT
*&---------------------------------------------------------------------*
* Validación del campo "Matricula vehiculo"
*----------------------------------------------------------------------*
MODULE mval_xx_mat_vehi INPUT.

DATA: vl_license_num LIKE fleet-license_num. " Matrícula vehículo


* Validaremos que la matricula ingresada exista en la tabla FLEET.

IF NOT viqmel-zzlicense_num IS INITIAL.

SELECT SINGLE license_num INTO vl_license_num
FROM fleet
WHERE license_num = viqmel-zzlicense_num.

IF sy-subrc <> 0.
* Mensaje "La matrícula ingresada no existe"
MESSAGE e043(zrpm) WITH viqmel-zzlicense_num.
ENDIF.

ENDIF.

ENDMODULE. " mval_xx_mat_vehi INPUT

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


2.E.2
::> Validacion de 2 campos
-------------------------------

>> DECLARACIÓN EN EL LOG DE PROCESO
* Valid la combinación entre campos Código de taller-Tipo de reparación
CHAIN.
FIELD: viqmel-zzcod_taller, viqmel-zztip_repa.
MODULE mval_xx_comb_tall_repa.
ENDCHAIN.


>> CODIFICACION DEL MODULO

*&---------------------------------------------------------------------*
*& Module mval_xx_comb_tall_repa INPUT
*&---------------------------------------------------------------------*
* Valid la combinación entre campos Código de taller-Tipo de reparación
*----------------------------------------------------------------------*
MODULE mval_xx_comb_tall_repa INPUT.

* Si han sido ingresados los campos "Código Taller" y "Tipo de
* reparación", verificaremos si los mismos se corresponden.

IF NOT viqmel-zztip_repa IS INITIAL AND
NOT viqmel-zzcod_taller IS INITIAL.

SELECT SINGLE * FROM zgvtaller_repa
WHERE zgvctaller = viqmel-zzcod_taller AND
zgvtiprepa = viqmel-zztip_repa.

IF sy-subrc <> 0.
* MSG: "La combinación Código de taller y Tipo de reparación no existe"
MESSAGE e049(zrpm) WITH viqmel-zzlicense_num.
ENDIF.

ENDIF.


ENDMODULE. " mval_xx_comb_tall_repa INPUT

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

 


*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

 

------------------------------------------------------------------------
Capacitación SAP - ABAP 3. EVENTO -> PROCESS ON VALUE-REQUEST.
========================================================

3.1
::> INTRODUCCION
---------------------

Este evento sirve para crear:
-> Ayudas de busquedas para los campos, F4 sobre un campo.

 


                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


3.2
::> DECLARACION
-------------------

> DECLARACION EN EL LOG DEL PROCESO:

PROCESS ON VALUE-REQUEST.
* Ayuda de busqueda para el campo Código taller (viqmel-zzcod_taller)
FIELD viqmel-zzcod_taller MODULE motr_f4_cod_taller.

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 


3.E.1
::> CREACIÓN DE UNA AYUDA DE BUSQUEDA EN POPUP.
---------------------------------------------------------

>> DECLARACIÓN EN EL LOG DE PROCESO

PROCESS ON VALUE-REQUEST.
* Ayuda de busqueda para el campo Código taller(viqmel-zzcod_taller)
FIELD VIQMEL-ZZCOD_TALLER MODULE motr_f4_cod_taller.


>> CODIFICACION DEL MODULO
*&---------------------------------------------------------------------*
*& Module motr_f4_cod_taller INPUT
*&---------------------------------------------------------------------*
* Ayuda de busqueda para el campo Código taller(viqmel-zzcod_taller)
*----------------------------------------------------------------------*
MODULE motr_f4_cod_taller INPUT.

DATA: BEGIN OF tl_talleres OCCURS 0,
zgvctaller LIKE zgvtalleres-zgvctaller, " Código del taller
zgvntaller LIKE zgvtalleres-zgvntaller. " Nombre del taller
DATA: END OF tl_talleres.


* Cargo tabla interna con los talleres disponibles.
SELECT zgvctaller zgvntaller
INTO CORRESPONDING FIELDS OF TABLE tl_talleres
FROM zgvtalleres.


IF sy-subrc = 0.
* Despliego ventana popup de ayuda de busqueda
PERFORM ffnc_xx_ayuda
TABLES tl_talleres " Tabla con los datos
USING 'ZGVCTALLER' " Cmpo de la tbl a mover
'VIQMEL-ZZCOD_TALLER'. " Cmpo dynpro (destino)

ENDIF.

ENDMODULE. " motr_f4_cod_taller INPUT

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: Capacitate en SAP con especialistas en el área ::
  No dejes tu carrera en manos impovisadas, ESAP es tu mejor elección.



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 


------------------------------------------------------------------------
Capacitación SAP - ABAP 4. EVENTO PROCESS ON HELP-REQUEST
========================================================

4.1
::> INTRODUCCION
---------------------
Este evento sirve para crear:
-> Sólo se ejecuta cuando el usuario pulsa ayuda - F1

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*

------------------------------------------------------------------------
Capacitación SAP - ABAP 5. SCREEN PAINTER - Editor Grafico de las Pantallas
========================================================

5.0
::> NOMENCLATURAS SUGERIDAS
-----------------------------------

SO_ : Select Option
P_ : Parámetro
PRB_ : Radio button
PCB_ : Checkbox
PPB_ : Push button

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

5.1
::> RADIO - BUTTON
---------------------

Los radio buttons necesitan ser agrupados.

- Primero seleccionar los botones que se desea agrupar(Arrastrando el mouse).
- Click derecho mouse -> OPS Menu "Gpo Botones Sel" -> Menu opc "definir"

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Modulo Programador ABAP INICIAL



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

 

------------------------------------------------------------------------
Capacitación SAP - ABAP 6. OBJETO TABSTRIP
========================================================

6.1
::> INTRODUCCIÓN
--------------------

En construccion

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

6.2
::> DECLARACIÓN
-------------------

En construccion

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 


*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  :: Capacitate en SAP con especialistas en el área ::
  No dejes tu carrera en manos impovisadas, ESAP es tu mejor elección.



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

 

------------------------------------------------------------------------
Capacitación SAP - ABAP S. STATUS GUI
========================================================

S.1
::> INTRODUCCIÓN
---------------------
El estatus gui define el menú de estatus de una dynpro

 

 

                                                                                          [ˆ Subir]

**--------------------------------------------------------------**
ESAP - CENTRO DE CAPACITACION CAPACITACION SAP
                                                                                                                    Centro de capacitacion SAP

 

 

S.2
::> DEFINICIÓN DE BOTÓN TIPO EXIT
---------------------------------------

Para que un botón active el evento PAI "AT EXIT-COMMAND"
debe ser declarado del tipo "E"

 

 

                                                                                          [ˆ Subir]

 

*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
  ::Te invitamos a conocer nuestras carreras ::
  Carrera Consultor ABAP - Modulo Programador ABAP INICIAL



*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*

 

 

 

   

© CVOSOFT UNITED STATES | www.cvosoft.com | info@cvosoft.com