Download - ABAP Popups
DATA: res type c. CALL FUNCTION ‘POPUP_CONTINUE_YES_NO’ EXPORTING DEFAULTOPTION = ‘J’ textline1 = ‘Esta es la primer línea del mensaje’ TEXTLINE2 = ‘Esta es la segunda línea’ titel = ‘Titulo POP-UP’ START_COLUMN = 45 START_ROW = 15 IMPORTING ANSWER = res.
CALL FUNCTION ‘POPUP_TO_DISPLAY_TEXT’ EXPORTING titel = ‘Titulo del POPUP’ textline1 = ‘Primer linea del mensaje’ textline2 = ‘Segunda linea del mensaje’ START_COLUMN = 25 “Posicion en la pantalla START_ROW = 15 .
El siguiente popup permite ingresar un texto de gran extensión ya sea tipeandolo por teclado o importandolo a través del botón correspodiente en el menú que presenta, el contenido también se puede exportar.El resultado se guarda en una tabla interna.TYPES: BEGIN OF itab, texto(20) TYPE c, END OF itab.DATA: ti TYPE itab OCCURS 0 WITH HEADER LINE.CALL FUNCTION ‘TERM_CONTROL_EDIT’ EXPORTING titel = ‘Titulo del POPUP’* LANGU = TABLES textlines = ti EXCEPTIONS USER_CANCELLED = 1 OTHERS = 2.
Vuelvo con mas funciones muy sencilla que despliegan pantallas pop-up.La primera despliega una ventana informativaCALL FUNCTION ‘POPUP_TO_INFORM’ EXPORTING titel = sy-repid txt2 = 5 txt1 = text-500. “pasar a->elementos de texto->textos de selección
DATA: resultado LIKE t884t-txt, valor type T884T-TXT.CALL FUNCTION ‘POPUP_TO_MODIFY_TEXT’ EXPORTING textline1 = ‘Primer linea’ textline2 = ‘…aqui puede ir otra linea’ textline3 = ‘…y aqui otra’ titel = ‘Titulo del pop-up’ value1 = ‘Ejemplos popup’ “Valor que va a tener el campo de entrada. IMPORTING answer = resultado value1 = valor* EXCEPTIONS* TITEL_TOO_LONG = 1* OTHERS = 2Answer: devuelve la acción realizada por el usuario, ‘J’ si se selección “aceptar” o ‘A’ si se selecciona cancelar.Valor: contiene el valor ingresado por el usuario.
Muestra una tabla interna en un popup, el usuario puede seleccionar una y se puede recuperar la posición que seleccionó.
i_cols-tabname = 'PA0001'. i_cols-fieldname = 'PERNR'. i_cols-selectflag = 'X'. APPEND i_cols. i_cols-tabname = 'PA0001'. i_cols-fieldname = 'ENAME'.
APPEND i_cols.*** Llenar table i_empl CALL FUNCTION 'MD_POPUP_SHOW_INTERNAL_TABLE' EXPORTING title = 'Empleados sin informar actividad' IMPORTING index = sy-index TABLES values = i_empl columns = i_cols EXCEPTIONS leave = 1 OTHERS = 2. IF sy-subrc NE 0. EXIT. ENDIF.
Muestra un popup donde pueden personalizarse los botones:
CALL FUNCTION 'POPUP_FOR_INTERACTION' EXPORTING headline = 'Programa generado con éxito' text1 = 'Se ha generado el programa' text2 = sy-repid text3 = '¿Desea ejecutarlo ahora?' ticon = 'S' button_1 = 'Finalizar' button_2 = 'Ejecutar' IMPORTING button_pressed = answer EXCEPTIONS OTHERS = 1.
Configura un popup con campos a llenar:
data: V_NUMERO like sval OCCURS 0 WITH HEADER LINE..
V_NUMERO-TABNAME = 'MARA'. "Tabla de donde queremos coger el campoV_NUMERO-fieldname = 'MATNR'. "Campo que queremos pedir por pantallaAPPEND V_NUMERO.V_NUMERO-TABNAME = 'MARA'.V_NUMERO-FIELDNAME = 'MTART'.
APPEND V_NUMERO.V_NUMERO-TABNAME = 'PA0001'.V_NUMERO-FIELDNAME = 'BUKRS'.V_NUMERO-FIELD_obl = 'X'.APPEND V_NUMERO.
CALL FUNCTION 'POPUP_GET_VALUES' EXPORTING* NO_VALUE_CHECK = ' ' POPUP_TITLE = 'Complete los campos' START_COLUMN = '5' START_ROW = '5'* IMPORTING* RETURNCODE = TABLES FIELDS = V_NUMERO.* EXCEPTIONS* ERROR_IN_FIELDS = 1* OTHERS = 2 .IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
LOOP AT V_NUMERO. WRITE :/ V_NUMERO-VALUE. "Valor dado por pantalla.ENDLOOP.
Configura tres botones o sin cancel:
POPUP_TO_CONFIRM
Para confirmar que se van a perder datos:
'POPUP_TO_CONFIRM_LOSS_OF_DATA'
Decide entre varias tareas:
CALL FUNCTION 'POPUP_TO_DECIDE' EXPORTING * DEFAULTOPTION = '1' textline1 = 'QUE DESEA HACER' * TEXTLINE2 = ' ' * TEXTLINE3 = ' ' text_option1 = 'GRABAR' " TEXTO EN EL BOTON text_option2 = 'ELIMINAR' " TEXTO EN EL BOTON * ICON_TEXT_OPTION1 = ' ' " COLOCAR ICONO AL BOTON * ICON_TEXT_OPTION2 = ' ' " COLOCAR ICONO AL BOTON titel = ' TITULO' * START_COLUMN = 25 " POSICIONA EL POPUP EN LA * START_ROW = 6 " PANTALLA * CANCEL_DISPLAY = 'X' " APARECA BOTON CANCELAR * IMPORTING * ANSWER = ANSWER " DEVUELVE RESULTADO
Muestra una tabla interna y se puede seleccionar una entrada:
POPUP_WITH_TABLE_DISPLAY
Muy buen editor de texto, permite llamarse en modo visualización o edición:
TXW_TEXTNOTE_EDIT
Muestra un popup creado en el evento at-selection screen de manera sencilla:
DATA: scarr_wa TYPE scarr, col TYPE i, lin TYPE i.
START-OF-SELECTION. SELECT carrid FROM scarr INTO scarr_wa-carrid. WRITE / scarr_wa-carrid. HIDE scarr_wa-carrid. ENDSELECT. CLEAR scarr_wa-carrid.
AT LINE-SELECTION. col = sy-cucol + 40. lin = sy-curow + 2. WINDOW STARTING AT sy-cucol sy-curow ENDING AT col lin. IF sy-lsind = 1 AND scarr_wa-carrid IS NOT INITIAL. SELECT SINGLE carrname url FROM scarr INTO (scarr_wa-carrname,scarr_wa-url) WHERE carrid = scarr_wa-carrid. WRITE: scarr_wa-carrname, / scarr_wa-url. ENDIF.
Mensaje con más líneas:
POPUP_TO_CONFIRM_WITH_MESSAGE
Decisiones con más líneas:
POPUP_TO_DECIDE_WITH_MESSAGE
TYPE-POOLS: slis.******************************************************* Tabla interna con la estructura de la tabla MARA ** mas un nuevo campo CHECK se seleccion *******************************************************DATA: BEGIN OF itab OCCURS 0. INCLUDE STRUCTURE mara.DATA: check TYPE c.DATA: END OF itab.*********************************************** Retorna si el usuario selecciono CANCEL ***********************************************DATA: cancel(1) TYPE c.****************************************** Carga los datos en la tabla interna ******************************************SELECT * FROM mara INTO TABLE itab.************************** Llamada a la funcion ************************** CALL FUNCTION ‘REUSE_ALV_POPUP_TO_SELECT’ EXPORTING i_title = ‘ALV MARA’ i_selection = ‘X’ i_zebra = ‘X’ * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 i_checkbox_fieldname = ‘CHECK’ * I_LINEMARK_FIELDNAME = * I_SCROLL_TO_SEL_LINE = ‘X’ i_tabname = ‘ITAB’ i_structure_name = ‘MARA’ * IT_FIELDCAT = * IT_EXCLUDING = * I_CALLBACK_PROGRAM = * I_CALLBACK_USER_COMMAND = IMPORTING* es_selfield = e_exit = cancel TABLES t_outtab = itab EXCEPTIONS program_error = 1 OTHERS = 2. LOOP AT itab WHERE check = ‘X’. IF itab-matnr > 50. WRITE: / itab-matnr, itab-mtart. ENDIF. ENDLOOP i_title = Tituloi_selection = ‘X’ Para mostrar casillas de seleccioni_zebra = Alterna el color de salida(’X'/’ ‘)I_SCREEN_START_COLUMN = Coordenadas para el ALV en el popupI_SCREEN_START_LINE = Coordenadas para el ALV en el popupI_SCREEN_END_COLUMN = Coordenadas para el ALV en el popupI_SCREEN_END_LINE = Coordenadas para el ALV en el popupi_checkbox_fieldname = Tabla que retorna los registros seleccionadosI_LINEMARK_FIELDNAME = Línea de selección de información de color en el nombre del campo
I_SCROLL_TO_SEL_LINE = Scroll por defectoi_tabname = Tabla con los valores elegidosi_structure_name = Nombre de la estructuraIT_FIELDCAT = Feld catalogIT_EXCLUDING = Tabla de codigos de funcion inactivosI_CALLBACK_PROGRAM = nombre del progamaI_CALLBACK_USER_COMMAND = USER COMMNAD para rutinases_selfield = Informacion para simple seleccione_exit = Devuelve x si el usuario cancelo.t_outtab = Tabla de seleccion de valores.
POPUP_TO_DECIDE_LIST
DATA: val TYPE i.DATA event(6) TYPE c.val = 0.DO 4 TIMES. val = val + 25. CALL FUNCTION 'PROGRESS_POPUP' EXPORTING btn_txt = 'CANCEL' curval = val maxval = 100 stat = '1' text_1 = 'Text 1' text_2 = 'Text 2' text_3 = 'Text 3' title = 'Progress Bar in Pop Up Window ' winid = 100 IMPORTING popup_event = event.ENDDO.
CALL FUNCTION 'PROGRESS_POPUP' EXPORTING stat = '2' winid = 100.CALL FUNCTION 'GRAPH_DIALOG' EXPORTING close = 'X'.
POPUP_TO_CONFIRM_STEP
POPUP_TO_GET_ONE_VALUE
POPUP_DISPLAY_MESSAGE