Archivo

Posts Tagged ‘POPUP_TO_DISPLAY_TEXT’

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

Anuncio publicitario

Tipos de Popup en SAP – Parte 2

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

1. POPUP_FOR_INTERACTION

CALL FUNCTION ‘POPUP_FOR_INTERACTION’
EXPORTING
headline = ‘Título (máx 60 caracteres)’
text1 = ‘Texto 1 (máx 60 caracteres)’
text2 = ‘Texto 2 (máx 60 caracteres)’
text3 = ‘Texto 3 (máx 60 caracteres)’
text4 = ‘Texto 4 (máx 60 caracteres)’
text5 = ‘Texto 5 (máx 60 caracteres)’
text6 = ‘Texto 6 (máx 60 caracteres)’
ticon = ‘I’ " Ícono a mostrar
button_1 = ‘SI’
button_2 = ‘NO’
button_3 = ‘CERRAR’
IMPORTING
button_pressed = lv_answer. " Devuelve 1, 2, 3 o 0 si no presionó ningun botón

Uso: similar al popup_to_confirm

Ventajas: fácil uso para informar algo al usuario y obtener una decisión.

Desventajas: no se puede definir la posición ni el tamaño del popup, no permite personalización de botones (son muy simples)

2. REUSE_ALV_POPUP_TO_SELECT

TYPE-POOLS: slis.

TYPES: BEGIN OF ty_output,
checkbox TYPE c,
material TYPE matnr,
fecha TYPE sy-datum,
END OF ty_output.

DATA: lt_output TYPE STANDARD TABLE OF ty_output,
ls_output TYPE ty_output,
lt_fcat TYPE slis_t_fieldcat_alv,
ls_fcat TYPE slis_fieldcat_alv,
lv_sel TYPE slis_selfield,
lt_excl TYPE slis_t_extab,
ls_excl TYPE slis_extab,
lv_exit TYPE c.

"Creamos Catalogo de Datos
CLEAR ls_fcat.
ls_fcat-row_pos = ‘1’.
ls_fcat-col_pos = ‘1’.
ls_fcat-fieldname = ‘CHECKBOX’.
ls_fcat-tabname = ‘LT_OUTPUT’.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-row_pos = ‘1’.
ls_fcat-col_pos = ‘2’.
ls_fcat-fieldname = ‘MATERIAL’.
ls_fcat-tabname = ‘LT_OUTPUT’.
ls_fcat-seltext_m = ‘Material’.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-row_pos = ‘1’.
ls_fcat-col_pos = ‘3’.
ls_fcat-fieldname = ‘FECHA’.
ls_fcat-tabname = ‘LT_OUTPUT’.
ls_fcat-seltext_m = ‘Fecha’.
APPEND ls_fcat TO lt_fcat.

"Creamos Exclusiones de Toolbar
ls_excl-fcode = ‘&ALL’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&SAL’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&ETA’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘%SC’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘%SC+’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&OUP’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&ODN’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&ILT’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&OL0’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&CRB’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&CRL’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&CRR’. APPEND ls_excl TO lt_excl.
ls_excl-fcode = ‘&CRE’. APPEND ls_excl TO lt_excl.

ls_output-material = ‘EV1957-00005’.
ls_output-fecha = ‘20131111’.
APPEND ls_output TO lt_output.
ls_output-material = ‘VT7000-12100’.
ls_output-fecha = ‘20131112’.
APPEND ls_output TO lt_output.

CALL FUNCTION ‘REUSE_ALV_POPUP_TO_SELECT’
EXPORTING
i_title = ‘Titulo (máx 35 caracteres)’
i_selection = ‘X’ " (X) = permite seleccionar, ( ) = sólo visualizar
i_allow_no_selection = ‘S’ " Allow copy although nothing is selected
i_zebra = ‘X’ " Modo Zebra para registros
i_screen_start_column = 5 " Posición ALV
i_screen_start_line = 5 "
i_screen_end_column = 100 "
i_screen_end_line = 10 "
i_checkbox_fieldname = ‘CHECKBOX’ " Campo de selección
* i_linemark_fieldname = " color para una línea
* i_scroll_to_sel_line = ‘X’ " remarca una línea
i_tabname = ‘LT_OUTPUT’ " Tabla de salida
* i_structure_name = " Nombre estructura
it_fieldcat = lt_fcat " Catálogo de campos
it_excluding = lt_excl " Excluir botones
* i_callback_program = " Name of the calling program
* i_callback_user_command = " USER_COMMAND handling form routine name
* is_private = " Internal private use only
IMPORTING
es_selfield = lv_sel " Info de la selección para una selección simple
e_exit = lv_exit " Queda en ‘X’ cuando el usuario aprieta Cancelar
TABLES
t_outtab = lt_output " Tabla de entrada/salida
EXCEPTIONS
program_error = 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.
* Si no puso cancelar…
IF lv_exit NE ‘X’.

ENDIF.
ENDIF.

Uso: Permite definir un ALV simple y dar al usuario la posibilidad de visualizar o seleccionar los registros

Ventajas: fácil uso para que el usuario elija datos de un ALV simple

Desventajas: Poca personalización del ALV para otros eventos

3. POPUP_GET_VALUES

DATA: lt_fields TYPE TABLE OF sval,
lw_fields TYPE sval,
lc_return TYPE c.

CLEAR lw_fields.
lw_fields-tabname = ‘MARA’.
lw_fields-fieldname = ‘MATNR’.
*lw_fields-comp_tab = ‘MARA’.
*lw_fields-comp_field = ‘MATNR’.
lw_fields-field_attr = ’01’. " Atributo para visualización del campo en el dynpro
" ( ) grado de visibilidad normal, listo para entrada
" 01 visible, listo para entrada
" 02 grado de visibilidad normal, no listo para entrada
" 03 visible, no listo para entrada
" 04 No visualizar
lw_fields-value = ‘EV1957-00005’. " Valor por defecto
lw_fields-field_obl = ‘X’. " Obligatorio indicar un valor
lw_fields-fieldtext = ‘Material’. " Texto descriptivo izquierdo
APPEND lw_fields TO lt_fields.

CLEAR lw_fields.
lw_fields-tabname = ‘EKET’.
lw_fields-fieldname = ‘EINDT’.
*lw_fields-comp_tab = ‘EKET’.
*lw_fields-comp_field = ‘EINDT’.
lw_fields-field_attr = ’01’.
lw_fields-value = sy-datum.
lw_fields-field_obl = ‘X’.
lw_fields-fieldtext = ‘Fecha’.
APPEND lw_fields TO lt_fields.

CALL FUNCTION ‘POPUP_GET_VALUES’
EXPORTING
* no_value_check = ‘ ‘ " Desactiva verificaciones del correspondiente tipo de datos
popup_title = ‘Título (máx 60 caracteres)’
start_column = ‘5’
start_row = ‘5’
IMPORTING
returncode = lc_return
TABLES
fields = lt_fields
EXCEPTIONS
error_in_fields = 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.

CHECK lc_return IS INITIAL.
LOOP AT lt_fields INTO lw_fields.
* Obtengo el dato ingresado
ENDLOOP.

ENDIF.

Uso: Permite mostrar una serie de campos para que el usuario ingrese datos y luego poder tomarlos

Ventajas: fácil uso para que el usuario elija datos simples

Desventajas: Es muy simple, se debe hacer referencia a una tabla

4. POPUP_TO_DISPLAY_TEXT

CALL FUNCTION ‘POPUP_TO_DISPLAY_TEXT’
EXPORTING
titel = ‘Título (máx 70 caracteres)’
textline1 = ‘Texto 1 (máx 70 caracteres)’
textline2 = ‘Texto 1 (máx 70 caracteres)’
start_column = 25
start_row = 6.

Uso: Permite mostrar un popup informativo con dos líneas de texto

Ventajas: popup simple informativo y posee parámetros para ubicarlo en la pantalla

Desventajas: muy simple