PDA

Ver la Versión Completa : Como obtener el Precio Neto de Pedido de Compras


smontenegro
13/08/08, 20:16:33
Estimados!
Quisiera saber cual es la mejor forma de obtener el precio neto de un pedido de compras.
En la tabla de posiciones EKPO existe un campo denominado NETWR en el cual se encuentra el valor neto de la posicion (Cantidad * Precio Neto)
El problema es que me encontré con algunos casos en que el valor neto que muestra la ME23n no es el mismo que figura en la tabla EKPO-NETWR
Estimo que se debe a algo de las condiciones que no estoy contemplado.
Busque hasta el momento sin resultados positivos una funcion que me devuelva el precio Neto utilizando las condiciones.
Conocen ustedes alguna función que pueda servirme?
Por que puede ocurrir que el valor neto que veo en la ME23n no es el mismo que la de EKPO-NETWR ?
Desde ya les agradezco infinitamente por su tiempo.:)
Saludos!

aldape
13/08/08, 23:25:59
y si intentas leer el de la cabecera? EKKO...

a mi me pasaba algo parecido por lo de las imputaciones...EKKN

cheka este query, chance y te da alguna idea

saludos!

select
ekko~ebeln
ekpo~ebelp
ekkn~zekkn
s2~packno
s2~introw
ekko~submi
s2~extrow
s2~srvpos
lfa1~lifnr
lfa1~name1
lfa1~name2
s2~ktext1
ekpo~txz01
s2~netwr
ekpo~menge
ekkn~nplnr
s2~tbtwr
s2~menge as srvmenge
prps~pspnr
prps~psphi
prps~POSID
proj~post1
into corresponding fields of table datos from ekkn
inner join ekko on ekko~ebeln = ekkn~ebeln
inner join lfa1 on lfa1~lifnr = ekko~lifnr
inner join ekpo on ekpo~mandt = ekkn~mandt and ekpo~ebeln = ekkn~ebeln and ekpo~ebelp = ekkn~ebelp and ekpo~loekz = ''
inner join esll as s1 on s1~mandt = ekpo~mandt and s1~packno = ekpo~packno and s1~del = ''
inner join esll as s2 on s2~mandt = s1~mandt and s2~packno = s1~sub_packno and s2~del = ''
inner join prps on prps~pspnr = ekkn~ps_psp_pnr
inner join proj on proj~pspnr = prps~psphi.

smontenegro
14/08/08, 11:50:05
En la cabecera del pedido tengo la moneda y el tipo de cambio pero no el valor neto.
Lo extraño es que en algunos pedidos veo que el valor neto de la me23n coincide con el campo EKPO-NETWR, pero tengo un caso en el que en la me23n me dice que el valor neto es 190 y en la tabla EKPO el valor neto es 1,90
Supongo que debe haber algun factor que estoy omitiendo pero ya no se donde buscarlo.

Muchas gracias!

Tonnyman
14/08/08, 14:31:49
Revisaste el campo NETPR?

sanckok
18/08/08, 09:03:31
Hola,

No se si será esto, pero fijate en el campo PEINH (creo recordar que es este). Se trata de un conversor, nosotros lo utilizamos para precios con mas de 2 decimales, si tiene puesto 100 (en tu caso), es justo la diferencia que tienes. Solo tendrias que multiplicar el precio del NETWR por el PEINH

Mike
19/08/08, 14:24:31
Prueba lo siguiente, haz un select a la EKPO y te traes todas las posiciones y pruebas la formula que te coloco a continuacion

LOOP AT IT_EKPO INTO WA_EKPO.
MONTO = MONTO + ( ( ( WA_EKPO-MENGE / WA_EKPO-PEINH ) * WA_EKPO-NETPR ) / ( WA_EKPO-BPUMZ / WA_EKPO-BPUMN ) ).
ENDLOOP.


Espero te sirva

smontenegro
20/08/08, 12:01:35
Muchas gracias a todos. Sus sugerencias me han sido de mucha utilidad!