Gracias topx por tus sugerencias organice la consulta y quedo asi:
Código SQL
[-]
SELECT DESCUENTO, NORDEN FROM FACTURA WHERE N_FACTURA = :FACTURA INTO
ESCUENTO, :ORDEN;
FOR SELECT S.IVA, SUM(I.IVA), SUM(I.VALOR), A.FORMA_PAGO, sum(A.VALOR)
FROM SERVICIO S
INNER JOIN ITEMSERVICIO I ON S.CODIGO = I.SERVICIO
INNER JOIN ORDEN_SERVICIO O ON O.N_ORDEN = I.ORDEN
RIGHT OUTER JOIN ANTICIPO A ON O.N_ORDEN = A.N_ORDEN
WHERE O.N_ORDEN = :ORDEN
GROUP BY S.IVA, A.FORMA_PAGO
INTO :PORCENTAJE, :TIVA, :TTOTAL, :FPAGO, :VFPAGO DO
BEGIN
NFAC = :FACTURA;
BASE = :TTOTAL/(1+:PORCENTAJE/100);
BASE1 = :BASE;
BASE = :BASE - (BASE*DESCUENTO/100);
TIVA = BASE1 * (PORCENTAJE/100);
TTOTAL = BASE + TIVA;
suspend;
END
Pero ahora me arroja por cada forma de pago los IVAS y por cada IVA LAS FORMA DE PAGO es decir que me aparecen 4 IVAS del 10 y 2 Formas de pago para CXC por ejemplo.
Código:
Porcentaje IVA TOTAL BASE FPAGO VALOR
10 19.127 210.400 121.272 CXC 119.500
16 1.972 14.300 12.327 CXC 119.500
10 19.127 210.400 121.272 EFECTIVO 65.000
16 1.972 14.300 12.327 EFECTIVO 65.000
10 19.127 210.400 121.272 T.C. 15.000
16 1.972 14.300 12.327 T.C. 15.000
10 19.127 210.400 121.272 T.D. 25.200
16 1.972 14.300 12.327 T.D. 25.200
Depronto puede ser una sentencia que falta? o Realizar otra consulta sobre la tabla resultante en otro procedimiento?