PDA

Ver la Versión Completa : Mejores Practicas


DCErick
22/10/08, 00:39:35
Tengo estas lineas de código para modificar una tabla interna.


MODIFY zexistencia FROM ti_tmp
TRANSPORTING maktx stprs prdha
WHERE matnr = ti_tmp-matnr.}



LOOP AT zexistencia WHERE matnr = ti_tmp-matnr.
MOVE: v_maktx TO zexistencia-maktx.
MOVE: v_stprs TO zexistencia-stprs.
MOVE: v_prdha TO zexistencia-prdha.
MODIFY: zexistencia.
ENDLOOP.


Me gustaria saber cual de las 2 tiene mejor performance..
Alguna idea?

pirri
22/10/08, 09:27:40
Hola DCErick

Yo usaría MODIFY con su TRANSPORTING. Creo que es más rápido frente a un bucle con tres movimientos y la modificación sin usar TRANSPORTING.

Un saludo.

ballan
22/10/08, 10:36:33
Dando una vuelta de tuerca mas yo creo que esto seria lo mas rapido

field-symbols: <linea> type zexistencia.

loop at zexistencia assigning <linea>.

check <linea>-matnr = ti_tmp-matnr.

<linea>-maktx = v_maktx
<linea>-stprs = v_stprs
.
.
.

endloop.

DavidXD_XD
22/10/08, 14:45:53
Hola DCErick obviamente tiene mas performance la sentencia MODIFY, aunq ese resultado se refleja mejor cuanto tienes en tu tabla interna algo de 500000 registros por ejemplo ....

DCErick
22/10/08, 14:50:24
Gracias a todos los que respondieron. Al final me quedé con usar la sentencia MODIFY.