Files
roa2web-service-auto/docs/service-auto/PACK_SERII_NUMERE.pck
2026-06-05 15:00:42 +00:00

268 lines
13 KiB
Plaintext

-- 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.
/