#1
|
||||
|
||||
Optimizacion de codigo?
Saludos Aqui practicando algo de recursividad a mis viejos tiempos con C jajaja bueno pues realice un reacomodo de mayor a menor de una serie de 5 numeros claro esto podria ser loco pero pues era para entretenerme ok, ahora creen que se podria hacer mas chiquito mi codigo algo asi como optimizarlo u otra manera de hacerlo ?
*&---------------------------------------------------------------------* *& Report ZDUMMY_RMR60 * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT zdummy_rmr60. DATA: BEGIN OF itab_almacen OCCURS 0, r_num TYPE n, END OF itab_almacen. DATA: r_temp LIKE itab_almacen-r_num, r_temp2 LIKE itab_almacen-r_num. DATA: r_cont TYPE n VALUE 1. DATA: r_nomcampo(6) TYPE c. DATA: r_tabix LIKE sy-tabix. FIELD-SYMBOLS <fs_valor> TYPE ANY. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t00. PARAMETERS: r_num1 TYPE n, r_num2 TYPE n, r_num3 TYPE n, r_num4 TYPE n, r_num5 TYPE n. SELECTION-SCREEN END OF BLOCK b1. AT USER-COMMAND. CASE sy-ucomm. WHEN '/&PROC'. PERFORM reordenar_numero. PERFORM imprimir. WHEN 'BACK'. LEAVE TO SCREEN 0. ENDCASE. START-OF-SELECTION. SET TITLEBAR 'STANDARD'. SET PF-STATUS 'MENU'. PERFORM llenar_tabla. PERFORM imprimir. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form llenar_tabla *&---------------------------------------------------------------------* FORM llenar_tabla . DO 5 TIMES. CONCATENATE: 'r_num' r_cont INTO r_nomcampo. ASSIGN (r_nomcampo) TO <fs_valor>. MOVE: <fs_valor> TO itab_almacen-r_num. APPEND itab_almacen. r_cont = r_cont + 1. ENDDO. ENDFORM. " llenar_tabla *&---------------------------------------------------------------------* *& Form reordenar_numero *&---------------------------------------------------------------------* FORM reordenar_numero . LOOP AT itab_almacen. r_temp = itab_almacen-r_num. r_tabix = sy-tabix + 1. READ TABLE itab_almacen INDEX r_tabix. IF r_temp LT itab_almacen-r_num. r_temp2 = itab_almacen-r_num. MOVE: r_temp TO itab_almacen-r_num. MODIFY itab_almacen INDEX r_tabix. r_tabix = sy-tabix - 1. READ TABLE itab_almacen INDEX r_tabix. itab_almacen-r_num = r_temp2. MODIFY itab_almacen. PERFORM reordenar_numero. ENDIF. ENDLOOP. ENDFORM. " reordenar_numero *&---------------------------------------------------------------------* *& Form imprimir *&---------------------------------------------------------------------* FORM imprimir . r_cont = 1. LOOP AT itab_almacen. WRITE: / 'Lugar : ', r_cont, '-->', itab_almacen-r_num. r_cont = r_cont + 1. ENDLOOP. ENDFORM. " imprimir
__________________
01010000 01001010 10011000 10100001 De Byte a Beat. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|