# V_IMPEGNI_ARTICOLI_LOC

## Colonne

| Colonna | Tipo |
|---------|------|
| DATA | DATE |
| LOCATION | VARCHAR2(200) |
| COD_ARTICOLO | VARCHAR2(10) |
| DESCRIZIONE | VARCHAR2(4000) |
| TOT_OSPITI | NUMBER |
| QTA_GIAC | NUMBER |
| QTA_IMP | NUMBER |
| QTA_RES | NUMBER |
| QTA_APE | NUMBER |
| QTA_SEDU | NUMBER |
| QTA_BUFDOL | NUMBER |
| DESCRI_CATEG | VARCHAR2(1013) |
| DESCRI_TIPO | VARCHAR2(1013) |

## Definizione

```sql
CREATE OR REPLACE VIEW V_IMPEGNI_ARTICOLI_LOC AS
with t as (
select e.data, l.LOCATION,p.cod_articolo,a.DESCRIZIONE,e.TOT_OSPITI,
        sum(a.QTA_GIAC) qta_giac,
        sum(p.qta) qta_imp,
        sum(a.QTA_GIAC) - f_get_qta_impegnata(p.cod_articolo,e.data) qta_res,
        sum(p.qta_ape) qta_ape,
        sum(p.qta_sedu) qta_sedu,
        sum(p.qta_bufdol) qta_bufdol
  from eventi_det_prel p
  left
  join articoli a on p.COD_ARTICOLO = a.COD_ARTICOLO
  join eventi e on p.id_evento = e.id
  left
  join location l on e.id_location = l.id
  where e.stato between 200 and 400
    and e.id_evt_figlio is null
 group by e.data, l.LOCATION,p.cod_articolo,a.DESCRIZIONE,e.TOT_OSPITI
 order by e.data, l.LOCATION,p.cod_articolo
)
select t."DATA",t."LOCATION",t."COD_ARTICOLO",t."DESCRIZIONE",t."TOT_OSPITI",t."QTA_GIAC",t."QTA_IMP",t."QTA_RES",t."QTA_APE",t."QTA_SEDU",t."QTA_BUFDOL",
g.cod_categ || ' - ' || g.descrizione as descri_categ,
u.cod_tipo || ' - ' || u.descrizione as descri_tipo
from t
join articoli a on a.COD_ARTICOLO = t.COD_ARTICOLO
join tb_codici_categ g on g.COD_CATEG = a.COD_CATEG
join tb_tipi_mat u on u.cod_tipo = g.cod_tipo
```
