home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------------------
- -- ERWATTTX.FIV --
- -- Copyright (C) Logic Works, Inc. 1994 --
- -- --
- -- Stored procedure to insert ERwin attribute descriptions --
- -- into the Oracle CASE 5.1 dictionary -- --
- ------------------------------------------------------------------------- */
- CREATE OR REPLACE PROCEDURE ERWATTTX(pEntName CI_ENTITIES.NAME%TYPE ,
- pName CI_ATTRIBUTES.NAME%TYPE,
- pApp CI_APPLICATION_SYSTEMS.NAME%TYPE,
- pVersion CI_APPLICATION_SYSTEMS.VERSION%TYPE,
- pSeq CDI_TEXT.TXT_SEQ%TYPE,
- pLine CDI_TEXT.TXT_TEXT%TYPE)
- AS
- TYPE recEntity IS RECORD
- (APPLICATION_SYSTEM_OWNED_BY CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY%TYPE,
- ID CI_ENTITIES.ID%TYPE,
- NAME CI_ENTITIES.NAME%TYPE);
- TYPE recAttribute IS RECORD
- (ENTITY_REFERENCE CI_ATTRIBUTES.ENTITY_REFERENCE%TYPE,
- ID CI_ATTRIBUTES.ID%TYPE,
- NAME CI_ATTRIBUTES.NAME%TYPE);
- TYPE recText IS RECORD
- (REF CDI_TEXT.TXT_REF%TYPE,
- SEQ CDI_TEXT.TXT_SEQ%TYPE,
- TXTY CDI_TEXT.TXT_TYPE%TYPE,
- TXTX CDI_TEXT.TXT_TEXT%TYPE);
- prText recText;
- prAttribute recAttribute;
- prEntity recEntity;
- EntityRef CI_ENTITIES.ID%TYPE;
- BEGIN
- BEGIN
- IF pVersion = 0 THEN
- SELECT APPLICATION_SYSTEM_OWNED_BY, ID, NAME INTO prEntity
- FROM CI_ENTITIES
- WHERE CI_ENTITIES.NAME=UPPER(pEntName)
- AND CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY =
- (SELECT ID FROM CI_APPLICATION_SYSTEMS WHERE
- CI_APPLICATION_SYSTEMS.NAME = UPPER(pApp) AND
- CI_APPLICATION_SYSTEMS.LATEST_VERSION_FLAG='Y');
- ELSE
- SELECT APPLICATION_SYSTEM_OWNED_BY, ID, NAME INTO prEntity
- FROM CI_ENTITIES
- WHERE CI_ENTITIES.NAME=UPPER(pEntName)
- AND CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY =
- (SELECT ID FROM CI_APPLICATION_SYSTEMS WHERE
- CI_APPLICATION_SYSTEMS.NAME = UPPER(pApp) AND
- CI_APPLICATION_SYSTEMS.VERSION=pVersion);
- END IF;
- EntityRef := prEntity.ID;
- EXCEPTION
- WHEN OTHERS THEN
- RETURN;
- END;
- BEGIN
- SELECT ENTITY_REFERENCE, ID, NAME INTO prAttribute
- FROM CI_ATTRIBUTES
- WHERE CI_ATTRIBUTES.NAME=UPPER(pName)
- AND CI_ATTRIBUTES.ENTITY_REFERENCE = EntityRef;
- EXCEPTION
- WHEN OTHERS THEN
- RETURN;
- END;
- SELECT TXT_REF, TXT_SEQ, TXT_TYPE, TXT_TEXT INTO prText
- FROM CDI_TEXT WHERE CDI_TEXT.TXT_REF = prAttribute.ID AND
- CDI_TEXT.TXT_SEQ = pSeq;
- UPDATE CDI_TEXT SET CDI_TEXT.TXT_TEXT = pLine
- WHERE CDI_TEXT.TXT_REF = prAttribute.ID AND
- CDI_TEXT.TXT_SEQ = pSeq;
- EXCEPTION
- WHEN NO_DATA_FOUND THEN
- INSERT INTO CDI_TEXT VALUES(prAttribute.ID,pSeq,'CDIDSC',pLine);
-
- END ERWATTTX;
- /
-