Actualización masiva datos numéricos de una tabla

Hola a todos nuevamente, comentarles que ahora me entró la duda de si se puede actualizar de forma masiva los datos numéricos de una tabla interna, específicamente el campo dmbtr, el caso es que quiero optimizar el tiempo procesamiento del reporte que ya está en producción, les comenté acerca de algo similar en el post Actualización masiva tabla interna.
En este caso necesito convertir en negativo los datos a mostrar en el ALV, solamente aquellos donde shkzg sea H (tiene lógica no??), por ahora lo hago con un LOOP, pero al ser tantos datos se toma su tiempito.

La verdad es que no tengo idea de si se puede hacer o no, me imaginaba algo así:

CLEAR: wa_data. "AQUI NO SE COMO HACERLO, AYUDA!!! MODIFY ti_data FROM wa_data TRANSPORTING dmbtr WHERE shkzg = 'H'.

Lo que no consigo deducir es como sacar la data de ti_data y volver a actualizar la misma.

Espero puedan ayudarme.

yo lo hiciera con un field symbol, con un loop…donde [quote=“rsegovia, post:1, topic:8506”]
shkzg = ‘H’
[/quote]

y ya al trabajarlo directo con el field symbol, no tienes que hacer modify…ellos trabajan como “apuntadores” y es mucho mas dinamico !!

3 Me gusta

Exacto @canuto, actualmente hago lo que mencionas (olvidé comentarlo), de la siguiente manera:

loop at ti_data assigning <wa_data> where shkzg eq 'H'. <wa_data>-dmbtr = <wa_data>-dmbtr * -1. endloop.

Me imagino que se puede, son al rededor de 12000 registros (promedio), por eso es que pregunto si se puede.

De todas formas gracias.

mira, yo no conozco otra cosa o por lo menos no recuerdo ahorita…lo otro que se me ocurre es que haga 2 tabla auxiliar, tal cual como la ti_data, luego haces un delete donde shkzg sea diferente de h y eso lo dejes ahi, ahi vas a tener una tabla con solo los que son h…y ahi haces el loop y pues quizas de 12 mil, te baje a uno cuantos y el loop seria un poco mas rapido…luego hacen appending de la tabla de solo h a la otra auxiliar y asi optienes todos los registros de nuevo…quizas te ahorres algo, seria probar !!!

2 Me gusta

Gracias @canuto, tu sugerencia funciona bastante bien, el tiempo se ha reducido en un promedio de 40 segundos.

2 Me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.