Hola.
Tenemos un problema con una formula para calcular el valor de una condición de precio nueva. Hemos creado la condición y le hemos asignado la rutina. Cuando creamos la factura vemos que el código pasa por la rutina, y le asigna un valor a la variable XKWERT, pero este valor después no es el que le asigna a la condición. Hemos visto que la rutina es llamada en este punto del código en el include LV61AA55.
* execute condition value formula not changing xkomv
* will normally be processed in xkomv_kwert_ermitteln
IF xkomv-kofrm NE 0 AND wertformel EQ space AND komp-kposn NE 0.
rettkomv = xkomv.
xkwert = xkomv-kwert.
frm_kondi_wert-nr = xkomv-kofrm.
PERFORM (frm_kondi_wert) IN PROGRAM saplv61a IF FOUND.
xkomv = rettkomv.
ENDIF.
O sea, que la condición se ejecuta pero XKOMV-KWERT no se actualiza con XKWERT. Hemos visto que hay otro punto del código donde se llama a la formula y después se actualiza XKOMV-KWERT, en el include LV61AA43.
* calculation formula
IF xkomv-kofrm NE 0.
wertformel = 'X'.
xkwert = xkomv-kwert.
frm_kondi_wert-nr = xkomv-kofrm.
PERFORM (frm_kondi_wert) IN PROGRAM saplv61a IF FOUND.
xkomv-kwert = xkwert.
ENDIF.
Investigando, hemos visto que tiene algo que ver con el reference value del good issue (campo VBFA-RFWRT). Si este valor es 0 actualiza XKOMV-KWERT, y si es distinto de 0 no lo hace. Pero este campo se actualiza cuando se hace el post good issue de la entrega.
Espero haberme explicado bien. ¿Sabeis de que depende que la formula se ejecute y actualice el valor de la condición? ¿Es un tema de parametrización?
Gracias.
Tenemos un problema con una formula para calcular el valor de una condición de precio nueva. Hemos creado la condición y le hemos asignado la rutina. Cuando creamos la factura vemos que el código pasa por la rutina, y le asigna un valor a la variable XKWERT, pero este valor después no es el que le asigna a la condición. Hemos visto que la rutina es llamada en este punto del código en el include LV61AA55.
* execute condition value formula not changing xkomv
* will normally be processed in xkomv_kwert_ermitteln
IF xkomv-kofrm NE 0 AND wertformel EQ space AND komp-kposn NE 0.
rettkomv = xkomv.
xkwert = xkomv-kwert.
frm_kondi_wert-nr = xkomv-kofrm.
PERFORM (frm_kondi_wert) IN PROGRAM saplv61a IF FOUND.
xkomv = rettkomv.
ENDIF.
O sea, que la condición se ejecuta pero XKOMV-KWERT no se actualiza con XKWERT. Hemos visto que hay otro punto del código donde se llama a la formula y después se actualiza XKOMV-KWERT, en el include LV61AA43.
* calculation formula
IF xkomv-kofrm NE 0.
wertformel = 'X'.
xkwert = xkomv-kwert.
frm_kondi_wert-nr = xkomv-kofrm.
PERFORM (frm_kondi_wert) IN PROGRAM saplv61a IF FOUND.
xkomv-kwert = xkwert.
ENDIF.
Investigando, hemos visto que tiene algo que ver con el reference value del good issue (campo VBFA-RFWRT). Si este valor es 0 actualiza XKOMV-KWERT, y si es distinto de 0 no lo hace. Pero este campo se actualiza cuando se hace el post good issue de la entrega.
Espero haberme explicado bien. ¿Sabeis de que depende que la formula se ejecute y actualice el valor de la condición? ¿Es un tema de parametrización?
Gracias.
Comentario