ABAP - Técnico

 
Vista:

Técnico

Publicado por Jorge (5 intervenciones) el 09/03/2009 22:58:05
Hola

Estoy haciendo un Report y en la pantalla de selección tengo varios parameters y select options. Necesito que uno de los parameters sea obligatorio solo si se ha rellenado otro parameter, si no no hace falta que sea obligatirio.
Como se hace eso? hay algúna opción para ello? o tengo que controlarlo en algún evento como en At-line-selection y volver a la pantalla de selección de alguna manera?

Gracias.
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

Técnico

Publicado por Alejandro (226 intervenciones) el 12/04/2023 23:43:50
Para hacer que un parámetro sea obligatorio solo si se ha rellenado otro parámetro en la pantalla de selección, puedes controlarlo en el evento AT SELECTION-SCREEN OUTPUT.

Primero, debes comprobar si el otro parámetro está rellenado usando la variable de selección correspondiente. Si está rellenado, entonces puedes establecer el parámetro como obligatorio usando la declaración "SELECT-OPTIONS ... OBLIGATORY".

Por ejemplo, si tienes dos parámetros llamados "p1" y "p2", y "p2" debe ser obligatorio solo si "p1" se ha rellenado, entonces puedes hacer lo siguiente:

1
2
3
4
5
6
AT SELECTION-SCREEN OUTPUT.
IF sy-ucomm EQ 'ONLI'.
IF NOT p1 IS INITIAL.
p2-obligatory = 'X'.
ENDIF.
ENDIF.

Con esto, el parámetro "p2" se establecerá como obligatorio solo si "p1" se ha rellenado. Ten en cuenta que debes insertar este código en el evento AT SELECTION-SCREEN OUTPUT de tu programa ABAP.
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