Functie cad_SLNKPrePostUndo toegevoegd t.b.v. UNDO vanuit AutoCAD.

svn path=/Database/trunk/; revision=6687
This commit is contained in:
Bert in het Veld
1999-04-16 15:01:02 +00:00
parent 102b81ae70
commit e88cce2745

View File

@@ -80,9 +80,9 @@ CREATE OR REPLACE PACKAGE cad AS
PROCEDURE cad_getSymboolInfo(Session_Id NUMBER, Entry VARCHAR2);
PROCEDURE cad_SLNKgetBinnenBuiten(Session_Id NUMBER, LoadDwg IN VARCHAR2);
/* Deze procedure is slechts eenmaal gebruikt t.b.v. grafische conversie BIS ...
* PROCEDURE cad_SLNKConvPreDraw(Session_Id NUMBER, LOC_X_COORD NUMBER, LOC_Y_COORD NUMBER);
*/
/* Deze procedure is slechts eenmaal gebruikt t.b.v. grafische conversie BIS ...
* PROCEDURE cad_SLNKConvPreDraw(Session_Id NUMBER, LOC_X_COORD NUMBER, LOC_Y_COORD NUMBER);
*/
FUNCTION cad_getDisciplinetekening(Locatie_key IN NUMBER, Discipline_key IN NUMBER) RETURN VARCHAR2;
FUNCTION cad_getPlattegrondtekening(Locatie_key IN NUMBER)RETURN VARCHAR2;
FUNCTION cad_getContourtekening(Locatie_key IN NUMBER)RETURN VARCHAR2;
@@ -91,9 +91,9 @@ CREATE OR REPLACE PACKAGE cad AS
FUNCTION cad_getLocatieCode_Tekening(TekeningNaam IN VARCHAR2) RETURN VARCHAR2;
FUNCTION cad_getTekeningNaam_LoadDwg(LoadDwg IN VARCHAR2) RETURN VARCHAR2;
/* garandeer dat de functies de database-state en package-state niet beinvloeden
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
*/
/* garandeer dat de functies de database-state en package-state niet beinvloeden
* (anders kunnen ze niet zondermeer in een view worden gebruikt)
*/
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS);
PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS);
@@ -1071,19 +1071,19 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
FUNCTION AddDeel(Session_Id IN NUMBER, SrtdeelKey IN NUMBER, LoadDwg IN VARCHAR2, LPNCondName IN VARCHAR2,
LPNCondKey IN NUMBER) RETURN NUMBER IS
Plaatsdeel VARCHAR2(1);
LocatieCode VARCHAR2(5);
LocatieKey NUMBER(10);
DisciplineKey NUMBER(10);
Plaatsdeel ins_deel.ins_alg_ruimte_type%TYPE;
LocatieCode alg_locatie.alg_locatie_code%TYPE;
LocatieKey alg_locatie.alg_locatie_key%TYPE;
DisciplineKey ins_discipline.ins_discipline_key%TYPE;
Volgnummer NUMBER(3);
SrtgroepKey NUMBER(10);
SrtDeelCode VARCHAR2(10);
SrtgroepKey ins_srtgroep.ins_srtgroep_key%TYPE;
SrtDeelCode ins_srtdeel.ins_srtdeel_code%TYPE;
Omschrijving VARCHAR2(30);
ZoekString VARCHAR2(20);
AntiString VARCHAR2(20);
VolgNrTxt VARCHAR2(30);
SeqNr NUMBER(10);
LPNKey NUMBER(10);
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
MaxLengte NUMBER(10);
Dummy NUMBER(10);
LabelSymbool VARCHAR2(256);
@@ -1191,7 +1191,6 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
TekeningKey cad_tekening.cad_tekening_key%TYPE;
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
BEGIN
IF LPNALIAS = 'LPN_ALG_TERREINSECTOR' THEN
SELECT alg_locatie_key,alg_locatie_code INTO LocatieKey, LocatieCode
@@ -1258,9 +1257,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END cad_MaakCadTekening;
PROCEDURE cad_SLNKPreDraw(Session_Id NUMBER) IS
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNKeyCond NUMBER(10);
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNKeyCond cad_slnkstruct.cad_slnkstruct_valint%TYPE;
#ifdef BIS
Diepte NUMBER(8,2);
Veld_Key NUMBER(10);
@@ -1270,29 +1269,29 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
Punt_boring BOOLEAN;
Boring_Symbol VARCHAR2(128);
#endif //BIS
LocatieKey NUMBER(10);
VerdiepingKey NUMBER(10);
DisciplineKey NUMBER(10);
locatiecode VARCHAR2(5);
Subloc_Code VARCHAR2(10);
RuimteNr VARCHAR2(10);
WerkplekNr NUMBER(3);
gebouwcode VARCHAR2(10);
SrcDwg VARCHAR2(128);
LoadDwg VARCHAR2(128);
AttachDwg1 VARCHAR2(128);
AttachDwg2 VARCHAR2(128);
Valint NUMBER;
SeqNr NUMBER(10);
LocatieKey alg_locatie.alg_locatie_key%TYPE;
VerdiepingKey alg_verdieping.alg_verdieping_key%TYPE;
DisciplineKey ins_discipline.ins_discipline_key%TYPE;
locatiecode alg_locatie.alg_locatie_code%TYPE;
Subloc_Code alg_terreinsector.alg_terreinsector_code%TYPE;
RuimteNr alg_ruimte.alg_ruimte_nr%TYPE;
WerkplekNr prs_werkplek.prs_werkplek_volgnr%TYPE;
gebouwcode alg_gebouw.alg_gebouw_code%TYPE;
SrcDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LoadDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
AttachDwg1 cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
AttachDwg2 cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
Valint cad_slnkstruct.cad_slnkstruct_valint%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Datum DATE;
Eerste BOOLEAN;
LayerNaam VARCHAR2(256);
LayerColor NUMBER(3);
LayerLineType VARCHAR2(256);
Symbool VARCHAR2(256);
SrtdeelKey NUMBER(10);
Dimensie NUMBER;
PlaatsDeel VARCHAR2(1);
LayerNaam ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
LayerColor ins_srtdeel.ins_srtdeel_cadlaycolor%TYPE;
LayerLineType ins_srtdeel.ins_srtdeel_cadlaylinetype%TYPE;
Symbool ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
Omschrijving VARCHAR2(30);
SrtTekening VARCHAR2(20);
@@ -1659,29 +1658,147 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
cad_SLNKSTRUCTinsertVALSTR(Session_Id, 'SYNC', 1, 'AUTOCAD', 1);
END cad_SLNKPreDraw;
FUNCTION cad_SLNKPrePostUndo(Session_id NUMBER) RETURN BOOLEAN IS
LPNAliasINSO cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKeyINSO cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Code VARCHAR2(10);
RuimteKey alg_ruimte.alg_ruimte_key%TYPE;
WerkplekNr prs_werkplek.prs_werkplek_volgnr%TYPE;
LocatieKey alg_locatie.alg_locatie_key%TYPE;
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
Omschrijving VARCHAR2(30);
Dummy NUMBER(10);
BEGIN
LPNAliasINSO := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LPNALIASINSO');
LPNKeyINSO := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYINSO');
IF LPNKeyINSO IS NOT NULL THEN
BEGIN
IF LPNAliasINSO = 'LPN_ALG_TERREINSECTOR' THEN
SELECT alg_terreinsector_key, alg_terreinsector_code INTO Dummy, Code
FROM alg_terreinsector
WHERE alg_terreinsector_key = LPNKeyINSO;
BEGIN
SELECT alg_terreinsector_key INTO Dummy
FROM alg_v_aanwezigterreinsector
WHERE alg_terreinsector_code = Code;
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Verwijderdatum wordt NULL */
UPDATE alg_terreinsector
SET alg_terreinsector_verwijder = NULL
WHERE alg_terreinsector_key = LPNKeyINSO;
RETURN TRUE;
END;
ELSIF LPNAliasINSO = 'LPN_ALG_GEBOUW' THEN
SELECT alg_gebouw_key, alg_gebouw_code INTO Dummy, Code
FROM alg_gebouw
WHERE alg_gebouw_key = LPNKeyINSO;
BEGIN
SELECT alg_gebouw_key INTO Dummy
FROM alg_v_aanweziggebouw
WHERE alg_gebouw_code = Code;
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Verwijderdatum wordt NULL */
UPDATE alg_gebouw
SET alg_gebouw_verwijder = NULL
WHERE alg_gebouw_key = LPNKeyINSO;
RETURN TRUE;
END;
ELSIF LPNAliasINSO = 'LPN_ALG_RUIMTE' THEN
SELECT alg_ruimte_key, alg_ruimte_upper_nr INTO Dummy, Code
FROM alg_ruimte
WHERE alg_ruimte_key = LPNKeyINSO;
BEGIN
SELECT alg_ruimte_key INTO Dummy
FROM alg_v_aanwezigruimte
WHERE alg_ruimte_upper_nr = Code;
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Verwijderdatum wordt NULL */
UPDATE alg_ruimte
SET alg_ruimte_verwijder = NULL
WHERE alg_ruimte_key = LPNKeyINSO;
RETURN TRUE;
END;
ELSIF LPNAliasINSO = 'LPN_PRS_WERKPLEK' THEN
SELECT prs_alg_ruimte_key, prs_werkplek_volgnr INTO RuimteKey, Werkpleknr
FROM prs_werkplek
WHERE prs_werkplek_key = LPNKeyINSO;
BEGIN
SELECT prs_werkplek_key INTO Dummy
FROM prs_v_aanwezigwerkplek
WHERE prs_alg_ruimte_key = RuimteKey
AND prs_werkplek_volgnr = WerkplekNr;
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Verwijderdatum wordt NULL */
UPDATE prs_werkplek
SET prs_werkplek_verwijder = NULL
WHERE prs_werkplek_key = LPNKeyINSO;
RETURN TRUE;
END;
ELSIF LPNAliasINSO = 'LPN_INS_DEEL' THEN
SELECT ins_alg_locatie_key, ins_srtdeel_key, ins_deel_upper INTO LocatieKey, SrtdeelKey, Omschrijving
FROM ins_deel
WHERE ins_deel_key = LPNKeyINSO;
BEGIN
SELECT ins_deel_key INTO dummy
FROM all_v_aanwezigdeel
WHERE ins_alg_locatie_key = LocatieKey
AND ins_srtdeel_key = SrtDeelKey
AND ins_deel_parent_key IS NULL
AND ins_deel_upper = Omschrijving;
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
UPDATE ins_deel
SET ins_deel_verwijder = NULL
WHERE ins_deel_key = LPNKeyINSO;
RETURN TRUE;
END;
ELSE
RETURN FALSE;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN FALSE;
END;
ELSE
RETURN FALSE; /* Geen undo gegevens vanuit AutoCAD - gewoon toevoegen via PrePostDraw */
END IF;
END cad_SLNKPrePostUndo;
PROCEDURE cad_SLNKPrePostDimensie0(Session_Id NUMBER) IS
Dimensie NUMBER;
LayerNaam VARCHAR2(256);
Symbool VARCHAR2(256);
SymboolLayer VARCHAR2(256);
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
LayerNaam ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
Symbool ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
SymboolLayer ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
LabelSymbool VARCHAR2(256);
SrtdeelKey NUMBER(10);
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNCondName VARCHAR2(128);
LPNCondKey NUMBER(10);
BlockNaam VARCHAR2(256);
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNCondKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
BlockNaam ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
LPNCondKeyOK BOOLEAN;
RecordAdded BOOLEAN;
RuimteNr VARCHAR2(10);
WerkplekNr NUMBER(3);
LoadDwg VARCHAR2(128);
SeqNr NUMBER(10);
RuimteNr alg_ruimte.alg_ruimte_nr%TYPE;
RuimteKey alg_ruimte.alg_ruimte_key%TYPE;
WerkplekNr prs_werkplek.prs_werkplek_volgnr%TYPE;
LoadDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Omschrijving VARCHAR2(30);
Dummy NUMBER(10);
LabelOK BOOLEAN;
LPNAliasINSO cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKeyINSO cad_slnkstruct.cad_slnkstruct_valint%TYPE;
BEGIN
Dimensie := 0;
LayerNaam := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LAYER');
@@ -1778,15 +1895,15 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END IF;
ELSE
/* Het is geen WERKPLEK - check of het een srtdeel is */
BEGIN
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND ins_srtdeel_cadlayer = LayerNaam
AND ins_srtdeel_acadsymbol = BlockNaam;
/* Het is een srtdeel, dus voeg een deel toe */
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND UPPER(ins_srtdeel_cadlayer) = UPPER(LayerNaam)
AND UPPER(ins_srtdeel_acadsymbol) = UPPER(BlockNaam);
IF SrtDeelKey IS NOT NULL THEN
/* Het is een srtdeel, dus voeg een deel toe */
IF LPNCondName = 'LPN_ALG_TERREINSECTOR' OR LPNCondName = 'LPN_ALG_RUIMTE' OR
LPNCondName = 'LPN_PRS_WERKPLEK'
LPNCondName = 'LPN_PRS_WERKPLEK'
THEN
LPNCondKeyOK := CheckLPNCondKey(LPNCondName, LPNCondKey);
IF NOT LPNCondKeyOK THEN
@@ -1807,7 +1924,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END IF;
ELSE
LPNCondKeyOK := FALSE;
END IF;
END IF;
IF LPNCondKeyOK THEN
LPNName := 'LPN_INS_DEEL';
LPNKey := AddDeel(Session_id, SrtdeelKey, LoadDwg, LPNCondName, LPNCondKey);
@@ -1815,14 +1932,13 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
ELSE
RecordAdded:= FALSE;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND ins_srtdeel_acadsymbol = BlockNaam;
/* Het is een srtdeel */
ELSE
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND UPPER(ins_srtdeel_acadsymbol) = UPPER(BlockNaam);
IF SrtDeelKey IS NOT NULL THEN
/* Het is een srtdeel */
IF LPNCondName = 'LPN_ALG_TERREINSECTOR' OR LPNCondName = 'LPN_ALG_RUIMTE' OR
LPNCondName = 'LPN_PRS_WERKPLEK'
THEN
@@ -1846,6 +1962,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
ELSE
LPNCondKeyOK := FALSE;
END IF;
IF LPNCondKeyOK THEN
LPNName := 'LPN_INS_DEEL';
LPNKey := AddDeel(Session_id,SrtdeelKey, LoadDwg, LPNCondName, LPNCondKey);
@@ -1853,11 +1970,10 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
ELSE
RecordAdded:= FALSE;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END;
ELSE
RecordAdded:= FALSE;
END IF;
END IF;
END IF;
END IF;
cad_SLNKSTRUCTclear(Session_Id);
@@ -1871,19 +1987,19 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END cad_SLNKPrePostDimensie0;
PROCEDURE cad_SLNKPrePostDimensie1(Session_Id NUMBER) IS
Dimensie NUMBER;
LayerNaam VARCHAR2(256);
Symbool VARCHAR2(256);
SrtdeelKey NUMBER(10);
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNCondName VARCHAR2(128);
LPNCondKey NUMBER(10);
BlockNaam VARCHAR2(256);
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
LayerNaam ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
Symbool ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNCondKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
BlockNaam ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
LPNCondKeyOK BOOLEAN;
RecordAdded BOOLEAN;
LoadDwg VARCHAR2(128);
SeqNr NUMBER(10);
LoadDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Omschrijving VARCHAR2(30);
BEGIN
@@ -1892,12 +2008,12 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
LPNCondKey := cad_SLNKSTRUCTreadVALINT(Session_id, 'LPNKEYCONDO');
LayerNaam := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LAYER');
LoadDwg := cad_SLNKSTRUCTreadVALSTR(Session_id, 'LOADDWG');
BEGIN
/* Check of het een soortdeel is... */
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND ins_srtdeel_cadlayer = LayerNaam;
/* Check of het een soortdeel is... */
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND UPPER(ins_srtdeel_cadlayer) = UPPER(LayerNaam);
IF SrtDeelKey IS NOT NULL THEN
/* Het is een srtdeel */
IF LPNCondName = 'LPN_ALG_TERREINSECTOR' OR LPNCondName = 'LPN_ALG_RUIMTE' OR
LPNCondName = 'LPN_PRS_WERKPLEK'
@@ -1929,11 +2045,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
ELSE
RecordAdded:= FALSE;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Onbekend object... */
NULL;
END;
ELSE
RecordAdded:= FALSE;
END IF;
cad_SLNKSTRUCTclear(Session_Id);
IF RecordAdded THEN
cad_SLNKSTRUCTinsertVALSTR(Session_Id,'LPNALIASPREDRAW', 1, LPNName, 1);
@@ -1945,29 +2059,29 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END cad_SLNKPrePostDimensie1;
PROCEDURE cad_SLNKPrePostDimensie2(Session_Id NUMBER) IS
Dimensie NUMBER;
LayerNaam VARCHAR2(256);
LocatieKey NUMBER(10);
VerdiepingKey NUMBER(10);
VerdiepingNr NUMBER(3);
DisciplineKey NUMBER(10);
locatiecode VARCHAR2(5);
Sectorcode VARCHAR2(10);
Gebouwcode VARCHAR2(10);
RuimteNr VARCHAR2(10);
Symbool VARCHAR2(256);
SymboolLayer VARCHAR2(256);
TekeningNaam VARCHAR2(256);
SrtdeelKey NUMBER(10);
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNCondName VARCHAR2(128);
LPNCondKey NUMBER(10);
BlockNaam VARCHAR2(256);
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
LayerNaam ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
LocatieKey alg_locatie.alg_locatie_key%TYPE;
VerdiepingKey alg_verdieping.alg_verdieping_key%TYPE;
VerdiepingNr alg_verdieping.alg_verdieping_volgnr%TYPE;
DisciplineKey ins_discipline.ins_discipline_key%TYPE;
locatiecode alg_locatie.alg_locatie_code%TYPE;
Sectorcode alg_terreinsector.alg_terreinsector_code%TYPE;
Gebouwcode alg_gebouw.alg_gebouw_code%TYPE;
RuimteNr alg_ruimte.alg_ruimte_nr%TYPE;
Symbool ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
SymboolLayer ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
TekeningNaam cad_tekening.cad_tekening_filenaam%TYPE;
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNCondKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
BlockNaam ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
LPNCondKeyOK BOOLEAN;
RecordAdded BOOLEAN:= FALSE;
LoadDwg VARCHAR2(128);
SeqNr NUMBER(10);
LoadDwg cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Omschrijving VARCHAR2(30);
VolgnrTxt VARCHAR2(3);
ZoekString VARCHAR2(20);
@@ -2070,7 +2184,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
SELECT alg_gebouw_key INTO Dummy
FROM alg_v_aanweziggebouw
WHERE alg_locatie_key = LocatieKey
AND UPPER(alg_gebouw_code) = LabelSymbool;
AND UPPER(alg_gebouw_code) = UPPER(LabelSymbool);
LabelOK := FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
@@ -2112,7 +2226,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
SELECT alg_gebouw_key INTO LPNKey
FROM alg_v_aanweziggebouw
WHERE alg_locatie_key = LocatieKey
AND alg_gebouw_code = GebouwCode;
AND UPPER(alg_gebouw_code) = UPPER(GebouwCode);
EXCEPTION
WHEN NO_DATA_FOUND THEN
LPNKey := NULL;
@@ -2151,7 +2265,7 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
SELECT alg_ruimte_key INTO Dummy
FROM alg_v_aanwezigruimte
WHERE alg_verdieping_key = VerdiepingKey
AND alg_ruimte_upper_nr = LabelSymbool;
AND alg_ruimte_upper_nr = UPPER(LabelSymbool);
LabelOK := FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
@@ -2202,12 +2316,12 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END IF;
ELSE
/* Het is ook geen ruimte, check of het dan een srtdeel is...*/
BEGIN
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND ins_srtdeel_cadlayer = LayerNaam
AND ins_srtdeel_acadsymbol = BlockNaam;
SELECT MIN(ins_srtdeel_key) INTO SrtDeelKey
FROM ins_srtdeel
WHERE ins_srtdeel_dimensie = Dimensie
AND UPPER(ins_srtdeel_cadlayer) = UPPER(LayerNaam)
AND UPPER(ins_srtdeel_acadsymbol) = UPPER(BlockNaam);
IF SrtDeelKey IS NOT NULL THEN
/* Het is een srtdeel... */
IF LPNCondName = 'LPN_ALG_TERREINSECTOR' OR LPNCondName = 'LPN_ALG_RUIMTE' OR
LPNCondName = 'LPN_PRS_WERKPLEK'
@@ -2239,11 +2353,10 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
ELSE
RecordAdded:= FALSE;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
/* Het is een onbekend object... */
RecordAdded:= FALSE;
END;
ELSE
/* Het is een onbekend object... */
RecordAdded:= FALSE;
END IF;
END IF;
END IF;
END IF;
@@ -2258,29 +2371,37 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
END cad_SLNKPrePostDimensie2;
PROCEDURE cad_SLNKPrePostDraw(Session_Id NUMBER) IS
Symbool VARCHAR2(256);
SymboolLayer VARCHAR2(256);
SrtdeelKey NUMBER(10);
Dimensie NUMBER;
PlaatsDeel VARCHAR2(1);
Symbool ins_srtdeel.ins_srtdeel_acadsymbol%TYPE;
SymboolLayer ins_srtdeel.ins_srtdeel_cadlayer%TYPE;
SrtdeelKey ins_srtdeel.ins_srtdeel_key%TYPE;
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
Omschrijving VARCHAR2(30);
UndoOK BOOLEAN;
BEGIN
Dimensie := cad_SLNKSTRUCTreadVALINT(Session_id, 'DIMENSION');
IF Dimensie = 0 THEN
cad_SLNKPrePostDimensie0(Session_Id);
ELSIF Dimensie = 1 THEN
cad_SLNKPrePostDimensie1(Session_Id);
ELSIF Dimensie = 2 THEN
cad_SLNKPrePostDimensie2(Session_Id);
ELSE
NULL;
END IF;
UndoOK:= cad_SLNKPrePostUndo(Session_Id);
IF NOT UndoOK THEN
Dimensie := cad_SLNKSTRUCTreadVALINT(Session_id, 'DIMENSION');
IF Dimensie = 0 THEN
cad_SLNKPrePostDimensie0(Session_Id);
ELSIF Dimensie = 1 THEN
cad_SLNKPrePostDimensie1(Session_Id);
ELSIF Dimensie = 2 THEN
cad_SLNKPrePostDimensie2(Session_Id);
ELSE
NULL;
END IF;
END IF;
IF UndoOK THEN
cad_SLNKSTRUCTclear(session_Id);
cad_SLNKPreDraw(Session_Id);
END IF;
END cad_SLNKPrePostDraw;
PROCEDURE cad_SLNKpostdraw(Session_Id NUMBER) IS
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
VeldKey NUMBER(10);
Oppervlak NUMBER(13,3);
Omtrek NUMBER(13,3);
@@ -2288,13 +2409,13 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
Volume NUMBER(12,4);
Datum DATE;
CheckDatum VARCHAR2(11);
LPNAliasLinkO VARCHAR2(128);
LPNKeyLinkO NUMBER(10);
LPNCondName VARCHAR2(128);
LPNCondKey NUMBER(10);
SeqNr NUMBER(10);
LPNAliasLinkO cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKeyLinkO cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNCondKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
PlaatsDeel VARCHAR2(1);
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
PlaatsKey NUMBER(10);
RuimteKey prs_werkplek.prs_alg_ruimte_key%TYPE;
RuimteType VARCHAR2(1);
@@ -2433,9 +2554,9 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
PROCEDURE cad_SLNKpostErase(Session_Id NUMBER) IS
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
SeqNr NUMBER(10);
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
SeqNr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
CheckDatum VARCHAR2(10);
Datum DATE;
Eerste BOOLEAN;
@@ -2635,23 +2756,23 @@ FUNCTION Bepaal_VolgnummerTxt(Omschrijving IN VARCHAR2) RETURN VARCHAR2 IS
PROCEDURE cad_SLNKpostModify(Session_Id NUMBER) IS
LPNName VARCHAR2(128);
LPNKey NUMBER(10);
LPNCondName VARCHAR2(128);
LPNCondKey NUMBER(10);
LPNName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondName cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNCondKey cad_slnkstruct.cad_slnkstruct_valint%TYPE;
VeldKey NUMBER(10);
Oppervlak NUMBER(13,3);
Diepte NUMBER(8,2);
Omtrek NUMBER(13,3);
Volume NUMBER(12,4);
Datum DATE;
Seqnr NUMBER(10);
Seqnr cad_slnkstruct.cad_slnkstruct_valint%TYPE;
LPNCondKeyOK BOOLEAN:= FALSE;
RuimteType VARCHAR2(1);
LPNAliasLinkO VARCHAR2(128);
LPNKeyLinkO NUMBER(10);
LPNAliasLinkO cad_slnkstruct.cad_slnkstruct_valstr%TYPE;
LPNKeyLinkO cad_slnkstruct.cad_slnkstruct_valint%TYPE;
Dimensie ins_srtdeel.ins_srtdeel_dimensie%TYPE;
PlaatsDeel VARCHAR2(1);
PlaatsDeel ins_deel.ins_alg_ruimte_type%TYPE;
PlaatsKey NUMBER(10);
RuimteKey prs_werkplek.prs_alg_ruimte_key%TYPE;
DoDeelUpdate BOOLEAN;