cancel
Showing results for 
Search instead for 
Did you mean: 

Transaction Descuentos por Linea en la ORDR

armandomuozsule
Active Participant
0 Kudos

Buen dia Expertos quiero realizar un transaction para que valide los descuentos que se realizan en un pedido en SAP

el porcentaje se rige con las escalas de descuentos que tenemos en la tabla SPP2, el objetivo de este transaction es mantener la integridad de los descuentos estipulados y no se puedan cambiar los descuentos de acuerdo a nuestra tabla de descuentos, por ejemplo por 3 cajas de algún producto es el 2% de descuento estipulado pero si alguien le pone 4% no lo permita porque el descuento asignado según la SPP2 es 2%, he intentado usar cursores para leer las lineas de productos y realizar comparaciones pero no lo he logrado, si alguien pudiera brindarme su ayuda para terminar este requerimiento se lo agradecería mucho.

De antemano muchas gracias.

Saludos Cordiales

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Puedes incluir una comprobación en el Transaction Notification, la comprobación que deberías hacer sería algo así:

@descuentos_modificados as numeric

IF @object_type in ('15') And @transaction_type in ('A')

Begin

set @descuentos_modificados = (select  count(*) from odln

left join dln1  on

odln.docentry = dln1.docentry

left join spp2 on

dln1.itemcode = spp2.itemcode and

odln.cardcode = spp2.cardcode and

dln1.quantity >= spp2.amount and

spp2.amount = (select max(spp2.amount) from spp2 where amount<=dln1.quantity)

where dln1.DiscPrcnt <> spp2.Discount and odln.docentry = @list_of_cols_val_tab_del)

If @descuentos_modificados >0

     Begin

          Set @error =1

          Set @error_message = 'Error: Descuentos modificados'

     End

End

Saludos

armandomuozsule
Active Participant
0 Kudos

Gracias por tu Asistencia Alfonso, voy a probar tu transaction para validar tu valiosa ayuda.

Saludos Cordiales

Former Member
0 Kudos

Disculpa, evidentemente la consulta está hecha para ODLN, debes cambiarlo para la ORDR.

Saludos

armandomuozsule
Active Participant
0 Kudos

Estimado Alfonso ya probe tu query solo que lo tuve que adaptar a la ORDR que es donde lo necesitaba ya que el tuyo esta adaptado a la entrega, pero no me funciono, cuando value el query me trae 0 , hice un pedido en el cual provoque un descuento del 6% cambie el 6 por 8% y no paso nada dejo grabar el pedido logicamente porque me trae el valor 0, podrias darme tu opinion como experto que eres , que estara pasando?

Saludos cordiales

Former Member
0 Kudos

He hecho un pequeño cambio, lo he probado con un documento de 2 líneas, con tres escalas de descuento en cada artículo, y a mí me funciona.

select  count(*) from ordr

left join rdr1  on

ordr.docentry = rdr1.docentry

left join spp2 on

rdr1.itemcode = spp2.itemcode and

ordr.cardcode = spp2.cardcode and

spp2.amount = (select max(spp2.amount) from spp2 where amount<=rdr1.quantity and itemcode = rdr1.itemcode)

where rdr1.DiscPrcnt <> spp2.Discount and ordr.docentry = @list_of_cols_val_tab_del and rdr1.quantity >= spp2.amount

Saludos

armandomuozsule
Active Participant
0 Kudos

Agradezco tu ayuda pero aun sigue sin funcionar tu propuesta, no hace ningun tipo de bloqueo.

muchisimas gracias por tu colaboracion porque me ayudo a abrir un poco más el panorama de lo que se esta desarrollando.

saludos

Former Member
0 Kudos

Ok, de nada, en cualquier caso, a mí me funciona.

armandomuozsule
Active Participant
0 Kudos

Ese error es nativo de Sap el que dice que falta fecha de entrega, saludos estimado Alfonso.

Former Member
0 Kudos

Disculpa, las prisas....

Answers (0)