ipprmt021: consulta el nombre del usuario una sola vez por usuario (antes una consulta por fila)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,7 @@ GLOBALS
|
|||||||
us_crea VARCHAR(50)
|
us_crea VARCHAR(50)
|
||||||
END RECORD
|
END RECORD
|
||||||
DEFINE nombreUsuario,email,etiqueta STRING
|
DEFINE nombreUsuario,email,etiqueta STRING
|
||||||
|
DEFINE cacheUsuarios DICTIONARY OF STRING
|
||||||
MAIN
|
MAIN
|
||||||
DEFER INTERRUPT
|
DEFER INTERRUPT
|
||||||
CALL ARG_VAL(1) RETURNING usuarios
|
CALL ARG_VAL(1) RETURNING usuarios
|
||||||
@@ -59,8 +60,12 @@ FUNCTION ipprmt021()
|
|||||||
|
|
||||||
LET idx = 1
|
LET idx = 1
|
||||||
FOREACH buscardata INTO arr_busqueda[idx].*
|
FOREACH buscardata INTO arr_busqueda[idx].*
|
||||||
CALL usuarioSistema(arr_busqueda[idx].us_crea) RETURNING nombreUsuario,email
|
# Nombre del usuario: se consulta una sola vez por usuario
|
||||||
LET arr_busqueda[idx].usuario = nombreUsuario
|
IF NOT cacheUsuarios.contains(arr_busqueda[idx].us_crea) THEN
|
||||||
|
CALL usuarioSistema(arr_busqueda[idx].us_crea) RETURNING nombreUsuario,email
|
||||||
|
LET cacheUsuarios[arr_busqueda[idx].us_crea] = nombreUsuario
|
||||||
|
END IF
|
||||||
|
LET arr_busqueda[idx].usuario = cacheUsuarios[arr_busqueda[idx].us_crea]
|
||||||
LET idx = idx + 1
|
LET idx = idx + 1
|
||||||
END FOREACH
|
END FOREACH
|
||||||
IF idx = 1 THEN
|
IF idx = 1 THEN
|
||||||
|
|||||||
Reference in New Issue
Block a user