cancel
Showing results for 
Search instead for 
Did you mean: 

Concatenar

former_member263548
Participant
0 Kudos

Buenas tardes tengo un problema sin resolver y acudo a su ayuda, les comento:

Necesito una búsqueda formateada que muestre en un campo de la orden de compra todos los proveedores por defecto (ITM2) que tiene asignado cada artículo.

Les agradezco su ayuda.

Saludos,

Oscar M.

Accepted Solutions (1)

Accepted Solutions (1)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

la búsqueda sería así:

/* select itemcode from oitm */

declare @itemcode as nvarchar(25)

set @itemcode = $[$38.1.0]

declare @i int

set @i = 1

/* Revisa el tamaño de estas variables en función de tus necesidades */

declare @vendorcode as nvarchar(25)

declare @proveedor as nvarchar(500)

set @proveedor = ''

declare proveedores cursor for select vendorcode from itm2 where itemcode = @itemcode open proveedores fetch next from proveedores into @vendorcode

while @@FETCH_STATUS = 0

begin

if @i = 1

     begin

     set @proveedor = @vendorcode

     set @i = 2

end

else set @proveedor = @proveedor + '; ' + @vendorcode

fetch next from proveedores into @vendorcode

end

close proveedores

deallocate proveedores

select @proveedor

Un saludo

Agustín Marcos Cividanes

former_member263548
Participant
0 Kudos

Hola Agustin, voy a probar y te comento.

Saludos,

Oscar M.

former_member263548
Participant
0 Kudos

Agustín: Exactamente lo que necesitaba; muchísimas gracias por tu ayuda.

Saludos,

Oscar M.

Answers (1)

Answers (1)

gerardo_mendez
Active Contributor
0 Kudos

No se si comprendí bien.

¿Quieres que la búsqueda formateada te traiga un listado de todos los artículos con todos los proveedores que tiene asignados en la tabla ITM2?

De ser así ¿porqué no guardas una consulta en el query manager? Sería más accesible.

Si lo que requieres es una búsqueda del proveedor por defecto de cada artículo puedes probar con lo siguiente:

Select VendorCode FROM ITM2 Where ItemCode = $[$38.1.1]

Para mi gusto sería mejor consultar la OITM:

Select CardCode FROM OITM Where ItemCode = $[$38.1.1]

Suerte.

former_member263548
Participant
0 Kudos

Buen día Gerardo, te comento todo el panorama:

Existe una TN la cual permite crear ordenes de compra solamente a los artículos que tengan asignado el proveedor que se indica en la orden de compra.

El proveedor que indica la OITM lo llevé con una BF a un campo de la Orden de Compra, el problema es si ese artículo tiene varios proveedores por defecto de aquí es donde nace la necesidad de llevar a ese campo los proveedores por defecto asignados en la ITM2 de una forma concatenada.

Saludos,

Oscar M.