CREATE OR REPLACE PACKAGE "PACK_DEF" is -- Author : PAULA.ROTA -- Created : 6/22/2006 10:08:46 AM -- Purpose : v_id_moneda_nationala NOM_VALUTE.ID_VALUTA%TYPE; nTipPersoanaJuridica NOM_PARTENERI.TIP_PERSOANA%TYPE := 1; nTipPersoanaFizica NOM_PARTENERI.TIP_PERSOANA%TYPE := 2; -- Public type declarations procedure adauga_categorie_entitate(V_CATEGORIE_ENTITATE IN VARCHAR2, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER); procedure modifica_categorie_entitate(V_ID_CATEGORIE_ENTITATE IN NUMBER, V_CATEGORIE_ENTITATE IN VARCHAR2, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER); procedure sterge_categorie_entitate(V_ID_CATEGORIE_ENTITATE IN NUMBER, V_ID_UTIL IN NUMBER); procedure adauga_valuta(V_DENUMIRE IN VARCHAR2, V_ID_VALUTA_ISO IN NUMBER, V_INACTIV IN NUMBER, V_MONEDA_NATIONALA IN NUMBER, V_ID_UTIL IN NUMBER); procedure modifica_valuta(V_ID_VALUTA IN NUMBER, V_DENUMIRE IN VARCHAR2, V_ID_VALUTA_ISO IN NUMBER, V_INACTIV IN NUMBER, V_MONEDA_NATIONALA IN NUMBER, V_ID_UTIL IN NUMBER); procedure sterge_valuta(V_ID_VALUTA IN NUMBER, V_ID_UTIL IN NUMBER); function GetIdMonedaNationala return nom_valute.id_valuta%Type; procedure actualizeaza_referinte(V_TIP_DOCUMENT IN NUMBER, V_TIP IN NUMBER, V_ID_ATAS IN NUMBER, V_ID_ENTITATE IN NUMBER, V_ID_REFERINTA IN NUMBER, V_ID_PROGRAM IN NUMBER, V_ID_UTIL IN NUMBER); PROCEDURE adauga_coresp_delegat(V_ID_DELEGAT IN NUMBER, V_ID_PART IN NUMBER); PROCEDURE actualizeaza_coresp_delegati(V_ID_DELEGAT IN NUMBER, tcListaIdPart IN VARCHAR2); PROCEDURE cauta_partener(tcDenumire IN OUT VARCHAR2, tcCod_fiscal IN VARCHAR2, tnTip_persoana IN NUMBER, tcNume IN OUT VARCHAR2, tcPrenume IN OUT VARCHAR2, tcReg_comert IN OUT VARCHAR2, tnId_loc_inreg IN OUT NUMBER, tcLocalitate_inreg IN OUT VARCHAR2, tnId_categorie_entitate IN OUT NUMBER, tcCategorie_entitate IN OUT VARCHAR2, tcPrefix IN OUT VARCHAR2, tcSufix IN OUT VARCHAR2, tcBanca IN OUT VARCHAR2, tcCont_banca IN OUT VARCHAR2, tnInactiv IN OUT NUMBER, tcMotiv_inactiv IN OUT VARCHAR2); procedure adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tnId_Part OUT NUMBER); procedure modifica_partener(tnId_part number, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2); PROCEDURE adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2); procedure adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2, tnId_Part OUT NUMBER); procedure adauga_modifica_partener(tnId_Part IN OUT NUMBER, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcCod_fiscal2 varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2, tcSwift_banca varchar2 default null, tcAdresa_banca varchar2 default null, tnInstitutiePublica number default 0); procedure adauga_partener_cod_fiscal(tcDenumire varchar2, tcNume varchar2 default null, tcPrenume varchar2 default null, tcCod_fiscal varchar2, tnId_Part OUT NUMBER); procedure modifica_partener(tnId_part number, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2); procedure sterge_partener(tnId_part number, tnId_util number); procedure adauga_responsabil(tnId_part number); procedure adauga_adresa_partener(tnId_part number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number); procedure adauga_adresa_partener(tnId_part number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number, tnIdAdresa OUT NUMBER); procedure adauga_adresa_partener2(tnId_part number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number); procedure adauga_adresa_partener2(tnId_part number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number, tnIdAdresa OUT NUMBER); procedure modifica_adresa_partener(tnId_adresa number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number); procedure modifica_adresa_partener2(tnId_adresa number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number); procedure sterge_adresa_partener(tnId_adresa number, tnId_util number); procedure get_partener_tipuri(tnId_part IN NUMBER, tnIdTipPart IN NUMBER, tnParent_id IN NUMBER, p_cursor OUT pack_types.tip_cursor); procedure adauga_pers_contact(tnId_part number, tcNume varchar2, tcPrenume varchar2, tcApelativ varchar2, tcFunctia varchar2, tcTelefon varchar2, tcEmail varchar2, tnPrincipal number, tnInactiv number, tnId_util number); procedure modifica_pers_contact(tnId_pers number, tcNume varchar2, tcPrenume varchar2, tcApelativ varchar2, tcFunctia varchar2, tcTelefon varchar2, tcEmail varchar2, tnPrincipal number, tnInactiv number, tnId_util number); procedure sterge_pers_contact(tnId_pers number, tnId_util number); procedure adauga_lucrare(V_NRORD IN VARCHAR2, V_ID_TATA IN NUMBER, V_INACTIV IN NUMBER); procedure modifica_lucrare(V_ID_LUCRARE IN NUMBER, V_NRORD IN VARCHAR2, V_ID_TATA IN NUMBER, V_INACTIV IN NUMBER); procedure adauga_contract(tnId_part IN NUMBER, tcNumar IN VARCHAR2, tdData IN DATE, tnId_tip_ctr IN NUMBER, tnInactiv IN NUMBER, tcTipIstoric IN VARCHAR2, tnIdTata IN NUMBER, tnValftva IN NUMBER, tnProcTVA IN NUMBER, tnIdValuta IN NUMBER, tnIdResponsabil IN NUMBER, tnIdUtil IN NUMBER); procedure adauga_contract(tnId_part IN NUMBER, tcNumar IN VARCHAR2, tdData IN DATE, tnId_tip_ctr IN NUMBER, tnInactiv IN NUMBER, tcTipIstoric IN VARCHAR2, tcDescriere IN VARCHAR2, tnIdTata IN NUMBER, tnValftva IN NUMBER, tnProcTVA IN NUMBER, tnCurs IN NUMBER, tnIdValuta IN NUMBER, tnIdResponsabil IN NUMBER, tnIdUtil IN NUMBER); procedure modifica_contract(tnId_ctr number, tcNumar varchar2, tdData date, tnId_tip_ctr number, tnInactiv number, tnId_util number); procedure adauga_modifica_contract(tnIdCtr IN OUT CONTRACTE.ID_CTR%TYPE, tnIdPart IN CONTRACTE.ID_PART%TYPE, tcNumar IN CONTRACTE.NUMAR%TYPE, tdData IN CONTRACTE.DATA%TYPE, tdDataInceput IN CONTRACTE.DATA_INCEPUT%TYPE, tdDataSfarsit IN CONTRACTE.DATA_SFARSIT%TYPE, tnIdTipCtr IN CONTRACTE.ID_TIP_CTR%TYPE, tnInactiv IN CONTRACTE.INACTIV%TYPE, tcTipIstoric IN CONTRACTE.TIP_ISTORIC%TYPE, tcDescriere IN CONTRACTE.DESCRIERE%TYPE, tnIdTata IN CONTRACTE.ID_TATA%TYPE, tnValftva IN CONTRACTE.VALFTVA%TYPE, tnProcTVA IN CONTRACTE.PROC_TVA%TYPE, tnCurs IN CONTRACTE.CURS%TYPE, tnIdValuta IN CONTRACTE.ID_VALUTA%TYPE, tnTipCurs IN CONTRACTE.TIP_CURS%TYPE, tnIdResponsabil IN CONTRACTE.ID_RESPONSABIL%TYPE, tnZileScadenta IN CONTRACTE.SCADENTA_INCASARE%TYPE, tnCoefPenalitati IN CONTRACTE.COEF_PENALITATI%TYPE, tnCoefPenalitati2 IN CONTRACTE.COEF_PENALITATI2%TYPE, tnZilePenalitati IN CONTRACTE.ZILE_PENALITATI%TYPE, tnZilePenalitati2 IN CONTRACTE.ZILE_PENALITATI2%TYPE, tnZileGratiePenalitati IN CONTRACTE.ZILE_GRATIE_PENALITATI%TYPE, tnIdUtil IN CONTRACTE.ID_UTIL%TYPE); procedure sterge_contract(tnId_ctr number, tnId_util number); procedure get_conturi_tip_part(tnIdTip number, tcSirId_tip_part out varchar2); procedure adauga_coresp_tip_part(tnIdPart IN CORESP_TIP_PART.ID_PART%TYPE, tnIdTipPart IN CORESP_TIP_PART.ID_TIP_PART%TYPE); procedure adauga_gestiune(tcNumeGestiune IN nom_gestiuni.nume_gestiune%type, tcGest IN nom_gestiuni.nume_gestiune%type, tcCont IN nom_gestiuni.nume_gestiune%type default null, tnNr_Pag IN nom_gestiuni.nume_gestiune%type, tcAcont IN nom_gestiuni.nume_gestiune%type default null, tnInactiv IN nom_gestiuni.nume_gestiune%type, tnId_Sucursala IN nom_gestiuni.nume_gestiune%type default null, tnId_Responsabil IN nom_gestiuni.nume_gestiune%type default null, tnId_Sectie IN nom_gestiuni.nume_gestiune%type default null, tcAcontCheltuiala IN nom_gestiuni.nume_gestiune%type default null, tcAcontAdaos IN nom_gestiuni.nume_gestiune%type default null, tnId_Lucrare IN nom_gestiuni.nume_gestiune%type default null, tcGestionar IN nom_gestiuni.gestionar%type default null, tcReceptie1 IN nom_gestiuni.comisie_receptie1%type default null, tcReceptie2 IN nom_gestiuni.comisie_receptie2%type default null, tcReceptie3 IN nom_gestiuni.comisie_receptie3%type default null); procedure modifica_gestiune(tnIdGestiune IN nom_gestiuni.id_gestiune%type, tcNumeGestiune IN nom_gestiuni.nume_gestiune%type, tcGest IN nom_gestiuni.nume_gestiune%type, tcCont IN nom_gestiuni.nume_gestiune%type default null, tnNr_Pag IN nom_gestiuni.nume_gestiune%type, tcAcont IN nom_gestiuni.nume_gestiune%type default null, tnInactiv IN nom_gestiuni.nume_gestiune%type, tnId_Sucursala IN nom_gestiuni.nume_gestiune%type default null, tnId_Responsabil IN nom_gestiuni.nume_gestiune%type default null, tnId_Sectie IN nom_gestiuni.nume_gestiune%type default null, tcAcontCheltuiala IN nom_gestiuni.nume_gestiune%type default null, tcAcontAdaos IN nom_gestiuni.nume_gestiune%type default null, tnId_Lucrare IN nom_gestiuni.nume_gestiune%type default null, tcGestionar IN nom_gestiuni.gestionar%type default null, tcReceptie1 IN nom_gestiuni.comisie_receptie1%type default null, tcReceptie2 IN nom_gestiuni.comisie_receptie2%type default null, tcReceptie3 IN nom_gestiuni.comisie_receptie3%type default null); procedure sterge_gestiune(tnIdGestiune IN NUMBER, tnIdUtil IN NUMBER); procedure adauga_asociere_part_sect(tnId_part number, tnId_sectie number, tnId_util number, tnId_tip number); procedure modifica_asociere_part_sect(tnId_asociere number, tnId_part number, tnId_sectie number, tnId_util number); procedure sterge_asociere_part_sect(tnId_asociere number); procedure adauga_sectie(V_SECTIE IN VARCHAR2, V_INACTIV IN NUMBER, V_CSECTIE IN VARCHAR2, V_ID_SUCURSALA IN NUMBER); procedure modifica_sectie(V_ID_SECTIE IN NUMBER, V_SECTIE IN VARCHAR2, V_INACTIV IN NUMBER, V_CSECTIE IN VARCHAR2, V_ID_SUCURSALA IN NUMBER); procedure asociere_part_gest(tnIdAsociere asociere_parteneri_gestiuni.id_asociere%Type, tnIdPart asociere_parteneri_gestiuni.id_part%Type, tnIdGestiune asociere_parteneri_gestiuni.id_gestiune%Type, tcCont asociere_parteneri_gestiuni.cont%Type, tnIdUtil asociere_parteneri_gestiuni.id_util%Type, tnIdTip asociere_parteneri_gestiuni.id_tip%Type); procedure sterge_asociere_part_gest(tnIdAsociere asociere_parteneri_gestiuni.id_asociere%Type); procedure modifica_date_firma(V_ID_FIRMA IN SYN_NOM_FIRME.ID_FIRMA%TYPE, V_FIRMA IN SYN_NOM_FIRME.FIRMA%TYPE, V_ANTET IN SYN_NOM_FIRME.ANTET%TYPE, V_COD_FISCAL IN SYN_NOM_FIRME.COD_FISCAL%TYPE, V_REG_COMERT IN SYN_NOM_FIRME.REG_COMERT%TYPE, V_BANCA1 IN SYN_NOM_FIRME.BANCA1%TYPE, V_CONT_BANCA1 IN SYN_NOM_FIRME.CONT_BANCA1%TYPE, V_BANCA2 IN SYN_NOM_FIRME.BANCA2%TYPE, V_CONT_BANCA2 IN SYN_NOM_FIRME.CONT_BANCA2%TYPE, V_BANCA3 IN SYN_NOM_FIRME.BANCA3%TYPE, V_CONT_BANCA3 IN SYN_NOM_FIRME.CONT_BANCA3%TYPE, V_BANCA4 IN SYN_NOM_FIRME.BANCA4%TYPE, V_CONT_BANCA4 IN SYN_NOM_FIRME.CONT_BANCA4%TYPE, V_BANCA5 IN SYN_NOM_FIRME.BANCA5%TYPE, V_CONT_BANCA5 IN SYN_NOM_FIRME.CONT_BANCA5%TYPE, V_BANCA6 IN SYN_NOM_FIRME.BANCA6%TYPE, V_CONT_BANCA6 IN SYN_NOM_FIRME.CONT_BANCA6%TYPE, V_BANCA7 IN SYN_NOM_FIRME.BANCA7%TYPE, V_CONT_BANCA7 IN SYN_NOM_FIRME.CONT_BANCA7%TYPE, V_BANCA8 IN SYN_NOM_FIRME.BANCA8%TYPE, V_CONT_BANCA8 IN SYN_NOM_FIRME.CONT_BANCA8%TYPE, V_BANCA9 IN SYN_NOM_FIRME.BANCA9%TYPE, V_CONT_BANCA9 IN SYN_NOM_FIRME.CONT_BANCA9%TYPE, V_BANCA10 IN SYN_NOM_FIRME.BANCA10%TYPE, V_CONT_BANCA10 IN SYN_NOM_FIRME.CONT_BANCA10%TYPE, V_ADRESA IN SYN_NOM_FIRME.ADRESA%TYPE, V_COD_FIRMA IN SYN_NOM_FIRME.COD_FIRMA%TYPE, V_PERS_JUR IN SYN_NOM_FIRME.PERSOANA_JURIDICA%TYPE, V_CODANG IN SYN_NOM_FIRME.CODANG%TYPE, V_NUME IN SYN_NOM_FIRME.NUME%TYPE, V_PRENUME IN SYN_NOM_FIRME.PRENUME%TYPE, V_TELEFON1 IN SYN_NOM_FIRME.TELEFON%TYPE, V_TELEFON2 IN SYN_NOM_FIRME.TELEFON2%TYPE, V_TELEFON3 IN SYN_NOM_FIRME.TELEFON3%TYPE, V_FAX IN SYN_NOM_FIRME.FAX%TYPE, V_EMAIL IN SYN_NOM_FIRME.EMAIL%TYPE, V_OASP IN SYN_NOM_FIRME.OASP%TYPE, V_CAP_SOC_VAR IN SYN_NOM_FIRME.CAPITAL_SOC_VAR%TYPE, V_CAP_SOC_SUB IN SYN_NOM_FIRME.CAPITAL_SOC_SUB%TYPE, V_PUNCT_LUCRU IN SYN_NOM_FIRME.PUNCT_LUC%TYPE, V_CAEN IN SYN_NOM_FIRME.CAEN%TYPE, V_SCHEMA IN SYN_NOM_FIRME.SCHEMA%TYPE, V_JUDET IN SYN_NOM_FIRME.JUDET%TYPE, V_LOCALITATE IN SYN_NOM_FIRME.LOCALITATE%TYPE, V_STRADA IN SYN_NOM_FIRME.STRADA%TYPE, V_NUMAR IN SYN_NOM_FIRME.NUMAR%TYPE, V_BLOC IN SYN_NOM_FIRME.BLOC%TYPE, V_SCARA IN SYN_NOM_FIRME.SCARA%TYPE, V_APART IN SYN_NOM_FIRME.APART%TYPE, V_COD_POSTAL IN SYN_NOM_FIRME.COD_POSTAL%TYPE, V_ID_MAMA IN SYN_NOM_FIRME.ID_MAMA%TYPE, V_E_MAMA IN SYN_NOM_FIRME.E_MAMA%TYPE, V_ID_LOC IN SYN_NOM_FIRME.ID_LOC%TYPE, V_ID_UTIL IN SYN_NOM_FIRME.ID_UTILOP%TYPE, V_ID_FORMAJ IN SYN_NOM_FIRME.ID_FORMA_JURIDICA%TYPE, V_ID_FORMAO IN SYN_NOM_FIRME.ID_FORMA_ORGANIZARE%TYPE, V_ID_FORMAP IN SYN_NOM_FIRME.ID_FORMA_PROP%TYPE, V_ID_TIP_SOC IN SYN_NOM_FIRME.ID_TIP_SOC%TYPE, V_INDICATIV IN SYN_NOM_FIRME.INDICATIV%TYPE, V_DECLARANT IN SYN_NOM_FIRME.DECLARANT%TYPE, V_FUNCTIE IN SYN_NOM_FIRME.FUNCTIE%TYPE, V_INDICE_ITM IN SYN_NOM_FIRME.INDICE_ITM%TYPE, V_TIP_MODIFICARE IN NUMBER, V_CAEN_REVIZIE IN SYN_NOM_FIRME.CAEN_REVIZIE%TYPE DEFAULT NULL); procedure citesteNumeEnt(tnIdUtil IN NUMBER, tcNumeEnt OUT VARCHAR2); end PACK_DEF; / CREATE OR REPLACE PACKAGE BODY "PACK_DEF" is -- ultima eroare atribuita DEF-001 -- 20.07.2006 -- MARIUS MUTU -- MODIFICA_PARTENER - AM STERS DIN CORESP_TIP_PART IN LOC DE UPDATE STERS = 1 -- adauga partener -- 24.03.2010 -- MARIUS MUTU -- ADAUGA_GESTIUNE, MODIFICA_GESTIUNE (+ACONT_CHELTUIALA, ACONT_ADAOS) -- 28.06.2013 -- MARIUS MUTU -- ADAUGA_GESTIUNE, MODIFICA_GESTIUNE (+id_lucrare) -- 16.09.2016 -- marius.mutu -- + adauga_partener_cod_fiscal -- cauta partener dupa cod fiscal si il adauga (denumire, cod fiscal) -- intoarce id_part daca exista sau nou daca se adauga -- folositoare la import din alte programe in ROA -- 08.10.2019 -- marius.mutu -- adauga_adresa_partener2, modifica_adresa_partener2 - nu se adauga localitate daca incepe cu <(ALEGETI LOCALITATE>) -- 29.10.2019 -- marius.mutu -- adauga_modifica_contract campuri noi -- 31.12.2019 -- marius.mutu -- PACK_DEF.modifica_gestiune, adauga_gestiune COMISIE_RECEPTIE, GESTIONAR -- 07.01.2020 -- marius.mutu -- adauga_modifica_contract: data_inceput, data_sfarsit -- 15.01.2020 -- adauga_modifica_partener in loc de adauga_partener/modifica_partener -- nu se permite adaugarea unui partener cu acelasi (cod fiscal, nume). inainte intorcea Id_part si intra in modificare -- 09.09.2021 -- adauga_modifica_partener + swift_banca, adresa_banca -- 23.06.2022 -- adauga_modifica_partener + institutie_publica -- 18.01.2024 -- sterge_adresa_partener - stergere. dadea eroare string_agg() la verificarea adreselor din comenzi daca erau prea multe comenzi -- 17.02.2025 -- modifica_date_firma + caen_revizie -- 27.06.2025 -- modifica_date_firma + conturi bancare procedure adauga_categorie_entitate(V_CATEGORIE_ENTITATE IN VARCHAR2, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER) IS V_NR_INREGISTRARI NUMBER(10); BEGIN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_CATEGORII_ENTITATI WHERE CATEGORIE_ENTITATE = V_CATEGORIE_ENTITATE AND STERS = 0; IF V_NR_INREGISTRARI > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o categorie cu aceasta denumire!'); END IF; INSERT INTO NOM_CATEGORII_ENTITATI (CATEGORIE_ENTITATE, INACTIV, ID_UTIL) VALUES (V_CATEGORIE_ENTITATE, V_INACTIV, V_ID_UTIL); END adauga_categorie_entitate; ---------------------------------------------------------------------- procedure modifica_categorie_entitate(V_ID_CATEGORIE_ENTITATE IN NUMBER, V_CATEGORIE_ENTITATE IN VARCHAR2, V_INACTIV IN NUMBER, V_ID_UTIL IN NUMBER) IS V_NR_INREGISTRARI NUMBER(10); BEGIN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_CATEGORII_ENTITATI WHERE CATEGORIE_ENTITATE = V_CATEGORIE_ENTITATE AND STERS = 0 AND ID_CATEGORIE_ENTITATE <> V_ID_CATEGORIE_ENTITATE; IF V_NR_INREGISTRARI > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o categorie cu aceasta denumire!'); END IF; UPDATE NOM_CATEGORII_ENTITATI SET CATEGORIE_ENTITATE = V_CATEGORIE_ENTITATE, INACTIV = V_INACTIV WHERE ID_CATEGORIE_ENTITATE = V_ID_CATEGORIE_ENTITATE; END modifica_categorie_entitate; ---------------------------------------------------------------------- procedure sterge_categorie_entitate(V_ID_CATEGORIE_ENTITATE IN NUMBER, V_ID_UTIL IN NUMBER) IS V_NR_INREGISTRARI NUMBER(10); BEGIN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_PARTENERI WHERE ID_CATEGORIE_ENTITATE = V_ID_CATEGORIE_ENTITATE AND STERS = 0; CASE WHEN V_NR_INREGISTRARI > 1 THEN RAISE_APPLICATION_ERROR(-20000, 'Aceasta categorie nu poate fi stearsa,' || 'deoarece este asociata unui numar de ' || V_NR_INREGISTRARI || ' entitati!'); WHEN V_NR_INREGISTRARI = 1 THEN RAISE_APPLICATION_ERROR(-20000, 'Aceasta categorie nu poate fi stearsa,' || 'deoarece este asociata unei entitati!'); ELSE UPDATE NOM_CATEGORII_ENTITATI SET STERS = 1, DATAORAS = SYSDATE, ID_UTILS = V_ID_UTIL WHERE ID_CATEGORIE_ENTITATE = V_ID_CATEGORIE_ENTITATE; END CASE; END sterge_categorie_entitate; ---------------------------------------------------------------------- procedure adauga_valuta(V_DENUMIRE IN VARCHAR2, V_ID_VALUTA_ISO IN NUMBER, V_INACTIV IN NUMBER, V_MONEDA_NATIONALA IN NUMBER, V_ID_UTIL IN NUMBER) is V_NR_INREGISTRARI NUMBER(20); V_NR_INREGISTRARI2 NUMBER(20); begin SELECT SUM(DECODE(NUME_VAL, V_DENUMIRE, 1, 0)), SUM(NVL2(ID_VALUTA_ISO, DECODE(ID_VALUTA_ISO + INACTIV, V_ID_VALUTA_ISO, 1, 0), 0)) INTO V_NR_INREGISTRARI, V_NR_INREGISTRARI2 FROM NOM_VALUTE WHERE STERS = 0; CASE WHEN V_NR_INREGISTRARI > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o valuta cu acest nume!'); WHEN V_NR_INREGISTRARI2 > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o valuta cu acest simbol!'); ELSE V_NR_INREGISTRARI := 0; END CASE; INSERT INTO NOM_VALUTE (NUME_VAL, INACTIV, MONEDA_NATIONALA, ID_VALUTA_ISO) VALUES (V_DENUMIRE, V_INACTIV, V_MONEDA_NATIONALA, V_ID_VALUTA_ISO); end adauga_valuta; ---------------------------------------------------------------------------- procedure modifica_valuta(V_ID_VALUTA IN NUMBER, V_DENUMIRE IN VARCHAR2, V_ID_VALUTA_ISO IN NUMBER, V_INACTIV IN NUMBER, V_MONEDA_NATIONALA IN NUMBER, V_ID_UTIL IN NUMBER) is V_NR_INREGISTRARI NUMBER(20); V_NR_INREGISTRARI2 NUMBER(20); begin SELECT SUM(DECODE(NUME_VAL, V_DENUMIRE, 1, 0)), SUM(NVL2(ID_VALUTA_ISO, DECODE(ID_VALUTA_ISO + INACTIV, V_ID_VALUTA_ISO, 1, 0), 0)) INTO V_NR_INREGISTRARI, V_NR_INREGISTRARI2 FROM NOM_VALUTE WHERE STERS = 0 AND ID_VALUTA <> V_ID_VALUTA; CASE WHEN V_NR_INREGISTRARI > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o valuta cu acest nume!'); WHEN V_NR_INREGISTRARI2 > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista o valuta cu acest simbol!'); ELSE V_NR_INREGISTRARI := 0; END CASE; UPDATE NOM_VALUTE SET NUME_VAL = V_DENUMIRE, INACTIV = V_INACTIV, MONEDA_NATIONALA = V_MONEDA_NATIONALA, ID_VALUTA_ISO = V_ID_VALUTA_ISO WHERE ID_VALUTA = V_ID_VALUTA; end modifica_valuta; ---------------------------------------------------------------------------- procedure sterge_valuta(V_ID_VALUTA IN NUMBER, V_ID_UTIL IN NUMBER) is begin nomdelproc('NOM_VALUTE', 'NOM_VALUTE.ID_VALUTA', V_ID_VALUTA, 'ACT', 'ACT.ID_VALUTA'); end sterge_valuta; ------------------------------------------------------------------------ -- intoarce id-ul monedei nationale -- daca nu gaseste sau da eroare intoarce 0 function GetIdMonedaNationala return nom_valute.id_valuta%Type is lnIdMonedaNationala nom_valute.id_valuta%Type := 0; begin begin SELECT MIN(ID_VALUTA) INTO lnIdMonedaNationala FROM NOM_VALUTE WHERE STERS = 0 AND MONEDA_NATIONALA = 1; EXCEPTION WHEN OTHERS THEN lnIdMonedaNationala := 0; end; return nvl(lnIdMonedaNationala, 0); end; ---------------------------------------------------------------------------- procedure actualizeaza_referinte(V_TIP_DOCUMENT IN NUMBER, V_TIP IN NUMBER, V_ID_ATAS IN NUMBER, V_ID_ENTITATE IN NUMBER, V_ID_REFERINTA IN NUMBER, V_ID_PROGRAM IN NUMBER, V_ID_UTIL IN NUMBER) is V_NR_INREGISTRARI NUMBER(10); V_NR_INREGISTRARI2 NUMBER(10); V_NUME_FISIER ATAS_ATASAMENTE.NUME_FISIER%TYPE; V_DESCRIERE ATAS_ATASAMENTE.DESCRIERE%TYPE; begin IF V_TIP_DOCUMENT = 1 THEN SELECT NUME_FISIER, DESCRIERE INTO V_NUME_FISIER, V_DESCRIERE FROM ATAS_ATASAMENTE WHERE ID_ATAS = V_ID_ATAS; SELECT SUM(DECODE(NUME_FISIER, V_NUME_FISIER, 1, 0)), SUM(DECODE(DESCRIERE, V_DESCRIERE, 1, 0)) INTO V_NR_INREGISTRARI, V_NR_INREGISTRARI2 FROM SAL_VDOCUMENTE_RU WHERE NUME_FISIER = V_NUME_FISIER OR DESCRIERE = V_DESCRIERE; IF V_NR_INREGISTRARI > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista un document cu numele ' || V_NUME_FISIER || ' !'); END IF; IF V_NR_INREGISTRARI2 > 0 THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista un document cu descrierea ' || V_DESCRIERE || ' !'); END IF; /* document nou */ INSERT INTO ATAS_REFERINTE (ID_ATAS, ID_ENTITATE, ID_UTIL, ID_PROGRAM, ORDINE) SELECT V_ID_ATAS, V_ID_ENTITATE, V_ID_UTIL, V_ID_PROGRAM, NVL(MAX(ORDINE), 0) + 1 FROM ATAS_REFERINTE WHERE ID_PROGRAM = V_ID_PROGRAM AND ID_ENTITATE = V_ID_ENTITATE; ELSE IF V_TIP = 2 THEN /* exista deja in firma */ UPDATE ATAS_ATASAMENTE SET STERS = 1, ID_UTILS = V_ID_UTIL, DATAORAS = SYSDATE WHERE ID_ATAS IN (SELECT ID_ATAS FROM ATAS_REFERINTE WHERE ID_REFERINTA = V_ID_REFERINTA); UPDATE ATAS_REFERINTE SET ID_ATAS = V_ID_ATAS WHERE ID_REFERINTA = V_ID_REFERINTA; Else /* e nou in firma */ INSERT INTO ATAS_REFERINTE (ID_REFERINTA, ID_ATAS, ID_ENTITATE, ID_UTIL, ID_PROGRAM, ORDINE) SELECT V_ID_REFERINTA, V_ID_ATAS, V_ID_ENTITATE, V_ID_UTIL, V_ID_PROGRAM, ORDINE FROM SYN_ATAS_REFERINTE WHERE ID_REFERINTA = V_ID_REFERINTA; End IF; end if; end actualizeaza_referinte; ---------------------------------------------------------------------------- PROCEDURE adauga_coresp_delegat(V_ID_DELEGAT IN NUMBER, V_ID_PART IN NUMBER) IS BEGIN INSERT INTO CORESP_DELEGATI_PART (ID_DELEGAT, ID_PART) VALUES (V_ID_DELEGAT, V_ID_PART); END adauga_coresp_delegat; ---------------------------------------------------------------------------- PROCEDURE actualizeaza_coresp_delegati(V_ID_DELEGAT IN NUMBER, tcListaIdPart IN VARCHAR2) IS V_SEPARATOR VARCHAR2(10); BEGIN IF tcListaIdPart IS NOT NULL THEN V_SEPARATOR := ';'; IF tcListaIdPart = '2=2' THEN UPDATE CORESP_DELEGATI_PART SET STERS = 1 WHERE ID_DELEGAT = V_ID_DELEGAT AND STERS = 0; ELSE MERGE INTO CORESP_DELEGATI_PART A USING (SELECT x as ID_PART FROM table(charn2collection(tcListaIdPart, V_SEPARATOR))) B ON (A.ID_DELEGAT = V_ID_DELEGAT AND A.ID_PART = B.ID_PART) WHEN MATCHED THEN UPDATE SET STERS = 1 - STERS WHEN NOT MATCHED THEN INSERT /*+ APPEND */ (ID_DELEGAT, ID_PART) VALUES (V_ID_DELEGAT, B.ID_PART); END IF; END IF; END actualizeaza_coresp_delegati; ---------------------------------------------------------------------------- PROCEDURE cauta_partener(tcDenumire IN OUT VARCHAR2, tcCod_fiscal IN VARCHAR2, tnTip_persoana IN NUMBER, tcNume IN OUT VARCHAR2, tcPrenume IN OUT VARCHAR2, tcReg_comert IN OUT VARCHAR2, tnId_loc_inreg IN OUT NUMBER, tcLocalitate_inreg IN OUT VARCHAR2, tnId_categorie_entitate IN OUT NUMBER, tcCategorie_entitate IN OUT VARCHAR2, tcPrefix IN OUT VARCHAR2, tcSufix IN OUT VARCHAR2, tcBanca IN OUT VARCHAR2, tcCont_banca IN OUT VARCHAR2, tnInactiv IN OUT NUMBER, tcMotiv_inactiv IN OUT VARCHAR2) IS BEGIN BEGIN IF tcDenumire IS NOT NULL THEN SELECT NUME, PRENUME, REG_COMERT, ID_LOC_INREG, LOCALITATE_INREG, ID_CATEGORIE_ENTITATE, CATEGORIE_ENTITATE, PREFIX, SUFIX, BANCA, CONT_BANCA, INACTIV, MOTIV_INACTIV INTO tcNume, tcPrenume, tcReg_comert, tnId_loc_inreg, tcLocalitate_inreg, tnId_categorie_entitate, tcCategorie_entitate, tcPrefix, tcSufix, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv FROM VNOM_PARTENERI WHERE COD_FISCAL = tcCod_fiscal AND DENUMIRE = tcDenumire AND TIP_PERSOANA = tnTip_persoana; ELSE SELECT DENUMIRE, NUME, PRENUME, REG_COMERT, ID_LOC_INREG, LOCALITATE_INREG, ID_CATEGORIE_ENTITATE, CATEGORIE_ENTITATE, PREFIX, SUFIX, BANCA, CONT_BANCA, INACTIV, MOTIV_INACTIV INTO tcDenumire, tcNume, tcPrenume, tcReg_comert, tnId_loc_inreg, tcLocalitate_inreg, tnId_categorie_entitate, tcCategorie_entitate, tcPrefix, tcSufix, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv FROM VNOM_PARTENERI WHERE COD_FISCAL = tcCod_fiscal AND TIP_PERSOANA = tnTip_persoana; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN tcNume := TRIM(tcNume); tcPrenume := TRIM(tcPrenume); /* tcReg_comert := NULL; tnId_loc_inreg := NULL; tcLocalitate_inreg := NULL; tnId_categorie_entitate := NULL; tcCategorie_entitate := NULL; tcPrefix := NULL; tcSufix := NULL; tcBanca := NULL; tcCont_banca := NULL; tnInactiv := 0; tcMotiv_inactiv := NULL;*/ WHEN TOO_MANY_ROWS THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista parteneri cu acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); END; END cauta_partener; ---------------------------------------------------------------------------- procedure adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tnId_Part OUT NUMBER) IS BEGIN -- pentru compatibilitate cu versiunile mai vechi de 12.10.2007 adauga_partener(tcDenumire, tcNume, tcPrenume, tcCod_fiscal, tcReg_comert, tnId_loc, tnId_categorie_entitate, tcPrefix, tcSufix, tnTip_persoana, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv, tnId_util, tcSir_id_tipPart, NULL, tnId_Part); END; ---------------------------------------------------------------------------- procedure modifica_partener(tnId_part number, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2) IS V_NR_INREGISTRARI NUMBER(10); V_SIR_CORESP_DEL VARCHAR2(10); BEGIN -- pentru compatibilitate cu versiunile mai vechi de 12.10.2007 SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM CORESP_TIP_PART WHERE ID_PART = tnId_part AND ID_TIP_PART = -44; IF V_NR_INREGISTRARI > 0 AND INSTR(tcSir_id_tipPart, '-44', 1) = 0 THEN V_SIR_CORESP_DEL := '2=2'; ELSE V_SIR_CORESP_DEL := NULL; END IF; modifica_partener(tnId_part, tcDenumire, tcNume, tcPrenume, tcCod_fiscal, tcReg_comert, tnId_loc, tnId_categorie_entitate, tcPrefix, tcSufix, tnTip_persoana, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv, tnId_util, tcSir_id_tipPart, V_SIR_CORESP_DEL); END; ---------------------------------------------------------------------------- PROCEDURE adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2) IS tnIdPart NOM_PARTENERI.ID_PART%TYPE := 0; BEGIN adauga_partener(tcDenumire, tcNume, tcPrenume, tcCod_fiscal, tcReg_comert, tnId_loc, tnId_categorie_entitate, tcPrefix, tcSufix, tnTip_persoana, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv, tnId_util, tcSir_id_tipPart, tcSir_id_part_del, tnIdPart); END ADAUGA_PARTENER; -- adauga partener si intoarce id_part procedure adauga_partener(tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2, tnId_Part OUT NUMBER) is V_ID_TIP_PART NUMBER(10); V_POZI NUMBER(10); V_POZF NUMBER(10); V_SEPARATOR VARCHAR2(100); V_NR_INREGISTRARI NUMBER(10); begin BEGIN SELECT ID_PART INTO tnId_part FROM NOM_PARTENERI WHERE DENUMIRE = tcDenumire AND COD_FISCAL = tcCod_fiscal AND STERS = 0; EXCEPTION WHEN NO_DATA_FOUND THEN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_PARTENERI WHERE COD_FISCAL = tcCod_fiscal and sters = 0; IF V_NR_INREGISTRARI = 0 THEN INSERT INTO nom_parteneri (denumire, nume, prenume, cod_fiscal, reg_comert, id_loc, id_categorie_entitate, prefix, sufix, tip_persoana, banca, cont_banca, inactiv, motiv_inactiv, id_util, dataora) VALUES (tcDenumire, tcNume, tcPrenume, tcCod_fiscal, tcReg_comert, tnId_loc, tnId_categorie_entitate, tcPrefix, tcSufix, tnTip_persoana, tcBanca, tcCont_banca, tnInactiv, tcMotiv_inactiv, tnId_util, SYSDATE) RETURNING id_part INTO tnId_part; ELSE RAISE_APPLICATION_ERROR(-20000, 'Mai exista un partener cu acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); END IF; WHEN TOO_MANY_ROWS THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista parteneri cu acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); END; V_SEPARATOR := ';'; MERGE INTO CORESP_TIP_PART A USING (SELECT X AS ID_TIP_PART FROM TABLE(charn2collection(tcSir_id_tipPart, V_SEPARATOR))) B ON (A.ID_TIP_PART = B.ID_TIP_PART AND A.ID_PART = tnId_part) WHEN NOT MATCHED THEN INSERT /*+ APPEND */ (ID_TIP_PART, ID_PART) VALUES (B.ID_TIP_PART, tnId_part); pack_def.actualizeaza_coresp_delegati(tnId_part, tcSir_id_part_del); end adauga_partener; -- adauga/modifica partener si intoarce id_part procedure adauga_modifica_partener(tnId_Part IN OUT NUMBER, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcCod_fiscal2 varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2, tcSwift_banca varchar2 default null, tcAdresa_banca varchar2 default null, tnInstitutiePublica number default 0) is V_ID_TIP_PART NUMBER(10); V_POZI NUMBER(10); V_POZF NUMBER(10); V_SEPARATOR VARCHAR2(100); V_NR_INREGISTRARI NUMBER(10); lnIdPart NUMBER(10); begin -- verific daca mai exista aceeasi denumire si/sau cod fiscal doar la adaugare if nvl(tnId_Part, 0) = 0 then BEGIN SELECT ID_PART INTO lnIdPart FROM NOM_PARTENERI WHERE DENUMIRE = tcDenumire AND COD_FISCAL = tcCod_fiscal AND STERS = 0; -- Nu permit adaugarea partenerilor identici ca nume si cod fiscal RAISE_APPLICATION_ERROR(-20000, 'Mai exista un partener cu aceasta denumire si acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); EXCEPTION WHEN NO_DATA_FOUND THEN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_PARTENERI WHERE COD_FISCAL = tcCod_fiscal and sters = 0; IF V_NR_INREGISTRARI = 0 THEN INSERT INTO nom_parteneri (denumire, nume, prenume, cod_fiscal, cod_fiscal2, reg_comert, id_loc, id_categorie_entitate, prefix, sufix, tip_persoana, banca, cont_banca, swift_banca, adresa_banca, inactiv, motiv_inactiv, id_util, dataora, institutie_publica) VALUES (tcDenumire, tcNume, tcPrenume, tcCod_fiscal, tcCod_fiscal2, tcReg_comert, tnId_loc, tnId_categorie_entitate, tcPrefix, tcSufix, tnTip_persoana, tcBanca, tcCont_banca, tcSwift_banca, tcAdresa_banca, tnInactiv, tcMotiv_inactiv, tnId_util, SYSDATE, tnInstitutiePublica) RETURNING id_part INTO tnId_part; ELSE RAISE_APPLICATION_ERROR(-20000, 'Mai exista un partener cu acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); END IF; WHEN TOO_MANY_ROWS THEN RAISE_APPLICATION_ERROR(-20000, 'Mai exista parteneri cu acest ' || (CASE tnTip_persoana WHEN 1 THEN 'cod fiscal' ELSE 'CNP' END) || ' !'); END; else update nom_parteneri set denumire = tcDenumire, nume = tcNume, prenume = tcPrenume, cod_fiscal = tcCod_fiscal, cod_fiscal2 = tcCod_fiscal2, reg_comert = tcReg_comert, id_loc = tnId_loc, id_categorie_entitate = tnId_categorie_entitate, prefix = tcPrefix, sufix = tcSufix, tip_persoana = tnTip_persoana, banca = tcBanca, cont_banca = tcCont_banca, swift_banca = tcSwift_banca, adresa_banca = tcAdresa_banca, inactiv = tnInactiv, motiv_inactiv = tcMotiv_inactiv, id_util = tnId_util, dataora = SYSDATE, institutie_publica = tnInstitutiePublica where id_part = tnId_part; end if; -- nvl(tnId_Part,0) <> 0 -- Corespondente tipuri-parteneri IF tcSir_id_tipPart is not null and length(tcSir_id_tipPart) > 0 THEN DELETE FROM CORESP_TIP_PART WHERE ID_PART = tnId_part; END IF; V_SEPARATOR := ';'; MERGE INTO CORESP_TIP_PART A USING (SELECT X AS ID_TIP_PART FROM TABLE(charn2collection(tcSir_id_tipPart, V_SEPARATOR))) B ON (A.ID_TIP_PART = B.ID_TIP_PART AND A.ID_PART = tnId_part) WHEN NOT MATCHED THEN INSERT /*+ APPEND */ (ID_TIP_PART, ID_PART) VALUES (B.ID_TIP_PART, tnId_part); -- Delegati partener pack_def.actualizeaza_coresp_delegati(tnId_part, tcSir_id_part_del); end adauga_modifica_partener; ---------------------------------------------------------------------------- -- cauta partener dupa cod fiscal si il adauga (denumire, cod fiscal) -- intoarce id_part daca exista sau nou daca se adauga ---------------------------------------------------------------------------- procedure adauga_partener_cod_fiscal(tcDenumire varchar2, tcNume varchar2 default null, tcPrenume varchar2 default null, tcCod_fiscal varchar2, tnId_Part OUT NUMBER) is lnTipPersoana number(1) := CASE WHEN tcPrenume IS NOT NULL THEN nTipPersoanaJuridica ELSE nTipPersoanaFizica END; begin select id_part into tnId_Part from nom_parteneri where UPPER(TRIM(REPLACE(cod_fiscal, ' ', ''))) = UPPER(TRIM(REPLACE(tcCod_fiscal, ' ', ''))); exception when NO_DATA_FOUND then pack_def.adauga_partener(tcdenumire => tcdenumire, tcnume => tcnume, tcprenume => tcprenume, tccod_fiscal => tccod_fiscal, tcreg_comert => '', tnid_loc => NULL, tnid_categorie_entitate => NULL, tcprefix => '', tcsufix => '', tntip_persoana => lnTipPersoana, tcbanca => '', tccont_banca => '', tninactiv => 0, tcmotiv_inactiv => '', tnid_util => -3, tcsir_id_tippart => '16;17', tnid_part => tnid_part); end; ---------------------------------------------------------------------------- procedure modifica_partener(tnId_part number, tcDenumire varchar2, tcNume varchar2, tcPrenume varchar2, tcCod_fiscal varchar2, tcReg_comert varchar2, tnId_loc number, tnId_categorie_entitate number, tcPrefix varchar2, tcSufix varchar2, tnTip_persoana number, tcBanca varchar2, tcCont_banca varchar2, tnInactiv number, tcMotiv_inactiv varchar2, tnId_util number, tcSir_id_tipPart varchar2, tcSir_id_part_del varchar2) is V_ID_TIP_PART NUMBER(10); V_POZI NUMBER(10); V_POZF NUMBER(10); begin update nom_parteneri set denumire = tcDenumire, nume = tcNume, prenume = tcPrenume, cod_fiscal = tcCod_fiscal, reg_comert = tcReg_comert, id_loc = tnId_loc, id_categorie_entitate = tnId_categorie_entitate, prefix = tcPrefix, sufix = tcSufix, tip_persoana = tnTip_persoana, banca = tcBanca, cont_banca = tcCont_banca, inactiv = tnInactiv, motiv_inactiv = tcMotiv_inactiv, id_util = tnId_util, dataora = SYSDATE where id_part = tnId_part; IF tcSir_id_tipPart is not null and length(tcSir_id_tipPart) > 0 THEN DELETE FROM CORESP_TIP_PART WHERE ID_PART = tnId_part; END IF; -- EXECUTE IMMEDIATE 'UPDATE CORESP_TIP_PART SET STERS=1 ' || 'WHERE ID_PART=:1' USING tnId_part; MERGE INTO CORESP_TIP_PART A USING (SELECT X AS ID_TIP_PART FROM TABLE(charn2collection(tcSir_id_tipPart, ';'))) B ON (A.ID_TIP_PART = B.ID_TIP_PART AND A.ID_PART = tnId_part) WHEN NOT MATCHED THEN INSERT /*+ APPEND */ (ID_TIP_PART, ID_PART) VALUES (B.ID_TIP_PART, tnId_part); pack_def.actualizeaza_coresp_delegati(tnId_part, tcSir_id_part_del); end modifica_partener; ---------------------------------------------------------------------------- procedure sterge_partener(tnId_part number, tnId_util number) is lnAparitii number(10) := 0; lcMesaj varchar2(1000); V_LOOKUP VARCHAR2(1000); begin V_LOOKUP := 'ACT.ID_PARTD;ACT.ID_PARTC;BALANTA_PARTENERI.ID_PART;DEV_MASINICLIENTI.ID_PARTENER'; lnAparitii := PACK_NOMENCLATOARE.NOMEXISTA(tnId_part, V_LOOKUP, lcMesaj); if lnAparitii <> 0 then raise_application_error(-20005, lcMesaj); else update nom_parteneri set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_part = tnId_part; /* TODO: owner="marius.mutu" priority="3 - Low" created="7/19/2006" text="posibil trebuie sterse adrese, coresp_tip_part si pers_contact" */ end if; pack_def.actualizeaza_coresp_delegati(tnId_part, '2=2'); end sterge_partener; ---------------------------------------------------------------------------- procedure adauga_responsabil(tnId_part number) is begin INSERT INTO CORESP_TIP_PART (ID_TIP_PART, ID_PART) VALUES (-41, tnId_part); end adauga_responsabil; ---------------------------------------------------------------------------- -- se pastreaza pentru compatibilitate cu versiunile vechi -- in care se transmitea sectorul in loc de denumirea localitatii procedure adauga_adresa_partener(tnId_part number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number) is tnIdAdresa ADRESE_PARTENERI.ID_ADRESA%TYPE := 0; begin pack_def.adauga_adresa_partener2(tnId_part, tcDenumire_adresa, 0, tcStrada, tcNumar, tcBloc, tcScara, tcApart, tnEtaj, tnId_loc, '', tnId_judet, tnCodpostal, tnId_tara, tcTelefon1, tcTelefon2, tcFax, tcEmail, tcWeb, tnPrincipala, tnInactiv, tnId_util, tnIdAdresa); end adauga_adresa_partener; ---------------------------------------------------------------------------- -- se pastreaza pentru compatibilitate cu versiunile vechi -- in care se transmitea sectorul in loc de denumirea localitatii procedure adauga_adresa_partener(tnId_part number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number, tnIdAdresa OUT NUMBER) is begin pack_def.adauga_adresa_partener2(tnId_part, tcDenumire_adresa, 0, tcStrada, tcNumar, tcBloc, tcScara, tcApart, tnEtaj, tnId_loc, '', tnId_judet, tnCodpostal, tnId_tara, tcTelefon1, tcTelefon2, tcFax, tcEmail, tcWeb, tnPrincipala, tnInactiv, tnId_util, tnIdAdresa); end; ---------------------------------------------------------------------------- procedure adauga_adresa_partener2(tnId_part number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number) is tnIdAdresa ADRESE_PARTENERI.ID_ADRESA%TYPE := 0; begin pack_def.adauga_adresa_partener2(tnId_part, tcDenumire_adresa, tnDA_apare, tcStrada, tcNumar, tcBloc, tcScara, tcApart, tnEtaj, tnId_loc, tcLocalitate, tnId_judet, tnCodpostal, tnId_tara, tcTelefon1, tcTelefon2, tcFax, tcEmail, tcWeb, tnPrincipala, tnInactiv, tnId_util, tnIdAdresa); end adauga_adresa_partener2; ---------------------------------------------------------------------------- procedure adauga_adresa_partener2(tnId_part number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number, tnIdAdresa OUT NUMBER) is V_ID_LOC SYN_NOM_LOCALITATI.ID_LOC%TYPE; begin if tnId_loc is null and tnId_judet is null and tcLocalitate is not null and tcLocalitate not like '<%' then V_ID_LOC := syn_pack_def_co.adauga_localitate(tcLocalitate, null, null, tnId_tara); else V_ID_LOC := tnId_loc; end if; begin insert into adrese_parteneri (id_part, denumire_adresa, da_apare, strada, numar, bloc, scara, apart, etaj, id_loc, codpostal, id_tara, telefon1, telefon2, fax, email, web, principala, inactiv, id_util, dataora) values (tnId_part, tcDenumire_adresa, tnDA_apare, tcStrada, tcNumar, tcBloc, tcScara, tcApart, tnEtaj, V_ID_LOC, tnCodpostal, tnId_tara, tcTelefon1, tcTelefon2, tcFax, tcEmail, tcWeb, tnPrincipala, tnInactiv, tnId_util, SYSDATE) returning id_adresa into tnIdAdresa; exception when dup_val_on_index then RAISE_APPLICATION_ERROR(-20001, 'Mai exista o adresa principala pentru acest partener!'); end; end adauga_adresa_partener2; ---------------------------------------------------------------------------- procedure modifica_adresa_partener(tnId_adresa number, tcDenumire_adresa varchar2, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tnSector number, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number) is begin pack_def.modifica_adresa_partener2(tnId_adresa, tcDenumire_adresa, 0, tcStrada, tcNumar, tcBloc, tcScara, tcApart, tnEtaj, tnId_loc, '', tnId_judet, tnCodpostal, tnId_tara, tcTelefon1, tcTelefon2, tcFax, tcEmail, tcWeb, tnPrincipala, tnInactiv, tnId_util); end; ---------------------------------------------------------------------------- procedure modifica_adresa_partener2(tnId_adresa number, tcDenumire_adresa varchar2, tnDA_apare number, tcStrada varchar2, tcNumar varchar2, tcBloc varchar2, tcScara varchar2, tcApart varchar2, tnEtaj varchar2, tnId_loc number, tcLocalitate varchar2, tnId_judet number, tnCodpostal number, tnId_tara number, tcTelefon1 varchar2, tcTelefon2 varchar2, tcFax varchar2, tcEmail varchar2, tcWeb varchar2, tnPrincipala varchar2, tnInactiv number, tnId_util number) is V_ID_LOC SYN_NOM_LOCALITATI.ID_LOC%TYPE; begin if tnId_loc is null and tnId_judet is null and tcLocalitate is not null and tcLocalitate not like '<%' then V_ID_LOC := syn_pack_def_co.adauga_localitate(tcLocalitate, null, null, tnId_tara); else V_ID_LOC := tnId_loc; end if; update adrese_parteneri set denumire_adresa = tcDenumire_adresa, da_apare = tnDA_apare, strada = tcStrada, numar = tcNumar, bloc = tcBloc, scara = tcScara, apart = tcApart, etaj = tnEtaj, id_loc = V_ID_LOC, codpostal = tnCodpostal, id_tara = tnId_tara, telefon1 = tcTelefon1, telefon2 = tcTelefon2, fax = tcFax, email = tcEmail, web = tcWeb, principala = tnPrincipala, inactiv = tnInactiv, id_util = tnId_util, dataora = SYSDATE where id_adresa = tnId_adresa; end modifica_adresa_partener2; ---------------------------------------------------------------------------- procedure sterge_adresa_partener(tnId_adresa number, tnId_util number) is lnNrInregistrari NUMBER(10); lcExplicatia VARCHAR2(100); begin select count(*) into lnNrInregistrari from comenzi where sters = 0 and (id_livrare = tnId_adresa or id_facturare = tnId_adresa); if lnNrInregistrari = 0 then update adrese_parteneri set sters = 1, id_utils = tnId_util, dataoras = sysdate where id_adresa = tnId_adresa; else lcExplicatia := (case lnNrInregistrari when 1 then ' o comanda' else to_char(lnNrInregistrari) || ' comenzi' end); RAISE_APPLICATION_ERROR(-20000, 'Aceasta adresa nu poate fi stearsa deoarece a fost selectata pe ' || lcExplicatia || ' !'); end if; end sterge_adresa_partener; ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- -- LISTA CU TOATE TIPURILE DE PARTENER + ALES PENTRU UN PARTENER/ + ALES PENTRU UN TIP DE PARTENER procedure get_partener_tipuri(tnId_part IN NUMBER, tnIdTipPart IN NUMBER, tnParent_id IN NUMBER, p_cursor OUT pack_types.tip_cursor) is lcSelect varchar2(4000) := ''; begin -- tnId_part = lista cu toate tipurile de parteneri (pentru partenerul meu, ales = 1) -- tnIdTipPart = lista cu toate tipurile de parteneri (pentru tipul meu, ales = 1) IF tnParent_id <> 0 and tnIdTipPart in (16, 17) THEN -- RoaContracte -- adauga, modifica partener open p_cursor for select ntp.id_tip_part, ntp.tip_partener, nvl(s2.ales, 0) AS ALES from vnom_tip_parteneri ntp left join (SELECT id_tip_part, tip_partener, 1 as ales FROM VCORESP_TIP_PART where id_part = tnId_part) s2 on s2.id_tip_part = ntp.ID_TIP_PART where ntp.parent_id = tnParent_id and (ntp.id_tip_part <> -1 and ntp.id_tip_part <> -2) order by ntp.tip_partener; ELSE -- ROADEF, RoaComenzi, RoaLucrari.... open p_cursor for select s1.*, nvl(s2.ales, 0) as ales from (select ntp.id_tip_part, ntp.tip_partener from vnom_tip_parteneri ntp where (ntp.id_tip_part <> -1 and ntp.id_tip_part <> -2)) s1 left join (select id_tip_part, 1 as ales from coresp_tip_part where id_part = tnId_part union select id_tip_part, 1 as ales from vnom_tip_parteneri where id_tip_part = tnIdTipPart) s2 on s2.id_tip_part = s1.ID_TIP_PART order by s1.tip_partener; END IF; end get_partener_tipuri; ---------------------------------------------------------------- procedure adauga_pers_contact(tnId_part number, tcNume varchar2, tcPrenume varchar2, tcApelativ varchar2, tcFunctia varchar2, tcTelefon varchar2, tcEmail varchar2, tnPrincipal number, tnInactiv number, tnId_util number) is begin insert into pers_contact (id_part, nume, prenume, apelativ, functia, telefon, email, principal, inactiv, id_util, dataora) values (tnId_part, tcNume, tcPrenume, tcApelativ, tcFunctia, tcTelefon, tcEmail, tnPrincipal, tnInactiv, tnId_util, SYSDATE); end adauga_pers_contact; ---------------------------------------------------------------- procedure modifica_pers_contact(tnId_pers number, tcNume varchar2, tcPrenume varchar2, tcApelativ varchar2, tcFunctia varchar2, tcTelefon varchar2, tcEmail varchar2, tnPrincipal number, tnInactiv number, tnId_util number) is begin update pers_contact set nume = tcNume, prenume = tcPrenume, apelativ = tcApelativ, functia = tcFunctia, telefon = tcTelefon, email = tcEmail, principal = tnPrincipal, inactiv = tnInactiv, id_util = tnId_util, dataora = SYSDATE where id_pers = tnId_pers; end modifica_pers_contact; ---------------------------------------------------------------- procedure sterge_pers_contact(tnId_pers number, tnId_util number) is begin update pers_contact set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_pers = tnId_pers; end sterge_pers_contact; ---------------------------------------------------------------- procedure adauga_lucrare(V_NRORD IN VARCHAR2, V_ID_TATA IN NUMBER, V_INACTIV IN NUMBER) is V_NR_INREGISTRARI NUMBER(10); begin IF V_ID_TATA IS NOT NULL THEN SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM CON_LUCRARI WHERE ID_LUCRARE = V_ID_TATA AND STERS = 0; ELSE V_NR_INREGISTRARI := 0; END IF; IF V_NR_INREGISTRARI = 0 THEN INSERT INTO NOM_LUCRARI (NRORD, ID_TATA, INACTIV) VALUES (V_NRORD, V_ID_TATA, V_INACTIV); ELSE RAISE_APPLICATION_ERROR(-20000, 'Aceasta lucrare trebuie adaugata prin "Analiza proiectelor", deoarece parintele ei a fost introdus prin acel program!'); END IF; end adauga_lucrare; ---------------------------------------------------------------- procedure modifica_lucrare(V_ID_LUCRARE IN NUMBER, V_NRORD IN VARCHAR2, V_ID_TATA IN NUMBER, V_INACTIV IN NUMBER) is V_NR_INREG_T NUMBER(10); V_NR_INREG_L NUMBER(10); begin IF V_ID_TATA IS NOT NULL THEN SELECT SUM(DECODE(ID_LUCRARE, V_ID_TATA, 1, 0)), SUM(DECODE(ID_LUCRARE, V_ID_LUCRARE, 1, 0)) INTO V_NR_INREG_T, V_NR_INREG_L FROM CON_LUCRARI WHERE ID_LUCRARE IN (V_ID_TATA, V_ID_LUCRARE) AND STERS = 0; ELSE V_NR_INREG_T := 0; V_NR_INREG_L := 0; END IF; CASE WHEN (V_NR_INREG_T <> 0 AND V_NR_INREG_L = 0) THEN RAISE_APPLICATION_ERROR(-20000, 'Aceasta lucrare trebuie adaugata prin "Analiza proiectelor", deoarece parintele ei a fost introdus prin acel program!'); WHEN (V_NR_INREG_T <> 0 AND V_NR_INREG_L = 0) THEN RAISE_APPLICATION_ERROR(-20000, 'Aceasta lucrare a fost adaugata prin "Analiza proiectelor", dar nu si parintele ei!' || CHR(13) || CHR(10) || 'Alegeti alt parinte pentru aceasta lucrare sau copiati parintele in "Analiza proiectelor" !'); ELSE UPDATE NOM_LUCRARI SET NRORD = V_NRORD, ID_TATA = V_ID_TATA, INACTIV = V_INACTIV WHERE ID_LUCRARE = V_ID_LUCRARE; END CASE; end modifica_lucrare; ---------------------------------------------------------------- procedure adauga_contract(tnId_part IN NUMBER, tcNumar IN VARCHAR2, tdData IN DATE, tnId_tip_ctr IN NUMBER, tnInactiv IN NUMBER, tcTipIstoric IN VARCHAR2, tnIdTata IN NUMBER, tnValftva IN NUMBER, tnProcTVA IN NUMBER, tnIdValuta IN NUMBER, tnIdResponsabil IN NUMBER, tnIdUtil IN NUMBER) is begin adauga_contract(tnId_part, tcNumar, tdData, tnId_tip_ctr, tnInactiv, tcTipIstoric, NULL, tnIdTata, tnValftva, tnProcTVA, 0, tnIdValuta, tnIdResponsabil, tnIdUtil); end; ---------------------------------------------------------------- procedure adauga_contract(tnId_part IN NUMBER, tcNumar IN VARCHAR2, tdData IN DATE, tnId_tip_ctr IN NUMBER, tnInactiv IN NUMBER, tcTipIstoric IN VARCHAR2, tcDescriere IN VARCHAR2, tnIdTata IN NUMBER, tnValftva IN NUMBER, tnProcTVA IN NUMBER, tnCurs IN NUMBER, tnIdValuta IN NUMBER, tnIdResponsabil IN NUMBER, tnIdUtil IN NUMBER) is V_ID_ACT_ADITIONAL CONTRACTE.ID_CTR%TYPE; begin CASE WHEN tcTipIstoric = 'C' THEN INSERT INTO CONTRACTE (ID_PART, NUMAR, DATA, DESCRIERE, ID_TIP_CTR, INACTIV, TIP_ISTORIC, VALFTVA, VALCTVA, CURS, PROC_TVA, ID_VALUTA, ID_RESPONSABIL, ID_UTIL, DATAORA) VALUES (tnId_part, tcNumar, tdData, TRIM(tcDescriere), tnId_tip_ctr, tnInactiv, tcTipIstoric, tnValftva, ROUND(tnValftva + tnValftva * tnProcTva / 100, 2), tnCurs, tnProcTVA, tnIdValuta, tnIdResponsabil, tnIdutil, SYSDATE); WHEN tcTipIstoric = 'A' THEN pack_crm.copie_contract_pt_istoric(tnIdTata, tnIdUtil); INSERT INTO CONTRACTE (ID_PART, NUMAR, DATA, DESCRIERE, ID_TIP_CTR, INACTIV, TIP_ISTORIC, ID_TATA, VALFTVA, VALCTVA, CURS, PROC_TVA, ID_VALUTA, ID_RESPONSABIL, ID_UTIL, DATAORA) VALUES (tnId_part, tcNumar, tdData, TRIM(tcDescriere), tnId_tip_ctr, tnInactiv, tcTipIstoric, tnIdTata, tnValftva, ROUND(tnValftva + tnValftva * tnProcTva / 100, 2), tnCurs, tnProcTVA, tnIdValuta, tnIdResponsabil, tnIdutil, SYSDATE) returning id_ctr into V_ID_ACT_ADITIONAL; update contracte set id_tata = tnIdTata, activ = 1, id_act_aditional = V_ID_ACT_ADITIONAL where id_ctr = tnIdTata; ELSE RAISE_APPLICATION_ERROR(-20000, 'Tip istoric invalid ! (DEF-001)'); END CASE; end adauga_contract; ---------------------------------------------------------------- procedure modifica_contract(tnId_ctr number, tcNumar varchar2, tdData date, tnId_tip_ctr number, tnInactiv number, tnId_util number) is begin update contracte set numar = tcNumar, data = tdData, id_tip_ctr = tnId_tip_ctr, inactiv = tnInactiv, id_util = tnId_util, dataora = SYSDATE where id_ctr = tnId_ctr; end modifica_contract; procedure adauga_modifica_contract(tnIdCtr IN OUT CONTRACTE.ID_CTR%TYPE, tnIdPart IN CONTRACTE.ID_PART%TYPE, tcNumar IN CONTRACTE.NUMAR%TYPE, tdData IN CONTRACTE.DATA%TYPE, tdDataInceput IN CONTRACTE.DATA_INCEPUT%TYPE, tdDataSfarsit IN CONTRACTE.DATA_SFARSIT%TYPE, tnIdTipCtr IN CONTRACTE.ID_TIP_CTR%TYPE, tnInactiv IN CONTRACTE.INACTIV%TYPE, tcTipIstoric IN CONTRACTE.TIP_ISTORIC%TYPE, tcDescriere IN CONTRACTE.DESCRIERE%TYPE, tnIdTata IN CONTRACTE.ID_TATA%TYPE, tnValftva IN CONTRACTE.VALFTVA%TYPE, tnProcTVA IN CONTRACTE.PROC_TVA%TYPE, tnCurs IN CONTRACTE.CURS%TYPE, tnIdValuta IN CONTRACTE.ID_VALUTA%TYPE, tnTipCurs IN CONTRACTE.TIP_CURS%TYPE, tnIdResponsabil IN CONTRACTE.ID_RESPONSABIL%TYPE, tnZileScadenta IN CONTRACTE.SCADENTA_INCASARE%TYPE, tnCoefPenalitati IN CONTRACTE.COEF_PENALITATI%TYPE, tnCoefPenalitati2 IN CONTRACTE.COEF_PENALITATI2%TYPE, tnZilePenalitati IN CONTRACTE.ZILE_PENALITATI%TYPE, tnZilePenalitati2 IN CONTRACTE.ZILE_PENALITATI2%TYPE, tnZileGratiePenalitati IN CONTRACTE.ZILE_GRATIE_PENALITATI%TYPE, tnIdUtil IN CONTRACTE.ID_UTIL%TYPE) is V_ID_ACT_ADITIONAL CONTRACTE.ID_CTR%TYPE; begin CASE WHEN nvl(tnIdCtr, 0) <> 0 THEN update contracte set id_part = tnIdPart, numar = tcNumar, data = tdData, data_inceput = tdDataInceput, data_sfarsit = tdDataSfarsit, id_tip_ctr = tnIdTipCtr, inactiv = tnInactiv, tip_istoric = tcTipIstoric, descriere = tcDescriere, id_tata = tnIdTata, valftva = tnValftva, proc_tva = tnProcTVA, curs = tnCurs, id_valuta = tnIdValuta, tip_curs = tnTipCurs, id_responsabil = tnIdResponsabil, scadenta_incasare = tnZileScadenta, coef_penalitati = tnCoefPenalitati, coef_penalitati2 = tnCoefPenalitati2, zile_penalitati = tnZilePenalitati, zile_penalitati2 = tnZilePenalitati2, zile_gratie_penalitati = tnZileGratiePenalitati, id_util = tnIdUtil, dataora = SYSDATE where id_ctr = tnIdCtr; WHEN tcTipIstoric = 'C' THEN INSERT INTO CONTRACTE (ID_PART, NUMAR, DATA, DATA_INCEPUT, DATA_SFARSIT, DESCRIERE, ID_TIP_CTR, INACTIV, TIP_ISTORIC, VALFTVA, VALCTVA, CURS, PROC_TVA, ID_VALUTA, TIP_CURS, ID_RESPONSABIL, SCADENTA_INCASARE, COEF_PENALITATI, COEF_PENALITATI2, ZILE_PENALITATI, ZILE_PENALITATI2, ZILE_GRATIE_PENALITATI, ID_UTIL, DATAORA) VALUES (tnIdPart, tcNumar, tdData, tdDataInceput, tdDataSfarsit, TRIM(tcDescriere), tnIdTipCtr, tnInactiv, tcTipIstoric, tnValftva, ROUND(tnValftva + tnValftva * tnProcTva / 100, 2), tnCurs, tnProcTVA, tnIdValuta, tnTipCurs, tnIdResponsabil, tnZileScadenta, tnCoefPenalitati, tnCoefPenalitati2, tnZilePenalitati, tnZilePenalitati2, tnZileGratiePenalitati, tnIdutil, SYSDATE); WHEN tcTipIstoric = 'A' THEN pack_crm.copie_contract_pt_istoric(tnIdTata, tnIdUtil); INSERT INTO CONTRACTE (ID_PART, NUMAR, DATA, DESCRIERE, ID_TIP_CTR, INACTIV, TIP_ISTORIC, ID_TATA, VALFTVA, VALCTVA, CURS, PROC_TVA, ID_VALUTA, TIP_CURS, ID_RESPONSABIL, SCADENTA_INCASARE, COEF_PENALITATI, COEF_PENALITATI2, ZILE_PENALITATI, ZILE_PENALITATI2, ZILE_GRATIE_PENALITATI, ID_UTIL, DATAORA) VALUES (tnIdPart, tcNumar, tdData, TRIM(tcDescriere), tnIdTipCtr, tnInactiv, tcTipIstoric, tnIdTata, tnValftva, ROUND(tnValftva + tnValftva * tnProcTva / 100, 2), tnCurs, tnProcTVA, tnIdValuta, tnTipCurs, tnIdResponsabil, tnZileScadenta, tnCoefPenalitati, tnCoefPenalitati2, tnZilePenalitati, tnZilePenalitati2, tnZileGratiePenalitati, tnIdutil, SYSDATE) returning id_ctr into V_ID_ACT_ADITIONAL; update contracte set id_tata = tnIdTata, activ = 1, id_act_aditional = V_ID_ACT_ADITIONAL where id_ctr = tnIdTata; ELSE RAISE_APPLICATION_ERROR(-20000, 'Tip istoric invalid ! (DEF-001)'); END CASE; end adauga_modifica_contract; ---------------------------------------------------------------- procedure sterge_contract(tnId_ctr number, tnId_util number) is lnAparitii number(10) := 0; lcMesaj varchar2(1000); V_LOOKUP VARCHAR2(1000); lnId_ctr contracte.id_ctr%TYPE; lcTip_istoric contracte.tip_istoric%TYPE; lnCount number(4) := 0; lnId_ctr_dependent contracte.id_ctr%TYPE; lnId_nou contracte.id_ctr%TYPE; cursor crsCopiiContracte is select c.id_ctr from contracte c where c.id_tata = tnId_ctr and c.id_ctr <> tnId_ctr; cLinieCopil crsCopiiContracte%rowtype; cursor crsContracteDependente is select c.id_ctr from contracte c where c.id_act_aditional = tnId_ctr; cLinieCtrDep crsContracteDependente%rowtype; begin V_LOOKUP := 'ACT.ID_CTR'; lnAparitii := PACK_NOMENCLATOARE.NOMEXISTA(tnId_ctr, V_LOOKUP, lcMesaj); if lnAparitii <> 0 then raise_application_error(-20005, lcMesaj); else select trim(tip_istoric) into lcTip_istoric from contracte where id_ctr = tnId_ctr; if lcTip_istoric = 'A' then update contracte set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_ctr = tnId_ctr; -------- select count(*) into lnCount from contracte where id_act_aditional = tnId_ctr; if lnCount > 0 then ----- open crsContracteDependente; loop fetch crsContracteDependente into cLinieCtrDep; exit when crsContracteDependente%notfound; lnId_ctr_dependent := cLinieCtrDep.id_ctr; /*select id_ctr into lnId_ctr_dependent from contracte where id_act_aditional = tnId_ctr;*/ select max(id_ctr) into lnId_nou from contracte where sters = 0 and upper(trim(tip_istoric)) = 'A' and id_tata = lnId_ctr_dependent; update contracte set id_act_aditional = lnId_nou where id_ctr = lnId_ctr_dependent; end loop; ----- end if; else update contracte set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_ctr = tnId_ctr; -------- delete from ctr_articole where id_ctr = tnId_ctr; update ctr_linkuri set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_ctr = tnId_ctr; update ctr_scadentar set sters = 1, id_utils = tnId_util, dataoras = SYSDATE where id_ctr = tnId_ctr; open crsCopiiContracte; loop fetch crsCopiiContracte into cLinieCopil; exit when crsCopiiContracte%notfound; lnId_ctr := cLinieCopil.id_ctr; sterge_contract(lnId_ctr, tnId_util); end loop; end if; end if; end sterge_contract; ---------------------------------------------------------------- -- SIR CU ID-URI TIP PARTENER PENTRU -1,-2 (CLIENT/FURNIZOR) procedure get_conturi_tip_part(tnIdTip number, tcSirId_tip_part out varchar2) is cursor_id_tip_part pack_types.tip_cursor; lnid_tip_part number(4); begin -- Test statements here if tnIdTip is null then tcSirId_tip_part := ''; return; end if; case tnIdTip when -1 then -- Clienti open cursor_id_tip_part for select distinct id_tip_part from coresp_tip_cont WHERE CONT in (4111, 4118, 418, 419, 461); loop fetch cursor_id_tip_part into lnid_tip_part; exit when cursor_id_tip_part%notFound; tcSirId_tip_part := tcSirId_tip_part || lnid_tip_part || ','; end loop; close cursor_id_tip_part; tcSirId_tip_part := substr(tcSirId_tip_part, 1, length(tcSirId_tip_part) - 1); when -2 then -- Furnizori open cursor_id_tip_part for select distinct id_tip_part from coresp_tip_cont WHERE CONT in (401, 404, 408, 409, 462); loop fetch cursor_id_tip_part into lnid_tip_part; exit when cursor_id_tip_part%notFound; tcSirId_tip_part := tcSirId_tip_part || lnid_tip_part || ','; end loop; close cursor_id_tip_part; tcSirId_tip_part := substr(tcSirId_tip_part, 1, length(tcSirId_tip_part) - 1); else tcSirId_tip_part := ''; end case; end get_conturi_tip_part; ---------------------------------------------------------------- procedure adauga_coresp_tip_part(tnIdPart IN CORESP_TIP_PART.ID_PART%TYPE, tnIdTipPart IN CORESP_TIP_PART.ID_TIP_PART%TYPE) IS BEGIN MERGE INTO coresp_tip_part USING dual on (id_part = tnIdPart and id_tip_part = tnIdTipPart) WHEN NOT MATCHED THEN INSERT (id_part, id_tip_part) VALUES (tnIdPart, tnIdTipPart); END adauga_coresp_tip_part; ---------------------------------------------------------------- procedure adauga_gestiune(tcNumeGestiune IN nom_gestiuni.nume_gestiune%type, tcGest IN nom_gestiuni.nume_gestiune%type, tcCont IN nom_gestiuni.nume_gestiune%type default null, tnNr_Pag IN nom_gestiuni.nume_gestiune%type, tcAcont IN nom_gestiuni.nume_gestiune%type default null, tnInactiv IN nom_gestiuni.nume_gestiune%type, tnId_Sucursala IN nom_gestiuni.nume_gestiune%type default null, tnId_Responsabil IN nom_gestiuni.nume_gestiune%type default null, tnId_Sectie IN nom_gestiuni.nume_gestiune%type default null, tcAcontCheltuiala IN nom_gestiuni.nume_gestiune%type default null, tcAcontAdaos IN nom_gestiuni.nume_gestiune%type default null, tnId_Lucrare IN nom_gestiuni.nume_gestiune%type default null, tcGestionar IN nom_gestiuni.gestionar%type default null, tcReceptie1 IN nom_gestiuni.comisie_receptie1%type default null, tcReceptie2 IN nom_gestiuni.comisie_receptie2%type default null, tcReceptie3 IN nom_gestiuni.comisie_receptie3%type default null) IS BEGIN INSERT INTO nom_gestiuni (nume_gestiune, cgest, cont, nr_pag, acont, inactiv, id_sucursala, id_responsabil, id_sectie, acont_cheltuiala, acont_adaos, id_lucrare, gestionar, comisie_receptie1, comisie_receptie2, comisie_receptie3) VALUES (tcNumeGestiune, tcGest, tcCont, tnNr_Pag, tcAcont, tnInactiv, tnId_Sucursala, tnId_Responsabil, tnId_Sectie, tcAcontCheltuiala, tcAcontAdaos, tnId_Lucrare, tcGestionar, tcReceptie1, tcReceptie2, tcReceptie3); END adauga_gestiune; ---------------------------------------------------------------- procedure modifica_gestiune(tnIdGestiune IN nom_gestiuni.id_gestiune%type, tcNumeGestiune IN nom_gestiuni.nume_gestiune%type, tcGest IN nom_gestiuni.nume_gestiune%type, tcCont IN nom_gestiuni.nume_gestiune%type default null, tnNr_Pag IN nom_gestiuni.nume_gestiune%type, tcAcont IN nom_gestiuni.nume_gestiune%type default null, tnInactiv IN nom_gestiuni.nume_gestiune%type, tnId_Sucursala IN nom_gestiuni.nume_gestiune%type default null, tnId_Responsabil IN nom_gestiuni.nume_gestiune%type default null, tnId_Sectie IN nom_gestiuni.nume_gestiune%type default null, tcAcontCheltuiala IN nom_gestiuni.nume_gestiune%type default null, tcAcontAdaos IN nom_gestiuni.nume_gestiune%type default null, tnId_Lucrare IN nom_gestiuni.nume_gestiune%type default null, tcGestionar IN nom_gestiuni.gestionar%type default null, tcReceptie1 IN nom_gestiuni.comisie_receptie1%type default null, tcReceptie2 IN nom_gestiuni.comisie_receptie2%type default null, tcReceptie3 IN nom_gestiuni.comisie_receptie3%type default null) is BEGIN UPDATE nom_gestiuni SET nume_gestiune = tcNumeGestiune, cgest = tcGest, cont = tcCont, nr_pag = tnNr_Pag, acont = tcAcont, inactiv = tnInactiv, id_sucursala = tnId_Sucursala, id_responsabil = tnId_Responsabil, id_sectie = tnId_Sectie, acont_cheltuiala = tcAcontCheltuiala, acont_adaos = tcAcontAdaos, id_lucrare = tnId_Lucrare, gestionar = tcGestionar, comisie_receptie1 = tcReceptie1, comisie_receptie2 = tcReceptie2, comisie_receptie3 = tcReceptie3 WHERE id_gestiune = tnIdGestiune; END modifica_gestiune; ---------------------------------------------------------------- procedure sterge_gestiune(tnIdGestiune IN NUMBER, tnIdUtil IN NUMBER) is lnAparitii number(10) := 0; lcMesaj varchar2(1000); V_LOOKUP VARCHAR2(1000); begin V_LOOKUP := 'ACT.ID_GESTIN;ACT.ID_GESTOUT;RUL.ID_GESTIUNE;RUL_OBINV.ID_GESTIUNE;'; lnAparitii := PACK_NOMENCLATOARE.NOMEXISTA(tnIdGestiune, V_LOOKUP, lcMesaj); if lnAparitii <> 0 then raise_application_error(-20005, lcMesaj); else UPDATE NOM_GESTIUNI SET STERS = 1 WHERE ID_GESTIUNE = tnIdGestiune; end if; end sterge_gestiune; ---------------------------------------------------------------- procedure adauga_asociere_part_sect(tnId_part number, tnId_sectie number, tnId_util number, tnId_tip number) is begin insert into asociere_parteneri_sectii (id_part, id_sectie, id_util, dataora, id_tip) values (tnId_part, tnId_sectie, tnId_util, sysdate, tnId_tip); end adauga_asociere_part_sect; ---------------------------------------------------------------- procedure modifica_asociere_part_sect(tnId_asociere number, tnId_part number, tnId_sectie number, tnId_util number) is begin update asociere_parteneri_sectii set id_part = tnId_part, id_sectie = tnId_sectie, id_util = tnId_util, dataora = sysdate where id_asociere = tnId_asociere; end modifica_asociere_part_sect; ---------------------------------------------------------------- procedure sterge_asociere_part_sect(tnId_asociere number) is begin delete from asociere_parteneri_sectii where id_asociere = tnId_asociere; end sterge_asociere_part_sect; ---------------------------------------------------------------- procedure adauga_sectie(V_SECTIE IN VARCHAR2, V_INACTIV IN NUMBER, V_CSECTIE IN VARCHAR2, V_ID_SUCURSALA IN NUMBER) is V_NR_INREGISTRARI NUMBER(10) := 0; begin SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_SECTII WHERE (TRIM(SECTIE) = V_SECTIE OR TRIM(CSECTIE) = V_CSECTIE) AND STERS = 0; if V_NR_INREGISTRARI <> 0 then RAISE_APPLICATION_ERROR(-20000, 'Mai exista o sectie cu acest nume sau cu acest indicativ!'); end if; INSERT /*+ APPEND */ INTO NOM_SECTII (SECTIE, CSECTIE, INACTIV, ID_SUCURSALA) VALUES (V_SECTIE, V_CSECTIE, V_INACTIV, V_ID_SUCURSALA); end adauga_sectie; ---------------------------------------------------------------- procedure modifica_sectie(V_ID_SECTIE IN NUMBER, V_SECTIE IN VARCHAR2, V_INACTIV IN NUMBER, V_CSECTIE IN VARCHAR2, V_ID_SUCURSALA IN NUMBER) is V_NR_INREGISTRARI NUMBER(10) := 0; begin SELECT COUNT(*) INTO V_NR_INREGISTRARI FROM NOM_SECTII WHERE (TRIM(SECTIE) = V_SECTIE OR TRIM(CSECTIE) = V_CSECTIE) AND ID_SECTIE <> V_ID_SECTIE AND STERS = 0; if V_NR_INREGISTRARI <> 0 then RAISE_APPLICATION_ERROR(-20000, 'Mai exista o sectie cu acest nume sau cu acest indicativ!'); end if; UPDATE NOM_SECTII SET SECTIE = V_SECTIE, CSECTIE = V_CSECTIE, INACTIV = V_INACTIV, ID_SUCURSALA = V_ID_SUCURSALA WHERE ID_SECTIE = V_ID_SECTIE; end modifica_sectie; ---------------------------------------------------------------- procedure asociere_part_gest(tnIdAsociere asociere_parteneri_gestiuni.id_asociere%Type, tnIdPart asociere_parteneri_gestiuni.id_part%Type, tnIdGestiune asociere_parteneri_gestiuni.id_gestiune%Type, tcCont asociere_parteneri_gestiuni.cont%Type, tnIdUtil asociere_parteneri_gestiuni.id_util%Type, tnIdTip asociere_parteneri_gestiuni.id_tip%Type) is begin -- Adaugare if nvl(tnIdAsociere, 0) = 0 then insert into asociere_parteneri_gestiuni (id_part, id_gestiune, cont, id_tip, id_util, dataora) values (tnIdPart, tnIdGestiune, tcCont, tnIdTip, tnIdUtil, sysdate); else update asociere_parteneri_gestiuni set id_part = tnIdPart, id_gestiune = tnIdGestiune, cont = tcCont, id_tip = tnIdTip, id_util = tnIdUtil, dataora = sysdate where id_asociere = tnIdAsociere; end if; end asociere_part_gest; ---------------------------------------------------------------- procedure sterge_asociere_part_gest(tnIdAsociere asociere_parteneri_gestiuni.id_asociere%Type) is begin delete from asociere_parteneri_gestiuni where id_asociere = tnIdAsociere; end sterge_asociere_part_gest; ---------------------------------------------------------------- procedure modifica_date_firma(V_ID_FIRMA IN SYN_NOM_FIRME.ID_FIRMA%TYPE, V_FIRMA IN SYN_NOM_FIRME.FIRMA%TYPE, V_ANTET IN SYN_NOM_FIRME.ANTET%TYPE, V_COD_FISCAL IN SYN_NOM_FIRME.COD_FISCAL%TYPE, V_REG_COMERT IN SYN_NOM_FIRME.REG_COMERT%TYPE, V_BANCA1 IN SYN_NOM_FIRME.BANCA1%TYPE, V_CONT_BANCA1 IN SYN_NOM_FIRME.CONT_BANCA1%TYPE, V_BANCA2 IN SYN_NOM_FIRME.BANCA2%TYPE, V_CONT_BANCA2 IN SYN_NOM_FIRME.CONT_BANCA2%TYPE, V_BANCA3 IN SYN_NOM_FIRME.BANCA3%TYPE, V_CONT_BANCA3 IN SYN_NOM_FIRME.CONT_BANCA3%TYPE, V_BANCA4 IN SYN_NOM_FIRME.BANCA4%TYPE, V_CONT_BANCA4 IN SYN_NOM_FIRME.CONT_BANCA4%TYPE, V_BANCA5 IN SYN_NOM_FIRME.BANCA5%TYPE, V_CONT_BANCA5 IN SYN_NOM_FIRME.CONT_BANCA5%TYPE, V_BANCA6 IN SYN_NOM_FIRME.BANCA6%TYPE, V_CONT_BANCA6 IN SYN_NOM_FIRME.CONT_BANCA6%TYPE, V_BANCA7 IN SYN_NOM_FIRME.BANCA7%TYPE, V_CONT_BANCA7 IN SYN_NOM_FIRME.CONT_BANCA7%TYPE, V_BANCA8 IN SYN_NOM_FIRME.BANCA8%TYPE, V_CONT_BANCA8 IN SYN_NOM_FIRME.CONT_BANCA8%TYPE, V_BANCA9 IN SYN_NOM_FIRME.BANCA9%TYPE, V_CONT_BANCA9 IN SYN_NOM_FIRME.CONT_BANCA9%TYPE, V_BANCA10 IN SYN_NOM_FIRME.BANCA10%TYPE, V_CONT_BANCA10 IN SYN_NOM_FIRME.CONT_BANCA10%TYPE, V_ADRESA IN SYN_NOM_FIRME.ADRESA%TYPE, V_COD_FIRMA IN SYN_NOM_FIRME.COD_FIRMA%TYPE, V_PERS_JUR IN SYN_NOM_FIRME.PERSOANA_JURIDICA%TYPE, V_CODANG IN SYN_NOM_FIRME.CODANG%TYPE, V_NUME IN SYN_NOM_FIRME.NUME%TYPE, V_PRENUME IN SYN_NOM_FIRME.PRENUME%TYPE, V_TELEFON1 IN SYN_NOM_FIRME.TELEFON%TYPE, V_TELEFON2 IN SYN_NOM_FIRME.TELEFON2%TYPE, V_TELEFON3 IN SYN_NOM_FIRME.TELEFON3%TYPE, V_FAX IN SYN_NOM_FIRME.FAX%TYPE, V_EMAIL IN SYN_NOM_FIRME.EMAIL%TYPE, V_OASP IN SYN_NOM_FIRME.OASP%TYPE, V_CAP_SOC_VAR IN SYN_NOM_FIRME.CAPITAL_SOC_VAR%TYPE, V_CAP_SOC_SUB IN SYN_NOM_FIRME.CAPITAL_SOC_SUB%TYPE, V_PUNCT_LUCRU IN SYN_NOM_FIRME.PUNCT_LUC%TYPE, V_CAEN IN SYN_NOM_FIRME.CAEN%TYPE, V_SCHEMA IN SYN_NOM_FIRME.SCHEMA%TYPE, V_JUDET IN SYN_NOM_FIRME.JUDET%TYPE, V_LOCALITATE IN SYN_NOM_FIRME.LOCALITATE%TYPE, V_STRADA IN SYN_NOM_FIRME.STRADA%TYPE, V_NUMAR IN SYN_NOM_FIRME.NUMAR%TYPE, V_BLOC IN SYN_NOM_FIRME.BLOC%TYPE, V_SCARA IN SYN_NOM_FIRME.SCARA%TYPE, V_APART IN SYN_NOM_FIRME.APART%TYPE, V_COD_POSTAL IN SYN_NOM_FIRME.COD_POSTAL%TYPE, V_ID_MAMA IN SYN_NOM_FIRME.ID_MAMA%TYPE, V_E_MAMA IN SYN_NOM_FIRME.E_MAMA%TYPE, V_ID_LOC IN SYN_NOM_FIRME.ID_LOC%TYPE, V_ID_UTIL IN SYN_NOM_FIRME.ID_UTILOP%TYPE, V_ID_FORMAJ IN SYN_NOM_FIRME.ID_FORMA_JURIDICA%TYPE, V_ID_FORMAO IN SYN_NOM_FIRME.ID_FORMA_ORGANIZARE%TYPE, V_ID_FORMAP IN SYN_NOM_FIRME.ID_FORMA_PROP%TYPE, V_ID_TIP_SOC IN SYN_NOM_FIRME.ID_TIP_SOC%TYPE, V_INDICATIV IN SYN_NOM_FIRME.INDICATIV%TYPE, V_DECLARANT IN SYN_NOM_FIRME.DECLARANT%TYPE, V_FUNCTIE IN SYN_NOM_FIRME.FUNCTIE%TYPE, V_INDICE_ITM IN SYN_NOM_FIRME.INDICE_ITM%TYPE, V_TIP_MODIFICARE IN NUMBER, V_CAEN_REVIZIE IN SYN_NOM_FIRME.CAEN_REVIZIE%TYPE DEFAULT NULL) is begin syn_pack_drepturi.firmemodinsproc(V_ID_FIRMA, V_FIRMA, V_ANTET, V_COD_FISCAL, V_REG_COMERT, V_BANCA1, V_CONT_BANCA1, V_BANCA2, V_CONT_BANCA2, V_BANCA3, V_CONT_BANCA3, V_BANCA4, V_CONT_BANCA4, V_BANCA5, V_CONT_BANCA5, V_BANCA6, V_CONT_BANCA6, V_BANCA7, V_CONT_BANCA7, V_BANCA8, V_CONT_BANCA8, V_BANCA9, V_CONT_BANCA9, V_BANCA10, V_CONT_BANCA10, V_ADRESA, V_COD_FIRMA, V_PERS_JUR, V_CODANG, V_NUME, V_PRENUME, V_TELEFON1, V_TELEFON2, V_TELEFON3, V_FAX, V_EMAIL, V_OASP, V_CAP_SOC_VAR, V_CAP_SOC_SUB, V_PUNCT_LUCRU, V_CAEN, V_SCHEMA, V_JUDET, V_LOCALITATE, V_STRADA, V_NUMAR, V_BLOC, V_SCARA, V_APART, V_COD_POSTAL, V_ID_MAMA, V_E_MAMA, V_ID_LOC, V_ID_UTIL, V_ID_FORMAJ, V_ID_FORMAO, V_ID_FORMAP, V_ID_TIP_SOC, V_INDICATIV, V_DECLARANT, V_FUNCTIE, V_INDICE_ITM, V_CAEN_REVIZIE); if to_number(pack_sesiune.getoptiunefirma('SCRIEREGISTRU')) = 1 then pack_personal.reges_scrie_date_angajator(V_ID_FIRMA, V_TIP_MODIFICARE, V_ID_UTIL); end if; end; ---------------------------------------------------------------- procedure citesteNumeEnt(tnIdUtil IN NUMBER, tcNumeEnt OUT VARCHAR2) is begin begin select denumire into tcNumeEnt from nom_parteneri where sters = 0 and inactiv = 0 and id_part in (select id_partener from utilizatori_rol_intern where sters = 0 and id_util = tnIdUtil); exception when NO_DATA_FOUND then select utilizator into tcNumeEnt from syn_vutilizatori where id_util = tnIdUtil; end; end citesteNumeEnt; end PACK_DEF; /