-- Reconstructed from ALL_SOURCE (GET_DDL unavailable for ROA_WEB) -- ============ PACKAGE SPEC ============ CREATE OR REPLACE PACKAGE MARIUSM_AUTO. PACKAGE "PACK_SERII_NUMERE" is -- Author : MARIUS.ATANASIU -- Created : 9/8/2006 14:00:56 -- Purpose : -- 11.11.2009 -- marius.mutu -- aloca_numar - id_tip_entitate = 6 (tipuri imobilizari) -- 14.07.2016 -- marius.mutu -- am marit numarul de elemente din tabela_tipdoc si tabela_numere la 23 -- dadea eroare la genereare de numere pentru PROFORMA tip=23 -- 17.08.2016 -- marius.mutu -- adauga_serie, modifica_serie: adaugat parametri ISAUTOFACTURA, ISBENEFICIARI, ISTERTI, ISFURNIZORI v_id_tipdoc PLAJE_NUMERE.ID_TIPDOC%TYPE; v_id_tipentitate PLAJE_NUMERE.ID_TIPENTITATE%TYPE; v_id_entitate PLAJE_NUMERE.ID_ENTITATE%TYPE; v_id_serie PLAJE_NUMERE.ID_SERIE%TYPE; v_id_sucursala PLAJE_NUMERE.ID_SUCURSALA%TYPE; nNumereMultiple NUMBER(1) := 0; -- 1 = in cadrul unei operatii se genereaza mai multe numere din tipul de document respectiv nTipNIR PLAJE_NUMERE.ID_TIPDOC%TYPE := 1; nTipBonConsum PLAJE_NUMERE.ID_TIPDOC%TYPE := 2; nTipBonFiscal PLAJE_NUMERE.ID_TIPDOC%TYPE := 3; nTipNIRCMP PLAJE_NUMERE.ID_TIPDOC%TYPE := 4; nTipFactura PLAJE_NUMERE.ID_TIPDOC%TYPE := 5; nTipAvizExpeditie PLAJE_NUMERE.ID_TIPDOC%TYPE := 6; nTipPVProductieVin PLAJE_NUMERE.ID_TIPDOC%TYPE := 7; nTipPVProductie PLAJE_NUMERE.ID_TIPDOC%TYPE := 8; nTipBonLivrare PLAJE_NUMERE.ID_TIPDOC%TYPE := 9; nTipNumarRegistratura PLAJE_NUMERE.ID_TIPDOC%TYPE := 10; nTipNumarInventar PLAJE_NUMERE.ID_TIPDOC%TYPE := 11; nTipMonetar PLAJE_NUMERE.ID_TIPDOC%TYPE := 12; nTipContract PLAJE_NUMERE.ID_TIPDOC%TYPE := 13; nTipCodMaterial PLAJE_NUMERE.ID_TIPDOC%TYPE := 14; nTipCodBare PLAJE_NUMERE.ID_TIPDOC%TYPE := 15; nTipChitanta PLAJE_NUMERE.ID_TIPDOC%TYPE := 16; nTipNotaPlata PLAJE_NUMERE.ID_TIPDOC%TYPE := 17; nTipNrInventarImob PLAJE_NUMERE.ID_TIPDOC%TYPE := 18; nTipNrDispPlata PLAJE_NUMERE.ID_TIPDOC%TYPE := 19; nTipNrOrdinPlata PLAJE_NUMERE.ID_TIPDOC%TYPE := 21; nTipBonImport PLAJE_NUMERE.ID_TIPDOC%TYPE := 22; nTipProforma PLAJE_NUMERE.ID_TIPDOC%TYPE := 23; nTipFactura394 PLAJE_NUMERE.ID_TIPDOC%TYPE := 24; nTipBonPersoane PLAJE_NUMERE.ID_TIPDOC%TYPE := 25; nTipPOSCard PLAJE_NUMERE.ID_TIPDOC%TYPE := 26; nCountTipDoc NUMBER(5) := 26; TYPE linie_numar IS RECORD( v_id_numar SERII_NUMERE.ID_NUMAR%TYPE, v_numar SERII_NUMERE.NUMAR%TYPE); TYPE tab_numere IS TABLE OF linie_numar; TYPE tab_numere2d IS TABLE OF tab_numere; TYPE cursor_plaje IS REF CURSOR; TYPE tab_tipdoc_nrelem IS TABLE OF NUMBER(10); tabela_tipdoc tab_tipdoc_nrelem := tab_tipdoc_nrelem(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); linie_goala linie_numar := null; -- trebuie atatea linie_goala cate tipuri de documente sunt tabela_numere tab_numere2d := tab_numere2d(tab_numere(linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala, linie_goala)); PROCEDURE verificari_serie(V_ID_SERIE IN NUMBER, V_AN IN NUMBER, V_LUNA IN NUMBER, V_LUNGIME IN NUMBER); PROCEDURE adauga_serie(V_SERIE IN VARCHAR2, V_AN IN NUMBER, V_LUNA IN NUMBER, V_LUNGIME IN NUMBER, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER, V_ISAUTOFACTURA IN SERII.ISAUTOFACTURA%TYPE DEFAULT 0, V_ISBENEFICIARI IN SERII.ISBENEFICIARI%TYPE DEFAULT 0, V_ISTERTI IN SERII.ISTERTI%TYPE DEFAULT 0, V_ISFURNIZORI IN SERII.ISFURNIZORI%TYPE DEFAULT 0, V_PREFIX IN SERII.PREFIX%TYPE DEFAULT NULL, V_AN2CARACTERE IN SERII.AN2CARACTERE%TYPE DEFAULT 0); PROCEDURE modifica_serie(V_ID_SERIE IN NUMBER, V_SERIE IN VARCHAR2, V_AN IN NUMBER, V_LUNA IN NUMBER, V_LUNGIME IN NUMBER, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER, V_ISAUTOFACTURA IN SERII.ISAUTOFACTURA%TYPE DEFAULT 0, V_ISBENEFICIARI IN SERII.ISBENEFICIARI%TYPE DEFAULT 0, V_ISTERTI IN SERII.ISTERTI%TYPE DEFAULT 0, V_ISFURNIZORI IN SERII.ISFURNIZORI%TYPE DEFAULT 0, V_PREFIX IN SERII.PREFIX%TYPE DEFAULT NULL, V_AN2CARACTERE IN SERII.AN2CARACTERE%TYPE DEFAULT 0); PROCEDURE sterge_serie(V_ID_SERIE IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE verificari_plaja(V_ID_PLAJA IN NUMBER, V_ID_TIPDOC IN NUMBER, V_ID_TIPENTITATE IN NUMBER, V_ID_ENTITATE IN NUMBER, V_ID_SERIE IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_PL_INF IN NUMBER, V_PL_SUP IN NUMBER, V_DATAI IN DATE, V_DATAS IN DATE); PROCEDURE adauga_plaja(V_ID_TIPDOC IN NUMBER, V_ID_TIPENTITATE IN NUMBER, V_ID_SERIE IN NUMBER, V_ID_ENTITATE IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_PL_INF IN NUMBER, V_PL_SUP IN NUMBER, V_DATAI IN DATE, V_DATAS IN DATE, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE modifica_plaja(V_ID_PLAJA IN NUMBER, V_ID_TIPDOC IN NUMBER, V_ID_TIPENTITATE IN NUMBER, V_ID_SERIE IN NUMBER, V_ID_ENTITATE IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_PL_INF IN NUMBER, V_PL_SUP IN NUMBER, V_DATAI IN DATE, V_DATAS IN DATE, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE sterge_plaja(V_ID_PLAJA IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE modifica_tipdoc(V_ID_TIPDOC IN NUMBER, V_ID_TIPENTITATE IN NUMBER, V_CU_SERIE IN NUMBER, V_CU_PLAJE IN NUMBER, V_AN IN NUMBER, V_LUNA IN NUMBER, V_AN2CARACTERE IN NUMBER, V_DEZACTIVEAZA_TOT IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE seteazaNumereMultiple(V_NUMERE_MULTIPLE IN NUMBER); PROCEDURE adauga_element(V_ID_TIPDOC IN NUMBER); PROCEDURE seteaza_numar(V_ID_PLAJA IN NUMBER, V_ULTIMUL_NUMAR IN NUMBER, V_URMATORUL_NUMAR IN NUMBER); PROCEDURE aloca_numar(V_ID_TIPDOC IN NUMBER, V_ID_SERIE IN NUMBER, V_ID_GESTIUNE IN NUMBER, V_ID_UTIL IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_NUMAR OUT NUMBER); PROCEDURE aloca_numar(V_ID_TIPDOC IN NUMBER, V_ID_SERIE IN NUMBER, V_ID_GESTIUNE IN NUMBER, V_ID_UTIL IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_NUMAR OUT NUMBER, V_ID_NUMAR OUT SERII_NUMERE.ID_NUMAR%TYPE); PROCEDURE dezaloca_numere(V_ID_TIPDOC IN NUMBER, V_POZ_START IN NUMBER); PROCEDURE dezaloca_numar(V_ID_TIPDOC IN NUMBER); PROCEDURE dezaloca_id_numar(V_ID_NUMAR SERII_NUMERE.ID_NUMAR%TYPE); FUNCTION genereaza_urmval(V_ID_PLAJA IN NUMBER, V_PL_INF IN NUMBER, V_PL_SUP IN NUMBER, V_MAXLEN IN NUMBER, V_AN IN NUMBER, V_LUNA IN NUMBER, V_LUNGIME IN NUMBER) RETURN VARCHAR2; FUNCTION adauga_serie_numar(V_NUMAR IN NUMBER, V_ID_PLAJA IN NUMBER, V_ALOCAT IN NUMBER) RETURN NUMBER; FUNCTION citeste_serie(V_ID_SERIE IN NUMBER) RETURN VARCHAR2; PROCEDURE verifica_cursor_serii(V_ID_TIPDOC IN NUMBER, V_ID_UTIL IN NUMBER, V_ID_SUCURSALA IN NUMBER, V_REZULTAT OUT NUMBER, V_CURSOR OUT pack_serii_numere.cursor_plaje); PROCEDURE verifica_tipdoc(V_ID_TIPDOC IN NUMBER, V_REZULTAT OUT NUMBER); FUNCTION IdUtil2IdGrupUtil(V_ID_UTIL SYN_UTILIZATORI.ID_UTIL%TYPE, V_ID_SUCURSALA NUMBER, RAISE_APP_ERROR NUMBER) RETURN GRUPURI_UTILIZATORI.ID_GRUP%TYPE; end PACK_SERII_NUMERE; / -- ============ PACKAGE BODY ============ CREATE OR REPLACE PACKAGE BODY MARIUSM_AUTO. /