miércoles, 22 de noviembre de 2023

GTT (11) - BD MUNICIPIO (11). Históricos de valores (I). Prerequisitos

 0.Introducción

Recordemos que creamos la vista XIMO_VALORS que nos une tanto los valores temporales (VATE) como los definitivos (VALO) 

CREATE OR REPLACE VIEW XIMO_SCHM.XIMO_VALORS

AS

SELECT VATE.IDENTIFICADOR_VATE,

LPAD(VALO.ANYO_CARGO_CARG,4,'0')||LPAD(VALO.ID_ORGA ,2,'0') ||

LPAD(VALO.ID_SUBO,5,'0') || VALO.COD_CONC || LPAD(VALO.EMISION_CARG,2,'0') ||

VALO.COD_TVAL || LPAD(VALO.NUMERO_VALO,6,'0') AS IDENTIFICADOR_VALO,

VATE.ID_EPER,

VALO.ID_EPER AS ID_EPER_VALOR ,

TPDL.ID_TPDL,

OT.ID_EPER_OT,

EPER.ID_PERS,

PERS.NIF_PERG, PERS.NOMBRE_PERG,

NVL(VATE.COD_TVAL,VALO.COD_TVAL) AS COD_TVAL,

NVL(VATE.COD_CONC,VALO.COD_CONC) AS COD_CONC,

VATE.TIPO_VATE,

VATE.ESTADO_VATE,

TESV.*,

TSEV.*,

TFVA.*,

SVAL.DESCR_SVAL,

VATE.COD_USUA,

NVL(VATE.FECHA_GRABACION_VATE,

NVL(VALO.FECHA_CARGA_VALO,

TO_DATE(TO_CHAR(NVL(VATE.EJERCICIO_VATE,2000))||'-01-01','YYYY-MM-DD'))) AS FECHA_GRABACION_VATE,

VATE.PERIODO_VATE,

VALO.ANYO_CARGO_CARG, VALO.EMISION_CARG, VALO.NUMERO_VALO,

VALO.ID_CARG, VALO.NUMERO_CARG,

NVL(VATE.OBJETO_TRIB_VATE,VALO.OBJETO_TRIB_VALO) AS OBJETO_TRIB_VATE,

NVL(VATE.DEUDA_VATE,VALO.IMPORTE_VALO) AS IMPORTE,

VATE.ID_EPER_ORIG_VATE,

NVL(VATE.NUM_EXP_LID_VATE, VALO.NUM_EXP_LID_VALO) AS NUM_EXP_LID_VATE,

NVL(VATE.ID_CSUB,VALO.ID_CSUB) AS ID_CSUB,

CSUB.NOMBRE_PARA_SUBO_CSUB,

VALO.ID_REGE

--SELECT COUNT(*)

FROM OPS$GTTORA.VATE_VALORES_TEMPORALES VATE -- NUM_EXP_LID_VATE, ID_EPER_ORIG_VATE-> ID_TPDL??, IDENTIFIADOR_VATE, ID_EPER_VALO-> VALO.ID_EPER,COPD_CONC,

FULL OUTER JOIN OPS$GTTORA.VALO_VALORES VALO ON VALO.ID_EPER=VATE.ID_EPER_VALOR -- ID_CARG, NUMERO_VALO!!!

LEFT JOIN OPS$GTTORA.TPDL_TP_DETALLE_LIQUIDACION TPDL ON TPDL.ID_TPDL =VATE.ID_EPER_ORIG_VATE

LEFT JOIN OPS$GTTORA.OT_OBJETO_TRIBUTARIO OT ON OT.ID_EPER_OT =VATE.ID_EPER_ORIG_VATE

LEFT JOIN OPS$GTTORA.EPER_ELEMENTOS_PERSONA EPER ON EPER.ID_EPER = GREATEST (NVL(VATE.ID_EPER,-1), NVL(VALO.ID_EPER,-1))

LEFT JOIN OPS$GTTORA.CSUB_CONCEPTOS_SUBORGANISMO CSUB ON CSUB.ID_CSUB = GREATEST (NVL(VATE.ID_CSUB,-1), NVL(VALO.ID_CSUB ,-1))

LEFT JOIN OPS$GTTORA.PERS_PERSONAS pers ON pers.ID_PERS =EPER.ID_PERS

LEFT JOIN OPS$GTTORA.TESV_TIPOS_ESTADO_VALOR TESV ON TESV.COD_TESV =VALO.COD_TESV

LEFT JOIN OPS$GTTORA.TSEV_TSUBE_VALOR TSEV ON TSEV.COD_TSEV =VALO.COD_TSEV

LEFT JOIN OPS$GTTORA.TFVA_TIPOS_FORMATO_VALOR TFVA ON TFVA.COD_TFVA =VALO.COD_TFVA

LEFT JOIN OPS$GTTORA.SVAL_SUBTIPO_VALORES SVAL ON SVAL.COD_SVAL =VALO.COD_SVAL

;

Veamos los distintos estados que tenemos en nuestra base de datos, para ello ejecutamos esta consulta

SELECT DISTINCT count(*), VALORS.ESTADO_VATE, VALORS.COD_TVAL, VALORS.COD_TESV, VALORS.DESCR_TESV, VALORS.COD_TSEV , VALORS.DESCR_TSEV

FROM XIMO_SCHM.XIMO_VALORS VALORS

GROUP BY VALORS.ESTADO_VATE, VALORS.COD_TVAL, VALORS.COD_TESV, VALORS.DESCR_TSEV, VALORS.COD_TSEV , VALORS.DESCR_TESV

ORDER BY VALORS.ESTADO_VATE, VALORS.COD_TESV , VALORS.COD_TSEV,VALORS.COD_TVAL ;

Y nos sale

COUNT(*)|ESTADO_VATE|COD_TVAL|COD_TESV|DESCR_TESV           |COD_TSEV|DESCR_TSEV                    |
--------+-----------+--------+--------+---------------------+--------+------------------------------+
    2111|E          |A       |        |                     |        |                              |
    1862|E          |L       |        |                     |        |                              |
     464|E          |R       |        |                     |        |                              |
     137|G          |A       |        |                     |        |                              |
    3102|G          |L       |        |                     |        |                              |
     860|I          |A       |        |                     |        |                              |
     252|I          |L       |        |                     |        |                              |
      18|P          |A       |        |                     |        |                              |
     166|P          |L       |        |                     |        |                              |
     815|R          |R       |B       |Baja                 |C       |Comunicada no facturada       |
       5|R          |R       |B       |Baja                 |DT      |Devuelto Total                |
      18|R          |R       |B       |Baja                 |F       |por Fallido no facturado      |
     168|R          |R       |B       |Baja                 |Om      |por otros motivos no facturada|
     212|R          |R       |B       |Baja                 |V       |En Voluntaria no facturada    |
     106|R          |R       |B       |Baja                 |VO      |Voluntaria Otros Motivos      |
      13|R          |R       |CE      |Cobrado en Ejecutiva |DP      |Devuelto Parcial              |
      16|R          |R       |CE      |Cobrado en Ejecutiva |DT      |Devuelto Total                |
    9499|R          |R       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
     442|R          |R       |CE      |Cobrado en Ejecutiva |OD      |Confirmado por Domiciliación  |
       4|R          |R       |CV      |Cobrado en Voluntaria|DP      |Devuelto Parcial              |
     391|R          |R       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
   33339|R          |R       |CV      |Cobrado en Voluntaria|O       |Confirmado no facturado       |
  105260|R          |R       |CV      |Cobrado en Voluntaria|OD      |Confirmado por Domiciliación  |
      62|R          |R       |CV      |Cobrado en Voluntaria|OR      |Confirmado por Reposición     |
    1397|R          |R       |E       |En Ejecutiva         |Con     |Consolidar                    |
      21|R          |R       |E       |En Ejecutiva         |EMN     |Emitida Notificación          |
     183|R          |R       |E       |En Ejecutiva         |Frc     |Fraccionado                   |
    3742|R          |R       |E       |En Ejecutiva         |Not     |Notificación Efectiva         |
       1|R          |R       |E       |En Ejecutiva         |Pem     |Pendiente de Emitir           |
      55|R          |R       |E       |En Ejecutiva         |SC      |Suspensión Cautelar           |
   18034|R          |R       |V       |En Voluntaria        |Dom     |Emitido por Domiciliación     |
    1389|R          |R       |V       |En Voluntaria        |Emi     |Emitido y no Domiciliado      |
      24|R          |R       |V       |En Voluntaria        |Frc     |Fraccionado                   |
       1|R          |R       |V       |En Voluntaria        |SC      |Suspensión Cautelar           |
     277|V          |L       |B       |Baja                 |C       |Comunicada no facturada       |
       3|V          |L       |B       |Baja                 |DT      |Devuelto Total                |
     106|V          |L       |B       |Baja                 |Om      |por otros motivos no facturada|
     358|V          |L       |B       |Baja                 |V       |En Voluntaria no facturada    |
       2|V          |L       |B       |Baja                 |VO      |Voluntaria Otros Motivos      |
       3|V          |L       |CE      |Cobrado en Ejecutiva |DP      |Devuelto Parcial              |
      17|V          |L       |CE      |Cobrado en Ejecutiva |DT      |Devuelto Total                |
       1|V          |A       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
    2610|V          |L       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
     120|V          |L       |CE      |Cobrado en Ejecutiva |OD      |Confirmado por Domiciliación  |
      32|V          |A       |CV      |Cobrado en Voluntaria|DP      |Devuelto Parcial              |
       1|V          |L       |CV      |Cobrado en Voluntaria|DP      |Devuelto Parcial              |
     128|V          |A       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
     130|V          |L       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
   27904|V          |A       |CV      |Cobrado en Voluntaria|O       |Confirmado no facturado       |
   14653|V          |L       |CV      |Cobrado en Voluntaria|O       |Confirmado no facturado       |
    6977|V          |L       |CV      |Cobrado en Voluntaria|OD      |Confirmado por Domiciliación  |
      46|V          |L       |CV      |Cobrado en Voluntaria|OR      |Confirmado por Reposición     |
       3|V          |A       |CV      |Cobrado en Voluntaria|PDT     |Propuesta Devolución Total    |
      86|V          |L       |E       |En Ejecutiva         |Con     |Consolidar                    |
       3|V          |L       |E       |En Ejecutiva         |Emi     |Emitido y no Domiciliado      |
     276|V          |L       |E       |En Ejecutiva         |EMN     |Emitida Notificación          |
      22|V          |L       |E       |En Ejecutiva         |Frc     |Fraccionado                   |
     665|V          |L       |E       |En Ejecutiva         |Not     |Notificación Efectiva         |
      12|V          |L       |E       |En Ejecutiva         |Pem     |Pendiente de Emitir           |
      14|V          |L       |E       |En Ejecutiva         |SC      |Suspensión Cautelar           |
      36|V          |L       |V       |En Voluntaria        |Emi     |Emitido y no Domiciliado      |
      86|V          |L       |V       |En Voluntaria        |EMN     |Emitida Notificación          |
      14|V          |L       |V       |En Voluntaria        |Frc     |Fraccionado                   |
      19|V          |L       |V       |En Voluntaria        |Not     |Notificación Efectiva         |
     193|V          |L       |V       |En Voluntaria        |Pem     |Pendiente de Emitir           |
      17|V          |L       |V       |En Voluntaria        |SC      |Suspensión Cautelar           |
       4|V          |L       |        |                     |        |                              |
    2569|           |L       |B       |Baja                 |C       |Comunicada no facturada       |
    9541|           |R       |B       |Baja                 |C       |Comunicada no facturada       |
       7|           |L       |B       |Baja                 |DT      |Devuelto Total                |
       3|           |R       |B       |Baja                 |DT      |Devuelto Total                |
       7|           |L       |B       |Baja                 |F       |por Fallido no facturado      |
     212|           |R       |B       |Baja                 |F       |por Fallido no facturado      |
     170|           |L       |B       |Baja                 |FF      |por Fallido facturado         |
     996|           |R       |B       |Baja                 |FF      |por Fallido facturado         |
      26|           |L       |B       |Baja                 |Om      |por otros motivos no facturada|
     221|           |R       |B       |Baja                 |Om      |por otros motivos no facturada|
     355|           |L       |B       |Baja                 |Omf     |por otros motivos facturada   |
    1631|           |R       |B       |Baja                 |Omf     |por otros motivos facturada   |
       1|           |R       |B       |Baja                 |PDT     |Propuesta Devolución Total    |
     587|           |R       |B       |Baja                 |V       |En Voluntaria no facturada    |
      45|           |L       |B       |Baja                 |VO      |Voluntaria Otros Motivos      |
     809|           |A       |B       |Baja                 |VOF     |Voluntaria Otros Motivos Fact.|
     741|           |L       |B       |Baja                 |VOF     |Voluntaria Otros Motivos Fact.|
    1976|           |R       |B       |Baja                 |VOF     |Voluntaria Otros Motivos Fact.|
       9|           |L       |CE      |Cobrado en Ejecutiva |DP      |Devuelto Parcial              |
      96|           |R       |CE      |Cobrado en Ejecutiva |DP      |Devuelto Parcial              |
      17|           |L       |CE      |Cobrado en Ejecutiva |DT      |Devuelto Total                |
      56|           |R       |CE      |Cobrado en Ejecutiva |DT      |Devuelto Total                |
       7|           |A       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
    3630|           |L       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
   28221|           |R       |CE      |Cobrado en Ejecutiva |O       |Confirmado no facturado       |
     181|           |L       |CE      |Cobrado en Ejecutiva |OD      |Confirmado por Domiciliación  |
    1980|           |R       |CE      |Cobrado en Ejecutiva |OD      |Confirmado por Domiciliación  |
     338|           |A       |CE      |Cobrado en Ejecutiva |OF      |Confirmado facturado          |
    4002|           |L       |CE      |Cobrado en Ejecutiva |OF      |Confirmado facturado          |
   31347|           |R       |CE      |Cobrado en Ejecutiva |OF      |Confirmado facturado          |
       2|           |R       |CE      |Cobrado en Ejecutiva |PDT     |Propuesta Devolución Total    |
     409|           |R       |CV      |Cobrado en Voluntaria|DP      |Devuelto Parcial              |
       7|           |A       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
      72|           |L       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
     518|           |R       |CV      |Cobrado en Voluntaria|DT      |Devuelto Total                |
     309|           |L       |CV      |Cobrado en Voluntaria|O       |Confirmado no facturado       |
   45299|           |R       |CV      |Cobrado en Voluntaria|O       |Confirmado no facturado       |
     127|           |L       |CV      |Cobrado en Voluntaria|OD      |Confirmado por Domiciliación  |
  147668|           |R       |CV      |Cobrado en Voluntaria|OD      |Confirmado por Domiciliación  |
   24714|           |A       |CV      |Cobrado en Voluntaria|OF      |Confirmado facturado          |
   15017|           |L       |CV      |Cobrado en Voluntaria|OF      |Confirmado facturado          |
  464667|           |R       |CV      |Cobrado en Voluntaria|OF      |Confirmado facturado          |
      48|           |L       |CV      |Cobrado en Voluntaria|OR      |Confirmado por Reposición     |
     135|           |R       |CV      |Cobrado en Voluntaria|OR      |Confirmado por Reposición     |
       3|           |L       |E       |En Ejecutiva         |Con     |Consolidar                    |
      41|           |R       |E       |En Ejecutiva         |Con     |Consolidar                    |
       1|           |L       |E       |En Ejecutiva         |Emi     |Emitido y no Domiciliado      |
      11|           |R       |E       |En Ejecutiva         |Emi     |Emitido y no Domiciliado      |
      15|           |L       |E       |En Ejecutiva         |EMN     |Emitida Notificación          |
     813|           |R       |E       |En Ejecutiva         |EMN     |Emitida Notificación          |
      23|           |L       |E       |En Ejecutiva         |Frc     |Fraccionado                   |
     157|           |R       |E       |En Ejecutiva         |Frc     |Fraccionado                   |
    3275|           |L       |E       |En Ejecutiva         |Not     |Notificación Efectiva         |
   12322|           |R       |E       |En Ejecutiva         |Not     |Notificación Efectiva         |
      25|           |R       |E       |En Ejecutiva         |Pem     |Pendiente de Emitir           |
      81|           |L       |E       |En Ejecutiva         |SC      |Suspensión Cautelar           |
     235|           |R       |E       |En Ejecutiva         |SC      |Suspensión Cautelar           |
     578|           |R       |V       |En Voluntaria        |Dom     |Emitido por Domiciliación     |
      29|           |R       |V       |En Voluntaria        |Emi     |Emitido y no Domiciliado      |
       6|           |R       |V       |En Voluntaria        |Frc     |Fraccionado                   |
     139|           |L       |V       |En Voluntaria        |SC      |Suspensión Cautelar           |
     296|           |R       |V       |En Voluntaria        |SC      |Suspensión Cautelar           |

De estos estados, con lo que respecta a los estados de los valores temporales tenemos que eliminar los registros cuyo ESTADO_VATE esté en  ('E','P','G') Siendo 'E'-Eliminado, 'P'-con Problemas, y G-Gestión de plusvalías.


1. Tablas que necesitamos

1.1. Tabla de cuentas operativas bancarias

Para ver los cobros necesitamos una tabla que nos indique las cuentas operativas. En este caso se puede crear una tabla a partir de esta consulta:

SELECT CUBA.ID_CUBA, CUBA.ACTIVA_CUBA, CUBA.IBAN_CUBA, CUBA.PLAZO_CUBA, CUBA.SUFIJO_PRESENTADOR_CUBA ,

CUBA.DESCRIPCION_CUBA, CUBA.NOMBRE_CORTO_CUBA

FROM OPS$GTTORA.CUBA_CUENTAS_BANCARIAS CUBA;

y nos devuelve

ID_CUBA|ACTIVA_CUBA|IBAN_CUBA               |PLAZO_CUBA|SUFIJO_PRESENTADOR_CUBA|DESCRIPCION_CUBA                     |NOMBRE_CORTO_CUBA|
-------+-----------+------------------------+----------+-----------------------+-------------------------------------+-----------------+
    538|          1|ES64********************|        56|000                    |OPERATIVA  y DOMICILIACIONES SABADELL|SABADELL         |
    724|          1|ES52********************|          |                       |CUENTA RESTRINGIDA                   |CAIXA POPULAR    |
    536|          1|ES32********************|        58|073                    |Operativa Bankia                     |BANKIA           |
    537|          1|ES73********************|        58|073                    |OPERATIVA SANTANDER                  |SANTANDER        |


1.2 Tabla de canales de pago

Se puede copiar la tabla CAPA

SELECT * FROM OPS$GTTORA.CAPA_CANAL_PAGO CAPA ;

y nos devuelve

COD_CAPA|DESC_CAPA                                                |
--------+---------------------------------------------------------+
1       |Ventanilla o adeudo en cuenta                            |
2       |Autoservicio (cajeros automáticos y similares)           |
3       |Banca virtual (electrónica por internet, teléfono, etc..)|
4       |Pasarela de pagos (web del organismo)                    |


2. Campos que necesitamos para cada movimiento

Vamos a crear una vista que tenga estos campos:

  1. IDENTIFICADOR_VATE: Identificador del valor temporal
  2. IDENTIFICADOR_VALO: Identificador del valor definitivo
  3. ID_EPER: id del valor temporal
  4. ID_EPER_VALO: id del valor definitivo
  5. COD_ESTADO: Código del estado 
  6. COD_SUBESTADO: Código subestado (per ejemplo en cobros puede ser por C60, domiciliado, etc)
  7. FECHA: Fecha que ha pasado a ese estado
  8. COD_USUA: Código del usuario
  9. OBSE: Observaciones
  10. IMP_PPAL: Importe principal afectado
  11. IMPO_RECA: Importe recardo afectado
  12. IMPO_INT: Importe intereses afectadosd
  13. IMPO_COST: Importe de costas afectados
  14. ID_CARGO: Id del cargo
  15. ID_CUBA: Id de la cuenta operativa bancaria
  16. ID_CAPA: Id del canal de pago
  17. EXP: Expediente afectado por el movimiento

Siendo COD_ESTADO:

  • GR: Grabación (Creación)


Como se ve, hay un montón de estados, para ello vamos a ver los distintos estados que tenemos en función de si son autoliquidaciones, liquidaciones o recibos

 

martes, 21 de noviembre de 2023

GTT (10) - BD MUNICIPIO (10). Valores, liquidaciones, autoliquidaciones y Valores temporales y sus estados

 0. Introducción

Parece ser que tanto los recibos, liquidaciones y autoliquidaciones correctos se guardan en la tabla de valores  OPS$GTTORA.VALO_VALORES VALO.  Pero también existen elementos en la tabla OPS$GTTORA.VATE_VALORES_TEMPORALES

Para distinguir si son autoliquidaciones, liquidaciones o recibos el campo COD_TVAL de las tablas anteriores toma los valorres A,L,R respectivamente

Cuando se trata de liquidaciones y autoliquidaciones, muchas veces pero no siempre, suelen crear  registros en la tabla  OPS$GTTORA.TPDL_TP_DETALLE_LIQUIDACION TPDL. 

La tabla TPDL.. tiene un campo llamado CONFIRMADA_LIQ_TPDL que en función de su valor puede generar registros en la tabla VALO.. o también en la tabla VATE (valores tempoorales), o no generar ningun registro en dichas tablas con lo que son liquidaciones que se han quedado a mitad de camino y no son válidas.

Veamos el campo CONFIRMADA_LIQ_TPDL que valores puede tomar y las consecuencias que conllevan:

  1. "S" de ???. Genera un Recibo y un apunte en la tabla VALO.. con   enganche  TPDL.ID_EPER_VALO=VALO.ID_EPER.
  2. "L" de liquidación: Genera un apunte en la tabla VALO de tipo liquidación o autoliquidación que se enganchan con TPDL.ID_EPER_VALO=VALO.ID_EPER. Cada registro de esta clase viene acompañado generalmente de 2 registros previos con dicho campo a 'N' y que quedan referenciados en el campo ID_TPDL_REL
  3. "T" de Temporal: A veces generan un valor temporal de la tabla VATE.. que enlaza con el campo TPDL.ID_EPER_VALO=VATE.ID_EPER Viene precedido de un registro tipo "N".  Muchas veces no genera nada y se queda ahí perdidad
  4. "N" de Nula??: No genera nada. Solo son precursoresd de otro tipo de regisdtro dentro de la misma tabla. Anteceden 2 registros de este tipo a otro tipo "L". Anticipa un solo registro a otro de tipo "T".
  5. "G" de grabada. De momento no genera ningún otro registro y no se pagan. Tampoco acompañan ni son acompañadas


1. Vista que engloba tanto a valores temporales (VATE) como "permanentes"(VALO)

Esta vista muestra tanto los valores temporales como los permanentes


CREATE OR REPLACE VIEW XIMO_SCHM.XIMO_VALORS

AS

SELECT VATE.IDENTIFICADOR_VATE,

LPAD(VALO.ANYO_CARGO_CARG,4,'0')||LPAD(VALO.ID_ORGA ,2,'0') ||

LPAD(VALO.ID_SUBO,5,'0') || VALO.COD_CONC || LPAD(VALO.EMISION_CARG,2,'0') ||

VALO.COD_TVAL || LPAD(VALO.NUMERO_VALO,6,'0') AS IDENTIFICADOR_VALO,

VATE.ID_EPER,

VALO.ID_EPER AS ID_EPER_VALOR ,

TPDL.ID_TPDL,

OT.ID_EPER_OT,

EPER.ID_PERS,

PERS.NIF_PERG, PERS.NOMBRE_PERG,

NVL(VATE.COD_TVAL,VALO.COD_TVAL) AS COD_TVAL,

NVL(VATE.COD_CONC,VALO.COD_CONC) AS COD_CONC,

VATE.TIPO_VATE,

VATE.ESTADO_VATE,

TESV.*,

TSEV.*,

TFVA.*,

SVAL.DESCR_SVAL,

VATE.COD_USUA,

NVL(VATE.FECHA_GRABACION_VATE,

NVL(VALO.FECHA_CARGA_VALO,

TO_DATE(TO_CHAR(NVL(VATE.EJERCICIO_VATE,2000))||'-01-01','YYYY-MM-DD'))) AS FECHA_GRABACION_VATE,

VATE.PERIODO_VATE,

VALO.ANYO_CARGO_CARG, VALO.EMISION_CARG, VALO.NUMERO_VALO,

VALO.ID_CARG, VALO.NUMERO_CARG,

NVL(VATE.OBJETO_TRIB_VATE,VALO.OBJETO_TRIB_VALO) AS OBJETO_TRIB_VATE,

NVL(VATE.DEUDA_VATE,VALO.IMPORTE_VALO) AS IMPORTE,

VATE.ID_EPER_ORIG_VATE,

NVL(VATE.NUM_EXP_LID_VATE, VALO.NUM_EXP_LID_VALO) AS NUM_EXP_LID_VATE,

NVL(VATE.ID_CSUB,VALO.ID_CSUB) AS ID_CSUB,

CSUB.NOMBRE_PARA_SUBO_CSUB,

VALO.ID_REGE

--SELECT COUNT(*)

FROM OPS$GTTORA.VATE_VALORES_TEMPORALES VATE -- NUM_EXP_LID_VATE, ID_EPER_ORIG_VATE-> ID_TPDL??, IDENTIFIADOR_VATE, ID_EPER_VALO-> VALO.ID_EPER,COPD_CONC,

FULL OUTER JOIN OPS$GTTORA.VALO_VALORES VALO ON VALO.ID_EPER=VATE.ID_EPER_VALOR -- ID_CARG, NUMERO_VALO!!!

LEFT JOIN OPS$GTTORA.TPDL_TP_DETALLE_LIQUIDACION TPDL ON TPDL.ID_TPDL =VATE.ID_EPER_ORIG_VATE

LEFT JOIN OPS$GTTORA.OT_OBJETO_TRIBUTARIO OT ON OT.ID_EPER_OT =VATE.ID_EPER_ORIG_VATE

LEFT JOIN OPS$GTTORA.EPER_ELEMENTOS_PERSONA EPER ON EPER.ID_EPER = GREATEST (NVL(VATE.ID_EPER,-1), NVL(VALO.ID_EPER,-1))

LEFT JOIN OPS$GTTORA.CSUB_CONCEPTOS_SUBORGANISMO CSUB ON CSUB.ID_CSUB = GREATEST (NVL(VATE.ID_CSUB,-1), NVL(VALO.ID_CSUB ,-1))

LEFT JOIN OPS$GTTORA.PERS_PERSONAS pers ON pers.ID_PERS =EPER.ID_PERS

LEFT JOIN OPS$GTTORA.TESV_TIPOS_ESTADO_VALOR TESV ON TESV.COD_TESV =VALO.COD_TESV

LEFT JOIN OPS$GTTORA.TSEV_TSUBE_VALOR TSEV ON TSEV.COD_TSEV =VALO.COD_TSEV

LEFT JOIN OPS$GTTORA.TFVA_TIPOS_FORMATO_VALOR TFVA ON TFVA.COD_TFVA =VALO.COD_TFVA

LEFT JOIN OPS$GTTORA.SVAL_SUBTIPO_VALORES SVAL ON SVAL.COD_SVAL =VALO.COD_SVAL

;


2.  Recibos

Como hemos dicho antes, los recibos son los valores (vista XIMO_SCHM.XIMO_VALORS ) que tienen el campo COD_TVAL='R'. Por tanto la forma simple de obtener los valores es:

SELECT *

--DISTINCT VALO.COD_CONC -- SALE: BA,CA,GU,IA,IR,IU,IV,PP

FROM XIMO_SCHM.XIMO_VALORS VALORS

WHERE VALORS.COD_TVAL='R'

ORDER BY VALORS.ID_EPER

;

Pero hay que tener en cuenta que hay muchas tablas relacionadas con los recibos específicos de un concepto, que aportan información complementaria. Hay tablas para Tasas (Basura, Cajeros, Vados), Vehículos, IBI rústica y urbana, IAE 

Veamos los valores  y la mayoría de tablas que se asocian para complementar información de la tabla VALO_VALORES. OJO: Para los valores temporales hay otras tablas que enganchan que no las hemos tenido en cuenta 

SELECT COUNT(*)

FROM OPS$GTTORA.VALO_VALORES VALO -- (64,117)

LEFT JOIN OPS$GTTORA.OTPT_OBJETOS_TRIB_PREV_VOLU OTPT -- (69,978) (63,007): OJO: hay duplicados y otros que NO estan

ON OTPT.ID_EPER_VALO =VALO.ID_EPER

AND NOT EXISTS (

SELECT *

FROM OPS$GTTORA.OTPT_OBJETOS_TRIB_PREV_VOLU OTPT1

WHERE OTPT1.ID_EPER_VALO=OTPT.ID_EPER_VALO -- eSCOGEMOS SOLO UN DEGLOSE

AND OTPT1.ID_OTPT >OTPT.ID_OTPT

)

LEFT JOIN OPS$GTTORA.VIBI_VALOR_IBI VIBI -- (64,117) (21,742): Rebuts d'IBI

ON VIBI.ID_EPER =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.IBVA_IBI_VALOR IBVA -- (64,117) (3.679) Rebuts IBI ???

ON IBVA.ID_EPER_VALO=VALO.ID_EPER

LEFT JOIN OPS$GTTORA.VIAE_VALOR_IAE VIAE -- (64,117) (199): Rebuts d'IAE

ON VIAE.ID_EPER =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.VAIV_VALORES_IVTM VAIV -- (64,117) (11,870): Rebuts de vehicles

ON VAIV.ID_EPER =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.VATR_VALOR_TRAFICO VATR -- (64,117) (275): Sancions de transit

ON VATR.ID_EPER =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.PLSP_PLUSVALIAS_SUJ_PAS PLSP -- (64,117) (688):PLusvalues

ON PLSP.ID_EPER_VALO=VALO.ID_EPER

LEFT JOIN OPS$GTTORA.VBOL_VALORES_BOLETIN VBOL -- (64,117) (2,172): OJO: Duplicats. Rebuts desde boletins (multes, infraccions)

ON VBOL.ID_EPER =VALO.ID_EPER

AND NOT EXISTS (

SELECT *

FROM OPS$GTTORA.VBOL_VALORES_BOLETIN VBOL1

WHERE VBOL1.ID_EPER=VBOL.ID_EPER

AND VBOL1.ID_BOLE>VBOL.ID_BOLE

)

LEFT JOIN OPS$GTTORA.VSUB_VALOR_SUBCONCEPTOS VSUB -- (70,684) (24,552): OJO: Duplicats. Subconceptes que té cada rebut

ON VSUB.ID_EPER =VALO.ID_EPER -- (64,117) (24,181): OJO: SI QUITAMOS LOS DUPLICADOPS

AND NOT EXISTS(

SELECT *

FROM OPS$GTTORA.VSUB_VALOR_SUBCONCEPTOS VSUB1 --SOLO COGEMOS ELPRIMER DESGLOSE DE SUBCONCEPTO

WHERE VSUB1.ID_EPER=VSUB.ID_EPER

AND VSUB1.ID_VSUB>VSUB.ID_VSUB

)

LEFT JOIN OPS$GTTORA.SUBC_SUBCONCEPTOS SUBC -- (64,117) (24,181): OJO: SI QUITAMOS LOS DUPLICADOPS

ON SUBC.ID_EPER= VALO.ID_EPER

AND NOT EXISTS(

SELECT *

FROM OPS$GTTORA.SUBC_SUBCONCEPTOS SUBC1 --SOLO COGEMOS ELPRIMER DESGLOSE DE SUBCONCEPTO

WHERE SUBC1.ID_EPER=SUBC.ID_EPER

AND SUBC1.NUMERO_SUBC >SUBC.NUMERO_SUBC

)

LEFT JOIN OPS$GTTORA.VCON_VALORES_CONCEPTO VCON -- (64,117) (24,552): Rebuts de conceptes

ON VCON.ID_EPER =VALO.ID_EPER


LEFT JOIN OPS$GTTORA.TPDL_TP_DETALLE_LIQUIDACION TPDL -- (64,117) (24,552): Liquidacions.

--ON TPDL.ID_TPDL =OTPT.ID_TPDL -- (20,089)

--OR TPDL.ID_EPER_VALO =VALO.ID_EPER -- (6,288)

ON TPDL.ID_TPDL =VCON.ID_TPDL -- (24,552) Este ON substitueix als 2 anteriors!!!!

LEFT JOIN OPS$GTTORA.VATE_VALORES_TEMPORALES VATE -- (64,117) (31,829)

ON VATE.ID_EPER_VALOR =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.RECA_REGISTROS_CARGA RECA -- (64,117) (561)

ON RECA.ID_EPER_RECA =VALO.ID_EPER

LEFT JOIN OPS$GTTORA.VPRV_VALORES_RELACION VPRV -- (64,117) (3,911)

ON VPRV.ID_EPER_VALO =VALO.ID_EPER

WHERE

--VALO.COD_CONC ='IR'

--AND

VALO.ANYO_CARGO_CARG =2022;


3. Liquidaciones 

Como hemos dicho antes, las liquidaciones son los valores (vista XIMO_SCHM.XIMO_VALORS) que tienen el campo COD_TVAL='L'. Por tanto la forma simple de obtener los valores es:

SELECT *

--DISTINCT VALO.COD_CONC -- SALE: BA,CA,GU,IA,IR,IU,IV,PP

FROM XIMO_SCHM.XIMO_VALORS VALORS

WHERE VALORS.COD_TVAL='L'

ORDER BY VALORS.ID_EPER

;

Pero se sabe que hay muchas tablas relacionadas con las liquidaciones específicas de un concepto, que aportan información complementaria. 

Y hay que tener en cuenta que los elementos de la vista  XIMO_VALORS de tipo liquidación, muchos de ellos no tienen correspondencia con la tabla TPDL ???? Parece ser que parte de estos registros ausentes, se han producido en la parte de MULTAS

Si queremos obtener mas detalle con respecto a esta tabla en lo que respecta a Liquidaciones y Autoliquidaciones se puede ver esta consulta que se adjunta teniendo en cuenta que:

  • La tabla TPDL puede tener varios registros para una misma liquidación
  • Solo hay que hacer caso a las liquidaciones TPDL cuyo campo CONFIRMADA_LIQ_TPDL= 'S' o 'L'
  • La mayoria de tablas que se asocian para complementar información, tienen varios regisros (desgloses) para una misma liquidación, con lo que para simplificar solo se utiliza un solo desglose (cosa mal hecha si queremos saber toda la información)
  • Por otra parte el calculo de las liquidaciones se realiza utilizando la tabla  TPUT_TP_UNIDADES_TARIFAS que destroza la consulta. Por ello se la ha comentado.

Hay que tener en cuenta solo las liquidaciones que están confirmadas.


SELECT count(*)

-- VALO.ID_EPER, TPDL.*,'-----------------------------',VALO.*

FROM OPS$GTTORA.TPDL_TP_DETALLE_LIQUIDACION TPDL --(36.144)

LEFT JOIN OPS$GTTORA.BTPL_BONIF_TPDL BTPL ON BTPL.ID_TPDL=TPDL.ID_TPDL --(36.144) (1) BONIF DE ICIO

LEFT JOIN OPS$GTTORA.OTPT_OBJETOS_TRIB_PREV_VOLU OTPT ON OTPT.ID_TPDL=TPDL.ID_TPDL --(36.144) (20.358) PREVIOS DE TASAS

LEFT JOIN OPS$GTTORA.TPBA_TP_BENEFICIOS_APLICADOS TPBA ON TPBA.ID_TPDL=TPDL.ID_TPDL --(36.144) (188) BENEFICIOS PERIODOS

LEFT JOIN OPS$GTTORA.TPBE_TP_BENEFICIOS TPBE ON TPBE.ID_TPDL=TPDL.ID_TPDL --(36.144) (188) BENEFICIOS DETALLE

LEFT JOIN OPS$GTTORA.TPDE_TP_DETALLE_EJERCICIOS TPDE ON TPDE.ID_TPDL=TPDL.ID_TPDL --(36.144) (34.801) DETALLE EJERCICIOS

LEFT JOIN OPS$GTTORA.TPDP_TP_DETALLE_PERIODOS TPDT ON TPDT.ID_TPDL=TPDL.ID_TPDL --(36.144 (34.801) DETALLE PERIODOS (duplica)

AND NOT EXISTS (SELECT * FROM OPS$GTTORA.TPDP_TP_DETALLE_PERIODOS TPDT1

WHERE TPDT1.ID_TPDL=TPDT.ID_TPDL AND TPDT1.ORDEN_TPDP<TPDT.ORDEN_TPDP)

LEFT JOIN OPS$GTTORA.TPDS_TP_DETALLE_SUBCONCEPTOS TPDS ON TPDS.ID_TPDL=TPDL.ID_TPDL --(36.144) (36.032) DETALLE SUBCONCEPTOS OJO: duplica

AND NOT EXISTS (SELECT * FROM OPS$GTTORA.TPDS_TP_DETALLE_SUBCONCEPTOS TPDS1

WHERE TPDS1.ID_TPDL=TPDS.ID_TPDL AND TPDS1.ORDEN_TPDS<TPDS.ORDEN_TPDS)

LEFT JOIN OPS$GTTORA.TPDT_TP_DETALLE_TARIFAS TPDT ON TPDT.ID_TPDL=TPDL.ID_TPDL --(36.144) (34.733) DETALLE TARIFAS OJO:Duplica

AND NOT EXISTS (SELECT * FROM OPS$GTTORA.TPDT_TP_DETALLE_TARIFAS TPDT1

WHERE TPDT1.ID_TPDL=TPDT.ID_TPDL AND (TPDT1.ORDEN_TPDT*100+TPDT1.ORDEN_TPDS)>(TPDT.ORDEN_TPDT*100+TPDT.ORDEN_TPDS))

LEFT JOIN OPS$GTTORA.TPUA_TP_UNIDADES_TARIFAS_ALT TPUA ON TPUA.ID_TPDL=TPDL.ID_TPDL --(36.144) (1.650) -OJO DUPLICA

AND NOT EXISTS (SELECT * FROM OPS$GTTORA.TPUA_TP_UNIDADES_TARIFAS_ALT TPUA1

WHERE TPUA1.ID_TPDL=TPUA.ID_TPDL

AND (TPUA1.ORDEN_TPDS*1000000+TPUA1.ORDEN_TPDT *10000+TPUA1.ORDEN_TPDA*100+TPUA1.ORDEN_TPUA)>

(TPUA.ORDEN_TPDS *1000000+TPUA.ORDEN_TPDT *10000+TPUA.ORDEN_TPDA *100+TPUA.ORDEN_TPUA)

)

--LEFT JOIN OPS$GTTORA.TPUT_TP_UNIDADES_TARIFAS TPUT --OJO: PETAAAAAAAA PARA ver el cálculo de la liquidacion

-- ON TPUA.ID_TPDL=TPDL.ID_TPDL

-- AND NOT EXISTS (SELECT * FROM OPS$GTTORA.TPUT_TP_UNIDADES_TARIFAS TPUT1

-- WHERE TPUT1.ID_TPDL=TPUT.ID_TPDL

-- AND (TPUT1.ORDEN_TPDS*10000+TPUT1.ORDEN_TPDT *100+TPUT1.ORDEN_TPUT)>

-- (TPUT.ORDEN_TPDS *10000+TPUT.ORDEN_TPDT *100+TPUT.ORDEN_TPUT)

-- )

LEFT JOIN OPS$GTTORA.VALO_VALORES VALO ON VALO.ID_EPER=TPDL.ID_EPER_VALO --(36.144) (6.506)

LEFT JOIN OPS$GTTORA.VCON_VALORES_CONCEPTO VCON ON VCON.ID_TPDL=TPDL.ID_TPDL --(36.144) (25.039)

;


4. Autoliquidaciones

Como hemos dicho antes, las liquidaciones son los valores (vista XIMO_SCHM.XIMO_VALORS) que tienen el campo COD_TVAL='A'. Por tanto la forma simple de obtener los valores es:

SELECT *

--DISTINCT VALO.COD_CONC -- SALE: BA,CA,GU,IA,IR,IU,IV,PP

FROM XIMO_SCHM.XIMO_VALORS VALORS

WHERE VALORS.COD_TVAL='A'

ORDER BY VALORS.ID_EPER

;

Pero se sabe que hay muchas tablas relacionadas con las liquidaciones específicas de un concepto, que aportan información complementaria. 

5. Estados de los valores temporales VATE

Cuando se pide una relación de valores temporales por la apliocación, solo salen los valores temporales cuyo estado ESTADO_VATE es I o V. El resto no salen

ESTADO_VATE Descripción     ID_EPER_VALO ID_EPER_ORIG_VATE En_gtt COD_TVAL FECHA_BORRADO_VATE Tablas              Comentarios
=========== =============== ============ ================= ====== ======== ================== =================== ==============
E           Eliminado       Null         Null/SI           No     A,L      SI                 VTRG ?              
-------------------------------------------------------------------------------------------------------------------------------------------
G           Grabado         Null         Null/SI           No     A,L      Null               VTRG ?               Comienza por SL  
            Sin tributación                                                                                           PLSP /TPDL           O es plusvalia o tasa
-------------------------------------------------------------------------------------------------------------------------------------------
I           valor temporal  Null         Null/Si           Si     A,L      Null               VTRG ?               Emitidas y no cobradas        
            no definitivo
-------------------------------------------------------------------------------------------------------------------------------------------
P           No generado     Null         NULL/SI           No     A,L      Null/Si            OTPT                 No se ha generado el valor pues han aparecido problemas
            por problemas
-------------------------------------------------------------------------------------------------------------------------------------------
R           Recibos IBI que SI           NULL/SI           SI     R        Null               OTPT                 Recibos
            han pasado a 
            definitivos
-------------------------------------------------------------------------------------------------------------------------------------------
V           Liq y AutoLi    SI           NULL/SI           SI     A,L      Null                                    Liq y Autoliq pagadas       
            que han pasado                                                       
            a definitivos


5.1 ESTADO_VATE='I', COD_TVAL: A( Autoliquidación), ID_EPER_VAL=Null, ID_EPER_ORIG_VATE=Null, NUM_EXP_LID_VATE=Null (ej. ID_EPER=134927802)

Se ha grabado la autoliquidación y no se ha cobrado. Los datos importantes:

VATE.ID_EPER, VATE.IDENTIFICADOR_VATE
EPER.ID_E
Dentro de esta tabla VTPA_VAL_TEMP_PARAMETROS, con 35 registros solo para ese valor temporal, hay uno con el campo NOMBRE_VTPA con el valor  P_INF_VNIFSUJETOPASIV y cuyo campo DATO_VTPA contiene el NIF del sujeto pasivo
EPER.ID_PERS (con EPER.ID_EPER=VATE.ID_EPER) --> Localizar el contribuyente

--Valores Temporales
VATE_VALORES_TEMPORALES.ID_EPER=134927802;

--referencias pra el posible cobro C60  de Valores Temporales
VTRE_VAL_TEMP_REFERENCIAS.ID_EPER=134927802;

--Valores creados por usuarios gestores en internet
USVA_USUARIO_VALOR.ID_EPER_VALO=134927802;

--Parametros para el calculo de la liquidación
VTPA_VAL_TEMP_PARAMETROS.ID_EPER=134927802;

5.2 ESTADO_VATE='I', COD_TVAL: A( Autoliquidación), ID_EPER_VAL=Null, ID_EPER_ORIG_VATE=Existe ->TPDL.ID_TPDL, NUM_EXP_LID_VATE=Null  (ej. ID_EPER=134923774)

Se ha grabado la autoliquidación y no se ha cobrado
Particularmente hay una referencia a la tabla de liquidaciones TPDL_TP_DETALLE_LIQUIDACION
Los datos importantes:
VATE.ID_EPER, VATE.IDENTIFICADOR_VATE
TPDL.ID_TPDL, TPDL.NIF_SP_TPDL
EPER.ID_PERS (con EPER.ID_EPER=VATE.ID_EPER) --> Localizar el contribuyente

--Valores Temporales
VATE_VALORES_TEMPORALES.ID_EPER=135112880;

--referencias de Valores Temporales
VTRE_VAL_TEMP_REFERENCIAS.ID_EPER=135112880;


5.3 ESTADO_VATE='I', COD_TVAL: A,L( Autoliquidación y liquidación), ID_EPER_VAL=Null, ID_EPER_ORIG_VATE=Existe ->OT.ID_EPER_OT, NUM_EXP_LID_VATE=Existe  (ej. ID_EPER=135103969)

Se ha grabado la autoliquidación y no se ha cobrado
Particularmente hay una referencia a la tabla de objetos tributarios OT_OBJETO_TRIBUTARIO y también a las tabla que manejan expedientes :
REGE_REGISTRO_ENTRADA.NUMERO_REGE (Registro entrada exp de gestiión y ejecutiva)
.....
Los datos importantes:
VATE.ID_EPER, VATE.IDENTIFICADOR_VATE
OT.ID_ID_EPER_OT, OT.NIF_SP_OT
EPER.ID_PERS (con EPER.ID_EPER=VATE.ID_EPER) --> Localizar el contribuyente

--Valores Temporales
VATE_VALORES_TEMPORALES.ID_EPER=135103969;

--referencias de Valores Temporales
VTRE_VAL_TEMP_REFERENCIAS.ID_EPER=135103969;

--Detalle de valores tedmporales en expedientes actuación 01.1
VTRG_VAL_TEMP_REGISTRO_ENTRADA.ID_EPER=135103969;