cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueo de Pedido si existe otro igual

Former Member
0 Kudos

Que tal, tengo un examen complicado, para mi desempeño en SAP, se trata de bloquear un pedido si ya existe otro igual en cardcode, cardname, itemcode, y quantity he probado algunos códigos pero no me funcionan, si alguno tiene alguna pista o solución, saludos

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Buen día Estimado Gerardo,

Usa este Query para que establezcas una Alerta diaria

/* ----- Query para mostrar lineas repetidas en orden de venta ----*/

SELECT  t1.itemcode as 'Codigo de Articulo', count(*) as 'repetido N veces', t1.Dscription as 'Descripcion', t2.CardName

FROM RDR1 t1 inner join ORDR t2 on t1.DocEntry = t2.DocEntry

GROUP BY t1.itemcode, t1.LineStatus, t1.Dscription, t2.CardName

HAVING t1.LineStatus = 'o' and count(*) > 1

/* ---- Instruccion para unir ambos queries quitando la info de lineas repetidas ----*/

Except --Union

/* -----Query para mostrar solo las lineas repetidas en un solo orden de venta -----*/

SELECT  t1.itemcode as 'Codigo de Articulo', count(*) as 'repetido N veces', t1.Dscription as 'Descripcion', t2.CardName

FROM RDR1 t1 inner join ORDR t2 on t1.DocEntry = t2.DocEntry

GROUP BY t1.itemcode, t1.LineStatus, t1.Dscription, t1.DocEntry, t2.DocEntry, t2.cardname

HAVING t1.LineStatus = 'o' and count(*) > 1 and t1.DocEntry like t2.DocEntry

Con esto te generara una alerta diaria en donde te dirá el código del producto, las veces que se ha repetido en distintos ordenes de venta abiertas (del mismo cliente), la descripción y el nombre del cliente.

Saludos

Former Member
0 Kudos

Hola buen dia Alberto, una pregunta:

hay que crear esta alarma y agregar el query como cualquier otra ?

saludos mi estimado Alberto

Former Member
0 Kudos

Se suponía que sí, pero; ya realicé una prueba y no lo corre, creo que es por el EXCEPT talvez tengas que grabar la alerta en el SQL manager y hacer que corra la alerta desde ahí dando de alta operadores y.... déjame hacer unas pruebas, el Query corre bien desde Query manager dentro de SAP pero no se porque no despliega la alerta (EXCEPT podría ser jjaja) .

Grábalo en Query manager y correlo, dime si es lo que estas buscando, saludos !

Former Member
0 Kudos

Hola Alberto, si, lo corri, y si me presenta 2 pedidos iguales de prueba, la información es la correcta, pero como tu dices, en efecto no genera la advertencia ni el bloqueo, quizá se pueda integrar el query al transaction notification, no se seria cuestión de probarlo, saludos

Former Member
0 Kudos

Aquí está el Query para la alerta, ahora si ya solo guardalo y crea la alerta en base a ese query, dale la programación de frecuencia que gustes y los user que debe llegar, ya lo probé por aquí y todo OK, saludos !

set quoted_identifier on

select * from (SELECT  t1.itemcode as "Codigo de Articulo", count(*) as "repetido N veces", t1.Dscription as "Descripcion", t2.CardName

FROM RDR1 t1 inner join ORDR t2 on t1.DocEntry = t2.DocEntry

GROUP BY t1.itemcode, t1.LineStatus, t1.Dscription, t2.CardName

HAVING t1.LineStatus = 'o' and count(*) > 1

Except --union

SELECT  t1.itemcode as "Codigo de Articulo", count(*) as "repetido N veces", t1.Dscription as "Descripcion", t2.CardName

FROM RDR1 t1 inner join ORDR t2 on t1.DocEntry = t2.DocEntry

GROUP BY t1.itemcode, t1.LineStatus, t1.Dscription, t1.DocEntry, t2.DocEntry, t2.cardname

HAVING t1.LineStatus = 'o' and count(*) > 1 and t1.DocEntry like t2.DocEntry)as x

En cuanto a generar un bloqueo por TN no te lo recomiendo porque puede haber casos en donde sea valido tener dos Ordenes de venta del mismo cliente por el mismo articulo (programaciones de entregas, etc)

Message was edited by: Alberto Loera

Former Member
0 Kudos

Hola Alberto, lo probare, muchas gracias, te informo del resultado, saludos

Former Member
0 Kudos

que tal Alberto, si funciona bien, lo dejare asi, es una buena opción ya con las alertas, saludo y gracias

Former Member
0 Kudos

Que bueno que te sirvió Gerardo, saludos cordiales.

Answers (2)

Answers (2)

Former Member
0 Kudos

Podrias crear una alerta diaria que incluya un Query en donde se muestren los Números de Orden de venta que incluyan productos que se repitan con el mismo socio de negocios en mas de una Numero de orden de venta "Abierta" y esta alerta deberá ser monitoreada diariamente por algún usuario para cerrar las que no deban estar abiertas.

Saludos !

Former Member
0 Kudos

hola si , es correcto solo que ya intente un código que no me funciono con algunas variantes pero mi razonamiento ya esta bloqueado para este problema jeje, si alguno tiene algún código parecido, saludos

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

¿Qué ocurre si el pedido que encuentras duplicado está cerrado? ¿Y si está parcialmente servido? ¿Y si está cancelado?

¿Lo vas a comprobar con todos los pedidos de venta grabados en el sistema? ¿O sólo con los del periodo actual?

Me parece un poco locura porque esta comprobación en el transaction notification va a ralentizar la grabación de los pedidos.

Yo lo haría con un proceso que se ejecute cada cierto tiempo e inserte los datos en una tabla de usuario. Luego pondría una alarma y que sea el usuario de SBO quien decida qué hacer con el pedido duplicado.

Aparte de tu control, la empresa debe decidir qué tiempo tiene de entrega para el pedido y tenga tiempo suficiente para encontrar los duplicados y qué hacer con ellos antes de servirlos.

Un saludo

Agustín Marcos Cividanes

Former Member
0 Kudos

Hola como esta Alberto? si , realmente todos estos puntos que menciona ya están contemplados, el proceso se ira a autorización en SAP y de ahí viene el chequeo del doc. ya que se da que diferentes vendedores levantan el mismo pedido del cliente, saludos