CURSOR CURQ_INTERMEDIARIO (P1_CODINTER P_CODINTER,P1_DESDE P_DESDE,P1_HASTA P_HASTA,P1_ESTATUS P_ESTATUS,P1_NUMOBLIG P_NUMOBLIG,P1_TIPOMONEDA P_TIPOMONEDA,P1_NROLOTE P_NROLOTE,P1_CODOFI P_CODOFI)
IS
WITH Q_INTERMEDIARIO AS
(SELECT
I.CODOFI,
T.APETER||' '||T.NOMTER NOMINT,
T.NUMID,
T.TIPOID,
T.DVID,
pr_util.busca_nomcli(p.codcli) NOMCLI,
P.NUMPOL ,
P.fecemi,
R.CODRAMOCERT,
R. MTOMONEDA,
R.numrec,
P.CODPOL,
OP.FOPERINTER,
OP.NUMOPERINTER,
OP.CODINTER,
OP.TIPOOPERINTER,
OP.IDEREC,
DECODE(:P_TIPOMONEDA,'DL',OP.C ODMONEDA, 'BS') CODMONEDA,
OP.MONTOOPERINTERLOCAL,
OP.MONTOOPERINTERFORANEA,
OP.MONTOOPERORIGLOCAL,
OP.MONTOOPERORIGFORANEA,
OP.STSOPERINTER,
OP.FECSTS,
OP.FOPERINTERORIG,
OP.NUMOPERINTERORIG,
OP.NUMOBLIG,
I.porcfondo,
TOP.descoperinter descoper,
R.PORCCOM
FROM OPER_INTER OP,
RECIBO R,
POLIZA P,
INTERMEDIARIO I,
TERCERO T,
TIPO_OPER_INTER TOP
WHERE I.TIPOID = T.TIPOID
AND I.NUMID = T.NUMID
AND I.DVID = T.DVID
AND (OP.NROLOTE=P1_NROLOTE OR P1_NROLOTE=0)
AND OP.IDEREC=R.IDEREC(+)
AND R.IDEPOL=P.IDEPOL(+)
AND OP.tipooperinter = TOP.tipooperinter
AND OP.tipooperinter != 'FAHO'
AND OP.codinter = I.codinter
AND OP.NUMOBLIG IN (SELECT DISTINCT op.numoblig
FROM OPER_INTER OP,
WHERE I.TIPOID = T.TIPOID
AND I.NUMID = T.NUMID
AND I.DVID = T.DVID
AND (I.CODINTER = P1_CODINTER OR P1_CODINTER='0')
AND OP.IDEREC=R.IDEREC(+)
AND R.IDEPOL=P.IDEPOL(+)
AND OP.tipooperinter = TOP.tipooperinter
AND (STSOPERINTER=P1_ESTATUS OR P1_ESTATUS='0')
AND OP.tipooperinter != 'FAHO'
AND OP.codinter = I.codinter
AND (I.CODOFI = P1_CODOFI OR P1_CODOFI = '0')
AND TRUNC(TO_DATE(OP.FECSTS,'DD/ MM/RRRR')) >= TO_DATE(P1_DESDE ,'DD/MM/RRRR')
AND TRUNC(TO_DATE(OP.FECSTS,'DD/ MM/RRRR')) <= TO_DATE(P1_HASTA,'DD/MM/RRRR')
AND OP.NUMOBLIG IS NOT NULL
AND (OP.NUMOBLIG = P1_NUMOBLIG OR P1_NUMOBLIG = 0)
AND (OP.codmoneda = P1_TIPOMONEDA or nvl(P1_TIPOMONEDA ,'0') = '0'))
AND TRUNC(TO_DATE(OP.FOPERINTER,' DD/MM/RRRR')) >= NVL(TO_DATE(P1_FECLIQ,'DD/MM/RRRR'),TRUNC(TO_DATE(O P.FOPERINTER,'DD/MM/RRRR')) )
---- AND OP.foperinter= TRUNC(SYSDATE) mcgb 16112011
AND montooperinterlocal IS NOT NULL
AND montooperinterlocal!=0
ORDER BY OP.NUMOBLIG,P.CODPOL,R.CODRAMO CERT,P.NUMPOL,NumOperInter,TIP OOPERINTER),
RESUMEN AS
(SELECT nvl(OP.numoblig,0) numoblig ,
OP.codinter,
OP.tipooperinter tipooperresumen,
TOP.descoperinter,
SUM(OP.montooperinterlocal) mtooperloc,
SUM(OP.montooperinterforanea) mtoopermon
FROM OPER_INTER OP, TIPO_OPER_INTER TOP
WHERE
OP.tipooperinter = TOP.tipooperinter
AND ( OP.codmoneda = P1_TIPOMONEDA or nvl(P1_TIPOMONEDA ,'0') = '0')
GROUP BY OP.numoblig ,
OP.codinter,
OP.tipooperinter,
TOP.descoperinter
order by OP.numoblig ,
OP.codinter,
OP.tipooperinter,
TOP.descoperinter),
ANTICIPO AS
(select a.codinter,
a.nroanticipo,
to_char(a.fecanticipo,'dd/mm/ yyyy') fecanticipo,
a.mtoanticipo,
a.saldoanticipo,
nvl(d.numoblig,0) numoblig
from anticipos a, det_anticipo d
where a.codinter = d.codinter
and a.nroanticipo = d.nroanticipo)
select
Q_INTERMEDIARIO.CODOFI,
Q_INTERMEDIARIO.NOMINT,
Q_INTERMEDIARIO.NUMID,
Q_INTERMEDIARIO.TIPOID,
Q_INTERMEDIARIO.DVID,
Q_INTERMEDIARIO.NOMCLI,
Q_INTERMEDIARIO.NUMPOL ,
Q_INTERMEDIARIO.fecemi,
Q_INTERMEDIARIO.CODRAMOCERT,
Q_INTERMEDIARIO.MTOMONEDA,
Q_INTERMEDIARIO.numrec,
Q_INTERMEDIARIO.CODPOL,
Q_INTERMEDIARIO.FOPERINTER,
Q_INTERMEDIARIO.NUMOPERINTER,
Q_INTERMEDIARIO.CODINTER,
Q_INTERMEDIARIO.TIPOOPERINTER,
Q_INTERMEDIARIO.IDEREC,
Q_INTERMEDIARIO.CODMONEDA,
Q_INTERMEDIARIO.MONTOOPERINTER LOCAL,
Q_INTERMEDIARIO.MONTOOPERI NTERFORANEA,
Q_INTERMEDIARIO.MONTOOPERORIGL OCAL,
Q_INTERMEDIARIO.MONTOOPERORIGF ORANEA,
Q_INTERMEDIARIO.STSOPERINTER,
Q_INTERMEDIARIO.FECSTS,
Q_INTERMEDIARIO.FOPERINTERORIG ,
Q_INTERMEDIARIO.NUMOPERINTEROR IG,
Q_INTERMEDIARIO.NUMOBLIG,
Q_INTERMEDIARIO.porcfondo,
Q_INTERMEDIARIO.descoper,
Q_INTERMEDIARIO.PORCCOM,
RESUMEN.numoblig numoblig1,
RESUMEN.codinter codinter1,
RESUMEN.tipooperresumen,
RESUMEN.descoperinter,
RESUMEN.mtooperloc,
RESUMEN.mtoopermon,
ANTICIPO.codinter codinter2,
ANTICIPO.nroanticipo,
ANTICIPO.fecanticipo,
ANTICIPO.mtoanticipo,
ANTICIPO.saldoanticipo,
ANTICIPO.numoblig numoblig2
from
Q_INTERMEDIARIO ,
RESUMEN,
ANTICIPO
where
Q_INTERMEDIARIO.CODINTER = RESUMEN.codinter
and Q_INTERMEDIARIO.CODINTER = ANTICIPO.codinter
and Q_INTERMEDIARIO.NUMOBLIG = RESUMEN.numoblig
and Q_INTERMEDIARIO.NUMOBLIG = ANTICIPO.numoblig;
0 comentarios :
Publicar un comentario