Archivo

Posts Tagged ‘POPUP_TO_CONFIRM’

Tipos de Popup en SAP – Parte 3

Caso: Se busca mostrar los distintos tipos de POPUP para poder elegir el correcto cada vez que necesitemos uno.

1. MD_POPUP_SHOW_INTERNAL_TABLE

DATA: BEGIN OF gt_vbap OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
charg LIKE vbap-charg,
box, " seleccion del alv
END OF gt_vbap.

DATA: lk_zuonr LIKE vbak-zuonr,
lk_tabix LIKE sy-tabix,
lt_cols LIKE help_value OCCURS 0 WITH HEADER LINE.

gt_vbap-vbeln = ‘111’.
gt_vbap-posnr = ‘0010’.
gt_vbap-charg = ‘123456789’.
APPEND gt_vbap.

gt_vbap-vbeln = ‘112’.
gt_vbap-posnr = ‘0020’.
gt_vbap-charg = ‘125456789’.
APPEND gt_vbap.

CLEAR lk_tabix.

APPEND lt_cols.
lt_cols-tabname = ‘VBAP’.
lt_cols-fieldname = ‘VBELN’.
lt_cols-selectflag = ‘X’.
APPEND lt_cols.
lt_cols-tabname = ‘VBAP’.
lt_cols-fieldname = ‘POSNR’.
APPEND lt_cols.
lt_cols-tabname = ‘VBAP’.
lt_cols-fieldname = ‘CHARG’.
APPEND lt_cols.

CALL FUNCTION ‘MD_POPUP_SHOW_INTERNAL_TABLE’
EXPORTING
title = ‘Titulo (máx 80 caracteres)’
IMPORTING
index = lk_tabix " Línea seleccionada
TABLES
values = gt_vbap
columns = lt_cols
EXCEPTIONS
leave = 1
OTHERS = 2.

Uso: similar al REUSE_ALV_POPUP_TO_SELECT, pero la selección queda en el index, siendo el registro seleccionado mediante el doble click

Ventajas: fácil uso para mostrar datos en un ALV fácil.

Desventajas: no recomendado para selección de datos, es poco claro al usuario.

2. TH_POPUP

CALL FUNCTION ‘TH_POPUP’
EXPORTING
client = sy-mandt
user = sy-uname
message = ‘Prueba POPUP’
* MESSAGE_LEN = 0
* CUT_BLANKS = ‘ ‘
EXCEPTIONS
USER_NOT_FOUND = 1
OTHERS = 2.

Uso: Envía un popup tipo Windows al usuario indicado en la llamada.

Ventajas: útil para avisar de un evento a los usuarios.

Desventajas: quizá sea mejor enviar desde SAP los avisos a los usuarios.

Otros POPUP para revisar:

1. POPUP_TO_GET_ONE_VALUE Sale un POPUP en el que puedes meter un texto e insertarlo

2. POPUP_DISPLAY_MESSAGE POPUP para mensajes de ERROR

3. TERM_CONTROL_EDIT Super > POPUP que te permite escribir un texto largo

4. POPUP_TO_DECIDE_LIST Dentro del popup tiene radiobutons para elegir opciones.

5. HELP_DOCULINES_SHOW Mega POPUP para escribir textos muy largos del tipo Información

En el siguiente link aparecen otros ejemplos:

Link: http://wiki.scn.sap.com/wiki/display/ABAP/Different+Pop_Ups+in+ABAP

1. POPUP_WITH_TABLE_DISPLAY

2. POPUP_TO_CONFIRM_STEP

3. POPUP_TO_DECIDE_WITH_MESSAGE

4. POPUP_TO_DECIDE

5. POPUP_TO_SELECT_MONTH

6. POPUP_TO_CONFIRM_WITH_VALUE

7. POPUP_TO_CONFIRM_WITH_MESSAGE

8. POPUP_TO_DISPLAY_TEXT

9. POPUP_TO_CONFIRM

10. POPUP_TO_CONTINUE_YES_NO

11. POPUP_TO_CONFIRM_DATA_LOSS

Anuncios

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