SQL: Ventas Detalladas Error SWEI (optimización)

Hola compañeros!

Les comento, estoy realizando un query, donde quiero pedirle al usuario los datos con los que quiere filtrar el resultado del query, en este caso mis parámetros son un rango de fechas, el código del artículo y el nombre del socio de negocios. Para lo cual estoy utilizando @FechaInicio, @FechaFin, @CodeArticulo y @CodeSN.

La cuestión es, que al momento de querer ejecutar mi query en SAP, sólo me arroja "SWEI, no estoy segura del motivo que está ocasionando el error, pero pienso que es porque al inicializar mis variables les asigno el parámetro que les corresponde, pero SAP como tal quizá no puede saber que tipo de dato debe agarrar el parámetro, ya que no lo conoce…

Espero alguien pueda orientarme un poco.

También quisiera saber si puedo optimizar mi código, ya que es muy redundande al haer las validaciones para cada parámetro…

Código completo

Gracias por su atención y su ayuda :slight_smile:

Saludos

Hola @Angie_Infante, este query qué hace? Qué título debería tener el query si tuvieses que ponerle un título? Qué información brinda?

Hola @SidV, El query obtiene todas las facturas, el vendedor que la hizo, el cliente al que va dirigida la factura, así como los articulos, su fabricante, importe… A grandes rasgos eso hace el query.
Como título en la empresa le nombramos Ventas detalladas.

Saludos

1 me gusta

hola @Angie_Infante

Has intentado colocar las variables del tipo que le corresponde,

DECLARE   @FechaInicio datetime
DECLARE   @FechaFin datetime
DECLARE   @CodeArticulo nvarchar (15)
DECLARE   @CodeSN nvarchar (15)

Para el tema de optimizar tu código, veo que haces uso de UNION ALL, has pensado crear un CURSOR de esta manera te ahorrarás muchas lineas de código

Saludos.

2 Me gusta

Hola @pcarrasco, así es, ya las declaré con el tipo de dato que les corresponde, y marca el mismo error.
En cuanto a lo del cursor, en realidad no conozco el tema, investigaré cómo se hace y lo pondré en práctica. Si tengo buenos resultados te lo hago saber.

Gracias
Saludos

1 me gusta

El tema de los parametros en los querys de SAP es un poco limitado, pero hay un parde trucos, para poder hacerlos mas funcionales.
Por ejemplo esta forma de declarar parametros:

/*SELECT FROM [dbo].[OSRT] P0*/
declare @StartDate as datetime
/* WHERE */
set @StartDate = /* P0.FromDate */ ‘[%0]‘

Ojo: Los comentarios son tomados en cuenta al desplegar la solicitud del parametro.

Echale una mirada e este link:
h_tps://www.clientsfirst-us.com/user-defined-prompts-in-sap-business-one-queries/

Saludos,

2 Me gusta

Saludos angie, haz usado el crystal report de SAP?, si lo sabes usar, todo esa información de ventas la puedes sacar desde la tabla oinm, creo q sap 9.2 lo convirtieron en una vista, pero crystal lo lee, usas oinm como tabla ppal, ocrd, clientes, oslp, vendedores, los conceptos, 13 q si. Las ctas y el 14 q son las devolución es. Ahí tienes todo, cajas, unidades, y tu moneda conque vendes, bueno si ya hiciste un query ya debes saber eso, usando la tabla ionm, te ahorras el usar a oinv, inv1, orín, y rin1. Bueno trata si no me avisas, claro debes tener instalado a crystal report, creo q he hecho Estos reportes por el sql, no me acuerdo, ya q uso el crystal report

2 Me gusta

Hola a todos!
He solucionado este tema con el nuevo tema que abrí relacionado al mismo (sólo con menos código).

Les comparto la liga por si desean echárle un vistazo.

Gracias a todos por su aporte :slight_smile:
Saludos !!

1 me gusta