ABAP - Activación de módulos del PAI

 
Vista:

Activación de módulos del PAI

Publicado por Gustavo Biglia (1 intervención) el 04/01/2006 16:25:00
¿Cómo haga para que Posicionado en una dynpro y luego de volver de la ayuda de cualquier campo (F4) se active y ejecute en forma automáticas los módulos del PAI, sin tener que presionar luego de volver "ENTER"?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Activación de módulos del PAI

Publicado por Alejandro (226 intervenciones) el 12/04/2023 00:14:07
Para activar y ejecutar automáticamente los módulos del PAI después de volver de la ayuda de cualquier campo (F4), puedes usar la función SET/GET PARAMETER ID en el evento AT SELECTION-SCREEN OUTPUT.

Aquí te presento un ejemplo de código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
REPORT  Z_TEST_REPORT.
 
* Declaración de variables
DATA: gv_fieldname TYPE string,
      gv_fieldvalue TYPE string.
 
* PAI module
MODULE user_command_0100 INPUT.
 
  CASE sy-ucomm.
 
    WHEN 'BACK'.
      LEAVE PROGRAM.
 
    WHEN 'SAVE'.
      "Código de validación y guardado de datos"
 
  ENDCASE.
 
ENDMODULE.
 
* PBO module
MODULE user_interface_0100 OUTPUT.
 
  "Aquí se coloca el código para inicializar la pantalla"
 
  SET PARAMETER ID 'FLD' FIELD gv_fieldname.
  SET PARAMETER ID 'VAL' FIELD gv_fieldvalue.
 
ENDMODULE.
 
* Evento de selección
AT SELECTION-SCREEN OUTPUT.
  SET PARAMETER ID 'FLD' FIELD gv_fieldname.
  SET PARAMETER ID 'VAL' FIELD gv_fieldvalue.
 
ENDAT.

Con este código, el valor del campo se guarda en dos parámetros globales ('FLD' y 'VAL') cada vez que se cambia. Cuando se regresa de la ayuda de un campo (F4), el evento AT SELECTION-SCREEN OUTPUT se activa automáticamente y SET PARAMETER ID se utiliza para restaurar los valores de los parámetros globales. De esta manera, se activan y ejecutan automáticamente los módulos del PAI sin tener que presionar "ENTER" manualmente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar