*&---------------------------------------------------------------------* *& Report ZANMA_R_MENSSENGER *& *&---------------------------------------------------------------------* REPORT zanma_r_menssenger. *MESSAGE i000(zavan_msg). * Salut, Ça va ? *MESSAGE i000(zanma_msg) WITH 'JUAN'. * Hola &1 que tal? *MESSAGE i002(zanma_msg). * What's Up ? *MESSAGE i001(zanma_msg) WITH 'PEPE'. * What your name &1? *MESSAGE i003(zanma_msg) WITH 'ALEX'. * Are you Nigger &1? DATA a(3) TYPE n. DATA rango(3) TYPE n. DATA cont(3) TYPE n . DATA: mid TYPE sy-msgid VALUE 'ZANMA_MSG', mtype TYPE sy-msgty VALUE 'I', num TYPE sy-msgno VALUE ''. SELECTION-SCREEN BEGIN OF BLOCK block WITH FRAME TITLE text-000. ***select options para la opcion sin rango *SELECT-OPTIONS b FOR a no interval. PARAMETERS nom TYPE string. SELECT-OPTIONS b FOR a. SELECTION-SCREEN END OF BLOCK block. ***mensaje con un solo valor sin rango *LOOP AT b. * num = b-low. * MESSAGE ID mid TYPE mtype NUMBER num WITH nom. * MESSAGE ID 'ZANMA_MSG' TYPE 'I' NUMBER b-low WITH nom. *ENDLOOP. **mensaje con rangos **LOOP se pone porque puede haber mas de un registro **Porque puedes poner dos rangos de low y High LOOP AT b. IF b-option = 'BT'. rango = b-high - b-low + 1. cont = b-low - 1. DO rango TIMES. IF cont > 3. CONTINUE. ENDIF. MESSAGE ID mid TYPE mtype NUMBER cont WITH nom. cont = cont + 1. ENDDO. ELSEIF b-option = 'EQ'. num = b-low - 1. MESSAGE ID mid TYPE mtype NUMBER num WITH nom. ENDIF. ENDLOOP.