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

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
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'.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
------------------------------------------------------------------------
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
1.2
::> DECLARACION
--------------------
PROCESS BEFORE OUTPUT.
* MODULE STATUS_0201.
[ Subir]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
1.3.1
::> DECLARACION
-------------------
PROCESS BEFORE OUTPUT.
MODULE status_0100.
[ Subir]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
1.6
::> SET CURSOR - FIELD.
---------------------------
Posiciona el cursor sobre un campo de una dinpro.
SET CURSOR <nombre_campo>.
[ Subir]
**--------------------------------------------------------------**
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. 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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
2.3.3
::> MODULE nombre_modulo ON CHAIN-REQUEST.
-----------------------------------------------------
En construccion..
[ Subir]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
2.3.5
::> MODULE nombre_modulo ON * INPUT.
-------------------------------------------
Se ejecuta si el usuario colocó un asterisco en el campo
[ Subir]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
2.3.8
::> MODULE nombre_modulo
ON CHAIN-REQUEST.
-----------------------------------------------------
En construccion
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
2.3.9
::> MODULE nombre_modulo AT CURSOR-SELECTION.
-------------------------------------------------------
En construccion
[ Subir]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* ::Te invitamos a conocer nuestras carreras :: Carrera Consultor ABAP - Módulo Programador ABAP AVANZADO

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
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.

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
------------------------------------------------------------------------
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]
**--------------------------------------------------------------**
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]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
*------------------------------------------------------------------------------* *------------------------------------------------------------------------------* ::Te invitamos a conocer nuestras carreras :: Carrera Consultor ABAP - Modulo Programador ABAP INICIAL

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
6. OBJETO TABSTRIP
========================================================
6.1
::> INTRODUCCIÓN
--------------------
En construccion
[ Subir]
**--------------------------------------------------------------**
Centro
de capacitacion SAP
6.2
::> DECLARACIÓN
-------------------
En construccion
[ Subir]
**--------------------------------------------------------------**
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.

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
------------------------------------------------------------------------
S. STATUS GUI
========================================================
S.1
::> INTRODUCCIÓN
---------------------
El estatus gui define el menú de estatus de una dynpro
[ Subir]
**--------------------------------------------------------------**
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

*------------------------------------------------------------------------------* *------------------------------------------------------------------------------*
|