Ir al contenido
Programación ABAP

POPUP_TO_DECIDE_LIST

Muestra una lista de opciones con botones de selección para que el usuario elija una o varias.

Módulo de funciónPopup
Transacción
SE37
Grupo
Popup
Actualizado
21 de octubre de 2026

Para qué sirve

POPUP_TO_DECIDE_LIST abre una ventana con una lista de opciones, que se pasan en la tabla T_SPOPLI. Con MARK_FLAG = 'X' se muestran casillas para elegir varias; si no, botones de opción para elegir una.

Devuelve en ANSWER el número de la opción elegida (o 'A' si se cancela) y marca en la tabla las opciones seleccionadas.

Parámetros

Esta función tiene muchos parámetros; aquí están los más usados. La lista completa se ve en la transacción SE37.

Importing

Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.

ParámetroTipoDescripción
CURSORLINE—Opción seleccionada al abrir.Por defecto: 1
MARK_FLAG—'X' permite marcar varias opciones (casillas).
MARK_MAX—Número máximo de opciones que se pueden marcar.Por defecto: 1
TEXTLINE1Obligatorio—Texto de la pregunta.
TEXTLINE2—Segunda línea de texto.
TEXTLINE3—Tercera línea de texto.
TITEL—Título de la ventana.

Exporting

Lo que devuelve. En CALL FUNCTION se recogen tras IMPORTING.

ParámetroTipoDescripción
ANSWER—Número de la opción elegida, o 'A' si se cancela.

Tables

Tablas internas que se pasan o se devuelven (TABLES).

ParámetroTipoDescripción
T_SPOPLIObligatorioSPOPLIOpciones: VAROPTION (texto), SELFLAG (marcada), INACTIVE.

Excepciones

Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.

ExcepciónCuándo se produce
NOT_ENOUGH_ANSWERSLa tabla no tiene opciones suficientes.
TOO_MUCH_ANSWERSDemasiadas opciones.
TOO_MUCH_MARKSHay más opciones marcadas que MARK_MAX.

Ejemplo

ABAP
DATA: lt_opc  TYPE STANDARD TABLE OF spopli,
      lv_resp TYPE c LENGTH 1.

lt_opc = VALUE #( ( varoption = 'Exportar a Excel' )
                  ( varoption = 'Enviar por correo' )
                  ( varoption = 'Imprimir' ) ).

CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
  EXPORTING
    textline1          = '¿Qué quieres hacer con el informe?'
    titel              = 'Salida'
  IMPORTING
    answer             = lv_resp
  TABLES
    t_spopli           = lt_opc
  EXCEPTIONS
    not_enough_answers = 1
    too_much_answers   = 2
    too_much_marks     = 3
    OTHERS             = 4.

CASE lv_resp.
  WHEN '1'. " Excel
  WHEN '2'. " Correo
  WHEN '3'. " Imprimir
  WHEN 'A'. RETURN.
ENDCASE.

Errores y excepciones habituales

  • TOO_MUCH_MARKS: has dejado marcadas en SELFLAG más opciones de las que permite MARK_MAX.

Relacionadas

Funciones relacionadas

POPUP_WITH_TABLE_DISPLAYPOPUP_TO_CONFIRM

Más en Popup

HELP_DOCULINES_SHOWPOPUP_DISPLAY_MESSAGEPOPUP_GET_VALUESPOPUP_TO_CONFIRM_WITH_MESSAGEPOPUP_TO_DISPLAY_TEXTPOPUP_TO_GET_ONE_VALUEGRM_POPUP_TO_GET_ONE_VALUEPOPUP_TO_INFORMPOPUP_TO_MODIFY_TEXTTERM_CONTROL_EDITTH_POPUP

Transacciones y tablas

SE37SPOPLI

En abap.es

¿Dudas con esta función?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026