# Vederi Oracle: „Vizualizare comenzi" / „Facturi emise" Căile de mai jos sunt relative la `D:\ROA\DATABASE\SCRIPTURI_CLAR\`. ## Lanțul | view | definit în | compus din | |---|---|---| | `AUTO_COMENZI_VALIDATE` | `2024\07\ff_2024_07_03_01_AUTO.sql:181` | `DEV_ORDL a where a.sters = 0` (`:236`) + `SYN_UTILIZATORI` b/d + `NOM_LUCRARI` c | | `AUTO_VORDL_FACTURI` | `2025\06\ff_2025_06_30_01_AUTO.sql:4` | `AUTO_VORDL_FACTURATE` + `MV_ORDL_SUME_ACT` | | `AUTO_ISTORIC_COMENZI` | `2026\09\ff_2026_09_22_01_AUTO.sql:35` | `AUTO_COMENZI_VALIDATE a` + `AUTO_VORDL_FACTURI c` + `DEV_MASINICLIENTI` / `DEV_NOM_MASINI` / `DEV_NOM_MARCI` / `NOM_PARTENERI` / `DEV_NOM_ASIGURATORI` / `DEV_NOM_INSPECTORI` / `DEV_TIP_DEVIZ i` | | `AUTO_FACTURI_EMISE` | `2026\09\ff_2026_09_22_01_AUTO.sql:100` | `AUTO_COMENZI_VALIDATE` + `AUTO_VORDL_FACTURATE` + `MV_ORDL_SUME_ACT` + `AUTO_VORDL_MAN` / `AUTO_VORDL_MAT` | ## Note - `AUTO_COMENZI_VALIDATE`: `validat`, `dataoravalid`, `util_valid`, `dataorainchis`, `util_inchis` sunt **calculate** față de `pack_sesiune.getluna()/getan()` — motivul capcanei din `vfp_oracle_pack_sesiune.md`. - `AUTO_VORDL_FACTURI`: alege coloanele RON vs ROL comparând `pack_sesiune.getan/getluna` cu `get_anron/get_lunaron`; expune `facturat`, `dataact`, `nract`, `valfactmanopera`, `valfactmateriale`, `valctva` (redenumite în `AUTO_ISTORIC_COMENZI` în `datafact`, `nrfact`, `val_manopera_factura`, `val_materiale_factura`, `valctva_factura`). - `AUTO_ISTORIC_COMENZI` primește `i.inch_validare` abia în `ff_2026_09_22_01_AUTO.sql` — cerut de `gcCondLuna` (vezi `flux-gccondluna.md`). - Coloane calculate per rând, prin subinterogări corelate (~16 buffer gets/rând): `val_materiale_ach` / `val_materiale_vz` din `RUL` (`sters=0 and id_lucrare = a.id_lucrare`); `ore_manopera` / `val_manopera` din `DEV_ORDL` + `DEV_OPER`. - **Garda `id_lucrare > 0`** pe `RUL` e obligatorie (`AUTO_FACTURI_EMISE` o are): la AUTOMOTIVE `RUL` are 215 269 rânduri cu `ID_LUCRARE = 0` (161 259 cu `STERS = 0`) — mișcările de stoc obișnuite. - Indexuri de care depind subinterogările: `IDX_RUL_001 (ID_LUCRARE, STERS)`, `IDX_ORDL_00001 (DEV_ORDL.ID_LUCRARE)`, `IDX_OPER_01 (DEV_OPER.ID_ORDL)`. - **Capcană de plan**: pe volum mic (`MARIUSM_AUTO`) optimizatorul de-corelează subinterogările și face `TABLE ACCESS FULL` pe `RUL`; pe volum de producție le păstrează corelate și folosește `IDX_RUL_001`. Nu trage concluzii de plan de pe dev. - `AUTO_NORMARE_COMENZI` **nu se modifică** — e folosit în ~10 alte locuri. - Linia paralelă de produs: `DEVIZE_NORMARE_COMENZI`, `DEVIZE_VALIDARE_COMENZI`, `DEVIZE_VORDL`, cu același tipar.