268 lines
13 KiB
Plaintext
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.
|
|
|
|
/
|