get_factures.sql 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* Selectionne les factures depuis ASTRE GF pour import dans Analytique */
  2. /* ATTENTION: {annee_deb} et {annee_fin} doivent être mis à jour à l'exécution avec un query.format() */
  3. SELECT
  4. cad_cpt.COD_COLL,
  5. cad_cpt.COD_BUDG,
  6. cad_cpt.NUM_EXBUDG,
  7. cad_cpt.COD_SECTION,
  8. cad_cpt.TYP_MVT,
  9. REAL_DEP.NUM_MANDAT,
  10. REAL_DEP.NUM_LIQ_MDT,
  11. REAL_DEP.NUM_LIG_MDT,
  12. round(sum(distinct decode(sign(REAL_DEP.num_exbudg - 2002), -1, REAL_DEP.MNT_TTC_MDT, REAL_DEP.MNT_TTC_MDT) + to_number(rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 1, 8)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 10, 4)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 15, 4))) / 1E38), 2),
  13. round(sum(distinct decode(sign(REAL_DEP.num_exbudg - 2002), -1, REAL_DEP.MNT_TVA_MDT, REAL_DEP.MNT_TVA_MDT) + to_number(rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 1, 8)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 10, 4)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(REAL_DEP.rowid, 0)), 15, 4))) / 1E38), 2),
  14. round(sum(distinct decode(sign(VENT_D_SO.COD_EXEBUD - 2002), -1, VENT_D_SO.MNT_VENT, VENT_D_SO.MNT_VENT) + to_number(rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(VENT_D_SO.rowid, 0)), 1, 8)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(VENT_D_SO.rowid, 0)), 10, 4)) || rawtohex(substr(rowidtochar(dbms_rowid.rowid_to_restricted(VENT_D_SO.rowid, 0)), 15, 4))) / 1E38), 2),
  15. VENT_D_SO.COD_AXE,
  16. AXEREA2.LIB_AXE,
  17. VENT_D_SO.COD_C_COUT,
  18. C_COUT.LIB_C_COUT,
  19. to_date(REAL_DEP.DAT_MDT, 'J'),
  20. REAL_DEP.NUM_BJ,
  21. REAL_DEP.NUM_TIERS,
  22. decode(REAL_DEP.NUM_TIERS, null, REAL_DEP.LIB_RAIS1_FOUR || ' ' || REAL_DEP.LIB_RAIS2_FOUR || ' ' || REAL_DEP.LIB_RAIS3_FOUR, W_TIERS.LIB_RAIS1 || ' ' || W_TIERS.LIB_RAIS2 || ' ' || W_TIERS.LIB_RAIS3),
  23. cad_cpt.NUM_ENV,
  24. REAL_DEP.REF_INT_MDT,
  25. ELEANA.COD_NOMANA,
  26. VENT_E.COD_PERIODE,
  27. to_date(REAL_DEP.DAT_DEP_DELAI, 'J')
  28. ,
  29. REAL_DEP.TYP_NOMENC_MAR
  30. FROM
  31. AXE AXEREA2,
  32. ELEANA,
  33. VENT_E,
  34. AN_C_COUT_ELEANA,
  35. C_COUT,
  36. VENT_D_SO,
  37. W_TIERS,
  38. cad_cpt,
  39. REAL_DEP
  40. WHERE
  41. (cad_cpt.COD_COLL = REAL_DEP.COD_COLL)
  42. AND(cad_cpt.COD_BUDG = REAL_DEP.COD_BUDG)
  43. AND(cad_cpt.NUM_ENV = REAL_DEP.NUM_ENV)
  44. AND(cad_cpt.COD_BUDG = REAL_DEP.COD_BUDG and cad_cpt.COD_COLL = REAL_DEP.COD_COLL and cad_cpt.NUM_ENV = REAL_DEP.NUM_ENV and cad_cpt.NUM_EXBUDG = REAL_DEP.NUM_EXBUDG)
  45. AND(VENT_D_SO.COD_C_COUT = C_COUT.COD_C_COUT(+) and VENT_D_SO.COD_AXE = C_COUT.COD_AXE(+))
  46. AND(REAL_DEP.COD_BUDG = decode('02', '**', REAL_DEP.COD_BUDG, '02'))
  47. AND(REAL_DEP.COD_COLL = upper('CG67'))
  48. AND(REAL_DEP.COD_COLL = W_TIERS.COD_COLL(+) and REAL_DEP.NUM_TIERS = W_TIERS.NUM_TIERS(+))
  49. AND(REAL_DEP.COD_BUDG = VENT_D_SO.COD_BUD(+) and REAL_DEP.COD_COLL = upper(VENT_D_SO.COD_ORG(+)) and REAL_DEP.NUM_EXBUDG = VENT_D_SO.COD_EXEBUD(+) and REAL_DEP.NUM_LIQ_MDT = VENT_D_SO.NUM_LIQ(+) and REAL_DEP.NUM_LIG_MDT = VENT_D_SO.NUM_LIG(+) and
  50. VENT_D_SO.SENS_MVT(+) = 'D')
  51. AND(AXEREA2.COD_AXE(+) = VENT_D_SO.COD_AXE)
  52. AND(AN_C_COUT_ELEANA.ELEANA_ID = ELEANA.ELEANA_ID(+))
  53. AND(C_COUT.COD_AXE = AN_C_COUT_ELEANA.COD_AXE(+) and C_COUT.COD_C_COUT = AN_C_COUT_ELEANA.COD_C_COUT(+))
  54. AND(REAL_DEP.COD_BUDG = VENT_E.COD_BUD(+) and REAL_DEP.COD_COLL = upper(VENT_E.COD_ORG(+)) and REAL_DEP.NUM_EXBUDG = VENT_E.COD_EXEBUD(+) and REAL_DEP.NUM_LIQ_MDT = VENT_E.NUM_LIQ(+) and REAL_DEP.NUM_LIG_MDT = VENT_E.NUM_LIG(+) and
  55. VENT_E.SENS_MVT(+) = 'D')
  56. AND
  57. VENT_D_SO.COD_AXE Is Not Null
  58. AND
  59. cad_cpt.NUM_EXBUDG BETWEEN {annee_deb} AND {annee_fin}
  60. GROUP BY
  61. cad_cpt.COD_COLL,
  62. cad_cpt.COD_BUDG,
  63. cad_cpt.NUM_EXBUDG,
  64. cad_cpt.COD_SECTION,
  65. cad_cpt.TYP_MVT,
  66. REAL_DEP.NUM_MANDAT,
  67. REAL_DEP.NUM_LIQ_MDT,
  68. REAL_DEP.NUM_LIG_MDT,
  69. VENT_D_SO.COD_AXE,
  70. AXEREA2.LIB_AXE,
  71. VENT_D_SO.COD_C_COUT,
  72. C_COUT.LIB_C_COUT,
  73. to_date(REAL_DEP.DAT_MDT, 'J'),
  74. REAL_DEP.NUM_BJ,
  75. REAL_DEP.NUM_TIERS,
  76. decode(REAL_DEP.NUM_TIERS, null, REAL_DEP.LIB_RAIS1_FOUR || ' ' || REAL_DEP.LIB_RAIS2_FOUR || ' ' || REAL_DEP.LIB_RAIS3_FOUR, W_TIERS.LIB_RAIS1 || ' ' || W_TIERS.LIB_RAIS2 || ' ' || W_TIERS.LIB_RAIS3),
  77. cad_cpt.NUM_ENV,
  78. REAL_DEP.REF_INT_MDT,
  79. ELEANA.COD_NOMANA,
  80. VENT_E.COD_PERIODE,
  81. to_date(REAL_DEP.DAT_DEP_DELAI, 'J'),
  82. REAL_DEP.TYP_NOMENC_MAR