Files
ROMFASTSQL/input/scrie_jv_2007.sql
2025-09-23 11:32:03 +03:00

841 lines
42 KiB
SQL

procedure SCRIE_JV_2007(tnAn JV2007.AN%TYPE,
tnLuna JV2007.LUNA%TYPE,
tnScrie number) IS
lcSql VARCHAR2(32767);
lcContTvaDeductibil ACT.SCD%TYPE := '4426';
lcContTvaColectat ACT.SCD%TYPE := '4427';
lcContTvaNeexigibil ACT.SCD%TYPE := '4428';
lcContDebitRegularizare VARCHAR2(100) := '4111,461,4511,4118';
lcContCreditRegularizare VARCHAR2(100) := '418';
lnIdMinJtvaColoana JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 1;
lnIdMaxJtvaColoana JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 100;
lcTabelSursa VARCHAR2(100);
lcCondSucursala VARCHAR2(1000);
begin
-- tnScrie: 0 - scriere; 1 - refacere; 2 - stergere
-- 0,2 - selectie din act_temp
-- 1 - selectie din act
if pack_contafin.get_id_sucursala() is not null then
lcCondSucursala := ' AND ALIAS.ID_SUCURSALA = ' ||
pack_contafin.GET_ID_SUCURSALA();
end if;
if tnScrie in (pack_contafin.nScriere, pack_contafin.nStergere) then
lcTabelSursa := 'act_temp'; -- scriere, stergere
else
lcTabelSursa := 'act'; -- refacere
end if;
pack_contafin.completeaza_jv_2007(tnAn,
tnLuna,
lcTabelSursa,
lcCondSucursala);
MERGE INTO JV2007 J
USING (SELECT AN,
LUNA,
ID_FDOC,
ID_FACT,
NRACT,
SERIE_ACT,
DATAACT,
DATAIREG,
ID_PART,
COD,
(CASE
WHEN NOTA_TVA_EX = 1 THEN
0
WHEN REGULARIZARE > 0 THEN
TOTCTVA -
DECODE(RO24NB, 0, 0, RO24B) -
DECODE(RO20NB, 0, 0, RO20B) -
DECODE(RO21NB, 0, 0, RO21B) -
DECODE(RO11NB, 0, 0, RO11B) -
DECODE(RO19NB, 0, 0, RO19B) -
DECODE(RO9NB, 0, 0, RO9B) -
DECODE(RO5NB, 0, 0, RO5B) -
DECODE(RO24NT, 0, 0, RO24T) -
DECODE(RO20NT, 0, 0, RO20T) -
DECODE(RO21NT, 0, 0, RO21T) -
DECODE(RO11NT, 0, 0, RO11T) -
DECODE(RO19NT, 0, 0, RO19T) -
DECODE(RO9NT, 0, 0, RO9T) -
DECODE(RO5NT, 0, 0, RO5T) -
DECODE(RO24NTR, 0, RO24TR, RO24NTR) -
DECODE(RO20NTR, 0, RO20TR, RO20NTR) -
DECODE(RO21NTR, 0, RO21TR, RO21NTR) -
DECODE(RO11NTR, 0, RO11TR, RO11NTR) -
DECODE(RO19NTR, 0, RO19TR, RO19NTR) -
DECODE(RO9NTR, 0, RO9TR, RO9NTR) -
DECODE(RO5NTR, 0, RO5TR, RO5NTR)
ELSE
TOTCTVA -
DECODE(RO24NB, 0, 0, RO24B) -
DECODE(RO20NB, 0, 0, RO20B) -
DECODE(RO21NB, 0, 0, RO21B) -
DECODE(RO11NB, 0, 0, RO11B) -
DECODE(RO19NB, 0, 0, RO19B) -
DECODE(RO9NB, 0, 0, RO9B) -
DECODE(RO5NB, 0, 0, RO5B) -
DECODE(RO24NT, 0, 0, RO24T) -
DECODE(RO20NT, 0, 0, RO20T) -
DECODE(RO21NT, 0, 0, RO21T) -
DECODE(RO11NT, 0, 0, RO11T) -
DECODE(RO19NT, 0, 0, RO19T) -
DECODE(RO9NT, 0, 0, RO9T) -
DECODE(RO5NT, 0, 0, RO5T)
END) AS TOTCTVA,
(CASE
WHEN NOTA_TVA_EX = 1 THEN
0
WHEN REGULARIZARE > 0 THEN
DECODE(RO24NB, 0, RO24B, RO24NB) +
DECODE(RO20NB, 0, RO20B, RO20NB) +
DECODE(RO21NB, 0, RO21B, RO21NB) +
DECODE(RO11NB, 0, RO11B, RO11NB) +
DECODE(RO19NB, 0, RO19B, RO19NB) +
DECODE(RO9NB, 0, RO9B, RO9NB) +
DECODE(RO5NB, 0, RO5B, RO5NB) -
DECODE(RO24NB, 0, RO24TR, RO24NTR) -
DECODE(RO20NB, 0, RO20TR, RO20NTR) -
DECODE(RO21NB, 0, RO21TR, RO21NTR) -
DECODE(RO11NB, 0, RO11TR, RO11NTR) -
DECODE(RO19NB, 0, RO19TR, RO19NTR) -
DECODE(RO9NB, 0, RO9TR, RO9NTR) -
DECODE(RO5NB, 0, RO5TR, RO5NTR)
ELSE
DECODE(RO24NB, 0, RO24B, RO24NB) +
DECODE(RO20NB, 0, RO20B, RO20NB) +
DECODE(RO21NB, 0, RO21B, RO21NB) +
DECODE(RO11NB, 0, RO11B, RO11NB) +
DECODE(RO19NB, 0, RO19B, RO19NB) +
DECODE(RO9NB, 0, RO9B, RO9NB) +
DECODE(RO5NB, 0, RO5B, RO5NB)
END) AS TOTFTVATAX,
DECODE(NOTA_TVA_EX,
1,
0,
DECODE(RO24NT, 0, RO24T, RO24NT) +
DECODE(RO20NT, 0, RO20T, RO20NT) +
DECODE(RO21NT, 0, RO21T, RO21NT) +
DECODE(RO11NT, 0, RO11T, RO11NT) +
DECODE(RO19NT, 0, RO19T, RO19NT) +
DECODE(RO9NT, 0, RO9T, RO9NT) +
DECODE(RO5NT, 0, RO5T, RO5NT)) AS TOTTVATAX,
ROTI + CESCDD1 + CESCDD2 + CEOPTR + CESVDD + CESVFDD +
CESVFS + WRSCDD + WRSCDDAB + WRSCDDCD + FODD + FOFDD +
WRSCFDD + WRN AS TOTNETAX,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO24B,
0,
DECODE(RO24T, 0, 0, ROUND(RO24T / 0.24, 2)),
RO24B - RO24TR)
ELSE
DECODE(RO24B,
0,
DECODE(RO24T, 0, 0, ROUND(RO24T / 0.24, 2)),
RO24B)
END) AS RO24B,
RO24T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO20B,
0,
DECODE(RO20T, 0, 0, ROUND(RO20T / 0.20, 2)),
RO20B - RO20TR)
ELSE
DECODE(RO20B,
0,
DECODE(RO20T, 0, 0, ROUND(RO20T / 0.20, 2)),
RO20B)
END) AS RO20B,
RO20T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO21B,
0,
DECODE(RO21T, 0, 0, ROUND(RO21T / 0.21, 2)),
RO21B - RORTD21)
ELSE
DECODE(RO21B,
0,
DECODE(RO21T, 0, 0, ROUND(RO21T / 0.21, 2)),
RO21B)
END) AS RO21B,
RO21T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO11B,
0,
DECODE(RO11T, 0, 0, ROUND(RO11T / 0.11, 2)),
RO11B - RORTD11)
ELSE
DECODE(RO11B,
0,
DECODE(RO11T, 0, 0, ROUND(RO11T / 0.11, 2)),
RO11B)
END) AS RO11B,
RO11T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO19B,
0,
DECODE(RO19T, 0, 0, ROUND(RO19T / 0.19, 2)),
RO19B - RO19TR)
ELSE
DECODE(RO19B,
0,
DECODE(RO19T, 0, 0, ROUND(RO19T / 0.19, 2)),
RO19B)
END) AS RO19B,
RO19T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO9B,
0,
DECODE(RO9T, 0, 0, ROUND(RO9T / 0.09, 2)),
RO9B - RO9TR)
ELSE
DECODE(RO9B,
0,
DECODE(RO9T, 0, 0, ROUND(RO9T / 0.09, 2)),
RO9B)
END) AS RO9B,
RO9T,
(CASE
WHEN REGULARIZARE > 0 THEN
DECODE(RO5B,
0,
DECODE(RO5T, 0, 0, ROUND(RO5T / 0.05, 2)),
RO5B - RO5TR)
ELSE
DECODE(RO5B,
0,
DECODE(RO5T, 0, 0, ROUND(RO5T / 0.05, 2)),
RO5B)
END) AS RO5B,
RO5T,
(CASE
WHEN REGULARIZARE > 0 THEN
RO24NB - RO24NTR
ELSE
RO24NB
END) AS RO24NB,
RO24NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO20NB - RO20NTR
ELSE
RO20NB
END) AS RO20NB,
RO20NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO21NB - RO21NTR
ELSE
RO21NB
END) AS RO21NB,
RO21NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO11NB - RO11NTR
ELSE
RO11NB
END) AS RO11NB,
RO11NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO19NB - RO19NTR
ELSE
RO19NB
END) AS RO19NB,
RO19NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO9NB - RO9NTR
ELSE
RO9NB
END) AS RO9NB,
RO9NT,
(CASE
WHEN REGULARIZARE > 0 THEN
RO5NB - RO5NTR
ELSE
RO5NB
END) AS RO5NB,
RO5NT,
ROTI,
CESCDD1,
CESCDD2,
CEOPTR,
CESVDD,
CESVFDD,
CESVFS,
WRSCDD,
WRSCDDAB,
WRSCDDCD,
FODD,
FOFDD,
WRSCFDD,
WRN,
RORTC24,
RORTC20,
RORTC21,
RORTC11,
RORTC19,
RORTC9,
RORTC5,
ID_SUCURSALA
FROM (SELECT JV.AN,
JV.LUNA,
MAX(JV.ID_FDOC) AS ID_FDOC,
JV.ID_FACT,
JV.NRACT,
JV.SERIE_ACT,
JV.DATAACT,
JV.DATAIREG,
MAX(JV.ID_PART) AS ID_PART,
JV.ID_SUCURSALA,
MIN(JV.COD) AS COD,
MIN(JV.NOTA_TVA_EX) AS NOTA_TVA_EX,
sum(CASE
WHEN NVL(JV.ID_JTVA_COLOANA, 0) BETWEEN 1 AND 100 THEN
JV.suma
ELSE
0
END) TOTCTVA,
sum(DECODE(JV.ID_JTVA_COLOANA, 15, JV.suma, 0)) RO24B,
sum(DECODE(JV.ID_JTVA_COLOANA, 16, JV.suma, 0)) RO24T,
sum(DECODE(JV.ID_JTVA_COLOANA, 27, JV.suma, 0)) RO20B,
sum(DECODE(JV.ID_JTVA_COLOANA, 28, JV.suma, 0)) RO20T,
sum(DECODE(JV.ID_JTVA_COLOANA, 35, JV.suma, 0)) RO21B,
sum(DECODE(JV.ID_JTVA_COLOANA, 36, JV.suma, 0)) RO21T,
sum(DECODE(JV.ID_JTVA_COLOANA, 1, JV.suma, 0)) RO19B,
sum(DECODE(JV.ID_JTVA_COLOANA, 2, JV.suma, 0)) RO19T,
sum(DECODE(JV.ID_JTVA_COLOANA, 3, JV.suma, 0)) RO9B,
sum(DECODE(JV.ID_JTVA_COLOANA, 4, JV.suma, 0)) RO9T,
sum(DECODE(JV.ID_JTVA_COLOANA, 13, JV.suma, 0)) RO5B,
sum(DECODE(JV.ID_JTVA_COLOANA, 14, JV.suma, 0)) RO5T,
sum(DECODE(JV.ID_JTVA_COLOANA, 39, JV.suma, 0)) RO11B,
sum(DECODE(JV.ID_JTVA_COLOANA, 40, JV.suma, 0)) RO11T,
sum(DECODE(JV.ID_JTVA_COLOANA, 5, JV.suma, 0)) ROTI,
sum(DECODE(JV.ID_JTVA_COLOANA, 6, JV.suma, 0)) CESCDD1,
sum(DECODE(JV.ID_JTVA_COLOANA, 7, JV.suma, 0)) CESCDD2,
sum(DECODE(JV.ID_JTVA_COLOANA, 17, JV.suma, 0)) CEOPTR,
sum(DECODE(JV.ID_JTVA_COLOANA, 18, JV.suma, 0)) CESVDD,
sum(DECODE(JV.ID_JTVA_COLOANA, 19, JV.suma, 0)) CESVFDD,
sum(DECODE(JV.ID_JTVA_COLOANA, 20, JV.suma, 0)) CESVFS,
sum(DECODE(JV.ID_JTVA_COLOANA, 8, JV.suma, 0)) WRSCDD,
sum(DECODE(JV.ID_JTVA_COLOANA, 33, JV.suma, 0)) WRSCDDAB,
sum(DECODE(JV.ID_JTVA_COLOANA, 34, JV.suma, 0)) WRSCDDCD,
sum(DECODE(JV.ID_JTVA_COLOANA, 9, JV.suma, 0)) FODD,
sum(DECODE(JV.ID_JTVA_COLOANA, 10, JV.suma, 0)) FOFDD,
sum(DECODE(JV.ID_JTVA_COLOANA, 11, JV.suma, 0)) WRSCFDD,
sum(DECODE(JV.ID_JTVA_COLOANA, 12, JV.suma, 0)) WRN,
sum(DECODE(JV.ID_JTVA_COLOANA, 1006, JV.suma, 0)) RORTC24,
sum(DECODE(JV.ID_JTVA_COLOANA, 1007, JV.suma, 0)) RORTC20,
sum(DECODE(JV.ID_JTVA_COLOANA, 1016, JV.suma, 0)) RORTC21,
sum(DECODE(JV.ID_JTVA_COLOANA, 1017, JV.suma, 0)) RORTC11,
sum(DECODE(JV.ID_JTVA_COLOANA, 1008, JV.suma, 0)) RORTC19,
sum(DECODE(JV.ID_JTVA_COLOANA, 1009, JV.suma, 0)) RORTC9,
sum(DECODE(JV.ID_JTVA_COLOANA, 1010, JV.suma, 0)) RORTC5,
sum(DECODE(JV.ID_JTVA_COLOANA, 21, JV.suma, 0)) RO24NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 22, JV.suma, 0)) RO24NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 29, JV.suma, 0)) RO20NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 30, JV.suma, 0)) RO20NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 37, JV.suma, 0)) RO21NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 38, JV.suma, 0)) RO21NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 41, JV.suma, 0)) RO11NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 42, JV.suma, 0)) RO11NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 31, JV.suma, 0)) RO19NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 32, JV.suma, 0)) RO19NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 23, JV.suma, 0)) RO9NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 24, JV.suma, 0)) RO9NT,
sum(DECODE(JV.ID_JTVA_COLOANA, 25, JV.suma, 0)) RO5NB,
sum(DECODE(JV.ID_JTVA_COLOANA, 26, JV.suma, 0)) RO5NT,
SUM(JV.REGULARIZARE) AS REGULARIZARE,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 16 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO24TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 28 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO20TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 36 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO21TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 40 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO11TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 2 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO19TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 4 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO9TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 14 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RO5TR,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 1016 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RORTD21,
SUM(CASE
WHEN JV.ID_JTVA_COLOANA = 1017 AND JV.SCD = '4428' THEN
JV.SUMA
ELSE
0
END) RORTD11,
SUM(CASE
WHEN ID_JTVA_COLOANA = 22 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO24NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 30 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO20NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 32 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO19NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 24 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO9NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 26 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO5NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 38 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO21NTR,
SUM(CASE
WHEN ID_JTVA_COLOANA = 42 AND SCD = '4428' THEN
SUMA
ELSE
0
END) RO11NTR
FROM (SELECT A.AN,
A.LUNA,
(CASE
WHEN A.NRACT <> D.NRACT or
A.DATAACT <> D.DATAACT THEN
1
ELSE
0
END) AS NOTA_TVA_EX,
(CASE
WHEN A.NRACT <> D.NRACT or
A.DATAACT <> D.DATAACT OR
A.ID_SET <> D.ID_SET OR
NVL(A.SERIE_ACT, 'X') <>
NVL(D.SERIE_ACT, 'X') THEN
NULL
ELSE
A.ID_FDOC
END) AS ID_FDOC,
A.ID_FACT,
(CASE
WHEN A.NRACT <> D.NRACT THEN
D.NRACT
ELSE
A.NRACT
END) AS NRACT,
D.SERIE_ACT,
(CASE
WHEN A.NRACT <> D.NRACT or
A.DATAACT <> D.DATAACT THEN
TRUNC(D.DATAACT)
ELSE
TRUNC(A.DATAACT)
END) AS DATAACT,
(CASE
WHEN A.NRACT <> D.NRACT or
NVL(A.DATAIREG, A.DATAACT) <>
NVL(D.DATAIREG, D.DATAACT) THEN
TRUNC(NVL(D.DATAIREG, D.DATAACT))
ELSE
TRUNC(NVL(A.DATAIREG, A.DATAACT))
END) AS DATAIREG,
A.COD,
A.SCD,
A.SCC,
-- 4426 = 4427 sau 4428 = 4427 nu au parteneri
MAX(DECODE(E.EXCEPTIE,
1,
A.ID_PARTC,
(CASE
-- ESTE POSIBIL SA FIE DOAR 5121 = 419 FARA 4111 = 4427, TREBUIE PARTENERUL 419
WHEN A.SCC = '419' THEN
A.ID_PARTC
WHEN A.SCD IN (lcContTvaDeductibil,
lcContTvaNeexigibil) OR
SUBSTR(A.SCD, 1, 1) = '5' THEN
-9999999999
ELSE
A.ID_PARTD
END))) OVER(PARTITION BY A.AN, A.LUNA, A.ID_FDOC, A.NRACT, A.DATAACT, A.COD) AS ID_PART,
-- INVERSARE SUME LA EXCEPTII
DECODE(A.ID_SET, 10616, -1, 1) *
DECODE(E.EXCEPTIE, 1, -A.SUMA, A.SUMA) AS SUMA,
-- MARCA REGULARIZARE FACTURI NEINTOCMITE
(CASE
WHEN INSTR(lcContDebitRegularizare, A.scd) > 0 and
INSTR(lcContCreditRegularizare, A.scc) > 0 THEN
1
ELSE
0
END) AS REGULARIZARE,
A.ID_JTVA_COLOANA,
A.ID_SUCURSALA
FROM (
SELECT AN,
LUNA,
ID_FDOC,
ID_FACT,
NRACT,
SERIE_ACT,
DATAACT,
DATAIREG,
COD,
SCD,
SCC,
ID_PARTC,
ID_PARTD,
ID_SET,
SUMA,
ID_JTVA_COLOANA,
ID_SUCURSALA,
STERS
FROM ACT_TEMP
WHERE lcTabelSursa = 'act_temp'
AND AN = tnAn
AND LUNA = tnLuna
AND STERS = 0
AND (ID_JTVA_COLOANA BETWEEN lnIdMinJtvaColoana AND lnIdMaxJtvaColoana
OR ID_JTVA_COLOANA BETWEEN 1006 AND 1010)
AND ID_SET <> 10621
UNION ALL
SELECT AN,
LUNA,
ID_FDOC,
ID_FACT,
NRACT,
SERIE_ACT,
DATAACT,
DATAIREG,
COD,
SCD,
SCC,
ID_PARTC,
ID_PARTD,
ID_SET,
SUMA,
ID_JTVA_COLOANA,
ID_SUCURSALA,
STERS
FROM ACT
WHERE lcTabelSursa = 'act'
AND AN = tnAn
AND LUNA = tnLuna
AND STERS = 0
AND (ID_JTVA_COLOANA BETWEEN lnIdMinJtvaColoana AND lnIdMaxJtvaColoana
OR ID_JTVA_COLOANA BETWEEN 1006 AND 1010)
AND ID_SET <> 10621
) A
LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE,
DECODE(DEBIT,
1,
CONT_C,
CONT) AS SCD,
DECODE(DEBIT,
1,
CONT,
CONT_C) AS SCC
FROM EXCEPTII_IREG
WHERE INVERS = 1
AND IN_TVA = 1) E
ON A.SCD = E.SCD
AND A.SCC = E.SCC
LEFT JOIN DOCUMENTE D
ON A.ID_FACT = D.ID_DOC
WHERE A.AN = tnAn
and A.LUNA = tnLuna
and A.STERS = 0
AND (A.ID_JTVA_COLOANA between lnIdMinJtvaColoana and
lnIdMaxJtvaColoana OR
A.ID_JTVA_COLOANA BETWEEN 1006 AND 1010)
-- IN JURNALUL DE VANZARI NU INTRA FACTURILE NEINTOCMITE + INCASARILE
-- SAU COMPENSARI 419 CU EXPLICATIE TVA
AND A.ID_SET <> 10621
AND NOT (TRIM(NVL(A.SCD, 'X')) = '418' OR
(TRIM(NVL(A.SCD, 'X')) not in
('4111', '461', '4511', '4118') AND
TRIM(NVL(A.SCC, 'X')) = '418'))
AND nvl2(pack_contafin.GET_ID_SUCURSALA(),
A.ID_SUCURSALA,
0) =
nvl(pack_contafin.GET_ID_SUCURSALA(), 0)) JV
GROUP BY JV.AN,
JV.LUNA,
JV.ID_FACT,
JV.NRACT,
JV.SERIE_ACT,
JV.DATAACT,
JV.DATAIREG,
JV.ID_SUCURSALA)) S
ON (J.AN = S.AN AND J.LUNA = S.LUNA AND J.ID_FACT = S.ID_FACT AND NVL(J.ID_SUCURSALA, -99) = NVL(S.ID_SUCURSALA, -99))
WHEN MATCHED THEN
UPDATE
SET J.TOTCTVA = J.TOTCTVA + (CASE
WHEN EXTRACT(MONTH FROM J.DATAACT) = J.LUNA AND
EXTRACT(YEAR FROM J.DATAACT) = J.AN THEN
S.TOTCTVA
ELSE
0
END),
J.TOTFTVATAX = J.TOTFTVATAX + (CASE
WHEN EXTRACT(MONTH FROM J.DATAACT) = J.LUNA AND
EXTRACT(YEAR FROM J.DATAACT) = J.AN THEN
S.TOTFTVATAX
ELSE
0
END),
J.TOTTVATAX = J.TOTTVATAX + (CASE
WHEN EXTRACT(MONTH FROM J.DATAACT) = J.LUNA AND
EXTRACT(YEAR FROM J.DATAACT) = J.AN THEN
S.TOTTVATAX
ELSE
0
END),
J.TOTNETAX = J.TOTNETAX + (CASE
WHEN EXTRACT(MONTH FROM J.DATAACT) = J.LUNA AND
EXTRACT(YEAR FROM J.DATAACT) = J.AN THEN
S.TOTNETAX
ELSE
0
END),
J.RO24B = J.RO24B + NVL(S.RO24B, 0) + (CASE
WHEN NVL(S.RO24B, 0) <> 0 AND NVL(J.RO24NT, 0) <> 0 AND
NVL(J.RO24NT, 0) - (NVL(J.RO24T, 0) + NVL(S.RO24T, 0)) = 0 THEN
NVL(J.RO24NB, 0) - (NVL(J.RO24B, 0) + NVL(S.RO24B, 0))
ELSE
0
END),
J.RO24T = J.RO24T + S.RO24T,
J.RO20B = J.RO20B + NVL(S.RO20B, 0) + (CASE
WHEN NVL(S.RO20B, 0) <> 0 AND NVL(J.RO20NT, 0) <> 0 AND
NVL(J.RO20NT, 0) - (NVL(J.RO20T, 0) + NVL(S.RO20T, 0)) = 0 THEN
NVL(J.RO20NB, 0) - (NVL(J.RO20B, 0) + NVL(S.RO20B, 0))
ELSE
0
END),
J.RO20T = J.RO20T + S.RO20T,
J.RO21B = J.RO21B + NVL(S.RO21B, 0) + (CASE
WHEN NVL(S.RO21B, 0) <> 0 AND NVL(J.RO21NT, 0) <> 0 AND
NVL(J.RO21NT, 0) - (NVL(J.RO21T, 0) + NVL(S.RO21T, 0)) = 0 THEN
NVL(J.RO21NB, 0) - (NVL(J.RO21B, 0) + NVL(S.RO21B, 0))
ELSE
0
END),
J.RO21T = J.RO21T + S.RO21T,
J.RO11B = J.RO11B + NVL(S.RO11B, 0) + (CASE
WHEN NVL(S.RO11B, 0) <> 0 AND NVL(J.RO11NT, 0) <> 0 AND
NVL(J.RO11NT, 0) - (NVL(J.RO11T, 0) + NVL(S.RO11T, 0)) = 0 THEN
NVL(J.RO11NB, 0) - (NVL(J.RO11B, 0) + NVL(S.RO11B, 0))
ELSE
0
END),
J.RO11T = J.RO11T + S.RO11T,
J.RO19B = J.RO19B + NVL(S.RO19B, 0) + (CASE
WHEN NVL(S.RO19B, 0) <> 0 AND NVL(J.RO19NT, 0) <> 0 AND
NVL(J.RO19NT, 0) - (NVL(J.RO19T, 0) + NVL(S.RO19T, 0)) = 0 THEN
NVL(J.RO19NB, 0) - (NVL(J.RO19B, 0) + NVL(S.RO19B, 0))
ELSE
0
END),
J.RO19T = J.RO19T + S.RO19T,
J.RO9B = J.RO9B + NVL(S.RO9B, 0) + (CASE
WHEN NVL(S.RO9B, 0) <> 0 AND NVL(J.RO9NT, 0) <> 0 AND
NVL(J.RO9NT, 0) - (NVL(J.RO9T, 0) + NVL(S.RO9T, 0)) = 0 THEN
NVL(J.RO9NB, 0) - (NVL(J.RO9B, 0) + NVL(S.RO9B, 0))
ELSE
0
END),
J.RO9T = J.RO9T + S.RO9T,
J.RO5B = J.RO5B + NVL(S.RO5B, 0) + (CASE
WHEN NVL(S.RO5B, 0) <> 0 AND NVL(J.RO5NT, 0) <> 0 AND
NVL(J.RO5NT, 0) - (NVL(J.RO5T, 0) + NVL(S.RO5T, 0)) = 0 THEN
NVL(J.RO5NB, 0) - (NVL(J.RO5B, 0) + NVL(S.RO5B, 0))
ELSE
0
END),
J.RO5T = J.RO5T + S.RO5T,
J.RO24NB = J.RO24NB + S.RO24NB,
J.RO24NT = J.RO24NT + S.RO24NT,
J.RO20NB = J.RO20NB + S.RO20NB,
J.RO20NT = J.RO20NT + S.RO20NT,
J.RO21NB = J.RO21NB + S.RO21NB,
J.RO21NT = J.RO21NT + S.RO21NT,
J.RO11NB = J.RO11NB + S.RO11NB,
J.RO11NT = J.RO11NT + S.RO11NT,
J.RO19NB = J.RO19NB + S.RO19NB,
J.RO19NT = J.RO19NT + S.RO19NT,
J.RO9NB = J.RO9NB + S.RO9NB,
J.RO9NT = J.RO9NT + S.RO9NT,
J.RO5NB = J.RO5NB + S.RO5NB,
J.RO5NT = J.RO5NT + S.RO5NT,
J.ROTI = J.ROTI + S.ROTI,
J.CESCDD1 = J.CESCDD1 + S.CESCDD1,
J.CESCDD2 = J.CESCDD2 + S.CESCDD2,
J.CEOPTR = J.CEOPTR + S.CEOPTR,
J.CESVDD = J.CESVDD + S.CESVDD,
J.CESVFDD = J.CESVFDD + S.CESVFDD,
J.CESVFS = J.CESVFS + S.CESVFS,
J.WRSCDD = J.WRSCDD + S.WRSCDD,
J.WRSCDDAB = J.WRSCDDAB + S.WRSCDDAB,
J.WRSCDDCD = J.WRSCDDCD + S.WRSCDDCD,
J.FODD = J.FODD + S.FODD,
J.FOFDD = J.FOFDD + S.FOFDD,
J.WRSCFDD = J.WRSCFDD + S.WRSCFDD,
J.WRN = J.WRN + S.WRN,
J.RORTC24 = J.RORTC24 + S.RORTC24,
J.RORTC20 = J.RORTC20 + S.RORTC20,
J.RORTC21 = J.RORTC21 + S.RORTC21,
J.RORTC11 = J.RORTC11 + S.RORTC11,
J.RORTC19 = J.RORTC19 + S.RORTC19,
J.RORTC9 = J.RORTC9 + S.RORTC9,
J.RORTC5 = J.RORTC5 + S.RORTC5 DELETE
WHERE ' || tnScrie || ' = ' ||
pack_contafin.nStergere || '
and J.TOTCTVA = 0
AND J.TOTFTVATAX = 0
AND J.TOTTVATAX = 0
AND J.TOTNETAX = 0
AND J.RO24B = 0
AND J.RO24T = 0
AND J.RO20B = 0
AND J.RO20T = 0
AND J.RO19B = 0
AND J.RO19T = 0
AND J.RO9B = 0
AND J.RO9T = 0
AND J.RO5B = 0
AND J.RO5T = 0
AND J.RO24NB = 0
AND J.RO24NT = 0
AND J.RO20NB = 0
AND J.RO20NT = 0
AND J.RO19NB = 0
AND J.RO19NT = 0
AND J.RO9NB = 0
AND J.RO9NT = 0
AND J.RO5NB = 0
AND J.RO5NT = 0
AND J.ROTI = 0
AND J.CESCDD1 = 0
AND J.CESCDD2 = 0
AND J.CEOPTR = 0
AND J.CESVDD = 0
AND J.CESVFDD = 0
AND J.CESVFS = 0
AND J.WRSCDD = 0
AND J.WRSCDDAB = 0
AND J.WRSCDDCD = 0
AND J.FODD = 0
AND J.FOFDD = 0
AND J.WRSCFDD = 0
AND J.WRN = 0
AND J.RORTC24 = 0
AND J.RORTC20 = 0
AND J.RORTC19 = 0
AND J.RORTC9 = 0
AND J.RORTC5 = 0
WHEN NOT MATCHED THEN
INSERT(AN, LUNA, ID_FACT, NRACT, SERIE_ACT, ID_FDOC, DATAACT, DATAIREG, ID_PART, TOTCTVA, TOTFTVATAX, TOTTVATAX, TOTNETAX, RO24B, RO24T, RO20B, RO20T, RO21B, RO21T, RO11B, RO11T, RO19B, RO19T, RO9B, RO9T, RO5B, RO5T, RO24NB, RO24NT, RO20NB, RO20NT, RO21NB, RO21NT, RO11NB, RO11NT, RO19NB, RO19NT, RO9NB, RO9NT, RO5NB, RO5NT, ROTI, CESCDD1, CESCDD2, CEOPTR, CESVDD, CESVFDD, CESVFS, WRSCDD, WRSCDDAB, WRSCDDCD, FODD, FOFDD, WRSCFDD, WRN, RORTC24, RORTC20, RORTC21, RORTC11, RORTC19, RORTC9, RORTC5, COD, ID_SUCURSALA) VALUES(S.AN, S.LUNA, S.ID_FACT, S.NRACT, S.SERIE_ACT, S.ID_FDOC, S.DATAACT, S.DATAIREG, S.ID_PART, S.TOTCTVA, S.TOTFTVATAX, S.TOTTVATAX, S.TOTNETAX,
(CASE
WHEN NVL(S.RO24B, 0) <> 0 AND NVL(S.RO24NT, 0) <> 0 AND
NVL(S.RO24NT, 0) = NVL(S.RO24T, 0) THEN
NVL(S.RO24NB, 0)
ELSE
NVL(S.RO24B, 0)
END), S.RO24T,
(CASE
WHEN NVL(S.RO20B, 0) <> 0 AND NVL(S.RO20NT, 0) <> 0 AND
NVL(S.RO20NT, 0) = NVL(S.RO20T, 0) THEN
NVL(S.RO20NB, 0)
ELSE
NVL(S.RO20B, 0)
END), S.RO20T,
(CASE
WHEN NVL(S.RO21B, 0) <> 0 AND NVL(S.RO21NT, 0) <> 0 AND
NVL(S.RO21NT, 0) = NVL(S.RO21T, 0) THEN
NVL(S.RO21NB, 0)
ELSE
NVL(S.RO21B, 0)
END), S.RO21T,(CASE
WHEN NVL(S.RO11B, 0) <> 0 AND NVL(S.RO11NT, 0) <> 0 AND
NVL(S.RO11NT, 0) = NVL(S.RO11T, 0) THEN
NVL(S.RO11NB, 0)
ELSE
NVL(S.RO11B, 0)
END), S.RO11T,
(CASE
WHEN NVL(S.RO19B, 0) <> 0 AND NVL(S.RO19NT, 0) <> 0 AND
NVL(S.RO19NT, 0) = NVL(S.RO19T, 0) THEN
NVL(S.RO19NB, 0)
ELSE
NVL(S.RO19B, 0)
END), S.RO19T,(CASE
WHEN NVL(S.RO9B, 0) <> 0 AND NVL(S.RO9NT, 0) <> 0 AND
NVL(S.RO9NT, 0) = NVL(S.RO9T, 0) THEN
NVL(S.RO9NB, 0)
ELSE
NVL(S.RO9B, 0)
END), S.RO9T,(CASE
WHEN NVL(S.RO5B, 0) <> 0 AND NVL(S.RO5NT, 0) <> 0 AND
NVL(S.RO5NT, 0) = NVL(S.RO5T, 0) THEN
NVL(S.RO5NB, 0)
ELSE
NVL(S.RO5B, 0)
END), S.RO5T, S.RO24NB, S.RO24NT, S.RO20NB, S.RO20NT, S.RO21NB, S.RO21NT, S.RO11NB, S.RO11NT, S.RO19NB, S.RO19NT, S.RO9NB, S.RO9NT, S.RO5NB, S.RO5NT, S.ROTI, S.CESCDD1, S.CESCDD2, S.CEOPTR, S.CESVDD, S.CESVFDD, S.CESVFS, S.WRSCDD, S.WRSCDDAB, S.WRSCDDCD, S.FODD, S.FOFDD, S.WRSCFDD, S.WRN, S.RORTC24, S.RORTC20, S.RORTC21, S.RORTC11, S.RORTC19, S.RORTC9, S.RORTC5, S.COD, S.ID_SUCURSALA);
END SCRIE_JV_2007;