Ver Mensaje Individual
  #3  
Viejo 22/06/17, 13:41:56
mialma mialma is offline
Junior Member
 
Fecha de Ingreso: mar 2008
Mensajes: 19
Creando un pool de rutinas

Por hacerlo de forma complicada:


REPORT suma.

DATA:
operador_1(10) VALUE '10',
simbolo_1(10) VALUE '+',
operador_2(10) VALUE '5',
simbolo_2(10) VALUE '-',
operador_3(10) VALUE '2'.

DATA:
t_source_tab TYPE TABLE OF char72,
g_program_name TYPE sy-repid,
g_syntax_message TYPE string,
g_line_no TYPE i
, linea(100), operacion(100),
resultado TYPE i.

CONCATENATE operador_1 simbolo_1
operador_2 simbolo_2
operador_3 INTO operacion SEPARATED BY space.


REFRESH t_source_tab.
APPEND 'REPORT' TO t_source_tab.
APPEND sy-repid TO t_source_tab.
APPEND '.' TO t_source_tab.
APPEND 'FORM MATH CHANGING RESULTADO.' TO t_source_tab.
CONCATENATE 'RESULTADO = ' operacion '.' INTO linea SEPARATED BY space.
APPEND linea TO t_source_tab.
APPEND 'ENDFORM.' TO t_source_tab.



GENERATE SUBROUTINE POOL t_source_tab NAME g_program_name
MESSAGE g_syntax_message LINE g_line_no.
IF sy-subrc <> 0.
MESSAGE g_syntax_message TYPE 'E'.
ENDIF.

START-OF-SELECTION.
PERFORM math IN PROGRAM (g_program_name) CHANGING resultado.
WRITE :/ resultado.
Responder Con Cita