Archivo
Tipos de Popup en SAP – Parte 1
Caso: Se busca mostrar los distintos tipos de POPUP para poder elegir el correcto cada vez que necesitemos uno.
1. POPUP_TO_INFORM
CALL FUNCTION ‘POPUP_TO_INFORM’
EXPORTING
titel = ‘Título (máx 35 caracteres)’
txt1 = ‘Texto 1 (máx 80 caracteres)’
txt2 = ‘Texto 2 (máx 80 caracteres)’
TXT3 = ‘Texto 3 (máx 80 caracteres)’
TXT4 = ‘Texto 4 (máx 80 caracteres)’.
Uso: múltiple
Ventajas: fácil uso para informar algo al usuario.
Desventajas: no se puede definir la posición ni el tamaño del popup, no posee botones
2. POPUP_TO_SHOW_USERINFO, POPUP_TO_DISPLAY_USERDATA
DATA: e_vtbuser TYPE vtbuser.
e_vtbuser-cruser = sy-uname. " CHAR 12 0 Autor
e_vtbuser-dcrdat = sy-datum. " DATS 8 0 Fecha entrada
e_vtbuser-tcrtim = sy-uzeit. " TIMS 6 0 Hora de entrada
e_vtbuser-upuser = sy-uname. " CHAR 12 0 Modificado por
e_vtbuser-dupdat = sy-datum. " DATS 8 0 Fecha de modificación
e_vtbuser-tuptim = sy-uzeit. " TIMS 6 0 Hora de modificación
CALL FUNCTION ‘POPUP_TO_SHOW_USERINFO’
EXPORTING
title = ‘Título (máx 10 caracteres)’
user = e_vtbuser.
Uso: para mostrar un LOG de modificaciones de registros, por ejemplo. También puede usarse, con utilización similar, POPUP_TO_DISPLAY_USERDATA
Ventajas: fácil uso para informar usuario y fecha/hora de modificación. Puede mostrarse el cuadro de Registro o el de Última modif. si se requiere (es decir sólo una de los dos)
Desventajas: no se puede definir la posición ni el tamaño del popup, no posee botones
3. POPUP_TO_CONFIRM
DATA: lv_answer TYPE c,
lt_spar TYPE TABLE OF spar.
CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar = ‘Título (máx 35 caracteres)’
* diagnose_object = ‘ZPRUEBA_POPUP’ " Si lo defino aquí, el objeto de documentación aparece en el popup arriba de la pregunta
text_question = ‘Pregunta (máx 400 caracteres)’
text_button_1 = ‘Si'(001) " Texto botón 1
icon_button_1 = ‘ICON_UNLOCKED’ " Ícono botón 1
text_button_2 = ‘No'(002) " Texto botón 2
icon_button_2 = ‘ICON_FAILURE’ " Ícono botón 2
default_button = ‘1’ " Botón por defecto
display_cancel_button = ‘X’ " Mostrar botón Cancelar
userdefined_f1_help = ‘ZPRUEBA_POPUP’ " Botón Info – Documentación que debe crearse por la SE61 como texto en diálogo (tipo DT)
start_column = 25 " Columna comienzo POPUP
start_row = 6 " Fila comienzo POPUP
popup_type = ‘ICON_MESSAGE_CRITICAL’ " Nombre del ícono que aparece a la izquierda, sólo puede ser:
" ICON_MESSAGE_QUESTION (default), ICON_MESSAGE_INFORMATION, ICON_MESSAGE_WARNING
" ICON_MESSAGE_ERROR, ICON_MESSAGE_CRITICAL o NO_ICON
iv_quickinfo_button_1 = ‘Texto info botón 1 (máx.132 caracteres)’ " Quickinfo del botón 1 (cuando paso el mouse sobre el botón)
iv_quickinfo_button_2 = ‘Texto info botón 2 (máx.132 caracteres)’ " Quickinfo del botón 2
IMPORTING
answer = lv_answer " Respuesta
* TABLES
* parameter = lt_spar " The internal table contains the parameters which are to be put in the diagnosis and query text.
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Error
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
* Seleccionó algo…
CASE lv_answer.
WHEN ‘1’. " Si
MESSAGE i001(00) WITH ‘Presionó el Si’.
WHEN ‘2’. " No
MESSAGE i001(00) WITH ‘Presionó el No’.
WHEN ‘A’. " Cancelar
MESSAGE i001(00) WITH ‘Presionó el Cancelar’.
ENDCASE.
ENDIF.
Uso: para mostrar un POPUP de decisión, para que el usuario elija seguir o no el flujo de programa.
Ventajas: fácil uso, varios parámetros opcionales para hacerlo intuitivo al usuario, ubicar el popup en pantalla, etc.
Desventajas: ninguna de interés para lo que se necesita