-- configurare initiala serie + plaja numere pentru comenzi service auto (TIP_DOC=20) -- -- Context: happy-path POST /api/service-auto/comenzi esueaza cu -- ORA-20000 "Nu exista plaje de serii comenzi auto pentru aceste configurari!" -- (PACK_SERII_NUMERE line 1071) pentru ca schema MARIUSM_AUTO nu are nicio -- intrare SERII + PLAJE_NUMERE pentru TIP_DOC=20. -- -- Verificare live 2026-04-14: AUTHID=DEFINER, verifica_tipdoc(20)=0 (OK), -- verifica_cursor_serii(20, 1, 0)=ORA-20000. Vezi pack-serii-verification.md. -- -- IMPORTANT: Aceasta migratie TREBUIE rulata ca MARIUSM_AUTO (sau DBA) — ROA_WEB -- are EXECUTE pe pachet dar nu are DML pe SERII/PLAJE_NUMERE (corect, DEFINER). -- -- IMPORTANT: Inainte de executie, inlocuieste placeholder-urile <...> cu valori -- reale stabilite cu Marius M (administrator MARIUSM AUTO): -- — denumire serie (ex: 'DEV01') -- — lungime numerica (ex: 6 → 1..999999) -- — ID util administrator (care creeaza seria); in runtime -- fiecare user propriu va fi mapat la grup via IdUtil2IdGrupUtil -- , — plaja (ex: 1..999999) -- — 0 pentru toate sucursalele sau ID specific DECLARE v_id_serie NUMBER; BEGIN -- pas 1: inregistreaza seria (idempotent: skip daca exista deja o serie cu acelasi nume) BEGIN SELECT ID_SERIE INTO v_id_serie FROM MARIUSM_AUTO.SERII WHERE SERIE = '' AND ROWNUM = 1; EXCEPTION WHEN NO_DATA_FOUND THEN MARIUSM_AUTO.PACK_SERII_NUMERE.adauga_serie( V_SERIE => '', V_AN => EXTRACT(YEAR FROM SYSDATE), V_LUNA => EXTRACT(MONTH FROM SYSDATE), V_LUNGIME => , V_INACTIV => 0, V_ID_UTIL => , V_ISAUTOFACTURA => 0, V_ISBENEFICIARI => 0, V_ISTERTI => 0, V_ISFURNIZORI => 0, V_PREFIX => NULL, V_AN2CARACTERE => 0 ); SELECT ID_SERIE INTO v_id_serie FROM MARIUSM_AUTO.SERII WHERE SERIE = '' AND ROWNUM = 1; END; -- pas 2: inregistreaza plaja pentru TIP_DOC=20 (idempotent: skip daca exista) DECLARE v_count NUMBER; BEGIN SELECT COUNT(*) INTO v_count FROM MARIUSM_AUTO.PLAJE_NUMERE WHERE ID_TIPDOC = 20 AND ID_SERIE = v_id_serie AND NVL(ID_SUCURSALA, 0) = NVL(, 0); IF v_count = 0 THEN MARIUSM_AUTO.PACK_SERII_NUMERE.adauga_plaja( V_ID_TIPDOC => 20, V_ID_TIPENTITATE => NULL, V_ID_SERIE => v_id_serie, V_ID_ENTITATE => NULL, V_ID_SUCURSALA => , V_PL_INF => , V_PL_SUP => , V_DATAI => TO_DATE('01.01.' || EXTRACT(YEAR FROM SYSDATE), 'DD.MM.YYYY'), V_DATAS => TO_DATE('31.12.' || EXTRACT(YEAR FROM SYSDATE), 'DD.MM.YYYY'), V_INACTIV => 0, V_ID_UTIL => ); END IF; END; END; / -- verificare post-migratie (nu afecteaza runtime; doar raporteaza status): DECLARE v_rez NUMBER; v_cur SYS_REFCURSOR; BEGIN MARIUSM_AUTO.PACK_SERII_NUMERE.verifica_cursor_serii( V_ID_TIPDOC => 20, V_ID_UTIL => , V_ID_SUCURSALA => , V_REZULTAT => v_rez, V_CURSOR => v_cur ); DBMS_OUTPUT.PUT_LINE('verifica_cursor_serii rezultat=' || v_rez); IF v_cur IS NOT NULL THEN CLOSE v_cur; END IF; END; / exec pack_migrare.UpdateVersiune('ff_2026_04_14_01_AUTO'); commit;