Files
roafacturare/docs/conventii_mediu_oracle.md
Marius Mutu ca3c5d7eea docs: runda 6 - cercetari, propuneri si conventia mediului Oracle
Cercetarile si propunerile rundelor 4-6 pe editarea facturii emise. Starea
rundei 6 si ce s-a stabilit intra in progres.md.

Nou: docs/conventii_mediu_oracle.md - pe dev/test se lucreaza numai cu
ROA_CENTRAL si schemele CONTAFIN_ORACLE si MARIUSM_AUTO; schema ACN nu se
foloseste. Scripturile de pachet sunt necalificate, deci schema tinta o
decide sirul de conectare, nu fisierul.

roafacturare.pj2 regenerat de git_sync.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gYCNE26G1G7UoGu2ju7aS
2026-08-20 16:35:03 +03:00

4.1 KiB

Conventii - mediul Oracle de dev/test

Regula lui Marius, 20.08.2026. Se aplica de fiecare data, si sesiunii principale, si subagentilor. Nu e context, e conventie de lucru.

1. Nu se spune "baza"

Termenul e vag si a produs deja o intrebare care n-ar fi trebuit sa existe: "ce este baza? care schema?". Se scrie intotdeauna schema + instanta, explicit:

"se ruleaza pe schema MARIUSM_AUTO de pe ROA_CENTRAL"

nu "se ruleaza pe baza". Acelasi lucru in rapoarte, in handoff-uri, in propuneri si in mesaje.

2. Pe dev/test se lucreaza NUMAI cu ROA_CENTRAL

Instanta: ROA_CENTRAL. Schemele permise, singurele doua:

Schema Ce este
MARIUSM_AUTO schema de firma - datele si pachetele de business (VANZARI, VANZARI_DETALII, JTVA_COLOANE, PACK_FACTURARE...). Aici se lucreaza pe functionalitate.
CONTAFIN_ORACLE schema comuna tuturor schemelor de firma: pachete comune, actualizarea bazei de date, utilizatori, drepturi de utilizator, nomenclatorul de firme. Se creeaza pe fiecare server.

Nimic altceva. Daca o sarcina pare sa ceara altceva, se intreaba intai.

Modelul de retinut: fiecare firma are schema ei (in dev/test, MARIUSM_AUTO), iar CONTAFIN_ORACLE sta alaturi, o singura data per server, si deserveste toate schemele de firma. Deci o modificare in CONTAFIN_ORACLE e transversala peste toate firmele de pe acel server - se trateaza cu grija corespunzatoare, nu ca o schimbare locala.

3. Schema ACN nu se foloseste si nu se citeaza

Nu se interogheaza, nu se ia ca sursa de adevar, nu se pomeneste in rapoarte ca element de comparatie. Daca apare in rezultatul unei interogari pe ALL_OBJECTS/ALL_SOURCE, se filtreaza din start, nu se comenteaza.

Consecinta practica pentru interogarile de dictionar: se pune intotdeauna filtrul de owner. Fara el, randurile mai multor scheme se intercaleaza si output-ul devine ilizibil - capcana deja platita o data la citirea unui corp de pachet din ALL_SOURCE.

select text from all_source
 where owner = 'MARIUSM_AUTO'          -- niciodata fara aceasta linie
   and name  = 'PACK_FACTURARE'
   and type  = 'PACKAGE BODY'
 order by line;

4. Conectare

& 'D:\ROA\instantclient_19_18\sqlplus.exe' -L -S 'MARIUSM_AUTO/ROMFASTSOFT@ROA_CENTRAL' '@fisier.sql'

Fisierul .sql se scrie in ASCII. SQL trimis prin pipe din PowerShell e spart de BOM.

5. Ce inseamna "se ruleaza un script de pachet"

Scripturile din D:\ROA\DATABASE\SCRIPTURI_CLAR\ nu modifica date - inlocuiesc cod stocat in Oracle (CREATE OR REPLACE PACKAGE + PACKAGE BODY). De retinut:

  • Efectul e imediat si pentru toti cei conectati. Nu seamana cu VFP, unde fiecare statie ruleaza propriul .exe.
  • Se recreeaza si specificatia, nu doar corpul - asta invalideaza obiectele dependente, care se recompileaza la prima folosire.
  • Nu exista "undo". Revenirea inseamna rularea unei versiuni anterioare a pachetului.
  • Scripturile sunt scrise necalificat (CREATE OR REPLACE PACKAGE "PACK_FACTURARE", fara CONNECT, fara prefix de schema). Deci se aplica schemei cu care esti conectat, nu au tinta proprie. Schema tinta o decide exclusiv sirul de conectare.
  • Rularea unui script pe orice schema se face doar la cererea explicita a lui Marius. Un agent scrie scriptul; nu il aplica.

6. Stare constatata pe ROA_CENTRAL, 20.08.2026

Utila ca reper; de reconfirmat daca a trecut timp.

DB_NAME: ROA     server: 4e73d257c791     alias TNS: ROA_CENTRAL
  • MARIUSM_AUTO isi detine propriile tabele (VANZARI_DETALII, JTVA_COLOANE sunt TABLE in schema, nu sinonime catre alta schema). Deci cifrele obtinute conectat ca MARIUSM_AUTO sunt ale datelor din MARIUSM_AUTO.
  • CONTAFIN_ORACLE are 393 de obiecte si nu detine VANZARI_DETALII/JTVA_COLOANE - coerent cu rolul ei: infrastructura comuna (utilizatori, drepturi, firme, actualizare), nu date de firma.
  • MARIUSM_AUTO.PACK_FACTURARE: PACKAGE si PACKAGE BODY VALID, corpul modificat ultima data 20.08.2026 08:43 (aplicarea scriptului ff_2026_08_20_01, garda FACT-025).