# Pachetul Oracle pack_imob

Sursa vendorizata local: `pack_imob.pck` (specific ROAIMOB, nu e in `COMUN`).

## Proceduri cheie observate

- `pack_imob.adauga_mf(...)` — creeaza o imobilizare noua (in curs/corporala/necorporala) in `IMOB_NOM_MF` + prima operatie in `IMOB_OPERATII_MF`.
- `pack_imob.inreg_transformare_in_mf(...)` — vezi [flux-transformare-in-mf.md](flux-transformare-in-mf.md).
- `pack_imob.add_operatie_mf(...)` — insert generic in `IMOB_OPERATII_MF`, folosit de mai multe fluxuri (majorare, reevaluare, transformare etc).
- `pack_imob.adauga_rata(...)` — genereaza/actualizeaza rata de amortizare asociata unei operatii.
- `pack_imob.adauga_la_transformare(...)` — leaga operatia activului nou de operatia activului vechi in `IMOB_TRANSFORMARE_MF`.
- `pack_imob.schimba_mf(...)` — folosit din fluxul "modificare cu istoric" (`frm_modificare`).
- `pack_imob.inreg_majorare` / `pack_imob.inreg_reevaluare` — apelate din `Programe/oproceduri_operatii.prg` (`op_majorare`, `op_reevaluare`).

## Observatie: doua stiluri de apel din VFP, riscuri diferite

In acelasi fisier (`Clase/oimobilizari.vcx`) coexista:

- **SQL construit prin concatenare de text** (`STR()`, `ALLTRIM()`, `Transform()`) — risc de trunchiere/formatare gresita daca nu esti atent la lungimi (vezi capcana STR() din flux-transformare-in-mf.md).
- **parametri legati** (`?variabila`) prin `goExecutor` — mai sigur, fara conversie manuala numar-in-text.

Cand cauti un bug de tipul "valoare corupta la salvare, fara eroare afisata", verifica intai daca apelul respectiv foloseste stilul text-concatenat.
