PDA

Ver la Versión Completa : Determinación de condición de descuento en el esquema de cálculo


josepmaria
02/02/07, 14:29:58
Hola!

Estoy con un problema un poco intrincado referente a una condición de descuento.

Tenemos dos condiciones de precio para determinar el precio, la clase de condición PR00 y la ZPRO. La ZPRO solo aplica cuando existe un escalado de precios, por ejemplo cuando la cantidad de pedido es superior a 100

En el resto de caso la condición PR00 se aplica.

El problema se plantea cuando con la condición de dto. por % ZDT1.

Cuando existe solo un registro de condición para PR00, y no para ZPRO, este descuento ZDT1 se aplica correctamente y el registro de condición de descuento se encuentra sin problemas. En cambio, cuando además existe un registro de condición para ZPRO (escalado de precios), la condición ZDT1 no se determina en el esquema de cálculo y aparece un mensaje: Condición ignorada (Condición 002 incompleta). De hecho se refiere a la cláusula condicional que está para esa clase de condición ZDT1.(include LV61A002)

Hemos ido al programa estándar, debuggando el include LV61AA67 en linea 100,mientras estamos en el pedido de ventas, determinando el esquema de cálculo, el programa hace varios chequeos para cada clase de condición, y finalmente muestra el mensaje "111" de condición ignorada.

Include LV61AA67

* check requirement assigned to a condition in pricing procedure
if komt1-kobed ne 0 and komp-kposn ne 0 and
( preisfindungsart ne 'F' or komt1-kschl eq space ).
bedingung_pruefen-nr = komt1-kobed.
sy-subrc = 0.
perform (bedingung_pruefen) in program saplv61a if found.
if sy-subrc ne 0 and protokoll eq 'X'.
clear koprt.
move-corresponding komt1 to koprt.
koprt-typ = typ_ueber.
koprt-msgnr = '111'.
if komt1-kauto eq 'X'.
koprt-msgnr = '117'.
endif.
koprt-msgv1 = komt1-kobed.
call function 'COND_PROTOCOL_UPDATE'
exporting
cp_sdprothead = sdprothead
cp_koprt = koprt.
sy-subrc = 4.
endif.
endif.

Para la rutina 2 (include LV61A002) para la condición ZDT1 el program obtiene los siguientes valores:

* Pricing is turned on in item category configuration (TVAP)
form kobed_002.
sy-subrc = 4.
if komp-kposn ne 0.
check: komp-prsfd ca 'BX'. (El debugging obtiene valor “X”)
check: komp-kznep = space. (Valor es espacio)
endif.
sy-subrc = 0. (Obtenemos un valor “0”)
endform.
* Prestep
form kobev_002.
sy-subrc = 0.
endform.

Y el mensaje 111 aparece.

¿Alguna idea de porque nos está mostrando el mensaje, y sobre todo que posible configuración / modificación nos puede permitir que cuando se produce la clase de condición ZPRO también se determine la ZDT1 (la cual tiene registro de condición), en lugar de que aparezca como condición ignorada?

Muchas gracias,

Josep Maria