FUNCTION zfm_raizcuadrada. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" REFERENCE(I_NUM) TYPE I DEFAULT 0 *" EXPORTING *" REFERENCE(O_RESULT) TYPE I *" EXCEPTIONS *" CANCEL *" NO *"---------------------------------------------------------------------- *NOTA --> Raiz cuadrada con mensaje popup de si no o cancelar y salta una excepcion al pulsar cancelar **definicion de variables data: respuesta type c. **llamada a la funcion del popup para aceptar o no la operacion CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING * TITLEBAR = ' ' * DIAGNOSE_OBJECT = ' ' text_question = '¿Quieres calcular la raiz cuadrada de este numero?' TEXT_BUTTON_1 = 'Si'(001) * ICON_BUTTON_1 = ' ' TEXT_BUTTON_2 = 'No'(002) * ICON_BUTTON_2 = ' ' * DEFAULT_BUTTON = '1' * DISPLAY_CANCEL_BUTTON = 'X' * USERDEFINED_F1_HELP = ' ' * START_COLUMN = 25 * START_ROW = 6 * POPUP_TYPE = * IV_QUICKINFO_BUTTON_1 = ' ' * IV_QUICKINFO_BUTTON_2 = ' ' IMPORTING ANSWER = respuesta * TABLES * PARAMETER = EXCEPTIONS TEXT_NOT_FOUND = 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. *comprueba la respuesta del popup if respuesta = '1'. "se ejcuta si has pulsado si COMPUTE o_result = SQRT( i_num ). elseif respuesta = '2'. "se ejecuta si has pulsado cancel raise no. else. "se ejecuta si has pulsado no raise cancel. endif. ENDFUNCTION.