diff --git a/input/scrie_jc_2007.sql b/input/scrie_jc_2007.sql index de754f6..07d32bd 100644 --- a/input/scrie_jc_2007.sql +++ b/input/scrie_jc_2007.sql @@ -3,13 +3,13 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, tnScrie number) IS lcSql clob; - '4426' ACT.SCD%TYPE := '4426'; - '4427' ACT.SCD%TYPE := '4427'; - '4428' ACT.SCD%TYPE := '4428'; - '408' VARCHAR2(100) := '408'; - '401,404,4511,462' VARCHAR2(100) := '401,404,4511,462'; - 101 JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 101; - 500 JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 500; + lcContTvaDeductibil ACT.SCD%TYPE := '4426'; + lcContTvaColectat ACT.SCD%TYPE := '4427'; + lcContTvaNeexigibil ACT.SCD%TYPE := '4428'; + lcContDebitRegularizare VARCHAR2(100) := '408'; + lcContCreditRegularizare VARCHAR2(100) := '401,404,4511,462'; + lnIdMinJtvaColoana JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 101; + lnIdMaxJtvaColoana JTVA_COLOANE.ID_JTVA_COLOANA%TYPE := 500; lcTabelSursa VARCHAR2(100); lcCondSucursala VARCHAR2(1000); begin @@ -21,13 +21,17 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, pack_contafin.GET_ID_SUCURSALA(); end if; - -- lcTabelSursa := 'act'; -- refacere (tnScrie nu este in nScriere/nStergere) + if tnScrie in (pack_contafin.nScriere, pack_contafin.nStergere) then + lcTabelSursa := 'act_temp'; -- scriere, stergere + else + lcTabelSursa := 'act'; -- refacere + end if; -- COMPLETARE JC2007 CU ID_SET 10616 STORNARE PLATA/INCASARE - pack_contafin.completeaza_jc_2007(2025, - 8, - 'act', - NULL); + pack_contafin.completeaza_jc_2007(tnAn, + tnLuna, + lcTabelSursa, + lcCondSucursala); MERGE INTO JC2007 J USING (SELECT ID_SUCURSALA, @@ -60,7 +64,10 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, DECODE(RO20NB, 0, 0, RO20B) - DECODE(RO19NB, 0, 0, RO19BCB + RO19BVB + RO19BFB) - DECODE(RO9NB, 0, 0, RO09BCB + RO09BVB + RO09BFB) - - DECODE(RO5NB, 0, 0, RO05B) - DECODE(RO24NT, 0, 0, RO24T) - + DECODE(RO5NB, 0, 0, RO05B) - + DECODE(RO21NT, 0, 0, RO21T) - + DECODE(RO11NT, 0, 0, RO11T) - + DECODE(RO24NT, 0, 0, RO24T) - DECODE(RO20NT, 0, 0, RO20T) - DECODE(RO19NT, 0, 0, RO19BCT + RO19BVT + RO19BFT) - DECODE(RO9NT, 0, 0, RO09BCT + RO09BVT + RO09BFT) - @@ -1339,7 +1346,7 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, A.ID_PARTD, (CASE WHEN A.SCC IN - ('4427', '4428') OR + (lcContTvaColectat, lcContTvaNeexigibil) OR SUBSTR(A.SCC, 1, 1) = '5' OR ID_JTVA_COLOANA in (1001, 1004, 1005) THEN -9999999999 @@ -1351,8 +1358,8 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, DECODE(E.EXCEPTIE, 1, -A.SUMA, A.SUMA) AS SUMA, -- MARCA REGULARIZARE FACTURI NESOSITE (CASE - WHEN INSTR('408', A.scd) > 0 and - INSTR('401,404,4511,462', A.scc) > 0 THEN + WHEN INSTR(lcContDebitRegularizare, A.scd) > 0 and + INSTR(lcContCreditRegularizare, A.scc) > 0 THEN 1 ELSE 0 @@ -1379,12 +1386,12 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, ID_JTVA_COLOANA, STERS FROM ACT_TEMP - WHERE 1 = 0 - AND AN = 2025 - AND LUNA = 8 + WHERE lcTabelSursa = 'act_temp' + AND AN = tnAn + AND LUNA = tnLuna AND STERS = 0 - AND (ID_JTVA_COLOANA BETWEEN 101 AND 500 - OR ID_JTVA_COLOANA in (1001, 1004, 1005, 1011, 1012, 1013, 1014, 1015)) + AND (ID_JTVA_COLOANA BETWEEN lnIdMinJtvaColoana AND lnIdMaxJtvaColoana + OR ID_JTVA_COLOANA in (1001, 1004, 1005, 1011, 1012, 1013, 1014, 1015,1018,1019)) AND ID_SET <> 10622 UNION ALL SELECT ID_SUCURSALA, @@ -1406,12 +1413,12 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, ID_JTVA_COLOANA, STERS FROM ACT - WHERE 1 = 1 - AND AN = 2025 - AND LUNA = 8 + WHERE lcTabelSursa = 'act' + AND AN = tnAn + AND LUNA = tnLuna AND STERS = 0 - AND (ID_JTVA_COLOANA BETWEEN 101 AND 500 - OR ID_JTVA_COLOANA in (1001, 1004, 1005, 1011, 1012, 1013, 1014, 1015)) + AND (ID_JTVA_COLOANA BETWEEN lnIdMinJtvaColoana AND lnIdMaxJtvaColoana + OR ID_JTVA_COLOANA in (1001, 1004, 1005, 1011, 1012, 1013, 1014, 1015,1018,1019)) AND ID_SET <> 10622 ) A LEFT JOIN (SELECT DISTINCT 1 AS EXCEPTIE, @@ -1430,11 +1437,11 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, AND A.SCC = E.SCC LEFT JOIN DOCUMENTE D ON A.ID_FACT = D.ID_DOC - WHERE A.AN = 2025 - and A.LUNA = 8 + WHERE A.AN = tnAn + and A.LUNA = tnLuna and A.STERS = 0 - AND (A.ID_JTVA_COLOANA BETWEEN 101 AND - 500 OR + AND (A.ID_JTVA_COLOANA BETWEEN lnIdMinJtvaColoana AND + lnIdMaxJtvaColoana OR A.ID_JTVA_COLOANA in (1001, 1004, @@ -1443,15 +1450,17 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, 1012, 1013, 1014, - 1015)) + 1015, + 1018, + 1019)) -- IN JURNALUL DE CUMPARARI NU INTRA FACTURILE NESOSITE + INCASARILE -- SAU COMPENSARI 409 CU EXPLICATIE TVA AND A.ID_SET <> 10622 AND NOT (TRIM(NVL(A.SCC, 'X')) = - '408' OR + lcContDebitRegularizare OR (TRIM(NVL(A.SCD, 'X')) = - '408' AND - INSTR('401,404,4511,462', + lcContDebitRegularizare AND + INSTR(lcContCreditRegularizare, TRIM(NVL(A.SCC, 'X'))) = 0)) AND nvl2(pack_contafin.GET_ID_SUCURSALA(), A.ID_SUCURSALA, @@ -1703,8 +1712,8 @@ procedure SCRIE_JC_2007(tnAn JC2007.AN%TYPE, J.RORTD20 = J.RORTD20 + S.RORTD20, J.RORTD19 = J.RORTD19 + S.RORTD19, J.RORTD9 = J.RORTD9 + S.RORTD9, - J.RORTD5 = J.RORTD5 + S.RORTD5 - DELETE WHERE 0 = 1 + J.RORTD5 = J.RORTD5 + S.RORTD5 DELETE + WHERE tnScrie = pack_contafin.nStergere AND J.TOTCTVA = 0 AND J.TOTFTVATAX = 0 AND J.TOTTVATAX = 0 diff --git a/input/scrie_jv_2007.sql b/input/scrie_jv_2007.sql new file mode 100644 index 0000000..893409c --- /dev/null +++ b/input/scrie_jv_2007.sql @@ -0,0 +1,841 @@ + 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; \ No newline at end of file