buen día el día de hoy me encuentro con un dilema intento sacar un informe de facturas de compra que me muestre el importe base pero barias de estas facturas me salen en cero y al buscar el documento me muestra que si tiene un valor mayor a cero.
este es el código que use para la consulta.
SELECT T0.[DocNum], T0.[DocDate], T1.[CardCode], T1.[CardName], T0.[BaseAmnt] FROM OPCH T0 INNER JOIN OCRD T1 ON T0.[CardCode] = T1.[CardCode] WHERE T0.[DocDate] >=[%0]
agradezco la ayuda que me puedan dar sobre el tema.
La tabla no guarda el importe base, lo puedes calcular con total-impuesto.
O como te dicen más abajo sumarizando el neto de las líneas.
En tu caso tendrías que hacer T0.DocTotal-T0.VatSum as ‘Base’
buen día intente solucionarlo como me dice pero el inconveniente viene en las retenciones de impuesto y calcularlo saldría un código mas largo por lo cual me gustaría una lectura del valor del campo del documento.
me ayudaría para saber que le falta a mi código para esta lectura del campo?
SELECT T0.[DocNum], T0.[DocDate], T1.[CardCode], T1.[CardName], T0.[BaseAmnt] FROM OPCH T0 INNER JOIN OCRD T1 ON T0.[CardCode] = T1.[CardCode] WHERE T0.[DocDate] >=[%0]
Prueba este query, estoy exceptuando facturas canceladas.
Puedes adaptarlo a lo que necesitas. Esta para correr en hana pero solo cambia las comillas por corchetes y funcionara.
SELECT T0."DocNum", T0."DocDate", T0."CardCode", T0."BaseAmnt" ,
CASE T0."DocCur" WHEN 'MXP' THEN SUM(T1."LineTotal" )
ELSE SUM(T1."TotalFrgn" )
END "Importe Base", T0."DocCur"
FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."DocDate" >=[%0] AND T0."CANCELED" != 'Y'
GROUP BY T0."DocNum", T0."DocDate", T0."CardCode", T0."BaseAmnt", T0."DocCur"
A ver… la idea es que te pegues un poco con la consulta, la entiendas y sepas o seas autónomo para realizar las consultas.
Nosotros no sabemos de tus peculiaridades, si tienes retenciones, portes, descuentos… Del total factura deberías restar todos los campos de cada uno de esos importes… sería t0.doctotal-(t0.vatsum+t0.discsum+t0.TotalExpns+t0.CashDiscnt+t0.WTSum)
buen día e encontrado el dilema de porque salían varios sub totales en ceros y es porque el documento solo tiene un ítem y los que tiene varios si muestra el sub total esto me dio a entender mas de como funciona internamente sap b1 por lo cual puedo mejorar mi código haciéndolo mas corto les dejo el porque pasa por si les resulta de utilidad.
gracias por sus respuestas y atención en el asunto.