abap popups

11
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

Upload: joanteaj-ta

Post on 27-Nov-2015

164 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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.

Page 2: ABAP Popups

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'.

Page 3: ABAP Popups

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'.

Page 4: ABAP Popups

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:

Page 5: ABAP Popups

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:

Page 6: ABAP Popups

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:

Page 7: ABAP Popups

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

Page 8: ABAP Popups

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'.

Page 9: ABAP Popups

POPUP_TO_CONFIRM_STEP

POPUP_TO_GET_ONE_VALUE

POPUP_DISPLAY_MESSAGE

Page 10: ABAP Popups