Agregar otra columna a lista de valores existente

Hola buen día a todos :upside_down_face:,
les comento mi duda respecto a una búsqueda formateada, lo que necesito es saber es si se puede agregar otra columna a la lista de valores existente (la búsqueda que arroja la consulta).

Espero me aya explicado, Saludos :raised_hand_with_fingers_splayed:

Ese es un filtro de una consulta, la busqueda formateada es distinto. Podrias confirmar porfa

1 me gusta

siii es un filtro mi consulta es gastos por Vehiculos al ejecutarla me aparece la pantalla de Consulta: criterios de selección en código elegimos el código del Vehículo en la bolita nos arroja todos los q existen con registro y ay lo podemos seleccionar. es donde yo quiero agregar el nombre del vehículo, no se si eso sea posible y como??. :upside_down_face:

Hola @LilianaN

De forma nativa nunca he hecho algo parecido y no veo como pudiera ser, sin embargo, pudiera ser con algo personalizado, puede ser que en la tabla de donde estás recuperando el dato del parámetro, además de los campos normales que me imagino que son “Code” y “Name”, adicionaras un campo para tener tanto el Código como el Nombre del vehículo, por ejemplo:

Situación actual:
Code = C00
Name = Descripción del vehículo C00

Adecuación:
Code = C00
Name = Descripción del vehículo C00
U_Descripcion = C00 Descripción del vehículo C00

IMPORTANTE !!! Cuidando que las posiciones para el código sean de la misma longitud, por ejemplo, los primeros 10 caracteres, para que posteriormente en la condición de la consulta, extraigas solo el código con substring(@Variable,1,10)

NOTA: Yo te sugiero lo del tercer campo, por si necesitas en algún momento dado necesitas recuperar solo la descripción no tengas que volver a extraer el dato de cierta posición.
Si no quieres adicionar un campo, en el mismo campo “Name” puedes tener tanto código como descripción, y como te comento, cuidar que la longitud sea la misma, yo hice una prueba con una tabla de usuario y funcionó, te proporciono una imagen y el código de prueba.

Imagen Tabla de Usuario de donde recupero el dato del parámetro:
Imagen_01

Ejemplo del código, para considerar solo el código del vehículo en la condición:

declare @param as varchar(200)
select @param = t0.u_descripcion from [@VALORES] t0 where t0.u_descripcion = '[%0]'
set @param = convert(varchar,'[%0]')
select t0.code, t0.name, T0.u_descripcion from [@VALORES] t0 where t0.code = substring(@param,1,10)

Imagen donde me muestra los valores de la lista:

Espero te sirva de apoyo para cubrir tu necesidad

Saludos
SAP B1 v9.2 PL03
México

3 Me gusta

Muchas gracias por tu comentario me encanto, de echo si optare por un tercer campo donde coloque el código y el nombre automático, pero la consulta que tu me sugieres no me funciona o no la entiendo haha :upside_down_face: .

tendrás alguna idea de como en el campo Descripción automáticamente coloque code y name.

La busqueda formateada de devuelve el valor code al campo, que es el campo clave o identidad por decirlo de alguna forma y que es el único válido.
En la select que arma la busqueda formateada, la editas y puedes añadir las columnas que quieras y en el orden que quieras.
La única cuestión que tienes que tener en cuenta es que la primera columna tiene que ser el Code.
La busqueda formateada o la consulta, la editas, añades y la vuelves a salvar con el mismo nombre.

1 me gusta

Buenos días @LilianaN,

Debido a que SAP solo permite en las búsquedas formateadas detectar un solo evento de un solo campo y pensando en que la descripción es el segundo dato que se modifica, es posible de crear una búsqueda formateada en el campo “U_Descripción” cuando éste sea modificado, para concatenar (unir) el código con su descripción (Code + Name) cuando se modifique dicha descripción, esto para hacerlo de forma automática.
En el último de los casos, bastará con que el usuario de click a la lupita para que conforme la descripción compuesta con ambos datos, lo cual es muy rápido.

Es cierto que existe el riesgo que por alguna razon, al modificar un registro solo se modifique el código, es por esa la alternativa de hacer consciente al usuario para que siempre de click a la lupita y tenga la certeza de que se actualice el tercer campo.

Te paso un ejemplo del query para la búsqueda formateada:
SELECT (rtrim($[@VALORES.Code]) + replicate(' ',10-len(rtrim($[@VALORES.Code]))) + $[@VALORES.Name])

NOTA: @VALORES es el nombre de la tabla para mi ejemplo, y el método “rtrim” es para quitar los espacios que se agregan de forma automática al recuperar el valor del campo “Code”, ya que toma en cuenta la longitud total de dicho campo.

Espero haberme explicado, así como espero que te ayude en algo.

Saludos
SAP B1 v9.2 PL03
México

1 me gusta

Por cierto @LilianaN, como podrás ver, yo estoy considerando 10 caracteres para lograr la longitud fija para el código y rellenar con espacios el resto, sin embargo, tú puedes asignar el número que desees.

replicate(’ ',10-len(rtrim($[@VALORES.Code])))

Saludos

1 me gusta

Funciono a la perfección muchas gracias por tu aportación me fue muy útil … Gracias por compartir tus conocimientos.

Saludos :upside_down_face::raised_hand_with_fingers_splayed:

Me da gusto haber podido aportar algo para ayudarte @LilianaN

Saludos

1 me gusta

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